:root{
  --ink:#16241E; --ink-2:#1E2F27; --ink-3:#283B31;
  --paper:#F5F6F2; --card:#FFFFFF;
  --amber:#E0952B; --amber-soft:#F6E7C9;
  --pine:#2E6A54; --pine-deep:#245945;
  --text:#1D2A24; --muted:#5C6B62; --line:#E1E4DC; --line-ink:#31463A;
  --font-d:'Bricolage Grotesque',Georgia,serif;
  --font-b:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-m:'Spline Sans Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --wrap:1120px; --r:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-b);color:var(--text);background:var(--paper);line-height:1.65;font-size:1.02rem;-webkit-font-smoothing:antialiased}
a{color:var(--pine-deep);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--font-d);color:var(--ink);letter-spacing:-.02em;line-height:1.1;font-weight:700}
:focus-visible{outline:2.5px solid var(--amber);outline-offset:3px;border-radius:4px}

/* mono kicker / eyebrow */
.kicker{font-family:var(--font-m);font-size:.72rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--pine)}
.kicker.on-ink{color:var(--amber)}
.kicker .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);vertical-align:middle;margin-right:8px}

.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-b);font-weight:600;font-size:1rem;padding:15px 26px;border-radius:12px;border:1.5px solid var(--ink);background:var(--ink);color:#F5F6F2;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 12px 24px rgba(22,36,30,.22);background:var(--ink-2)}
.btn .arw{transition:transform .18s ease}
.btn:hover .arw{transform:translateX(4px)}
.btn.amber{background:var(--amber);border-color:var(--amber);color:#2A1E05}
.btn.amber:hover{background:#EBA23D;box-shadow:0 12px 24px rgba(224,149,43,.32)}
.btn.ghost{background:transparent;color:var(--ink);border-color:rgba(22,36,30,.28)}
.btn.ghost:hover{background:rgba(22,36,30,.05);box-shadow:none}
.btn.on-ink.ghost{color:#EAF0EA;border-color:rgba(245,246,242,.28)}
.btn.on-ink.ghost:hover{background:rgba(245,246,242,.08)}

.section{padding:104px 0}
.section--paper{background:var(--paper)}
.section--card{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{max-width:660px;margin:0 auto 56px;text-align:center}
.section-head .kicker{display:block;margin-bottom:16px}
.section-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800}
.section-head p{color:var(--muted);font-size:1.08rem;margin-top:14px}

/* ── aviso topo (compliance) ── */
.topbar{background:#101A15;color:#C9D6CC;font-size:.8rem;text-align:center;padding:9px 18px;font-weight:500}
.topbar b{color:#fff}

/* ── header ── */
header{position:sticky;top:0;z-index:50;background:rgba(245,246,242,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{display:flex;align-items:center;gap:11px;font-family:var(--font-d);font-weight:800;font-size:1.16rem;color:var(--ink);letter-spacing:-.02em}
.logo:hover{text-decoration:none}
.logo .plate-mini{font-family:var(--font-m);font-size:.62rem;font-weight:600;letter-spacing:.14em;background:var(--ink);color:var(--amber);padding:5px 7px;border-radius:5px;border:1px solid var(--ink-3)}
.menu{display:flex;gap:30px;align-items:center}
.menu a{color:var(--text);font-weight:500;font-size:.96rem}
.menu a:hover{color:var(--pine);text-decoration:none}
.menu .btn{padding:11px 20px}
.burger{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--ink);line-height:1}
@media(max-width:900px){.menu{display:none}.burger{display:block}}

/* ── HERO ── */
.hero{position:relative;background:var(--ink);color:#EAF0EA;overflow:hidden;padding:80px 0 96px}
.hero .gantry{position:absolute;top:0;left:0;width:100%;height:150px;opacity:.5;pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 80% 0%,rgba(224,149,43,.10),transparent 60%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-top:70px}
.hero .kicker{margin-bottom:20px;display:block}
.hero h1{color:#F5F6F2;font-size:clamp(2.5rem,5.6vw,4.3rem);font-weight:800;line-height:1.02;letter-spacing:-.035em}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero .lead{color:#B9C7BC;font-size:1.16rem;margin:22px 0 32px;max-width:38ch}
.hero .trust{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.hero .trust .t{font-family:var(--font-m);font-size:.74rem;letter-spacing:.04em;color:#9DB0A2;border:1px solid var(--line-ink);border-radius:999px;padding:8px 14px}
.hero .trust .t b{color:#EAF0EA;font-weight:600}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:44px;padding-top:40px}.hero{padding-bottom:72px}}

/* placa/etiqueta assinatura */
.tag{position:relative;background:#FbFCFA;border-radius:18px;padding:0;box-shadow:0 30px 60px rgba(0,0,0,.35);overflow:hidden;border:1px solid rgba(255,255,255,.5)}
.tag .tag-top{display:flex;align-items:center;justify-content:space-between;background:var(--ink);padding:11px 18px}
.tag .tag-top .k{font-family:var(--font-m);font-size:.66rem;letter-spacing:.2em;color:var(--amber);text-transform:uppercase}
.tag .tag-top .k .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);margin-right:7px;vertical-align:middle}
.tag .tag-top .status{font-family:var(--font-m);font-size:.64rem;letter-spacing:.14em;color:#8FA396}
.tag .tag-body{padding:30px 26px 26px;position:relative}
.tag .tag-plate{font-family:var(--font-d);font-weight:800;font-size:2rem;letter-spacing:.02em;color:var(--ink);text-transform:uppercase;line-height:1}
.tag .tag-sub{font-family:var(--font-m);font-size:.72rem;letter-spacing:.1em;color:var(--muted);margin-top:10px;text-transform:uppercase}
.tag .tag-rows{margin-top:22px;border-top:1px dashed var(--line);padding-top:18px;display:grid;gap:13px}
.tag .tag-rows .row{display:flex;align-items:center;gap:12px;font-size:.95rem;color:var(--text)}
.tag .tag-rows .row svg{flex:0 0 auto}
.scan{position:absolute;left:0;right:0;top:0;height:34px;background:linear-gradient(180deg,rgba(224,149,43,0),rgba(224,149,43,.28) 60%,rgba(224,149,43,.9));border-bottom:2px solid var(--amber);animation:scan 2.6s ease-in-out 1 forwards;pointer-events:none}
@keyframes scan{0%{transform:translateY(-40px);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateY(320px);opacity:0}}

/* ── cards ── */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.grid3{grid-template-columns:1fr}}
.svc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:border-color .2s,transform .2s,box-shadow .2s;position:relative}
.svc:hover{border-color:var(--pine);transform:translateY(-3px);box-shadow:0 18px 40px rgba(22,36,30,.09)}
.svc .svc-tag{font-family:var(--font-m);font-size:.66rem;letter-spacing:.16em;color:var(--pine);text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:8px}
.svc .svc-tag .n{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:3px 7px;color:var(--muted)}
.svc h3{font-size:1.22rem;font-weight:700;margin-bottom:9px}
.svc p{color:var(--muted);font-size:.97rem}

/* ── free flow protocolo ── */
.ff-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center}
@media(max-width:900px){.ff-split{grid-template-columns:1fr;gap:40px}}
.ff-copy .kicker{display:block;margin-bottom:16px}
.ff-copy h2{font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:800;margin-bottom:18px}
.ff-copy p{color:var(--muted);margin-bottom:16px}
.ff-copy strong{color:var(--text)}
.callout{background:var(--amber-soft);border:1px solid #EAD3A0;border-left:4px solid var(--amber);border-radius:0 12px 12px 0;padding:16px 20px;color:#5C4410;font-size:.96rem;margin-top:8px}
.proto{display:grid;gap:0}
.proto .st{display:grid;grid-template-columns:auto 1fr;gap:20px;position:relative;padding-bottom:26px}
.proto .st:last-child{padding-bottom:0}
.proto .st .idx{font-family:var(--font-m);font-weight:600;font-size:.82rem;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:9px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;z-index:2}
.proto .st::before{content:"";position:absolute;left:22.5px;top:46px;bottom:0;width:1.5px;background:linear-gradient(var(--pine),transparent);z-index:1}
.proto .st:last-child::before{display:none}
.proto .st h4{font-size:1.08rem;font-weight:700;margin-bottom:3px;font-family:var(--font-d)}
.proto .st p{color:var(--muted);font-size:.95rem}

/* ── FAQ ── */
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;font-family:var(--font-d);font-weight:700;font-size:1.08rem;color:var(--ink);padding:18px 40px 18px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:15px;font-size:1.5rem;color:var(--pine);font-family:var(--font-b);transition:transform .2s}
.faq details[open] summary::after{content:"\2013";}
.faq details p{padding:0 40px 20px 0;color:var(--muted);font-size:.97rem}

/* ── políticas ── */
.pol{max-width:900px;margin:0 auto}
.pol .policy{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:32px;margin-bottom:18px}
.pol .policy h3{font-family:var(--font-d);font-size:1.3rem;margin-bottom:8px;color:var(--ink);display:flex;align-items:baseline;gap:12px}
.pol .policy h3 .n{font-family:var(--font-m);font-size:.8rem;color:var(--pine);font-weight:600}
.pol .policy p,.pol .policy li{color:var(--muted);font-size:.95rem;margin-bottom:10px}
.pol .policy ul{padding-left:20px;margin-top:6px}
.pol .policy strong{color:var(--text)}

/* ── footer ── */
footer{background:var(--ink);color:#9DB0A2;padding:66px 0 30px;font-size:.92rem}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:44px;margin-bottom:40px}
@media(max-width:900px){.fgrid{grid-template-columns:1fr;gap:30px}}
footer h4{font-family:var(--font-m);color:#8FA396;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px;font-weight:600}
footer .fbrand{font-family:var(--font-d);color:#F5F6F2;font-weight:800;font-size:1.25rem;margin-bottom:12px}
footer p{color:#9DB0A2;margin-bottom:6px}
footer .data{font-family:var(--font-m);font-size:.82rem;color:#B4C3B7}
footer a{color:#9DB0A2}
footer a:hover{color:#EAF0EA}
footer ul{list-style:none}
footer li{margin-bottom:10px}
.legal{border-top:1px solid var(--line-ink);padding-top:24px;color:#7C8E82;font-size:.8rem;line-height:1.7}
.legal strong{color:#B4C3B7}

/* ── cookie ── */
#cookie{position:fixed;bottom:16px;left:16px;right:16px;z-index:60;max-width:var(--wrap);margin:0 auto;background:var(--ink);border:1px solid var(--ink-3);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.3);padding:18px 22px;display:none}
#cookie.show{display:block}
#cookie .cwrap{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
#cookie p{font-size:.88rem;color:#C9D6CC;flex:1;min-width:260px;margin:0}
#cookie p a{color:var(--amber)}
#cookie .cbtns{display:flex;gap:10px}
#cookie .btn{padding:11px 20px;font-size:.9rem}

/* políticas — conteúdo legal completo */
.policy h4{font-family:var(--font-d);font-size:1.04rem;color:var(--ink);margin:22px 0 8px}
.policy .meta{font-family:var(--font-m);font-size:.72rem;letter-spacing:.06em;color:var(--muted);margin:-2px 0 14px}
.ltab-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:10px 0 6px}
.ltab{width:100%;border-collapse:collapse;font-size:.85rem;min-width:440px}
.ltab th,.ltab td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top;color:var(--muted)}
.ltab th{font-family:var(--font-m);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--paper);font-weight:600;white-space:nowrap}
.ltab td strong{color:var(--text)}
.decl{background:var(--amber-soft);border:2px solid var(--amber);border-radius:14px;padding:22px 24px;margin-bottom:24px}
.decl .tt{font-family:var(--font-m);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#8a5a00;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.decl p{color:#5c4410;font-size:.92rem;margin-bottom:12px;line-height:1.7}
.decl p:last-child{margin-bottom:0}
.decl strong{color:#3f2f0a}
.decl a{color:#8a5a00;text-decoration:underline;font-weight:600}
.permit{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:14px}
@media(max-width:640px){.permit{grid-template-columns:1fr}}
.permit .h{font-family:var(--font-m);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:8px}
.permit .ok .h{color:var(--pine)}
.permit .no .h{color:#b3392f}

/* seções informativas */
.pill{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-m);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:5px 11px;border-radius:999px;border:1px solid;margin-bottom:16px}
.pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}
.pill--vigor{color:var(--pine);border-color:rgba(46,106,84,.35);background:rgba(46,106,84,.08)}
.pill--reg{color:#9a6100;border-color:rgba(224,149,43,.45);background:var(--amber-soft)}
.pill--prop{color:var(--muted);border-color:var(--line);background:var(--paper)}
.news h3{font-size:1.16rem;margin-bottom:8px;font-weight:700}
.news p{color:var(--muted);font-size:.95rem}
.news .ref{font-family:var(--font-m);font-size:.71rem;color:var(--pine);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.qguide{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
@media(max-width:760px){.qguide{grid-template-columns:1fr}}
.qcard{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px}
.qcard .qk{font-family:var(--font-m);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pine);margin-bottom:10px}
.qcard h4{font-size:1.04rem;margin-bottom:6px;font-family:var(--font-d)}
.qcard p{color:var(--muted);font-size:.9rem}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .scan{display:none}
}
