@font-face { font-family:"Poppins"; font-weight:400; font-style:normal; font-display:swap; src:url(/assets/fonts/poppins-400.woff2) format("woff2"); }
@font-face { font-family:"Poppins"; font-weight:500; font-style:normal; font-display:swap; src:url(/assets/fonts/poppins-500.woff2) format("woff2"); }
@font-face { font-family:"Poppins"; font-weight:600; font-style:normal; font-display:swap; src:url(/assets/fonts/poppins-600.woff2) format("woff2"); }
@font-face { font-family:"Poppins"; font-weight:700; font-style:normal; font-display:swap; src:url(/assets/fonts/poppins-700.woff2) format("woff2"); }

:root {
  --laranja:#FF6600; --marinho:#000063;
  --fundo:#ffffff; --fundo-suave:#F5F6FC; --texto:#1B1F3B; --suave:#5B6180; --linha:#E3E5F2;
  --titulo:#000063; --link:#3F4DA6; --nav:#3F4DA6;
}
@media (prefers-color-scheme: dark) {
  :root {
    --fundo:#0C0D24; --fundo-suave:#14163A; --texto:#E8EAF7; --suave:#A3A8CB; --linha:#2A2D5C;
    --titulo:#F1F2FF; --link:#A9B4FF; --nav:#C3CAFF;
  }
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--fundo); color:var(--texto); font:400 16.5px/1.7 "Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--link); text-underline-offset:3px; }
a:hover { color:var(--laranja); }
:focus-visible { outline:3px solid var(--laranja); outline-offset:3px; border-radius:4px; }
.wrap { max-width:1120px; margin:0 auto; padding:0 20px; }

/* Cabeçalho */
.topo { position:sticky; top:0; z-index:20; background:var(--fundo); border-bottom:1px solid var(--linha); }
.topo .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; height:88px; }
.logo img { display:block; height:48px; width:auto; }
.menu { display:flex; gap:40px; }
.menu a { color:var(--nav); text-decoration:none; font-weight:600; font-size:.9rem; letter-spacing:.01em; text-transform:uppercase; }
.menu a:hover { color:var(--laranja); }
.btn { display:inline-block; background:var(--laranja); color:#fff; text-decoration:none; font-weight:600; font-size:.9rem; text-transform:uppercase; padding:13px 34px; border-radius:999px; border:1px solid #E55A00; box-shadow:0 2px 0 rgba(0,0,0,.08); }
.btn:hover { color:#fff; background:#E55A00; }

/* Faixa de título */
.hero { position:relative; overflow:hidden; color:#fff; background:linear-gradient(100deg,#CF4600 0%,#F55C00 55%,#FF6600 100%); border-bottom-right-radius:min(18vw,160px); }
.hero::before { content:""; position:absolute; right:-140px; top:-180px; width:560px; height:560px; border-radius:50%; background:rgba(255,255,255,.09); }
.hero::after { content:""; position:absolute; right:140px; bottom:-220px; width:380px; height:380px; border-radius:50%; background:rgba(0,0,99,.14); }
.hero .wrap { position:relative; z-index:1; padding-top:64px; padding-bottom:72px; }
.etiqueta { display:inline-block; background:rgba(255,255,255,.18); border-radius:999px; padding:5px 14px; font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.hero h1 { font-weight:700; font-size:clamp(2.1rem,5.2vw,3.4rem); line-height:1.1; margin:18px 0 16px; max-width:14ch; }
.hero .lead { font-size:1.08rem; max-width:620px; margin:0; }
.fichas { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 0; padding:0; list-style:none; }
.fichas li { margin:0; background:#fff; color:var(--marinho); border-radius:999px; padding:7px 16px; font-size:.82rem; font-weight:600; }

/* Corpo */
.corpo { display:grid; grid-template-columns:250px minmax(0,1fr); gap:56px; padding:48px 20px 88px; }
.indice { position:sticky; top:112px; align-self:start; max-height:calc(100vh - 136px); overflow:auto; font-size:.88rem; line-height:1.4; }
.indice summary { font-weight:600; color:var(--titulo); text-transform:uppercase; font-size:.75rem; letter-spacing:.1em; margin-bottom:10px; list-style:none; cursor:default; }
.indice summary::-webkit-details-marker { display:none; }
.indice ol { margin:0; padding:0; list-style:none; border-left:2px solid var(--linha); }
.indice li { margin:0; }
.indice a { display:block; padding:7px 0 7px 14px; margin-left:-2px; border-left:2px solid transparent; color:var(--suave); text-decoration:none; }
.indice a:hover { color:var(--titulo); }
.indice a.ativo { color:var(--titulo); font-weight:600; border-left-color:var(--laranja); }

.texto { max-width:760px; }
.texto h2 { display:flex; align-items:center; gap:14px; font-size:1.3rem; font-weight:600; line-height:1.3; color:var(--titulo); margin:52px 0 14px; scroll-margin-top:112px; }
.texto h2:first-of-type { margin-top:40px; }
.texto h2 .n { flex:none; display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--laranja); color:var(--marinho); font-size:.9rem; font-weight:700; }
.texto p, .texto li { margin:10px 0; }
.texto ul { padding-left:1.25rem; }
.texto li::marker { color:var(--laranja); }
strong { font-weight:600; }

.resumo { background:var(--fundo-suave); border:1px solid var(--linha); border-left:6px solid var(--laranja); border-radius:18px; padding:26px 28px; }
.texto .resumo h2, .texto .resumo h2:first-of-type { margin:0 0 14px; font-size:1.1rem; }
.resumo ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; }
.resumo li { margin:0; font-size:.95rem; line-height:1.55; }
.resumo li strong { display:block; color:var(--titulo); }

.tabela { overflow-x:auto; border:1px solid var(--linha); border-radius:14px; margin:16px 0; }
table { width:100%; border-collapse:collapse; font-size:.93rem; line-height:1.55; }
th, td { text-align:left; vertical-align:top; padding:12px 16px; border-bottom:1px solid var(--linha); }
tr:last-child td { border-bottom:0; }
th { background:var(--fundo-suave); color:var(--titulo); font-weight:600; font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; }
td:first-child { width:42%; font-weight:500; }

.aviso { background:var(--fundo-suave); border:1px solid var(--linha); border-radius:14px; padding:16px 20px; margin:18px 0; font-size:.95rem; }
.passos { counter-reset:passo; list-style:none; padding:0 !important; }
.passos li { counter-increment:passo; position:relative; padding-left:48px; margin:14px 0; }
.passos li::before { content:counter(passo); position:absolute; left:0; top:1px; width:32px; height:32px; border-radius:50%; background:var(--marinho); color:#fff; display:grid; place-items:center; font-size:.85rem; font-weight:600; }
@media (prefers-color-scheme: dark) { .passos li::before { background:var(--laranja); color:var(--marinho); } }

/* Rodapé */
.rodape { background:var(--marinho); color:rgba(255,255,255,.82); font-size:.9rem; line-height:1.65; border-top-left-radius:min(12vw,120px); }
.rodape .wrap { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:36px; padding-top:52px; padding-bottom:40px; }
.rodape img { height:46px; width:auto; display:block; margin-bottom:14px; }
.rodape h3 { margin:0 0 8px; font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#fff; }
.rodape p { margin:4px 0; }
.rodape a { color:#fff; }
.rodape a:hover { color:#FFB27F; }
.rodape .base { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.18); padding-top:20px; font-size:.8rem; color:rgba(255,255,255,.65); }

@media (max-width: 900px) {
  .menu { display:none; }
  .topo .wrap { height:72px; }
  .logo img { height:40px; }
  .btn { padding:11px 22px; font-size:.82rem; }
  .corpo { grid-template-columns:1fr; gap:8px; padding-top:28px; }
  .indice { position:static; max-height:none; background:var(--fundo-suave); border:1px solid var(--linha); border-radius:14px; padding:14px 18px; }
  .indice summary { cursor:pointer; margin:0; }
  .indice[open] summary { margin-bottom:10px; }
  .rodape .wrap { grid-template-columns:1fr; gap:26px; }
}
@media (max-width: 640px) {
  .hero .wrap { padding-top:44px; padding-bottom:52px; }
  .hero::before { width:360px; height:360px; right:-160px; top:-140px; }
  .resumo { padding:22px 20px; }
  .resumo ul { grid-template-columns:1fr; }
  .texto h2 { font-size:1.15rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
@media print {
  .topo, .indice, .hero::before, .hero::after { display:none; }
  .hero { background:none; color:#000; border-radius:0; }
  .fichas li { border:1px solid #999; }
  .corpo { display:block; padding-top:0; }
  .rodape { background:none; color:#000; }
  .rodape a { color:#000; }
}

.corpo.sem-indice { grid-template-columns:minmax(0,760px); justify-content:center; }
.rodape .links { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px 24px; padding-top:4px; }
.acao { display:inline-block; margin:6px 0; }
.btn-azul { display:inline-block; background:var(--marinho); color:#fff; text-decoration:none; font-weight:600; font-size:.9rem; padding:13px 28px; border-radius:999px; }
.btn-azul:hover { background:var(--laranja); color:var(--marinho); }
@media (prefers-color-scheme: dark) { .btn-azul { background:var(--laranja); color:var(--marinho); } .btn-azul:hover { background:#fff; } }
