/* ============================================================
   Registro de Operadoras — folha de estilo
   Identidade: registro público / documento oficial
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,800&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;1,6..72,400&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
  --ink:#0E2622;
  --ink-soft:#3A5450;
  --paper:#EEF1EA;
  --paper-2:#E2E7DB;
  --line:#C3CCBC;
  --seal:#1C6A57;
  --stamp:#8E6F22;
  --alert:#9E2016;
  --alert-bg:#F7E4E1;

  --display:'Bricolage Grotesque',system-ui,sans-serif;
  --body:'Newsreader',Georgia,serif;
  --data:'JetBrains Mono',ui-monospace,monospace;

  --wrap:1080px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:18px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

a{color:var(--seal);text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:3px solid var(--stamp);outline-offset:3px}

/* ---------- Faixa de advertência obrigatória (SPA/MF 1.964/2026) ---------- */
.advertencia{
  background:var(--alert);
  color:#fff;
  font-family:var(--display);
  font-weight:600;
  font-size:15px;
  letter-spacing:.01em;
  text-align:center;
  padding:14px 24px;
  line-height:1.35;
}
.advertencia strong{font-weight:800}

/* ---------- Cabeçalho ---------- */
.topo{
  border-bottom:1px solid var(--line);
  background:var(--paper);
  position:sticky;top:0;z-index:20;
}
.topo-in{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:18px 24px;max-width:var(--wrap);margin:0 auto;
  flex-wrap:wrap;
}
.marca{
  font-family:var(--display);font-weight:800;font-size:19px;
  letter-spacing:-.02em;text-decoration:none;color:var(--ink);
  display:flex;align-items:center;gap:10px;
}
.marca span{
  font-family:var(--data);font-size:10px;font-weight:700;
  border:1.5px solid var(--seal);color:var(--seal);
  padding:3px 6px;border-radius:2px;letter-spacing:.08em;
}
.nav{display:flex;gap:22px;font-family:var(--display);font-size:15px;font-weight:600}
.nav a{color:var(--ink-soft);text-decoration:none}
.nav a:hover{color:var(--seal)}

.idade{
  font-family:var(--data);font-size:12px;font-weight:700;
  border:2px solid var(--ink);border-radius:50%;
  width:34px;height:34px;display:grid;place-items:center;flex:none;
}

/* ---------- Hero ---------- */
.hero{padding:72px 0 56px;border-bottom:1px solid var(--line)}
.eyebrow{
  font-family:var(--data);font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--stamp);
  margin:0 0 20px;
}
.hero h1{
  font-family:var(--display);font-weight:800;
  font-size:clamp(34px,6vw,62px);line-height:1.02;
  letter-spacing:-.035em;margin:0 0 24px;max-width:15ch;
}
.hero p{
  font-size:clamp(18px,2.2vw,21px);max-width:56ch;
  color:var(--ink-soft);margin:0 0 32px;
}
.fonte-oficial{
  font-family:var(--data);font-size:13px;color:var(--ink-soft);
  border-left:3px solid var(--stamp);padding:10px 0 10px 16px;
  max-width:60ch;line-height:1.65;
}

/* ---------- Seções ---------- */
.secao{padding:64px 0;border-bottom:1px solid var(--line)}
.secao h2{
  font-family:var(--display);font-weight:800;
  font-size:clamp(26px,3.6vw,38px);letter-spacing:-.03em;
  margin:0 0 12px;
}
.secao .sub{color:var(--ink-soft);max-width:62ch;margin:0 0 40px}

/* ---------- Registro: elemento-assinatura ---------- */
.registro{
  background:#fff;
  border:1px solid var(--line);
  border-left:5px solid var(--seal);
  margin-bottom:28px;
}
.registro-topo{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:20px;padding:26px 28px 20px;border-bottom:1px dashed var(--line);
  flex-wrap:wrap;
}
.registro-nome{
  font-family:var(--display);font-weight:800;font-size:27px;
  letter-spacing:-.025em;margin:0 0 4px;
}
.registro-razao{
  font-family:var(--data);font-size:12px;color:var(--ink-soft);
  text-transform:uppercase;letter-spacing:.05em;margin:0;
}
.selo{
  font-family:var(--data);font-size:11px;font-weight:700;
  letter-spacing:.1em;color:var(--seal);
  border:2px solid var(--seal);border-radius:3px;
  padding:8px 12px;text-align:center;line-height:1.3;flex:none;
  transform:rotate(-2deg);
}
.selo em{display:block;font-style:normal;font-size:9px;opacity:.75;letter-spacing:.06em}

.dados{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:1px;background:var(--line);
}
.dado{background:#fff;padding:18px 28px}
.dado dt{
  font-family:var(--data);font-size:10px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-soft);margin:0 0 6px;
}
.dado dd{
  font-family:var(--data);font-size:14px;font-weight:500;
  margin:0;word-break:break-word;
}

.registro-rodape{
  padding:22px 28px;display:flex;gap:18px;
  align-items:center;justify-content:space-between;flex-wrap:wrap;
}
.registro-nota{font-size:15px;color:var(--ink-soft);margin:0;max-width:46ch}

.btn{
  font-family:var(--display);font-weight:600;font-size:16px;
  background:var(--ink);color:var(--paper);text-decoration:none;
  padding:14px 26px;border:none;display:inline-flex;align-items:center;gap:10px;
  transition:background .15s ease;flex:none;
}
.btn:hover{background:var(--seal)}
.btn::after{content:'↗';font-size:14px;opacity:.7}

/* ---------- Como verificar ---------- */
.passos{list-style:none;padding:0;margin:0;counter-reset:p}
.passos li{
  counter-increment:p;display:grid;
  grid-template-columns:56px 1fr;gap:20px;
  padding:22px 0;border-top:1px solid var(--line);
}
.passos li::before{
  content:counter(p,decimal-leading-zero);
  font-family:var(--data);font-size:13px;font-weight:700;
  color:var(--stamp);padding-top:4px;
}
.passos h3{font-family:var(--display);font-size:19px;font-weight:600;margin:0 0 6px}
.passos p{margin:0;color:var(--ink-soft);font-size:16px}

/* ---------- Blocos de risco ---------- */
.risco{
  background:var(--alert-bg);border:1px solid #E0B7B1;
  padding:32px;margin-top:8px;
}
.risco h3{
  font-family:var(--display);font-weight:800;font-size:21px;
  margin:0 0 12px;color:var(--alert);
}
.risco ul{margin:0;padding-left:20px;color:#5C1810}
.risco li{margin-bottom:8px}

/* ---------- Conteúdo de texto (páginas internas) ---------- */
.doc{padding:56px 0 72px;max-width:70ch}
.doc h1{
  font-family:var(--display);font-weight:800;
  font-size:clamp(30px,5vw,46px);letter-spacing:-.03em;margin:0 0 8px;
}
.doc .atualizado{
  font-family:var(--data);font-size:12px;color:var(--ink-soft);
  margin:0 0 40px;letter-spacing:.04em;
}
.doc h2{
  font-family:var(--display);font-weight:600;font-size:22px;
  letter-spacing:-.02em;margin:40px 0 12px;
}
.doc p,.doc li{color:var(--ink-soft)}
.doc li{margin-bottom:8px}

/* ---------- Rodapé com identificação obrigatória ---------- */
.rodape{background:var(--ink);color:var(--paper-2);padding:56px 0 32px}
.rodape a{color:#9FD3C3}
.rodape-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:40px;margin-bottom:44px;
}
.rodape h4{
  font-family:var(--data);font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:#7E998F;margin:0 0 14px;
}
.rodape ul{list-style:none;padding:0;margin:0;font-size:15px}
.rodape li{margin-bottom:9px}
.rodape a{text-decoration:none}
.rodape a:hover{text-decoration:underline}

.identificacao{
  border-top:1px solid #2A423D;padding-top:26px;
  font-family:var(--data);font-size:12px;line-height:1.9;color:#93AFA6;
}
.identificacao strong{color:var(--paper);font-weight:700}

@media (max-width:640px){
  body{font-size:17px}
  .nav{gap:16px;font-size:14px;width:100%}
  .registro-topo,.dado,.registro-rodape{padding-left:20px;padding-right:20px}
  .btn{width:100%;justify-content:center}
}
