/* telas/publico.css (M35) — landing (P01), planos (P02), institucionais e documentos legais (P07), status e /admin/paginas.
   Só tokens do design system (C §3): nenhuma cor literal, espaçamento e raio só por token. Componentes (.btn, .campo, .chip,
   .selo, .alt, .carrossel, .cartao-capa, .tabela, .stat, .pilula-plano) são do M02; aqui ficam a composição e os elementos
   próprios destas telas. Movimento só com prefers-reduced-motion: no-preference e fora da TV (modos.css zera o resto). */
@layer telas {
  /* ============================================================ base das páginas públicas */
  .pagina-landing .conteudo { padding: 0; }
  .landing-largura { max-width: var(--w-larga); margin-inline: auto; padding-inline: var(--gutter); }
  .landing-centro { display: flex; justify-content: center; margin-top: var(--sp-8); }
  .landing-texto { color: var(--text-2); font-size: var(--fs-md); line-height: var(--lh-ui); text-wrap: pretty; max-width: 60ch; }
  .landing-nota { color: var(--text-3); font-size: var(--fs-sm); line-height: var(--lh-ui); max-width: 60ch; }
  .landing-cabeca { display: grid; gap: var(--sp-3); margin-bottom: var(--sp-10); max-width: 760px; }
  .landing-cabeca--centro { margin-inline: auto; text-align: center; justify-items: center; }
  .landing-cabeca__titulo { font-size: var(--fs-2xl); line-height: var(--lh-tight); letter-spacing: -0.025em; font-weight: 800; color: var(--text); text-wrap: balance; }
  .landing-secao { padding-block: clamp(var(--sp-12), 8vw, var(--sp-24)); }
  .landing-secao--alt { background: var(--surface); border-block: 1px solid var(--border); }
  .landing-lista { display: grid; gap: var(--sp-3); list-style: none; padding: 0; margin: var(--sp-4) 0 0; }
  .landing-lista li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-3); align-items: start; color: var(--text-2); line-height: var(--lh-ui); }
  .landing-lista .i { color: var(--accent-text); margin-top: var(--sp-px); }

  /* ------------------------------------------------------------ carrossel da vitrine no topo (D79) */
  .landing-vitrine { padding-top: var(--sp-4); padding-bottom: var(--sp-2); background: linear-gradient(180deg, var(--accent-soft), var(--bg) 85%); border-bottom: 1px solid var(--border); }
  .landing-vitrine .carrossel__titulo { font-size: var(--fs-xs); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--accent-text); }
  .landing-vitrine .carrossel__titulo .i { width: 16px; height: 16px; }
  .landing-vitrine .carrossel { --carrossel-item: min(72vw, 250px); }
  @media (min-width: 768px) { .landing-vitrine .carrossel { --carrossel-item: 250px; } }
  @media (min-width: 1280px) { .landing-vitrine .carrossel { --carrossel-item: 264px; } }
  .landing-vitrine .cartao-capa[data-fixo="sim"] .cartao-capa__titulo { color: var(--accent-text); }
  /* Poucos cards (≤ 3, ex.: só as duas OAB): faixa mais baixa e cards menores, para o herói subir para a 1ª dobra (parecer do RD). */
  .landing-vitrine:not(:has(.carrossel__item:nth-child(4))) { padding-top: var(--sp-3); padding-bottom: var(--sp-1); }
  .landing-vitrine:not(:has(.carrossel__item:nth-child(4))) .carrossel { --carrossel-item: min(56vw, 216px); }
  @media (min-width: 768px) { .landing-vitrine:not(:has(.carrossel__item:nth-child(4))) .carrossel { --carrossel-item: 216px; } }

  /* capinha SVG de reserva (enquanto o M28 não publica as capinhas oficiais) */
  .pcapa { display: block; width: 100%; height: 100%; }
  .pcapa__sobre { fill: var(--capa-texto); opacity: .82; font: 700 12px var(--font-ui); letter-spacing: .14em; }
  .pcapa__titulo { fill: var(--capa-texto); font: 800 34px var(--font-ui); letter-spacing: -0.03em; }
  .pcapa__titulo--longo { font-size: 25px; }
  .pcapa__sub { fill: var(--capa-texto); opacity: .9; font: 600 14px var(--font-ui); }
  .pcapa__listra { fill: var(--capa-texto); opacity: .07; }
  .pcapa__luz-a { stop-color: var(--capa-texto); stop-opacity: .28; }
  .pcapa__luz-b { stop-color: var(--capa-texto); stop-opacity: 0; }
  .pcapa__icone { color: var(--capa-texto); opacity: .22; }
  .pcapa__icone use { stroke: currentColor; }
  .pcapa--1 .pcapa__a { stop-color: var(--capa-1-a); } .pcapa--1 .pcapa__b { stop-color: var(--capa-1-b); }
  .pcapa--2 .pcapa__a { stop-color: var(--capa-2-a); } .pcapa--2 .pcapa__b { stop-color: var(--capa-2-b); }
  .pcapa--3 .pcapa__a { stop-color: var(--capa-3-a); } .pcapa--3 .pcapa__b { stop-color: var(--capa-3-b); }
  .pcapa--4 .pcapa__a { stop-color: var(--capa-4-a); } .pcapa--4 .pcapa__b { stop-color: var(--capa-4-b); }
  .pcapa--5 .pcapa__a { stop-color: var(--capa-5-a); } .pcapa--5 .pcapa__b { stop-color: var(--capa-5-b); }
  .pcapa--6 .pcapa__a { stop-color: var(--capa-6-a); } .pcapa--6 .pcapa__b { stop-color: var(--capa-6-b); }

  /* ------------------------------------------------------------ hero */
  .landing-hero {
    position: relative; overflow: hidden; padding-block: var(--sp-6) clamp(var(--sp-12), 7vw, var(--sp-24));
    background-image: radial-gradient(var(--border) 1px, transparent 1.2px); background-size: 22px 22px;
    background-position: center top;
  }
  .landing-hero::after {
    content: ""; position: absolute; inset: auto 0 0; height: 40%; pointer-events: none;
    background: linear-gradient(180deg, transparent, var(--bg));
  }
  .landing-hero__grade { position: relative; z-index: 1; display: grid; gap: var(--sp-10); align-items: start; }
  @media (min-width: 1024px) {
    .landing-hero { padding-top: var(--sp-4); }
    .landing-hero__grade { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--sp-16); }
    .landing-hero__texto { padding-top: var(--sp-8); }
  }
  .landing-hero--simples .landing-hero__grade { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
  .landing-hero__texto { display: grid; gap: var(--sp-5); align-content: start; }
  .landing-hero__titulo {
    font-size: var(--fs-3xl); font-weight: 800; line-height: 1.04; letter-spacing: -0.035em; color: var(--text); text-wrap: balance;
    background: linear-gradient(120deg, var(--text) 40%, var(--accent-text)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  }
  @media (forced-colors: active) { .landing-hero__titulo { -webkit-text-fill-color: CanvasText; background: none; } }
  .landing-hero__sub { font-size: var(--fs-lg); line-height: 1.55; color: var(--text-2); max-width: 56ch; text-wrap: pretty; }
  .landing-hero__acoes { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-2); }
  .landing-hero__nota { display: inline-flex; align-items: center; gap: var(--sp-2); color: var(--text-3); font-size: var(--fs-sm); font-weight: 600; }
  .landing-hero__nota .i { color: var(--success); }
  .landing-hero__demo { position: relative; }
  .landing-halo {
    position: absolute; inset: -12% -8%; z-index: -1; border-radius: var(--r-2xl); pointer-events: none; filter: blur(48px); opacity: .9;
    background: radial-gradient(60% 55% at 60% 40%, var(--accent-soft-2), transparent 70%), radial-gradient(40% 40% at 20% 80%, var(--accent-soft), transparent 70%);
  }

  /* ------------------------------------------------------------ cartão-demonstração */
  .demo-cartao {
    position: relative; display: grid; gap: var(--sp-4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-2xl);
    box-shadow: var(--sh-3); padding: clamp(var(--sp-4), 3vw, var(--sp-6));
  }
  .demo-cartao__cabeca { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-2); }
  .demo-cartao__rotulo { display: inline-flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--accent-text); }
  .demo-cartao__rotulo .i { width: 16px; height: 16px; }
  .demo-cartao__meta { font-size: var(--fs-xs); font-weight: 600; color: var(--text-3); }
  .demo-cartao__enunciado { max-width: none; font-family: var(--font-read); font-size: var(--fs-read); line-height: 1.6; color: var(--text); }
  .demo-cartao__alts .alt__opcao { color: inherit; text-decoration: none; }
  .demo-cartao__alts .alt .txt { font-size: var(--fs-base); line-height: 1.5; }
  .demo-cartao__acoes { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
  .demo-cartao__contador { font-size: var(--fs-xs); color: var(--text-3); font-weight: 600; font-variant-numeric: tabular-nums; }
  .demo-cartao__retorno:empty { display: none; }
  .demo-retorno { display: grid; gap: var(--sp-3); padding: var(--sp-4); border-radius: var(--r-lg); background: var(--surface-2); border: 1px solid var(--border); }
  .demo-retorno[data-estado="correta"] { background: var(--success-soft); border-color: var(--success); }
  .demo-retorno[data-estado="errada"] { background: var(--danger-soft); border-color: var(--danger); }
  .demo-retorno--aviso { display: flex; align-items: center; gap: var(--sp-2); color: var(--warning-strong); background: var(--warning-soft); border-color: transparent; font-weight: 600; }
  .demo-retorno__titulo { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); font-weight: 800; font-size: var(--fs-md); }
  .demo-retorno[data-estado="correta"] .demo-retorno__titulo { color: var(--success-strong); }
  .demo-retorno[data-estado="errada"] .demo-retorno__titulo { color: var(--danger-strong); }
  .demo-retorno__gabarito { font-size: var(--fs-sm); font-weight: 700; color: var(--text-2); }
  .demo-retorno__texto { color: var(--text); line-height: var(--lh-ui); }
  .demo-retorno__cta { font-weight: 700; color: var(--text); }
  .demo-retorno__acoes { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
  @media (prefers-reduced-motion: no-preference) {
    :root:not([data-movimento="reduzido"]):not([data-modo="tv"]) .demo-retorno { animation: subir-entra var(--dur-3) var(--ease-out) both; }
  }
  .demo-pagina { display: grid; gap: var(--sp-6); max-width: 720px; padding-block: var(--sp-8); }

  /* chip de fonte com o texto da lei (details/summary: funciona sem script, com teclado e na TV) */
  .chip-fonte-exemplo { border-radius: var(--r-md); }
  .chip-fonte-exemplo > summary {
    display: inline-flex; align-items: center; gap: var(--sp-2); min-height: var(--alvo-min); padding: 0 var(--sp-3); border-radius: var(--r-full);
    background: var(--info-soft); color: var(--info-strong); font-weight: 700; font-size: var(--fs-sm); cursor: pointer; list-style: none;
  }
  .chip-fonte-exemplo > summary::-webkit-details-marker { display: none; }
  .chip-fonte-exemplo > summary .i { width: 16px; height: 16px; }
  .chip-fonte-exemplo[open] > summary { box-shadow: 0 0 0 1px var(--info) inset; }
  .chip-fonte-exemplo__corpo { margin-top: var(--sp-2); padding: var(--sp-3) var(--sp-4); border-left: 3px solid var(--info); background: var(--surface); border-radius: var(--r-md); display: grid; gap: var(--sp-1); }
  .chip-fonte-exemplo__titulo { font-size: var(--fs-xs); font-weight: 800; color: var(--text-2); text-transform: uppercase; letter-spacing: .05em; }
  .chip-fonte-exemplo__texto { font-family: var(--font-read); font-size: var(--fs-base); line-height: 1.6; color: var(--text); margin: 0; }

  /* ------------------------------------------------------------ números */
  .landing-numeros { padding-block: var(--sp-8); border-block: 1px solid var(--border); background: var(--surface); }
  .landing-numeros__lista { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-6); align-items: end; }
  @media (min-width: 900px) { .landing-numeros__lista { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  .landing-numero { display: grid; justify-items: center; text-align: center; gap: var(--sp-1); }
  .landing-numero__mais { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--text-3); font-weight: 700; }
  .landing-numero__valor { font-size: var(--fs-num); font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; color: var(--accent-text); white-space: nowrap; }
  .landing-numero__rotulo { color: var(--text-2); font-weight: 600; }

  /* ------------------------------------------------------------ recursos */
  .landing-recursos { list-style: none; display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
  .landing-recurso {
    display: grid; gap: var(--sp-2); align-content: start; padding: var(--sp-6); border-radius: var(--r-xl); background: var(--surface);
    border: 1px solid var(--border); box-shadow: var(--sh-1); transition: transform var(--dur-3) var(--ease-out), box-shadow var(--dur-3) var(--ease-out), border-color var(--dur-2) var(--ease-out);
  }
  @media (hover: hover) and (pointer: fine) { .landing-recurso:hover { transform: translateY(-3px); box-shadow: var(--sh-2); border-color: var(--accent-border); } }
  @media (max-width: 599.98px) {
    .landing-recurso { grid-template-columns: auto minmax(0, 1fr); column-gap: var(--sp-4); padding: var(--sp-5); }
    .landing-recurso__icone { grid-row: span 2; margin-bottom: 0; }
  }
  .landing-recurso__icone { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--r-lg); background: var(--accent-soft); color: var(--accent-text); margin-bottom: var(--sp-2); }
  .landing-recurso__icone .i { width: 24px; height: 24px; }
  .landing-recurso__titulo { font-size: var(--fs-md); font-weight: 800; letter-spacing: -0.01em; }
  .landing-recurso__texto { color: var(--text-2); line-height: var(--lh-ui); }

  /* ------------------------------------------------------------ blocos em duas colunas */
  .landing-dupla { display: grid; gap: var(--sp-10); align-items: center; }
  @media (min-width: 1024px) {
    .landing-dupla { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sp-16); }
    .landing-dupla--inversa { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
    .landing-dupla--inversa > :first-child { order: 2; }
  }
  .landing-dupla__texto { display: grid; gap: var(--sp-4); align-content: start; }
  .landing-dupla__acoes { margin-top: var(--sp-2); }

  /* ------------------------------------------------------------ mapa em grade (cartograma das UFs) */
  .mapa-ufs { display: grid; gap: var(--sp-4); justify-items: center; }
  .mapa-ufs__grade {
    list-style: none; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: repeat(8, auto);
    gap: var(--sp-2); width: min(100%, 400px);
  }
  .mapa-ufs__item { aspect-ratio: 1; min-width: 0; }
  .mapa-ufs__item[data-col="0"] { grid-column: 1; } .mapa-ufs__item[data-col="1"] { grid-column: 2; } .mapa-ufs__item[data-col="2"] { grid-column: 3; }
  .mapa-ufs__item[data-col="3"] { grid-column: 4; } .mapa-ufs__item[data-col="4"] { grid-column: 5; } .mapa-ufs__item[data-col="5"] { grid-column: 6; }
  .mapa-ufs__item[data-col="6"] { grid-column: 7; }
  .mapa-ufs__item[data-lin="0"] { grid-row: 1; } .mapa-ufs__item[data-lin="1"] { grid-row: 2; } .mapa-ufs__item[data-lin="2"] { grid-row: 3; }
  .mapa-ufs__item[data-lin="3"] { grid-row: 4; } .mapa-ufs__item[data-lin="4"] { grid-row: 5; } .mapa-ufs__item[data-lin="5"] { grid-row: 6; }
  .mapa-ufs__item[data-lin="6"] { grid-row: 7; } .mapa-ufs__item[data-lin="7"] { grid-row: 8; }
  .mapa-ufs__uf {
    --uf-cor: var(--cat-1);
    display: grid; place-items: center; width: 100%; height: 100%; min-height: var(--alvo-min); border-radius: var(--r-md);
    background: var(--surface-2); border: 1px solid var(--border);
    background: color-mix(in oklab, var(--uf-cor) 22%, var(--surface)); border: 1px solid color-mix(in oklab, var(--uf-cor) 45%, var(--surface));
    color: var(--text); font-weight: 800; font-size: clamp(.75rem, .6rem + .6vw, 1rem); letter-spacing: .02em; text-decoration: none;
    transition: transform var(--dur-2) var(--ease-spring), background var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);
  }
  .mapa-ufs__uf[data-regiao="n"], .landing-regioes [data-regiao="n"] { --uf-cor: var(--cat-1); }
  .mapa-ufs__uf[data-regiao="ne"], .landing-regioes [data-regiao="ne"] { --uf-cor: var(--cat-2); }
  .mapa-ufs__uf[data-regiao="co"], .landing-regioes [data-regiao="co"] { --uf-cor: var(--cat-3); }
  .mapa-ufs__uf[data-regiao="se"], .landing-regioes [data-regiao="se"] { --uf-cor: var(--cat-4); }
  .mapa-ufs__uf[data-regiao="s"], .landing-regioes [data-regiao="s"] { --uf-cor: var(--cat-5); }
  .mapa-ufs__uf:hover, .mapa-ufs__uf:focus-visible { background: color-mix(in oklab, var(--uf-cor) 45%, var(--surface)); box-shadow: var(--sh-2); transform: translateY(-2px) scale(1.06); position: relative; z-index: 1; }
  .mapa-ufs__nacionais {
    display: inline-flex; align-items: center; gap: var(--sp-2); min-height: var(--alvo-min); padding: 0 var(--sp-4); border-radius: var(--r-full);
    border: 1px dashed var(--border-strong); color: var(--text-2); font-weight: 700; text-decoration: none;
  }
  .mapa-ufs__nacionais:hover { color: var(--accent-text); border-color: var(--accent); }
  .landing-regioes { list-style: none; display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); padding: 0; font-size: var(--fs-sm); color: var(--text-2); }
  .landing-regioes li { display: inline-flex; align-items: center; gap: var(--sp-2); }
  .landing-regioes__cor { width: 12px; height: 12px; border-radius: var(--r-xs); background: var(--uf-cor); background: color-mix(in oklab, var(--uf-cor) 55%, var(--surface)); }
  .mapa-ufs__nacionais small { color: var(--text-3); font-size: var(--fs-xs); font-weight: 700; }

  /* ------------------------------------------------------------ mapa do Brasil de verdade (componente do M34 na landing) */
  .landing-mapa { display: grid; gap: var(--sp-8); align-items: start; }
  .landing-mapa__texto { display: grid; gap: var(--sp-4); align-content: start; }
  .landing-mapa__area { min-width: 0; }
  .landing-mapa__area .mapa-area[data-nivel="br"] .mapa__svg { margin-inline: auto; }
  .landing-mapa__painel {
    display: grid; gap: var(--sp-5); align-content: start; padding: clamp(var(--sp-5), 3vw, var(--sp-6)); border-radius: var(--r-2xl);
    background: var(--bg); border: 1px solid var(--border); box-shadow: var(--sh-1);
  }
  .landing-mapa__top { display: grid; gap: var(--sp-2); }
  .landing-mapa__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); padding-top: var(--sp-4); border-top: 1px solid var(--border); }
  @media (max-width: 1023.98px) { .landing-mapa__top .mapa-ranking li:nth-child(n+6) { display: none; } }
  .landing-mapa__acoes .mapa-ufs__nacionais { flex: 1 1 100%; border-radius: var(--r-lg); padding-block: var(--sp-2); }
  .landing-mapa__acoes .mapa-ufs__nacionais small { margin-left: auto; white-space: nowrap; }
  @media (min-width: 1024px) {
    .landing-mapa { grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr); grid-template-areas: "area texto" "area painel"; column-gap: var(--sp-16); row-gap: var(--sp-6); }
    .landing-mapa__texto { grid-area: texto; }
    .landing-mapa__area { grid-area: area; align-self: center; }
    .landing-mapa__painel { grid-area: painel; }
  }

  /* ------------------------------------------------------------ explicação de exemplo */
  .explicacao-exemplo {
    display: grid; gap: var(--sp-4); padding: clamp(var(--sp-5), 3vw, var(--sp-8)); border-radius: var(--r-2xl); background: var(--surface);
    border: 1px solid var(--border); box-shadow: var(--sh-2); border-top: 3px solid var(--accent);
  }
  .explicacao-exemplo__rotulo { display: inline-flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs); font-weight: 700; color: var(--text-3); text-transform: uppercase; letter-spacing: .06em; }
  .explicacao-exemplo__rotulo .i { width: 14px; height: 14px; }
  .explicacao-exemplo__cabeca { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-2); }
  .explicacao-exemplo__titulo { display: inline-flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-lg); font-weight: 800; }
  .explicacao-exemplo__titulo .i { color: var(--accent-text); }
  .explicacao-exemplo__resumo { font-family: var(--font-read); font-size: var(--fs-read); line-height: var(--lh-read); }
  .explicacao-exemplo__itens { list-style: none; display: grid; gap: var(--sp-2); padding: 0; }
  .explicacao-exemplo__itens li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-2); color: var(--text-2); line-height: var(--lh-ui); }
  .explicacao-exemplo__itens li:first-child .i { color: var(--success); }
  .explicacao-exemplo__itens li:last-child .i { color: var(--danger); }
  .explicacao-exemplo__aviso { font-size: var(--fs-xs); color: var(--text-3); border-top: 1px solid var(--border); padding-top: var(--sp-3); }

  /* ------------------------------------------------------------ OAB */
  .landing-oab { display: grid; gap: var(--sp-6); }
  @media (min-width: 900px) { .landing-oab { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  .oab-cartao {
    display: flex; flex-direction: column; gap: var(--sp-4); padding: clamp(var(--sp-5), 3vw, var(--sp-8)); border-radius: var(--r-2xl);
    background: var(--bg); border: 1px solid var(--border); box-shadow: var(--sh-1);
  }
  .oab-cartao__cabeca { display: flex; align-items: center; gap: var(--sp-3); }
  .oab-cartao__cabeca h3 { font-size: var(--fs-xl); font-weight: 800; letter-spacing: -0.02em; }
  .oab-cartao__icone { display: grid; place-items: center; width: 52px; height: 52px; border-radius: var(--r-lg); background: var(--grad-marca); color: var(--on-accent); }
  .oab-cartao__icone .i { width: 26px; height: 26px; }
  .oab-cartao__arte { border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--border); padding: var(--sp-4); }
  .oab-cartao > .btn:last-child { margin-top: auto; }
  .oab-gabarito { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2) var(--sp-6); }
  .oab-gabarito__linha { display: flex; align-items: center; gap: var(--sp-2); }
  .oab-gabarito__n { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--text-3); width: 2.2em; }
  .oab-gabarito__bolha { display: grid; place-items: center; width: 22px; height: 22px; border-radius: var(--r-full); border: 1.5px solid var(--border-strong); font-size: .625rem; font-weight: 800; color: var(--text-3); }
  .oab-gabarito__bolha[data-marcada="sim"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
  .oab-folha { position: relative; display: grid; gap: var(--sp-3); padding-bottom: var(--sp-8);
    background-image: repeating-linear-gradient(180deg, transparent 0 23px, var(--border) 23px 24px); }
  .oab-folha__linha { height: 8px; border-radius: var(--r-full); background: var(--surface-3); }
  .oab-folha__linha--curta { width: 60%; }
  .oab-folha__contador { position: absolute; right: var(--sp-3); bottom: var(--sp-2); font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--text-2); font-weight: 700; }
  .oab-areas { list-style: none; display: flex; flex-wrap: wrap; gap: var(--sp-2); padding: 0; }

  /* ------------------------------------------------------------ prévia de desempenho (dados de exemplo) */
  .previa-desempenho { display: grid; gap: var(--sp-4); padding: clamp(var(--sp-4), 3vw, var(--sp-6)); border-radius: var(--r-2xl); background: var(--surface); border: 1px solid var(--border); box-shadow: var(--sh-2); margin: 0; }
  .previa-desempenho__rotulo { display: inline-flex; align-items: center; gap: var(--sp-2); justify-self: start; padding: var(--sp-1) var(--sp-3); border-radius: var(--r-full); background: var(--warning-soft); color: var(--warning-strong); font-size: var(--fs-xs); font-weight: 800; }
  .previa-desempenho__rotulo .i { width: 14px; height: 14px; }
  .previa-desempenho__grade { display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
  .previa-desempenho__bloco { display: grid; gap: var(--sp-2); align-content: start; padding: var(--sp-4); border-radius: var(--r-lg); background: var(--bg); border: 1px solid var(--border); min-width: 0; }
  .previa-desempenho__largo { grid-column: 1 / -1; }
  .previa-desempenho__titulo { font-size: var(--fs-sm); font-weight: 700; color: var(--text-2); }
  .previa-desempenho__meta { justify-items: center; }
  .previa-desempenho__linha .spark { width: 100%; height: auto; color: var(--accent); }
  .previa-desempenho__barras { list-style: none; display: grid; gap: var(--sp-2); padding: 0; }
  .previa-desempenho__barras li { display: grid; grid-template-columns: minmax(0, 9em) minmax(0, 1fr) 3.5em; gap: var(--sp-3); align-items: center; font-size: var(--fs-sm); }
  .previa-desempenho__barras .barra-bala { width: 100%; height: 14px; }
  .previa-desempenho__disc { color: var(--text-2); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .previa-desempenho svg.heatmap, .previa-desempenho .previa-desempenho__largo > svg { max-width: 100%; height: auto; }

  /* ------------------------------------------------------------ aparência ao vivo */
  .aparencia-demo { display: grid; gap: var(--sp-6); padding: clamp(var(--sp-5), 3vw, var(--sp-8)); border-radius: var(--r-2xl); background: var(--bg); border: 1px solid var(--border); }
  .aparencia-demo__grupo { border: 0; padding: 0; margin: 0; display: grid; gap: var(--sp-3); }
  .aparencia-demo__grupo legend { font-size: var(--fs-sm); font-weight: 800; color: var(--text-2); margin-bottom: var(--sp-3); }
  .aparencia-demo__temas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-2); }
  .aparencia-demo__tema {
    display: grid; justify-items: center; gap: var(--sp-1); min-height: 72px; padding: var(--sp-3); border-radius: var(--r-lg); border: 1px solid var(--border);
    background: var(--surface); color: var(--text-2); font-weight: 700; font-size: var(--fs-sm); cursor: pointer;
  }
  .aparencia-demo__tema[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-text); box-shadow: 0 0 0 1px var(--accent) inset; }
  .aparencia-demo__paletas { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
  .aparencia-demo__paleta { display: grid; place-items: center; width: 52px; height: 52px; border-radius: var(--r-full); border: 2px solid transparent; background: none; cursor: pointer; padding: 0; }
  .aparencia-demo__paleta[aria-pressed="true"] { border-color: var(--text); }
  .aparencia-demo__bolinha { width: 36px; height: 36px; border-radius: var(--r-full); box-shadow: var(--sh-1); transition: transform var(--dur-2) var(--ease-spring); }
  .aparencia-demo__paleta:hover .aparencia-demo__bolinha { transform: scale(1.1); }
  [data-paleta-amostra="esmeralda"] .aparencia-demo__bolinha { background: var(--paleta-amostra-esmeralda); }
  [data-paleta-amostra="oceano"] .aparencia-demo__bolinha { background: var(--paleta-amostra-oceano); }
  [data-paleta-amostra="ametista"] .aparencia-demo__bolinha { background: var(--paleta-amostra-ametista); }
  [data-paleta-amostra="terracota"] .aparencia-demo__bolinha { background: var(--paleta-amostra-terracota); }
  [data-paleta-amostra="grafite"] .aparencia-demo__bolinha { background: var(--paleta-amostra-grafite); }
  [data-paleta-amostra="rose"] .aparencia-demo__bolinha { background: var(--paleta-amostra-rose); }
  .aparencia-demo__tv { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-4); align-items: start; padding-top: var(--sp-5); border-top: 1px solid var(--border); }
  .aparencia-demo__tv h3 { font-size: var(--fs-md); font-weight: 800; }
  .aparencia-demo__tv p { color: var(--text-2); line-height: var(--lh-ui); }
  .aparencia-demo__tv-icone { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--r-lg); background: var(--accent-soft); color: var(--accent-text); }

  /* ------------------------------------------------------------ planos resumidos (landing) */
  .planos-resumo { list-style: none; display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); padding: 0; }
  .planos-resumo__item { position: relative; display: grid; gap: var(--sp-3); align-content: start; justify-items: start; padding: var(--sp-6); border-radius: var(--r-xl); background: var(--surface); border: 1px solid var(--border); box-shadow: var(--sh-1); }
  .planos-resumo__item[data-destaque] { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent) inset, var(--sh-2); }
  .planos-resumo__faixa { position: absolute; top: calc(var(--sp-3) * -1); right: var(--sp-4); display: inline-flex; align-items: center; gap: var(--sp-1); padding: var(--sp-1) var(--sp-3); border-radius: var(--r-full); background: var(--accent); color: var(--on-accent); font-size: var(--fs-xs); font-weight: 800; }
  .planos-resumo__faixa .i { width: 14px; height: 14px; }
  .planos-resumo__preco { font-size: var(--fs-xl); font-weight: 800; letter-spacing: -0.02em; }
  .planos-resumo__preco small { font-size: var(--fs-sm); color: var(--text-3); font-weight: 600; letter-spacing: 0; }
  .planos-resumo__desc { color: var(--text-2); line-height: var(--lh-ui); font-size: var(--fs-sm); }

  /* ------------------------------------------------------------ FAQ (details/summary) */
  .landing-faq { display: grid; gap: var(--sp-6); max-width: 860px; }
  .faq { display: grid; gap: var(--sp-3); }
  .faq__item { border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); transition: border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out); }
  .faq__item[open] { border-color: var(--accent-border); box-shadow: var(--sh-1); }
  .faq__pergunta { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); min-height: var(--alvo-min); padding: var(--sp-4) var(--sp-5); font-weight: 700; cursor: pointer; list-style: none; }
  .faq__pergunta::-webkit-details-marker { display: none; }
  .faq__pergunta .i { flex: none; color: var(--text-3); transition: transform var(--dur-2) var(--ease-out); }
  .faq__item[open] .faq__pergunta .i { transform: rotate(180deg); color: var(--accent-text); }
  .faq__resposta { padding: 0 var(--sp-5) var(--sp-5); color: var(--text-2); line-height: var(--lh-ui); max-width: 70ch; }

  /* ------------------------------------------------------------ CTA final */
  .landing-final { padding-block: clamp(var(--sp-10), 6vw, var(--sp-16)) 0; }
  .landing-final__caixa {
    display: grid; justify-items: center; text-align: center; gap: var(--sp-4); padding: clamp(var(--sp-10), 6vw, var(--sp-16)) var(--gutter);
    border-radius: var(--r-2xl); background: var(--grad-marca); color: var(--on-accent); box-shadow: var(--sh-3);
  }
  .landing-final__titulo { font-size: var(--fs-2xl); font-weight: 800; letter-spacing: -0.025em; text-wrap: balance; color: var(--marca-papel); }
  .landing-final__texto { font-size: var(--fs-md); color: var(--marca-papel); opacity: .92; }
  .landing-final__caixa .btn-pri { background: var(--marca-papel); color: var(--marca-2); border-color: transparent; }
  .landing-final__caixa .btn-pri:hover { background: var(--surface); color: var(--marca-2); }

  /* revelação ao rolar (o script só marca "pendente" o que está abaixo da dobra; sem script tudo aparece) */
  @media (prefers-reduced-motion: no-preference) {
    :root:not([data-movimento="reduzido"]):not([data-modo="tv"]) [data-revelar="pendente"] { opacity: 0; transform: translateY(16px); }
    :root:not([data-movimento="reduzido"]):not([data-modo="tv"]) [data-revelar="sim"] { opacity: 1; transform: none; transition: opacity var(--dur-4) var(--ease-out), transform var(--dur-4) var(--ease-out); }
  }

  /* ============================================================ planos (P02) */
  .pagina-planos .conteudo { padding-top: clamp(var(--sp-6), 4vw, var(--sp-12)); }
  .planos { max-width: var(--w-larga); margin-inline: auto; display: grid; gap: clamp(var(--sp-8), 5vw, var(--sp-16)); }
  .planos__cabeca { display: grid; gap: var(--sp-3); justify-items: center; text-align: center; max-width: 760px; margin-inline: auto; }
  .planos__titulo { font-size: var(--fs-3xl); font-weight: 800; letter-spacing: -0.035em; line-height: 1.05; text-wrap: balance; }
  .planos__sub { font-size: var(--fs-lg); color: var(--text-2); line-height: 1.5; text-wrap: pretty; }
  .planos__aviso { display: flex; align-items: center; gap: var(--sp-3); justify-self: center; padding: var(--sp-3) var(--sp-5); border-radius: var(--r-full); background: var(--info-soft); color: var(--info-strong); font-weight: 600; }
  .planos__grade { list-style: none; display: grid; gap: var(--sp-5); padding: 0; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); align-items: stretch; }
  @media (min-width: 1200px) { .planos__grade { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media (max-width: 767.98px) {
    .planos__grade {
      grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 86%; overflow-x: auto; scroll-snap-type: x mandatory;
      padding: var(--sp-4) var(--gutter) var(--sp-4); margin-inline: calc(var(--gutter) * -1); scroll-padding-inline: var(--gutter); scrollbar-width: none;
    }
    .planos__grade::-webkit-scrollbar { display: none; }
    .plano-cartao { scroll-snap-align: center; }
    .plano-cartao[data-plano="anual"] { order: -1; }
  }
  .plano-cartao { position: relative; display: flex; border-radius: var(--r-2xl); background: var(--surface); border: 1px solid var(--border); box-shadow: var(--sh-1); }
  .plano-cartao[data-destaque] { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent) inset, var(--sh-3); }
  @media (min-width: 1200px) { .plano-cartao[data-destaque] { transform: translateY(calc(var(--sp-3) * -1)); } }
  .plano-cartao[data-atual] { background: color-mix(in oklab, var(--accent-soft) 45%, var(--surface)); }
  .plano-cartao__corpo { display: flex; flex-direction: column; gap: var(--sp-4); padding: clamp(var(--sp-5), 2.5vw, var(--sp-8)); width: 100%; }
  .plano-cartao__faixa { position: absolute; top: calc(var(--sp-4) * -1); left: 50%; translate: -50% 0; width: max-content; display: inline-flex; align-items: center; gap: var(--sp-1); padding: var(--sp-1) var(--sp-4); border-radius: var(--r-full); background: var(--accent); color: var(--on-accent); font-size: var(--fs-xs); font-weight: 800; white-space: nowrap; box-shadow: var(--sh-2); }
  .plano-cartao__faixa .i { width: 14px; height: 14px; }
  .plano-cartao__nome { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); flex-wrap: wrap; }
  .plano-cartao__atual { font-size: var(--fs-xs); font-weight: 800; color: var(--accent-text); text-transform: uppercase; letter-spacing: .06em; }
  .plano-cartao__preco { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--sp-2); }
  .plano-cartao__preco strong { font-size: var(--fs-2xl); font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
  .plano-cartao__preco span { color: var(--text-3); font-weight: 600; }
  .plano-cartao__parcelas { margin-top: calc(var(--sp-3) * -1); color: var(--text-2); font-size: var(--fs-sm); font-weight: 600; }
  .plano-cartao__desc { color: var(--text-2); line-height: var(--lh-ui); font-size: var(--fs-sm); }
  .plano-cartao__lista { list-style: none; display: grid; gap: var(--sp-2); padding: 0; flex: 1; align-content: start; }
  .plano-cartao__lista li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-2); font-size: var(--fs-sm); line-height: 1.45; }
  .plano-cartao__lista .i { color: var(--success); width: 18px; height: 18px; margin-top: var(--sp-px); }
  .plano-cartao__acoes { display: grid; gap: var(--sp-3); }
  .plano-cartao__acao { display: grid; gap: var(--sp-1); }
  .plano-cartao__legal { font-size: var(--fs-xs); color: var(--text-3); line-height: 1.45; }
  .plano-cartao__nota { font-size: var(--fs-sm); color: var(--text-3); text-align: center; }
  .planos__garantias { list-style: none; display: grid; gap: var(--sp-3); padding: 0; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
  .planos__garantias li { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-4); border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--border); font-weight: 600; font-size: var(--fs-sm); }
  .planos__garantias .i { color: var(--accent-text); flex: none; }
  .planos__comparar, .planos__vitalicio, .planos__faq { display: grid; gap: var(--sp-4); max-width: 980px; width: 100%; margin-inline: auto; }
  .planos__h2 { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xl); font-weight: 800; letter-spacing: -0.02em; }
  .planos__h2 .i { color: var(--accent-text); }
  .planos__texto { color: var(--text-2); line-height: var(--lh-ui); max-width: 70ch; }
  .planos__ia { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-3); padding: var(--sp-4) var(--sp-5); border-radius: var(--r-lg); background: var(--accent-soft); color: var(--text); line-height: var(--lh-ui); font-size: var(--fs-sm); }
  .planos__ia .i { color: var(--accent-text); margin-top: var(--sp-px); }
  .planos__vitalicio { padding: var(--sp-6); border-radius: var(--r-xl); background: var(--surface); border: 1px solid var(--border); }
  .planos__rodape { display: flex; align-items: center; justify-content: center; gap: var(--sp-2); color: var(--text-3); font-size: var(--fs-sm); text-align: center; flex-wrap: wrap; }
  .planos__decidir { display: flex; justify-content: center; }

  /* ============================================================ institucionais (P07) */
  .inst { max-width: 980px; margin-inline: auto; display: grid; gap: var(--sp-8); padding-block: clamp(var(--sp-4), 3vw, var(--sp-10)); }
  .inst__cabeca { display: grid; gap: var(--sp-3); }
  .inst__titulo { font-size: var(--fs-2xl); font-weight: 800; letter-spacing: -0.03em; line-height: var(--lh-tight); text-wrap: balance; }
  .inst__sub { color: var(--text-2); font-size: var(--fs-md); line-height: var(--lh-ui); max-width: 65ch; }
  .inst__pilares { list-style: none; display: grid; gap: var(--sp-4); padding: 0; }
  .inst__pilar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-4); padding: var(--sp-5); border-radius: var(--r-xl); background: var(--surface); border: 1px solid var(--border); }
  .inst__pilar h2 { font-size: var(--fs-md); font-weight: 800; margin-bottom: var(--sp-1); }
  .inst__pilar p { color: var(--text-2); line-height: var(--lh-ui); }
  .inst__pilar-icone { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r-lg); background: var(--accent-soft); color: var(--accent-text); }
  .inst__acoes { display: flex; flex-wrap: wrap; gap: var(--sp-3); }

  .ajuda__filtro { max-width: 560px; margin-top: var(--sp-2); }
  .ajuda__temas { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
  .ajuda__temas a.chip { text-decoration: none; min-height: var(--alvo-min); padding-inline: var(--sp-4); }
  .ajuda__temas a.chip[aria-current="page"] { background: var(--accent-soft); color: var(--accent-text); border-color: var(--accent-border); }
  .ajuda__tema { display: grid; gap: var(--sp-3); }
  .ajuda__tema[hidden], .faq__item[hidden] { display: none; }
  .ajuda__tema-titulo { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-lg); font-weight: 800; }
  .ajuda__tema-titulo .i { color: var(--accent-text); }
  .ajuda__falar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-4); align-items: center; padding: var(--sp-6); border-radius: var(--r-xl); background: var(--surface); border: 1px solid var(--border); }
  .ajuda__falar > .btn { grid-column: 1 / -1; justify-self: start; }
  @media (min-width: 768px) { .ajuda__falar { grid-template-columns: auto minmax(0, 1fr) auto; } .ajuda__falar > .btn { grid-column: auto; } }
  .ajuda__falar h2 { font-size: var(--fs-md); font-weight: 800; }
  .ajuda__falar p { color: var(--text-2); }
  .ajuda__falar-icone { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--r-lg); background: var(--accent-soft); color: var(--accent-text); }

  .contato__grade { display: grid; gap: var(--sp-6); align-items: start; }
  @media (min-width: 900px) { .contato__grade { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); } }
  .contato__form { display: grid; gap: var(--sp-4); }
  .contato__armadilha { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
  .contato__lateral { display: grid; gap: var(--sp-4); }
  .contato__canal { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-3); color: var(--text-2); line-height: var(--lh-ui); }
  .contato__canal .i { color: var(--accent-text); margin-top: var(--sp-px); }
  .contato__ok { padding: var(--sp-8) 0; }

  .status__estado { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--sp-4); align-items: center; padding: var(--sp-6); border-radius: var(--r-xl); border: 1px solid var(--border); background: var(--surface); }
  .status__estado h2 { font-size: var(--fs-lg); font-weight: 800; }
  .status__estado p { color: var(--text-2); }
  .status__estado > .i { width: 28px; height: 28px; }
  .status__ponto { width: 14px; height: 14px; border-radius: var(--r-full); background: var(--text-3); box-shadow: 0 0 0 6px var(--surface-2); }
  .status__estado[data-estado="ok"] { border-color: var(--success); background: var(--success-soft); }
  .status__estado[data-estado="ok"] .status__ponto { background: var(--success); }
  .status__estado[data-estado="ok"] > .i { color: var(--success); }
  .status__estado[data-estado="instavel"] { border-color: var(--warning); background: var(--warning-soft); }
  .status__estado[data-estado="instavel"] .status__ponto { background: var(--warning); }
  .status__estado[data-estado="instavel"] > .i { color: var(--warning-strong); }
  @media (prefers-reduced-motion: no-preference) {
    :root:not([data-movimento="reduzido"]):not([data-modo="tv"]) .status__estado[data-estado="ok"] .status__ponto { animation: status-pulsar 2.4s var(--ease-in-out) infinite; }
  }
  @keyframes status-pulsar { 50% { box-shadow: 0 0 0 10px var(--success-soft); } }
  .status__numeros { display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
  .status__numeros .stat { padding: var(--sp-5); border-radius: var(--r-xl); background: var(--surface); border: 1px solid var(--border); }
  .status__dias { display: grid; gap: var(--sp-3); }
  .status__dias h2 { font-size: var(--fs-md); font-weight: 800; }
  .status__barras { list-style: none; display: grid; grid-template-columns: repeat(30, minmax(0, 1fr)); gap: var(--sp-1); padding: 0; height: 48px; }
  .status__barra { border-radius: var(--r-xs); background: var(--surface-3); }
  .status__barra[data-nivel="ok"] { background: var(--success); }
  .status__barra[data-nivel="atencao"] { background: var(--warning); }
  .status__barra[data-nivel="falha"] { background: var(--danger); }
  .status__como { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-2); color: var(--text-3); font-size: var(--fs-sm); line-height: var(--lh-ui); }

  /* ============================================================ documentos legais e novidades (P07) */
  .documento { max-width: var(--w-larga); margin-inline: auto; display: grid; gap: var(--sp-6); padding-block: clamp(var(--sp-4), 3vw, var(--sp-10)); }
  .documento__cabeca { display: grid; gap: var(--sp-2); max-width: var(--w-leitura); }
  .documento__titulo { font-size: var(--fs-2xl); font-weight: 800; letter-spacing: -0.03em; line-height: var(--lh-tight); text-wrap: balance; }
  .documento__data { display: inline-flex; align-items: center; gap: var(--sp-2); color: var(--text-3); font-size: var(--fs-sm); font-weight: 600; }
  .documento__aviso { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-3); align-items: start; max-width: var(--w-leitura); padding: var(--sp-4) var(--sp-5); border-radius: var(--r-lg); line-height: var(--lh-ui); }
  .documento__aviso[data-tipo="rascunho"] { background: var(--warning-soft); color: var(--warning-strong); }
  .documento__aviso[data-tipo="rascunho"] p { color: var(--text); margin-top: var(--sp-1); }
  .documento__aviso[data-tipo="antiga"] { background: var(--info-soft); color: var(--info-strong); grid-template-columns: auto minmax(0, 1fr) auto; }
  .documento__grade { display: grid; gap: var(--sp-8); align-items: start; }
  @media (min-width: 1024px) { .documento__grade { grid-template-columns: 280px minmax(0, var(--w-leitura)); gap: var(--sp-12); } }
  .documento__indice { position: relative; }
  @media (min-width: 1024px) { .documento__indice { position: sticky; top: calc(72px + var(--sp-6)); max-height: calc(100dvh - 72px - var(--sp-12)); overflow-y: auto; } }
  .documento__indice-caixa { border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); }
  .documento__indice-caixa > summary { display: flex; align-items: center; gap: var(--sp-2); min-height: var(--alvo-min); padding: var(--sp-3) var(--sp-4); font-weight: 800; font-size: var(--fs-sm); cursor: pointer; list-style: none; }
  .documento__indice-caixa > summary::-webkit-details-marker { display: none; }
  .documento__indice ol { list-style: none; padding: 0 var(--sp-2) var(--sp-3); margin: 0; display: grid; gap: var(--sp-px); }
  .documento__indice a { display: flex; align-items: center; min-height: var(--alvo-min); padding: var(--sp-2) var(--sp-3); border-radius: var(--r-sm); color: var(--text-2); text-decoration: none; font-size: var(--fs-sm); line-height: 1.35; }
  .documento__indice a:hover { background: var(--surface-2); color: var(--text); }
  .documento__indice a[aria-current="true"] { background: var(--accent-soft); color: var(--accent-text); font-weight: 700; }
  .documento__corpo { max-width: var(--w-leitura); }
  .documento__corpo h2 { font-family: var(--font-ui); font-size: var(--fs-xl); font-weight: 800; letter-spacing: -0.02em; line-height: var(--lh-tight); margin: var(--sp-10) 0 var(--sp-3); scroll-margin-top: calc(72px + var(--sp-4)); }
  .documento__corpo h3 { font-family: var(--font-ui); font-size: var(--fs-lg); font-weight: 800; margin: var(--sp-6) 0 var(--sp-2); scroll-margin-top: calc(72px + var(--sp-4)); }
  .documento__corpo > :first-child { margin-top: 0; }
  .documento__corpo p { margin: 0 0 var(--sp-3); }
  .documento__corpo ul, .documento__corpo ol { margin: 0 0 var(--sp-4); padding-left: var(--sp-6); display: grid; gap: var(--sp-2); }
  .documento__corpo blockquote { margin: 0 0 var(--sp-4); padding: var(--sp-3) var(--sp-5); border-left: 3px solid var(--accent); background: var(--surface); border-radius: var(--r-sm); }
  .documento__corpo a { color: var(--accent-text); text-underline-offset: 3px; }
  .documento__versoes { margin-top: var(--sp-10); padding-top: var(--sp-6); border-top: 1px solid var(--border); }
  .documento__versoes ul { list-style: none; padding: 0; }
  .documento__topo { margin-top: var(--sp-10); font-family: var(--font-ui); font-size: var(--fs-sm); }
  .documento__topo a { display: inline-flex; align-items: center; gap: var(--sp-2); }

  /* ============================================================ /admin/paginas */
  .admin-paginas { display: grid; gap: var(--sp-6); }
  .admin-paginas__cabeca { display: grid; gap: var(--sp-2); }
  .admin-paginas__cabeca .titulo-pagina { display: flex; align-items: center; gap: var(--sp-2); }
  .admin-paginas__grade { display: grid; gap: var(--sp-6); align-items: start; }
  @media (min-width: 1280px) { .admin-paginas__grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
  .admin-paginas__form { display: grid; gap: var(--sp-4); }
  .admin-paginas__form textarea { font-family: var(--font-mono); font-size: var(--fs-sm); line-height: 1.6; min-height: 480px; }
  .admin-paginas__acoes { display: flex; gap: var(--sp-3); }
  .admin-paginas__publicar { display: grid; gap: var(--sp-3); background: var(--warning-soft); border-color: var(--warning); }
  .admin-paginas__previa .documento__corpo { max-height: 70vh; overflow-y: auto; }

  /* ============================================================ TV (10-foot UI): alvos maiores, sem efeitos de hover */
  :root[data-modo="tv"] .landing-hero__titulo { -webkit-text-fill-color: var(--text); background: none; }
  :root[data-modo="tv"] .mapa-ufs__uf { font-size: var(--fs-lg); }
  :root[data-modo="tv"] .landing-recurso:hover, :root[data-modo="tv"] .mapa-ufs__uf:hover { transform: none; }
  :root[data-modo="tv"] .faq__pergunta { font-size: var(--fs-lg); }
  :root[data-modo="tv"] .landing-numero__valor { font-size: var(--fs-2xl); }

  /* impressão das páginas legais: sem índice nem avisos de navegação */
  @media print {
    .documento__indice, .documento__topo, .documento__versoes { display: none; }
    .documento__grade { display: block; }
  }
}
