/* Ápice Brooklin · site demo IDSR
   Espinha: "a torre de baixo para cima". Rolar é subir os 28 andares, com o andar marcado na régua. */

:root{
  --f:#121212; --t:#E9E7E2; --a:#E85D2A; --s:#3A3836; --s2:#1C1B1A; --claro2:#DCD9D2;
  --ease:cubic-bezier(.22,1,.36,1); --osmo:cubic-bezier(.625,.05,0,1);
  --h1:76px; --v1:3.2%; --v2:96.8%; --h2:calc(100% - 92px);
  --gut:clamp(16px,4vw,56px); --r-cta:10rem;
  --rule:rgba(233,231,226,.3);
  --tit:'Archivo',system-ui,sans-serif; --txt:'Inter Tight',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--f);color:var(--t);font:400 16px/1.55 var(--txt);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--a);outline-offset:3px}
.wrap{width:min(1320px,100% - 2*var(--gut));margin-inline:auto}

/* tipografia de título: Archivo condensada (wdth 62), 800, caixa alta */
.tit,.tit-2,.tit-fim,.sb-h,.pg-h,.tp-nome,.n-big,.ct-num,.res-num,.sim-base b,.fq h3,.ficha dd,.br-fill b,.br-val,.painel a,.marca span{
  font-family:var(--tit);font-stretch:62%;font-weight:800;text-transform:uppercase;letter-spacing:0;line-height:.88}
.tit em,.tit-2 em,.tit-fim em,.sb-h em{font-style:normal;color:var(--a)}
.rot{font:600 12px/1 var(--txt);letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.ln{display:block;overflow:hidden;padding:.06em 0 .02em;margin:-.06em 0 -.02em}
.ln>i{display:block;font-style:normal}

/* botões (MICRO-PEAR-4: enche de baixo, seta acende) */
.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:16px;height:52px;padding:0 7px 0 22px;border-radius:4px;border:0;cursor:pointer;
  font:600 13px/1 var(--txt);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:color .35s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:scaleY(0);transform-origin:50% 100%;transition:transform .5s var(--osmo)}
.btn:hover::before{transform:scaleY(1)}
.btn.cheio{background:var(--a);color:var(--f)}
.btn.cheio::before{background:var(--t)}
.btn.linha{padding:0 22px;color:var(--t);box-shadow:inset 0 0 0 1px rgba(233,231,226,.55)}
.btn.linha::before{background:var(--t)}
.btn.linha:hover{color:var(--f)}
.seta{display:grid;place-items:center;aspect-ratio:1;width:38px;font-size:15px;border:1px solid rgba(18,18,18,.28);border-radius:3px;transition:background-color .26s var(--ease)}
.btn:hover .seta{background:rgba(18,18,18,.1)}

/* ---------- barra do visor (NAV-PEAR-1), fixa ---------- */
.topo{position:fixed;inset:0 0 auto;z-index:60;height:var(--h1);display:flex;align-items:center;gap:22px;
  padding:0 calc(var(--v1) + 22px);transition:background-color .4s,border-color .4s;border-bottom:1px solid transparent}
.topo.solido{background:rgba(18,18,18,.94);border-bottom-color:rgba(233,231,226,.1)}
.marca{display:flex;align-items:center;gap:12px;opacity:0;animation:hdrIn .7s var(--ease) .15s forwards}
.marca svg{width:30px;height:29px;overflow:visible}
.marca path{fill:none;stroke:var(--t);stroke-width:9;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.4s var(--ease) .2s forwards}
.marca path.laje{stroke:var(--a);animation-delay:.95s}
.marca span{display:grid;font-size:24px;line-height:.86}
.marca b{font:600 9px/1 var(--txt);letter-spacing:.34em;opacity:.75;margin-top:4px}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes hdrIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hud-andar{margin-left:auto;display:flex;align-items:baseline;gap:8px;font:600 11px/1 var(--txt);letter-spacing:.18em;text-transform:uppercase;opacity:0;animation:hdrIn .7s var(--ease) .42s forwards}
.hud-andar span{opacity:.65}
.hud-andar b{font:800 26px/1 var(--tit);font-stretch:62%;color:var(--a);min-width:2ch;text-align:right;font-variant-numeric:tabular-nums}
.hud-andar i{font-style:normal;opacity:.5}
.btn-topo{display:inline-flex;align-items:center;gap:1.1em;padding:.5em .5em .5em 1.15em;border-radius:4px;background:var(--a);color:var(--f);
  font:600 11.5px/1 var(--txt);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;opacity:0;animation:hdrIn .7s var(--ease) .5s forwards}
.btn-topo .seta{width:2.6em;font-size:12px}
.btn-topo:hover .seta{background:rgba(18,18,18,.14)}
.menu{display:grid;grid-template-columns:repeat(2,5px);gap:3px;place-content:center;width:40px;height:40px;margin-right:-10px;background:none;border:0;cursor:pointer;opacity:0;animation:hdrIn .7s var(--ease) .6s forwards}
.menu span{width:5px;height:5px;background:currentColor;transition:transform .4s var(--ease)}
.menu[aria-expanded=true] span:nth-child(1){transform:translate(4px,4px)}.menu[aria-expanded=true] span:nth-child(2){transform:translate(-4px,4px)}
.menu[aria-expanded=true] span:nth-child(3){transform:translate(4px,-4px)}.menu[aria-expanded=true] span:nth-child(4){transform:translate(-4px,-4px)}

.painel{position:fixed;inset:0;z-index:55;background:var(--f);padding:calc(var(--h1) + 6vh) calc(var(--v1) + 22px) 40px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;overflow:auto}
.painel[hidden]{display:none}
.painel ol{display:grid;gap:4px;counter-reset:p}
.painel li{border-top:1px solid rgba(233,231,226,.14);counter-increment:p}
.painel li a{display:flex;align-items:baseline;gap:18px;padding:14px 0 8px;font-size:clamp(52px,8vw,110px);transition:color .3s}
.painel li a::before{content:"0" counter(p);font:600 12px/1 var(--txt);letter-spacing:.14em;color:var(--a);min-width:2.4em}
.painel li a small{order:2;margin-left:auto;font:500 12px/1 var(--txt);letter-spacing:.16em;opacity:.55}
.painel li a:hover{color:var(--a)}
.painel>.btn{align-self:flex-start}
body.menu-on{overflow:hidden}

/* ---------- régua de andares da página (espinha) ---------- */
.regua-g{position:fixed;right:18px;top:21vh;height:58vh;width:44px;z-index:40;pointer-events:none;transition:opacity .5s var(--ease);color:var(--t)}
.regua-g.fora{opacity:0}
.regua-g.claro{color:var(--f)}
.rg-ticks i{position:absolute;right:0;width:7px;height:1px;background:currentColor;opacity:.42}
.rg-ticks i.l{width:14px;opacity:.7}
.rg-faixa{position:absolute;right:-6px;width:3px;background:var(--a);opacity:0;transition:opacity .4s,bottom .6s var(--ease),height .6s var(--ease)}
.regua-g.faixa .rg-faixa{opacity:1}
.rg-cab{position:absolute;right:0;bottom:0;height:1px;display:flex;align-items:center;gap:6px;transition:bottom .25s linear}
.rg-cab i{order:2;width:26px;height:2px;background:var(--a)}
.rg-cab b{font:800 18px/1 var(--tit);font-stretch:62%;color:var(--a);font-variant-numeric:tabular-nums;transform:translateY(-1px)}

/* ---------- HERO: visor de câmera ---------- */
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;background:#02396B;color:var(--t)}
.hero-foto{position:absolute;inset:0;overflow:hidden}
.hero-foto img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;
  transform:translate3d(0,calc(var(--dy,0px) + var(--py,0px)),0) scale(var(--hs,1.04));transform-origin:50% 0;filter:brightness(.8) saturate(1.06);will-change:transform}
.hero-foto img{--dy:68px}
@media (min-width:900px){.hero-foto img{width:128%;object-position:0 0}}
.hero-veu{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,#02396B 0,rgba(2,57,107,.0) 150px),
  linear-gradient(0deg,rgba(18,18,18,.94) 0,rgba(18,18,18,.55) 26%,rgba(18,18,18,0) 52%)}
.visor{position:absolute;inset:0;pointer-events:none;z-index:2}
.visor .gv{position:absolute;top:0;bottom:0;width:1px}
.visor .gv--r{top:var(--h1)}
.visor .gh{position:absolute;left:0;right:0;height:1px}
.visor .gv i,.visor .gh i{display:block;width:100%;height:100%;background:var(--rule);animation-play-state:paused}
.visor .gv i{transform-origin:50% 0;transform:scaleY(0);animation:ruleV 1.15s var(--ease) forwards}
.visor .gh i{transform-origin:0;transform:scaleX(0);animation:ruleH 1.15s var(--ease) forwards}
html.go .visor .gv i,html.go .visor .gh i,html.go .visor .gx span{animation-play-state:running}
@keyframes ruleV{to{transform:scaleY(1)}}@keyframes ruleH{to{transform:scaleX(1)}}
.visor .fill{position:absolute;left:var(--v1);top:var(--h2);height:1px;width:calc((var(--v2) - var(--v1)) * var(--fp,0));background:var(--a);margin-top:-0px}
.visor .gx{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px}
.visor .gx span{display:block;width:100%;height:100%;opacity:0;animation:cross .72s var(--ease) forwards;animation-play-state:paused}
.visor .gx svg{width:100%;height:100%;fill:var(--t);animation:shine 7s var(--ease) 2.4s infinite}
@keyframes cross{0%{opacity:0;transform:scale(2.6)}40%{opacity:1;transform:scale(.78)}62%{opacity:.15;transform:scale(1.14)}to{opacity:1;transform:scale(1)}}
@keyframes shine{0%,86%,to{opacity:.92;transform:scale(1) rotate(0)}90%{opacity:1;transform:scale(1.55) rotate(38deg)}94%{opacity:.8;transform:scale(.9) rotate(62deg)}97%{opacity:.96;transform:scale(1.06) rotate(90deg)}}
.canto{position:absolute;width:26px;height:26px;border:0 solid rgba(233,231,226,.85);opacity:0;transition:opacity .6s .9s,transform .9s var(--ease) .9s}
html.go .canto{opacity:1;transform:none}
.c1{left:calc(var(--v1) + 20px);top:calc(var(--h1) + 20px);border-width:1.5px 0 0 1.5px;transform:translate(-10px,-10px)}
.c2{right:calc(100% - var(--v2) + 20px);top:calc(var(--h1) + 20px);border-width:1.5px 1.5px 0 0;transform:translate(10px,-10px)}
.c3{left:calc(var(--v1) + 20px);top:calc(var(--h2) - 46px);border-width:0 0 1.5px 1.5px;transform:translate(-10px,10px)}
.c4{right:calc(100% - var(--v2) + 20px);top:calc(var(--h2) - 46px);border-width:0 1.5px 1.5px 0;transform:translate(10px,10px)}
.leitura{position:absolute;top:calc(var(--h1) + 27px);display:flex;align-items:center;gap:18px;font:600 10.5px/1 var(--txt);letter-spacing:.18em;text-transform:uppercase;
  font-variant-numeric:tabular-nums;color:rgba(233,231,226,.86);opacity:0;transition:opacity .6s 1.1s}
html.go .leitura{opacity:1}
.l-rec{left:calc(var(--v1) + 60px);gap:10px}
.l-rec b{font-weight:600}
.rec{width:8px;height:8px;border-radius:50%;background:var(--a);animation:pisca 1.2s steps(1) infinite}
@keyframes pisca{50%{opacity:.15}}
.l-cam{right:calc(100% - var(--v2) + 60px)}
.bat{display:inline-block;width:22px;height:10px;border:1px solid currentColor;border-radius:2px;position:relative;padding:1.5px}
.bat::after{content:"";position:absolute;right:-3px;top:2.5px;width:2px;height:3px;background:currentColor}
.bat i{display:block;width:72%;height:100%;background:currentColor}
.af{position:absolute;left:var(--afx,50%);top:var(--afy,30%);width:var(--afs,120px);height:var(--afs,120px);transform:translate(-50%,-50%) scale(1.5);opacity:0}
html.go .af{animation:trava 1.1s var(--ease) 1.5s forwards}
.af span{position:absolute;width:16px;height:16px;border:0 solid var(--a)}
.af span:nth-child(1){left:0;top:0;border-width:2px 0 0 2px}.af span:nth-child(2){right:0;top:0;border-width:2px 2px 0 0}
.af span:nth-child(3){left:0;bottom:0;border-width:0 0 2px 2px}.af span:nth-child(4){right:0;bottom:0;border-width:0 2px 2px 0}
.af b{position:absolute;left:0;top:calc(100% + 8px);font:600 10px/1 var(--txt);letter-spacing:.18em;color:var(--a);white-space:nowrap}
@keyframes trava{0%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}30%{opacity:1}55%{transform:translate(-50%,-50%) scale(.92)}70%{opacity:.4}78%{opacity:1}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.mira{position:absolute;left:50%;top:calc((var(--h1) + var(--h2)) / 2);width:18px;height:18px;margin:-9px 0 0 -9px;opacity:0;transition:opacity .6s 1.3s}
.mira::before,.mira::after{content:"";position:absolute;background:rgba(233,231,226,.55)}
.mira::before{left:8.5px;top:0;width:1px;height:100%}.mira::after{top:8.5px;left:0;height:1px;width:100%}
html.go .mira{opacity:1}

.hero-txt{position:absolute;z-index:3;left:calc(var(--v1) + 46px);bottom:calc(100% - var(--h2) + 48px);width:min(660px,52vw)}
.selo{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--txt);letter-spacing:.2em;text-transform:uppercase;opacity:0;transition:opacity .7s .5s}
.selo i{width:8px;height:8px;background:var(--a)}
.hero .tit{margin:20px 0 22px;font-size:clamp(68px,10.4vw,168px)}
.hero .tit .ln>i{transform:translateY(105%);transition:transform 1.2s var(--osmo)}
.hero .tit .ln:nth-child(2)>i{transition-delay:.09s}
.lead{max-width:30em;font-size:clamp(16px,1.25vw,19px);line-height:1.5;color:rgba(233,231,226,.88);opacity:0;transform:translateY(12px);transition:opacity .8s .55s,transform .9s var(--ease) .55s}
.acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;opacity:0;transform:translateY(12px);transition:opacity .8s .7s,transform .9s var(--ease) .7s}
html.go .selo,html.go .lead,html.go .acoes{opacity:1;transform:none}
html.go .hero .tit .ln>i{transform:none}
.ficha{position:absolute;z-index:3;top:var(--h2);left:var(--v1);right:calc(100% - var(--v2));height:calc(100% - var(--h2));display:flex;align-items:center;gap:clamp(24px,4vw,64px);padding:0 46px 0 150px;
  opacity:0;transition:opacity .8s .9s}
html.go .ficha{opacity:1}
.ficha dt{font:600 10px/1 var(--txt);letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-bottom:7px}
.ficha dd{font-size:26px;line-height:1}
.expo{order:-1;margin-right:auto;position:relative;display:flex;align-items:center;gap:10px;font:600 10px/1 var(--txt);letter-spacing:.06em;opacity:.8;font-variant-numeric:tabular-nums}
.expo i{display:flex;gap:6px}
.expo i::before,.expo i::after{content:"";width:2px;height:2px;background:currentColor;border-radius:50%}
.expo b{position:absolute;left:50%;top:-12px;width:2px;height:8px;margin-left:-1px;background:var(--a);animation:expo 6s var(--ease) 2s infinite}
@keyframes expo{0%,40%,to{transform:translateX(0)}50%{transform:translateX(-18px)}62%{transform:translateX(7px)}72%{transform:translateX(-2px)}}

/* ---------- ASSINATURA: placa alta com a régua de andares (SCROLL-PEAR-2) ---------- */
.subida{position:relative;height:650vh;background:var(--f)}
.palco{position:sticky;top:0;height:100svh;overflow:hidden}
.placa{position:absolute;left:0;top:0;width:var(--pw,100vw);height:var(--ph,134vw);transform:translate3d(var(--px,0px),var(--pty,0px),0);will-change:transform;
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 93%,transparent);mask-image:linear-gradient(180deg,#000 0,#000 93%,transparent)}
.placa img{width:100%;height:100%;filter:brightness(.8) saturate(1.05)}
.pr-regua{position:absolute;z-index:2;top:0;left:0;width:0;height:var(--ph,134vw);transform:translate3d(var(--rxs,60vw),var(--pty,0px),0);will-change:transform;pointer-events:none}
.tk{position:absolute;right:0;height:1px;width:10px;background:var(--t);margin-top:-.5px;box-shadow:0 0 3px rgba(5,10,20,.55)}
.tk.l{height:1.5px}
.tk-n{position:absolute;left:10px;margin-top:-6px;font:600 10px/1 var(--txt);letter-spacing:.12em;color:var(--t);opacity:.75;text-shadow:0 1px 6px rgba(5,10,20,.8);font-variant-numeric:tabular-nums}
.placa-veu{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(18,18,18,0) 46%,rgba(18,18,18,.82) 59%,#121212 67%),
  linear-gradient(180deg,rgba(18,18,18,.78) 0,rgba(18,18,18,0) 22%)}
.nivel{position:absolute;top:0;left:var(--nl,10%);width:var(--nw,40%);height:1px;transform:translateY(var(--ny,80vh));pointer-events:none;z-index:2}
.nivel i{position:absolute;inset:0;background:linear-gradient(90deg,rgba(232,93,42,0),var(--a) 30%)}
.nivel i::after{content:"";position:absolute;right:-4px;top:-4px;width:8px;height:8px;background:var(--a)}
.nivel b{position:absolute;left:calc(100% + 14px);top:-6px;font:600 11px/1 var(--txt);letter-spacing:.18em;text-transform:uppercase;color:var(--a);white-space:nowrap;font-variant-numeric:tabular-nums}

.sb-col{position:absolute;z-index:3;left:63%;right:calc(100% - var(--v2) + 22px);top:calc(var(--h1) + 4.5vh);bottom:6vh;display:flex;flex-direction:column}
.sb-h{font-size:clamp(30px,2.9vw,46px);margin-top:12px}
.contador{display:flex;align-items:flex-end;gap:14px;margin-top:3.2vh}
.ct-rot{font:600 11px/1 var(--txt);letter-spacing:.2em;text-transform:uppercase;opacity:.65;writing-mode:vertical-rl;transform:rotate(180deg);padding-bottom:6px}
.ct-num{font-size:clamp(84px,14vh,170px);color:var(--t);line-height:1}
.ct-de{font:600 11px/1 var(--txt);letter-spacing:.2em;text-transform:uppercase;opacity:.65;padding-bottom:12px}
.paradas{display:grid;margin-top:auto}
.pg{grid-area:1/1;display:flex;flex-direction:column;align-items:flex-start;gap:12px;visibility:hidden}
.pg.vis{visibility:visible}
.pg-chip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:4px;background:rgba(233,231,226,.1);font:600 10.5px/1 var(--txt);letter-spacing:.18em;text-transform:uppercase;color:var(--t)}
.pg-h{font-size:clamp(32px,3.4vw,54px);line-height:.9}
.pg-h .ln>i{white-space:nowrap;transform:translateX(115%)}
.pg-b{max-width:31em;font-size:15.5px;line-height:1.5;color:rgba(233,231,226,.8)}
.pg-f{position:relative;width:100%;height:clamp(140px,26vh,270px);margin-top:6px;overflow:hidden;border-radius:4px;background:var(--s2);clip-path:inset(100% 0 0 0)}
.pg-f img{width:100%;height:100%;object-fit:cover}
.pg-f figcaption{position:absolute;left:10px;bottom:10px;padding:6px 8px;border-radius:3px;background:rgba(18,18,18,.66);font:600 9.5px/1 var(--txt);letter-spacing:.16em;text-transform:uppercase;color:rgba(233,231,226,.85)}
.f-terreo img{object-position:56% 97%;transform:scale(2.15);transform-origin:56% 97%}
.pg-planta svg{width:100%;height:100%;padding:2% 2% 13%}
.sb-dica{position:absolute;left:50%;bottom:22px;z-index:3;transform:translateX(-50%);font:600 10.5px/1 var(--txt);letter-spacing:.22em;text-transform:uppercase;opacity:.7;display:flex;flex-direction:column;align-items:center;gap:10px}
.sb-dica::after{content:"";width:1px;height:28px;background:linear-gradient(var(--a),transparent);animation:dica 1.6s var(--ease) infinite}
@keyframes dica{0%{transform:scaleY(0);transform-origin:0 0}50%{transform:scaleY(1);transform-origin:0 0}51%{transform-origin:0 100%}to{transform:scaleY(0);transform-origin:0 100%}}

/* plantas desenhadas (escuro por padrão) */
svg [pathLength]{stroke-dasharray:1;stroke-dashoffset:var(--d,0);transition:stroke-dashoffset 1.3s var(--ease)}
.pw path{fill:none;stroke:var(--t);stroke-width:5;stroke-linecap:square}
.pm>*{fill:none;stroke:rgba(233,231,226,.55);stroke-width:1.3}
.pv path{fill:none;stroke:rgba(233,231,226,.5);stroke-width:1.3}
.pv .hach,.pa>*{fill:none;stroke:var(--a);stroke-width:1.4}
.pm>*{transition-delay:.25s}.pa>*,.pv .hach{transition-delay:.5s}
svg text{font:600 9px/1 var(--txt);letter-spacing:.12em;text-transform:uppercase;fill:rgba(233,231,226,.66);transition:opacity .6s .8s}
svg text.ta{fill:var(--a)}
.pg-planta:not(.on) svg *{--d:1;transition-duration:.01s;transition-delay:0s}
.pg-planta svg text{font-size:13px}
.pg-planta:not(.on) text{opacity:0;transition-delay:0s}

/* ---------- TIPOLOGIAS (SECAO-DLC-2) ---------- */
.tipos{position:relative;background:var(--t);color:var(--f);padding:clamp(90px,11vw,160px) 0 clamp(80px,9vw,140px)}
.tit-2{font-size:clamp(50px,7.4vw,118px)}
.tp-cab{display:grid;grid-template-columns:1.25fr 1fr;gap:20px clamp(24px,5vw,80px);align-items:end}
.tp-cab .rot{grid-column:1/-1}
.tp-quem{display:grid;grid-template-columns:1fr 1fr;gap:28px;font-size:15.5px;line-height:1.5;color:rgba(18,18,18,.78)}
.tp-quem b{display:block;margin-bottom:6px;font:800 24px/1 var(--tit);font-stretch:62%;text-transform:uppercase;color:var(--f)}
.tp-grade{display:grid;grid-template-columns:minmax(0,1fr) clamp(150px,15vw,210px);gap:22px;margin-top:clamp(44px,6vw,80px);align-items:start}
.tp-vis{position:relative;aspect-ratio:16/10;border-radius:4px;background:var(--claro2);overflow:hidden}
.tp-pl{position:absolute;inset:0;padding:5% 6% 9%;opacity:0;transition:opacity .35s ease-out}
.tp-pl.on{opacity:1}
.tp-pl svg{width:100%;height:100%}
.tipos .pw path{stroke:var(--f)}
.tipos .pm>*,.tipos .pv path:not(.hach){stroke:rgba(18,18,18,.5)}
.tipos svg text{fill:rgba(18,18,18,.62)}
.tipos svg text.ta{fill:var(--a)}
.tipos:not(.vis) svg *,.tp-pl:not(.on) svg *{--d:1;transition:stroke-dashoffset 0s .35s}
.tipos:not(.vis) svg text{opacity:0}
.tp-selo{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px 0 10px;border-radius:3px;background:rgba(18,18,18,.82);color:var(--t);
  font:600 11px/1 var(--txt);letter-spacing:.14em;text-transform:uppercase}
.tp-selo svg{width:10px;height:14px;fill:none;stroke:var(--a);stroke-width:1.4}
.tp-ilu{position:absolute;right:16px;bottom:24px;font:600 10px/1 var(--txt);letter-spacing:.16em;text-transform:uppercase;opacity:.5}
.tp-info{display:grid;grid-template-columns:auto 1fr;gap:6px 28px;align-items:end;margin-top:22px;transition:opacity .35s ease-out}
.tp-info.troca{opacity:0}
.tp-nome{grid-row:span 2;font-size:clamp(48px,5.4vw,80px)}
.tp-dest{font-size:17px;font-weight:500}
.stats{display:flex;flex-wrap:wrap;gap:8px 20px}
.stats li{display:flex;align-items:center;gap:7px;font-size:13px;line-height:1;white-space:nowrap;color:rgba(18,18,18,.75)}
.stats svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.2}
.tp-minis{position:sticky;top:calc(var(--h1) + 24px);display:flex;flex-direction:column;gap:12px}
.tp-mini{position:relative;aspect-ratio:1;width:100%;padding:0;border:0;border-radius:4px;background:var(--claro2);cursor:pointer;text-align:left;transition:opacity .4s,background-color .3s}
.tp-mini:hover{background:#d2cec6}
.tp-mini[aria-selected=true]{opacity:.4;cursor:default}
.tp-n{position:absolute;left:12px;top:12px;font:800 22px/1 var(--tit);font-stretch:62%}
.tp-m{position:absolute;inset:34px 12px 46px}
.tp-m svg{width:100%;height:100%}
.tp-m svg *{--d:0 !important;transition:none !important}
.tp-m text{display:none}
.tp-t{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;align-items:baseline;gap:6px;font:600 11px/1 var(--txt);letter-spacing:.12em;text-transform:uppercase}
.tp-t small{font-size:11px;opacity:.6;letter-spacing:.06em}

/* ---------- SIMULADOR (FORM-TWOMUCH-1) ---------- */
.simula{background:var(--f);padding:clamp(90px,11vw,160px) 0}
.sim-cab{display:grid;grid-template-columns:1.25fr 1fr;gap:20px clamp(24px,5vw,80px);align-items:end}
.sim-cab .rot{grid-column:1/-1}
.sim-txt{max-width:28em;font-size:16px;color:rgba(233,231,226,.78)}
.sim{margin-top:clamp(40px,5vw,64px);border-top:1px solid rgba(233,231,226,.16);padding-top:30px}
.sim-base{display:flex;align-items:baseline;gap:14px;margin-bottom:22px;font:600 12px/1 var(--txt);letter-spacing:.18em;text-transform:uppercase}
.sim-base span{opacity:.7}
.sim-base b{font-size:44px;letter-spacing:0;color:var(--t)}
.barra{display:flex;height:66px;margin-top:10px}
.br-rot{flex:0 0 clamp(110px,12vw,170px);display:flex;align-items:center;padding:0 16px;background:var(--a);color:var(--f);font:600 12.5px/1 var(--txt);letter-spacing:.16em;text-transform:uppercase}
.br-trilho{position:relative;flex:1;display:flex;background:var(--s);cursor:ew-resize}
.br-trilho:focus-within{outline:2px solid var(--t);outline-offset:2px}
.br-fill{position:relative;z-index:2;display:flex;height:100%;width:calc(var(--p,.33) * (100% - 128px) + 128px);justify-content:flex-end;align-items:center;padding:0 16px;
  background:var(--a);color:var(--f);pointer-events:none;box-shadow:-32px 0 0 var(--a)}
.br-fill::after{content:"";position:absolute;right:0;top:0;width:2px;height:100%;background:var(--f);transition:width .3s}
.br-trilho:hover .br-fill::after{width:3px}
.br-fill b{font-size:32px;line-height:1;white-space:nowrap}
.br-trilho input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.br-val{flex:0 0 clamp(130px,14vw,200px);display:flex;align-items:center;justify-content:flex-end;padding:0 18px;background:var(--s2);font-size:28px;font-variant-numeric:tabular-nums}
.sim-res{display:grid;grid-template-columns:1fr 1.35fr auto;gap:24px 40px;align-items:end;margin-top:44px}
.res-rot{display:block;margin-bottom:12px;font:600 11px/1.3 var(--txt);letter-spacing:.18em;text-transform:uppercase;opacity:.65}
.res-num{display:flex;align-items:flex-end;gap:10px;font-size:clamp(50px,5.6vw,84px);line-height:1}
.res-num small{font:600 13px/1 var(--txt);letter-spacing:.08em;opacity:.6;padding-bottom:.6em;text-transform:none}
.res-num.grande{font-size:clamp(72px,9vw,136px);color:var(--a)}
.sim-nota{margin-top:26px;font-size:13px;line-height:1.5;opacity:.55;max-width:60em}

/* rolo de dígitos (TXT-JESPER-2) */
.rolo{display:inline-flex;align-items:flex-start;line-height:1;height:1em;overflow:hidden;font-variant-numeric:tabular-nums}
.rl{display:inline-flex}
.dg{display:inline-block;height:1em;overflow:hidden}
.dg-s{display:flex;flex-direction:column;will-change:transform}
.dg-s span,.ch{display:block;height:1em;line-height:1em;text-align:center}

/* ---------- NÚMEROS ---------- */
.numeros{background:var(--a);color:var(--f);padding:clamp(70px,9vw,130px) 0}
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px}
.nums li{display:flex;flex-direction:column;gap:14px;border-top:2px solid var(--f);padding-top:18px}
.n-big{display:inline-flex;align-items:flex-end;font-size:clamp(110px,16.5vw,270px);line-height:1}
.n-big .rolo{font-size:1em}
.n-un{font-size:.36em;line-height:1;margin:0 0 .1em .1em}
.n-rot{font:600 14px/1 var(--txt);letter-spacing:.18em;text-transform:uppercase}
.n-pe{margin-top:36px;font-size:15px;font-weight:500}

/* ---------- DÚVIDAS (SECAO-PEAR-1) ---------- */
.duvidas{position:relative;z-index:2;height:340vh;background:var(--f);border-radius:0 0 var(--r-cta) var(--r-cta);overflow:clip}
.dv-palco{position:sticky;top:0;height:100svh;overflow:hidden}
.dv-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:brightness(.5) saturate(.95);transform:scale(var(--fs,1.04))}
.dv-veu{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,18,18,.85) 0,rgba(18,18,18,.1) 34%,rgba(18,18,18,.1) 70%,rgba(18,18,18,.7) 100%)}
.dv-cab{position:absolute;z-index:4;left:calc(var(--v1) + 22px);top:calc(var(--h1) + 4vh)}
.dv-cab .tit-2{margin-top:12px;font-size:clamp(46px,6vw,96px)}
.faq{position:absolute;inset:0;z-index:3;pointer-events:none;perspective:1500px;perspective-origin:50% 50%}
.faq-lead{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;filter:drop-shadow(0 0 3px rgba(8,10,14,.6))}
.faq-lead line{stroke:var(--t);stroke-width:1}
.faq-lead rect{fill:var(--t)}
.faq-lead circle{fill:var(--a)}
.fq{--cw:268px;--ch:334px;position:absolute;left:50%;top:56%;width:var(--cw);height:var(--ch);color:var(--t);transform-style:preserve-3d;backface-visibility:hidden;will-change:transform;
  background:rgba(18,18,18,.5);text-shadow:0 1px 12px rgba(10,10,10,.6)}
.fq .fr{position:absolute;inset:6.5px;border:1px solid rgba(233,231,226,.2)}
.fq .st{position:absolute;width:12.5px;height:12.5px;transform:scale(0);transition:transform .52s var(--ease)}
.fq.on .st{transform:scale(1)}.fq.on .st.b{transition-delay:.1s}
.fq .st.a{top:0;left:0}.fq .st.b{bottom:0;right:0}
.fq .st svg{width:100%;height:100%;fill:var(--a);animation:shine 7s var(--ease) infinite}
.fq .st.b svg{animation-delay:3.5s}
.fq:not(.on) .st svg{animation-play-state:paused}
.fq-n{position:absolute;top:26px;left:28px;font:600 11px/1 var(--txt);letter-spacing:.18em;color:var(--a)}
.fq h3{position:absolute;top:52px;left:28px;right:28px;font-size:36px;line-height:.92}
.fq p{position:absolute;left:28px;right:28px;bottom:32px;font-size:14.5px;line-height:1.48;opacity:0;transition:opacity .45s}
.fq.on p{opacity:1}
.faq.out .fq,.faq.out .faq-lead{-webkit-mask-image:radial-gradient(circle,#000 var(--go,80%),transparent calc(var(--go,80%) + 7%));mask-image:radial-gradient(circle,#000 var(--go,80%),transparent calc(var(--go,80%) + 7%));
  -webkit-mask-size:5px 5px;mask-size:5px 5px}

/* ---------- CHAMADA FINAL (CTA-SOLARE-1) ---------- */
.fim{position:relative;z-index:1;margin-top:calc(-1 * var(--r-cta));min-height:max(100svh,62vw);display:flex;align-items:center;overflow:hidden;background:#071a33}
.fim-foto{position:absolute;inset:0}
.fim-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;filter:brightness(var(--lz,.3)) saturate(var(--sz,.45));transform:scale(var(--fz,1.08))}
.fim::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,20,.78) 0,rgba(10,12,20,.35) 48%,rgba(10,12,20,0) 70%);pointer-events:none}
.fim-txt{position:relative;z-index:2;width:min(1320px,100% - 2*var(--gut));margin-inline:auto;padding:calc(var(--r-cta) + 6vh) 0}
.tit-fim{margin:18px 0 34px;font-size:clamp(70px,9.4vw,164px);line-height:.86}
.tit-fim>span{display:block}
.fim .rot span{color:var(--a)}

/* ---------- RODAPÉ (sobe sobre a foto) ---------- */
.rodape{position:relative;z-index:2;margin-top:calc(-1 * var(--r-cta));background:var(--t);color:var(--f);border-radius:var(--r-cta) var(--r-cta) 0 0;padding:calc(var(--r-cta) * .55 + 30px) 0 96px}
.rodape .wrap{display:grid;grid-template-columns:1fr auto;gap:40px 60px;align-items:start}
.rd-marca{display:flex;align-items:center;gap:16px;font-size:15px;line-height:1.35}
.rd-marca svg{width:40px;height:38px;overflow:visible}
.rd-marca path{fill:none;stroke:var(--f);stroke-width:9;stroke-linejoin:round}
.rd-marca path.laje{stroke:var(--a)}
.rd-marca b{font:800 22px/1 var(--tit);font-stretch:62%;text-transform:uppercase}
.rd-nav{display:flex;flex-wrap:wrap;gap:10px 28px;font:600 12px/1 var(--txt);letter-spacing:.14em;text-transform:uppercase}
.rd-nav a{padding:6px 0;border-bottom:1px solid transparent;transition:border-color .3s}
.rd-nav a:hover{border-color:var(--a)}
.rd-legal{grid-column:1/-1;display:grid;gap:6px;padding-top:28px;border-top:1px solid rgba(18,18,18,.16);font-size:13px;color:rgba(18,18,18,.66)}

/* ---------- celular e tablet ---------- */
@media (max-width:1100px){
  .tp-cab,.sim-cab{grid-template-columns:1fr}
  .sim-res{grid-template-columns:1fr 1fr}
  .sim-res .btn{grid-column:1/-1;justify-self:start}
}
@media (max-width:899px){
  :root{--h1:62px;--v1:4.75%;--v2:95.25%;--h2:calc(100% - 78px);--r-cta:3rem}
  .topo{gap:14px;padding:0 calc(var(--v1) + 4px)}
  .btn-topo{display:none}
  .marca span{font-size:21px}
  .hud-andar b{font-size:24px}
  .regua-g{right:5px;width:16px;top:24vh;height:52vh}
  .rg-ticks i{width:4px}.rg-ticks i.l{width:8px}
  .rg-cab b{display:none}.rg-cab i{width:12px}
  .rg-faixa{right:-3px}
  .hero{min-height:600px}
  .hero-foto img{object-position:50% 0%}
  .visor .gv,.visor .gx{display:none}
  .canto{width:18px;height:18px}
  .c1,.c3{left:calc(var(--v1) + 2px)}.c2,.c4{right:calc(100% - var(--v2) + 2px)}
  .c1,.c2{top:calc(var(--h1) + 12px)}
  .c3,.c4{top:calc(var(--h2) - 30px)}
  .leitura{top:calc(var(--h1) + 18px);gap:12px;font-size:9.5px}
  .l-rec{left:calc(var(--v1) + 30px)}.l-cam{right:calc(100% - var(--v2) + 30px)}
  .l-cam .so-d,.l-cam span:nth-child(3),.l-cam span:nth-child(4){display:none}
  .mira{display:none}
  .hero-txt{left:var(--v1);right:calc(100% - var(--v2));width:auto;bottom:calc(100% - var(--h2) + 26px)}
  .hero .tit{font-size:clamp(64px,20vw,96px);margin:14px 0 14px}
  .lead{font-size:15.5px}
  .acoes{margin-top:20px}
  .btn{height:48px;font-size:12px;gap:12px}
  .btn .seta{width:34px}
  .ficha{left:var(--v1);right:calc(100% - var(--v2));padding:0 0 0 118px;gap:16px;justify-content:flex-end}
  .ficha dd{font-size:16px;white-space:nowrap}
  .ficha{gap:14px}
  .ficha dt{font-size:9px}
  .expo{display:none}

  .subida{height:620vh}
  .placa-veu{background:linear-gradient(0deg,#121212 0,#121212 36%,rgba(18,18,18,.6) 50%,rgba(18,18,18,0) 62%),linear-gradient(180deg,rgba(18,18,18,.85) 0,rgba(18,18,18,0) 30%)}
  .sb-col{left:var(--v1);right:calc(100% - var(--v2) + 24px);top:calc(var(--h1) + 18px);bottom:calc(env(safe-area-inset-bottom) + 62px)}
  .sb-topo .rot{font-size:10.5px}
  .sb-h{font-size:28px;margin-top:8px}
  .contador{margin-top:12px;gap:10px}
  .ct-num{font-size:clamp(70px,11vh,104px)}
  .ct-rot,.ct-de{font-size:9.5px}
  .pg{gap:9px}
  .pg-h{font-size:clamp(32px,9.6vw,40px)}
  .pg-b{font-size:14.5px}
  .pg-f{height:clamp(120px,19vh,200px);margin-top:2px}
  .nivel b{left:auto;right:calc(100% + 10px);top:-14px}
  .sb-dica{display:none}
  .tk-n{display:none}
  .wrap{width:calc(100% - 42px);margin-left:16px}

  .tp-grade{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .tp-palco{display:contents}
  .tp-vis{order:1;aspect-ratio:4/3}
  .tp-pl{padding:4% 3% 15%}
  .tp-minis{order:2;position:static;flex-direction:row;gap:8px}
  .tp-mini{flex:1 1 0;width:auto;min-width:0}
  .tp-info{order:3;grid-template-columns:1fr;margin-top:14px}
  .tp-nome{grid-row:auto}
  .tp-quem{grid-template-columns:1fr;gap:18px}
  .tp-n{font-size:18px;left:9px;top:9px}
  .tp-m{inset:28px 8px 30px}
  .tp-t{left:9px;right:9px;bottom:9px;font-size:9px;letter-spacing:.06em}
  .tp-t small{display:none}
  .tp-selo{left:10px;bottom:10px;height:26px;font-size:10px}
  .tp-ilu{display:none}

  .barra{flex-wrap:wrap;height:auto}
  .br-rot{flex:1 0 50%;height:40px}
  .br-val{flex:1 0 50%;height:40px;font-size:22px}
  .br-trilho{order:3;flex:1 0 100%;height:60px}
  .br-fill{box-shadow:none;width:calc(var(--p,.33) * (100% - 112px) + 112px)}
  .br-fill b{font-size:28px}
  .sim-base b{font-size:36px}
  .sim-res{grid-template-columns:1fr;gap:26px}
  .res-num.grande{font-size:clamp(76px,24vw,110px)}

  .nums{grid-template-columns:1fr;gap:26px}
  .nums li{flex-direction:row;align-items:flex-end;justify-content:space-between}
  .n-big{font-size:clamp(96px,30vw,150px)}
  .n-rot{padding-bottom:14px;text-align:right}

  .duvidas{height:360vh}
  .dv-foto{object-position:74% 50%}
  .dv-cab{left:var(--v1);top:calc(var(--h1) + 22px)}
  .dv-cab .tit-2{font-size:44px}
  .fq{--cw:232px;--ch:296px}
  .fq h3{font-size:30px;left:22px;right:22px;top:46px}
  .fq p{left:22px;right:22px;bottom:26px;font-size:14px}
  .fq-n{left:22px;top:22px}

  .fim{min-height:100svh;align-items:flex-end}
  .fim::after{background:linear-gradient(0deg,rgba(10,12,20,.88) 0,rgba(10,12,20,.4) 46%,rgba(10,12,20,0) 70%)}
  .fim-foto img{object-position:50% 40%}
  .fim-txt{padding:0 0 calc(var(--r-cta) + 40px)}
  .tit-fim{font-size:clamp(54px,16vw,88px);margin:14px 0 26px}

  .rodape{padding:64px 0 100px}
  .rodape .wrap{grid-template-columns:1fr}
  .rd-nav{gap:10px 20px}
}
@media (max-width:380px){
  .hud-andar span{display:none}
}

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;animation-delay:0s !important;transition-duration:.01ms !important;transition-delay:0s !important}
  .visor .gv i{transform:scaleY(1)}.visor .gh i{transform:scaleX(1)}
  .visor .gx span,.marca,.hud-andar,.btn-topo,.menu,.af{opacity:1;transform:translate(-50%,-50%)}
  .marca,.hud-andar,.btn-topo,.menu{transform:none}
  .marca path{stroke-dashoffset:0}
  .visor .gx span{transform:none}
  .sb-dica::after,.rec{animation:none}
}
