/* ParcelaDois LP. Tokens da marca Aliança (Elo 01). */
@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/lora-0.woff2) format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/lora-1.woff2) format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/lora-2.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/manrope-0.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/manrope-1.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/manrope-2.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/manrope-3.woff2) format('woff2')}

:root{
  --petrol:#123D3A;--petrol-hover:#0D302D;--petrol-deep:#082522;
  --ivory:#F7F4ED;--sage:#C4D3C6;--gold:#B99A5B;--ink:#222B29;--muted:#586560;
  --border:#D8DFDA;--white:#fff;--error:#A43D32;--warn-soft:#F2E9D4;
  --font-h:'Lora',Georgia,serif;--font-b:'Manrope',Arial,sans-serif;
  --ease:cubic-bezier(.2,0,0,1);
  --pad:clamp(20px,5vw,72px);--maxw:1200px;
  --bg:var(--petrol);--fg:var(--ivory);--fg-soft:rgba(247,244,237,.74);--line:rgba(247,244,237,.18);
  --card:rgba(247,244,237,.06);
}
body[data-theme="light"]{--bg:var(--ivory);--fg:var(--ink);--fg-soft:var(--muted);--line:var(--border);--card:var(--white)}
body[data-theme="sage"]{--bg:var(--sage);--fg:var(--ink);--fg-soft:#3d4a45;--line:rgba(18,61,58,.22);--card:var(--white)}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-b);font-size:17px;line-height:1.6;transition:background-color .7s var(--ease),color .7s var(--ease);overflow-x:clip}
img,svg{display:block;max-width:100%}
h1,h2,h3{font-family:var(--font-h);font-weight:500;line-height:1.15;margin:0;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.2rem,4.7vw,4rem);line-height:1.08}
h2{font-size:clamp(1.9rem,4.4vw,3.3rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.25}
p{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.wrap{width:100%;max-width:calc(var(--maxw) + var(--pad)*2);margin-inline:auto;padding-inline:var(--pad)}
.section{padding-block:clamp(72px,12vw,160px);position:relative}
.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--fg-soft);max-width:56ch}
.sub{color:var(--fg-soft);max-width:60ch}
.small{font-size:.875rem;color:var(--fg-soft)}
.note{font-size:.8125rem;color:var(--fg-soft);max-width:70ch}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:7px;border:1.5px solid transparent;font:600 1rem/1 var(--font-b);text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),background-color .2s,color .2s,border-color .2s}
.btn:active{transform:scale(.98)}
.btn--gold{background:var(--ivory);color:var(--petrol)}
.btn--gold:hover{background:var(--sage)}
.btn--solid{background:var(--petrol);color:var(--ivory)}
.btn--solid:hover{background:var(--petrol-hover)}
.btn--ghost{border-color:currentColor;color:inherit;background:transparent}
.btn--ghost:hover{background:rgba(127,127,127,.12)}
body[data-theme="dark"] .btn--primary{background:var(--ivory);color:var(--petrol)}
body[data-theme="dark"] .btn--primary:hover{background:var(--sage)}
body:not([data-theme="dark"]) .btn--primary{background:var(--petrol);color:var(--ivory)}
body:not([data-theme="dark"]) .btn--primary:hover{background:var(--petrol-hover)}
.btn--sm{min-height:44px;padding:0 20px;font-size:.9375rem}

/* Progresso */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:60;background:transparent}
.progress i{display:block;height:100%;width:100%;background:var(--gold);transform:scaleX(var(--sp,0));transform-origin:left}

/* Header */
.hdr{position:fixed;inset:3px 0 auto 0;z-index:50;transition:background-color .4s,backdrop-filter .4s,transform .4s var(--ease)}
.hdr.is-scrolled{background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.logo{position:relative;display:block;height:34px;width:181px}
.logo img{position:absolute;inset:0;height:34px;width:auto;transition:opacity .5s}
.logo .on-light{opacity:0}
body:not([data-theme="dark"]) .logo .on-light{opacity:1}
body:not([data-theme="dark"]) .logo .on-dark{opacity:0}
.nav{display:flex;align-items:center;gap:28px}
.nav a:not(.btn){text-decoration:none;font-weight:500;font-size:.9375rem;opacity:.85;transition:opacity .2s}
.nav a:not(.btn):hover{opacity:1}
.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:7px}
.menu-btn span{display:block;width:22px;height:2px;background:currentColor;margin:5px auto;transition:transform .3s var(--ease),opacity .3s}
.menu-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){opacity:0}
.menu-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Hero */
.hero{min-height:100svh;display:flex;align-items:center;padding-top:110px;padding-bottom:56px;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,5vw,72px);align-items:center}
.hero h1{margin-bottom:28px}
.hero .lead{margin-bottom:36px}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}
.hero__meta{font-size:.9375rem;color:var(--fg-soft);max-width:52ch;border-top:1px solid var(--line);padding-top:18px}
.elos{width:100%;max-width:640px;margin-inline:auto;overflow:visible;will-change:transform}
.elos .l,.elos .r,.elos .lt{fill:none;stroke-width:34;stroke-linecap:round}
.elos .l,.elos .lt{stroke:var(--ivory)}
.elos .r{stroke:var(--gold)}
.elos .gl,.elos .gr,.elos .glt{transform-box:fill-box}
.js .elos .gl,.js .elos .glt{animation:elo-l 1.9s var(--ease) .25s both}
.js .elos .gr{animation:elo-r 1.9s var(--ease) .25s both}
@keyframes elo-l{from{transform:translateX(-120px);opacity:0}to{transform:none;opacity:1}}
@keyframes elo-r{from{transform:translateX(120px);opacity:0}to{transform:none;opacity:1}}
.hero__stage{position:relative}
.hero__stage .tag{position:absolute;right:0;bottom:-6px;font-size:.8125rem;color:var(--fg-soft)}
.scroll-cue{position:absolute;left:50%;bottom:20px;width:1px;height:44px;background:linear-gradient(var(--gold),transparent);transform:translateX(-50%);opacity:.8}

/* Texto que acende */
.manifest{padding-block:clamp(96px,16vw,220px)}
.manifest__text{font-family:var(--font-h);font-size:clamp(1.7rem,4.2vw,3.2rem);line-height:1.28;max-width:24em;letter-spacing:-.005em}
.manifest__text .w{opacity:.42;transition:opacity .35s}
.manifest__text .w.on{opacity:1}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,56px);margin-top:clamp(48px,8vw,100px);border-top:1px solid var(--line);padding-top:36px}
.stat b{display:block;font:500 clamp(2rem,4vw,3rem)/1.1 var(--font-h);margin-bottom:10px}
.stat p{font-size:.9375rem;color:var(--fg-soft);max-width:30ch}
.stat a{color:inherit}

/* Cenas fixas guiadas pelo scroll */
.scene{position:relative;height:calc(var(--steps) * 80svh + 100svh)}
.scene__pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.scene__head{padding-top:clamp(72px,10vw,140px);padding-bottom:clamp(24px,4vw,48px)}
.scene__head h2{margin-bottom:16px}

/* Como funciona */
.how__grid{display:grid;grid-template-columns:1fr minmax(260px,340px);gap:clamp(32px,7vw,110px);align-items:center;width:100%}
.steps{list-style:none;margin:0;padding:0;position:relative}
.steps::before{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:2px;background:var(--line)}
.steps::after{content:"";position:absolute;left:19px;top:20px;width:2px;height:calc((100% - 40px) * var(--p,0));background:var(--gold)}
.step{position:relative;z-index:1;display:grid;grid-template-columns:40px 1fr;gap:20px;padding-block:14px;opacity:.62;transition:opacity .4s var(--ease)}
.step.is-active{opacity:1}
.step__n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:600 .9375rem var(--font-b);background:var(--bg);border:2px solid var(--line);position:relative;z-index:1;transition:background-color .4s,color .4s,border-color .4s}
.step.is-active .step__n,.step.is-done .step__n{background:var(--petrol);color:var(--ivory);border-color:var(--gold)}
.step.is-done{opacity:.8}
.step.is-done .step__n{color:var(--ivory)}
.step h3{margin-bottom:6px}
.step p{color:var(--fg-soft);max-width:46ch;max-height:0;overflow:hidden;opacity:0;transition:max-height .5s var(--ease),opacity .4s}
.step.is-active p{max-height:12em;opacity:1}

/* Telefone */
.phone{width:100%;max-width:300px;aspect-ratio:1320/2868;margin-inline:auto;position:relative;container-type:size;filter:drop-shadow(0 34px 50px rgba(8,37,34,.30)) drop-shadow(0 8px 14px rgba(8,37,34,.18))}
.phone__body{position:absolute;inset:0;border-radius:15.5cqw;padding:3.4cqw;background:linear-gradient(135deg,#bfc4c0 0%,#7c8280 14%,#d9ddd9 30%,#6a706e 50%,#c7ccc8 70%,#767c7a 86%,#aeb3af 100%);box-shadow:inset 0 0 0 .4cqw rgba(0,0,0,.35),inset 0 0 1.6cqw rgba(255,255,255,.55)}
.phone__screen{position:relative;width:100%;height:100%;border-radius:12.2cqw;background:var(--ivory);color:var(--ink);overflow:hidden;font-size:4.9cqw;line-height:1.4;box-shadow:0 0 0 1.6cqw #050707}
.phone__screen::after{content:"";position:absolute;inset:0;z-index:7;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.20) 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,0) 72%,rgba(255,255,255,.06) 100%)}
.ph-island{position:absolute;z-index:6;top:3.1cqw;left:50%;transform:translateX(-50%);width:29cqw;height:8.4cqw;border-radius:5cqw;background:#000}
.ph-island::after{content:"";position:absolute;right:2.6cqw;top:50%;width:3.2cqw;height:3.2cqw;margin-top:-1.6cqw;border-radius:50%;background:radial-gradient(circle at 35% 35%,#2b3a5c 0%,#0b1020 60%,#000 100%)}
.ph-status{position:absolute;z-index:5;top:3.1cqw;left:0;right:0;height:8.4cqw;display:flex;justify-content:space-between;align-items:center;padding:0 8.5cqw 0 10cqw;font:700 3.9cqw var(--font-b);color:var(--ink)}
.ph-sys{display:flex;align-items:center;gap:1.4cqw}
.ph-sys svg{height:2.9cqw;width:auto}
.ph-home{position:absolute;z-index:6;bottom:2.1cqw;left:50%;transform:translateX(-50%);width:33cqw;height:1.2cqw;border-radius:1cqw;background:rgba(0,0,0,.82)}
.ph-btn{position:absolute;width:1.3cqw;border-radius:.7cqw;background:linear-gradient(90deg,#6a706e,#d4d8d4 50%,#7d8381)}
.ph-btn--action{left:-.8cqw;top:21cqw;height:6cqw}
.ph-btn--up{left:-.8cqw;top:31.5cqw;height:11cqw}
.ph-btn--down{left:-.8cqw;top:45.5cqw;height:11cqw}
.ph-btn--power{right:-.8cqw;top:40cqw;height:17cqw}
.ph-btn--cam{right:-.8cqw;top:104cqw;height:13cqw}
.scr{position:absolute;inset:0;padding:17cqw 7cqw 8.5cqw;display:flex;flex-direction:column;gap:3.2cqw;opacity:0;transform:translateY(3cqw);transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none}
.scr.is-on{opacity:1;transform:none}
.scr h4{margin:0;font:500 1.25em/1.2 var(--font-h);color:var(--petrol)}
.scr .k{font-size:.78em;color:var(--muted)}
.scr .box{background:var(--white);border:1px solid var(--border);border-radius:3.4cqw;padding:3.6cqw}
.scr .row{display:flex;justify-content:space-between;gap:2cqw;font-size:.86em}
.scr .row b{font-weight:600;white-space:nowrap}
.scr .line{height:1.6cqw;border-radius:2cqw;background:var(--border);margin-top:2.4cqw}
.scr .line.s{width:70%}
.scr .big{font:500 1.7em/1.1 var(--font-h);color:var(--petrol)}
.scr .pill{display:inline-flex;align-items:center;gap:1.6cqw;font-size:.76em;font-weight:600;padding:1.2cqw 3cqw;border-radius:99px;background:var(--sage);color:var(--petrol);width:max-content}
.scr .pill.gold{background:var(--warn-soft);color:#78581E}
.scr .cta{margin-top:auto;background:var(--petrol);color:var(--ivory);text-align:center;padding:3.4cqw;border-radius:2.6cqw;font-weight:600;font-size:.92em}
.scr .chips{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6cqw}
.scr .chips i{font-style:normal;text-align:center;font-size:.8em;padding:2cqw 0;border-radius:2cqw;border:1px solid var(--border);background:var(--white)}
.scr .chips i.on{background:var(--petrol);color:var(--ivory);border-color:var(--petrol)}
.sig{display:flex;align-items:center;gap:2cqw;font-size:.8em;color:var(--petrol);font-weight:600}
.sig svg{width:5cqw;height:5cqw}

/* Painel */
.dash{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:clamp(18px,3vw,36px);box-shadow:0 8px 32px #00000014;color:var(--ink)}
.dash__top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.dash__top h3{color:var(--petrol)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.kpi{border:1px solid var(--border);border-radius:10px;padding:16px 18px;background:var(--ivory)}
.kpi span{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:6px}
.kpi b{font:500 clamp(1.3rem,2.6vw,1.9rem)/1.1 var(--font-h);color:var(--petrol);font-variant-numeric:tabular-nums}
.dash__cols{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}
.chart{border:1px solid var(--border);border-radius:10px;padding:18px}
.chart h4,.list h4{margin:0 0 14px;font:600 .9375rem var(--font-b);color:var(--petrol)}
.bars{display:flex;align-items:flex-end;gap:clamp(8px,2vw,18px);height:170px;border-bottom:1px solid var(--border)}
.bars div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:2px}
.bars i{display:block;border-radius:4px 4px 0 0;transform-origin:bottom;transform:scaleY(0);transition:transform 1s var(--ease)}
.dash.is-in .bars i{transform:scaleY(1)}
.bars .a{background:var(--petrol)}
.bars .b{background:var(--sage);border:1.5px solid var(--petrol)}
.bars .c{background:var(--gold);border:1.5px solid #78581E}
.months{display:flex;gap:clamp(8px,2vw,18px);margin-top:8px;font-size:.75rem;color:var(--muted)}
.months span{flex:1;text-align:center}
.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:.8125rem;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.list{border:1px solid var(--border);border-radius:10px;padding:18px}
.list ul{list-style:none;margin:0;padding:0}
.list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--border);font-size:.9rem}
.list li:first-child{border-top:0}
.list li small{display:block;color:var(--muted);font-size:.78rem}
.badge{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:99px;white-space:nowrap}
.badge--ok{background:var(--sage);color:var(--petrol)}
.badge--wait{background:var(--warn-soft);color:#78581E}
.badge--hold{background:#EAF1F6;color:#28536B}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(40px,6vw,72px)}
.feat h3{margin:14px 0 8px}
.feat p{color:var(--fg-soft);font-size:.9688rem}
.ico{width:64px;height:64px;display:grid;place-items:center;filter:drop-shadow(0 6px 7px rgba(8,37,34,.20))}
.ico svg{width:64px;height:64px;overflow:visible}

/* Jornada do dinheiro */
.flow__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,96px);align-items:center;width:100%}
.nodes{list-style:none;margin:0;padding:0;position:relative}
.node{padding:12px 0 12px 44px;position:relative;opacity:.64;transition:opacity .4s}
.node::before{content:"";position:absolute;left:8px;top:22px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid var(--line);transition:background-color .4s,border-color .4s}
.node::after{content:"";position:absolute;left:14px;top:38px;bottom:-12px;width:2px;background:var(--line)}
.node:last-child::after{display:none}
.node.is-active{opacity:1}
.node.is-done{opacity:.72}
.node.is-active::before,.node.is-done::before{background:var(--gold);border-color:var(--gold)}
.node.is-done::after{background:var(--gold)}
.node h3{font-size:1.15rem;margin-bottom:4px}
.node p{color:var(--fg-soft);font-size:.9688rem;max-width:44ch;max-height:0;overflow:hidden;opacity:0;transition:max-height .5s var(--ease),opacity .4s}
.node.is-active p{max-height:9em;opacity:1}
.money{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,3vw,36px)}
.money__top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:22px;font-size:.875rem;color:var(--fg-soft)}
.money__amt{font:500 clamp(2rem,4.6vw,3.2rem)/1.05 var(--font-h);margin-bottom:6px}
.money__state{min-height:3.2em;color:var(--fg-soft);font-size:.9688rem;margin-bottom:22px}
.bar{display:flex;gap:6px;height:56px}
.seg{border-radius:8px;border:1.5px dashed var(--line);display:flex;align-items:center;padding-inline:14px;font-size:.8125rem;font-weight:600;transition:background-color .6s var(--ease),border-color .6s,color .6s;white-space:nowrap;overflow:hidden}
.seg--a{flex:7}
.seg--b{flex:3}
.money[data-step="1"] .seg{background:rgba(196,211,198,.2);border-style:solid;border-color:var(--sage)}
.money[data-step="2"] .seg--a,.money[data-step="3"] .seg--a,.money[data-step="4"] .seg--a{background:var(--sage);border:1.5px solid var(--sage);color:var(--petrol)}
.money[data-step="2"] .seg--b{background:rgba(196,211,198,.2);border-style:solid;border-color:var(--sage)}
.money[data-step="3"] .seg--b{background:var(--gold);border:1.5px solid var(--gold);color:var(--petrol-deep)}
.money[data-step="4"] .seg--b{background:var(--sage);border:1.5px solid var(--sage);color:var(--petrol)}
.money__legend{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:.78rem;color:var(--fg-soft)}
.money__foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--fg-soft)}

/* Simulador */
.sim{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,5vw,72px);align-items:start;margin-top:clamp(32px,5vw,56px)}
.tabs{display:inline-flex;background:var(--white);border:1px solid var(--border);border-radius:99px;padding:4px;margin-bottom:26px}
.tabs button{border:0;background:transparent;font:600 .9375rem var(--font-b);color:var(--muted);padding:0 22px;min-height:44px;border-radius:99px;cursor:pointer;transition:background-color .25s,color .25s}
.tabs button[aria-selected="true"]{background:var(--petrol);color:var(--ivory)}
.field{margin-bottom:22px}
.field label,.field .lab{display:flex;justify-content:space-between;font-weight:600;font-size:.9375rem;margin-bottom:10px;color:var(--ink)}
.field output{font-variant-numeric:tabular-nums;color:var(--petrol)}
input[type=range]{width:100%;accent-color:var(--petrol);height:32px}
input[type=text],input[type=tel],select{width:100%;min-height:48px;padding:0 14px;border:1.5px solid #586560;border-radius:7px;background:var(--white);font:500 1rem var(--font-b);color:var(--ink)}
.seg-btns{display:flex;gap:8px;flex-wrap:wrap}
.seg-btns button{min-height:44px;padding:0 16px;border-radius:7px;border:1.5px solid #586560;background:var(--white);font:600 .9375rem var(--font-b);color:var(--ink);cursor:pointer}
.seg-btns button[aria-pressed="true"]{background:var(--petrol);color:var(--ivory);border-color:var(--petrol)}
.field label.check,.check{display:flex;justify-content:flex-start;gap:12px;align-items:flex-start;font-size:.9375rem;font-weight:500;cursor:pointer;margin-bottom:0}
.check input{width:20px;height:20px;accent-color:var(--petrol);margin-top:3px}
.out{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:clamp(20px,3vw,34px);box-shadow:0 8px 32px #00000014;color:var(--ink)}
.out .big{font:500 clamp(2rem,4.4vw,3rem)/1.05 var(--font-h);color:var(--petrol);font-variant-numeric:tabular-nums}
.out .cap{font-size:.875rem;color:var(--muted);margin-bottom:4px}
.out .big .nw{white-space:nowrap}
.out hr{border:0;border-top:1px solid var(--border);margin:20px 0}
.out dl{display:grid;grid-template-columns:1fr auto;gap:10px 16px;margin:0;font-size:.9688rem}
.out dt{color:var(--muted)}
.out dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.hide{display:none!important}

/* Noivos */
.pair{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,6vw,96px);align-items:end;margin-bottom:clamp(40px,7vw,88px)}
.pair p.lead{color:var(--fg-soft)}
.case{background:var(--petrol);color:var(--ivory);border-radius:16px;padding:clamp(24px,4vw,44px);display:grid;gap:14px}
.case b{font:500 clamp(1.5rem,3vw,2.2rem)/1.15 var(--font-h)}
.case p{color:rgba(247,244,237,.78);font-size:.9688rem}
.case a{color:var(--sage)}
.promises{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,32px)}
.promise{background:var(--white);border-radius:16px;padding:clamp(22px,3vw,32px);border:1px solid rgba(18,61,58,.12)}
.promise h3{margin:16px 0 10px;color:var(--petrol)}
.promise p{color:var(--muted);font-size:.9688rem}
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,3vw,40px);margin-top:clamp(40px,6vw,72px)}
.quote{border-left:3px solid var(--petrol);padding-left:20px}
.quote blockquote{margin:0;font:400 clamp(1.15rem,2vw,1.45rem)/1.4 var(--font-h);color:var(--petrol)}
.quote cite{display:block;font-style:normal;font-size:.8125rem;color:#3d4a45;margin-top:10px}
.quote cite a{color:inherit}
.noivo-cta{margin-top:clamp(36px,5vw,60px);display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* FAQ */
.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,96px)}
.faq__tabs{display:inline-flex;background:var(--white);border:1px solid var(--border);border-radius:99px;padding:4px;margin-top:24px}
.faq__tabs button{border:0;background:transparent;font:600 .9375rem var(--font-b);color:var(--muted);padding:0 20px;min-height:44px;border-radius:99px;cursor:pointer}
.faq__tabs button[aria-selected="true"]{background:var(--petrol);color:var(--ivory)}
details{border-top:1px solid var(--border)}
details:last-child{border-bottom:1px solid var(--border)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font:500 clamp(1.05rem,1.8vw,1.25rem)/1.35 var(--font-h);color:var(--petrol);min-height:44px}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--petrol);border-bottom:2px solid var(--petrol);transform:rotate(45deg) translateY(-3px);transition:transform .3s var(--ease)}
details[open] summary::after{transform:rotate(225deg) translateY(-3px)}
details .ans{padding:0 0 22px;color:var(--muted);max-width:62ch;font-size:.9688rem}
details .ans p+p{margin-top:10px}
.faqset[hidden]{display:none}

/* CTA final */
.cta{padding-block:clamp(88px,14vw,180px)}
.cta__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,110px);align-items:center}
.cta h2{margin-bottom:20px}
.form{background:var(--ivory);color:var(--ink);border-radius:16px;padding:clamp(22px,3.4vw,40px)}
.form h3{color:var(--petrol);margin-bottom:6px}
.form .field{margin-bottom:16px}
.form .field label{font-weight:600}
.form .btn{width:100%;margin-top:6px}
.form .small{color:var(--muted);margin-top:12px}
.form__ok{display:none;text-align:left}
.form.is-sent .form__fields{display:none}
.form.is-sent .form__ok{display:block}
.err{color:var(--error);font-size:.8125rem;margin-top:6px;min-height:1em}

/* Rodapé */
.ftr{padding-block:56px 40px;border-top:1px solid var(--line)}
.ftr__grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
.ftr img{height:34px;width:auto;margin-bottom:14px}
.ftr .small{max-width:62ch}
.ftr nav{display:flex;gap:22px;flex-wrap:wrap}
.ftr nav a{text-decoration:none;font-size:.9375rem;opacity:.85}
.ftr__legal{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);font-size:.78rem;color:var(--fg-soft);max-width:90ch}

/* Revelação de títulos (um único gesto, sem fade em tudo) */
.js .mask{overflow:hidden;display:block}
.js .mask>span{display:block;transform:translateY(105%);transition:transform 1s var(--ease)}
.js .mask.in>span{transform:none}

/* Responsivo */
@media (max-width:960px){
  .hero__grid,.pair,.faq__grid,.cta__grid,.sim{grid-template-columns:1fr}
  .elos{max-width:420px}
  .hero__stage{order:-1;max-width:300px;margin-inline:auto;margin-bottom:-8px}
  .hero{padding-top:96px}
  .feat,.promises,.quotes{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr;gap:28px}
  .kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .dash__cols{grid-template-columns:1fr}
  .how__grid,.flow__grid{grid-template-columns:1fr;gap:18px;align-content:center}
  .how__grid .phone-wrap{order:-1}
  .phone{--ph:min(43svh,380px);height:var(--ph);width:calc(var(--ph) * 1320 / 2868);max-width:none;aspect-ratio:auto}
  .phone-wrap{height:auto}
  .scene__pin{padding-top:72px}
  .scene{height:calc(var(--steps) * 70svh + 100svh)}
  .step{padding-block:6px;gap:14px;grid-template-columns:34px 1fr}
  .step__n{width:34px;height:34px;font-size:.8125rem}
  .steps::before,.steps::after{left:16px}
  .step:not(.is-active) h3{font-size:.95rem;font-weight:400}
  .step h3{font-size:1.05rem}
  .node{padding-block:5px}
  .node::after{top:28px;bottom:-5px}
  .node::before{top:13px}
  .node h3{font-size:1rem}
  .node:not(.is-active) h3{font-size:.9rem;font-weight:400}
  .money{padding:16px}
  .money__top{margin-bottom:12px}
  .money__state{margin-bottom:14px;min-height:2.6em;font-size:.875rem}
  .bar{height:44px}
  .money__foot{display:none}
  .scene__head{padding-top:84px}
  .nav{position:fixed;inset:75px 0 auto 0;background:var(--petrol);color:var(--ivory);flex-direction:column;align-items:stretch;gap:0;padding:12px var(--pad) 28px;transform:translateY(-130%);transition:transform .45s var(--ease);box-shadow:0 20px 40px rgba(0,0,0,.25)}
  .menu-open .nav{transform:none}
  .nav a:not(.btn){padding:16px 0;border-bottom:1px solid rgba(247,244,237,.15);opacity:1;font-size:1.0625rem}
  .nav .btn{margin-top:18px;background:var(--ivory)!important;color:var(--petrol)!important}
  .menu-btn{display:block}
}
@media (max-width:480px){
  body{font-size:16px}
  .kpis{grid-template-columns:1fr}
  .kpi{padding:12px 16px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .kpi span{font-size:.8125rem;margin:0}
  .bars{height:130px}
  .hero__cta .btn{width:100%}
}

/* Sem JS ou movimento reduzido: tudo visível, sem cenas fixas */
.no-pin .scene{height:auto}
.no-pin .scene__pin{position:static;height:auto;padding-block:48px;overflow:visible}
.no-pin .step,.no-pin .node{opacity:1}
.no-pin .step p,.no-pin .node p{max-height:none;opacity:1}
.no-pin .manifest__text .w{opacity:1}
.no-pin .scr{position:static;opacity:1;transform:none;display:none}
.no-pin .scr:first-child{display:flex}
.no-pin .bars i{transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}
  .js .mask>span{transform:none}
}
@media print{.hdr,.progress{display:none}}

/* Acessibilidade e anti-spam */
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--ivory);color:var(--petrol);padding:12px 18px;border-radius:7px;font-weight:600;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.legal{padding-block:120px 80px;max-width:760px}
.legal h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:24px}
.legal h2{font-size:1.4rem;margin:36px 0 10px}
.legal p,.legal li{color:var(--fg-soft);margin-bottom:10px}
.legal ul{padding-left:20px}

/* Sem JavaScript, o fundo não troca por seção: cada seção leva o seu próprio fundo */
html:not(.js) [data-theme="dark"]{background:var(--petrol);color:var(--ivory)}
html:not(.js) [data-theme="light"]{background:var(--ivory);color:var(--ink);--fg-soft:var(--muted);--line:var(--border);--card:var(--white)}
html:not(.js) [data-theme="sage"]{background:var(--sage);color:var(--ink);--fg-soft:#3d4a45;--line:rgba(18,61,58,.22);--card:var(--white)}

.pair--solo{grid-template-columns:1fr}
.pair--solo .lead{max-width:60ch}

/* Página de fornecedores: mensagem pronta */
.msgbox{margin-top:clamp(28px,4vw,48px);background:var(--white);border:1px solid rgba(18,61,58,.12);border-radius:16px;padding:clamp(22px,3vw,36px);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.msgbox h3{color:var(--petrol);margin-bottom:12px}
.msgbox .msg{font-size:1.0625rem;color:var(--ink);max-width:64ch;border-left:3px solid var(--gold);padding-left:16px;margin-bottom:12px}
.msgbox .note{color:var(--muted)}
.btn.is-done{background:var(--sage);color:var(--petrol)}
@media (max-width:960px){.msgbox{grid-template-columns:1fr}.msgbox .btn{width:100%}}
