/* Rubber City Studios: identidad Obsidiana (negro volcánico, hueso, una sola tinta maíz). Siempre oscuro.
   Inter Tight para todo; Instrument Serif en cursiva para una palabra por título. Grid asimétrico de 12 columnas. */
:root{
  color-scheme:dark;
  --obs:#0a0d0c;--obs-2:#111614;--obs-3:#19201d;
  --hueso:#ece6da;--ceniza:#9aa39e;
  --maiz:#e7c25d;--maiz-2:#f4dc95;--maiz-rgb:231,194,93;
  --jade:#6fd6a4;--rojo:#ef6a4c;
  --linea:rgba(236,230,218,.11);--linea-2:rgba(236,230,218,.2);
  --vidrio:rgba(17,22,20,.62);
  --sans:"Inter Tight",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --ease:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.7,0,.84,0);
  --t-rapido:.2s;--t-medio:.6s;--t-lento:1.1s;
  --gutter-l:max(20px,env(safe-area-inset-left,0px));--gutter-r:max(20px,env(safe-area-inset-right,0px));
}
*{box-sizing:border-box}
html{background:var(--obs)}
html:not(.lenis){scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--obs);color:var(--hueso);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;touch-action:manipulation}
a{color:inherit}
h1,h2,h3,p,ul{margin:0}
h1,h2,h3{text-wrap:balance;font-weight:800;letter-spacing:-.045em;line-height:.95}
em.s{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.01em;color:var(--maiz)}
:focus-visible{outline:2px solid var(--maiz);outline-offset:3px;border-radius:4px}
.wrap{max-width:1320px;margin:0 auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ceniza);font-weight:500}
.eyebrow b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:20px;letter-spacing:0;text-transform:none;color:var(--maiz)}
.num{font-variant-numeric:tabular-nums}
.salto{position:absolute;left:12px;top:-60px;z-index:100;background:var(--maiz);color:var(--obs);padding:10px 14px;border-radius:8px;font-weight:600;text-decoration:none}
.salto:focus{top:calc(12px + env(safe-area-inset-top,0px))}
.grano{position:fixed;inset:0;pointer-events:none;z-index:55;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}

/* entradas al hacer scroll */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity var(--t-lento) var(--ease),transform var(--t-lento) var(--ease);transition-delay:var(--dl,0s)}
.js .rv.in{opacity:1;transform:none}

/* ---------- intro (< 1 s) ---------- */
.telon{display:none}
.intro .telon{display:grid;place-items:center;position:fixed;inset:0;z-index:90;background:var(--obs);animation:telon .5s var(--ease-in) .8s forwards;cursor:pointer}
.telon svg{width:92px;height:92px}
.telon circle{stroke-dasharray:145;stroke-dashoffset:145;animation:trazo .6s var(--ease) forwards}
.telon text{opacity:0;animation:aparece .3s ease .38s forwards}
@keyframes trazo{to{stroke-dashoffset:0}}
@keyframes aparece{to{opacity:1}}
@keyframes telon{to{transform:translateY(-100%);visibility:hidden}}

/* ---------- barra ---------- */
.barra{position:fixed;top:0;left:0;right:0;z-index:40;padding-top:env(safe-area-inset-top,0px);transition:background var(--t-medio),border-color var(--t-medio);border-bottom:1px solid transparent}
.barra.solida,.menu-abierto .barra{background:rgba(10,13,12,.78);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-color:var(--linea)}
.barra .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.marca{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:800;font-size:18px;letter-spacing:-.035em;min-height:44px;white-space:nowrap}
.marca svg{width:36px;height:36px;flex:none}
.marca small{font-family:var(--serif);font-style:italic;font-weight:400;font-size:19px;letter-spacing:0;color:var(--maiz)}
.barra nav{display:flex;align-items:center;gap:2px}
.barra nav a.l{text-decoration:none;font-size:14.5px;color:var(--ceniza);padding:12px 11px;border-radius:8px;transition:color var(--t-rapido)}
.barra nav a.l:hover{color:var(--hueso)}
.hamb{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--linea-2);background:transparent;color:var(--hueso);cursor:pointer;position:relative}
.hamb span{position:absolute;left:13px;right:13px;height:1.5px;background:currentColor;transition:transform var(--t-medio) var(--ease),top var(--t-medio) var(--ease)}
.hamb span:nth-child(1){top:18px}.hamb span:nth-child(2){top:25px}
.menu-abierto .hamb span:nth-child(1){top:21.5px;transform:rotate(45deg)}
.menu-abierto .hamb span:nth-child(2){top:21.5px;transform:rotate(-45deg)}
.panel{position:fixed;inset:0;z-index:39;background:rgba(10,13,12,.97);padding:calc(100px + env(safe-area-inset-top,0px)) var(--gutter-r) 40px var(--gutter-l);display:flex;flex-direction:column;gap:4px;opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
.menu-abierto .panel{opacity:1;visibility:visible}
.panel a{text-decoration:none;font-size:34px;font-weight:800;letter-spacing:-.045em;padding:10px 0;border-bottom:1px solid var(--linea);display:flex;justify-content:space-between;align-items:baseline}
.panel a i{font-family:var(--serif);font-weight:400;font-size:20px;color:var(--maiz)}
.panel .btn{margin-top:24px}
@media (max-width:1140px){.barra nav a.l{display:none}.hamb{display:block}}

/* botones */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;text-decoration:none;font-weight:600;font-size:16px;padding:14px 22px;border-radius:999px;border:0;cursor:pointer;font-family:inherit;white-space:nowrap;line-height:1.2;transition:transform var(--t-rapido) var(--ease),background var(--t-rapido),box-shadow var(--t-medio) var(--ease)}
.btn:active{transform:scale(.97)}
.btn.prim{background:var(--maiz);color:var(--obs);box-shadow:0 10px 40px -12px rgba(var(--maiz-rgb),.55)}
.btn.prim:hover{background:var(--maiz-2);box-shadow:0 0 0 6px rgba(var(--maiz-rgb),.14),0 14px 50px -10px rgba(var(--maiz-rgb),.7)}
.btn.alt{background:rgba(236,230,218,.06);color:var(--hueso);border:1px solid var(--linea-2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn.alt:hover{background:rgba(236,230,218,.12)}
.btn.chico{min-height:44px;padding:10px 18px;font-size:14.5px}
.btn svg{width:18px;height:18px;flex:none}
.btn .flecha{transition:transform var(--t-rapido) var(--ease)}
.btn:hover .flecha{transform:translateX(4px)}

/* ---------- portada ---------- */
.portada{position:relative;isolation:isolate;overflow:hidden;padding-top:calc(118px + env(safe-area-inset-top,0px));padding-bottom:clamp(56px,7vw,100px);min-height:min(100svh,980px)}
#campo{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block;background:radial-gradient(60% 70% at 72% 40%,rgba(var(--maiz-rgb),.12),transparent 60%),radial-gradient(80% 60% at 20% 90%,#16201c,transparent 70%),var(--obs)}
.portada::after{content:"";position:absolute;inset:auto 0 0;height:40%;z-index:-1;background:linear-gradient(to bottom,transparent,var(--obs));pointer-events:none}
.metarow{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;padding-bottom:20px;border-bottom:1px solid var(--linea)}
.metarow .eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--jade);animation:latido 2s infinite}
@keyframes latido{0%{box-shadow:0 0 0 0 rgba(111,214,164,.55)}70%{box-shadow:0 0 0 10px rgba(111,214,164,0)}100%{box-shadow:0 0 0 0 rgba(111,214,164,0)}}
.p-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;margin-top:clamp(36px,5vw,64px)}
.portada h1{grid-column:1 / span 7;grid-row:1;font-size:clamp(48px,7vw,118px);line-height:.9;letter-spacing:-.055em}
.portada h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.portada h1 .w>span{display:inline-block;transform-origin:0 0}
.js .portada h1 .w>span{animation:sube 1.1s var(--ease) both;animation-delay:calc(var(--i) * 70ms + .15s)}
.js.intro .portada h1 .w>span{animation-delay:calc(var(--i) * 70ms + 1.05s)}
@keyframes sube{from{transform:translateY(125%) rotate(4deg)}to{transform:none}}
.p-texto{grid-column:1 / span 6;grid-row:2;display:grid;gap:28px;margin-top:8px}
.p-texto p{font-size:clamp(18px,1.45vw,20px);color:var(--ceniza);max-width:44ch}
.p-texto p b{color:var(--hueso);font-weight:500}
.ctas{display:flex;flex-wrap:wrap;gap:12px}

/* visor de cámara: muestra los servicios uno por uno */
.visor{grid-column:8 / span 5;grid-row:1 / span 2;align-self:center;position:relative;aspect-ratio:4/5;max-height:620px;border-radius:22px;background:var(--vidrio);border:1px solid var(--linea-2);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);box-shadow:0 80px 120px -60px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.06);overflow:hidden;transform:translateY(var(--py,0px))}
.js .visor{animation:flota-in 1.2s var(--ease) both .5s}
.js.intro .visor{animation-delay:1.3s}
@keyframes flota-in{from{opacity:0;transform:translateY(40px) scale(.96)}}
.visor .esq{position:absolute;width:26px;height:26px;border:1.5px solid var(--hueso);opacity:.7;z-index:3}
.visor .esq:nth-of-type(1){top:16px;left:16px;border-right:0;border-bottom:0}
.visor .esq:nth-of-type(2){top:16px;right:16px;border-left:0;border-bottom:0}
.visor .esq:nth-of-type(3){bottom:16px;left:16px;border-right:0;border-top:0}
.visor .esq:nth-of-type(4){bottom:16px;right:16px;border-left:0;border-top:0}
.lect{position:absolute;left:52px;right:52px;display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ceniza);z-index:3}
.lect.arr{top:20px}.lect.aba{bottom:20px}
.lect b{color:var(--hueso);font-weight:500;display:inline-flex;align-items:center;gap:7px}
.rec{width:8px;height:8px;border-radius:50%;background:var(--rojo);animation:parpadeo 1.2s infinite}
@keyframes parpadeo{50%{opacity:.25}}
.foco{position:absolute;width:70px;height:70px;left:50%;top:50%;margin:-35px 0 0 -35px;border:1px solid rgba(var(--maiz-rgb),.9);border-radius:6px;z-index:3;transition:transform 1.1s var(--ease),opacity .4s;pointer-events:none}
.foco::after{content:"";position:absolute;inset:-6px;border:1px solid rgba(var(--maiz-rgb),.35);border-radius:9px;animation:enfoca 2.6s var(--ease) infinite}
@keyframes enfoca{0%{transform:scale(1.4);opacity:0}30%{transform:scale(1);opacity:1}100%{opacity:0}}
.tercios{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,transparent calc(33.33% - .5px),var(--linea) 0 calc(33.33% + .5px),transparent 0 calc(66.66% - .5px),var(--linea) 0 calc(66.66% + .5px),transparent 0),linear-gradient(transparent calc(33.33% - .5px),var(--linea) 0 calc(33.33% + .5px),transparent 0 calc(66.66% - .5px),var(--linea) 0 calc(66.66% + .5px),transparent 0)}
.escenas{position:absolute;inset:56px 28px 92px;z-index:2}
.esc{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(.94);filter:blur(10px);transition:opacity .8s var(--ease),transform 1s var(--ease),filter .8s var(--ease)}
.esc.on{opacity:1;transform:none;filter:none}
.no-js .esc:first-child,html:not(.js) .esc:first-child{opacity:1;transform:none;filter:none}
.visor .nombre{position:absolute;left:28px;right:28px;bottom:50px;z-index:3;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.visor .nombre b{font-size:clamp(22px,2vw,28px);letter-spacing:-.04em;font-weight:800}
.visor .nombre i{font-family:var(--serif);font-size:22px;color:var(--maiz)}
.visor .pasos{position:absolute;left:28px;right:28px;bottom:42px;display:flex;gap:6px;z-index:3}
.visor .pasos span{flex:1;height:2px;background:var(--linea-2);border-radius:2px;overflow:hidden;position:relative}
.visor .pasos span::after{content:"";position:absolute;inset:0;background:var(--maiz);transform:scaleX(0);transform-origin:left}
.visor .pasos span.ya::after{transform:scaleX(1)}
.visor .pasos span.on::after{animation:llena 3.2s linear forwards}
@keyframes llena{to{transform:scaleX(1)}}
/* escena: diafragma */
.iris{width:min(64%,250px);aspect-ratio:1}
.iris .hojas{transform-origin:50% 50%;animation:abre 3.2s var(--ease) infinite}
@keyframes abre{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(38deg) scale(.82)}}
/* escena: video */
.clip{width:100%;display:grid;gap:14px}
.clip .cuadro{aspect-ratio:16/9;border-radius:12px;border:1px solid var(--linea-2);background:radial-gradient(80% 90% at 30% 30%,rgba(var(--maiz-rgb),.22),transparent 60%),var(--obs-2);display:grid;place-items:center;position:relative;overflow:hidden}
.clip .cuadro svg{width:44px;height:44px;color:var(--hueso)}
.clip .cuadro::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(236,230,218,.08) 50%,transparent 70%);animation:barrido 2.4s linear infinite}
@keyframes barrido{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.linea-t{display:grid;gap:6px}
.linea-t .pista{height:22px;border-radius:5px;display:flex;gap:3px;position:relative}
.linea-t .pista span{border-radius:4px;background:rgba(236,230,218,.12)}
.linea-t .pista.a span{background:rgba(var(--maiz-rgb),.5)}
.linea-t .cabezal{position:absolute;top:-6px;bottom:-34px;width:2px;background:var(--maiz);left:0;animation:cabezal 3.2s linear infinite;z-index:1}
@keyframes cabezal{to{left:100%}}
/* escena: página */
.mini{width:100%;border-radius:12px;border:1px solid var(--linea-2);background:var(--obs);overflow:hidden}
.mini .bar{display:flex;gap:5px;padding:9px 12px;border-bottom:1px solid var(--linea)}
.mini .bar i{width:7px;height:7px;border-radius:50%;background:var(--linea-2)}
.mini .cuerpo{padding:16px;display:grid;gap:10px}
.mini .b{height:10px;border-radius:4px;background:rgba(236,230,218,.12);transform-origin:left;animation:crece 3.2s var(--ease) infinite;animation-delay:var(--d,0s)}
.mini .b.t{height:22px;width:78%;background:var(--hueso)}
.mini .b.m{background:var(--maiz);width:34%;height:26px;border-radius:999px}
.mini .fila{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.mini .fila span{aspect-ratio:1;border-radius:8px;background:var(--obs-3);animation:crece 3.2s var(--ease) infinite;animation-delay:var(--d,0s);transform-origin:bottom}
@keyframes crece{0%{transform:scaleX(0);opacity:0}25%,85%{transform:none;opacity:1}100%{opacity:0}}
/* escena: llamada */
.tel{display:grid;place-items:center;gap:26px;text-align:center}
.timbre{position:relative;width:104px;height:104px;display:grid;place-items:center;border-radius:50%;background:var(--maiz);color:var(--obs)}
.timbre svg{width:42px;height:42px;animation:vibra 1.6s infinite}
.timbre::before,.timbre::after,.timbre i{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(var(--maiz-rgb),.6);animation:onda 2.4s var(--ease) infinite}
.timbre::after{animation-delay:.8s}.timbre i{animation-delay:1.6s}
@keyframes onda{from{transform:scale(1);opacity:.9}to{transform:scale(2.6);opacity:0}}
@keyframes vibra{0%,40%,100%{transform:rotate(0)}5%,15%,25%,35%{transform:rotate(-12deg)}10%,20%,30%{transform:rotate(12deg)}}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;padding:8px 14px;border-radius:999px;background:rgba(111,214,164,.12);color:var(--jade);border:1px solid rgba(111,214,164,.3)}
.chip svg{width:15px;height:15px}
/* escena: agenda */
.agenda{width:100%;display:grid;gap:10px}
.agenda .dia{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ceniza)}
.agenda .slot{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--linea);font-size:14.5px;color:var(--ceniza)}
.agenda .slot b{font-weight:500;color:var(--hueso);width:62px;flex:none}
.agenda .slot.nueva{border-color:rgba(var(--maiz-rgb),.5);background:rgba(var(--maiz-rgb),.1);color:var(--hueso);animation:entra 3.2s var(--ease) infinite}
@keyframes entra{0%,15%{opacity:0;transform:translateX(-14px)}30%,90%{opacity:1;transform:none}100%{opacity:0}}

.p-pie{grid-column:8 / span 5;grid-row:3;display:flex;gap:28px;flex-wrap:wrap;font-size:13px;color:var(--ceniza)}
.p-pie b{display:block;font-size:20px;color:var(--hueso);font-weight:600;letter-spacing:-.03em}

/* ---------- cinta ---------- */
.cinta{border-block:1px solid var(--linea);overflow:hidden;padding-block:22px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cinta .pista{display:flex;width:max-content;gap:48px;animation:desliza 42s linear infinite}
.cinta span{font-size:clamp(34px,5vw,68px);font-weight:800;letter-spacing:-.04em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px var(--linea-2)}
.cinta span:nth-child(3n+2){font-family:var(--serif);font-style:italic;font-weight:400;color:var(--maiz);-webkit-text-stroke:0;letter-spacing:-.01em}
.cinta span:nth-child(3n){color:var(--hueso);-webkit-text-stroke:0}
.cinta:hover .pista{animation-play-state:paused}
@keyframes desliza{to{transform:translateX(-50%)}}

/* ---------- secciones ---------- */
.sec{padding-block:clamp(88px,11vw,160px)}
.sec-cab{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-bottom:clamp(44px,6vw,80px)}
.sec-cab .eyebrow{grid-column:1 / span 3;align-self:start;padding-top:12px}
.sec-cab h2{grid-column:4 / span 9;font-size:clamp(42px,6.2vw,96px)}
.sec-cab p{grid-column:4 / span 6;color:var(--ceniza);font-size:18px;max-width:54ch}

/* problema: tres frases grandes */
.dolor{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;border-top:1px solid var(--linea)}
.dolor li{list-style:none;grid-column:span 4;padding:32px 0 0;display:grid;gap:14px;align-content:start;border-top:1px solid transparent}
.dolor li i{font-family:var(--serif);font-size:30px;color:var(--maiz);line-height:1}
.dolor li b{font-size:clamp(22px,2.1vw,30px);letter-spacing:-.035em;line-height:1.08;font-weight:700}
.dolor li span{color:var(--ceniza);font-size:16.5px;max-width:36ch}
.dolor ul{display:contents}

/* servicio: cabecera grande con número romano */
.serv{padding-block:clamp(88px,10vw,150px);border-top:1px solid var(--linea);position:relative}
.serv-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.serv .rom{grid-column:1 / span 2;font-family:var(--serif);font-style:italic;font-size:clamp(70px,9vw,140px);line-height:.8;color:var(--maiz);position:sticky;top:110px}
.serv .txt{grid-column:3 / span 5;display:grid;gap:26px}
.serv .txt h2{font-size:clamp(40px,5vw,78px)}
.serv .txt>p{color:var(--ceniza);font-size:18px;max-width:46ch}
.serv .txt>p b{color:var(--hueso);font-weight:500}
.serv .vis{grid-column:8 / span 5;position:relative}
.serv.inv .txt{grid-column:8 / span 5;grid-row:1}
.serv.inv .vis{grid-column:3 / span 5;grid-row:1}
.incluye{list-style:none;padding:0;display:grid;gap:0;border-top:1px solid var(--linea)}
.incluye li{display:flex;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--linea);font-size:16.5px}
.incluye li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--maiz);transform:translateY(-3px)}
.inversion{display:grid;gap:4px;padding:22px 24px;border-radius:18px;border:1px solid var(--linea-2);background:linear-gradient(180deg,rgba(236,230,218,.04),transparent)}
.inversion small{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--maiz)}
.inversion .m{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.inversion .m b{font-size:clamp(34px,3.4vw,46px);letter-spacing:-.045em;font-weight:800;line-height:1.05}
.inversion .m span{color:var(--ceniza);font-size:16px}
.inversion p{color:var(--ceniza);font-size:15px}
.inversion.cot .m b{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.01em;color:var(--maiz)}

/* i. foto y video: tira de película */
.tira{border-radius:22px;border:1px solid var(--linea);background:var(--obs-2);overflow:hidden;position:relative}
.rollo{display:grid;gap:0;padding:18px 0;--alto:clamp(150px,15vw,200px)}
.rollo .perf{height:12px;background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(236,230,218,.14) 10px 22px,transparent 22px 30px);mask:linear-gradient(#000,#000)}
.rollo .fotos{overflow:hidden;padding-block:10px}
.rollo .fotos .pista{display:flex;gap:10px;width:max-content;animation:desliza 34s linear infinite}
.rollo .fotos.atras .pista{animation-direction:reverse;animation-duration:40s}
.cuadrito{width:calc(var(--alto) * 1.25);height:var(--alto);border-radius:6px;position:relative;overflow:hidden;flex:none;display:flex;align-items:flex-end;padding:12px;background:var(--g);transition:transform 1.2s var(--ease)}
.cuadrito:hover{transform:scale(1.04)}
.cuadrito b{font-family:var(--serif);font-weight:400;font-style:italic;font-size:26px;color:var(--hueso);line-height:1;position:relative;z-index:1}
.cuadrito small{position:absolute;top:10px;left:12px;font-size:10px;letter-spacing:.16em;color:rgba(236,230,218,.55)}
.cuadrito::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,13,12,.75),transparent 55%)}
.tira .equipo{display:flex;flex-wrap:wrap;gap:8px;padding:18px 20px 20px;border-top:1px solid var(--linea)}
.tag{font-size:13px;padding:7px 12px;border-radius:999px;border:1px solid var(--linea-2);color:var(--ceniza)}
.tag b{color:var(--hueso);font-weight:500}

/* ii. páginas: navegador que se arma con el scroll */
.nave{border-radius:20px;border:1px solid var(--linea-2);background:var(--obs-2);overflow:hidden;box-shadow:0 60px 120px -60px rgba(0,0,0,.9);transform:perspective(1400px) rotateY(calc((1 - var(--p,1)) * -14deg)) rotateX(calc((1 - var(--p,1)) * 8deg));transition:transform .2s linear}
.nave .bar{display:flex;align-items:center;gap:7px;padding:12px 14px;border-bottom:1px solid var(--linea)}
.nave .bar i{width:9px;height:9px;border-radius:50%;background:var(--linea-2)}
.nave .url{margin-left:10px;flex:1;font-size:12.5px;color:var(--ceniza);padding:6px 12px;border-radius:8px;background:rgba(236,230,218,.05);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nave .url b{color:var(--hueso);font-weight:500}
.sitio{position:relative;padding:28px 24px;display:grid;gap:16px;min-height:360px;background:radial-gradient(80% 60% at 80% 0%,rgba(var(--maiz-rgb),.14),transparent 60%)}
.sitio .ey{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--maiz)}
.sitio h4{margin:0;max-width:72%;font-size:clamp(28px,2.8vw,40px);letter-spacing:-.05em;line-height:.95;font-weight:800}
.sitio h4 em{font-family:var(--serif);font-weight:400;color:var(--maiz)}
.sitio .bts{display:flex;gap:8px}
.sitio .bts span{font-size:12px;padding:8px 14px;border-radius:999px;background:var(--maiz);color:var(--obs);font-weight:600}
.sitio .bts span+span{background:transparent;color:var(--hueso);border:1px solid var(--linea-2)}
.sitio .platos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.sitio .platos div{border-radius:10px;border:1px solid var(--linea);padding:10px;display:grid;gap:4px;font-size:12px}
.sitio .platos div i{display:block;aspect-ratio:4/3;border-radius:6px;background:var(--g);margin-bottom:4px}
.sitio .platos div b{font-weight:600;font-size:12.5px}
.sitio .platos div span{color:var(--maiz)}
.js .sitio>*{opacity:calc((var(--p,1) - var(--k)) * 6);transform:translateY(calc(max(0, (var(--k) + .17 - var(--p,1))) * 80px))}
.cel{position:absolute;right:18px;bottom:-52px;width:26%;min-width:110px;aspect-ratio:9/18.5;border-radius:24px;border:1px solid var(--linea-2);background:var(--obs);box-shadow:0 40px 80px -30px rgba(0,0,0,.95);padding:22px 10px 10px;display:grid;gap:8px;align-content:start;transform:translateY(calc((1 - var(--p,1)) * 60px))}
.cel::before{content:"";position:absolute;top:8px;left:50%;width:34%;height:6px;margin-left:-17%;border-radius:4px;background:var(--obs-3)}
.cel i{display:block;border-radius:6px;background:var(--obs-3)}
.cel i.f{aspect-ratio:1.1;background:var(--g)}
.cel i.t{height:12px;width:80%;background:var(--hueso)}
.cel i.c{height:24px;border-radius:999px;background:var(--maiz)}
.cel i.l{height:7px}
.planes{display:grid;gap:12px}
.planes .inversion{grid-template-columns:1fr auto;align-items:center;gap:4px 16px}
.planes .inversion .m{grid-row:1 / span 2;grid-column:2;justify-content:flex-end;text-align:right}
.planes .inversion .m b{font-size:clamp(28px,2.6vw,36px)}
.planes .inversion h3{font-size:20px;letter-spacing:-.03em;line-height:1.2;font-weight:700}
.real{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:rgba(111,214,164,.07);border:1px solid rgba(111,214,164,.22);font-size:15.5px;color:var(--ceniza);text-decoration:none;transition:background var(--t-rapido)}
.real:hover{background:rgba(111,214,164,.12)}
.real b{color:var(--hueso);font-weight:500}
.real svg{width:18px;height:18px;flex:none;color:var(--jade)}

/* iii. cocinalink: llamada → ticket */
.flujo{display:grid;gap:14px}
.llamada{border-radius:22px;border:1px solid var(--linea-2);background:var(--vidrio);overflow:hidden}
.llamada .top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--linea);font-size:13px;color:var(--ceniza)}
.llamada .top b{color:var(--hueso);font-weight:500;display:flex;align-items:center;gap:8px}
.ondas{display:flex;align-items:center;gap:3px;height:46px;padding:0 18px;margin-top:12px}
.ondas span{flex:1;height:100%;border-radius:2px;background:var(--ceniza);opacity:.5;transform:scaleY(.12)}
.ondas.habla span{animation:barra var(--d,.9s) ease-in-out infinite alternate;animation-delay:var(--o,0s)}
.ondas.bot span{background:var(--maiz);opacity:.95}
@keyframes barra{from{transform:scaleY(.12)}to{transform:scaleY(var(--h,.8))}}
.dialogo{list-style:none;padding:12px 18px 18px;display:grid;gap:10px;min-height:206px;align-content:start}
.dialogo li{display:grid;gap:2px;font-size:14.5px;line-height:1.45;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.dialogo li small{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ceniza)}
.dialogo li.a small{color:var(--maiz)}
.anim .dialogo li{opacity:0;transform:translateY(8px)}
.anim .dialogo li.on{opacity:1;transform:none}
.ticket{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:16px 18px;border-radius:18px;background:var(--hueso);color:var(--obs);transition:transform .7s var(--ease),opacity .7s var(--ease)}
.anim .ticket{opacity:0;transform:translateY(16px) scale(.97)}
.anim .ticket.on{opacity:1;transform:none}
.ticket .n{font-size:30px;font-weight:800;letter-spacing:-.05em}
.ticket ul{list-style:none;padding:0;font-size:14px;line-height:1.35}
.ticket ul small{color:#5c625f}
.ticket .st{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:7px 10px;border-radius:999px;background:var(--obs);color:var(--maiz)}
.fund{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:16px;border:1px dashed rgba(var(--maiz-rgb),.45);font-size:15.5px;color:var(--ceniza)}
.fund b{color:var(--maiz-2);font-weight:600}
.fund i{font-family:var(--serif);font-size:26px;line-height:1;color:var(--maiz)}

/* iv. agentes: chat → agenda */
.chat{border-radius:22px;border:1px solid var(--linea-2);background:var(--obs-2);padding:20px;display:grid;gap:12px}
.chat .cab{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ceniza);padding-bottom:12px;border-bottom:1px solid var(--linea)}
.chat .cab b{color:var(--hueso);font-weight:500;display:flex;gap:8px;align-items:center}
.chat .cab b i{width:7px;height:7px;border-radius:50%;background:var(--jade)}
.globo{max-width:84%;padding:11px 15px;border-radius:16px;font-size:14.5px;line-height:1.45;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.globo.c{background:rgba(236,230,218,.07);border-bottom-left-radius:4px}
.globo.a{justify-self:end;background:rgba(var(--maiz-rgb),.14);color:var(--maiz-2);border-bottom-right-radius:4px}
.anim .globo{opacity:0;transform:translateY(10px)}
.anim .globo.on{opacity:1;transform:none}
.cita{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:1px solid rgba(var(--maiz-rgb),.45);background:rgba(var(--maiz-rgb),.08);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.anim .cita{opacity:0;transform:scale(.96)}
.anim .cita.on{opacity:1;transform:none}
.cita .cal{flex:none;width:64px;border-radius:10px;overflow:hidden;text-align:center;background:var(--hueso);color:var(--obs)}
.cita .cal small{display:block;background:var(--maiz);font-size:10px;font-weight:700;letter-spacing:.1em;padding:3px 0}
.cita .cal b{display:block;font-size:18px;padding:2px 0;font-weight:800;line-height:1.3}
.cita div{font-size:14px;color:var(--ceniza);line-height:1.4}
.cita div b{color:var(--hueso);font-weight:600;display:block;font-size:15px}
.oficios{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- trabajos ---------- */
.obra{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;text-decoration:none;border-radius:28px;border:1px solid var(--linea);background:var(--obs-2);padding:16px;overflow:hidden;transition:border-color .3s}
.obra:hover{border-color:rgba(var(--maiz-rgb),.45)}
.obra .foto{grid-column:1 / span 7;aspect-ratio:16/10;border-radius:18px;overflow:hidden;position:relative;background:radial-gradient(70% 80% at 70% 20%,rgba(var(--maiz-rgb),.14),transparent 60%),var(--obs-3)}
.obra .foto img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform 1.6s var(--ease)}
.obra:hover .foto img{transform:scale(1.04)}
.obra .vacia{position:absolute;inset:0;display:none;place-items:center}
.obra .vacia b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(32px,4vw,56px);color:var(--hueso)}
.obra .foto.sin img{display:none}.obra .foto.sin .vacia{display:grid}
.obra-t{grid-column:8 / span 5;display:grid;gap:16px;justify-items:start;padding:12px 16px}
.obra-t h3{font-size:clamp(34px,3.6vw,54px)}
.obra-t p{color:var(--ceniza);font-size:17px}
.obra-t .duenio{font-size:12.5px;color:var(--ceniza);letter-spacing:.02em}
@media (max-width:760px){.obra{grid-template-columns:1fr}.obra .foto,.obra-t{grid-column:1}.obra-t{padding:8px 4px 8px}}

/* ---------- inversión: resumen ---------- */
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.resumen{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.card{grid-column:span 4;position:relative;isolation:isolate;border-radius:24px;border:1px solid var(--linea);background:var(--obs-2);padding:28px;display:flex;flex-direction:column;gap:16px;overflow:hidden;min-width:0}
.card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,-20%),rgba(var(--maiz-rgb),.12),transparent 60%);opacity:0;transition:opacity .4s}
.card:hover::before{opacity:1}
.card .r{font-family:var(--serif);font-style:italic;color:var(--maiz);font-size:24px;line-height:1}
.card h3{font-size:26px;letter-spacing:-.04em;line-height:1}
.card .m b{font-size:40px;font-weight:800;letter-spacing:-.05em;line-height:1}
.js .card .m b{opacity:0;filter:blur(8px);transition:opacity 1s var(--ease) .25s,filter 1s var(--ease) .25s}
.js .card.in .m b,.js .card.in .m b{opacity:1;filter:none}
.card .m span{display:block;color:var(--ceniza);font-size:14.5px;margin-top:6px}
.card ul{list-style:none;padding:0;display:grid;gap:8px;font-size:15px;color:var(--ceniza);margin-top:auto;padding-top:14px;border-top:1px solid var(--linea)}
.card ul li::before{content:"— ";color:var(--maiz)}
.card.ancha{grid-column:span 8}
.card.c-rest{grid-column:span 5}
.card.estrella{grid-column:span 7;border:0;padding:1px;background:conic-gradient(from var(--ang),transparent 0 70%,rgba(var(--maiz-rgb),.9) 82%,transparent 92%),var(--linea);animation:gira 6s linear infinite}
.card.estrella>.in{border-radius:23px;background:linear-gradient(180deg,#141a17,var(--obs-2));padding:28px;display:flex;flex-direction:column;gap:16px;height:100%}
@keyframes gira{to{--ang:360deg}}
.card.estrella .doble{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.nota-inv{margin-top:22px;color:var(--ceniza);font-size:15px;display:flex;gap:10px 28px;flex-wrap:wrap}
.nota-inv b{color:var(--hueso);font-weight:500}

/* ---------- cómo trabajamos ---------- */
.ruta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;position:relative}
.ruta::before{content:"";position:absolute;top:22px;left:0;right:0;height:1px;background:var(--linea-2)}
.ruta::after{content:"";position:absolute;top:22px;left:0;height:1px;width:calc(var(--r,0) * 100%);background:var(--maiz);transition:width .2s linear}
.ruta li{list-style:none;display:grid;gap:12px;align-content:start;position:relative;z-index:1}
.ruta::before,.ruta::after{z-index:0}
.ruta li i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--obs);border:1px solid var(--linea-2);font-family:var(--serif);font-size:20px;color:var(--maiz);position:relative;z-index:1}
.ruta li b{font-size:22px;letter-spacing:-.03em;font-weight:700;line-height:1.1;margin-top:10px}
.ruta li span{color:var(--ceniza);font-size:16px}
.ruta ul{display:contents}

/* ---------- preguntas ---------- */
.faq-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.faq{grid-column:4 / span 9;border-top:1px solid var(--linea)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding-block:18px;font-size:clamp(19px,1.8vw,24px);font-weight:600;letter-spacing:-.025em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--linea-2);display:grid;place-items:center;position:relative;transition:background var(--t-rapido)}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;width:14px;height:1.5px;background:var(--hueso)}
.faq summary i::after{transform:rotate(90deg);transition:transform var(--t-medio) var(--ease)}
.faq details[open] summary i{background:var(--maiz);border-color:var(--maiz)}
.faq details[open] summary i::before,.faq details[open] summary i::after{background:var(--obs)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq summary:hover{color:var(--maiz-2)}
.faq .r{padding-bottom:24px;color:var(--ceniza);font-size:17px;max-width:62ch}

/* ---------- cierre ---------- */
.cierre{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(100px,13vw,190px);border-top:1px solid var(--linea)}
.cierre::before{content:"";position:absolute;inset:-20% -10% auto auto;width:70vw;height:70vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(circle,rgba(var(--maiz-rgb),.16),transparent 62%);filter:blur(20px);z-index:-1}
.cierre-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}
.cierre h2{grid-column:1 / span 8;font-size:clamp(54px,8.6vw,146px);letter-spacing:-.06em;line-height:.88}
.contacto{grid-column:1 / span 7;display:grid;gap:22px;margin-top:40px}
.contacto p{color:var(--ceniza);font-size:18px;max-width:46ch}
.numero{font-size:clamp(30px,3.6vw,52px);font-weight:800;letter-spacing:-.045em;text-decoration:none;display:inline-block;width:max-content;max-width:100%;background:linear-gradient(currentColor,currentColor) 0 100% / 0 2px no-repeat;transition:background-size .6s var(--ease)}
.numero:hover{background-size:100% 2px;color:var(--maiz-2)}
.nota-tel{font-size:14px!important;color:var(--ceniza);margin-top:-12px;max-width:44ch!important;line-height:1.5}
.sello{grid-column:9 / span 4;grid-row:1 / span 2;justify-self:center;width:min(100%,300px);aspect-ratio:1;position:relative}
.sello svg{width:100%;height:100%}
.sello .giro{transform-origin:50% 50%;animation:rueda 24s linear infinite}
@keyframes rueda{to{transform:rotate(360deg)}}
.sello text{font-family:var(--sans);font-size:9.5px;letter-spacing:3.4px;fill:var(--ceniza);text-transform:uppercase}

/* ---------- pie ---------- */
footer{border-top:1px solid var(--linea);padding-block:40px calc(40px + env(safe-area-inset-bottom,0px));color:var(--ceniza);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px 32px;align-items:center}
footer a{text-decoration:none}
footer a:hover{color:var(--hueso)}
footer .legal{flex-basis:100%;padding-top:20px;border-top:1px solid var(--linea);font-size:13px}
footer nav{display:flex;gap:20px;flex-wrap:wrap}

/* barra fija del celular */
.movil{display:none}

/* ---------- responsivo ---------- */
@media (max-width:1060px){
  .p-grid{grid-template-columns:1fr;gap:28px}
  .portada h1,.p-texto,.visor,.p-pie{grid-column:1;grid-row:auto}
  .visor{width:100%;max-width:520px;aspect-ratio:4/4.3}
  .serv-g{grid-template-columns:1fr;gap:32px}
  .serv .rom{position:static;grid-column:1}
  .serv .txt,.serv .vis,.serv.inv .txt,.serv.inv .vis{grid-column:1;grid-row:auto}
  .serv .vis{order:2}
  .serv .rom{font-size:64px}
  .card,.card.ancha{grid-column:span 6}
  .card.estrella{grid-column:1 / -1}
  .card.c-rest{grid-column:span 6}
}
@media (max-width:760px){
  body{font-size:16.5px}
  .sec-cab{grid-template-columns:1fr;gap:18px}
  .sec-cab .eyebrow,.sec-cab h2,.sec-cab p{grid-column:1;padding-top:0}
  .dolor{grid-template-columns:1fr;gap:0}
  .dolor li{grid-column:1;padding:26px 0;border-bottom:1px solid var(--linea)}
  .resumen{grid-template-columns:1fr}
  .card,.card.ancha,.card.estrella,.card.c-rest{grid-column:1}
  .card.estrella .doble{grid-template-columns:1fr}
  .ruta{grid-template-columns:1fr;gap:28px;padding-left:64px}
  .ruta::before,.ruta::after{top:0;bottom:0;left:22px;width:1px;height:auto}
  .ruta::after{height:calc(var(--r,0) * 100%);bottom:auto}
  .ruta li i{position:absolute;left:-64px;top:0}
  .ruta li b{margin-top:8px}
  .faq-g,.cierre-g{grid-template-columns:1fr}
  .faq,.cierre h2,.contacto,.sello{grid-column:1;grid-row:auto}
  .sello{width:200px;justify-self:start;margin-top:20px}
  .lect{left:48px;right:48px;font-size:10px}
  .planes .inversion{grid-template-columns:1fr}
  .planes .inversion .m{grid-row:auto;grid-column:1;justify-content:flex-start;text-align:left}
  .cel{display:none}
  .sitio{min-height:0}
  .movil{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;gap:10px;padding:10px var(--gutter-r) calc(10px + env(safe-area-inset-bottom,0px)) var(--gutter-l);background:rgba(10,13,12,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--linea);transform:translateY(110%);transition:transform var(--t-medio) var(--ease)}
  .movil.ver{transform:none}
  .movil .btn{flex:1 1 0;padding-inline:12px}
  footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  .barra .btn.chico{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .cinta .pista,.rollo .fotos .pista{animation:none}
  .esc.on{filter:none}
}

/* ---------- sitio de varias páginas ---------- */
.barra nav a.l[aria-current]{color:var(--hueso)}
.primero{padding-top:calc(150px + env(safe-area-inset-top,0px));border-top:0;position:relative;isolation:isolate}
.primero::before{content:"";position:absolute;inset:-10% -10% auto auto;width:60vw;height:60vw;max-width:820px;max-height:820px;border-radius:50%;background:radial-gradient(circle,rgba(var(--maiz-rgb),.13),transparent 62%);filter:blur(20px);z-index:-1;pointer-events:none}
.primero h1{font-size:clamp(44px,5.6vw,88px);letter-spacing:-.05em;line-height:.95}
.sec.primero .sec-cab h1{grid-column:4 / span 9;font-size:clamp(48px,7vw,110px)}
/* tarjetas de servicios en la portada */
.srv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.srv a{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:14px;min-height:380px;padding:26px;border-radius:24px;border:1px solid var(--linea);background:var(--obs-2);text-decoration:none;overflow:hidden;transition:border-color .4s,transform .8s var(--ease)}
.srv a::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(380px circle at var(--mx,50%) var(--my,-20%),rgba(var(--maiz-rgb),.14),transparent 60%);opacity:0;transition:opacity .4s}
.srv a:hover{border-color:rgba(var(--maiz-rgb),.45);transform:translateY(-6px)}
.srv a:hover::before{opacity:1}
.srv .r{font-family:var(--serif);font-style:italic;font-size:clamp(54px,5vw,76px);line-height:.8;color:var(--maiz)}
.srv .ico{width:44px;height:44px;color:var(--hueso);opacity:.85;margin-left:auto;margin-top:-50px}
.srv h3{font-size:clamp(26px,2.2vw,32px);letter-spacing:-.04em;line-height:1;margin-top:auto}
.srv p{color:var(--ceniza);font-size:15.5px}
.srv .inv{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-top:14px;border-top:1px solid var(--linea);font-size:13px;color:var(--ceniza)}
.srv .inv b{font-size:20px;color:var(--hueso);font-weight:700;letter-spacing:-.03em}
.srv .inv b.cot{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--maiz)}
.srv .ir{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--maiz)}
.srv .ir svg{width:16px;height:16px;transition:transform .2s var(--ease)}
.srv a:hover .ir svg{transform:translateX(4px)}
.mas{display:flex;justify-content:flex-end;margin-top:22px}
/* siguiente página */
.siguiente{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:clamp(48px,6vw,90px);border-top:1px solid var(--linea);text-decoration:none}
.siguiente small{display:block;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ceniza);margin-bottom:10px}
.siguiente b{font-size:clamp(36px,5.4vw,84px);font-weight:800;letter-spacing:-.05em;line-height:.95}
.siguiente b em{font-family:var(--serif);font-weight:400;font-style:italic;color:var(--maiz);letter-spacing:-.01em}
.siguiente span.f{flex:none;width:clamp(56px,6vw,84px);height:clamp(56px,6vw,84px);border-radius:50%;border:1px solid var(--linea-2);display:grid;place-items:center;transition:background .3s,border-color .3s,transform .6s var(--ease)}
.siguiente span.f svg{width:28px;height:28px}
.siguiente:hover span.f{background:var(--maiz);color:var(--obs);border-color:var(--maiz);transform:rotate(-45deg)}
@media (max-width:1060px){.srv{grid-template-columns:repeat(2,minmax(0,1fr))}.srv a{min-height:300px}}
@media (max-width:760px){.srv{grid-template-columns:1fr}.srv a{min-height:0}.srv .ico{margin-top:-46px}.sec.primero .sec-cab h1{grid-column:1}.primero{padding-top:calc(120px + env(safe-area-inset-top,0px))}}
html,body{overflow-x:clip}
.primero .rom{display:none}

/* idioma */
.idioma{display:inline-flex;align-items:center;gap:3px;min-height:44px;padding:0 13px;margin-left:8px;border-radius:999px;border:1px solid var(--linea-2);text-decoration:none;font-size:12.5px;font-weight:600;letter-spacing:.1em;color:var(--ceniza);transition:border-color .2s,color .2s}
.idioma b{color:var(--maiz);font-weight:700}
.idioma i{font-style:normal;opacity:.4}
.idioma:hover{border-color:rgba(var(--maiz-rgb),.6);color:var(--hueso)}
.panel a.idioma-panel{color:var(--ceniza)}
