/* ================================================================
   ANAFIMA — DESIGN SYSTEM v5  ·  "Editorial Branco"
   Tipologia: Inter (estrutural / UI) + Fraunces (serif editorial → papel do Reckless)
   Filosofia: branco como protagonista, navy/verde como acento,
   grafismo sonoro derivado do logo (arcos, equalizador, waveform, grid de pontos).
   ================================================================ */

/* ---------- 1. TOKENS --------------------------------------------------- */
:root{
  /* Tinta — quase-preto azulado para títulos de alto impacto */
  --ink:#0C1726; --ink-2:#33425A; --ink-3:#5B6878; --ink-faint:#9AA6B4;

  /* Azul institucional (do logo) */
  --navy:#1E3D7B; --navy-700:#172F61; --navy-900:#0B1B3C;
  --navy-50:#EEF2FA; --navy-100:#DEE6F4; --navy-tint:rgba(30,61,123,.06);

  /* Verde ondas (do logo) */
  --green:#3EAE36; --green-600:#2F9A2A; --green-700:#247A20;
  --green-50:#EAF7E9; --green-tint:rgba(62,174,54,.10);

  /* Spark — âmbar editorial, uso restrito ao grafismo (vivacidade tipo referência) */
  --spark:#F2A413; --spark-50:#FEF3DC;

  /* Papel & superfícies — o "branco trabalhado" */
  --paper:#FFFFFF; --paper-2:#F6F8FC; --paper-3:#EFF3F9; --paper-warm:#FBFAF7;
  --line:#E6EBF3; --line-2:#D7DEEA;

  /* Tipografia */
  --sans:'Inter',system-ui,-apple-system,sans-serif;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --fs-display:clamp(2.85rem,6.4vw,6rem);
  --fs-h2:clamp(2rem,3.8vw,3.35rem);
  --fs-h3:clamp(1.25rem,1.7vw,1.6rem);
  --fs-lead:clamp(1.075rem,1.4vw,1.3rem);
  --fs-body:1.0625rem;

  /* Ritmo espacial — generoso, para o respiro premiável */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --container:1240px; --container-narrow:880px; --gutter:clamp(1.25rem,4vw,2.5rem);

  --r:6px; --r-lg:14px; --r-xl:24px; --r-pill:999px;
  --shadow-xs:0 1px 2px rgba(12,23,38,.05);
  --shadow-sm:0 4px 14px rgba(12,23,38,.06);
  --shadow-md:0 14px 40px rgba(12,23,38,.10);
  --shadow-lg:0 30px 70px rgba(12,23,38,.16);
  --ease:.4s cubic-bezier(.2,.7,.2,1); --ease-fast:.2s cubic-bezier(.4,0,.2,1);
  /* aliases p/ tokens referenciados no markup (evita cor herdada por var() indefinida) */
  --text:var(--ink); --text-2:var(--ink-2); --text-3:var(--ink-3); --text-muted:var(--ink-3); --gray:var(--ink-3); --bg2:var(--paper-2);
  --white:#fff; --ink-muted:var(--ink-3); --navy-20:rgba(30,61,123,.18);
}
.skip-link{position:absolute;left:8px;top:-60px;z-index:9999;background:var(--navy);color:#fff;padding:.6rem 1rem;border-radius:0 0 8px 8px;font-weight:600;text-decoration:none;transition:top .2s}
.skip-link:focus{top:0}
[id]{scroll-margin-top:90px}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{
  margin:0;font-family:var(--sans);font-size:var(--fs-body);line-height:1.65;
  color:var(--ink-2);background:var(--paper);overflow-x:hidden;
  font-feature-settings:"cv05" 1,"ss01" 1;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration:none;transition:color var(--ease-fast)}
::selection{background:var(--green);color:#fff}

h1,h2,h3,h4{color:var(--ink);margin:0;font-weight:800;letter-spacing:-.02em;line-height:1.04;text-wrap:balance}
h1{font-size:var(--fs-display)}
h2{font-size:var(--fs-h2);letter-spacing:-.025em}
h3{font-size:var(--fs-h3);letter-spacing:-.01em;line-height:1.2}
p{margin:0;text-wrap:pretty}

/* A assinatura tipográfica: a "voz humana" em Fraunces italic dentro dos títulos */
.ed{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-optical-sizing:auto;letter-spacing:-.005em;
}
h1 .ed{font-weight:300}
h2 .ed{font-weight:400}
/* <em> nos títulos = mesma voz editorial Fraunces do .ed (consistência entre todas as páginas) */
h1 em,h2 em,h3 em{font-family:var(--serif);font-style:italic;font-weight:300;letter-spacing:-.005em;color:inherit}
h2 em{font-weight:400}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:var(--container-narrow);margin-inline:auto}
/* Ritmo vertical padrão ANAFIMA — seção: 44–72px / seção compacta: 32–48px */
.section{padding:clamp(2.75rem,5.5vw,4.5rem) 0}
.section--tight{padding:clamp(2rem,3.5vw,3rem) 0}

/* Ritmo entre seções: quando duas seções de MESMO fundo se encostam, não há
   contraste de cor que justifique o padding dobrado (128px+128px) — isso vira
   um "vão morto" e parece erro de layout. Aqui colapsamos o topo da segunda
   seção para manter um único ritmo vertical. Vale para todas as páginas. */
/* claro → claro (fundo branco/papel) */
.section:not(.bg-2):not(.bg-warm):not(.bg-light):not(.bg-navy):not(.decl):not(.cta) + .section:not(.bg-2):not(.bg-warm):not(.bg-light):not(.bg-navy):not(.decl):not(.cta),
.section--tight + .section:not(.bg-2):not(.bg-warm):not(.bg-light):not(.bg-navy):not(.decl):not(.cta),
.section:not(.bg-2):not(.bg-warm):not(.bg-light):not(.bg-navy):not(.decl):not(.cta) + .section--tight,
.section--tight + .section--tight,
/* cinza → cinza */
.bg-2 + .bg-2, .bg-warm + .bg-warm, .bg-light + .bg-light, .bg-warm + .bg-light, .bg-light + .bg-warm,
/* navy → navy */
.bg-navy + .bg-navy, .decl + .decl, .bg-navy + .decl, .decl + .bg-navy{
  padding-top:0;
}
.bg-2{background:var(--paper-2)}
.bg-warm{background:var(--paper-warm)}
.bg-light{background:var(--paper-warm)}
.stat-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center}
@media(max-width:560px){.stat-3{grid-template-columns:1fr;gap:1.5rem}}
.bg-navy{background:var(--navy-900);color:rgba(255,255,255,.88)}
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4{color:#fff}
/* Legibilidade em fundo escuro: vence .shead p (--ink-2) por especificidade */
.bg-navy p,.bg-navy li,.bg-navy .shead p{color:rgba(255,255,255,.85)}

/* Eyebrow / kicker */
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--green-700);margin-bottom:1.1rem;
}
.eyebrow::before{content:'';width:22px;height:2px;background:currentColor;border-radius:2px}
.eyebrow--w{color:var(--green)}
.eyebrow--center{justify-content:center}

/* ---------- 2. GRAFISMO (vocabulário sonoro ANAFIMA) -------------------- */
/* Arcos concêntricos — a "onda" do logo, desenhada em SVG nítido e escalável */
.gfx{position:absolute;pointer-events:none;z-index:0}
.gfx-arcs path{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}
.eq-bars{display:flex;align-items:flex-end;gap:4px;height:100%}
.eq-bars span{flex:1;border-radius:3px 3px 0 0;background:currentColor;animation:eq 1.8s ease-in-out infinite}
@keyframes eq{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.eq-bars span{transform-origin:bottom}
.eq-bars span:nth-child(2){animation-delay:.15s}.eq-bars span:nth-child(3){animation-delay:.3s}
.eq-bars span:nth-child(4){animation-delay:.45s}.eq-bars span:nth-child(5){animation-delay:.6s}
.eq-bars span:nth-child(6){animation-delay:.25s}.eq-bars span:nth-child(7){animation-delay:.5s}
.eq-bars span:nth-child(8){animation-delay:.1s}.eq-bars span:nth-child(9){animation-delay:.4s}
/* Grid de pontos — textura de fundo sutil */
.dots{background-image:radial-gradient(var(--line-2) 1.4px,transparent 1.4px);background-size:22px 22px}

/* ---------- 3. TOPBAR --------------------------------------------------- */
.topbar{background:var(--paper);border-bottom:1px solid var(--line);font-size:.8rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:40px}
.tb-left{display:flex;gap:1.5rem;color:var(--ink-3)}
.tb-left a{color:var(--ink-3);display:inline-flex;align-items:center;gap:.4rem}
.tb-left a:hover{color:var(--navy)}
.tb-right{display:flex;gap:.25rem}
.tb-ic{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-3);transition:all var(--ease-fast)}
.tb-ic:hover{background:var(--navy-50);color:var(--navy)}

/* ---------- 4. HEADER --------------------------------------------------- */
.header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.82);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line);transition:box-shadow var(--ease)}
.header.scrolled{box-shadow:var(--shadow-sm)}
.header .container{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:.7rem}
.brand img{height:40px;width:auto}
.nav{display:flex;align-items:center;gap:.1rem}
.nav a{position:relative;padding:.55rem .8rem;font-size:.8rem;font-weight:600;letter-spacing:.01em;color:var(--ink-2);border-radius:var(--r)}
.nav a::after{content:'';position:absolute;left:.8rem;right:.8rem;bottom:.32rem;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform var(--ease)}
.nav a:hover{color:var(--navy)}
.nav a:hover::after{transform:scaleX(1)}
.nav-item{position:relative;display:flex;align-items:center}
.nav-item>.subnav{position:absolute;top:100%;left:0;min-width:248px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-md);padding:.4rem;display:flex;flex-direction:column;gap:.1rem;opacity:0;transform:translateY(7px);pointer-events:none;transition:all var(--ease);z-index:60}
.nav-item:hover>.subnav,.nav-item:focus-within>.subnav{opacity:1;transform:none;pointer-events:auto}
.subnav a{white-space:nowrap;font-size:.8rem;font-weight:600;color:var(--ink-2);padding:.55rem .75rem;border-radius:var(--r)}
.subnav a::after{display:none}
.subnav a:hover{background:var(--paper-2);color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.72rem 1.4rem;font-family:var(--sans);font-size:.875rem;font-weight:700;letter-spacing:.005em;border:1.5px solid transparent;border-radius:var(--r-pill);cursor:pointer;transition:all var(--ease);white-space:nowrap}
.btn svg{transition:transform var(--ease)}
/* Preenchimento em green-700 p/ contraste WCAG AA (branco/#247A20 ≈ 5,4:1); --green claro segue nos acentos/grafismos */
.btn-green{background:var(--green-700);color:#fff;box-shadow:0 6px 18px rgba(36,122,32,.30)}
.btn-green:hover{background:#1c6418;color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(36,122,32,.40)}
.btn-green:hover svg{transform:translateX(3px)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-700);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--navy);color:var(--navy);background:var(--paper)}
.btn-ghost-w{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.btn-ghost-w:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--line-2)}
.btn-outline:hover{border-color:var(--navy);background:var(--navy-50);color:var(--navy);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
/* Botão sem variante de cor (class exatamente "btn") herda aparência ghost legível, em vez de invisível */
[class="btn"]{border-color:var(--line-2);color:var(--ink)}
[class="btn"]:hover{border-color:var(--navy);color:var(--navy);background:var(--paper-2)}
.btn-lg{padding:.95rem 1.8rem;font-size:.95rem}

/* ---------- 5. HERO (branco · tipografia editorial) --------------------- */
.hero{position:relative;overflow:hidden;background:var(--paper);padding:clamp(2.75rem,5vw,4.5rem) 0 clamp(2.25rem,4vw,3.5rem)}
.hero .dots{position:absolute;inset:0;opacity:.5;-webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000,transparent 72%);mask-image:radial-gradient(120% 90% at 50% 0,#000,transparent 72%)}
.hero-inner{position:relative;z-index:2;text-align:center;max-width:1000px;margin:0 auto}
.hero h1{margin:0 0 1.6rem}
.hero h1 .lead-line{display:block;color:var(--ink)}
.hero h1 .ed{color:var(--navy)}
.hero-sub{font-size:var(--fs-lead);line-height:1.6;color:var(--ink-2);max-width:680px;margin:0 auto 2.4rem;font-weight:400}
.hero-sub b{color:var(--ink);font-weight:700}
.hero-cta{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
.hero-meta{display:flex;gap:2.4rem;justify-content:center;flex-wrap:wrap;margin-top:3.2rem;padding-top:2.2rem;border-top:1px solid var(--line)}
.hero-meta .hm{text-align:center}
.hero-meta .hm-n{font-family:var(--serif);font-weight:400;font-size:2rem;color:var(--navy);line-height:1;letter-spacing:-.02em}
.hero-meta .hm-l{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin-top:.45rem}
/* Grafismos laterais do hero (estilo referência: clusters nas bordas inferiores) */
.hero-gfx{position:absolute;bottom:-10px;z-index:1;opacity:.9}
.hero-gfx--l{left:clamp(-60px,-2vw,0px)}
.hero-gfx--r{right:clamp(-40px,0vw,10px);bottom:10px}
@media(max-width:1100px){.hero-gfx{display:none}}

/* ---------- 6. FAIXA DE MARCAS (prova social topo) ---------------------- */
.trust{padding:2.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.trust-lab{text-align:center;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1.4rem}
.trust-row{display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,3.5rem);flex-wrap:wrap}
.trust-row img{height:26px;width:auto;filter:grayscale(1) opacity(.5);transition:filter var(--ease)}
.trust-row img:hover{filter:grayscale(0) opacity(1)}

/* ---------- 7. SECTION HEAD genérico ----------------------------------- */
.shead{max-width:640px;margin-bottom:clamp(1.75rem,3vw,2.5rem)}
.shead--center{margin-inline:auto;text-align:center}
.shead p{margin-top:1rem;font-size:var(--fs-lead);color:var(--ink-2);line-height:1.6}

/* ---------- 8. VERTICAIS (cards arejados) ------------------------------ */
.vert-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem}
.vert{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.75rem 1.4rem 1.6rem;transition:all var(--ease);overflow:hidden}
.vert::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--green),var(--navy));transform:scaleX(0);transform-origin:left;transition:transform var(--ease)}
.vert:hover{border-color:transparent;box-shadow:var(--shadow-md);transform:translateY(-4px)}
.vert:hover::after{transform:scaleX(1)}
.vert-ic{width:46px;height:46px;border-radius:12px;background:var(--navy-50);color:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;transition:all var(--ease)}
.vert:hover .vert-ic{background:var(--navy);color:#fff;transform:rotate(-6deg)}
.vert-n{font-weight:800;font-size:1.02rem;color:var(--ink);letter-spacing:-.01em;margin-bottom:.3rem}
.vert-s{font-size:.82rem;color:var(--ink-3);line-height:1.5}
.vert-block{display:flex;align-items:center;gap:.7rem;margin:0 0 1.15rem;font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--navy)}
.vert-block::before{content:'';width:24px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--green),var(--navy));flex:none}
.vert-block--svc{margin-top:2.5rem}
.vert-grid--svc{grid-template-columns:repeat(4,1fr)}
@media(max-width:1080px){.vert-grid--svc{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.vert-grid--svc{grid-template-columns:1fr 1fr}}

/* ---------- 9. ATUAÇÃO (split editorial) ------------------------------- */
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,5vw,5.5rem);align-items:start}
.act-stack{display:flex;flex-direction:column}
.act{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;padding:1.7rem 0;border-top:1px solid var(--line);transition:all var(--ease)}
.act:last-child{border-bottom:1px solid var(--line)}
.act:hover{padding-left:.8rem}
.act-n{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.5rem;color:var(--green-700);line-height:1}
.act h3{margin-bottom:.4rem}
.act p{font-size:.95rem;color:var(--ink-2);line-height:1.6}
.act-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:.6rem;font-size:.85rem;font-weight:700;color:var(--navy)}
.act-link:hover{color:var(--green-600)}
.act-link svg{transition:transform var(--ease-fast)}
.act-link:hover svg{transform:translateX(3px)}

/* ---------- 10. DECLARAÇÃO (momento escuro de contraste) --------------- */
.decl{position:relative;overflow:hidden}
.decl .gfx{inset:0;width:100%;height:100%;opacity:.5}
.decl-inner{position:relative;z-index:2;text-align:center;max-width:920px;margin:0 auto}
.decl q{display:block;quotes:none;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.6rem,3.4vw,2.75rem);line-height:1.34;color:#fff;letter-spacing:-.01em}
.decl q b{font-style:normal;font-weight:500;color:var(--green)}
.decl-attr{margin-top:2rem;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45)}

/* ---------- 11. PIB / ESTUDO ------------------------------------------- */
.pib{display:grid;grid-template-columns:300px 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
.book-wrap{display:flex;justify-content:center;position:relative}
.book-wrap .gfx{inset:auto;width:340px;height:340px;opacity:.7;z-index:0}
.book{position:relative;z-index:1;width:215px;aspect-ratio:5/7;background:linear-gradient(155deg,#fff,#f1f4fa);border-radius:4px 10px 10px 4px;box-shadow:-6px 0 0 rgba(12,23,38,.08),var(--shadow-lg);padding:1.8rem 1.5rem;display:flex;flex-direction:column;border:1px solid var(--line)}
.book::before{content:'';position:absolute;left:0;top:0;bottom:0;width:9px;background:linear-gradient(var(--navy),var(--navy-900));border-radius:4px 0 0 4px}
.book-k{font-size:.58rem;font-weight:800;letter-spacing:.16em;color:var(--navy);text-transform:uppercase;padding-left:6px}
.book-t{font-family:var(--serif);font-weight:500;font-size:1.45rem;line-height:1.1;color:var(--ink);margin-top:auto;letter-spacing:-.01em;padding-left:6px}
.book-y{font-family:var(--serif);font-weight:300;font-style:italic;font-size:3rem;color:var(--green-700);line-height:1;margin-top:.4rem;padding-left:6px}
.book-s{font-size:.6rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-top:.6rem;padding-left:6px}
.pib-list{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1.6rem 0 1.9rem}
.pib-li{display:flex;gap:.6rem;align-items:flex-start;font-size:.875rem;color:var(--ink-2);line-height:1.45}
.pib-li svg{flex-shrink:0;color:var(--green);margin-top:2px}
.pib-note{font-size:.8rem;color:var(--ink-3);margin-top:.9rem}

/* ---------- 12. NOTÍCIAS (cards + placeholders dummy premium) ---------- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.ncard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:all var(--ease);display:flex;flex-direction:column}
.ncard:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:transparent}
.nthumb{aspect-ratio:16/10;position:relative;overflow:hidden}
.ncard:hover .dummy-img{transform:scale(1.04)}
.nbody{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;flex:1}
.nmeta{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.ncat{color:var(--green-700)}.ndate{color:var(--ink-faint);font-weight:500}
.ncard h3{font-size:1.05rem;font-weight:800;color:var(--ink);line-height:1.28;margin-bottom:.5rem}
.nexc{font-size:.875rem;color:var(--ink-2);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ncard-foot{margin-top:1rem;font-size:.8rem;font-weight:700;color:var(--navy);display:inline-flex;align-items:center;gap:.3rem;transition:color var(--ease-fast)}
.ncard:hover .ncard-foot,.ncard-foot:hover{color:var(--green-700)}
.ncard-foot:hover{text-decoration:underline}

/* Placeholder de imagem dummy — premium e honesto */
/* Hardening: garante bloco de contencao p/ .dummy-img (position:absolute;inset:0).
   Sem isto, quando um ancestral .reveal perde o transform ao ser revelado, a imagem
   escapa e preenche a viewport inteira (vazando atras do hero). Cobre instancias futuras. */
:has(> .dummy-img){position:relative}
.dummy-img{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,var(--navy-900),var(--navy));overflow:hidden;transition:transform .6s var(--ease)}
.dummy-img.alt{background:linear-gradient(135deg,var(--navy-700),var(--green-700))}
.dummy-img .gfx{inset:0;width:100%;height:100%;opacity:.32}
.dummy-tag{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.4rem;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.82);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:.35rem .7rem;border-radius:var(--r-pill);backdrop-filter:blur(4px)}

/* ---------- 13. ASSOCIADOS (grade de logos reais) --------------------- */
.logos-grid{display:grid;grid-template-columns:repeat(8,1fr);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--line)}
.lcell{background:var(--paper);height:96px;display:flex;align-items:center;justify-content:center;padding:1rem 1.1rem;transition:all var(--ease)}
.lcell img{max-height:42px;max-width:100%;width:auto;filter:grayscale(1) opacity(.45);transition:all var(--ease)}
.lcell:hover{background:var(--paper-2)}
.lcell:hover img{filter:grayscale(0) opacity(1);transform:scale(1.06)}

/* ---------- 13.1 CARROSSEL DE LOGOS (marquee contínuo) --------------- */
/* Sem JS: vira uma grade centrada que quebra linha (acessível e robusta).
   Com JS (.is-animated): track duplicado roda em loop contínuo, ordem
   sorteada a cada carregamento — pluralidade, sem marca em destaque fixo. */
.logo-marquee{position:relative;overflow:hidden}
.logo-marquee__track{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(1.8rem,4.5vw,3.8rem);padding:.25rem 0}
.logo-marquee__item{height:32px;width:auto;max-width:118px;object-fit:contain;filter:grayscale(1) opacity(.46);transition:filter var(--ease),opacity var(--ease),transform var(--ease-fast)}
.logo-marquee__item:hover{filter:grayscale(0) opacity(1);transform:scale(1.06)}
/* Variante "cartão": faixa fechada, branca, com sombra-difusão e cantos amplos */
.logo-marquee--cards{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);padding:clamp(1.4rem,2.5vw,2rem) 0;box-shadow:var(--shadow-sm)}
.logo-marquee--cards .logo-marquee__track{gap:clamp(2rem,4.5vw,4rem)}
.logo-marquee--cards .logo-marquee__item{height:40px;max-width:138px}
/* Estado animado (JS presente): trilho duplicado rola -50% em loop sem emenda */
.js .logo-marquee.is-animated{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.js .logo-marquee.is-animated .logo-marquee__track{flex-wrap:nowrap;justify-content:flex-start;width:max-content;animation:logo-scroll var(--marquee-duration,60s) linear infinite;will-change:transform}
.js .logo-marquee.is-animated:hover .logo-marquee__track,.js .logo-marquee.is-animated:focus-within .logo-marquee__track{animation-play-state:paused}
.js .logo-marquee.is-animated .logo-marquee__item{flex-shrink:0}
@keyframes logo-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:980px){
  .logo-marquee--cards .logo-marquee__item{height:36px;max-width:126px}
}
@media(max-width:640px){
  .logo-marquee__item{height:28px;max-width:100px}
  .logo-marquee--cards{border-radius:var(--r-lg)}
  .logo-marquee--cards .logo-marquee__item{height:32px;max-width:112px}
  .js .logo-marquee.is-animated{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
}
@media(prefers-reduced-motion:reduce){
  .js .logo-marquee.is-animated .logo-marquee__track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}
  .js .logo-marquee.is-animated{-webkit-mask-image:none;mask-image:none}
  .logo-marquee__item:hover{transform:none}
}

/* ---------- 13.2 SELOS INSTITUCIONAIS (logos das entidades) ---------- */
/* Cartões de prestígio: branco puro, sombra-difusão, logo full-color com
   linha de base uniforme; hover eleva + filete navy no topo. */
.selos-inst{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.85rem,1.6vw,1.15rem)}
.selo-inst{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:clamp(1.5rem,2.4vw,1.9rem) 1.1rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease);overflow:hidden}
.selo-inst::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--navy),var(--green));transform:scaleX(0);transform-origin:left;transition:transform var(--ease)}
.selo-inst:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--navy-100)}
.selo-inst:hover::before{transform:scaleX(1)}
.selo-inst-logo{display:flex;align-items:center;justify-content:center;height:58px;width:100%}
.selo-inst-logo img{max-height:58px;max-width:160px;width:auto;object-fit:contain;transition:transform var(--ease)}
.selo-inst:hover .selo-inst-logo img{transform:scale(1.04)}
.selo-inst-tx{display:flex;flex-direction:column;line-height:1.22}
.selo-inst-tx b{font-size:.92rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.selo-inst-tx span{font-size:.72rem;color:var(--ink-3);margin-top:.22rem}
a.selo-inst .selo-inst-tx b::after{content:"";display:inline-block}
@media(max-width:980px){
  .selos-inst{grid-template-columns:1fr 1fr;gap:.85rem;max-width:620px;margin-inline:auto}
  .selo-inst-logo{height:52px}
  .selo-inst-logo img{max-height:52px;max-width:150px}
}
@media(max-width:480px){
  .selos-inst{gap:.7rem}
  .selo-inst{padding:1.25rem .85rem;gap:.8rem;border-radius:var(--r-lg)}
  .selo-inst-logo{height:46px}
  .selo-inst-logo img{max-height:46px;max-width:130px}
}

/* ---------- 13.3 Destaque tipográfico discreto em texto corrido ------ */
.kw{font-weight:700;color:var(--ink)}

/* ---------- 14. CTA final (cor cheia) ---------------------------------- */
.cta{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--navy-900),var(--navy));text-align:center}
.cta .gfx{inset:0;width:100%;height:100%;opacity:.6}
.cta-inner{position:relative;z-index:2;max-width:720px;margin:0 auto}
.cta h2{color:#fff;margin-bottom:1rem}
.cta p{color:rgba(255,255,255,.85);font-size:var(--fs-lead);line-height:1.6;margin-bottom:2.2rem}
.cta-actions{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}

/* ---------- 15. FOOTER ------------------------------------------------- */
.footer{background:var(--navy-900);color:rgba(255,255,255,.5);padding:clamp(3.5rem,6vw,5rem) 0 0}
.fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,3.5rem);padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08)}
.footer img.flogo{height:36px;margin-bottom:1.3rem;opacity:.92}
.fabout{font-size:.875rem;line-height:1.7;margin-bottom:1.4rem;max-width:320px}
.fci{display:flex;gap:.55rem;align-items:flex-start;font-size:.85rem;margin-bottom:.6rem}
.fci svg{flex-shrink:0;margin-top:3px;color:var(--green)}
.fsocial{display:flex;gap:.5rem;margin-top:1.4rem}
.fsocial a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);transition:all var(--ease-fast)}
.fsocial a:hover{border-color:var(--green);color:var(--green);transform:translateY(-2px)}
.fh{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:1.1rem}
.flist{list-style:none;margin:0;padding:0}
.flist li{margin-bottom:.55rem}
.flist a{color:rgba(255,255,255,.5);font-size:.875rem}
.flist a:hover{color:var(--green)}
.fbottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:1.5rem 0;font-size:.78rem;color:rgba(255,255,255,.3)}
.fbottom a{color:rgba(255,255,255,.4)}

/* ---------- 16. MOTION ------------------------------------------------- */
/* Reveal só "esconde" quando há JS — sem JS, tudo visível (acessível + robusto) */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.on{opacity:1;transform:none}
.js .stagger>*{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.js .stagger.on>*{opacity:1;transform:none}
.stagger.on>*:nth-child(1){transition-delay:.05s}.stagger.on>*:nth-child(2){transition-delay:.1s}
.stagger.on>*:nth-child(3){transition-delay:.15s}.stagger.on>*:nth-child(4){transition-delay:.2s}
.stagger.on>*:nth-child(5){transition-delay:.25s}.stagger.on>*:nth-child(6){transition-delay:.3s}
.stagger.on>*:nth-child(7){transition-delay:.35s}.stagger.on>*:nth-child(8){transition-delay:.4s}
*:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:3px}

/* ---------- 17. RESPONSIVO --------------------------------------------- */
@media(max-width:1080px){
  .vert-grid{grid-template-columns:repeat(3,1fr)}
  .split,.pib{grid-template-columns:1fr;gap:2.5rem}
  .book-wrap .gfx{display:none}
  .logos-grid{grid-template-columns:repeat(4,1fr)}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .fgrid{grid-template-columns:1fr 1fr}
  .nav{display:none}
}
@media(max-width:640px){
  .topbar{display:none}
  .vert-grid{grid-template-columns:1fr 1fr}
  .news-grid{grid-template-columns:1fr}
  .pib-list{grid-template-columns:1fr}
  .logos-grid{grid-template-columns:repeat(2,1fr)}
  .fgrid{grid-template-columns:1fr}
  .hero-meta{gap:1.5rem}
}
@media(prefers-reduced-motion:reduce){
  .reveal,.stagger>*{transition:none!important;opacity:1!important;transform:none!important}
  .eq-bars span{animation:none;transform:scaleY(.7)}
  .now-stamp .dot::after{animation:none}
}

/* ================================================================
   18. PÁGINAS INTERNAS — componentes (gramática v5)
   ================================================================ */

/* Page header — hero compacto, fundo claro editorial */
.page-header{position:relative;overflow:hidden;background:var(--paper);padding:clamp(2rem,4vw,3.25rem) 0 clamp(1.5rem,3vw,2.4rem);border-bottom:1px solid var(--line)}
.page-header .dots{position:absolute;inset:0;opacity:.45;-webkit-mask-image:radial-gradient(100% 110% at 92% 0,#000,transparent 68%);mask-image:radial-gradient(100% 110% at 92% 0,#000,transparent 68%)}
.page-header .gfx-arcs{position:absolute;right:-50px;top:50%;transform:translateY(-50%);opacity:.55;z-index:1;width:300px;height:320px}
.crumb{position:relative;z-index:2;display:flex;gap:.45rem;align-items:center;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin-bottom:1.1rem}
.crumb a{color:var(--ink-3)}.crumb a:hover{color:var(--navy)}
.crumb b{color:var(--green-700);font-weight:700}
.page-header h1{position:relative;z-index:2;max-width:820px;font-size:clamp(2.4rem,5vw,4rem)}
.page-header .ph-sub{position:relative;z-index:2;font-size:var(--fs-lead);color:var(--ink-2);max-width:640px;margin-top:1.2rem;line-height:1.55}

/* Prose — corpo editorial */
.prose{max-width:680px}
.prose>p{font-size:1.075rem;line-height:1.75;color:var(--ink-2);margin-bottom:1.3rem}
.prose h2{margin:2.6rem 0 1rem}.prose h3{margin:2rem 0 .7rem}
.prose strong{color:var(--ink);font-weight:700}
.prose a{color:var(--navy);font-weight:600;border-bottom:1px solid var(--line-2)}
.prose a:hover{color:var(--green-700);border-color:var(--green)}

/* Timeline */
.timeline{display:flex;flex-direction:column}
.tl-item{display:grid;grid-template-columns:90px 1fr;gap:1.4rem;padding:1.3rem 0;border-top:1px solid var(--line);transition:padding var(--ease)}
.tl-item:last-child{border-bottom:1px solid var(--line)}
.tl-item:hover{padding-left:.7rem}
.tl-year{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.7rem;color:var(--green-700);line-height:1}
.tl-item h4{font-size:1rem;color:var(--ink);margin-bottom:.2rem}
.tl-item p{font-size:.9rem;color:var(--ink-2);line-height:1.55}

/* Team / conselho */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.member .m-photo{aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;margin-bottom:.9rem;position:relative;border:1px solid var(--line)}
.member .m-name{font-weight:800;color:var(--ink);font-size:.98rem;letter-spacing:-.01em}
.member .m-role{font-size:.8rem;color:var(--ink-3);margin-top:.15rem}
.member .m-org{font-size:.78rem;color:var(--green-700);font-weight:600;margin-top:.1rem}
.member .m-bio{font-size:.78rem;color:var(--ink-2);line-height:1.45;margin-top:.45rem}
/* Placeholder neutro de retrato — idêntico para todos sem foto */
.avatar-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(30,61,123,.06)}
.avatar-empty svg{width:38%;height:38%;color:rgba(30,61,123,.32)}
/* Faixa "ANAFIMA na imprensa" — wordmarks editoriais (sem arquivos de logo) */
.press-strip{display:flex;align-items:center;justify-content:center;gap:.9rem 1.5rem;flex-wrap:wrap;text-align:center;padding:1.1rem 1.25rem;margin-bottom:1.75rem;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.press-strip-label{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.press-logos{display:flex;align-items:center;justify-content:center;gap:.5rem 1.4rem;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.press-logos li{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.05rem;color:var(--navy);opacity:.78;white-space:nowrap}
.press-strip-link{font-size:.8rem;font-weight:700;color:var(--green-700);display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}

/* Cards genéricos */
.cards{display:grid;gap:1.5rem}
.cards--3{grid-template-columns:repeat(3,1fr)}
.cards--2{grid-template-columns:repeat(2,1fr)}
.cards--1{grid-template-columns:1fr}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.9rem;transition:all var(--ease);position:relative;overflow:hidden}
.card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--green),var(--navy));transform:scaleX(0);transform-origin:left;transition:transform var(--ease)}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:transparent}
.card:hover::after{transform:scaleX(1)}
.card-num{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.7rem;color:var(--green-700);line-height:1;margin-bottom:.7rem}
/* Quando .card-num foi aplicado ao CARD inteiro: neutraliza o container; o número fica em .card-num__n */
.card.card-num{font-family:var(--sans);font-style:normal;font-size:inherit;color:inherit}
.card-num__n{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.7rem;color:var(--green-700);line-height:1;margin-bottom:.7rem}
.card-ic{width:46px;height:46px;border-radius:12px;background:var(--navy-50);color:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.card h3{font-size:1.08rem;margin-bottom:.5rem}
.card p{font-size:.92rem;color:var(--ink-2);line-height:1.6}

/* Accordion */
.accordion{border-top:1px solid var(--line);max-width:820px}
.acc-item{border-bottom:1px solid var(--line)}
.acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 0;background:none;border:0;cursor:pointer;text-align:left;font-family:var(--sans);font-size:1.05rem;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.acc-q:hover{color:var(--navy)}
.acc-q .acc-ic{flex-shrink:0;width:22px;height:22px;position:relative;transition:transform var(--ease);color:var(--green-700)}
.acc-item.open .acc-q .acc-ic{transform:rotate(45deg)}
.acc-a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.acc-a-inner{padding:0 0 1.4rem;font-size:.95rem;color:var(--ink-2);line-height:1.7;max-width:700px}

/* Form */
.form{max-width:640px;display:grid;gap:1.15rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
#filiacao-form{display:grid;gap:1.2rem;align-content:start}
#filiacao-form::after{display:none}
#filiacao-form:hover{transform:none;border-color:var(--line);box-shadow:var(--shadow-md)}
.field{display:grid;gap:.45rem;min-width:0}
.field label{font-size:.82rem;font-weight:600;color:var(--ink-2)}
.field input,.field textarea,.field select{width:100%;max-width:100%;min-width:0;font-family:var(--sans);font-size:.98rem;padding:.8rem .95rem;border:1.5px solid var(--line-2);border-radius:10px;background:var(--paper-2);color:var(--ink);-webkit-appearance:none;appearance:none;transition:border-color var(--ease-fast),box-shadow var(--ease-fast),background var(--ease-fast)}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint)}
.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--ink-faint)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--green);background:var(--paper);box-shadow:0 0 0 3px var(--green-tint)}
.field select{padding-right:2.6rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235B6878' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .95rem center}
.field select:invalid{color:var(--ink-faint)}
.field select option{color:var(--ink)}
.field textarea{resize:vertical;min-height:140px}
@media(max-width:560px){.form-row{grid-template-columns:1fr}}

/* Tabela */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg)}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.tbl th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700;padding:.9rem 1.1rem;border-bottom:2px solid var(--line-2);background:var(--paper-2)}
.tbl td{padding:.95rem 1.1rem;border-bottom:1px solid var(--line);color:var(--ink-2)}
.tbl tr:last-child td{border-bottom:0}
.tbl tr:hover td{background:var(--paper-2)}

/* Info list (contato) */
.info-list{display:grid;gap:1.3rem}
.info-item{display:flex;gap:.85rem;align-items:flex-start}
.info-item svg{flex-shrink:0;color:var(--green-700);margin-top:3px}
.info-item .il-l{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700;margin-bottom:.15rem}
.info-item .il-v{color:var(--ink);font-weight:500;line-height:1.4}

/* Doc/report item */
.doc-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.4rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);transition:all var(--ease);margin-bottom:.8rem}
.doc-item:hover{box-shadow:var(--shadow-sm);border-color:var(--line-2)}
.doc-item .di-t{font-weight:700;color:var(--ink);font-size:.98rem}
.doc-item .di-m{font-size:.8rem;color:var(--ink-3);margin-top:.15rem}

/* Mobile nav toggle */
.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;color:var(--ink);border-radius:var(--r)}
.nav-toggle:hover{background:var(--paper-2)}
.nav a.active,.nav a[aria-current="page"]{color:var(--navy);font-weight:700}
.nav a.active::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}

@media(max-width:1080px){
  .nav-toggle{display:flex}
  .nav{position:fixed;left:0;right:0;top:74px;flex-direction:column;align-items:stretch;background:var(--paper);border-bottom:1px solid var(--line);padding:.8rem var(--gutter) 1.2rem;gap:0;transform:translateY(-14px);opacity:0;pointer-events:none;transition:all var(--ease);box-shadow:var(--shadow-md);display:flex}
  .nav.open{transform:none;opacity:1;pointer-events:auto}
  .nav a{padding:.85rem .4rem;font-size:1.02rem;border-bottom:1px solid var(--line)}
  .nav a::after{display:none}
  .nav-item{flex-direction:column;align-items:stretch}
  .nav-item>.subnav{position:static;opacity:1;transform:none;pointer-events:auto;box-shadow:none;border:0;border-radius:0;padding:0 0 0 1.1rem;min-width:0}
  .subnav a{font-size:.92rem;padding:.7rem .4rem;border-bottom:1px solid var(--line)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .cards--3{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:640px){
  .team-grid,.cards--3,.cards--2{grid-template-columns:1fr}
  .tl-item{grid-template-columns:70px 1fr;gap:1rem}
}

.lgpd-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:9998;max-width:680px;margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:12px;padding:1rem 1.25rem;display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between}
.lgpd-banner[hidden]{display:none}
.lgpd-txt{font-size:.85rem;color:var(--ink-2);margin:0;flex:1;min-width:220px}
.lgpd-actions{display:flex;gap:.5rem;flex-shrink:0}
.lgpd-banner .btn{padding:.5rem 1rem;font-size:.8rem}

/* ================================================================
   19. SPRINT 4 — AUTORIDADE INSTITUCIONAL
   Conquistas · Selos · Porta-vozes · Posicionamentos · Entidade viva · Internacional
   ================================================================ */

/* ---------- 19.1 CONQUISTAS (vitórias quantificadas) ------------------- */
.wins-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.win{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.9rem 1.5rem 1.7rem;overflow:hidden;transition:all var(--ease)}
.win::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--green),var(--navy));transform:scaleY(0);transform-origin:top;transition:transform var(--ease)}
.win:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:transparent}
.win:hover::before{transform:scaleY(1)}
.win-n{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,3.2vw,2.9rem);color:var(--navy);line-height:1;letter-spacing:-.02em}
.win-u{font-family:var(--sans);font-weight:700;font-size:1rem;color:var(--green-700);margin-left:.15rem}
.win-l{font-weight:800;font-size:.98rem;color:var(--ink);letter-spacing:-.01em;margin-top:.7rem}
.win-d{font-size:.85rem;color:var(--ink-3);line-height:1.5;margin-top:.35rem}
.win-src{display:block;font-size:.7rem;font-weight:600;letter-spacing:.04em;color:var(--ink-faint);margin-top:.7rem}
.wins-grid--dark .win{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.wins-grid--dark .win-n{color:#fff}.wins-grid--dark .win-u{color:var(--green)}
.wins-grid--dark .win-l{color:#fff}.wins-grid--dark .win-d{color:rgba(255,255,255,.8)}
.wins-grid--dark .win-src{color:rgba(255,255,255,.58)}

/* ---------- 19.2 SELOS (pertencimento institucional) ------------------- */
.selos{display:flex;flex-wrap:wrap;gap:.7rem;align-items:stretch}
.selos--center{justify-content:center}
.selo{display:inline-flex;align-items:center;gap:.7rem;padding:.7rem 1.05rem;background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-pill);transition:all var(--ease)}
.selo:hover{border-color:var(--navy);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.selo-ic{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--navy-50);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.62rem;letter-spacing:.02em}
.selo-tx{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.selo-tx b{font-size:.82rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.selo-tx span{font-size:.68rem;color:var(--ink-3)}
/* Variante em fundo navy (footer / faixas escuras) */
.selos--w .selo{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14)}
.selos--w .selo:hover{border-color:var(--green)}
.selos--w .selo-ic{background:rgba(255,255,255,.1);color:#fff}
.selos--w .selo-tx b{color:#fff}.selos--w .selo-tx span{color:rgba(255,255,255,.55)}

/* ---------- 19.3 PORTA-VOZES (bio + imprensa + links) ------------------ */
.member .m-bio{font-size:.83rem;color:var(--ink-2);line-height:1.5;margin-top:.5rem}
.member .m-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.m-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--navy);border:1px solid var(--line-2);border-radius:var(--r-pill);padding:.28rem .6rem;transition:all var(--ease-fast)}
.m-link:hover{border-color:var(--navy);background:var(--navy-50);color:var(--navy)}
.m-link svg{flex-shrink:0}
/* Porta-voz em destaque (presidente) — card horizontal de autoridade */
.spokes{display:grid;grid-template-columns:200px 1fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow-sm)}
.spokes-photo{aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden;position:relative;border:1px solid var(--line)}
.spokes-photo img{width:100%;height:100%;object-fit:cover;display:block}
.spokes h3{font-size:1.5rem;margin-bottom:.1rem}
.spokes .sp-role{font-size:.85rem;color:var(--green-700);font-weight:700;letter-spacing:.01em}
.spokes .sp-bio{font-size:.95rem;color:var(--ink-2);line-height:1.6;margin-top:.8rem}
.sp-press{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.sp-press a{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line-2);border-radius:var(--r-pill);padding:.32rem .7rem;transition:all var(--ease-fast)}
.sp-press a:hover{border-color:var(--green);color:var(--green-700);transform:translateY(-2px)}
@media(max-width:640px){.spokes{grid-template-columns:1fr;text-align:left}.spokes-photo{max-width:160px}}

/* ---------- 19.4 POSICIONAMENTOS (a ANAFIMA toma posição) -------------- */
.posic-list{display:flex;flex-direction:column;gap:1.4rem;max-width:880px}
.posic{position:relative;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:1.8rem 2rem;transition:all var(--ease)}
.posic:hover{box-shadow:var(--shadow-md);border-left-color:var(--navy)}
.posic-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-700);margin-bottom:.6rem}
.posic-tag::before{content:'';width:14px;height:2px;background:currentColor;border-radius:2px}
.posic h3{font-size:1.25rem;margin-bottom:.6rem}
.posic-stance{font-size:.97rem;color:var(--ink-2);line-height:1.65}
.posic-stance p{margin-bottom:.7rem}.posic-stance p:last-child{margin-bottom:0}
.posic-defend{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.posic-defend .pd-l{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.5rem}
.posic-defend ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem}
.posic-defend li{display:flex;align-items:flex-start;gap:.55rem;font-size:.9rem;color:var(--ink-2);line-height:1.5}
.posic-defend li svg{flex-shrink:0;color:var(--green);margin-top:.18em}

/* ---------- 19.5 ENTIDADE VIVA (agora + agenda) ------------------------ */
.now-stamp{display:inline-flex;align-items:center;gap:.5rem;font-size:.74rem;font-weight:700;letter-spacing:.04em;color:var(--green-700);background:var(--green-50);border:1px solid var(--green-tint);border-radius:var(--r-pill);padding:.35rem .85rem}
.now-stamp .dot{width:8px;height:8px;border-radius:50%;background:var(--green);position:relative;flex-shrink:0}
.now-stamp .dot::after{content:'';position:absolute;inset:-4px;border-radius:50%;background:var(--green);opacity:.35;animation:pulse 2s ease-out infinite}
@keyframes pulse{0%{transform:scale(.6);opacity:.5}100%{transform:scale(1.6);opacity:0}}
.agenda{display:flex;flex-direction:column;max-width:880px}
.ag-item{display:grid;grid-template-columns:74px 1fr auto;gap:1.3rem;align-items:center;padding:1.25rem 0;border-top:1px solid var(--line)}
.ag-item:last-child{border-bottom:1px solid var(--line)}
.ag-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--navy-50);border-radius:var(--r);padding:.5rem;line-height:1}
.ag-date .ag-d{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--navy)}
.ag-date .ag-m{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--green-700);margin-top:.2rem}
.ag-body h3{font-size:1.02rem;color:var(--ink);margin-bottom:.15rem;letter-spacing:-.01em;line-height:1.25}
.ag-body p{font-size:.85rem;color:var(--ink-3);line-height:1.45}
.ag-pill{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .65rem;border-radius:var(--r-pill);white-space:nowrap}
.ag-pill--next{color:var(--green-700);background:var(--green-50);border:1px solid var(--green-tint)}
.ag-pill--done{color:var(--ink-3);background:var(--paper-2);border:1px solid var(--line)}
@media(max-width:640px){.ag-item{grid-template-columns:60px 1fr;gap:1rem}.ag-pill{grid-column:2;justify-self:start;margin-top:.2rem}}

/* ---------- 19.6 INTERNACIONAL (dimensão exportadora) ------------------ */
.intl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.intl{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:1.4rem 1.3rem;transition:all var(--ease)}
.intl:hover{background:rgba(255,255,255,.07);transform:translateY(-4px);border-color:rgba(62,174,54,.4)}
.intl-flag{font-size:1.5rem;line-height:1;margin-bottom:.7rem}
.intl-n{font-weight:800;font-size:1rem;color:#fff;letter-spacing:-.01em}
.intl-loc{font-size:.76rem;color:var(--green);font-weight:600;margin-top:.15rem}
.intl-d{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.5;margin-top:.55rem}
@media(max-width:1080px){.wins-grid,.intl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.wins-grid,.intl-grid{grid-template-columns:1fr}.posic{padding:1.4rem 1.3rem}}

/* ---------- 20. UTILITÁRIOS ------------------------------------------- */
/* Conteúdo apenas para leitores de tela (rótulos, captions, avisos de nova aba) */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
/* Estado vazio de filtros (notícias, associados) */
.empty-state{display:none;padding:2.5rem 1rem;text-align:center;color:var(--ink-3);font-size:.95rem}
.empty-state.on{display:block}

/* ===== Reuniões dos associados — bandas institucionais (v20260614) ===== */
.reuniao-hero{position:relative;margin:0;background:var(--ink);overflow:hidden}
.reuniao-hero>picture,.reuniao-hero>picture>img{display:block;width:100%}
.reuniao-hero img{aspect-ratio:16/9;object-fit:cover;object-position:50% 42%}
@media(min-width:768px){.reuniao-hero img{aspect-ratio:2/1}}
@media(min-width:1100px){.reuniao-hero img{height:clamp(440px,60vh,600px);aspect-ratio:auto}}
.reuniao-hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,23,38,0) 32%,rgba(12,23,38,.2) 56%,rgba(11,27,60,.82) 100%)}
.reuniao-hero .container{position:absolute;inset:0;display:flex;align-items:flex-end;pointer-events:none}
.reuniao-hero__cap{position:relative;z-index:2;max-width:680px;color:#fff;padding-bottom:clamp(1.5rem,4vw,2.75rem)}
.reuniao-kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--green-600);padding:.42rem .85rem;border-radius:var(--r-pill);margin-bottom:.9rem}
.reuniao-hero__cap p{font-family:var(--serif);font-size:clamp(1.2rem,2.4vw,1.85rem);line-height:1.24;margin:0;text-wrap:balance;text-shadow:0 2px 28px rgba(11,27,60,.5)}
/* split com painel — associe-se */
.reuniao-split{display:grid;grid-template-columns:1fr;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--line)}
@media(min-width:880px){.reuniao-split{grid-template-columns:1.32fr .9fr}}
.reuniao-split__media{position:relative;min-height:240px}
.reuniao-split__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 44%;aspect-ratio:4/3}
@media(min-width:880px){.reuniao-split__media img{position:absolute;inset:0;aspect-ratio:auto}}
.reuniao-split__panel{background:var(--navy-900);color:#fff;padding:clamp(1.75rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center;gap:1rem}
.reuniao-split__panel h3{font-family:var(--serif);font-size:clamp(1.45rem,2.6vw,2.15rem);line-height:1.18;margin:0;color:#fff}
.reuniao-split__panel p{color:rgba(255,255,255,.84);margin:0;font-size:1.0625rem;line-height:1.62}
/* figura contida com legenda — atuação */
.reuniao-figure{margin:0;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--line);background:var(--paper)}
.reuniao-figure img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:50% 40%}
.reuniao-figure figcaption{font-size:.92rem;color:var(--ink-3);padding:.9rem 1.15rem;line-height:1.5;display:flex;gap:.6rem;align-items:flex-start}
.reuniao-figure figcaption::before{content:'';flex:0 0 auto;width:3px;height:1.15em;background:var(--green);border-radius:2px;margin-top:.12em}

/* ===== Quem Somos · banda de números (v20260616) ===== */
.numeros{background:var(--paper-warm);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.numeros-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.4rem,3vw,2.6rem)}
@media(max-width:880px){.numeros-grid{grid-template-columns:repeat(2,1fr);gap:2rem 1.6rem}}
@media(max-width:460px){.numeros-grid{grid-template-columns:1fr}}
.numero{display:flex;flex-direction:column;gap:.5rem;padding-top:1.15rem;border-top:2px solid var(--green)}
.numero-v{font-family:var(--serif);font-weight:300;font-size:clamp(2.7rem,5vw,3.7rem);line-height:.92;color:var(--navy-900);letter-spacing:-.015em;font-feature-settings:"lnum" 1,"tnum" 1}
.numero-v .u{font-style:italic;font-weight:400;font-size:.34em;color:var(--green-700);margin-left:.18em}
.numero-l{font-size:.95rem;color:var(--ink-2);line-height:1.5;max-width:26ch}
/* ===== Quem Somos · timeline com espinha ===== */
.timeline--spine{position:relative;padding-left:1.6rem}
.timeline--spine::before{content:'';position:absolute;left:4px;top:1.5rem;bottom:1.5rem;width:2px;background:linear-gradient(180deg,var(--green) 0%,var(--navy-100) 100%)}
.timeline--spine .tl-item{border-top:0;position:relative}
.timeline--spine .tl-item+.tl-item{border-top:1px solid var(--line)}
.timeline--spine .tl-item::before{content:'';position:absolute;left:-1.6rem;top:1.6rem;width:11px;height:11px;border-radius:50%;background:var(--paper);border:2.5px solid var(--green);box-shadow:0 0 0 4px var(--paper-2);transition:transform var(--ease),background var(--ease)}
.timeline--spine .tl-item:hover::before{background:var(--green);transform:scale(1.15)}

/* ===== Quem Somos · refino editorial (v20260617) ===== */
/* História — primeiro parágrafo como lead, com capitular Fraunces */
.prose--lead>p:first-of-type{font-size:clamp(1.18rem,1.7vw,1.4rem);line-height:1.62;color:var(--ink)}
.prose--lead>p:first-of-type::first-letter{font-family:var(--serif);font-weight:400;font-size:3.3em;line-height:.74;float:left;margin:.05em .12em 0 0;color:var(--green-700)}
/* Conselho — galeria em escala de cinza que ganha cor no hover */
#conselho .member{transition:transform var(--ease)}
#conselho .member .m-photo{box-shadow:var(--shadow-xs);transition:box-shadow var(--ease)}
#conselho .member .m-photo img{filter:grayscale(1) contrast(1.03);transition:filter .55s var(--ease),transform .6s var(--ease)}
#conselho .member:hover{transform:translateY(-5px)}
#conselho .member:hover .m-photo{box-shadow:var(--shadow-md)}
#conselho .member:hover .m-photo img{filter:grayscale(0);transform:scale(1.045)}
@media(hover:none){#conselho .member .m-photo img{filter:none}}
