/* fontes servidas pelo próprio site (Geist e Inter, licença OFL, só os caracteres latinos): sem esperar o Google Fonts */
@font-face{font-family:'Geist';font-style:normal;font-weight:100 700;font-display:swap;src:url(../assets/fonts/geist-latin.woff2?v=19f9c925) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 500;font-display:swap;src:url(../assets/fonts/inter-latin.woff2?v=3100e775) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Alura Locações, versão clara: céu azul para pêssego, cinza-azulado, marinho, grafite (referência: zetta-joule.com) */
:root{
  --sky:#628AD1; --peach:#FFF0E2; --duck:#EEF3F7; --navy:#3D5E86; --grey:#5E5C58; --dark:#1B1B1B; --dark-2:#262626; --line:#D3DCE6; --btn:#DCE6F6;
  --m:clamp(20px,2.8vw,40px); --pad:clamp(72px,8vw,120px); --ease:cubic-bezier(.16,1,.3,1); --expo:cubic-bezier(.16,1,.3,1); --p4:cubic-bezier(.165,.84,.44,1); --io2:cubic-bezier(.65,0,.35,1);
  --geist:'Geist',Arial,sans-serif; --inter:'Inter',Arial,sans-serif;
}
*{box-sizing:border-box}
html{background:#fff;overflow-x:clip}
body{margin:0;font-family:var(--inter);font-size:18px;line-height:1.38;color:#000;-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,p,figure,dl,dd{margin:0}
a{color:inherit;text-decoration:none}
img,canvas{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;z-index:90;background:#000;color:#fff;padding:10px 16px}.skip:focus{left:8px}

/* grade de 12 colunas, como na referência */
.row{display:grid;grid-template-columns:repeat(12,1fr);column-gap:20px;padding:0 var(--m);align-items:start}
.label{grid-column:1/4;font:500 16px/1.2 var(--inter);letter-spacing:-.01em}
.label.light{color:#fff}
.col-wide{grid-column:5/13}
.col-side{grid-column:8/13}
.h3{grid-column:1/7;font:250 clamp(42px,4.6vw,72px)/1 var(--geist);letter-spacing:-.03em}
.big{font:250 clamp(28px,3vw,46px)/1.14 var(--geist);letter-spacing:-.03em;max-width:22em}
.navy{color:var(--navy)}
.mid{font:250 clamp(22px,2.1vw,30px)/1.2 var(--geist);letter-spacing:-.01em;color:var(--grey)}
.fine{font-size:14px;opacity:.7}
@media (max-width:899px){.row{grid-template-columns:1fr;row-gap:24px}.label,.col-wide,.col-side,.h3{grid-column:1/-1}}

/* botão: quadrado com seta + caixa de texto que rola no hover */
.btn{display:inline-flex;gap:4px;margin-top:28px;height:48px}
.btn .ico{width:48px;display:grid;place-items:center;background:var(--btn);color:var(--navy);border-radius:4px;font-size:18px;transition:background .35s,color .35s}
.btn .txt{display:flex;align-items:center;overflow:hidden;padding:0 16px;background:#fff;border:1px solid #E3E8EE;border-radius:4px;font:500 17px/48px var(--inter);letter-spacing:-.02em;color:#000;transition:background .35s,color .35s,border-color .35s}
.btn .txt b{display:block;font-weight:500;text-shadow:0 48px 0 currentColor;transition:transform .5s var(--ease)}
.btn:hover .txt{background:var(--sky);border-color:var(--sky);color:#fff}.btn:hover .ico{background:var(--navy);color:#fff}
.btn:hover .txt b{transform:translateY(-48px)}
.btn:active{transform:scale(.98)}

/* barra do topo */
.nav{position:fixed;inset:0 0 auto;z-index:50;height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--m);color:#fff;transition:background .35s,color .35s}
.nav.solid{background:#fff;color:#000}
.brand{display:flex;align-items:center;gap:10px;font:500 24px/1 var(--geist);letter-spacing:-.04em}
.brand i{font-style:normal;font-weight:300;opacity:.75}
@media (max-width:420px){.brand i{display:none}}
.brand svg{width:34px;height:34px}
.nav-links{display:flex;gap:28px;font-size:16px}
.nav-links a{opacity:.9;transition:opacity .2s}.nav-links a:hover{opacity:.6}
.nav-cta{justify-self:end;background:var(--btn);color:#000;border-radius:4px;padding:12px 16px;font-size:16px;transition:background .25s,color .25s}
.nav-cta:hover{background:var(--sky);color:#fff}
@media (max-width:899px){.nav{grid-template-columns:1fr auto}.nav-links{display:none}}

/* início */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;background:linear-gradient(180deg,var(--sky),var(--peach));color:#fff}
.hero-title{will-change:transform;position:absolute;inset:clamp(110px,15vh,150px) var(--m) auto;z-index:1;display:flex;flex-direction:column;font:250 clamp(64px,13.6vw,210px)/1 var(--geist);letter-spacing:-.03em}
.hero-title .l2{align-self:flex-end}
#turn{position:absolute;max-width:none;left:55%;top:calc(clamp(110px,15vh,150px) + clamp(64px,13.6vw,210px));height:130vh;width:auto;aspect-ratio:1;translate:-50% 0;z-index:2;will-change:transform}
.hero-sub{position:absolute;left:var(--m);bottom:clamp(28px,6vh,56px);z-index:3;max-width:400px;padding-left:16px;border-left:1px solid rgba(94,92,88,.55);font:250 clamp(20px,2vw,30px)/1.2 var(--geist);letter-spacing:-.01em;color:var(--grey)}
@media (max-width:899px){.hero-title{inset:104px var(--m) auto;font-size:clamp(56px,17vw,96px)}.hero-title .l2{align-self:flex-start}#turn{left:50%;top:max(330px,40vh);height:76vh}.hero-sub{top:calc(112px + 2.1 * clamp(56px,17vw,96px));bottom:auto;max-width:290px;font-size:20px}}

/* apresentação */
.intro{padding:var(--pad) 0}
.intro .row+.row{margin-top:var(--pad)}
.row-media .mid{grid-column:1/4}
.media{border-radius:4px;overflow:hidden;background:linear-gradient(165deg,#C9D7F0,#FFF0E2)}
.media img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:899px){.row-media .mid{grid-column:1/-1}}

/* definição */
.define{position:relative;height:250vh;margin-top:calc(var(--pad) * -.4)}
.define-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.define-left{position:absolute;left:var(--m);top:16vh;width:calc((100% - 2 * var(--m)) * .25 - 15px)}
.define-panel{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#24395a 0%,var(--navy) 35%,var(--sky) 80%,#a9bfe8 100%);clip-path:inset(16vh var(--m) 16vh 34% round 4px);will-change:clip-path}
.define-img{position:absolute;max-width:none;left:50%;top:5%;height:100%;width:auto;aspect-ratio:1;translate:-50% 0;transform-origin:50% 30%;will-change:transform}
.define-panel::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(10,18,32,.55))}
.define-text{position:absolute;inset:auto var(--m) clamp(28px,6vh,56px);z-index:2;display:grid;grid-template-columns:repeat(12,1fr);column-gap:20px;color:#fff;align-items:end;opacity:0;transform:translateY(24px)}
.define-word{grid-column:1/4;display:flex;flex-direction:column;gap:6px;font:500 18px/1.2 var(--inter)}
.define-word span{font-weight:300;opacity:.85}
.define-big{grid-column:6/13;font:250 clamp(28px,3.2vw,50px)/1.12 var(--geist);letter-spacing:-.03em}
@media (max-width:899px){.define-text{grid-template-columns:1fr;row-gap:16px}.define-word,.define-big{grid-column:1/-1}.define-left{width:auto;right:var(--m);top:12vh}.define-panel{clip-path:inset(34vh var(--m) 10vh var(--m) round 4px)}}

/* tecnologia */
.tech{background:var(--duck);padding:var(--pad) 0}
.tech .col-side p{color:var(--navy)}.tech .col-side p+p{margin-top:16px}
.wide-media{position:relative;margin:calc(var(--pad) * .75) var(--m);border-radius:4px;overflow:hidden;background:linear-gradient(160deg,#cdd9ee,#f6efe7)}
.wide-media img{width:100%;height:min(86vh,820px);object-fit:cover;object-position:50% 0;will-change:transform}
.card-dark{position:absolute;left:32px;bottom:32px;width:min(440px,calc(100% - 64px));background:var(--dark);color:#fff;padding:28px;border-radius:4px}
.card-dark h3{display:flex;align-items:center;gap:10px;font:500 19px/1.2 var(--inter)}
.card-dark i{width:8px;height:8px;background:#fff}
.card-dark p{margin-top:12px;font-size:17px;line-height:1.38;color:#cfcfcf}
.tech .label{color:var(--navy)}

/* anatomia */
.anat{background:var(--duck);height:280vh;color:var(--navy)}
.anat-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
#explode{position:absolute;left:50%;top:55%;height:min(80vh,820px);width:auto;aspect-ratio:1;translate:-50% -50%;will-change:transform}
.callout{position:absolute;z-index:3;width:min(380px,27vw);opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.callout.show{opacity:1;transform:none}
.callout h3{font:400 clamp(22px,2vw,28px)/1.15 var(--geist);letter-spacing:-.01em;padding-bottom:14px;border-bottom:1px solid #C5D0DC}
.callout p{margin-top:14px;line-height:1.38}
.k1{left:var(--m);top:30%}.k2{right:var(--m);top:30%}.k3{left:var(--m);top:64%}.k4{right:var(--m);top:64%}
@media (max-width:899px){#explode{top:44%;height:min(70vh,92vw)}.callout{left:var(--m);right:var(--m);top:auto;bottom:28px;width:auto;background:var(--duck)}.callout.show:not(.cur){opacity:0}}

/* seções escuras */
.dark{background:var(--dark);color:#fff}
.depth{padding:var(--pad) 0 calc(var(--pad) * .6)}
.depth .col-side{color:rgba(255,255,255,.85)}
.tabs{display:flex;gap:36px;margin:56px var(--m) 0;border-bottom:1px solid #333}
.tabs button{font:400 18px/1 var(--inter);color:rgba(255,255,255,.55);background:none;border:0;padding:0 0 16px;cursor:pointer;border-bottom:1px solid transparent;margin-bottom:-1px;transition:color .25s,border-color .25s}
.tabs button[aria-selected="true"]{color:#fff;border-bottom-color:#fff}
.tabs button:hover{color:#fff}
.bars{margin:40px var(--m) 0;display:grid;gap:8px}
.bar{position:relative;height:54px}
.bar::before{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--v) / 14 * 100% * var(--k,0));background:var(--dark-2);transition:width 1.8s var(--ease),background .4s}
.bar::after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--v) / 14 * 100% * var(--k,0));width:2px;background:rgba(255,255,255,.55);transition:left 1.8s var(--ease)}
.bar.on::before{background:var(--sky)}.bar.on::after{background:#fff}
.bar span{position:relative;z-index:1;display:block;padding:0 14px;font:400 17px/54px var(--inter);white-space:nowrap}
.bars.grow .bar{--k:1}
.axis{display:flex;justify-content:space-between;margin-top:12px;font:14px/1 var(--inter);color:rgba(255,255,255,.5)}
.tab-note{margin:32px var(--m) 0;max-width:36em;font:250 clamp(22px,2.1vw,30px)/1.2 var(--geist);letter-spacing:-.01em;color:rgba(255,255,255,.88)}

/* por área */
.areas{padding:calc(var(--pad) * .6) 0 var(--pad)}
.areas .big{color:#fff}
.cards{display:flex;gap:16px;margin-top:56px;padding:0 var(--m);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.cards::-webkit-scrollbar{display:none}
.acard{flex:0 0 min(420px,84vw);scroll-snap-align:start;display:flex;flex-direction:column;gap:10px}
.acard-txt{background:var(--dark-2);border-radius:4px;padding:28px 32px;display:flex;flex-direction:column;gap:14px;flex-grow:1;transition:background .3s}.acard:hover .acard-txt{background:#2e2e2e}
.acard .tag{font-size:15px;color:rgba(255,255,255,.7)}
.acard h3{font:300 clamp(32px,2.8vw,40px)/1.05 var(--geist);letter-spacing:-.03em}
.acard p{color:rgba(255,255,255,.72);font-size:18px}
.acard .mm{margin-top:10px;font:250 clamp(34px,3vw,44px)/1 var(--geist);letter-spacing:-.03em;color:#9DB8EA}
.cards-nav{display:flex;align-items:center;gap:8px;margin:24px var(--m) 0}
.cards-nav button{width:48px;height:48px;border-radius:4px;border:0;background:var(--dark-2);color:#fff;font-size:18px;cursor:pointer;transition:background .25s}
.cards-nav button:hover{background:var(--sky)}
.cards-nav .fine{margin-left:16px}

/* serviço */
.service{padding:var(--pad) 0}
.service .col-side p{color:var(--grey)}
.steps{list-style:none;margin:64px var(--m) 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.steps li{border-top:1px solid #E3E8EE;padding-top:20px}
.steps h3{font:300 clamp(30px,2.8vw,40px)/1 var(--geist);letter-spacing:-.03em}
.steps p{margin-top:14px;color:var(--grey);max-width:20rem}
@media (max-width:899px){.steps{grid-template-columns:1fr 1fr;gap:40px 20px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* alugar */
.rent{background:var(--duck);padding:var(--pad) 0}
.rent .label{color:var(--navy)}
.figure{font:250 clamp(56px,8vw,120px)/1 var(--geist);letter-spacing:-.04em;color:var(--navy)}
.rent .mid{margin-top:24px;max-width:30em}

/* ficha */
.spec{padding:var(--pad) 0}
.spec table{width:100%;border-collapse:collapse}
.spec th,.spec td{text-align:left;padding:15px 0;border-bottom:1px solid #E3E8EE;vertical-align:top}
.spec th{font-weight:400;color:var(--grey);width:42%;padding-right:20px}
.spec tr:first-child th,.spec tr:first-child td{border-top:1px solid #E3E8EE}

/* dúvidas */
.faq{background:var(--duck);padding:var(--pad) 0;color:var(--navy)}
.faq .h3{color:#000}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #C5D0DC;font:300 clamp(22px,2vw,28px)/1.2 var(--geist);letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:250;font-size:26px;line-height:.9;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:16px 0 24px;max-width:38rem;line-height:1.42}

/* reserva */
.cta{padding:var(--pad) var(--m);display:grid;grid-template-columns:repeat(12,1fr);column-gap:20px;align-items:end}
.cta-title{grid-column:1/9;font:250 clamp(56px,8.4vw,128px)/1 var(--geist);letter-spacing:-.04em}
.cta-side{grid-column:9/13}
.cta-side p{color:rgba(255,255,255,.82);font:250 clamp(22px,2vw,28px)/1.2 var(--geist);letter-spacing:-.01em}
@media (max-width:899px){.cta{grid-template-columns:1fr;row-gap:32px}.cta-title,.cta-side{grid-column:1/-1}}

/* rodapé */
.foot{background:#000;color:#fff;padding:80px var(--m) 32px}
.foot-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.foot-mark{display:flex;align-items:center;gap:.06em;font:250 clamp(88px,17vw,260px)/.85 var(--geist);letter-spacing:-.06em;margin-left:-.04em}
.foot-mark svg{width:.78em;height:.78em;flex:none}
.foot-top nav{display:grid;gap:10px;font-size:17px}
.foot-top nav a{color:rgba(255,255,255,.7)}.foot-top nav a:hover{color:#fff}
.foot-row{margin-top:56px;padding-top:20px;border-top:1px solid #222;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 32px;font-size:14px;color:rgba(255,255,255,.5)}

/* entradas: palavras sobem da máscara, blocos aparecem, imagens abrem de baixo */
.js .split{visibility:hidden}.js .split.ready{visibility:visible}
.js .split .ln{display:block}
.js .split .li{display:inline-block;opacity:0;transform:translate3d(0,var(--y,44px),0);transition:transform 2s var(--p4),opacity 2s var(--p4)}
.js .split.para .li{--y:52px;transition-timing-function:var(--expo)}
.js .split.in .li{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translate3d(0,32px,0);transition:opacity 1.6s var(--p4),transform 1.6s var(--p4)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal-img{clip-path:inset(24% 0 0 0);transition:clip-path 2.4s var(--expo)}
.js .reveal-img img{scale:1.25;transition:scale 3.2s var(--expo)}
.js .reveal-img.in{clip-path:inset(0 0 0 0)}.js .reveal-img.in img{scale:1}

/* sem animação */
.reduce .split .w>i,.reduce .reveal,.reduce .reveal-img,.reduce .reveal-img img{transform:none!important;opacity:1!important;clip-path:none!important;transition:none!important}

.reduce .anat{height:auto}.reduce .anat-sticky{position:relative;height:auto;min-height:100svh}
.reduce .callout{opacity:1;transform:none}
.reduce .define{height:auto;margin-top:0}.reduce .define-sticky{position:relative}.reduce .define-left{position:static;width:auto;padding:0 var(--m) 48px}.reduce .define-panel{position:relative;height:100svh;clip-path:none}.reduce .define-text{opacity:1;transform:none}
.reduce .bars .bar{--k:1}
/* ---- camada de movimento (calibrada pela referência) ---- */
/* abertura: grade de blocos que recolhe em faixas alternadas; o ícone entra e sai */
.loader{display:none;position:fixed;inset:0;z-index:200;flex-direction:column;pointer-events:none}
.loading .loader{display:flex}
.loader-grid{position:absolute;inset:0;display:flex;flex-direction:column}
.loader-row{flex:1;display:flex;margin-top:-1px}
.loader-block{flex:1;margin-left:-1px;background:#24395a;transition:transform .8s var(--io2);will-change:transform}
.loader.out .loader-block{transform:scaleX(0)}
.loader-icon{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;overflow:hidden;color:#fff}
.loader-icon svg{display:block;width:100%;height:100%;transform:translateY(-105%);transition:transform 1s var(--expo)}
.loader.icon-in .loader-icon svg{transform:none}
.loader.icon-out .loader-icon svg{transform:translateY(105%);transition:transform .8s cubic-bezier(.7,0,.84,0)}
.hero::before{content:"";position:absolute;inset:0;z-index:4;background:#24395a;opacity:0;pointer-events:none;transition:opacity 1.2s ease-in-out}
.loading .hero::before{opacity:1}
/* entrada do início */
.hero-title .l1,.hero-title .l2{display:block;transition:transform 1.6s var(--p4),opacity 1.6s var(--p4)}
.hero-title .l2{transition-delay:.07s}
.pre .hero-title .l1,.pre .hero-title .l2{opacity:0;transform:translate3d(0,64px,0)}
#turn{transition:opacity 1.4s var(--expo),scale 2.2s var(--expo),translate 2.2s var(--expo)}
.pre #turn{opacity:0;scale:1.06;translate:-50% 90px}
.hero-sub{transition:opacity 1.2s var(--p4) .35s,translate 1.2s var(--p4) .35s}
.pre .hero-sub{opacity:0;translate:0 20px}
.nav{transition:background .35s,color .35s,translate .8s var(--expo)}
.loading .nav,.pre .nav{translate:0 -105%}
/* persiana entre seções de cores diferentes (altura = respiro de baixo da seção, para não cobrir texto) */
.has-shutter{position:relative}
.shutter{position:absolute;left:0;right:0;bottom:0;height:var(--pad);z-index:10;pointer-events:none;overflow:hidden;display:flex;flex-direction:column}
.shutter-row{flex:1;display:flex;margin-top:-1px}
.shutter-block{flex:1;margin-left:-1px;transform:scaleX(0);will-change:transform}
.shutter-row.l .shutter-block{transform-origin:100% 50%}.shutter-row.r .shutter-block{transform-origin:0 50%}
/* pontos em movimento no fundo da reserva (como o rodapé da referência) */
.cta{position:relative;overflow:hidden}
.cta-dots{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.cta>*:not(.cta-dots){position:relative;z-index:1}
/* cartões e barras entram em sequência */
.js .acard{opacity:0;transform:translate3d(0,56px,0);transition:opacity 1.6s var(--p4),transform 1.6s var(--p4),background .3s}
.js .cards.in .acard{opacity:1;transform:none}
.bar::before,.bar::after{transition-delay:calc(var(--i,0) * 110ms)}
.reduce .split{visibility:visible}.reduce .split .li,.reduce .acard{opacity:1!important;transform:none!important}
.reduce .shutter{display:none}/* números da apresentação */
.stats{list-style:none;margin:calc(var(--pad) * .8) var(--m) 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stats li{border-top:1px solid #E3E8EE;padding-top:22px;display:grid;gap:12px;align-content:start}
.stats b{font:250 clamp(52px,5.6vw,88px)/1 var(--geist);letter-spacing:-.04em;color:var(--navy)}
.stats span{color:var(--grey);max-width:15rem}
@media (max-width:899px){.stats{grid-template-columns:1fr 1fr;gap:36px 20px}}
/* vantagens da locação */
.perks{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.perks li{border-top:1px solid #C5D0DC;padding-top:18px;display:grid;gap:10px;align-content:start}
.perks b{font:400 clamp(20px,1.7vw,24px)/1.15 var(--geist);letter-spacing:-.02em;color:var(--navy)}
.perks span{color:var(--grey)}
@media (max-width:899px){.perks{grid-template-columns:1fr}}
/* depoimentos */
.quotes{padding:var(--pad) 0}
.quotes .label{color:var(--navy)}
.quote{margin:0}
.quote::before{content:"\201C";display:block;height:.5em;margin-bottom:.12em;font:250 clamp(96px,10vw,160px)/1 var(--geist);color:var(--sky)}
.quote blockquote{margin:0;max-width:20em}
.quote figcaption{display:flex;align-items:center;gap:16px;margin-top:40px}
.quote .avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--btn);color:var(--navy);font:300 24px/1 var(--geist)}
.quote figcaption b{display:block;font:500 19px/1.2 var(--inter)}
.quote figcaption span span{display:block;margin-top:4px;color:var(--grey);font-size:16px}/* anatomia: vista aberta em regiões que flutuam (mesmo fundo #EEF3F7 da imagem) */
.anat-stage img{position:absolute;max-width:none;height:auto;will-change:transform,opacity}
/* reorganização (2026-10-21): comercial no topo, ficha no fim; no celular o max-width global achatava as fotos */
.hero-cta{position:absolute;right:var(--m);bottom:clamp(28px,6vh,56px);z-index:3;margin:0;transition:opacity 1.2s var(--p4) .45s,translate 1.2s var(--p4) .45s}
.pre .hero-cta{opacity:0;translate:0 20px}
@media (max-width:899px){.hero-cta{display:none}}
.kit{margin-top:calc(var(--pad) * .7)}
.kit-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.kit-list li,.why-list li{border-top:1px solid #E3E8EE;padding-top:16px;display:grid;gap:8px;align-content:start}
.kit-list b,.why-list b{font:400 clamp(20px,1.7vw,24px)/1.15 var(--geist);letter-spacing:-.02em;color:var(--navy)}
.kit-list span,.why-list span{color:var(--grey)}
@media (max-width:520px){.kit-list{grid-template-columns:1fr}}
.buy{padding:var(--pad) 0;color:#fff;background-color:var(--navy);background-image:linear-gradient(135deg,#34527a 0%,var(--navy) 45%,#5579bd 100%)}   /* azul da marca: o preto parecia fim de site */
.buy .col-side p{color:rgba(255,255,255,.9)}
.buy .perks{margin:56px var(--m) 0;grid-template-columns:repeat(4,1fr)}
.buy .perks li{border-top-color:rgba(255,255,255,.28)}.buy .perks b{color:#fff}.buy .perks span{color:rgba(255,255,255,.84)}
@media (max-width:899px){.buy .perks{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.buy .perks{grid-template-columns:1fr}}
.why{padding:var(--pad) 0}
.why .row+.row{margin-top:calc(var(--pad) * .7)}
.why-list{grid-column:1/-1;list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}   /* itens lado a lado embaixo do título: seção mais curta */
.rent .btn{margin-top:32px}
/* WhatsApp fixo durante toda a rolagem */
.wa-float{position:fixed;right:var(--m);bottom:24px;z-index:60;display:flex;align-items:center;height:56px;padding:0 16px;border-radius:28px;background:#13804A;color:#fff;font:500 15px/1 var(--inter);box-shadow:0 8px 22px rgba(19,60,40,.25);transition:translate .8s var(--expo),background .25s}
.wa-float svg{width:24px;height:24px;flex:none}
.wa-float span{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .45s var(--ease),margin .45s var(--ease),opacity .3s}
.wa-float:hover span,.wa-float:focus-visible span{max-width:240px;margin-right:10px;opacity:1}   /* parado é só o ícone; no mouse a frase abre para a esquerda */
.wa-float:hover{background:#0F6B3D}
.loading .wa-float,.pre .wa-float{translate:0 160%}
@media (max-width:520px){.wa-float{right:16px;bottom:16px;height:52px;padding:0 14px}}
/* seções presas ganham um respiro embaixo: a persiana cobre esse respiro, e não as legendas */
.define,.anat{padding-bottom:var(--pad)}
.reduce .define,.reduce .anat{padding-bottom:0}
/* ficha técnica recolhida: só o título e um "+ Saiba mais" */
.spec-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:12px;padding:6px 0;font:400 18px/1 var(--inter);color:var(--navy)}
.spec-more summary::-webkit-details-marker{display:none}
.spec-more .plus{width:34px;height:34px;display:grid;place-items:center;border:1px solid #C5D0DC;border-radius:4px;font:300 22px/1 var(--geist);transition:transform .35s var(--ease),background .25s}
.spec-more summary:hover .plus{background:var(--btn)}
.spec-more[open] .plus{transform:rotate(45deg)}
.spec-more table{margin-top:24px;animation:abrir .5s var(--ease)}
@keyframes abrir{from{opacity:0;transform:translateY(8px)}}.spec{padding-bottom:calc(var(--pad) * 1.4)}   /* fechada, a ficha é curta: a persiana não encosta no título */

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}   /* texto para leitor de tela */
/* títulos de seção no mesmo tamanho (antes eram etiquetas pequenas): o conteúdo vem na linha de baixo */
.t-sec{margin-bottom:32px}
@media (max-width:899px){.t-sec{margin-bottom:4px}}
/* rodapé: marca da Alura de outra cidade ao lado, em branco e discreta */
.foot-marcas{display:flex;align-items:center;gap:clamp(24px,3vw,48px);flex-wrap:wrap}   /* as duas marcas na mesma linha central */
.foot-parceira{width:clamp(180px,18vw,300px);height:auto;opacity:.85;padding-left:clamp(24px,3vw,48px);border-left:1px solid #333}
.foot-marcas .foot-mark{font-size:clamp(72px,12vw,190px)}
/* antes e depois: a foto de depois embaixo, a de antes por cima recortada até a régua; o mouse (ou o dedo arrastando) move a régua */
.ba{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--dark-2);touch-action:pan-y;cursor:ew-resize;user-select:none}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba .ba-antes{clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba-linha{position:absolute;top:0;bottom:0;left:var(--p);width:2px;margin-left:-1px;background:#fff;pointer-events:none}
.ba-linha::after{content:"‹ ›";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font:500 16px/1 var(--inter);letter-spacing:2px}
.ba-tag{position:absolute;top:12px;left:12px;padding:5px 9px;border-radius:4px;background:rgba(27,27,27,.72);color:#fff;font:500 13px/1 var(--inter);pointer-events:none}
.ba-tag.ba-dep{left:auto;right:12px}
.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize}
.ba-range:focus-visible+*,.ba:has(.ba-range:focus-visible){outline:2px solid var(--sky);outline-offset:3px}
.ba-vazio{display:grid;place-items:center;cursor:default;border:1px dashed #3a3a3a;background:transparent}
.ba-vazio p{color:rgba(255,255,255,.55);font-size:15px}.ba.volta .ba-antes{transition:clip-path .5s var(--ease)}.ba.volta .ba-linha{transition:left .5s var(--ease)}
