/* Portal Nacional do Condutor — estilo proprio (paleta teal, nao-governamental) */
:root{
  --teal:#0E4D64; --teal-d:#0B3D51; --teal-2:#0F766E; --sky:#0EA5E9; --sky-50:#F0F9FF;
  --ink:#0f172a; --txt:#334155; --mut:#64748b; --line:#e2e8f0; --bg:#f8fafc;
  --amber-bg:#FEF3C7; --amber-bd:#F59E0B; --amber-tx:#92400E;
  --red-bg:#FEF2F2; --red-bd:#EF4444; --red-tx:#991B1B; --green-bg:#F0FDF4; --green-bd:#86EFAC; --green-tx:#166534;
  --maxw:960px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,system-ui,Arial,sans-serif;color:var(--txt);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--teal-2)}
img{max-width:100%}

/* disclaimers */
.disc-top{background:var(--amber-bg);border-bottom:3px solid var(--amber-bd);color:var(--amber-tx);
  font-size:16px;line-height:1.5;padding:12px 18px;text-align:center}
.disc-ads{background:var(--sky-50);border-bottom:1px solid #bae6fd;color:#0369a1;font-size:13px;padding:7px 18px;text-align:center}
.disc-foot{background:#0b1220;color:#cbd5e1;font-size:13px;line-height:1.6;padding:14px 18px;text-align:center}

/* header */
.hd{background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:14px 22px;flex-wrap:wrap;position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.logo{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,var(--teal),var(--teal-2));
  color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:.5px;font-size:15px}
.brand-txt{display:flex;flex-direction:column;line-height:1.15}
.brand-txt b{font-size:16px}.brand-txt small{font-size:11px;color:var(--mut)}
.nav{display:flex;gap:4px;flex-wrap:wrap}
.nav a{color:var(--txt);text-decoration:none;font-size:14px;font-weight:600;padding:8px 12px;border-radius:8px}
.nav a:hover{background:var(--sky-50);color:var(--teal)}
.nav a.on{background:var(--teal);color:#fff}

/* main */
.main{max-width:var(--maxw);margin:0 auto;padding:30px 22px 50px}
.hero{padding:24px 0 8px}
.tag{display:inline-block;background:var(--sky-50);color:var(--teal);border:1px solid #bae6fd;font-size:12px;
  font-weight:700;padding:5px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}
.hero h1{font-size:clamp(28px,5vw,40px);line-height:1.12;color:var(--ink);margin:14px 0 12px;letter-spacing:-.02em}
.hero h1 span{color:var(--teal-2)}
.lead{font-size:18px;color:var(--txt);max-width:720px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;font-weight:700;font-size:15px;
  padding:13px 22px;border-radius:11px;border:2px solid var(--teal)}
.btn:hover{background:var(--teal-d);border-color:var(--teal-d)}
.btn.ghost{background:#fff;color:var(--teal);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--teal);background:var(--sky-50)}

.sec{margin:30px 0}
.sec h1{font-size:30px;color:var(--ink);margin-bottom:14px;letter-spacing:-.02em}
.sec h2{font-size:22px;color:var(--ink);margin:24px 0 10px}
.sec p{margin:10px 0}
.muted{color:var(--mut);font-size:14px}

.card{border-radius:14px;padding:20px 22px;margin:22px 0;border:1px solid var(--line);background:#fff}
.card h2,.card h3{margin-bottom:8px}
.card.hi{background:var(--red-bg);border-left:5px solid var(--red-bd)}
.card.hi h3{color:var(--red-tx)}.card.hi p{color:var(--red-tx)}
.card.warn{background:var(--red-bg);border:2px solid var(--red-bd)}
.card.warn h2,.card.warn p,.card.warn li{color:var(--red-tx)}
.card.off{background:var(--green-bg);border:1px solid var(--green-bd)}
.card.off h2{color:var(--green-tx)}

ul,ol{margin:10px 0 10px 22px}
li{margin:6px 0}
.checklist{list-style:none;margin-left:0}
.checklist li{padding-left:28px;position:relative}
.checklist li::before{content:"✓";position:absolute;left:0;color:var(--teal-2);font-weight:800}
.nolist{list-style:none;margin-left:0}
.nolist li{padding-left:28px;position:relative;color:var(--red-tx)}
.nolist li::before{content:"✕";position:absolute;left:0;color:var(--red-bd);font-weight:800}
.steps li{margin:10px 0}
.data{list-style:none;margin-left:0}
.data li{padding:6px 0;border-bottom:1px dashed var(--line)}

details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:10px 0}
summary{font-weight:700;color:var(--ink);cursor:pointer}
details p{margin-top:8px}
.legal h2{font-size:19px}

/* footer */
.ft{background:#0f172a;color:#cbd5e1;margin-top:40px}
.ft-grid{max-width:var(--maxw);margin:0 auto;padding:34px 22px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:26px}
.ft-grid h4{color:#fff;font-size:14px;margin-bottom:10px}
.ft-grid a{display:block;color:#94a3b8;text-decoration:none;font-size:13px;padding:3px 0}
.ft-grid a:hover{color:#fff}
.ft-grid p{font-size:13px;color:#94a3b8;margin-top:8px}
.ft-brand{font-weight:800;color:#fff;font-size:16px}
.ft-legal{max-width:var(--maxw);margin:0 auto;padding:16px 22px 30px;font-size:12px;color:#94a3b8;line-height:1.7;border-top:1px solid #1e293b}
.ck-reopen{display:inline-block;margin-top:8px;background:transparent;color:#7dd3fc;border:1px solid #334155;
  border-radius:7px;padding:5px 10px;font-size:12px;cursor:pointer}
.ck-reopen.inline{margin:0;padding:2px 8px}

/* cookie banner */
.ck{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#0f172a;color:#e2e8f0;
  border:1px solid #334155;border-radius:14px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;
  gap:14px;flex-wrap:wrap;z-index:50;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.ck-txt{font-size:13.5px}
.ck-btns{display:flex;gap:8px;flex-wrap:wrap}
.ck-btns button{background:var(--teal-2);color:#fff;border:none;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:700;cursor:pointer}
.ck-btns button.ghost{background:transparent;border:1px solid #475569;color:#cbd5e1}
.ck-btns button:hover{filter:brightness(1.08)}

@media(max-width:680px){
  .ft-grid{grid-template-columns:1fr;gap:18px}
  .nav{width:100%;justify-content:flex-start}
  .ck{flex-direction:column;align-items:stretch}
}
