/* Nosotros: maquetación en código según diseño (lienzo 1024px) */
.nos-page { background:#fff; --or:#b0651b; --gold:#b3812f; --navy:#15233f; --sans:'Inter',-apple-system,sans-serif; --ser:'Playfair Display',Georgia,serif; --cor:'Cormorant Garamond',Georgia,serif;}
.nos-page main > section, .nos-page .nf { container-type:inline-size; position:relative; width:100%; overflow:hidden;}
.nos-page main > section > *, .nos-page .nf > * { margin:0;}
.nos-page br.bd { display:inline;}
.eb { display:flex; align-items:center; font:500 0.918cqw/1 var(--sans); letter-spacing:.2em; text-transform:uppercase; color:#5a6580;}
.eb i { display:block; width:3.320cqw; height:0.156cqw; min-height:1px; background:var(--gold); margin-right:0.781cqw;}
/* HERO */
.nh { aspect-ratio:1024/392; background:var(--img-nos-hero-bg) center/100% 100% no-repeat;}
.nh > * { position:absolute;}
.nh-rule { left:3.906cqw; top:5.029cqw; width:3.613cqw; height:0.176cqw; min-height:1px; background:var(--gold);}
.nh-eyebrow { left:8.301cqw; top:4.492cqw; font:500 0.938cqw/1 var(--sans); letter-spacing:.2em; text-transform:uppercase; color:#4e5a78; white-space:nowrap;}
.nh-h1 { left:4.102cqw; top:7.129cqw; font:500 4.785cqw/4.492cqw var(--ser); text-transform:uppercase; color:var(--navy); white-space:nowrap; letter-spacing:0;}
.nh-h1 span { display:block;}
.nh-lead { left:4.199cqw; top:16.406cqw; font:400 1.855cqw/1.992cqw var(--sans); color:#1c2b45; white-space:nowrap; letter-spacing:-.005em;}
.nh-p { left:4.199cqw; top:21.387cqw; font:400 1.167cqw/1.777cqw var(--sans); color:#3f4a66; white-space:nowrap;}
/* STRIP */
.ns { aspect-ratio:1024/88; display:grid; grid-template-columns:21.875cqw 26.562cqw 20.996cqw 1fr; align-items:center; padding-left:3.906cqw; background:#fbf9f6; border-bottom:1px solid #efe9e0;}
.ns-i { display:flex; align-items:center; gap:2.051cqw; height:5.469cqw; position:relative; padding-left:0;}
.ns-i + .ns-i { padding-left:2.051cqw;}
.ns-i + .ns-i::before { content:''; position:absolute; left:0; top:0.195cqw; bottom:0.195cqw; width:1px; background:#e8e1d8;}
.ns-c, .nv-c { display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle,#fbeedd,#fcf3e7); color:var(--or); flex:none;}
.ns-c { width:5.273cqw; height:5.273cqw;}
.ns-c svg { width:3.320cqw; height:3.320cqw;}
.ns-i h4 { font:500 1.543cqw/1.758cqw var(--cor); color:var(--navy); margin:0 0 0.391cqw; white-space:nowrap; font-weight:600;}
.ns-i p { font:400 1.152cqw/1.367cqw var(--sans); color:#5f6b86; white-space:nowrap; margin:0;}
/* ESENCIA */
.ne { aspect-ratio:1024/261; display:grid; grid-template-columns:50% 50%; background:linear-gradient(90deg,#fff 0,#fbf9f6 100%);}
.ne-t { position:relative;}
.ne-t > * { position:absolute;}
.ne-t .eb { left:4.199cqw; top:1.367cqw; letter-spacing:.3em;}
.ne-t h2 { left:4.199cqw; top:3.418cqw; font:500 2.842cqw/2.930cqw var(--ser); text-transform:uppercase; color:var(--navy); white-space:nowrap;}
.ne-t p { left:4.199cqw; top:10.449cqw; font:400 1.226cqw/1.660cqw var(--sans); color:#3f4a66; white-space:nowrap;}
.ne-i { position:relative; background-size:100% 100%; background-repeat:no-repeat;}
.ne-i > * { position:absolute; left:31.152cqw;}
.ne-i h3 { top:7.031cqw; font:500 1.484cqw/2.012cqw var(--ser); text-transform:uppercase; color:#fff; white-space:nowrap; margin:0;}
.ne-r { top:14.551cqw; width:3.418cqw; height:0.156cqw; min-height:1px; background:#d9a14a;}
.ne-i p { top:15.723cqw; font:italic 500 1.504cqw/1.953cqw var(--cor); color:#fff; white-space:nowrap;}
/* SERVICIOS */
.nsv { aspect-ratio:1024/312; background:#fff; padding:0;}
.nsv > * { position:absolute;}
.nsv .eb { left:4.199cqw; top:1.172cqw;}
.nsv h2 { left:4.199cqw; top:2.930cqw; font:500 2.461cqw/2.734cqw var(--ser); text-transform:uppercase; color:var(--navy); white-space:nowrap;}
.nsv-all { right:4.297cqw; top:2.930cqw; display:flex; align-items:center; gap:0.781cqw; font:italic 500 1.172cqw/1 var(--cor); color:#6d4a22; text-decoration:underline; text-underline-offset:3px; font-weight:600;}
.nsv-all svg { width:1.270cqw; height:1.270cqw; color:var(--or);}
.nsv-g { left:0; right:0; top:6.250cqw; height:23.438cqw;}
.nsv-c { position:absolute; top:0; height:23.438cqw; background:#fff; border-radius:0.293cqw; box-shadow:0 1px 4px rgba(60,40,20,.08); overflow:hidden; text-decoration:none; color:inherit;}
.nsv-c:nth-child(1) { left:3.906cqw; width:14.648cqw;} .nsv-c:nth-child(2) { left:19.434cqw; width:14.844cqw;} .nsv-c:nth-child(3) { left:35.156cqw; width:14.551cqw;} .nsv-c:nth-child(4) { left:50.586cqw; width:15.039cqw;} .nsv-c:nth-child(5) { left:66.504cqw; width:14.648cqw;} .nsv-c:nth-child(6) { left:82.031cqw; width:14.551cqw;}
.nsv-c img { display:block; width:100%; height:8.789cqw; object-fit:cover;}
.nsv-ic { position:absolute; left:1.367cqw; top:9.570cqw; width:3.027cqw; height:3.027cqw; color:var(--or);}
.nsv-ic svg { width:100%; height:100%;}
.nsv-c h3 { position:absolute; left:1.465cqw; top:12.988cqw; font:600 1.172cqw/1.465cqw var(--ser); text-transform:uppercase; color:var(--navy); white-space:nowrap;}
.nsv-c p { position:absolute; left:1.465cqw; top:16.602cqw; font:400 1.025cqw/1.494cqw var(--sans); color:#6c7488; white-space:nowrap;}
.nsv-go { position:absolute; left:50%; bottom:0.781cqw; width:2.539cqw; height:2.539cqw; margin-left:-1.270cqw; border-radius:50%; background:#fcefdf; color:var(--or); display:grid; place-items:center;}
.nsv-go svg { width:1.270cqw; height:1.270cqw;}
/* VALOR */
.nv { aspect-ratio:1024/180; background:#fff;}
.nv > * { position:absolute;}
.nv .eb { left:4.199cqw; top:1.367cqw;}
.nv h2 { left:4.395cqw; top:3.418cqw; font:500 2.402cqw/2.539cqw var(--ser); text-transform:uppercase; color:var(--navy); white-space:nowrap;}
.nv-g { left:3.906cqw; right:3.320cqw; top:6.445cqw; height:9.766cqw; display:grid; grid-template-columns:14.941cqw 14.160cqw 14.648cqw 18.164cqw 16.016cqw 1fr;}
.nv-i { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center;}
.nv-i + .nv-i::before { content:''; position:absolute; left:0; top:0.586cqw; bottom:0.781cqw; width:1px; background:#e8e1d8;}
.nv-c { width:4.883cqw; height:4.883cqw; margin-bottom:0.293cqw;}
.nv-c svg { width:3.906cqw; height:3.906cqw;}
.nv-i p { font:400 1.221cqw/1.660cqw var(--sans); color:#66718b; white-space:nowrap;}
/* CTA */
.nc { aspect-ratio:1024/176; background:#2b1d12 center/100% 100% no-repeat; color:#fff;}
.nc > * { position:absolute;}
.nc h2 { left:4.883cqw; top:2.148cqw; font:500 2.246cqw/2.539cqw var(--ser); text-transform:uppercase; color:#fff; white-space:nowrap;}
.nc p { left:4.883cqw; top:8.105cqw; font:400 1.089cqw/1.660cqw var(--sans); color:#f1ebe4; white-space:nowrap;}
.nc-btn { left:42.969cqw; top:4.395cqw; width:22.656cqw; height:3.223cqw; display:flex; align-items:center; justify-content:center; gap:0.977cqw; border-radius:0.195cqw; background:linear-gradient(90deg,#c58f3c,#a8731f); color:#fff; text-decoration:none; font:500 0.977cqw/1 var(--sans); letter-spacing:.14em; text-transform:uppercase;}
.nc-btn svg { width:1.367cqw; height:1.367cqw;}
.nc-l { left:43.359cqw; top:8.691cqw; list-style:none; padding:0; font:400 1.069cqw/2.344cqw var(--sans); color:#fff; white-space:nowrap;}
.nc-l li { display:flex; align-items:center; gap:0.781cqw;}
.nc-l span { width:1.758cqw; height:1.758cqw; display:grid; place-items:center; color:#c58f3c; margin-left:0.098cqw;}
.nc-l svg { width:1.660cqw; height:1.660cqw;}
/* PIE */
.nf { aspect-ratio:1024/61; display:block; background:#fff; border-top:1px solid #eee7de;}
.nf > * { position:absolute;}
.nf-logo { left:4.590cqw; top:1.270cqw; text-decoration:none; display:block;}
.nf-logo .n { display:block; font:500 2.051cqw/2.344cqw var(--ser); color:var(--or); letter-spacing:.04em;}
.nf-logo .t { display:block; font:500 0.781cqw/0.977cqw var(--sans); color:var(--or); letter-spacing:.26em; margin-top:0.098cqw;}
.nf-sep { left:20.898cqw; top:1.270cqw; height:3.516cqw; width:1px; background:#e3dbd0;}
.nf-links { left:0; right:0; top:2.539cqw; text-align:center; font:400 0.996cqw/1 var(--sans); letter-spacing:.34em; text-transform:uppercase; color:#6b6d78; white-space:nowrap; padding-left:1.953cqw;}
.nf-links b { color:var(--gold); padding:0 .4em;}
.nf-loc { right:4.492cqw; top:2.344cqw; display:flex; align-items:center; gap:0.781cqw; font:400 1.055cqw/1 var(--sans); color:#2c3550;}
.nf-loc svg { width:1.465cqw; height:1.465cqw; color:var(--or);}
/* MÓVIL */
@media (max-width:760px) {
  .nos-page main > section, .nos-page .nf { aspect-ratio:auto; container-type:normal; height:auto;}
  .nos-page br.bd { display:none;}
  .nh { background-size:cover; background-position:70% center; padding:28px 22px 200px; background-image:linear-gradient(180deg,rgba(255,255,255,.94) 0,rgba(255,255,255,.88) 55%,rgba(255,255,255,0) 100%),var(--img-nos-hero-bg); background-size:100% 100%,cover;}
  .nh > * { position:static; white-space:normal !important;}
  .nh-rule { display:none;}
  .nh-eyebrow { font-size:11px; letter-spacing:.18em; margin-bottom:12px;}
  .nh-h1 { font-size:34px; line-height:38px; margin-bottom:14px;}
  .nh-lead { font-size:17px; line-height:23px; margin-bottom:12px;}
  .nh-p { font-size:14.5px; line-height:22px;}
  .ns { grid-template-columns:1fr; padding:16px 22px; gap:14px;}
  .ns-i, .ns-i + .ns-i { height:auto; padding-left:0;} .ns-i + .ns-i::before { display:none;}
  .ns-c { width:52px; height:52px;} .ns-c svg { width:27px; height:27px;}
  .ns-i h4 { font-size:18px; line-height:22px;} .ns-i p { font-size:14px; line-height:18px;}
  .ne { grid-template-columns:minmax(0,1fr);} .ne-t { min-width:0;} .ne-t .eb { white-space:normal !important; max-width:100%;}
  .ne-t { padding:28px 22px;} .ne-t > * { position:static; white-space:normal !important;}
  .eb { font-size:11px; margin-bottom:10px;} .eb i { width:30px; margin-right:10px;}
  .ne-t h2 { font-size:26px; line-height:31px; margin-bottom:14px;} .ne-t p { font-size:15px; line-height:23px;}
  .ne-i { min-height:300px; padding:24px 22px; background-size:cover; background-position:left center;}
  .ne-i { background-image:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.15) 70%),var(--img-nos-bcn-bg) !important; background-size:100% 100%,cover !important; background-position:0 0,left center !important;}
  .ne-i > * { position:static; display:block;}
  .ne-i h3 { font-size:18px; line-height:25px; margin-bottom:12px;} .ne-r { width:40px; height:2px; margin-bottom:12px;} .ne-i p { font-size:18px; line-height:24px;}
  .nsv { padding:28px 22px;} .nsv > * { position:static;}
  .nsv h2 { font-size:23px; line-height:29px; white-space:normal; margin-bottom:10px;}
  .nsv-all { display:inline-flex; font-size:15px; margin-bottom:16px;} .nsv-all svg { width:15px; height:15px;}
  .nsv-g { display:grid; grid-template-columns:1fr 1fr; gap:12px; height:auto;}
  .nsv-c, .nsv-c:nth-child(n) { position:relative; left:auto; width:auto; height:auto; padding-bottom:50px; top:auto;}
  .nsv-c img { height:90px;}
  .nsv-ic { position:static; display:block; width:26px; height:26px; margin:12px 0 0 14px;}
  .nsv-c h3, .nsv-c p { position:static; display:block; margin:8px 14px 0; white-space:normal;}
  .nsv-c h3 { font-size:12.5px; line-height:16px;} .nsv-c p { font-size:12.5px; line-height:17px; margin-top:6px;}
  .nsv-go { width:26px; height:26px; margin-left:-13px; bottom:12px;} .nsv-go svg { width:12px; height:12px;}
  .nv { padding:28px 22px;} .nv > * { position:static;}
  .nv h2 { font-size:24px; line-height:30px; margin-bottom:18px;}
  .nv-g { display:grid; grid-template-columns:1fr 1fr; gap:22px 8px; height:auto;}
  .nv-i + .nv-i::before { display:none;}
  .nv-c { width:56px; height:56px;} .nv-c svg { width:30px; height:30px;}
  .nv-i p { font-size:14.5px; line-height:19px; white-space:normal;}
  .nc { background-size:cover; padding:30px 22px;} .nc > * { position:static; white-space:normal !important;}
  .nc > * { left:auto !important; top:auto !important;}
  .nc::before { content:''; position:absolute; inset:0; background:rgba(25,15,8,.55);} .nc > * { position:relative; z-index:1;}
  .nc h2 { font-size:24px; line-height:30px; margin-bottom:12px;} .nc p { font-size:15px; line-height:22px; margin-bottom:18px;}
  .nc-btn { width:100%; height:48px; font-size:12px; margin-bottom:16px;} .nc-btn svg { width:16px; height:16px;}
  .nc-l { font-size:14px; line-height:28px;} .nc-l span { width:22px; height:22px;} .nc-l svg { width:12px; height:12px;}
  .nf { padding:22px; text-align:center;} .nf > * { position:static; display:block;}
  .nf-sep { display:none;} .nf-logo { margin-bottom:14px;}
  .nf-logo .n { font-size:24px; line-height:28px;} .nf-logo .t { font-size:9px; line-height:12px;}
  .nf-links { font-size:10px; line-height:18px; letter-spacing:.2em; white-space:normal; padding:0; margin-bottom:12px; text-align:center;}
  .nf-loc { display:flex; justify-content:center; font-size:13px; gap:8px;} .nf-loc svg { width:16px; height:16px;}
}
