@font-face { font-family:"Garet"; src:url("fonts/garet/Garet-Regular.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Garet"; src:url("fonts/garet/Garet-Medium.woff2") format("woff2"); font-weight:500; font-display:swap; }
@font-face { font-family:"Garet"; src:url("fonts/garet/Garet-Bold.woff2") format("woff2"); font-weight:700; font-display:swap; }
@font-face { font-family:"Garet"; src:url("fonts/garet/Garet-Extra-Bold.woff2") format("woff2"); font-weight:800; font-display:swap; }

:root{
  --green:#46603a; --green-dark:#34492a; --poseidon:#222d19; --hermes:#565e48;
  --terracota:#b95839; --cobre:#a95821; --amber:#c98a42;
  --off-white:#f8f7f4; --areia:#f6f0e9; --border:#e4dfd9; --muted:#565e48;
  --display:"Garet", system-ui, -apple-system, "Segoe UI", sans-serif;
  --body:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; font-family:var(--body); font-weight:300; color:var(--poseidon);
  background:var(--off-white); line-height:1.55; font-size:15px;
  -webkit-font-smoothing:antialiased;
}
.wrap{ max-width:880px; margin:0 auto; padding:0 20px; }

.previa{ background:#2b2b2b; color:#fff; font-size:12.5px; text-align:center; padding:8px 16px; }
.previa b{ color:var(--amber); }
.previa a{ color:#fff; }

/* ---------- hero ---------- */
.hero{ background:var(--green); color:#fff; padding:44px 0 40px; }
.hero .logo{ height:42px; margin-bottom:20px; display:block; }
.hero .kick{ display:block; font-weight:600; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:rgba(255,255,255,.8); }
.hero h1{ font-family:var(--display); font-weight:800; font-size:40px; line-height:1.08; letter-spacing:-.015em; margin:10px 0 12px; }
.hero p{ margin:0; font-size:16px; color:rgba(255,255,255,.9); max-width:60ch; }
.hero .meta{ margin-top:22px; padding-top:16px; border-top:1px solid rgba(255,255,255,.2); font-size:12.5px; color:rgba(255,255,255,.75); display:flex; gap:18px; flex-wrap:wrap; }

/* selo de link pessoal */
.selo{
  display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25); border-radius:4px; padding:9px 14px; margin-bottom:18px;
  font-size:12.5px; color:rgba(255,255,255,.92);
}
.selo b{ font-family:var(--display); font-weight:700; color:#fff; }
.selo .pin{ font-size:14px; opacity:.8; }

/* ---------- barra fixa ---------- */
.bar{ position:sticky; top:0; z-index:20; background:var(--poseidon); color:#fff; box-shadow:0 2px 14px rgba(0,0,0,.18); }
.bar .inner{ max-width:880px; margin:0 auto; padding:11px 20px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.bar .track{ flex:1; min-width:140px; height:7px; background:rgba(255,255,255,.16); border-radius:99px; overflow:hidden; }
.bar .fill{ height:100%; width:0%; background:var(--amber); transition:width .35s ease; }
.bar .label{ font-size:12.5px; color:rgba(255,255,255,.85); white-space:nowrap; }
.bar .label b{ font-family:var(--display); font-weight:700; color:#fff; font-size:14px; }
.bar button{ font-family:var(--display); font-weight:700; font-size:13px; cursor:pointer; background:var(--terracota); color:#fff; border:0; border-radius:4px; padding:9px 16px; transition:opacity .2s; }
.bar button:disabled{ opacity:.35; cursor:default; }
.bar .ghost{ background:transparent; border:1px solid rgba(255,255,255,.3); color:rgba(255,255,255,.85); font-weight:500; font-size:12px; padding:8px 12px; }

/* ---------- perguntas ---------- */
.phase{ margin-top:38px; }
.phase-bar{ display:flex; align-items:center; gap:14px; background:var(--areia); padding:14px 18px; border-radius:4px; }
.phase-bar .num{ width:36px; height:36px; flex:0 0 auto; background:var(--terracota); color:#fff; font-family:var(--display); font-weight:800; font-size:19px; display:grid; place-items:center; border-radius:3px; }
.phase-bar .pk{ font-weight:600; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--terracota); display:block; }
.phase-bar .pt{ font-family:var(--display); font-weight:700; font-size:19px; color:var(--poseidon); display:block; margin-top:1px; }
.phase-intro{ font-size:14px; color:var(--muted); font-style:italic; margin:14px 2px 0; }

.group{ margin-top:26px; }
.group h3{ font-family:var(--display); font-weight:700; font-size:15px; color:var(--cobre); margin:0 0 10px; padding-bottom:7px; border-bottom:1px solid var(--border); }

.item{ display:flex; align-items:center; gap:16px; padding:13px 16px; background:#fff; border:1px solid var(--border); border-radius:4px; margin-bottom:8px; }
.item .txt{ flex:1; font-size:14px; line-height:1.5; }
.item abbr{ text-decoration:none; border-bottom:1px dotted var(--cobre); cursor:help; }
.opts{ display:flex; gap:6px; flex:0 0 auto; }
.opts label{ font-family:var(--display); font-weight:600; font-size:11.5px; padding:7px 12px; border:1px solid var(--border); border-radius:3px; cursor:pointer; color:var(--muted); background:var(--off-white); user-select:none; white-space:nowrap; transition:all .15s; }
.opts label:hover{ border-color:var(--hermes); }
.opts label.sel-sim{ background:var(--green); border-color:var(--green); color:#fff; }
.opts label.sel-parcial{ background:var(--amber); border-color:var(--amber); color:#fff; }
.opts label.sel-nao{ background:var(--terracota); border-color:var(--terracota); color:#fff; }

/* ---------- resultado ---------- */
.result{ margin:52px 0 0; display:none; }
.result.on{ display:block; }
.result-card{ background:#fff; border:1px solid var(--border); border-radius:5px; overflow:hidden; box-shadow:0 10px 40px rgba(34,45,25,.08); }
.result-head{ padding:30px 32px 26px; color:#fff; }
.result-head .kick{ font-weight:600; font-size:11px; letter-spacing:.24em; text-transform:uppercase; opacity:.82; }
.result-head .score{ font-family:var(--display); font-weight:800; font-size:60px; line-height:1; margin:10px 0 2px; }
.result-head .score small{ font-size:24px; font-weight:700; opacity:.7; }
.result-head h2{ font-family:var(--display); font-weight:800; font-size:26px; margin:8px 0 8px; }
.result-head p{ margin:0; font-size:15px; opacity:.92; max-width:62ch; }

.semaforo{ padding:26px 32px 10px; }
.semaforo .lanes{ display:flex; gap:5px; }
.semaforo .lane{ flex:1; text-align:center; }
.semaforo .lane .strip{ height:9px; border-radius:99px; background:var(--border); }
.semaforo .lane .cap{ font-family:var(--display); font-weight:700; font-size:11.5px; margin-top:9px; color:#b6b0a7; }
.semaforo .lane .rng{ font-size:10.5px; color:#c3bdb3; }
.semaforo .lane.on .cap{ color:var(--poseidon); }
.semaforo .lane.on .rng{ color:var(--muted); }
.semaforo .lane.l1.on .strip{ background:var(--terracota); }
.semaforo .lane.l2.on .strip{ background:var(--amber); }
.semaforo .lane.l3.on .strip{ background:var(--green); }

.byphase{ padding:24px 32px 8px; }
.byphase h4, .gaps h4{ font-family:var(--display); font-weight:700; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--hermes); margin:0 0 18px; }
.pblock{ padding:0 0 0 16px; border-left:3px solid var(--border); margin-bottom:22px; }
.pblock .top{ display:flex; align-items:baseline; gap:12px; margin-bottom:8px; }
.pblock .nm{ font-family:var(--display); font-weight:700; font-size:15px; flex:1; }
.pblock .pc{ font-family:var(--display); font-weight:800; font-size:19px; }
.pblock .tr{ height:8px; background:var(--areia); border-radius:99px; overflow:hidden; margin-bottom:10px; }
.pblock .fl{ height:100%; border-radius:99px; }
.pblock .cm{ font-size:13.5px; line-height:1.6; color:var(--muted); margin:0; }

.gaps{ padding:24px 32px 26px; border-top:1px solid var(--border); margin-top:12px; }
.gaps .lac{ background:var(--off-white); border-left:3px solid var(--terracota); border-radius:0 3px 3px 0; padding:15px 18px; margin-bottom:11px; }
.gaps .lac.parcial{ border-left-color:var(--amber); }
.gaps .lac .hd{ display:flex; gap:11px; align-items:flex-start; }
.gaps .lac .tag{ font-family:var(--display); font-weight:700; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:#fff; background:var(--terracota); padding:3px 7px; border-radius:2px; flex:0 0 auto; margin-top:3px; }
.gaps .lac.parcial .tag{ background:var(--amber); }
.gaps .lac .ac{ font-family:var(--display); font-weight:700; font-size:14.5px; line-height:1.45; color:var(--poseidon); }
.gaps .lac .cm{ margin:11px 0 0 44px; font-size:13.5px; line-height:1.62; color:var(--muted); border-top:1px solid var(--border); padding-top:10px; }
.gaps .lac.slim{ padding:12px 18px; }
.gaps .mais{ font-size:13.5px; color:var(--muted); font-style:italic; margin:16px 0 0; }
.gaps .none{ font-size:14px; color:var(--muted); font-style:italic; }

/* ---------- fechamento ---------- */
.cta{ background:var(--areia); padding:28px 32px 30px; border-top:3px solid var(--terracota); }
.cta h3{ font-family:var(--display); font-weight:800; font-size:21px; margin:0 0 8px; }
.cta p{ margin:0 0 18px; font-size:14.5px; color:var(--muted); max-width:62ch; }
.cta p:last-child{ margin-bottom:0; }
.form{ display:flex; gap:9px; flex-wrap:wrap; }
.form input{ flex:1; min-width:210px; font-family:var(--body); font-size:14px; padding:13px 15px; border:1px solid var(--border); border-radius:4px; background:#fff; color:var(--poseidon); }
.form input:focus{ outline:2px solid var(--green); outline-offset:-1px; }
.btn{ font-family:var(--display); font-weight:700; font-size:14.5px; cursor:pointer; background:var(--terracota); color:#fff; border:0; border-radius:4px; padding:13px 26px; }
.cta .fine{ margin:14px 0 0; font-size:11.5px; color:var(--hermes); }
.check{
  display:flex; gap:11px; align-items:flex-start; margin:18px 0 0; cursor:pointer;
  background:#fff; border:1px solid var(--border); border-radius:4px; padding:14px 16px;
  font-size:13.5px; line-height:1.5; color:var(--poseidon); max-width:62ch;
}
.check:hover{ border-color:var(--hermes); }
.check input{ width:17px; height:17px; flex:0 0 auto; margin:2px 0 0; accent-color:var(--green); cursor:pointer; }
.check small{ display:block; margin-top:3px; font-size:12px; color:var(--hermes); }
.cta .wa{ margin:16px 0 0; font-size:13px; color:var(--hermes); }
.cta .wa a{ color:var(--cobre); text-decoration:none; border-bottom:1px solid rgba(169,88,33,.35); }

footer.foot{ margin:44px 0 60px; padding-top:18px; border-top:1px solid var(--border); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:12px; color:var(--muted); }
footer.foot b{ font-family:var(--display); font-weight:700; color:var(--green); display:block; font-size:12.5px; margin-bottom:3px; }

/* ---------- bastidor (só na prévia) ---------- */
.bastidor{ margin:0 0 70px; border:2px dashed #b9b2a8; border-radius:5px; background:#fff; }
.bastidor .bh{ background:#2b2b2b; color:#fff; padding:11px 20px; font-family:var(--display); font-weight:700; font-size:13px; letter-spacing:.06em; }
.bastidor .bh span{ font-family:var(--body); font-weight:300; font-size:12px; color:rgba(255,255,255,.6); margin-left:10px; }
.bastidor .bb{ padding:20px 22px; }
.crm{ width:100%; border-collapse:collapse; font-size:13px; }
.crm th{ text-align:left; font-family:var(--display); font-weight:700; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--hermes); padding:0 12px 9px 0; border-bottom:1px solid var(--border); }
.crm td{ padding:11px 12px 11px 0; border-bottom:1px solid var(--border); vertical-align:top; }
.crm .nota{ font-family:var(--display); font-weight:800; font-size:17px; }
.crm .badge{ display:inline-block; font-family:var(--display); font-weight:700; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#fff; padding:3px 8px; border-radius:2px; }

/* ressalva técnica */
.ressalva{
  margin:0; padding:20px 32px 24px; border-top:1px solid var(--border);
  background:#faf9f7;
}
.ressalva h5{
  font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--hermes); margin:0 0 9px;
}
.ressalva p{ margin:0; font-size:13.5px; line-height:1.65; color:var(--muted); max-width:70ch; }
.ressalva p + p{ margin-top:9px; }
.ressalva b{ font-weight:400; color:var(--poseidon); }

/* mensagens do formulário */
.aviso-form{ margin:12px 0 0; font-size:13px; color:var(--hermes); }
.aviso-form.erro{ color:var(--terracota); font-weight:400; }
.ok-box{ background:#fff; border:1px solid var(--border); border-left:4px solid var(--green); padding:18px 20px; border-radius:0 4px 4px 0; }
.ok-box h4{ font-family:var(--display); font-weight:700; font-size:17px; margin:0 0 7px; color:var(--green); }
.ok-box p{ margin:0; font-size:14px; color:var(--muted); }

@media (max-width:680px){
  .hero h1{ font-size:30px; }
  .item{ flex-direction:column; align-items:stretch; gap:11px; }
  .result-head, .semaforo, .byphase, .gaps, .cta{ padding-left:20px; padding-right:20px; }
  .gaps .lac .cm{ margin-left:0; }
}

/* ============================================================
   RELATÓRIO COMPLETO — só aparece na impressão (vira o PDF)
   ============================================================ */
#relatorio{ display:none; }

@media print{
  @page{ size:A4; margin:16mm 15mm; }
  body{ background:#fff !important; font-size:10.5pt; }
  body > *:not(#relatorio){ display:none !important; }
  #relatorio{ display:block !important; }
  *{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }

  #relatorio .rcapa{ border-bottom:3px solid var(--green); padding-bottom:14px; margin-bottom:20px; }
  #relatorio .rlogo{ height:40px; display:block; margin-bottom:14px; }
  #relatorio .rkick{ font-weight:600; font-size:8.5pt; letter-spacing:.22em; text-transform:uppercase; color:var(--cobre); }
  #relatorio h1{ font-family:var(--display); font-weight:800; font-size:22pt; line-height:1.1; margin:6px 0 4px; color:var(--poseidon); }
  #relatorio .rquem{ margin:6px 0 0; font-size:11pt; font-weight:400; color:var(--poseidon); }
  #relatorio .rdata{ margin:3px 0 0; font-size:9pt; color:var(--hermes); }

  #relatorio .rnota{ color:#fff; padding:18px 22px; border-radius:3px; margin-bottom:22px; }
  #relatorio .rnota .k{ font-weight:600; font-size:8pt; letter-spacing:.2em; text-transform:uppercase; opacity:.85; }
  #relatorio .rnota .n{ font-family:var(--display); font-weight:800; font-size:34pt; line-height:1; margin:5px 0 0; }
  #relatorio .rnota .n small{ font-size:15pt; opacity:.75; }
  #relatorio .rnota h2{ font-family:var(--display); font-weight:800; font-size:15pt; margin:4px 0 6px; }
  #relatorio .rnota p{ margin:0; font-size:10pt; line-height:1.5; opacity:.95; }

  #relatorio .rsec{
    font-family:var(--display); font-weight:800; font-size:13pt; color:var(--poseidon);
    margin:26px 0 10px; padding-bottom:6px; border-bottom:2px solid var(--terracota);
    page-break-after:avoid; break-after:avoid;
  }
  #relatorio .rintro{ font-size:9.5pt; color:var(--hermes); margin:0 0 12px; }

  #relatorio .rfase{ border-left:3px solid var(--border); padding-left:12px; margin-bottom:14px; page-break-inside:avoid; break-inside:avoid; }
  #relatorio .rfase .rt{ display:flex; justify-content:space-between; align-items:baseline; }
  #relatorio .rfase .rt span{ font-family:var(--display); font-weight:700; font-size:11pt; }
  #relatorio .rfase .rt b{ font-family:var(--display); font-weight:800; font-size:13pt; }
  #relatorio .rfase .rbar{ height:6px; background:var(--areia); border-radius:99px; overflow:hidden; margin:6px 0 7px; }
  #relatorio .rfase .rbar i{ display:block; height:100%; }
  #relatorio .rfase p{ margin:0; font-size:9.5pt; line-height:1.5; color:var(--muted); }

  #relatorio .rlac{ page-break-inside:avoid; break-inside:avoid; margin-bottom:11px; padding:10px 13px; background:#faf9f7; border-left:3px solid var(--terracota); }
  #relatorio .rlac.parcial{ border-left-color:var(--amber); }
  #relatorio .rlh{ display:flex; gap:8px; align-items:baseline; }
  #relatorio .rn{ font-family:var(--display); font-weight:800; font-size:9pt; color:var(--terracota); min-width:16px; }
  #relatorio .rtag{ font-family:var(--display); font-weight:700; font-size:7pt; letter-spacing:.1em; text-transform:uppercase; color:#fff; background:var(--terracota); padding:2px 6px; border-radius:2px; white-space:nowrap; }
  #relatorio .rlac.parcial .rtag{ background:var(--amber); }
  #relatorio .rac{ font-family:var(--display); font-weight:700; font-size:10.5pt; line-height:1.35; }
  #relatorio .rcom{ margin:7px 0 0 24px; font-size:9.5pt; line-height:1.55; color:var(--muted); }

  #relatorio .rsim{ margin:0; padding-left:16px; columns:2; column-gap:20px; }
  #relatorio .rsim li{ font-size:9pt; line-height:1.4; margin-bottom:5px; color:var(--muted); break-inside:avoid; }

  #relatorio .rfim{ margin-top:26px; padding-top:14px; border-top:1px solid var(--border); page-break-inside:avoid; }
  #relatorio .rfim h3{ font-family:var(--display); font-weight:700; font-size:10.5pt; margin:0 0 6px; }
  #relatorio .rfim p{ margin:0 0 7px; font-size:9pt; line-height:1.5; color:var(--muted); }
  #relatorio .rfim .rt{ margin-top:12px; font-size:8.5pt; color:var(--green); font-family:var(--display); font-weight:700; line-height:1.5; }
}
