:root{
  --paper:#E8ECF1; --paper-up:#F4F7FB; --paper-deep:#DCE2EA;
  --ink:#172031; --ink-2:#2B3440; --ink-3:#687587; --rule:#C3CEDE;
  --accent:#28476F; --accent-2:#9DB7DC; --mark-soft:#CFDCEF;
  --pen:#B23B28; --pen-soft:#F0DBD6; --good:#1F6B52;
  --glass-tint:rgba(244,247,251,.58); --glass-edge:rgba(255,255,255,.62);
  --glass-spec:rgba(255,255,255,.85); --glass-under:rgba(23,32,49,.10);
  --shadow:0 1px 2px rgba(23,32,49,.06), 0 8px 24px -12px rgba(23,32,49,.18);
  --shadow-lift:0 2px 4px rgba(23,32,49,.08), 0 22px 50px -20px rgba(23,32,49,.30);
  --f-display:Georgia,"Times New Roman",serif;
  --f-body:"DM Sans","Helvetica Neue",ui-sans-serif,system-ui,sans-serif;
  --f-mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --f-hand:"Caveat",ui-rounded,cursive;
  --maxw:1080px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#12161D; --paper-up:#1A2029; --paper-deep:#0D1116;
    --ink:#E9EEF6; --ink-2:#B7C2D2; --ink-3:#7A8698; --rule:#2A333F;
    --accent:#8FB2E0; --accent-2:#3D5A83; --mark-soft:#24344C;
    --pen:#E8705C; --pen-soft:#35201C; --good:#4FBF97;
    --glass-tint:rgba(26,32,41,.52); --glass-edge:rgba(255,255,255,.14);
    --glass-spec:rgba(255,255,255,.30); --glass-under:rgba(0,0,0,.45);
    --shadow:0 1px 2px rgba(0,0,0,.5), 0 8px 24px -12px rgba(0,0,0,.7);
    --shadow-lift:0 2px 4px rgba(0,0,0,.55), 0 22px 50px -20px rgba(0,0,0,.85);
  }
}
:root[data-theme="dark"]{
  --paper:#12161D; --paper-up:#1A2029; --paper-deep:#0D1116;
  --ink:#E9EEF6; --ink-2:#B7C2D2; --ink-3:#7A8698; --rule:#2A333F;
  --accent:#8FB2E0; --accent-2:#3D5A83; --mark-soft:#24344C;
  --pen:#E8705C; --pen-soft:#35201C; --good:#4FBF97;
  --glass-tint:rgba(26,32,41,.52); --glass-edge:rgba(255,255,255,.14);
  --glass-spec:rgba(255,255,255,.30); --glass-under:rgba(0,0,0,.45);
  --shadow:0 1px 2px rgba(0,0,0,.5), 0 8px 24px -12px rgba(0,0,0,.7);
  --shadow-lift:0 2px 4px rgba(0,0,0,.55), 0 22px 50px -20px rgba(0,0,0,.85);
}

*{ box-sizing:border-box; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--f-body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px, rgba(23,32,49,.05) 1px, transparent 0);
  background-size:4px 4px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) body::before{ background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.045) 1px, transparent 0); } }
:root[data-theme="dark"] body::before{ background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.045) 1px, transparent 0); }

.wrap{ position:relative; z-index:1; max-width:var(--maxw); margin:0 auto; padding-inline:20px; }
h1,h2,h3{ margin:0; text-wrap:balance; font-weight:400; }
p{ margin:0; }
img{ max-width:100%; display:block; }

.eyebrow{ font-family:var(--f-mono); font-size:11.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
.hand{ font-family:var(--f-hand); font-size:21px; line-height:1.15; color:var(--accent); transform:rotate(-2.2deg); }
.rough{ filter:url(#roughen); }
@keyframes draw{ to{ stroke-dashoffset:0 } }
@keyframes fadeUp{ from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none} }

/* ---------- SPLASH ---------- */
#splash{ position:fixed; inset:0; z-index:200; background:var(--paper); display:grid; place-items:center; padding:24px; transition:opacity .55s ease, visibility .55s; }
#splash::after{ content:""; position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(circle at 1px 1px, rgba(23,32,49,.055) 1px, transparent 0); background-size:4px 4px; }
#splash[hidden]{ opacity:0; visibility:hidden; display:grid!important; pointer-events:none; }
.splash-in{ position:relative; z-index:1; text-align:center; max-width:880px; }
.splash-q{ font-family:var(--f-display); font-size:clamp(32px,6.6vw,70px); line-height:1.05; letter-spacing:-.02em; }
.splash-q .cursor{ display:inline-block; width:.05em; height:.84em; background:var(--pen); margin-left:.04em; transform:translateY(.06em); animation:blink 1s steps(1,end) infinite; }
@keyframes blink{ 50%{opacity:0} }
.splash-sub{ margin-top:18px; color:var(--ink-3); font-family:var(--f-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; opacity:0; animation:fadeUp .5s ease 1.2s forwards; }

/* ---------- NAV — vidro líquido ---------- */
.nav{ position:sticky; top:env(safe-area-inset-top, 0px); z-index:90; padding-block:14px; }
.nav-pill{
  position:relative; isolation:isolate; display:flex; align-items:center; gap:14px; min-width:0;
  border-radius:999px; padding:9px 9px 9px 20px; background:var(--glass-tint);
  -webkit-backdrop-filter:blur(16px) saturate(190%) brightness(1.06);
  backdrop-filter:blur(16px) saturate(190%) brightness(1.06);
  border:1px solid var(--glass-edge);
  box-shadow:inset 0 1px 0 var(--glass-spec), inset 0 -1px 1px rgba(255,255,255,.22),
             inset 0 0 22px rgba(255,255,255,.14), 0 1px 1px var(--glass-under), 0 10px 30px -10px var(--glass-under);
  overflow:hidden;
}
@supports (backdrop-filter: url(#x)){
  .nav-pill::before{
    content:""; position:absolute; inset:0; border-radius:inherit; z-index:-1;
    -webkit-backdrop-filter:url(#liquid); backdrop-filter:url(#liquid);
    -webkit-mask-image:radial-gradient(120% 140% at 50% 50%, transparent 58%, #000 84%);
    mask-image:radial-gradient(120% 140% at 50% 50%, transparent 58%, #000 84%);
  }
}
.nav-pill::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(180px 90px at var(--mx,50%) var(--my,0%), rgba(255,255,255,.55), rgba(255,255,255,0) 65%);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .nav-pill::after{ background:radial-gradient(180px 90px at var(--mx,50%) var(--my,0%), rgba(255,255,255,.16), rgba(255,255,255,0) 65%); } }
:root[data-theme="dark"] .nav-pill::after{ background:radial-gradient(180px 90px at var(--mx,50%) var(--my,0%), rgba(255,255,255,.16), rgba(255,255,255,0) 65%); }
.nav-pill > *{ position:relative; z-index:1; }
.brand{ display:flex; align-items:center; gap:9px; font-weight:700; font-size:16px; min-width:0; }
.brand-dot{ width:22px; height:22px; border-radius:7px; flex:none; background:var(--ink); color:var(--paper); display:grid; place-items:center; font-size:11px; font-weight:700; }
.nav-links{ display:flex; gap:22px; margin-left:12px; }
.nav-links a{ color:var(--ink-2); text-decoration:none; font-size:13.5px; font-weight:500; }
.nav-links a:hover{ color:var(--ink); }
.nav-cta{ margin-left:auto; min-width:0; }
.cta-short{ display:none; }
@media (max-width:760px){ .nav-links{ display:none; } }
@media (max-width:520px){
  .nav-pill{ padding:7px 7px 7px 14px; gap:8px; }
  .nav-cta .btn{ padding:9px 13px; font-size:13px; }
  .cta-long{ display:none; } .cta-short{ display:inline; } .brand{ font-size:14.5px; }
}

/* ---------- BOTÕES ---------- */
.btn{ display:inline-flex; align-items:center; gap:10px; font-family:var(--f-body); font-size:14.5px; font-weight:600; border-radius:999px; border:1px solid transparent; padding:11px 20px; cursor:pointer; text-decoration:none; white-space:nowrap; transition:transform .12s ease, box-shadow .2s ease; }
.btn:active{ transform:translateY(1px); }
.btn-ink{ background:var(--ink); color:var(--paper); box-shadow:var(--shadow); }
.btn-mark{ background:var(--accent); color:#F4F7FB; box-shadow:var(--shadow); }
.btn-ink:hover,.btn-mark:hover{ box-shadow:var(--shadow-lift); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--rule); }
.btn .arr{ width:22px; height:22px; border-radius:50%; flex:none; display:grid; place-items:center; font-size:12px; background:rgba(255,255,255,.2); }

/* ---------- HERO ---------- */
.hero{ padding-block:clamp(40px,6.5vw,76px) 0; text-align:center; }
.hero h1{ font-family:var(--f-display); font-size:clamp(38px,7vw,76px); line-height:1.04; letter-spacing:-.022em; }
.circled{ position:relative; display:inline-block; padding-inline:.12em; }
.circled svg{ position:absolute; left:-10%; top:-22%; width:120%; height:150%; overflow:visible; pointer-events:none; }
.circled path{ fill:none; stroke:var(--pen); stroke-width:2.6; stroke-linecap:round; stroke-dasharray:900; stroke-dashoffset:900; animation:draw 1.1s cubic-bezier(.65,0,.35,1) 1.3s forwards; }
.hero-sub{ margin:22px auto 0; max-width:540px; font-size:clamp(15.5px,2vw,17.5px); color:var(--ink-2); }
.hero-note{ margin-top:14px; display:flex; justify-content:center; }

.diag{ margin:28px auto 0; max-width:540px; text-align:left; background:var(--paper-up); border:1px solid var(--rule); border-radius:18px; padding:14px; box-shadow:var(--shadow-lift); }
.diag-row{ display:flex; gap:10px; }
.diag input{ flex:1; min-width:0; font-family:var(--f-body); font-size:15px; color:var(--ink); background:var(--paper); border:1px solid var(--rule); border-radius:12px; padding:13px 15px; }
.diag input::placeholder{ color:var(--ink-3); }
.diag-foot{ margin-top:10px; font-family:var(--f-mono); font-size:11px; color:var(--ink-3); display:flex; gap:14px; flex-wrap:wrap; }
.tick{ color:var(--good); }
.diag-ok{ margin-top:12px; padding:12px 14px; border-radius:12px; background:var(--paper); border:1px dashed var(--rule); font-size:13.5px; color:var(--ink-2); line-height:1.5; }
@media (max-width:560px){ .diag-row{ flex-direction:column; } }

/* ---------- O PRODUTO ---------- */
.shot-stage{ margin-top:clamp(34px,5vw,58px); perspective:1800px; }
.shot-hero{
  border-radius:16px; overflow:hidden; border:1px solid var(--rule);
  box-shadow:0 40px 80px -40px rgba(23,32,49,.55), var(--shadow-lift);
  transform:rotateX(9deg) translateY(0); transform-origin:50% 0;
  background:var(--paper-up);
}
.shot-cap{ margin-top:14px; text-align:center; font-family:var(--f-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
@media (max-width:700px){
  .shot-stage{ perspective:none; margin-top:30px; }
  .shot-hero{ transform:none; box-shadow:var(--shadow-lift); }
}

section{ padding-block:clamp(48px,7vw,88px); }
.sec-head h2{ font-family:var(--f-display); font-size:clamp(28px,4.6vw,46px); line-height:1.08; letter-spacing:-.018em; margin-top:12px; }
.sec-head p{ margin-top:14px; color:var(--ink-2); font-size:16px; max-width:52ch; }

/* ---------- A PROVA ---------- */
.sheet{ margin-top:34px; display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:26px; align-items:start; }
@media (max-width:820px){ .sheet{ grid-template-columns:1fr; } }
.paper-card{ background:var(--paper-up); border:1px solid var(--rule); border-radius:16px; box-shadow:var(--shadow-lift); overflow:hidden; }
.paper-top{ display:flex; gap:9px; padding:12px 16px; border-bottom:1px solid var(--rule); background:var(--paper-deep); flex-wrap:wrap; }
.chip{ display:inline-flex; align-items:center; gap:7px; font-family:var(--f-mono); font-size:11px; color:var(--ink-2); background:var(--paper); border:1px solid var(--rule); border-radius:999px; padding:4px 10px; }
.chip .dot{ width:7px; height:7px; border-radius:50%; background:var(--good); }
.paper-body{ padding:20px 22px 24px; font-size:15.2px; line-height:1.7; }
.paper-body .q{ font-weight:600; padding-bottom:13px; margin-bottom:15px; border-bottom:1px dashed var(--rule); }
.typed{ white-space:pre-wrap; }
.hl{ display:inline; padding:1px 2px; border-radius:3px; font-weight:600; background-image:linear-gradient(var(--mark-soft),var(--mark-soft)); background-repeat:no-repeat; background-position:left center; background-size:0% 100%; transition:background-size .55s cubic-bezier(.65,0,.35,1); box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.hl.on{ background-size:100% 100%; }
.gap-line{ margin-top:16px; padding:12px 14px; border-radius:11px; border:1.5px dashed var(--pen); background:var(--pen-soft); color:var(--pen); font-weight:600; font-size:14.5px; display:flex; gap:10px; transition:opacity .45s ease, transform .45s ease; }
html.js .gap-line{ opacity:0; transform:translateY(6px); }
html.js .gap-line.on{ opacity:1; transform:none; }
.margin-notes{ display:flex; flex-direction:column; gap:24px; padding-top:16px; }
/* Reservavam espaco e ficavam invisiveis ate a animacao terminar — no celular
   isso abria um vazio de 300px no meio da pagina. Agora so somem com JS vivo. */
.note{ transition:opacity .5s ease, transform .5s ease; }
html.js .note{ opacity:0; transform:translateY(8px); }
html.js .note.on{ opacity:1; transform:none; }
.note .n-sub{ font-size:12.5px; color:var(--ink-3); margin-top:5px; }
@media (max-width:820px){ .margin-notes{ flex-direction:row; flex-wrap:wrap; gap:16px; } .note{ flex:1 1 190px; } }

/* ---------- TELAS ---------- */
.screens{ display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); margin-top:34px; }
/* no celular vira carrossel: encolher tres telas de painel a 350px
   deixaria as tres ilegiveis. Melhor uma de cada vez, deslizando. */
@media (max-width:760px){
  .screens{
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
    margin-inline:-20px; padding-inline:20px; padding-bottom:6px;
    gap:14px; scrollbar-width:none; -webkit-overflow-scrolling:touch;
  }
  .screens::-webkit-scrollbar{ display:none; }
  .screen{ flex:0 0 82%; scroll-snap-align:start; }
  .screens::after{ content:""; flex:0 0 6px; }
}
.screen{ border:1px solid var(--rule); border-radius:14px; overflow:hidden; background:var(--paper-up); box-shadow:var(--shadow); }
.screen img{ width:100%; height:auto; border-bottom:1px solid var(--rule); }
.screen b{ display:block; padding:13px 16px 4px; font-size:14.5px; font-weight:600; }
.screen span{ display:block; padding:0 16px 15px; font-size:13.2px; color:var(--ink-3); }

/* ---------- HONESTO ---------- */
.honest{ background:var(--paper-up); border-block:1px solid var(--rule); }
.honest .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; }
@media (max-width:860px){ .honest .wrap{ grid-template-columns:1fr; gap:30px; } }
.struck{ position:relative; display:inline-block; color:var(--ink-3); }
.struck svg{ position:absolute; left:-4%; top:40%; width:108%; height:34%; overflow:visible; }
.struck path{ fill:none; stroke:var(--pen); stroke-width:2.4; stroke-linecap:round; stroke-dasharray:230; stroke-dashoffset:230; }
.struck.on path{ animation:draw .55s cubic-bezier(.65,0,.35,1) forwards; }
.compare{ display:flex; flex-direction:column; gap:12px; }
.cmp{ border:1px solid var(--rule); border-radius:14px; padding:16px 18px; background:var(--paper); }
.cmp.bad{ border-color:var(--pen); }
.cmp-top{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.cmp-lab{ font-family:var(--f-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
.cmp.bad .cmp-lab{ color:var(--pen); }
.cmp-num{ font-family:var(--f-display); font-size:32px; font-variant-numeric:tabular-nums; }
.err{ position:relative; height:30px; margin-top:12px; border-left:1px solid var(--rule); border-right:1px solid var(--rule); }
.err::before{ content:""; position:absolute; top:50%; left:0; right:0; height:1px; background:var(--rule); }
.err i{ position:absolute; top:50%; transform:translate(-50%,-50%); height:14px; border-radius:99px; background:var(--accent); opacity:.22; }
.err b{ position:absolute; top:50%; transform:translate(-50%,-50%); width:3px; height:18px; border-radius:2px; background:var(--accent); }
.cmp.bad .err b,.cmp.bad .err i{ background:var(--pen); }
.cmp-txt{ margin-top:8px; font-size:13.5px; color:var(--ink-2); }

/* ---------- ASK ---------- */
.ask{ text-align:center; }
.ask-grid{ margin:26px auto 0; display:grid; gap:11px; grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); max-width:740px; }
.ask-btn{ display:flex; align-items:center; justify-content:center; gap:9px; background:var(--paper-up); border:1px solid var(--rule); border-radius:14px; padding:15px 13px; text-decoration:none; color:var(--ink); font-size:14.5px; font-weight:600; transition:transform .14s ease, box-shadow .2s ease; }
.ask-btn:hover{ transform:translateY(-2px); box-shadow:var(--shadow-lift); }

/* ---------- PASSOS ---------- */
.steps{ margin-top:34px; display:grid; gap:24px; grid-template-columns:repeat(auto-fit,minmax(235px,1fr)); }
.step{ border-top:2px solid var(--accent); padding-top:16px; }
.s-n{ font-family:var(--f-mono); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); }
.step h3{ font-size:18px; font-weight:600; margin-top:7px; }
.step p{ margin-top:8px; font-size:14.2px; color:var(--ink-2); }

/* ---------- FINAL ---------- */
.final{ text-align:center; }
.final-box{ background:var(--ink); color:var(--paper); border-radius:24px; padding:clamp(38px,5.5vw,66px) 26px; box-shadow:var(--shadow-lift); position:relative; overflow:hidden; }
.final-box::after{ content:""; position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.07) 1px, transparent 0); background-size:5px 5px; }
.final-box h2{ font-family:var(--f-display); font-size:clamp(28px,5vw,52px); line-height:1.05; letter-spacing:-.02em; position:relative; }
.final-acts{ margin-top:26px; display:flex; gap:11px; justify-content:center; flex-wrap:wrap; position:relative; }

footer{ border-top:1px solid var(--rule); padding-block:32px 40px; font-family:var(--f-mono); font-size:11px; letter-spacing:.04em; color:var(--ink-3); }
.foot-row{ display:flex; gap:16px; flex-wrap:wrap; justify-content:space-between; align-items:center; }
footer a{ color:var(--ink-2); text-decoration:none; }

/* A pagina precisa estar legivel em repouso. O conteudo so parte invisivel
   quando ha JS vivo para revela-lo (html.js) — se o script cair, ou o CSP
   barrar, nada some. */
.rev{ opacity:1; }
@media (prefers-reduced-motion: no-preference){
  html.js .rev{ opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s cubic-bezier(.22,1,.36,1); }
  html.js .rev.on{ opacity:1; transform:none; }
}
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms!important; transition-duration:.001ms!important; }
  .circled path,.struck path{ stroke-dashoffset:0; }
}
@media (max-width:560px){
  section{ padding-block:44px; }
  .hero{ padding-block:26px 0; }
  .sec-head p{ font-size:15px; }
  .final-box{ border-radius:20px; }
  .hand{ font-size:19px; }
}
/* ---------- ANCORAS ---------- */
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
#prova,#painel,#honesto,#faq,#diagnostico,#perguntar{ scroll-margin-top:104px; }

/* ---------- MARCAS DOS MODELOS ---------- */
/* Identificacao dos modelos sem redesenhar logotipo de terceiro: inicial em
   um bloco na cor que o mercado associa a cada um. */
.modelos{ display:flex; gap:7px; flex-wrap:wrap; align-items:center; }
.mod{ display:inline-flex; align-items:center; gap:6px; padding:4px 10px 4px 4px; border-radius:999px;
  border:1px solid var(--rule); background:var(--paper); font-family:var(--f-mono); font-size:11px;
  color:var(--ink-3); transition:border-color .3s ease, color .3s ease, background .3s ease; }
.mod i{ width:17px; height:17px; border-radius:5px; display:grid; place-items:center; font-style:normal;
  font-weight:700; font-size:10px; color:#fff; letter-spacing:0; }
.mod[data-ativo="1"]{ color:var(--ink); background:var(--paper-up); border-color:var(--ink-3); }
.mod-gpt i{ background:#0E8F6F; } .mod-cla i{ background:#C86740; }
.mod-gem i{ background:#3B6FD4; } .mod-ppx i{ background:#1F7A85; }
.mod-nota{ font-family:var(--f-mono); font-size:10.5px; color:var(--ink-3); letter-spacing:.04em; }

/* ---------- TELAS (grande) ---------- */
.tela{ display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:clamp(20px,3.4vw,44px);
  align-items:center; padding-block:clamp(26px,3.4vw,42px); border-top:1px solid var(--rule); }
.tela:first-child{ border-top:0; }
.tela:nth-child(even) .tela-fig{ order:2; }
.tela-fig{ margin:0; border:1px solid var(--rule); border-radius:16px; overflow:hidden;
  background:var(--paper-up); box-shadow:var(--shadow-lift); }
.tela-fig img{ display:block; width:100%; height:auto; }
.tela-txt h3{ font-family:var(--f-display); font-size:clamp(21px,2.5vw,29px); line-height:1.12; letter-spacing:-.015em; }
.tela-txt p{ margin-top:10px; color:var(--ink-2); font-size:15.4px; line-height:1.62; }
.tela-num{ font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); }
@media (max-width:820px){
  .tela{ grid-template-columns:1fr; gap:16px; padding-block:26px; }
  .tela:nth-child(even) .tela-fig{ order:0; }
}

/* ---------- PERGUNTAS ---------- */
.faq{ margin-top:26px; border-top:1px solid var(--rule); }
.faq details{ border-bottom:1px solid var(--rule); }
.faq summary{ cursor:pointer; list-style:none; padding:18px 40px 18px 0; position:relative;
  font-size:16.5px; font-weight:600; color:var(--ink); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%);
  font-family:var(--f-mono); font-size:19px; color:var(--ink-3); transition:transform .25s ease; }
.faq details[open] summary::after{ content:"–"; }
.faq .resp{ padding:0 0 20px; color:var(--ink-2); font-size:15.2px; line-height:1.68; max-width:70ch; }
.faq .resp a{ color:var(--accent); }

/* ---------- RODAPE ---------- */
footer{ border-top:1px solid var(--rule); margin-top:8px; padding-block:clamp(36px,5vw,56px) 34px; }
.foot-grid{ display:grid; grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)); gap:clamp(20px,3vw,40px); }
@media (max-width:860px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .foot-grid{ grid-template-columns:1fr; gap:26px; } }
.foot-marca{ display:flex; align-items:center; gap:9px; font-weight:700; font-size:16px; color:var(--ink); }
.foot-sobre{ margin-top:12px; color:var(--ink-3); font-size:13.6px; line-height:1.62; max-width:42ch; }
.foot-col h4{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:12px; font-weight:500; }
.foot-col ul{ list-style:none; display:flex; flex-direction:column; gap:9px; }
.foot-col a{ color:var(--ink-2); text-decoration:none; font-size:14px; }
.foot-col a:hover{ color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.foot-fim{ margin-top:clamp(28px,4vw,44px); padding-top:22px; border-top:1px solid var(--rule);
  display:flex; gap:14px 26px; flex-wrap:wrap; justify-content:space-between; align-items:baseline; }
.foot-fim, .foot-fim a{ font-family:var(--f-mono); font-size:11px; letter-spacing:.04em; color:var(--ink-3); }
.foot-fim a{ text-decoration:none; } .foot-fim a:hover{ color:var(--accent); }
.foot-legal{ margin-top:16px; color:var(--ink-3); font-size:11.6px; line-height:1.62; max-width:92ch; }
.foot-legal b{ color:var(--ink-2); font-weight:600; }

/* ---------- COOKIES ---------- */
.ck{ position:fixed; left:14px; right:14px; bottom:14px; z-index:180; max-width:560px; margin-inline:auto;
  background:var(--paper-up); border:1px solid var(--rule); border-radius:16px; padding:18px 20px;
  box-shadow:var(--shadow-lift); display:none; }
.ck[data-abrir="1"]{ display:block; }
.ck h5{ font-size:15px; font-weight:700; }
.ck p{ margin-top:7px; color:var(--ink-2); font-size:13.4px; line-height:1.6; }
.ck p a{ color:var(--accent); }
.ck-acts{ margin-top:14px; display:flex; gap:9px; flex-wrap:wrap; }
.ck-acts .btn{ padding:9px 15px; font-size:13.5px; }
@media (prefers-reduced-motion: no-preference){
  .ck{ animation:ckSobe .45s cubic-bezier(.22,1,.36,1) both; }
  @keyframes ckSobe{ from{ opacity:0; transform:translateY(16px);} to{ opacity:1; transform:none; } }
}

:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
