/* Óptica London · v4 (arquetipo 05 · Mouse-Reactive Gradient) · v20261111 */
@font-face{font-family:"Switzer";src:url("fonts/switzer-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --cream:#FCFCF4; --paper:#F3F6E8; --ink:#042C5C; --soft:#42587A;
  --lima:#A4CC3C; --lima-2:#C4E069; --teal:#049CAC; --teal-2:#0BB6C8; --marino:#042C5C; --deep:#021A38;
  --small:clamp(.9rem,.88rem + .1vw,.975rem);
  --body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --lead:clamp(1.25rem,1.05rem + .8vw,1.75rem);
  --h2:clamp(2.4rem,1.2rem + 5vw,6rem);
  --m:clamp(18px,4vw,56px); --nav:76px;
  --out:cubic-bezier(.23,1,.32,1); --io:cubic-bezier(.77,0,.175,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--nav)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Switzer",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p,ul,dl,dd,figure{margin:0}
ul{padding:0;list-style:none}
h1,h2,h3{font-weight:700;letter-spacing:-.045em;line-height:.95;text-wrap:balance}
h2{font-size:var(--h2)}
h3{font-size:var(--lead);line-height:1.05;letter-spacing:-.03em}
a{color:inherit}
strong{font-weight:650}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
::selection{background:var(--lima);color:var(--marino)}
.skip{position:absolute;left:var(--m);top:-80px;z-index:120;background:var(--marino);color:var(--cream);padding:12px 16px}
.skip:focus{top:12px}
.lead{font-size:var(--lead);line-height:1.3;letter-spacing:-.018em;max-width:30em}
.kicker{font-size:var(--small);font-weight:600;letter-spacing:.02em;margin-bottom:18px;display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:34px;height:3px;background:linear-gradient(90deg,var(--lima),var(--teal))}
section{position:relative}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 28px;border-radius:999px;background:var(--marino);color:var(--cream);font-weight:600;font-size:var(--body);line-height:1.1;text-decoration:none;text-align:center;transition:transform .16s var(--out),background-color .2s}
.btn--lima{background:var(--lima);color:var(--marino)}
.btn:active{transform:scale(.97)}
@media (hover:hover){
  .btn:hover{background:var(--teal);box-shadow:0 10px 30px -10px rgba(4,156,172,.7)}
  .btn--lima:hover{background:var(--lima-2);box-shadow:0 10px 36px -8px rgba(164,204,60,.8)}
}
.lnk{font-weight:600;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px;text-decoration-color:var(--lima);transition:text-underline-offset .2s var(--out)}
@media (hover:hover){.lnk:hover{text-underline-offset:8px}}

/* telón */
.telon{position:fixed;inset:0;z-index:100;background:var(--cream);display:grid;place-items:center;pointer-events:none;animation:telon .8s var(--io) .55s forwards}
.telon img{width:min(300px,62vw);animation:enfoca .9s var(--out) both}
@keyframes telon{to{transform:translateY(-101%);visibility:hidden}}
@keyframes enfoca{from{filter:blur(18px);opacity:0;transform:scale(1.08)}to{filter:blur(0);opacity:1;transform:none}}

/* barra */
.nav{position:fixed;inset:0 0 auto 0;z-index:70;height:var(--nav);padding:0 var(--m);display:flex;align-items:center;gap:32px;color:var(--cream);transition:background-color .3s,color .3s,box-shadow .3s}
.nav.solid{background:rgba(252,252,244,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ink);box-shadow:0 1px 0 rgba(4,44,92,.08)}
.nav-logo{display:block;flex:none}
.nav-logo img{height:58px;width:auto;filter:drop-shadow(0 1px 8px rgba(2,26,56,.5))}
.nav.solid .nav-logo img{filter:none}
.nav-links{display:flex;gap:30px;margin-left:auto}
.nav-links a{text-decoration:none;font-weight:550;padding:12px 0;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:3px;background:var(--lima);transform:scaleX(0);transform-origin:0 50%;transition:transform .3s var(--out)}
@media (hover:hover){.nav-links a:hover::after{transform:scaleX(1)}}
.nav-cta{min-height:46px;padding:10px 20px;background:var(--lima);color:var(--marino)}
.hamb{display:none;width:48px;height:48px;margin-left:auto;position:relative}
.hamb span{position:absolute;left:10px;right:10px;height:3px;background:currentColor;transition:transform .25s var(--out)}
.hamb span:first-child{top:18px}.hamb span:last-child{top:27px}
.hamb[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.hamb[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;inset:var(--nav) 0 0 0;z-index:65;background:var(--marino);color:var(--cream);padding:28px var(--m);flex-direction:column;gap:4px;overflow:auto}
.mobile-menu:not([hidden]){display:flex}
.mobile-menu a:not(.btn){font-size:clamp(2rem,9vw,2.8rem);font-weight:700;letter-spacing:-.04em;text-decoration:none;padding:8px 0}
.mobile-menu .btn{margin-top:22px;background:var(--lima);color:var(--marino)}

/* ---------- HERO ---------- */
.hero{background:var(--deep);color:var(--cream);min-height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--nav) + 24px) var(--m) clamp(24px,4vw,48px);isolation:isolate}
.hero-fx{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(120% 90% at 30% 110%,#06386f 0%,var(--deep) 60%)}
.blob{position:absolute;left:0;top:0;width:78vmax;height:78vmax;margin:-39vmax 0 0 -39vmax;border-radius:50%;will-change:transform;opacity:.9}
.b1{background:radial-gradient(circle,rgba(164,204,60,.78) 0,rgba(164,204,60,0) 60%);transform:translate3d(78vw,24vh,0)}
.b2{background:radial-gradient(circle,rgba(4,156,172,.85) 0,rgba(4,156,172,0) 62%);transform:translate3d(30vw,70vh,0)}
.b3{width:50vmax;height:50vmax;margin:-25vmax 0 0 -25vmax;background:radial-gradient(circle,rgba(11,182,200,.55) 0,rgba(11,182,200,0) 60%);transform:translate3d(60vw,60vh,0)}
.hero-fx::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,26,56,.35),rgba(2,26,56,0) 30%,rgba(2,26,56,.55));}
.ojo{position:absolute;z-index:-1;right:-16vw;top:calc(var(--nav) + 4vh);width:min(82vw,1180px);aspect-ratio:5/3;pointer-events:none;animation:ojoIn 1.6s var(--out) .9s both}
.ojo-main,.ojo-glow{position:absolute;inset:0}
.ojo svg{width:100%;height:100%;overflow:visible;display:block}
.ojo-glow{filter:blur(46px);opacity:.55;transform:scale(1.04)}
.ojo-main,.ojo-iris,.ojo-ring{will-change:transform}
@keyframes ojoIn{from{opacity:0;filter:blur(30px);transform:scale(1.08)}to{opacity:1;filter:blur(0);transform:none}}
.hero-in{display:flex;flex-direction:column;gap:clamp(16px,2.4vw,32px);max-width:100%}
.hero-eyebrow{font-size:var(--small);font-weight:600;letter-spacing:.03em;color:var(--lima-2)}
.hero h1{font-size:clamp(5.2rem,19vw,19rem);line-height:.8;letter-spacing:-.075em;font-weight:800;margin-left:-.04em}
.hero h1 .w{display:block;width:fit-content;overflow:hidden;padding:.06em .04em .1em 0;vertical-align:top}
.hero h1 .w>span{display:inline-block;animation:sube 1.1s var(--io) both}
.hero h1 .w:nth-child(1)>span{animation-delay:1s}
.hero h1 .w:nth-child(2)>span{animation-delay:1.14s}
.hero h1 .grad{background:linear-gradient(100deg,var(--lima) 10%,var(--teal-2) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes sube{from{transform:translate3d(0,105%,0)}to{transform:none}}
.hero-pie{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;animation:aparece .9s var(--out) 1.5s both}
@keyframes aparece{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}
.hero-def{font-size:var(--lead);line-height:1.25;letter-spacing:-.02em;max-width:22em;color:rgba(252,252,244,.92)}
.hero-acc{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.chips{display:flex;flex-direction:column;gap:8px;font-size:var(--small)}
.chips li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;border-radius:999px;background:rgba(252,252,244,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.dot{width:10px;height:10px;border-radius:50%;background:#8aa0b8;flex:none;position:relative}
.dot.on{background:var(--lima)}
.dot.on::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--lima);animation:pulso 2s var(--out) infinite}
@keyframes pulso{from{transform:scale(.5);opacity:.9}to{transform:scale(1.5);opacity:0}}

/* ---------- LENTES · el foco ---------- */
.lentes{padding:clamp(72px,10vw,150px) var(--m);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center;background:var(--cream)}
.lentes-txt{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.ops{display:flex;flex-direction:column;width:100%;border-top:2px solid var(--ink)}
.op{display:grid;gap:4px;padding:18px 0;border-bottom:2px solid var(--ink);transition:transform .3s var(--out)}
.op strong{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.3rem);letter-spacing:-.04em;line-height:1;display:flex;align-items:center;gap:14px}
.op span{max-width:34em;color:var(--soft)}
.is-live .op{cursor:pointer;position:relative}
.is-live .op strong::before{content:"";flex:none;width:44px;height:26px;border-radius:99px;background:rgba(4,44,92,.2);transition:background-color .2s}
.is-live .op strong{position:relative}
.is-live .op strong::after{content:"";position:absolute;left:3px;top:50%;margin-top:-10px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(2,26,56,.35);transition:transform .25s var(--out)}
.is-live .op[aria-checked="true"] strong::before{background-color:var(--teal)}
.is-live .op[aria-checked="true"] strong::after{transform:translate3d(18px,0,0)}
.is-live .op:active strong::after{transform:translate3d(0,0,0) scale(.92)}
.is-live .op[aria-checked="true"]:active strong::after{transform:translate3d(18px,0,0) scale(.92)}
.foco-pista{font-size:var(--small);color:var(--soft);max-width:30em}
.foco{position:relative}
.foco-stage{position:relative;aspect-ratio:1/1.02;max-height:86svh;width:100%;border-radius:clamp(120px,22vw,300px) 28px 28px 28px;overflow:hidden;background:var(--marino);box-shadow:0 40px 80px -40px rgba(4,44,92,.6);touch-action:pan-y;user-select:none;-webkit-user-select:none}
.foco-base,.foco-sharp{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.is-live .foco-base{filter:blur(16px) saturate(.75) brightness(1);transform:scale(1.08)}
.foco-sun{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 8%,rgba(255,226,140,.85),rgba(255,226,140,0) 60%);opacity:0;mix-blend-mode:screen;z-index:1}
.lens{position:absolute;left:0;top:0;width:var(--ls,46%);aspect-ratio:1;touch-action:none;cursor:grab;z-index:3;will-change:transform;outline-offset:6px;border-radius:50%}
.lens.drag{cursor:grabbing}
.lens-in{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#fff}
.lens .foco-sharp{inset:auto;left:0;top:0;will-change:transform}
.lens-in i{position:absolute;inset:0;pointer-events:none}
.fx-tint{background:radial-gradient(circle at 40% 35%,#1d3a52 0,#0b1d30 100%);opacity:0;mix-blend-mode:multiply}
.fx-haze{background:radial-gradient(circle at 70% 25%,rgba(255,244,200,.95) 0,rgba(255,225,140,.55) 45%,rgba(255,225,140,0) 80%);opacity:0}
.fx-glare{background:linear-gradient(115deg,transparent 28%,rgba(120,190,255,.55) 36%,rgba(180,225,255,.8) 40%,rgba(120,190,255,.45) 46%,transparent 54%),linear-gradient(115deg,transparent 60%,rgba(120,190,255,.4) 64%,transparent 70%);opacity:0}
.lens-ring{position:absolute;inset:-9px;border-radius:50%;pointer-events:none;background:conic-gradient(from 210deg,var(--lima),var(--teal),var(--lima-2),var(--teal-2),var(--lima));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 8px));mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 8px));filter:drop-shadow(0 8px 18px rgba(2,26,56,.45))}
.lens::after{content:"";position:absolute;left:14%;top:10%;width:30%;height:14%;border-radius:50%;background:rgba(255,255,255,.55);filter:blur(5px);transform:rotate(-28deg);pointer-events:none}
.sol{position:absolute;right:clamp(10px,2.4vw,22px);top:12%;bottom:12%;width:56px;z-index:4;touch-action:none;cursor:grab}
.sol-rail{position:absolute;left:50%;top:0;bottom:0;width:4px;margin-left:-2px;border-radius:4px;background:linear-gradient(180deg,#ffe59a,rgba(252,252,244,.25))}
.sol-disc{position:absolute;left:50%;top:0;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff6cf,#ffc94a 62%,#f39a1c);box-shadow:0 0 0 6px rgba(255,214,102,.25),0 0 40px 10px rgba(255,201,74,.6);will-change:transform;transition:box-shadow .25s}
.sol.drag{cursor:grabbing}
.sol.drag .sol-disc{box-shadow:0 0 0 10px rgba(255,214,102,.3),0 0 56px 16px rgba(255,201,74,.75)}
.foco-cap{margin-top:18px;font-size:var(--lead);line-height:1.2;letter-spacing:-.02em;font-weight:600;min-height:2.4em;max-width:26em}

/* ---------- MONTURAS ---------- */
.monturas{padding:clamp(72px,10vw,150px) 0 clamp(56px,8vw,110px);background:var(--paper);overflow:hidden;isolation:isolate}
.mon-txt{padding:0 var(--m);display:flex;flex-direction:column;align-items:flex-start;gap:24px;max-width:62rem}
.mon-txt h2{font-size:clamp(2.4rem,1.2rem + 5vw,6rem)}
.mq{margin-top:clamp(40px,6vw,90px);display:flex;flex-direction:column;gap:clamp(4px,1vw,14px)}
.mq-r{display:flex;gap:.45em;white-space:nowrap;width:max-content;font-size:clamp(4.2rem,15vw,15rem);font-weight:800;letter-spacing:-.07em;line-height:.9;will-change:transform;padding:0 .2em}
.mq-r span::after{content:"";display:inline-block;width:.16em;height:.16em;border-radius:50%;background:var(--lima);margin-left:.45em;vertical-align:.18em}
.mq-r.o{color:#03889A}
.mq-r.o span::after{background:var(--lima)}

/* ---------- carácter vivo en secciones interiores ---------- */
.glow-sec{isolation:isolate;overflow:clip}
.glow{position:absolute;left:0;top:0;width:60vmax;height:60vmax;margin:-30vmax 0 0 -30vmax;border-radius:50%;pointer-events:none;z-index:-1;will-change:transform;background:radial-gradient(circle,rgba(164,204,60,.42) 0,rgba(164,204,60,0) 62%)}
.glow.g2{background:radial-gradient(circle,rgba(4,156,172,.4) 0,rgba(4,156,172,0) 62%)}
.control .glow,.pie .glow{background:radial-gradient(circle,rgba(164,204,60,.5) 0,rgba(164,204,60,0) 62%)}
.control .glow.g2,.pie .glow.g2{background:radial-gradient(circle,rgba(11,182,200,.6) 0,rgba(11,182,200,0) 62%)}
.pie{position:relative;isolation:isolate}
.control-ojo{position:absolute;z-index:-1;right:-22vw;top:-8%;width:min(64vw,860px);fill:none;stroke-width:3;opacity:.5}
.draw{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.8s var(--io)}
.is-anim .draw{stroke-dashoffset:1}
.is-anim .draw.in{stroke-dashoffset:0}
.is-anim .draw:nth-child(2){transition-delay:.15s}.is-anim .draw:nth-child(3){transition-delay:.4s}.is-anim .draw:nth-child(4){transition-delay:.6s}
.split .sw{display:inline-block;overflow:hidden;vertical-align:top;padding:.04em .02em .12em 0;margin-bottom:-.12em}
.split .sw>span{display:inline-block}
.is-anim .split .sw>span{transform:translate3d(0,108%,0)}
.is-anim .split.in .sw>span{transform:none;transition:transform .9s var(--io);transition-delay:calc(var(--i)*55ms)}

/* ---------- CONTROL ---------- */
.control{background:var(--marino);color:var(--cream);padding:clamp(80px,11vw,170px) var(--m);overflow:hidden;isolation:isolate}
.control h2{font-size:clamp(3.2rem,12vw,12rem);letter-spacing:-.06em;line-height:.86;max-width:8em}
.control-g{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,6vw,96px);margin:clamp(32px,5vw,72px) 0 clamp(28px,4vw,56px);align-items:start}
.control-dl{display:grid;border-top:2px solid rgba(252,252,244,.5)}
.control-dl div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;padding:16px 0;border-bottom:2px solid rgba(252,252,244,.5);align-items:baseline}
.control-dl dt{font-size:var(--small);font-weight:600;color:var(--lima-2)}
.control-dl dd{font-size:clamp(1.35rem,1rem + 1.4vw,2.1rem);font-weight:650;letter-spacing:-.03em;line-height:1.05}
.control-nota{max-width:34em;color:rgba(252,252,244,.85);margin-bottom:28px}

/* ---------- SEDES ---------- */
.sedes{padding:clamp(72px,10vw,150px) var(--m);background:var(--cream)}
.sedes h2{max-width:12em;margin-bottom:clamp(28px,4vw,60px)}
.sedes-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2.4vw,32px)}
.sede{background:var(--paper);border-radius:28px;overflow:hidden;display:flex;flex-direction:column}
.sede-foto{aspect-ratio:16/10;overflow:hidden;background:var(--marino);position:relative}
.sede-foto img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--out)}
@media (hover:hover){.sede:hover .sede-foto img{transform:scale(1.05)}}
.sede-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(164,204,60,.18),rgba(4,156,172,.25));mix-blend-mode:soft-light}
#bosques-de-mariana .sede-foto img{object-position:50% 40%}
#villas-de-granada .sede-foto img{object-position:85% 50%}
.sede-in{padding:clamp(20px,2.6vw,36px);display:flex;flex-direction:column;gap:10px;flex:1}
.sede h3{font-size:clamp(1.9rem,1.2rem + 2.4vw,3.4rem);letter-spacing:-.05em}
.sede-est{display:flex;align-items:center;gap:10px;font-weight:650;font-size:var(--small)}
.sede-hor{color:var(--soft)}
.sede-acc{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.sedes-nota{margin-top:28px;color:var(--soft);max-width:44em}

/* ---------- PAGOS ---------- */
.pagos{padding:clamp(72px,10vw,150px) var(--m);display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);background:var(--paper)}
.pagos h2{font-size:clamp(2.2rem,1.1rem + 4vw,4.6rem);margin-bottom:28px}
.pg{border-top:2px solid var(--ink)}
.pg li{padding:16px 0;border-bottom:2px solid var(--ink);display:grid;gap:2px;transition:transform .3s var(--out)}
@media (hover:hover) and (pointer:fine){.pg li:hover{transform:translate3d(14px,0,0)}}
.pg-n{font-size:clamp(1.35rem,1rem + 1.3vw,2rem);font-weight:650;letter-spacing:-.035em;line-height:1.05}
.pg-d{color:var(--soft)}

/* ---------- DUDAS ---------- */
.dudas{padding:clamp(72px,10vw,150px) var(--m);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,6vw,96px);background:var(--cream)}
.dudas h2{font-size:clamp(2.4rem,1.2rem + 4.4vw,5.2rem);position:sticky;top:calc(var(--nav) + 20px);align-self:start}
.acord{display:flex;flex-direction:column;gap:10px}
.acord details{background:var(--paper);border-radius:22px;transition:background-color .25s}
.acord details[open]{background:var(--lima)}
.acord summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:18px 26px;cursor:pointer;font-size:var(--lead);font-weight:600;letter-spacing:-.025em;line-height:1.15}
.acord summary::-webkit-details-marker{display:none}
.acord summary i{flex:none;width:18px;height:18px;position:relative}
.acord summary i::before,.acord summary i::after{content:"";position:absolute;left:0;top:7.5px;width:18px;height:3px;background:currentColor;transition:transform .3s var(--out)}
.acord summary i::after{transform:rotate(90deg)}
.acord details[open] summary i::after{transform:rotate(0)}
.acord details p{padding:0 26px 24px;max-width:52ch}
@media (hover:hover){.acord details:not([open]):hover{background:#E6EFC8}}

/* ---------- PIE ---------- */
.pie{background:var(--deep);color:var(--cream);padding:clamp(64px,9vw,130px) var(--m) 32px;overflow:hidden}
.pie-lema{font-size:clamp(3rem,11.5vw,12rem);font-weight:800;letter-spacing:-.07em;line-height:.86;background:linear-gradient(100deg,var(--lima),var(--teal-2));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em;max-width:9em}
.pie-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:clamp(40px,6vw,90px);padding-top:32px;border-top:2px solid rgba(252,252,244,.25)}
.pie-col{display:flex;flex-direction:column;gap:6px}
.pie-col a{text-decoration:none;font-weight:550;padding:4px 0}
.pie-dir{font-style:normal;display:flex;flex-direction:column;gap:14px;color:rgba(252,252,244,.8)}
.pie-fin{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:48px;font-size:var(--small);color:rgba(252,252,244,.75)}
.pie-pan a{color:var(--lima-2);font-weight:650}

/* ---------- modal QR ---------- */
.wa-modal{display:none;position:fixed;inset:0;z-index:90;background:rgba(2,26,56,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;padding:20px}
.wa-modal:not([hidden]){display:grid}
.wa-card{background:var(--cream);color:var(--ink);width:min(420px,100%);padding:32px 28px 28px;border-radius:28px;position:relative;text-align:center;animation:modal .35s var(--out) both}
@keyframes modal{from{opacity:0;transform:scale(.95) translate3d(0,10px,0)}to{opacity:1;transform:none}}
.wa-card h2{font-size:var(--lead);line-height:1.05;letter-spacing:-.03em}
.wa-card p{margin-top:10px}
.wa-card .qr{margin:18px auto 6px;width:204px;min-height:204px;background:#fff;display:grid;place-items:center}
.wa-card .qr img{width:196px;height:196px;image-rendering:pixelated}
.wa-card .prev{font-size:var(--small);color:var(--soft)}
.wa-tel{font-weight:650}
.wa-card .btn{margin-top:16px;width:100%}
.wa-x{position:absolute;top:6px;right:6px;width:48px;height:48px}
.wa-x::before,.wa-x::after{content:"";position:absolute;left:14px;top:22.5px;width:20px;height:3px;background:var(--marino);transform:rotate(45deg)}
.wa-x::after{transform:rotate(-45deg)}

/* ---------- reveal robusto ---------- */
.is-anim [data-r]{opacity:0}
.is-anim [data-r].in{animation:rev .8s var(--out) both}
@keyframes rev{from{opacity:0;transform:translate3d(0,28px,0)}to{opacity:1;transform:none}}
.px{will-change:transform}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .nav-links,.nav-cta{display:none}
  .hamb{display:block}
  .lentes,.monturas,.dudas,.pagos{grid-template-columns:1fr}
  .dudas h2{position:static}
  .lentes-txt{display:contents}
  .lentes-txt>.kicker{order:0}.lentes-txt>h2{order:1}.lentes-txt>.lead{order:2}.foco{order:3}.ops{order:4}.foco-pista{order:5}.lentes-txt>.lnk{order:6;align-self:flex-start}
  .lentes{gap:20px}
  .control-g{grid-template-columns:1fr}
  .pie-g{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  :root{--nav:68px}
  .nav-logo img{height:42px}
  .ojo{width:150vw;right:-52vw;top:calc(var(--nav) - 7vh)}
  .hero h1{font-size:clamp(5.4rem,29vw,10rem)}
  .hero-pie{flex-direction:column;align-items:flex-start}
  .sedes-g,.pagos{grid-template-columns:1fr}
  .foco-stage{aspect-ratio:1/1.1}
  .lens{--ls:58%}
  .control-dl div{grid-template-columns:1fr;gap:2px}
  .control-ojo{width:150vw;right:-60vw;top:2%}
}
@media (prefers-reduced-motion:reduce){
  .telon{display:none}
  .ojo,.hero h1 .w>span,.hero-pie{animation:none}
  .dot.on::after{animation:none}
  html{scroll-behavior:auto}
}
@media print{.nav,.wa-modal,.mobile-menu,.telon{display:none!important}}
