/* Mozart: landing do recálculo de autos do piso mínimo do frete.
   Mesmo mundo visual da landing IBS/CBS (grafite, papel creme para documento,
   âmbar só como tinta funcional). CSS e JS em arquivos próprios por causa do
   CSP (style-src/script-src 'self'). Cookies: /assets/consent.css + consent.js. */

@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/assets/fonts/space-grotesk-latin.woff2) 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:'Space Grotesk';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/assets/fonts/space-grotesk-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/assets/fonts/inter-latin.woff2) 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:100 900;font-display:swap;
  src:url(/assets/fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/assets/fonts/jetbrains-mono-latin.woff2) 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:'JetBrains Mono';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/assets/fonts/jetbrains-mono-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  --void:#0B0B0E; --panel:#141419; --panel-hi:#1B1B22; --field:#0E0E13;
  --ink:#ECECEE; --soft:#C9C9CF; --muted:#8E8E99; --faint:#8A8A95;
  --line:#26262F; --line-hi:#33333E;
  --accent:#EE8E1E;
  --acc-tint:rgba(238,142,30,.07); --acc-line:rgba(238,142,30,.26); --acc-line-hi:rgba(238,142,30,.5);
  --paper:#F6F3EC; --paper-ink:#1C1B18; --paper-muted:#65615A; --paper-line:#DCD6C8; --paper-mark:rgba(238,142,30,.24);
  /* níveis: cor + texto, contraste AA no grafite e no papel */
  --lv-a:#F07A72; --lv-a-bg:rgba(192,48,42,.14); --lv-a-line:rgba(240,122,114,.42);
  --lv-b:#EE8E1E; --lv-b-bg:rgba(238,142,30,.12); --lv-b-line:rgba(238,142,30,.45);
  --lv-c:#52C763; --lv-c-bg:rgba(63,185,80,.12); --lv-c-line:rgba(82,199,99,.42);
  --pa-a:#A61B12; --pa-b:#8A4B00; --pa-c:#1D6B2B;
  --body:'Inter',system-ui,sans-serif;
  --display:'Space Grotesk',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --w:1120px; --measure:68ch;
  --r-xs:3px; --r-sm:6px; --r-md:8px; --r-lg:10px; --r-pill:999px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-expo:cubic-bezier(.16,1,.3,1);
  --shadow-doc:0 30px 60px -32px rgba(0,0,0,.85),0 2px 10px -4px rgba(0,0,0,.4);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:76px}
body{background:var(--void);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
[hidden]{display:none !important}
::selection{background:rgba(238,142,30,.34);color:#fff}
.auto ::selection,.sheet ::selection{background:rgba(238,142,30,.4);color:var(--paper-ink)}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:#F6A94D}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.wrap{max-width:var(--w);margin:0 auto;padding:0 clamp(16px,4vw,48px)}

/* seção: mais ar acima do título que abaixo */
section{padding:clamp(72px,10vw,128px) 0 clamp(56px,7vw,96px);border-top:1px solid var(--line)}
.display{font-family:var(--display);font-weight:700;letter-spacing:-.018em;line-height:1.06;text-wrap:balance}
h2.display{font-size:clamp(28px,3.8vw,42px);max-width:26ch;margin-bottom:14px}
.sec-head{margin-bottom:clamp(28px,4vw,44px)}
/* os "rótulos" da copy: linha de contexto/fonte ABAIXO do título */
.ctx{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--muted);margin-bottom:22px}
.body{font-size:clamp(16px,1.35vw,17.5px);color:var(--soft);max-width:var(--measure);margin-top:18px}
.sec-head .body{margin-top:0}
.small{font-size:13px;color:var(--muted);max-width:var(--measure);margin-top:12px;line-height:1.6}
.small a{color:var(--soft)}

/* ---------- botões ---------- */
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--r-pill);padding:14px 24px;cursor:pointer;text-decoration:none;border:1px solid var(--line-hi);color:var(--ink);background:transparent;transition:border-color .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease)}
.btn:hover{border-color:var(--accent);background:var(--acc-tint);color:var(--ink)}
.btn.solid{background:var(--accent);color:#111;border-color:var(--accent)}
.btn.solid:hover{background:#F39A33;border-color:#F39A33;color:#111}
.btn:disabled{opacity:.65;cursor:not-allowed}

/* ---------- cabeçalho ---------- */
header{position:sticky;top:0;z-index:20;background:var(--void);border-bottom:1px solid var(--line);transition:border-color .3s var(--ease)}
header.scrolled{border-bottom-color:var(--acc-line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{font-family:var(--display);font-size:18px;font-weight:600;letter-spacing:-.025em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px;min-height:44px;min-width:0}
.brand:hover{color:var(--ink)}
.brand svg{flex:none}
.brand .wordmark{display:inline-flex;align-items:baseline;gap:.28em;white-space:nowrap}
.brand .mz{color:var(--ink)}
.brand .im{color:var(--muted);font-size:.59em}
.brand .tag{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav .btn{min-height:44px;padding:10px 18px;font-size:12px;flex:none}

/* ---------- hero ---------- */
.hero{border-top:none;padding:clamp(40px,6vw,80px) 0 clamp(56px,8vw,104px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:auto auto 1fr;gap:0 clamp(32px,5vw,72px);align-items:start}
.hero h1{grid-column:1/-1}
.hero .for,.hero-copy{grid-column:1}
h1.display{font-size:clamp(32px,3.9vw,54px);font-weight:700;max-width:26ch;line-height:1.05}
.hero .for{font-size:clamp(15px,1.3vw,17px);color:var(--muted);max-width:56ch;margin:18px 0 clamp(28px,3.5vw,40px)}
.hero .lede{font-size:clamp(16px,1.45vw,18.5px);color:var(--soft);max-width:60ch}
.offer-line{margin-top:24px;font-size:17px;font-weight:600;color:var(--ink);background:var(--acc-tint);border:1px solid var(--acc-line);border-radius:var(--r-md);padding:12px 16px;max-width:60ch}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}
.cta-note{font-size:13.5px;color:var(--muted);margin-top:18px;max-width:60ch;line-height:1.65}

/* cartão do auto: assinatura da página, papel creme com colunas lado a lado */
.auto{grid-column:2;grid-row:2/span 2;align-self:start;margin-top:22px;position:relative;background:var(--paper);color:var(--paper-ink);border-radius:var(--r-md);padding:20px 22px 20px;box-shadow:var(--shadow-doc);transform:rotate(-.8deg)}
.auto-tbl{width:100%;border-collapse:collapse;font-size:13px}
.auto-tbl thead th{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-muted);text-align:left;padding:0 8px 10px;border-bottom:1px solid var(--paper-ink)}
.auto-tbl thead th:first-child{padding-left:0}
.auto-tbl tbody th{font-family:var(--body);font-weight:600;font-size:13px;text-align:left;padding:11px 8px 11px 0;border-bottom:1px solid var(--paper-line);vertical-align:top;white-space:nowrap}
.auto-tbl td{font-family:var(--mono);font-size:12.5px;padding:11px 8px;border-bottom:1px solid var(--paper-line);vertical-align:top;font-variant-numeric:tabular-nums;line-height:1.5}
.auto-tbl tbody tr:last-child th,.auto-tbl tbody tr:last-child td{border-bottom:none}
.auto-tbl mark{background:var(--paper-mark);color:var(--paper-ink);padding:1px 4px;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.auto-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--paper-ink)}
.auto-foot figcaption{font-size:12px;line-height:1.55;color:var(--paper-muted);max-width:40ch}
.auto-foot figcaption a{color:var(--paper-ink);text-decoration:underline;text-decoration-color:var(--pa-b)}
.auto-foot figcaption a:hover{color:var(--pa-b)}
.auto :focus-visible{outline-color:var(--pa-b)}
/* carimbo: o único momento autoral de movimento da página */
.stamp{flex:none;display:flex;flex-direction:column;align-items:center;border:2px solid var(--pa-b);color:var(--pa-b);border-radius:var(--r-xs);padding:6px 12px 5px;font-family:var(--mono);line-height:1.3;transform:rotate(-6deg);animation:stamp .7s var(--ease-expo) .55s both}
.stamp span{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.stamp small{font-size:11px;font-weight:500;letter-spacing:.02em}
@keyframes stamp{from{opacity:0;transform:rotate(-6deg) scale(1.3)}to{opacity:1;transform:rotate(-6deg) scale(1)}}

/* ---------- números do problema: livro-razão ---------- */
.numbers-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,4vw,48px) clamp(28px,4vw,56px);align-items:start}
.ledger-wrap{grid-column:1/-1}
.ledger{width:100%;border-collapse:collapse}
.ledger thead th{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 16px 12px 0;border-bottom:1px solid var(--line-hi)}
.ledger td{padding:22px 24px 22px 0;border-bottom:1px solid var(--line);vertical-align:top;font-size:15px;color:var(--soft);line-height:1.55}
.ledger td.v{white-space:nowrap;width:26%}
.ledger td.v .num{font-size:clamp(20px,2vw,26px);font-weight:600;color:var(--ink);letter-spacing:-.01em}
.ledger td.src{font-family:var(--mono);font-size:12px;color:var(--muted);width:28%;line-height:1.6;padding-right:0}
.ledger td.src a{color:var(--soft);text-decoration:underline;text-decoration-color:var(--acc-line-hi)}
.ledger td.src a:hover{color:var(--accent)}
.sum{font-size:17px;color:var(--ink);max-width:60ch}
.formula-box{background:var(--panel);border:1px solid var(--line-hi);border-radius:var(--r-lg);padding:24px}
.formula-box h3,.law-box h3{font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:-.01em;margin-bottom:10px}
.formula-box p,.law-box p{font-size:15px;color:var(--soft)}
.law-box p+p{margin-top:12px}

/* ---------- prazos: linha do tempo ---------- */
.deadlines{background:var(--panel)}
.timeline{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px;position:relative}
.timeline li{position:relative;padding-top:28px;border-top:1px solid var(--line-hi)}
.timeline li::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--panel);border:1px solid var(--muted)}
.timeline li.disc::before{background:var(--accent);border-color:var(--accent)}
.timeline h3{font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}
.timeline li.disc h3{color:var(--accent)}
.timeline p{font-size:15px;color:var(--soft)}
.deadlines .body{margin-top:clamp(28px,4vw,44px)}

/* ---------- mecanismo ---------- */
.formula{font-family:var(--mono);font-size:.95em;color:var(--ink);background:var(--field);border:1px solid var(--line-hi);border-radius:var(--r-xs);padding:2px 8px;white-space:nowrap}
.mech-list{list-style:none;border-bottom:1px solid var(--line)}
.mech-list li{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:12px clamp(24px,4vw,56px);padding:28px 0;border-top:1px solid var(--line)}
.mech-list h3{font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.mech-list p{font-size:16px;color:var(--soft);max-width:var(--measure)}
.src-note{margin-top:20px}

/* ---------- simulador (bloco de operação) ---------- */
.simulator{background:var(--panel)}
.sim-panel{background:var(--void);border:1px solid var(--line-hi);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px)}
.sim-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 16px;align-items:start}
.sim-form .field{grid-column:span 2}
.sim-actions{grid-column:span 2;align-self:end}
.sim-actions .btn{width:100%}
.sim-out:not(:empty){margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.sim-out>*+*{margin-top:14px}
.sim-ato{font-family:var(--mono);font-size:13px;color:var(--soft)}
.sim-aviso{font-size:15px;color:var(--ink);background:var(--panel);border:1px solid var(--line-hi);border-radius:var(--r-md);padding:12px 16px;max-width:var(--measure)}
.sim-aviso.sim-zona{border-color:var(--acc-line)}
.sim-aviso.sim-axb{background:var(--lv-b-bg);border-color:var(--lv-b-line)}
.sim-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sim-col{border:1px solid var(--line-hi);border-radius:var(--r-md);padding:18px 20px;background:var(--panel)}
.sim-col-title{font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.02em;color:var(--muted);margin-bottom:10px}
.sim-piso{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(24px,2.6vw,32px);font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1.2}
.sim-conta{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--muted);margin-top:6px}
.sim-ok,.sim-multa,.sim-sem-coef{font-size:14.5px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.sim-col.is-ok{border-color:var(--lv-c-line)}
.sim-col.is-ok .sim-ok{color:var(--lv-c)}
.sim-col.is-under{border-color:var(--lv-a-line)}
.sim-col.is-under .sim-multa{color:var(--lv-a)}
.sim-col.is-empty{border-style:dashed}
.sim-col.is-empty .sim-sem-coef{color:var(--muted);border-top:none;padding-top:0;margin-top:4px}
.sim-nota,.sim-note{font-size:13px;color:var(--muted);max-width:var(--measure)}
.sim-note{margin-top:24px}
.sim-out:not(:empty)+.sim-note{display:none}
.sim-erro{font-family:var(--mono);font-size:13px;color:var(--lv-a)}
.sim-loading{font-family:var(--mono);font-size:13px;color:var(--muted)}

/* ---------- relatório: níveis + folha ---------- */
.report-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:start}
.levels{list-style:none;border-bottom:1px solid var(--line)}
.levels li{padding:24px 0;border-top:1px solid var(--line)}
.levels h3{font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.01em;margin:10px 0 8px}
.levels p{font-size:15.5px;color:var(--soft);max-width:var(--measure)}
.levels p.lvl{margin:0}
.chip{display:inline-flex;align-items:center;min-height:26px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:var(--r-pill);padding:3px 12px}
.chip-a{color:var(--lv-a);background:var(--lv-a-bg);border-color:var(--lv-a-line)}
.chip-b{color:var(--lv-b);background:var(--lv-b-bg);border-color:var(--lv-b-line)}
.chip-c{color:var(--lv-c);background:var(--lv-c-bg);border-color:var(--lv-c-line)}
.chip-b-paper{color:var(--pa-b);border-color:var(--pa-b);background:transparent;min-height:22px;padding:1px 9px;margin-right:6px}

.sheet{background:var(--paper);color:var(--paper-ink);border-radius:var(--r-md);padding:clamp(20px,3vw,28px);box-shadow:var(--shadow-doc)}
.sheet-intro{font-size:14px;color:var(--paper-muted);margin-bottom:16px;max-width:60ch}
.sheet-tbl{width:100%;border-collapse:collapse}
.sheet-tbl thead th{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-muted);text-align:left;padding:0 0 10px;border-bottom:1px solid var(--paper-ink)}
.sheet-tbl thead th:last-child{text-align:right}
.sheet-tbl tbody th{font-weight:500;font-size:14px;text-align:left;padding:11px 16px 11px 0;border-bottom:1px solid var(--paper-line);vertical-align:top}
.sheet-tbl td{font-family:var(--mono);font-size:13.5px;font-variant-numeric:tabular-nums;text-align:right;padding:11px 0;border-bottom:1px solid var(--paper-line);vertical-align:top;line-height:1.5}
.sheet-tbl .lvl-row th,.sheet-tbl .lvl-row td{border-bottom:none;padding-top:14px}
.sheet-tbl .lvl-row td{font-family:var(--body);font-size:14px;text-align:right;color:var(--pa-b);font-weight:600}
.sheet-note{font-size:12.5px;color:var(--paper-muted);margin-top:14px;line-height:1.55}
.sheet-foot{margin-top:18px;border:1px solid var(--paper-ink);border-radius:var(--r-xs);padding:12px 14px;font-size:13px;line-height:1.55;color:var(--paper-ink)}

/* ---------- como funciona ---------- */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,40px)}
.steps li{padding-top:24px;border-top:1px solid var(--line-hi)}
.steps h3{font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.25;margin-bottom:10px}
.step-n{display:block;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.steps p{font-size:15.5px;color:var(--soft)}

/* ---------- comparação: rolagem própria no mobile ---------- */
.cmp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-sm);overscroll-behavior-x:contain}
.cmp-scroll:focus-visible{outline-offset:4px}
.cmp{width:100%;min-width:680px;border-collapse:collapse;font-size:15px}
.cmp th,.cmp td{text-align:left;padding:16px 18px;border-top:1px solid var(--line);vertical-align:top;line-height:1.5}
.cmp thead th{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--muted);border-top:none;padding-top:0}
.cmp thead th:last-child{color:var(--accent)}
.cmp tbody th{font-weight:500;color:var(--muted);width:26%;font-size:14.5px}
.cmp td:nth-child(2){color:var(--soft)}
.cmp td:last-child{color:var(--ink);background:var(--acc-tint)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:1px solid var(--line)}

/* ---------- limites ---------- */
.not-list{list-style:none;border-bottom:1px solid var(--line);max-width:84ch}
.not-list li{padding:18px 0;border-top:1px solid var(--line);font-size:16px;color:var(--soft)}
.not-list strong{color:var(--ink);font-weight:650}

/* ---------- oferta e formulário ---------- */
.form-sec .wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,64px);align-items:start}
.offer{position:sticky;top:96px}
.offer-label{font-family:var(--display);font-size:clamp(22px,2.4vw,28px);font-weight:500;letter-spacing:-.01em;line-height:1.2;color:var(--soft);margin-bottom:18px}
.offer-label strong{color:var(--accent);font-weight:700}
.offer p:not(.offer-label){font-size:16px;color:var(--soft);max-width:60ch}
.offer p+p{margin-top:12px}
.card{background:var(--panel);border:1px solid var(--line-hi);border-radius:var(--r-lg);padding:clamp(22px,3vw,34px)}
.card h2.form-title{font-size:clamp(24px,2.6vw,30px);max-width:24ch;margin-bottom:10px}
.form-sub{font-size:14.5px;color:var(--soft);margin-bottom:26px;max-width:56ch}
form{display:flex;flex-direction:column;gap:18px}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 16px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
label{font-size:14px;font-weight:600;color:var(--soft);line-height:1.4}
label .req{color:var(--accent);font-weight:700}
input,select{font-family:var(--body);font-size:16px;color:var(--ink);background:var(--field);border:1px solid var(--line-hi);border-radius:var(--r-sm);padding:12px 14px;min-height:48px;width:100%;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
input::placeholder{color:#7E7E8A}
input:hover,select:hover{border-color:#4A4A57}
input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(238,142,30,.18)}
input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
input[type=date]{color-scheme:dark}
select{appearance:none;cursor:pointer;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.hint{font-size:13px;color:var(--muted);line-height:1.5}
.err-msg{font-size:13px;color:var(--lv-a);line-height:1.5}
.err-msg:empty{display:none}
.field.invalid input,.field.invalid select,[aria-invalid="true"]{border-color:var(--lv-a)}
.field.invalid input:focus,.field.invalid select:focus{box-shadow:0 0 0 3px rgba(240,122,114,.2)}
.consent-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}
.consent input{width:22px;height:22px;min-height:0;padding:0;margin-top:2px;accent-color:var(--accent);cursor:pointer}
.consent label{font-size:13.5px;font-weight:400;color:var(--soft);line-height:1.55;cursor:pointer}
.consent.invalid input{outline:2px solid var(--lv-a);outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
button.submit{width:100%;margin-top:4px;padding:16px}
.wa-alt{width:100%}
.spin{width:15px;height:15px;border:2px solid rgba(17,17,17,.3);border-top-color:#111;border-radius:50%;animation:sp .7s linear infinite;display:none}
button.submit[aria-busy="true"] .spin{display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}
.banner{display:none;font-size:14px;padding:14px 16px;border-radius:var(--r-sm);line-height:1.55}
.banner.show{display:block}
.banner.error{background:#2A1615;border:1px solid var(--lv-a-line);color:#F4C3BF}
.banner.error .btn-wa{margin-top:12px;min-height:44px;padding:10px 18px;font-size:12px;color:var(--ink);border-color:var(--lv-a-line)}
.banner.error .btn-wa:hover{border-color:var(--ink);background:rgba(255,255,255,.04)}
.success{display:none;flex-direction:column;align-items:flex-start;padding-top:4px}
.success.show{display:flex}
.success:focus{outline:none}
.success:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.check{width:52px;height:52px;border-radius:50%;border:1px solid var(--lv-c-line);background:var(--lv-c-bg);color:var(--lv-c);display:grid;place-items:center;margin-bottom:20px}
.check svg{width:26px;height:26px}
.success h3{font-family:var(--display);font-weight:700;font-size:28px;line-height:1.1;margin-bottom:12px;letter-spacing:-.01em}
.success p{font-size:15.5px;color:var(--soft);max-width:52ch;margin-bottom:20px}
.legal{font-size:12.5px;color:var(--muted);line-height:1.6;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.legal a{color:var(--soft)}

/* ---------- monitor ---------- */
.monitor-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:clamp(28px,4vw,56px);align-items:start}
.monitor .body{margin-top:0}
.list-head{font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:-.01em;margin:32px 0 10px}
.plain-list{list-style:none;border-bottom:1px solid var(--line);max-width:var(--measure)}
.plain-list li{position:relative;padding:12px 0 12px 22px;border-top:1px solid var(--line);font-size:15.5px;color:var(--soft)}
.plain-list li::before{content:"";position:absolute;left:2px;top:1.35em;width:7px;height:7px;border-radius:1px;background:var(--muted)}
.monitor .small{margin-top:18px}
.law-box{background:var(--paper);color:var(--paper-ink);border-radius:var(--r-md);padding:24px;box-shadow:var(--shadow-doc)}
.law-box p{color:var(--paper-ink)}
.law-box a{color:var(--paper-ink);text-decoration:underline;text-decoration-color:var(--pa-b)}
.law-box a:hover{color:var(--pa-b)}
.law-box :focus-visible{outline-color:var(--pa-b)}

/* ---------- quem faz ---------- */
.who h2.who-title{font-size:clamp(24px,2.6vw,30px);margin-bottom:24px}
.who-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
.who-photo{width:180px;height:180px;border-radius:var(--r-lg);object-fit:cover;object-position:center 28%;display:block;border:1px solid var(--line-hi)}
.who-text p{font-size:clamp(16px,1.5vw,18px);color:var(--soft);max-width:var(--measure)}
.who-text p+p{margin-top:14px}
.who-text p.small{font-size:13px;color:var(--muted);margin-top:18px}

/* ---------- perguntas ---------- */
.faq h2.display{margin-bottom:24px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;min-height:48px;font-size:17px;font-weight:600;display:flex;justify-content:space-between;gap:20px;align-items:center;letter-spacing:-.01em;transition:color .2s var(--ease)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:10px;height:10px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.faq summary:hover{color:var(--accent)}
.faq details p{color:var(--soft);font-size:15.5px;padding:0 0 22px;max-width:var(--measure)}

/* ---------- fontes ---------- */
.sources h2.display{font-size:clamp(24px,2.6vw,30px);margin-bottom:20px}
.src-list{list-style:none;max-width:84ch;border-bottom:1px solid var(--line)}
.src-list li{padding:12px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--soft);line-height:1.6}
.src-list a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--acc-line-hi)}
.src-list a:hover{color:var(--accent)}

/* ---------- rodapé ---------- */
footer{border-top:1px solid var(--line);padding:36px 0 48px;font-size:13px;color:var(--muted);line-height:1.8}
footer .wrap{display:flex;flex-direction:column;gap:14px}
.foot-notice{color:var(--soft);max-width:var(--measure);font-size:13.5px;line-height:1.6}
.foot-row{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
footer a{color:var(--muted)}
footer a:hover{color:var(--accent)}
footer button.link{background:none;border:0;color:var(--muted);font:inherit;text-decoration:underline;cursor:pointer;padding:0;min-height:24px}
footer button.link:hover{color:var(--accent)}
footer .footsitemap{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
footer .footsitemap nav{display:flex;flex-wrap:wrap;gap:0 18px}
footer .footsitemap nav a{display:inline-flex;align-items:center;min-height:44px}

/* ---------- revelação na rolagem (só com html.js) ---------- */
html.js .rv{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease-expo),transform .8s var(--ease-expo)}
html.js .rv.in{opacity:1;transform:none}
html.js .rv-stagger>*{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease-expo),transform .7s var(--ease-expo)}
html.js .rv-stagger.in>*{opacity:1;transform:none}
.rv-stagger>*:nth-child(2){transition-delay:.07s}.rv-stagger>*:nth-child(3){transition-delay:.14s}.rv-stagger>*:nth-child(4){transition-delay:.21s}.rv-stagger>*:nth-child(5){transition-delay:.28s}.rv-stagger>*:nth-child(6){transition-delay:.35s}
html.js .rv-scale{opacity:0;transform:scale(.97);transition:opacity .8s var(--ease-expo),transform .8s var(--ease-expo)}
html.js .rv-scale.in{opacity:1;transform:none}

/* ---------- responsivo ---------- */
@media(max-width:900px){
  .hero .wrap,.numbers-grid,.report-grid,.form-sec .wrap,.monitor-grid{grid-template-columns:minmax(0,1fr)}
  .auto{grid-column:1;grid-row:auto;transform:none;margin-top:40px;max-width:560px}
  .timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
  .steps{grid-template-columns:minmax(0,1fr);gap:28px}
  .mech-list li{grid-template-columns:minmax(0,1fr)}
  .offer{position:static}
  .sim-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sim-form .field{grid-column:span 1}
  .sim-form .field[data-for="simTipo"]{grid-column:span 2}
  .sim-actions{grid-column:1/-1}
}
@media(max-width:760px){.brand .tag{display:none}}
@media(max-width:640px){
  .row{grid-template-columns:minmax(0,1fr)}
  .ledger thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .ledger,.ledger tbody,.ledger tr,.ledger td{display:block;width:auto}
  .ledger tr{padding:18px 0;border-top:1px solid var(--line)}
  .ledger td{padding:0;border:none}
  .ledger td+td{margin-top:8px}
  .ledger td.v,.ledger td.src{width:auto}
}
@media(max-width:560px){
  .timeline{grid-template-columns:minmax(0,1fr)}
  .sim-cols{grid-template-columns:minmax(0,1fr)}
  .sim-form{grid-template-columns:minmax(0,1fr)}
  .sim-form .field,.sim-form .field[data-for="simTipo"]{grid-column:1/-1}
  .auto{padding:16px 14px}
  .auto-tbl thead th{padding:0 6px 8px;letter-spacing:.04em}
  .auto-tbl tbody th{white-space:normal;padding-right:6px}
  .auto-tbl td{font-size:12px;padding:10px 6px}
  .auto-foot{flex-direction:column;align-items:flex-start}
  .stamp{align-self:flex-end}
  .sheet-tbl tbody th{font-size:13.5px}
  .who-row{grid-template-columns:minmax(0,1fr);gap:18px}
  .who-photo{width:128px;height:128px}
  .cta-row .btn{width:100%}
}
@media(max-width:380px){.brand .wordmark{display:none}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;transition-delay:0s !important}
  .stamp{animation:none;opacity:1}
  html.js .rv,html.js .rv-stagger>*,html.js .rv-scale{opacity:1;transform:none;transition:none}
  .spin{animation:sp 1.4s linear infinite !important}
}
