/* ==========================================================================
   Legados — site institucional
   Identidade idêntica ao sistema interno (dist-demo/legados-demo.html)
   ========================================================================== */
/* Cormorant: instâncias estáticas 500/600 (subset latin) */
@font-face{font-family:'Cormorant Garamond';src:url(../fonts/cormorant-garamond-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(../fonts/cormorant-garamond-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Inter';src:url(../fonts/inter.woff2) format('woff2');font-weight:100 900;font-display:swap}

:root{
  /* primitivos (iguais ao sistema) */
  --marinho:#03132D; --marinho-2:#0D2347; --marinho-3:#1B335C;
  --ouro:#D9A520; --ouro-claro:#F3D36B; --ouro-escuro:#A87B12;
  --prata:#C9CDD3; --prata-claro:#EDEFF2; --prata-escuro:#7C8596;
  --verde:#1F7A4D; --verde-claro:#7FD6A0; --verm:#FF9A9A;

  /* semânticos */
  --bg:var(--marinho);
  --bg-2:#071a3a;
  --surface:rgba(13,35,71,.55);
  --line:rgba(201,205,211,.14);
  --line-gold:rgba(217,165,32,.38);
  --text:#F4F5F7;
  --text-2:var(--prata);
  --text-3:#8D96A8;            /* 5.9:1 sobre --marinho */
  --gold-grad:linear-gradient(135deg,var(--ouro-claro) 0%,var(--ouro) 48%,var(--ouro-escuro) 100%);

  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  --fs-h1:clamp(3rem,1.55rem + 6.2vw,7.25rem);
  --fs-h2:clamp(2.35rem,1.6rem + 3.3vw,4.75rem);
  --fs-h3:clamp(1.55rem,1.3rem + 1vw,2.15rem);
  --fs-lead:clamp(1.05rem,.98rem + .35vw,1.3rem);
  --fs-body:1rem;
  --fs-sm:.875rem;
  --fs-xs:.75rem;

  --gutter:clamp(20px,5vw,64px);
  --sa-l:env(safe-area-inset-left,0px); --sa-r:env(safe-area-inset-right,0px);
  --sa-t:env(safe-area-inset-top,0px);  --sa-b:env(safe-area-inset-bottom,0px);
  --header-h:72px;
  --sec-y:clamp(88px,4.5rem + 5vw,168px);
  --radius:14px;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--sa-t))}
@media (prefers-reduced-motion:no-preference){html:not(.lenis){scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--text);font:400 var(--fs-body)/1.6 var(--sans);
  -webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums;-moz-osx-font-smoothing:grayscale;overflow-x:clip;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
h1,h2,h3,h4,p,figure,blockquote,ol,ul{margin:0}
ol,ul{padding:0;list-style:none}
address{font-style:normal}
em{font-style:normal}
::selection{background:var(--ouro);color:var(--marinho)}
:focus-visible{outline:2px solid var(--ouro-claro);outline-offset:3px;border-radius:4px}

.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ouro);color:var(--marinho);padding:12px 16px;border-radius:8px;font-weight:600}
.skip:focus{top:calc(12px + var(--sa-t))}

.container{width:100%;max-width:1320px;margin-inline:auto;
  padding-left:max(var(--gutter),calc(var(--sa-l) + 16px));padding-right:max(var(--gutter),calc(var(--sa-r) + 16px))}
.muted{color:var(--text-3)}

/* ---------- tipografia ---------- */
.eyebrow{display:flex;align-items:center;gap:12px;font:600 var(--fs-xs)/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ouro)}
.eyebrow--silver{color:var(--text-2)}
.eyebrow--center{justify-content:center}
.eyebrow__n{color:var(--text-3);font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:12px}
.eyebrow__n::after{content:"";width:28px;height:1px;background:var(--line-gold)}
.title,.hero__title,.cta__title,.features__title{font-family:var(--serif);font-weight:600;letter-spacing:-.012em;color:var(--text)}
.title{font-size:var(--fs-h2);line-height:1.02;text-wrap:balance}
.title em,.hero__title em,.cta__title em,.features__title em{color:var(--ouro);background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--text-2);max-width:38ch}
.lead--center{margin-inline:auto;text-align:center}

/* ---------- botões ---------- */
.btn{--h:48px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--h);padding:0 24px;
  border-radius:999px;font:600 .9375rem/1 var(--sans);letter-spacing:.01em;white-space:nowrap;isolation:isolate;overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-color .35s,color .35s,border-color .35s}
.btn--sm{--h:44px;padding:0 18px;font-size:.875rem}
.btn--lg{--h:56px;padding:0 28px;font-size:1rem}
.btn--xl{--h:clamp(64px,4rem + 1.5vw,84px);padding:0 clamp(28px,2rem + 2vw,52px);font-size:clamp(1.05rem,1rem + .5vw,1.35rem);gap:14px}
.btn--gold{background:var(--gold-grad);color:var(--marinho);box-shadow:0 10px 30px -12px rgba(217,165,32,.55),inset 0 1px 0 rgba(255,255,255,.35)}
.btn--gold::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn--ghost{color:var(--text);border:1px solid rgba(201,205,211,.38);background:rgba(3,19,45,.25)}
.btn:active{transform:scale(.97)}
.btn--ghost:active{background:rgba(201,205,211,.12)}
@media (hover:hover){
  .btn--gold:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(217,165,32,.7),inset 0 1px 0 rgba(255,255,255,.35)}
  .btn--gold:hover::after{transform:translateX(120%)}
  .btn--ghost:hover{border-color:var(--ouro);color:var(--ouro-claro)}
}
.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;flex:none}
.btn--xl .ico{width:26px;height:26px}
.ico .fill,.wa-float .fill{fill:currentColor;stroke:none}

/* ==========================================================================
   PRELOADER
   ========================================================================== */
.preloader{display:none}
.is-loading .preloader{display:grid}
.preloader{position:fixed;inset:0;z-index:300;place-items:center;background:var(--marinho);
  padding:var(--sa-t) var(--sa-r) var(--sa-b) var(--sa-l)}
.preloader::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 45% at 50% 45%,rgba(27,51,92,.7),transparent 70%)}
.preloader__inner{position:relative;width:min(300px,72vw);display:grid;gap:22px}
.preloader__logo{width:min(220px,56vw);margin-inline:auto}
.preloader__meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font:500 .6875rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--text-2)}
.preloader__msg{transition:opacity .25s}
.preloader__count{font:600 1.25rem/1 var(--serif);letter-spacing:0;color:var(--ouro);font-variant-numeric:lining-nums tabular-nums}
.preloader__bar{height:1px;background:var(--line)}
.preloader__bar span{display:block;height:100%;background:var(--gold-grad);transform-origin:left;transform:scaleX(var(--p,0))}
.is-loading body{overflow:hidden}

/* ==========================================================================
   HEADER
   ========================================================================== */
.header{position:fixed;inset:0 0 auto;z-index:100;padding-top:var(--sa-t);transition:background-color .45s,backdrop-filter .45s,box-shadow .45s}
.header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line-gold),transparent);opacity:0;transition:opacity .45s}
.header__bar{display:flex;align-items:center;gap:24px;height:var(--header-h);transition:height .45s var(--ease)}
.header__logo{display:flex;align-items:center;min-height:44px;margin-right:auto}
.header__logo img{width:clamp(148px,8rem + 3vw,184px);transition:width .45s var(--ease)}
.nav{display:none;gap:4px}
.nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font:500 .9375rem/1 var(--sans);color:var(--text-2);transition:color .3s}
.nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:8px;height:1px;background:var(--ouro);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav a:active{color:var(--text)}
@media (hover:hover){.nav a:hover{color:var(--text)}.nav a:hover::after{transform:scaleX(1);transform-origin:left}}
.header__cta{display:none}
.is-scrolled .header{background:rgba(3,19,45,.72);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}
.is-scrolled .header::after{opacity:1}
.is-scrolled .header__bar{height:60px}
.is-scrolled .header__logo img{width:clamp(136px,7.5rem + 2vw,160px)}

.burger{position:relative;width:48px;height:48px;margin-right:-8px;display:grid;place-content:center;gap:7px;border-radius:50%}
.burger span{display:block;width:24px;height:1.5px;background:var(--text);transition:transform .45s var(--ease),width .45s var(--ease)}
.burger span:last-child{width:16px;justify-self:end}
.burger:active{background:rgba(201,205,211,.1)}
.menu-open .burger span:first-child{transform:translateY(4.25px) rotate(45deg)}
.menu-open .burger span:last-child{width:24px;transform:translateY(-4.25px) rotate(-45deg)}

@media (min-width:960px){
  .nav,.header__cta{display:flex}
  .burger{display:none}
  .header__bar{gap:32px}
}

/* menu mobile fullscreen */
.menu{position:fixed;inset:0;z-index:90;background:var(--marinho);overflow-y:auto;overscroll-behavior:contain;
  padding-top:calc(var(--header-h) + var(--sa-t) + 24px);padding-bottom:calc(32px + var(--sa-b));
  clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .7s var(--ease),visibility 0s .7s}
.menu[hidden]{display:block}
.menu::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(80% 50% at 100% 0%,rgba(27,51,92,.8),transparent 70%)}
.menu-open .menu{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .7s var(--ease),visibility 0s}
.menu__inner{position:relative;min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.menu__nav{display:grid}
.menu__nav a{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);
  font:600 clamp(2.25rem,1.5rem + 5vw,3.5rem)/1.05 var(--serif);color:var(--text);
  opacity:0;transform:translateY(24px);transition:opacity .5s,transform .7s var(--ease)}
.menu__nav a span{font:500 var(--fs-xs)/1 var(--sans);letter-spacing:.2em;color:var(--ouro)}
.menu__nav a:active{color:var(--ouro-claro)}
.menu-open .menu__nav a{opacity:1;transform:none}
.menu-open .menu__nav a:nth-child(1){transition-delay:.18s}
.menu-open .menu__nav a:nth-child(2){transition-delay:.24s}
.menu-open .menu__nav a:nth-child(3){transition-delay:.30s}
.menu-open .menu__nav a:nth-child(4){transition-delay:.36s}
.menu__foot{display:grid;gap:12px;opacity:0;transition:opacity .5s .4s}
.menu-open .menu__foot{opacity:1}
.menu-open body{overflow:hidden}
@media (min-width:960px){.menu{display:none!important}}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;align-items:center;overflow:hidden;isolation:isolate;
  padding:calc(var(--header-h) + var(--sa-t) + 40px) 0 calc(112px + var(--sa-b));
  background:radial-gradient(90% 70% at 85% 40%,rgba(13,35,71,.9) 0%,rgba(13,35,71,0) 70%),linear-gradient(180deg,#03132D 0%,#041733 60%,#03132D 100%)}
.hero__art{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero__glow{position:absolute;width:80vmax;height:80vmax;right:-30vmax;top:50%;translate:0 -50%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(217,165,32,.07),rgba(217,165,32,.02) 55%,transparent)}
.hero__grid{position:absolute;inset:0;width:100%;height:100%}
.hero__orbit{position:absolute;width:min(1100px,150vw);aspect-ratio:1;right:-38vw;top:50%;translate:0 -46%;opacity:.9;will-change:transform}
.hero__orbit .draw{vector-effect:non-scaling-stroke}
.hero__art>svg{-webkit-mask-image:linear-gradient(100deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.18) 38%,#000 72%);mask-image:linear-gradient(100deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.18) 38%,#000 72%)}
@media (max-width:767px){.hero__orbit{top:auto;bottom:-6%;translate:0 0;opacity:.55}}
@media (min-width:768px){.hero__orbit{right:-22vw;width:min(1100px,110vw)}}
@media (min-width:1200px){.hero__orbit{right:-8vw;width:min(1000px,72vw)}}
.hero__content{position:relative}
.hero__eyebrow{margin-bottom:clamp(20px,2vw,32px)}
.dot{width:6px;height:6px;border-radius:50%;background:var(--ouro);box-shadow:0 0 0 4px rgba(217,165,32,.16)}
.hero__title{font-size:var(--fs-h1);line-height:.98}
.hero__title .line{display:block}
.hero__title .line>span{display:inline-block}
.hero__lead{margin-top:clamp(22px,2.2vw,36px);font-size:var(--fs-lead);color:var(--text-2);max-width:44ch}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,3vw,44px)}
@media (max-width:479px){.hero__ctas .btn{flex:1 1 100%}}

.scroll-cue{position:absolute;left:50%;bottom:calc(24px + var(--sa-b));translate:-50% 0;display:grid;justify-items:center;gap:10px;min-width:44px;padding:6px 10px}
.scroll-cue__label{font:500 .6875rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--text-3)}
.scroll-cue__line{position:relative;width:1px;height:44px;background:var(--line);overflow:hidden}
.scroll-cue__line span{position:absolute;inset:0;background:var(--ouro);transform:translateY(-100%)}
@media (prefers-reduced-motion:no-preference){.scroll-cue__line span{animation:cue 2.2s var(--ease) infinite}}
@keyframes cue{0%{transform:translateY(-100%)}55%{transform:translateY(0)}100%{transform:translateY(100%)}}

/* ==========================================================================
   NÚMEROS
   ========================================================================== */
.stats{position:relative;border-block:1px solid var(--line);background:linear-gradient(180deg,rgba(13,35,71,.35),rgba(3,19,45,0))}
.stats__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.stat{padding:clamp(32px,4vw,56px) clamp(4px,1.5vw,24px);position:relative}
.stat:nth-child(odd)::after,.stat:nth-child(-n+2)::before{content:"";position:absolute;background:var(--line)}
.stat:nth-child(odd)::after{right:0;top:24px;bottom:24px;width:1px}
.stat:nth-child(-n+2)::before{left:0;right:0;bottom:0;height:1px}
.stat:nth-child(even){padding-left:clamp(20px,4vw,40px)}
.stat__num{display:flex;align-items:baseline;gap:6px;font:600 clamp(3rem,2rem + 4.2vw,5.5rem)/1 var(--serif);color:var(--text);font-variant-numeric:lining-nums tabular-nums}
.stat__suf{font-size:.42em;color:var(--ouro);letter-spacing:.02em}
.stat__label{margin-top:12px;font-size:var(--fs-sm);color:var(--text-2);max-width:20ch}
@media (min-width:900px){
  .stats__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .stat:nth-child(-n+2)::before{display:none}
  .stat::after{content:"";position:absolute;right:0;top:28px;bottom:28px;width:1px;background:var(--line)}
  .stat:last-child::after{display:none}
  .stat:not(:first-child){padding-left:clamp(20px,2.5vw,40px)}
}

/* ==========================================================================
   SEÇÕES
   ========================================================================== */
.section{position:relative;padding-block:var(--sec-y)}
.sec-head{display:grid;gap:24px 64px;margin-bottom:clamp(56px,6vw,96px)}
.sec-head .title{max-width:15ch}
@media (min-width:1024px){
  .sec-head{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:end}
  .sec-head .eyebrow{grid-column:1/-1}
  .sec-head__side{padding-bottom:10px}
}

/* --- Gestão: serviços --- */
.servicos{display:grid;border-top:1px solid var(--line)}
.servico{display:grid;grid-template-columns:44px 1fr;gap:4px 16px;padding:24px 0;border-bottom:1px solid var(--line)}
.servico__n{grid-row:span 2;font:600 1.25rem/1.4 var(--serif);color:var(--ouro);font-style:italic;font-variant-numeric:lining-nums}
.servico h3{font:600 var(--fs-h3)/1.15 var(--serif);color:var(--text)}
.servico p{color:var(--text-2);font-size:.9375rem;max-width:52ch}
@media (min-width:768px){
  .servico{grid-template-columns:72px minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:32px;padding:30px 0}
  .servico__n{grid-row:auto}
}

/* --- Gestão: recursos do sistema interno (estado base, sem JS = lista) --- */
.features{position:relative;margin-top:var(--sec-y)}
.features::before{content:"";position:absolute;inset:-10% 0 auto;height:120%;pointer-events:none;
  background:radial-gradient(50% 40% at 70% 50%,rgba(27,51,92,.55),transparent 70%)}
.features__stage{position:relative;display:grid;gap:56px}
.features__title{font-size:clamp(2rem,1.5rem + 2.4vw,3.5rem);line-height:1.04;margin-top:16px;max-width:14ch}
.features__progress{display:none}
.features__note{font-size:var(--fs-xs);color:var(--text-3);letter-spacing:.04em}
.feature{display:grid;gap:28px;align-items:center}
.feature__n{font:600 var(--fs-xs)/1 var(--sans);letter-spacing:.2em;color:var(--ouro)}
.feature h3{margin:12px 0 12px;font:600 clamp(1.75rem,1.4rem + 1.6vw,2.75rem)/1.06 var(--serif);color:var(--text)}
.feature p{color:var(--text-2);max-width:42ch}
@media (min-width:860px){.feature{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px}}

/* tela mock (estilizada como o sistema interno) */
.feature__screen{position:relative;border-radius:18px;padding:44px 18px 18px;background:linear-gradient(160deg,#0D2347,#071a3a);
  border:1px solid rgba(201,205,211,.16);box-shadow:0 40px 80px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.06)}
.feature__screen::before{content:"";position:absolute;left:18px;top:18px;width:42px;height:8px;
  background:radial-gradient(circle,#7C8596 3px,transparent 3.5px) 0 0/14px 8px repeat-x;opacity:.6}
.scr{display:grid;gap:14px;font-size:.8125rem;color:var(--text-2);aspect-ratio:auto}
.scr__h{font:600 .6875rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}
.scr__boleto{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-radius:12px;
  background:linear-gradient(135deg,rgba(217,165,32,.16),rgba(217,165,32,.03));border:1px solid var(--line-gold)}
.scr__boleto>div{display:grid;gap:4px}
.scr__boleto strong{font:600 1.75rem/1.1 var(--serif);color:var(--text);font-variant-numeric:lining-nums}
.scr__boleto small,.scr small{font-size:.75rem;color:var(--text-3)}
.scr__rows{display:grid}
.scr__rows li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line)}
.scr__rows li:last-child{border-bottom:0}
.scr__rows b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.scr__rows--fin .pos{color:var(--verde-claro)}
.scr__rows--fin .neg{color:var(--verm)}
.chip{flex:none;font:600 .6875rem/1 var(--sans);padding:6px 10px;border-radius:999px;letter-spacing:.02em}
.chip--ok{background:rgba(31,122,77,.22);color:var(--verde-claro)}
.chip--wait{background:rgba(201,205,211,.12);color:var(--prata)}
.chip--warn{background:rgba(217,165,32,.16);color:var(--ouro-claro)}
.scr__chat{display:grid;gap:8px;padding:14px;border-radius:12px;background:rgba(3,19,45,.6)}
.bubble{max-width:86%;padding:10px 12px;border-radius:4px 12px 12px 12px;background:#1B335C;color:var(--text);line-height:1.45}
.bubble--link{color:var(--ouro-claro);text-decoration:underline;text-underline-offset:3px}
.bubble--me{justify-self:end;border-radius:12px 4px 12px 12px;background:rgba(31,122,77,.35)}
.scr__steps{display:flex;justify-content:space-between;gap:8px;position:relative;padding-top:18px}
.scr__steps::before{content:"";position:absolute;left:6px;right:6px;top:5px;height:1px;background:var(--line)}
.scr__steps li{position:relative;font-size:.75rem;color:var(--text-3)}
.scr__steps li::before{content:"";position:absolute;left:0;top:-17px;width:11px;height:11px;border-radius:50%;background:var(--marinho-3);border:1px solid var(--prata-escuro)}
.scr__steps li.on{color:var(--text-2)}
.scr__steps li.on::before{background:var(--ouro);border-color:var(--ouro)}
.scr__bars{display:flex;align-items:flex-end;gap:8px;height:120px;padding:10px 4px 0;border-bottom:1px solid var(--line)}
.scr__bars i{flex:1;height:100%;border-radius:4px 4px 0 0;background:linear-gradient(180deg,rgba(201,205,211,.35),rgba(201,205,211,.08));transform-origin:bottom;transform:scaleY(var(--h))}
.scr__bars i.on{background:var(--gold-grad)}
.scr__btn{justify-self:start;padding:10px 16px;border-radius:999px;background:var(--gold-grad);color:var(--marinho);font-weight:600;font-size:.8125rem}
.scr__calc{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:18px;border-radius:12px;background:rgba(3,19,45,.6);border:1px solid var(--line)}
.scr__calc>div{display:grid;gap:4px}
.scr__calc span{font:600 1.375rem/1.1 var(--serif);color:var(--text);font-variant-numeric:lining-nums}
.scr__calc .gold{color:var(--ouro-claro)}
.scr__calc .arrow{color:var(--ouro);font-size:1.25rem}
.scr__files{display:grid;gap:8px}
.scr__files li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;border-radius:10px;background:rgba(3,19,45,.55);border:1px solid var(--line)}
.scr__files i{font:700 .625rem/1 var(--sans);font-style:normal;letter-spacing:.06em;padding:8px 6px;border-radius:6px;background:rgba(217,165,32,.16);color:var(--ouro-claro)}
.scr__files span{color:var(--text)}

/* --- Reformas --- */
.reformas__lines{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.reformas__lines::before{content:"";position:absolute;left:-10%;right:-10%;top:12%;height:1px;background:linear-gradient(90deg,transparent,var(--line-gold),transparent);transform:rotate(-4deg)}
.cards{display:grid;gap:16px}
@media (min-width:700px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards .card:last-child{grid-column:1/-1}}
@media (min-width:1100px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.cards .card:last-child{grid-column:auto}}
.card{position:relative;display:grid;align-content:start;gap:14px;padding:clamp(28px,3vw,40px);border-radius:var(--radius);
  background:linear-gradient(170deg,rgba(13,35,71,.75),rgba(3,19,45,.4));border:1px solid var(--line);overflow:hidden;transition:border-color .45s,transform .6s var(--ease)}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--ouro),transparent);opacity:.55}
.card__ico{width:48px;height:48px;fill:none;stroke:var(--ouro);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:10px}
.card h3{font:600 var(--fs-h3)/1.12 var(--serif);color:var(--text);max-width:18ch}
.card p{color:var(--text-2);font-size:.9375rem}
@media (hover:hover){.card:hover{border-color:var(--line-gold);transform:translateY(-4px)}}

.antes-depois{margin-top:clamp(64px,7vw,112px);display:grid;gap:24px}
.ad__grid{display:grid;gap:24px}
@media (min-width:900px){.ad__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ad{display:grid;gap:14px}
.ad__pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:var(--radius);overflow:hidden}
.ph{position:relative;aspect-ratio:4/3;display:grid;place-items:end start;padding:14px;
  background:repeating-linear-gradient(135deg,rgba(201,205,211,.05) 0 1px,transparent 1px 14px),linear-gradient(160deg,#0D2347,#071a3a)}
.ph--after{background:repeating-linear-gradient(135deg,rgba(217,165,32,.08) 0 1px,transparent 1px 14px),linear-gradient(160deg,#1B335C,#0D2347)}
.ph span{font:600 .6875rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:7px 10px;border-radius:999px;background:rgba(3,19,45,.75);color:var(--text-2)}
.ph--after span{color:var(--ouro-claro)}
.ad figcaption{font:600 1.25rem/1.2 var(--serif);color:var(--text);font-variant-numeric:lining-nums}
.ad figcaption small{font:400 .8125rem var(--sans);color:var(--text-3)}

/* --- Como funciona --- */
.como{background:linear-gradient(180deg,transparent,rgba(13,35,71,.35) 30%,rgba(13,35,71,.35) 70%,transparent)}
.como__wrap{display:grid;gap:56px}
.como__head{display:grid;gap:24px;align-content:start}
.como__head .title{max-width:12ch}
@media (min-width:1024px){
  .como__wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:96px}
  .como__head{position:sticky;top:calc(var(--header-h) + 64px)}
}
.timeline{position:relative;display:grid;gap:clamp(48px,6vw,88px);padding-left:44px}
.timeline__track{position:absolute;left:9px;top:12px;bottom:12px;width:1px;background:var(--line)}
.timeline__track span{position:absolute;inset:0;background:linear-gradient(180deg,var(--ouro-claro),var(--ouro),var(--ouro-escuro));transform-origin:top;transform:scaleY(1)}
.step{position:relative;display:grid;gap:10px}
.step__dot{position:absolute;left:-44px;top:10px;width:19px;height:19px;border-radius:50%;background:var(--marinho);border:1px solid var(--ouro);
  box-shadow:0 0 0 6px var(--marinho);transition:background-color .4s,box-shadow .4s}
.step__dot::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--ouro);transition:transform .5s var(--ease)}
.step__n{font:600 clamp(3.25rem,2.5rem + 3vw,5rem)/.9 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(217,165,32,.75);font-variant-numeric:lining-nums}
.step h3{font:600 var(--fs-h3)/1.12 var(--serif);color:var(--text);margin-bottom:8px}
.step p{color:var(--text-2);max-width:44ch}

/* --- Depoimentos --- */
.depo__head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px 16px;margin-bottom:clamp(40px,5vw,72px)}
.depo__head .eyebrow{grid-column:1/-1}
.depo__head .title{max-width:13ch}
.depo__nav{display:flex;gap:10px}
.round-btn{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(201,205,211,.32);transition:border-color .3s,background-color .3s,opacity .3s}
.round-btn svg{width:20px;height:20px;fill:none;stroke:var(--text);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.round-btn:active{background:rgba(217,165,32,.18)}
.round-btn:disabled{opacity:.35;cursor:default}
@media (hover:hover){.round-btn:not(:disabled):hover{border-color:var(--ouro)}}
@media (max-width:599px){.depo__nav{display:none}}
.depo__track{display:grid;grid-auto-flow:column;grid-auto-columns:min(86%,620px);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;margin-inline:calc(-1 * max(var(--gutter),calc(var(--sa-l) + 16px)));
  padding-inline:max(var(--gutter),calc(var(--sa-l) + 16px));scroll-padding-inline:max(var(--gutter),calc(var(--sa-l) + 16px))}
.depo__track::-webkit-scrollbar{display:none}
@media (min-width:1100px){.depo__track{grid-auto-columns:calc((100% - 32px - 2 * var(--gutter)) / 2.2)}}
.quote{scroll-snap-align:start;display:grid;align-content:space-between;gap:40px;padding:clamp(28px,3.5vw,48px);border-radius:var(--radius);
  background:linear-gradient(160deg,rgba(13,35,71,.8),rgba(3,19,45,.5));border:1px solid var(--line);min-height:300px}
.quote blockquote{margin:0;font:500 clamp(1.4rem,1.15rem + 1vw,1.9rem)/1.3 var(--serif);color:var(--text);font-variant-numeric:lining-nums}
.quote figcaption{display:flex;align-items:center;gap:14px;font-size:var(--fs-sm);color:var(--text-2);letter-spacing:.02em}
.quote__mark{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-gold);font:600 1.15rem/1 var(--serif);color:var(--ouro)}
.depo__dots{display:flex;gap:8px;justify-content:center;margin-top:28px}
.depo__dots span{width:24px;height:2px;background:var(--line);transition:background-color .3s,width .3s}
.depo__dots span.on{background:var(--ouro);width:40px}

/* --- CTA final --- */
.cta{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(120px,10rem + 6vw,240px);text-align:center;
  background:radial-gradient(70% 60% at 50% 50%,rgba(27,51,92,.65),transparent 75%),var(--marinho);border-top:1px solid var(--line)}
.cta__rings{position:absolute;inset:0;z-index:-1;display:grid;place-items:center;pointer-events:none}
.cta__rings i{grid-area:1/1;border-radius:50%;border:1px solid rgba(217,165,32,.22)}
.cta__rings i:nth-child(1){width:min(520px,90vw);aspect-ratio:1}
.cta__rings i:nth-child(2){width:min(820px,140vw);aspect-ratio:1;border-color:rgba(217,165,32,.13)}
.cta__rings i:nth-child(3){width:min(1140px,190vw);aspect-ratio:1;border-color:rgba(201,205,211,.07)}
.cta__inner{display:grid;justify-items:center;gap:28px}
.cta__title{font-size:clamp(2.6rem,1.6rem + 4.6vw,6rem);line-height:1;max-width:16ch;text-wrap:balance}
.cta__tel{display:inline-flex;align-items:center;min-height:44px;color:var(--text-2);font-size:var(--fs-sm);letter-spacing:.04em;border-bottom:1px solid transparent}
@media (hover:hover){.cta__tel:hover{color:var(--ouro-claro)}}

/* --- Footer --- */
.footer{position:relative;padding:clamp(64px,7vw,104px) 0 calc(28px + var(--sa-b));border-top:1px solid var(--line-gold);background:#020F24}
.footer__grid{display:grid;gap:40px;grid-template-columns:repeat(2,minmax(0,1fr))}
.footer__brand{grid-column:1/-1;display:grid;gap:16px;align-content:start}
.footer__brand img{width:164px}
.footer__brand p{color:var(--text-2);font-size:var(--fs-sm);max-width:30ch}
.footer__col{display:grid;align-content:start;gap:2px;font-size:var(--fs-sm)}
.footer__col a,.footer__col address{color:var(--text-2);min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere;min-width:0}
.footer__col address{display:block;min-height:0;padding:12px 0;line-height:1.6}
.footer__col a:active{color:var(--ouro-claro)}
@media (hover:hover){.footer__col a:not(.btn):hover{color:var(--ouro-claro)}}
.footer__h{font:600 var(--fs-xs)/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);margin-bottom:10px}
.footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--text-3)}
.footer__top{min-height:44px;display:inline-flex;align-items:center;color:var(--text-2)}
/* acesso ao painel administrativo: discreto de propósito (prata escuro, pequeno), mas com alvo de toque de 44px */
.footer__admin{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;letter-spacing:.04em;color:var(--prata-escuro)}
@media (hover:hover){.footer__admin:hover{color:var(--text-2)}}
@media (min-width:900px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}.footer__brand{grid-column:auto}}

/* --- WhatsApp flutuante --- */
.wa-float{position:fixed;z-index:80;right:calc(16px + var(--sa-r));bottom:calc(16px + var(--sa-b));width:56px;height:56px;display:grid;place-items:center;
  border-radius:50%;background:var(--gold-grad);color:var(--marinho);box-shadow:0 12px 30px -10px rgba(0,0,0,.7),0 0 0 1px rgba(243,211,107,.35);
  transition:transform .5s var(--ease),opacity .4s}
.wa-float svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.wa-float:active{transform:scale(.92)}
.wa-float.is-hidden{opacity:0;transform:translateY(16px) scale(.9);pointer-events:none}
@media (min-width:960px){.wa-float{right:calc(28px + var(--sa-r));bottom:calc(28px + var(--sa-b))}}
@media (hover:hover){.wa-float:hover{transform:translateY(-3px)}}
.menu-open .wa-float{opacity:0;pointer-events:none}

/* ==========================================================================
   MOTION (só com html.motion — adicionada pelo JS após GSAP carregar)
   ========================================================================== */
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* linhas dos títulos (SplitText caseiro) */
.split .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.split .ln>span{display:block}

/* pin dos recursos — .features--pin é ligado pelo JS (gsap.matchMedia) */
.features--pin .features__stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;
  gap:18px;height:100vh;height:100svh;padding-top:calc(var(--header-h) + var(--sa-t) + 4px);padding-bottom:calc(14px + var(--sa-b))}
.features--pin .features__intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 16px}
.features--pin .features__intro .eyebrow{grid-column:1/-1}
.features--pin .features__title{font-size:clamp(1.6rem,1.15rem + 2vw,3.25rem);margin-top:4px}
.features--pin .features__progress{display:grid;gap:10px;justify-items:end;padding-bottom:6px}
.features__count{font:500 var(--fs-xs)/1 var(--sans);letter-spacing:.16em;color:var(--text-3);font-variant-numeric:tabular-nums}
.features__count b{color:var(--ouro);font-weight:600}
.features__track{display:block;width:96px;height:1px;background:var(--line);overflow:hidden}
.features__track span{display:block;height:100%;background:var(--ouro);transform-origin:left;transform:scaleX(.2)}
.features--pin .feature{grid-row:2;grid-column:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px;align-items:stretch}
.features--pin .feature__screen{grid-row:1;min-height:0;max-height:100%;overflow:hidden;align-self:center}
.features--pin .feature__text{grid-row:2}
.features--pin .feature h3{font-size:clamp(1.45rem,1.15rem + 1.4vw,2.6rem);margin:8px 0}
.features--pin .feature__text p{font-size:.9375rem}
.features--pin .features__note{grid-row:3;grid-column:1;padding-right:76px}
.features--pin .feature:not(:first-of-type) .feature__text,.features--pin .feature:not(:first-of-type) .feature__screen{opacity:0;visibility:hidden}
@media (max-width:859px) and (max-height:760px){.features--pin .feature__text p{display:none}.features--pin .scr__rows li:nth-child(n+4),.features--pin .scr__files li:nth-child(n+4){display:none}}
@media (min-width:860px){
  .features--pin .features__stage{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:clamp(40px,6vw,96px);row-gap:clamp(20px,4vh,48px);align-content:center}
  .features--pin .features__intro{grid-column:1/-1}
  .features--pin .feature{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:minmax(0,1fr);column-gap:clamp(40px,6vw,96px)}
  .features--pin .feature__screen{grid-column:2;grid-row:1;align-self:center;max-height:100%}
  .features--pin .feature__text{grid-column:1;grid-row:1;align-self:center}
  .features--pin .feature__text p{font-size:var(--fs-lead);max-width:34ch}
  .features--pin .features__note{grid-column:2}
}

/* ==========================================================================
   LÂMPADA 3D → NÚMEROS
   Base (sem JS / sem WebGL / reduced motion): pôster + 5 cards empilhados + números.
   .lamp--pin (motion.js): palco de 100svh fixado; canvas 3D por trás, uma etapa visível por vez.
   ========================================================================== */
.lamp{position:relative;background:#010814}
.lamp__stage{position:relative}
.lamp__scene{position:relative;overflow:hidden;pointer-events:none}
.lamp__poster{width:100%;height:clamp(320px,64svh,680px);object-fit:cover;object-position:50% 40%;
  -webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.lamp__canvas,.lamp__scrim,.lamp__fill,.lamp__ui{display:none}
.lamp__steps{counter-reset:none;display:grid;gap:16px;padding:clamp(8px,2vw,24px) var(--gutter) var(--sec-y);max-width:1280px;margin:0 auto;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.lamp__step{position:relative;padding:28px 24px;border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(170deg,rgba(13,35,71,.7),rgba(3,19,45,.35))}
.lamp__n{font:600 var(--fs-xs)/1 var(--sans);letter-spacing:.22em;color:var(--ouro)}
.lamp__title{margin-top:14px;font:600 var(--fs-h3)/1.08 var(--serif);color:var(--text);text-wrap:balance}
.lamp__text{margin-top:10px;color:var(--text-2);max-width:36ch}
.lamp__cta{margin-top:22px}

/* ---------- modo fixado (JS + WebGL) ---------- */
.lamp--pin .lamp__stage{height:100vh;height:100svh;display:grid;align-content:center;overflow:hidden}
/* a cena cobre a viewport grande (barra do Safari recolhida); textos ficam na pequena */
.lamp--pin .lamp__scene{position:absolute;left:0;right:0;top:0;height:100vh;height:100lvh}
.lamp--pin .lamp__canvas{display:block;position:absolute;inset:0}
.lamp--pin .lamp__canvas canvas{display:block;width:100%;height:100%;max-width:none}
.lamp--pin .lamp__poster{position:absolute;inset:0;height:100%;-webkit-mask-image:none;mask-image:none;transition:opacity .8s var(--ease)}
.lamp--pin.is-ready .lamp__poster{opacity:0}
.lamp--pin.is-lost .lamp__poster{opacity:1}
/* vinheta + grão de filme fora do WebGL (economiza uma passada de tela cheia) */
.lamp__grain{display:none}
.lamp--pin .lamp__grain{display:block;position:absolute;inset:0;opacity:.5;
  background:radial-gradient(120% 95% at 50% 50%,transparent 45%,rgba(1,8,20,.7) 100%),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27160%27 height=%27160%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.9%27 numOctaves=%272%27 stitchTiles=%27stitch%27/%3E%3CfeColorMatrix values=%270 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .09 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23n)%27/%3E%3C/svg%3E")}
.lamp--pin .lamp__scrim{display:block;position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(1,8,20,.78) 0%,rgba(1,8,20,.45) 30%,rgba(1,8,20,0) 52%)}
.lamp--pin .lamp__fill{display:block;position:absolute;inset:0;opacity:0;
  background:radial-gradient(75% 70% at 50% 50%,rgba(255,214,140,.9) 0%,rgba(243,190,80,.78) 28%,rgba(217,145,32,.6) 58%,rgba(3,19,45,.95) 100%),var(--marinho)}
.lamp--pin .lamp__steps{position:absolute;left:0;right:0;top:0;bottom:0;display:block;padding:0;max-width:none;margin:0;z-index:1;pointer-events:none}
.lamp--pin .lamp__step{position:absolute;left:calc(var(--gutter) + var(--sa-l) + 28px);top:50%;width:min(30rem,36vw);translate:0 -50%;
  padding:0;border:0;border-radius:0;background:none;opacity:0}
.lamp--pin .lamp__step a{pointer-events:auto}
.lamp--pin .lamp__step:focus-within{opacity:1!important}
.lamp--pin .lamp__n{display:none}
.lamp--pin .lamp__title{margin-top:0;font-size:clamp(2.2rem,1.4rem + 2.6vw,4.4rem);line-height:1}
.lamp--pin .lamp__text{margin-top:18px;font-size:var(--fs-lead)}
.lamp--pin .lamp__ui{display:block;position:absolute;inset:0;z-index:1;pointer-events:none}
.lamp__count{position:absolute;left:calc(var(--gutter) + var(--sa-l) + 28px);top:calc(50% - min(13rem,28svh));font:500 var(--fs-sm)/1 var(--sans);letter-spacing:.18em;color:var(--text-3);font-variant-numeric:tabular-nums lining-nums}
.lamp__count b{font-weight:600;color:var(--ouro)}
.lamp__track{position:absolute;left:calc(var(--gutter) + var(--sa-l));top:50%;translate:0 -50%;width:1px;height:min(46svh,420px);background:rgba(201,205,211,.16)}
.lamp__track span{position:absolute;inset:0;background:linear-gradient(180deg,var(--ouro-claro),var(--ouro));transform-origin:top;transform:scaleY(0)}
.lamp--pin .stats{z-index:2;background:none}
.lamp--pin.is-live .lamp__fill,.lamp--pin.is-live .stats{will-change:opacity,transform}
@media (max-width:767px),(orientation:portrait) and (max-width:1023px){
  .lamp--pin .lamp__scrim{background:linear-gradient(0deg,rgba(1,8,20,.88) 0%,rgba(1,8,20,.55) 30%,rgba(1,8,20,0) 52%)}
  .lamp--pin .lamp__step{left:calc(var(--gutter) + var(--sa-l));right:calc(var(--gutter) + var(--sa-r));top:auto;bottom:calc(8svh + var(--sa-b));width:auto;translate:none}
  .lamp--pin .lamp__title{font-size:clamp(2rem,1.4rem + 3vw,3.2rem)}
  .lamp--pin .lamp__text{margin-top:12px;font-size:1rem;max-width:34ch}
  .lamp--pin .lamp__cta{margin-top:18px}
  .lamp__count{left:calc(var(--gutter) + var(--sa-l));top:auto;bottom:calc(8svh + var(--sa-b) + 13.5rem)}
  .lamp__track{left:auto;right:calc(14px + var(--sa-r));height:min(30svh,260px)}
}

/* hero: linhas com máscara (só quando não houve preloader) */
.hero-clip .hero__title .line{overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}

/* timeline: pontos acendem */
.motion .step__dot::after{transform:scale(0)}
.motion .step.is-on .step__dot::after{transform:scale(1)}
.step__n{transition:color .6s}
.motion .step.is-on .step__n{color:rgba(217,165,32,.14)}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
