:root{
  --ground:#F3F4F0;
  --surface:#FFFFFF;
  --surface-2:#E8EAE3;
  --ink:#16190F;
  --ink-2:#4F5545;
  --ink-3:#828972;
  --border:#DCDFD4;
  --border-2:#C2C7B6;
  --signal:#D4600C;
  --signal-soft:#FCEDE0;
  --ok:#2C6E49;
  --ok-soft:#E2EFE8;
  --shadow:0 1px 2px rgba(22,25,15,.05), 0 14px 34px -24px rgba(22,25,15,.45);
  --nav-h:62px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#111309; --surface:#191C12; --surface-2:#232719;
    --ink:#EEF0E7; --ink-2:#B0B6A2; --ink-3:#818871;
    --border:#2B2F20; --border-2:#3C412E;
    --signal:#F0873C; --signal-soft:#2A1B0E;
    --ok:#6FBF8F; --ok-soft:#14271C;
    --shadow:0 1px 2px rgba(0,0,0,.5), 0 14px 34px -24px rgba(0,0,0,.9);
  }
}
:root[data-theme="dark"]{
  --ground:#111309; --surface:#191C12; --surface-2:#232719;
  --ink:#EEF0E7; --ink-2:#B0B6A2; --ink-3:#818871;
  --border:#2B2F20; --border-2:#3C412E;
  --signal:#F0873C; --signal-soft:#2A1B0E;
  --ok:#6FBF8F; --ok-soft:#14271C;
  --shadow:0 1px 2px rgba(0,0,0,.5), 0 14px 34px -24px rgba(0,0,0,.9);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 16px); }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ transition:none !important; animation:none !important; } }
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:"Rubik", ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
.wrap{ max-width:1060px; margin:0 auto; padding:0 24px; }
h1,h2,h3{ font-family:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif; text-wrap:balance; margin:0; letter-spacing:-.02em; }
p{ margin:0; }
a{ color:inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible{ outline:2px solid var(--signal); outline-offset:3px; border-radius:4px; }
img{ max-width:100%; }

/* ---------- nav fixa ---------- */
header.site{
  position:fixed; top:0; left:0; right:0; z-index:40;
  height:var(--nav-h);
  background:color-mix(in srgb, var(--ground) 90%, transparent);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
header.site .bar{
  height:var(--nav-h); display:flex; align-items:center; gap:20px;
  max-width:1060px; margin:0 auto; padding:0 24px;
}
.logo{ font-family:"Bricolage Grotesque", sans-serif; font-weight:700; font-size:1.2rem; letter-spacing:-.03em; text-decoration:none; flex:none; }
.logo i{ font-style:normal; color:var(--signal); }

nav.main{ margin-left:auto; display:flex; align-items:center; gap:20px; }
nav.main a.nl{ font-size:14.5px; color:var(--ink-2); text-decoration:none; white-space:nowrap; }
nav.main a.nl:hover{ color:var(--ink); }
nav.main a.nl.on{ color:var(--signal); font-weight:500; }

.lang{ display:flex; gap:2px; background:var(--surface-2); border-radius:20px; padding:3px; flex:none; }
.lang button{
  border:0; background:transparent; cursor:pointer; border-radius:16px;
  font-family:"Rubik", sans-serif; font-size:12px; font-weight:500;
  padding:4px 9px; color:var(--ink-3); letter-spacing:.03em;
}
.lang button[aria-pressed="true"]{ background:var(--surface); color:var(--ink); box-shadow:0 1px 2px rgba(0,0,0,.08); }

.burger{
  display:none; border:1px solid var(--border-2); background:var(--surface);
  border-radius:8px; width:38px; height:34px; cursor:pointer; padding:0;
  align-items:center; justify-content:center; color:var(--ink); flex:none;
}
.burger span{ display:block; width:16px; height:1.5px; background:currentColor; position:relative; }
.burger span::before, .burger span::after{
  content:""; position:absolute; left:0; width:16px; height:1.5px; background:currentColor;
}
.burger span::before{ top:-5px; } .burger span::after{ top:5px; }

.drawer{
  display:none; position:fixed; top:var(--nav-h); left:0; right:0; z-index:39;
  background:var(--ground); border-bottom:1px solid var(--border); padding:12px 24px 20px;
}
.drawer.open{ display:block; }
.drawer a{
  display:block; padding:12px 0; font-size:16px; color:var(--ink);
  text-decoration:none; border-bottom:1px solid var(--border);
}
.drawer a:last-child{ border-bottom:0; }

@media (max-width:900px){
  nav.main a.nl{ display:none; }
  .burger{ display:flex; }
}

main{ padding-top:var(--nav-h); }

/* ---------- hero ---------- */
.hero{ padding:72px 0 58px; }
.tagpill{
  display:inline-block; font-size:12.5px; font-weight:500; letter-spacing:.02em;
  color:var(--signal); background:var(--signal-soft); border-radius:20px;
  padding:5px 13px; margin-bottom:22px;
}
.hero h1{ font-size:clamp(2.05rem, 5.2vw, 3.35rem); line-height:1.08; font-weight:700; max-width:20ch; }
.hero .lede{ font-size:clamp(1.02rem, 2.1vw, 1.16rem); color:var(--ink-2); max-width:54ch; margin-top:20px; }
.cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; align-items:center; }
.btn{
  display:inline-block; text-decoration:none; font-weight:500; font-size:15px;
  padding:12px 22px; border-radius:9px; border:1px solid transparent; cursor:pointer;
  font-family:"Rubik",sans-serif;
}
.btn.primary{ background:var(--signal); color:#fff; }
.btn.primary:hover{ filter:brightness(1.06); }
.btn.ghost{ border-color:var(--border-2); color:var(--ink); background:transparent; }
.btn.ghost:hover{ background:var(--surface); }
.soon{ font-size:13.5px; color:var(--ink-3); margin-top:14px; }

.heroGrid{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:48px; align-items:center; }
@media (max-width:860px){ .heroGrid{ grid-template-columns:1fr; gap:36px; } }

.mock{ background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:18px; box-shadow:var(--shadow); }
.mock .mtop{ font-size:11.5px; color:var(--ink-3); margin-bottom:12px; letter-spacing:.03em; }
.notif{ background:var(--surface-2); border-radius:13px; padding:13px 15px; margin-bottom:11px; }
.notif .app{ font-size:11px; color:var(--ink-3); margin-bottom:5px; letter-spacing:.03em; }
.notif .ttl{ font-weight:600; font-size:14.5px; }
.notif .bd{ font-size:13.5px; color:var(--ink-2); margin-top:2px; }
.notif .btns{ display:flex; gap:7px; margin-top:11px; flex-wrap:wrap; }
.notif .b{ font-size:12px; font-weight:500; padding:5px 11px; border-radius:16px; background:var(--surface); border:1px solid var(--border-2); color:var(--ink-2); }
.notif .b.hi{ border-color:var(--ok); color:var(--ok); background:var(--ok-soft); }
.wa{ background:var(--ok-soft); border-radius:13px; padding:13px 15px; }
.wa .app{ font-size:11px; color:var(--ok); margin-bottom:6px; font-weight:500; letter-spacing:.03em; }
.wa .line{ font-size:13.5px; color:var(--ink-2); }
.wa .line b{ color:var(--ink); font-weight:600; }

/* ---------- seções ---------- */
section{ padding:62px 0; border-top:1px solid var(--border); }
.sec-kicker{ font-size:12px; font-weight:500; letter-spacing:.09em; text-transform:uppercase; color:var(--signal); margin-bottom:12px; }
section h2{ font-size:clamp(1.55rem, 3.3vw, 2.15rem); font-weight:600; max-width:21ch; }
section .intro{ color:var(--ink-2); max-width:58ch; margin-top:14px; font-size:1.02rem; }

.feats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr)); gap:16px; margin-top:34px; }
.feat{ background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:22px; }
.feat .ic{ width:34px; height:34px; border-radius:9px; background:var(--signal-soft); display:grid; place-items:center; margin-bottom:14px; color:var(--signal); }
.feat h3{ font-size:1.04rem; font-weight:600; }
.feat p{ font-size:14.3px; color:var(--ink-2); margin-top:7px; }

/* passos */
.steps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin-top:34px; counter-reset:s; }
.step{ background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:24px; counter-increment:s; }
.step::before{
  content:counter(s); display:grid; place-items:center; width:30px; height:30px;
  border-radius:50%; background:var(--signal); color:#fff; font-weight:600; font-size:14px;
  font-family:"Bricolage Grotesque",sans-serif; margin-bottom:14px;
}
.step h3{ font-size:1.02rem; font-weight:600; }
.step p{ font-size:14.3px; color:var(--ink-2); margin-top:7px; }

/* comparação */
.vs{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:34px; }
@media (max-width:700px){ .vs{ grid-template-columns:1fr; } }
.vsCard{ border-radius:16px; padding:26px; border:1px solid var(--border); }
.vsCard.bad{ background:var(--surface); }
.vsCard.good{ background:var(--ok-soft); border-color:color-mix(in srgb, var(--ok) 32%, var(--border)); }
.vsCard h3{ font-size:1.06rem; font-weight:600; margin-bottom:16px; }
.vsCard.good h3{ color:var(--ok); }
.vsCard ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.vsCard li{ font-size:14.4px; color:var(--ink-2); display:grid; grid-template-columns:18px 1fr; gap:11px; align-items:start; }
.vsCard li::before{ content:"—"; color:var(--ink-3); line-height:1.5; }
.vsCard.good li::before{ content:"✓"; color:var(--ok); font-weight:600; }

/* why */
.why{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:44px; margin-top:32px; }
@media (max-width:820px){ .why{ grid-template-columns:1fr; gap:26px; } }
.why p{ color:var(--ink-2); font-size:1rem; }
.why p + p{ margin-top:16px; }
.why strong{ color:var(--ink); font-weight:600; }
.pull{ background:var(--surface); border-left:3px solid var(--signal); border-radius:0 14px 14px 0; padding:22px 24px; box-shadow:var(--shadow); }
.pull p{ font-family:"Bricolage Grotesque", sans-serif; font-size:1.14rem; line-height:1.42; color:var(--ink); font-weight:500; }

/* faq */
.faq{ margin-top:30px; border:1px solid var(--border); border-radius:14px; overflow:hidden; background:var(--surface); }
.faq details{ border-bottom:1px solid var(--border); }
.faq details:last-child{ border-bottom:0; }
.faq summary{ cursor:pointer; list-style:none; padding:17px 20px; font-weight:500; font-size:15.3px; display:flex; align-items:center; gap:14px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; margin-left:auto; color:var(--signal); font-size:19px; font-weight:400; line-height:1; }
.faq details[open] summary::after{ content:"−"; }
.faq .ans{ padding:0 20px 19px; color:var(--ink-2); font-size:14.6px; max-width:70ch; }

/* cta final */
.finale{ background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:46px 38px; text-align:center; box-shadow:var(--shadow); }
.finale h2{ max-width:22ch; margin:0 auto; }
.finale p{ color:var(--ink-2); max-width:50ch; margin:14px auto 0; }
.finale .cta{ justify-content:center; }

/* parceiro */
.plist{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin-top:32px; }
.pcard{ background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:24px; }
.pcard h3{ font-size:1.02rem; font-weight:600; }
.pcard p{ font-size:14.3px; color:var(--ink-2); margin-top:8px; }
.pcard .who{ font-size:12px; color:var(--signal); font-weight:500; letter-spacing:.04em; text-transform:uppercase; margin-bottom:10px; }

.offer{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:26px; margin-top:30px; }
.offer h3{ font-size:.98rem; font-weight:600; display:flex; align-items:center; gap:9px; }
.offer h3 svg{ color:var(--signal); flex:none; }
.offer p{ font-size:14.2px; color:var(--ink-2); margin-top:7px; }

.formCard{ background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:32px; margin-top:34px; box-shadow:var(--shadow); }
.formCard h3{ font-size:1.15rem; font-weight:600; }
.formCard p.sub{ font-size:14.5px; color:var(--ink-2); margin-top:8px; max-width:58ch; }
.fields{ display:grid; gap:14px; margin-top:22px; }
.field label{ display:block; font-size:13px; font-weight:500; color:var(--ink-2); margin-bottom:6px; }
.field input, .field textarea, .field select{
  width:100%; padding:11px 13px; border-radius:9px; border:1px solid var(--border-2);
  background:var(--ground); color:var(--ink); font-family:"Rubik",sans-serif; font-size:15px;
}
.field textarea{ min-height:110px; resize:vertical; }
.two{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:600px){ .two{ grid-template-columns:1fr; } }

/* footer */
footer.site{ border-top:1px solid var(--border); padding:44px 0 58px; }
.fgrid{ display:grid; grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr)); gap:32px; }
@media (max-width:720px){ .fgrid{ grid-template-columns:1fr 1fr; gap:26px; } .fgrid .fbrand{ grid-column:1/-1; } }
footer.site h4{ font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); margin:0 0 12px; font-weight:500; font-family:"Rubik",sans-serif; }
footer.site ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
footer.site a{ font-size:14px; color:var(--ink-2); text-decoration:none; }
footer.site a:hover{ color:var(--ink); }
.legal{ margin-top:34px; padding-top:22px; border-top:1px solid var(--border); font-size:12.6px; color:var(--ink-3); }
.legal p + p{ margin-top:6px; }
.ph{ background:var(--signal-soft); color:var(--signal); padding:0 5px; border-radius:4px; font-weight:500; }

/* ---------- páginas de texto legal ---------- */
.doc{ max-width:760px; margin:0 auto; padding:56px 24px 80px; }
.doc .docTag{ font-size:12px; font-weight:500; letter-spacing:.09em; text-transform:uppercase; color:var(--signal); margin-bottom:12px; }
.doc h1{ font-size:clamp(1.8rem,4.2vw,2.5rem); font-weight:700; line-height:1.12; }
.doc .updated{ font-size:13.5px; color:var(--ink-3); margin-top:12px; }
.doc .sumario{
  background:var(--surface); border:1px solid var(--border); border-radius:14px;
  padding:20px 24px; margin:30px 0 8px;
}
.doc .sumario h2{ font-size:.95rem; font-weight:600; margin-bottom:12px; font-family:"Rubik",sans-serif; }
.doc .sumario ol{ margin:0; padding-left:20px; display:flex; flex-direction:column; gap:7px; }
.doc .sumario a{ font-size:14.3px; color:var(--ink-2); text-decoration:none; }
.doc .sumario a:hover{ color:var(--signal); }
.doc section{ padding:32px 0 0; border-top:0; }
.doc h2.h{ font-size:1.22rem; font-weight:600; margin-bottom:12px; scroll-margin-top:calc(var(--nav-h) + 20px); }
.doc h3.h{ font-size:1.02rem; font-weight:600; margin:22px 0 8px; }
.doc p{ color:var(--ink-2); font-size:15.4px; max-width:68ch; }
.doc p + p{ margin-top:13px; }
.doc strong{ color:var(--ink); font-weight:600; }
.doc ul{ margin:13px 0 0; padding-left:22px; max-width:68ch; }
.doc li{ color:var(--ink-2); font-size:15.2px; margin-bottom:9px; }
.doc li::marker{ color:var(--ink-3); }
.doc .box{
  background:var(--surface); border-left:3px solid var(--signal); border-radius:0 12px 12px 0;
  padding:18px 20px; margin:20px 0; box-shadow:var(--shadow);
}
.doc .box p{ font-size:14.6px; margin:0; }
.doc .box p + p{ margin-top:10px; }
.doc .tabela{ overflow-x:auto; border:1px solid var(--border); border-radius:12px; background:var(--surface); margin:18px 0; }
.doc table{ border-collapse:collapse; width:100%; font-size:14px; min-width:480px; }
.doc th{
  text-align:left; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-3); font-weight:500; padding:11px 14px;
  background:var(--surface-2); border-bottom:1px solid var(--border-2);
}
.doc td{ padding:11px 14px; border-bottom:1px solid var(--border); color:var(--ink-2); vertical-align:top; }
.doc tbody tr:last-child td{ border-bottom:none; }
.doc td strong{ color:var(--ink); }
