:root{
  --bg:#F6F2EA; --surface:#FFFFFF; --surface-2:#EEE7DA;
  --ink:#17181C; --ink-soft:#55575E; --line:#DED5C4;
  --acento:#F2A900; --acento-forte:#9A6400; --acento-suave:#FFF0C7;
  --noite:#1A1D29; --noite-2:#252A3A; --luz:#FFC43D;
  --ok:#1E7F4F; --ok-suave:#E3F4EA; --alerta:#B3261E; --alerta-suave:#FCE8E6;
  --sombra:0 1px 2px rgba(23,24,28,.06), 0 10px 28px rgba(23,24,28,.09);
  --raio:16px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#121420; --surface:#1B1E2B; --surface-2:#232738;
    --ink:#F1EEE6; --ink-soft:#AEB0BA; --line:#2F3446;
    --acento:#FFC43D; --acento-forte:#FFD778; --acento-suave:#3A2F12;
    --ok:#6FD39C; --ok-suave:#15301F; --alerta:#FF8A80; --alerta-suave:#3A1714;
    --sombra:0 1px 2px rgba(0,0,0,.4), 0 14px 30px rgba(0,0,0,.45);
  }
}
:root[data-theme="dark"]{
  --bg:#121420; --surface:#1B1E2B; --surface-2:#232738;
  --ink:#F1EEE6; --ink-soft:#AEB0BA; --line:#2F3446;
  --acento:#FFC43D; --acento-forte:#FFD778; --acento-suave:#3A2F12;
  --ok:#6FD39C; --ok-suave:#15301F; --alerta:#FF8A80; --alerta-suave:#3A1714;
  --sombra:0 1px 2px rgba(0,0,0,.4), 0 14px 30px rgba(0,0,0,.45);
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Figtree', ui-sans-serif, system-ui, sans-serif;
  font-size:18px; line-height:1.6;
}
img{ max-width:100%; }
a{ color:inherit; }
h1,h2,h3{ font-family:'Big Shoulders Display', 'Arial Narrow', sans-serif; font-weight:800; line-height:1.05; letter-spacing:.005em; text-wrap:balance; margin:0; }
h1{ font-size:clamp(2.6rem, 8vw, 4.4rem); }
h2{ font-size:clamp(2rem, 5.5vw, 3rem); margin-bottom:10px; }
h3{ font-size:1.5rem; margin-bottom:6px; }
p{ margin:0 0 14px; }
.gutter{ padding-inline:16px; }
@media (min-width:600px){ .gutter{ padding-inline:24px; } }
.wrap{ max-width:1080px; margin:0 auto; }
.estreito{ max-width:760px; margin:0 auto; }
.sub{ color:var(--ink-soft); max-width:60ch; font-size:1.08rem; }
.eyebrow{
  font-size:.8rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--acento-forte); display:flex; align-items:center; gap:10px; margin-bottom:12px;
}
.eyebrow::before{ content:""; width:22px; height:3px; border-radius:3px; background:var(--acento); }

/* topo */
header.topo{ position:sticky; top:0; z-index:30; background:var(--bg); border-bottom:1px solid var(--line); }
.topo-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block:12px; }
.marca{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.marca img{ height:40px; width:auto; display:block; }
.menu{ display:flex; gap:4px; overflow-x:auto; scrollbar-width:none; padding-bottom:10px; }
.menu::-webkit-scrollbar{ display:none; }
.menu a{ white-space:nowrap; text-decoration:none; font-weight:600; font-size:.95rem; padding:8px 14px; border-radius:999px; color:var(--ink-soft); }
.menu a:hover, .menu a[aria-current="page"]{ background:var(--surface-2); color:var(--ink); }
@media (min-width:900px){
  .topo-row{ padding-block:14px; }
  .menu{ padding-bottom:0; }
  .topo-inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
  .topo-inner .topo-row{ flex:none; }
}

/* botões */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:inherit; font-weight:700; font-size:1.02rem; line-height:1.2;
  padding:15px 24px; border-radius:999px; text-decoration:none; cursor:pointer;
  border:2px solid transparent; min-height:52px; text-align:center;
}
.btn-luz{ background:var(--acento); color:#1A1400; box-shadow:0 0 0 0 rgba(242,169,0,.0), var(--sombra); }
.btn-luz:hover{ filter:brightness(1.06); }
.btn-contorno{ border-color:var(--ink); color:var(--ink); background:transparent; }
.btn-pequeno{ min-height:42px; padding:9px 16px; font-size:.92rem; }
.btn svg{ width:20px; height:20px; flex:none; }
.botoes{ display:flex; gap:12px; flex-wrap:wrap; }
@media (max-width:480px){ .botoes .btn{ width:100%; } }

/* seções */
section{ padding-block:64px; border-bottom:1px solid var(--line); }
section.escura{ background:var(--noite); color:#F1EEE6; border-bottom:none; }
section.escura .sub{ color:#C3C6D2; }
section.escura .eyebrow{ color:var(--luz); }
section.suave{ background:var(--surface-2); }

/* hero */
.hero{ padding-block:48px 64px; }
.hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; }
@media (max-width:860px){ .hero-grid{ grid-template-columns:1fr; gap:36px; } }
.hero h1 em{ font-style:normal; color:var(--acento-forte); }
.hero .lede{ font-size:1.2rem; color:var(--ink-soft); max-width:46ch; margin:18px 0 28px; }
.selos{ display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:26px; font-size:.95rem; color:var(--ink-soft); }
.selos span{ display:inline-flex; align-items:center; gap:8px; }
.selos span::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--acento); box-shadow:0 0 8px var(--acento); }

/* o letreiro (ilustração em CSS) */
.letreiro{
  position:relative; background:var(--noite); border-radius:22px; padding:34px 26px;
  box-shadow:var(--sombra); color:#fff; overflow:hidden;
}
.letreiro::before, .letreiro::after{
  content:""; position:absolute; left:18px; right:18px; height:10px;
  background-image:radial-gradient(circle, var(--luz) 0 3.2px, transparent 3.6px);
  background-size:22px 10px; background-repeat:repeat-x;
  filter:drop-shadow(0 0 4px rgba(255,196,61,.8));
}
.letreiro::before{ top:12px; } .letreiro::after{ bottom:12px; }
.letreiro-linha{
  display:flex; align-items:center; gap:14px; padding:14px 16px; margin:10px 0;
  border-radius:14px; background:var(--noite-2); font-weight:600; font-size:1rem;
}
.letreiro-linha b{ font-family:'Big Shoulders Display', sans-serif; font-size:1.5rem; letter-spacing:.04em; color:var(--luz); text-shadow:0 0 12px rgba(255,196,61,.55); min-width:92px; }
.letreiro-linha small{ display:block; color:#B9BCC8; font-weight:500; font-size:.88rem; }
.aceso{ animation:acende 2.8s ease-in-out infinite; }
@keyframes acende{ 0%,100%{ opacity:1; } 50%{ opacity:.78; } }
@media (prefers-reduced-motion: reduce){ .aceso{ animation:none; } }

/* cartões */
.grade-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.grade-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.grade-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media (max-width:900px){ .grade-3, .grade-4{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .grade-2, .grade-3, .grade-4{ grid-template-columns:1fr; } }
.cartao{ background:var(--surface); border:1px solid var(--line); border-radius:var(--raio); padding:24px; box-shadow:var(--sombra); }
.cartao p{ color:var(--ink-soft); }
.cartao .preco{ display:flex; gap:22px; flex-wrap:wrap; margin:16px 0 18px; padding-top:16px; border-top:1px dashed var(--line); }
.preco div{ display:flex; flex-direction:column; }
.preco strong{ font-family:'Big Shoulders Display', sans-serif; font-size:2.1rem; line-height:1; color:var(--acento-forte); }
.preco small{ color:var(--ink-soft); font-size:.9rem; }
.lista{ list-style:none; padding:0; margin:0 0 8px; }
.lista li{ position:relative; padding:7px 0 7px 32px; }
.lista li::before{ content:""; position:absolute; left:4px; top:15px; width:14px; height:8px; border-left:3px solid var(--ok); border-bottom:3px solid var(--ok); transform:rotate(-45deg); }
.lista.nao li::before{ width:16px; height:3px; border:none; background:var(--alerta); transform:rotate(45deg); top:20px; box-shadow:none; }
.lista.nao li::after{ content:""; position:absolute; left:4px; top:20px; width:16px; height:3px; background:var(--alerta); transform:rotate(-45deg); }
section.escura .lista li::before{ border-color:#6FD39C; }
section.escura .lista.nao li::before, section.escura .lista.nao li::after{ background:#FF8A80; }
.tag{ display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:5px 10px; border-radius:999px; background:var(--acento-suave); color:var(--acento-forte); margin-bottom:12px; }

/* passos */
.passos{ counter-reset:passo; }
.passo .n{ font-family:'Big Shoulders Display', sans-serif; font-weight:900; font-size:3rem; line-height:1; color:var(--acento); margin-bottom:8px; }
.passo h3{ font-family:'Figtree', sans-serif; font-weight:700; font-size:1.12rem; }
.passo p{ color:var(--ink-soft); font-size:1rem; }
section.escura .passo p{ color:#C3C6D2; }

/* avisos */
.aviso{ border-radius:14px; padding:18px 20px; border:1px solid var(--line); background:var(--surface); }
.aviso.amarelo{ background:var(--acento-suave); border-color:transparent; }
.aviso.vermelho{ background:var(--alerta-suave); border-color:transparent; }
.aviso.verde{ background:var(--ok-suave); border-color:transparent; }
.aviso p:last-child{ margin-bottom:0; }

/* perguntas */
details{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:4px 20px; margin-bottom:12px; }
summary{ cursor:pointer; font-weight:700; padding:14px 0; list-style:none; display:flex; justify-content:space-between; gap:12px; }
summary::-webkit-details-marker{ display:none; }
summary::after{ content:"+"; font-size:1.4rem; line-height:1; color:var(--acento-forte); }
details[open] summary::after{ content:"–"; }
details p, details ul{ color:var(--ink-soft); }

/* tabelas */
.tabela{ width:100%; border-collapse:collapse; font-size:1rem; background:var(--surface); border-radius:14px; overflow:hidden; }
.tabela th, .tabela td{ text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.tabela th{ background:var(--surface-2); font-size:.9rem; }
.rolar{ overflow-x:auto; }

/* formulários */
label{ display:block; font-weight:700; margin:14px 0 6px; }
input[type=text], input[type=tel], textarea, select{
  width:100%; font:inherit; font-size:1.05rem; padding:13px 14px; border-radius:12px;
  border:1.5px solid var(--line); background:var(--surface); color:var(--ink);
}
input:focus, textarea:focus, select:focus{ outline:3px solid var(--acento); outline-offset:1px; }
.check{ display:flex; gap:12px; align-items:flex-start; padding:12px 14px; border:1.5px solid var(--line); border-radius:12px; background:var(--surface); margin-bottom:10px; cursor:pointer; font-weight:500; }
.check input{ width:22px; height:22px; margin-top:3px; flex:none; accent-color:var(--acento-forte); }
.check small{ display:block; color:var(--ink-soft); }
.saida{ white-space:pre-wrap; background:var(--surface); border:1.5px dashed var(--acento); border-radius:14px; padding:16px; font-size:.98rem; }
.placar{ font-family:'Big Shoulders Display', sans-serif; font-size:4rem; line-height:1; color:var(--acento-forte); }

/* rodapé */
footer{ padding-block:40px; font-size:.95rem; color:var(--ink-soft); }
footer .wrap{ display:grid; gap:16px; }
footer nav{ display:flex; flex-wrap:wrap; gap:8px 18px; }
footer nav a{ text-decoration:none; font-weight:600; }
.aviso-marca{ font-size:.85rem; }

/* botão flutuante */
.flutuante{ position:fixed; right:16px; bottom:16px; z-index:40; border-radius:999px; box-shadow:0 8px 24px rgba(0,0,0,.25); }
@media print{ header.topo, .flutuante, footer nav, .nao-imprimir{ display:none !important; } body{ background:#fff; color:#000; } section{ border:none; padding-block:16px; } }
