/* Fernando Viana. Cartaz político digital: tipografia, fotografia e vermelho. */
@font-face{font-family:"League Spartan";src:url(assets/fontes/league-spartan-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:Barlow;src:url(assets/fontes/barlow-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url(assets/fontes/barlow-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(assets/fontes/barlow-condensed-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
:root{
  --vinho:#960f16;--vermelho:#b42525;--amarelo:#f6aa0c;--creme:#f6e9ce;
  --tinta:#211a17;--papel:#fbf5e9;--linha:rgb(33 26 23 / .22);
  --fonte-display:"Barlow Condensed","Arial Narrow",sans-serif;
  --fonte-titulo:"League Spartan","Arial Black",sans-serif;
  --fonte-texto:Barlow,system-ui,sans-serif;
  --topo-h:64px;--margem:clamp(20px,5.6vw,88px);--largura:1280px;
  --miolo:max(var(--margem),calc((100% - var(--largura))/2));
  --secao:clamp(64px,8vw,116px);--foco:var(--vinho);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topo-h) + 24px);color-scheme:light}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 18px/1.6 var(--fonte-texto)}
::selection{background:var(--amarelo);color:var(--tinta)}
img{display:block;max-width:100%;height:auto}
picture{display:block}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{font:inherit;cursor:pointer}
button[hidden],[hidden]{display:none!important}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:800;text-wrap:balance}
h1,h2{font-family:var(--fonte-display);text-transform:uppercase;line-height:.93;letter-spacing:-.025em}
h2{font-size:clamp(48px,5.7vw,80px)}
h3{font:800 25px/1.15 var(--fonte-titulo);letter-spacing:-.035em}
p+p{margin-top:20px}
:focus-visible{outline:3px solid var(--foco);outline-offset:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pular{position:fixed;left:16px;top:-120px;z-index:100;background:var(--tinta);color:var(--papel);padding:12px 18px}
.pular:focus{top:8px}
.rotulo{font:600 13px/1.4 var(--fonte-texto);letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}
.ponto{color:var(--vermelho)}
.botao{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:14px 22px;border:1px solid transparent;border-radius:0;font:600 16px/1.2 var(--fonte-texto);text-decoration:none;transition:background-color .18s,color .18s,transform .18s}
.botao span{font-size:24px;line-height:.8;transition:transform .18s}
.botao:hover span{transform:translate(2px,-2px)}
.botao:active{transform:translateY(1px)}
.botao--creme{background:var(--papel);color:var(--tinta)}
.botao--creme:hover{background:var(--amarelo)}
.botao--escuro,.botao--apoie{background:var(--tinta);color:var(--papel)}
.botao--escuro:hover,.botao--apoie:hover{background:var(--vinho)}
.link-seta{display:inline-flex;align-items:center;gap:28px;min-height:44px;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding:4px 0}
.link-seta span{font-size:25px;transition:transform .18s}
.link-seta:hover span{transform:translate(2px,-2px)}
/* Marca pequena, identificação forte na abertura. */
.topo{position:sticky;top:0;z-index:50;background:var(--papel);border-bottom:1px solid var(--linha)}
.topo__barra{height:calc(var(--topo-h) - 1px);padding-inline:var(--miolo);display:flex;align-items:center;gap:32px}
.topo__marca{margin-right:auto;flex-shrink:0;display:flex;align-items:center;min-height:44px}
.topo__marca img{width:156px;height:auto}
.topo__nav{display:flex;gap:22px;align-items:center}
.topo__nav a{font:600 13px/1 var(--fonte-texto);letter-spacing:.055em;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;min-height:44px}
.topo__nav a:hover{color:var(--vinho);text-decoration:underline;text-underline-offset:7px}
.topo__nav-apoie{display:none!important}
.botao--apoie{min-height:42px;padding:9px 18px;gap:24px;font-size:14px}
.topo__menu{display:none;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 4px;border:0;background:transparent;color:var(--tinta);font-size:13px;font-weight:600}
.topo__menu-icone{position:relative;display:block;width:19px;height:2px;background:currentColor}
.topo__menu-icone::before,.topo__menu-icone::after{content:"";position:absolute;left:0;width:19px;height:2px;background:currentColor;transition:transform .18s}
.topo__menu-icone::before{top:-6px}.topo__menu-icone::after{top:6px}
.topo__menu[aria-expanded=true] .topo__menu-icone{background:transparent}
.topo__menu[aria-expanded=true] .topo__menu-icone::before{transform:translateY(6px) rotate(45deg)}
.topo__menu[aria-expanded=true] .topo__menu-icone::after{transform:translateY(-6px) rotate(-45deg)}
/* ===== Linguagem construtivista: papel, vermelho, preto; diagonal única de -6deg; fotomontagem. ===== */
:root{--preto:#0d0b0a;--carmim:#e2483d;--ang:-6deg;
  /* grão de papel de lambe-lambe: ruído SVG de 0,4 KB, sem bitmap */
  --grao:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body{background-image:var(--grao)}
.topo{border-bottom:3px solid var(--preto)}
.topo__barra{height:calc(var(--topo-h) - 3px)}
.botao--escuro,.botao--apoie{background:var(--preto)}
.botao--apoie:hover{background:var(--vermelho)}

/* Abertura: sol vermelho atrás da cabeça, retrato multiplicado no papel, cunha preta, tarja do número. */
.hero{--foco:var(--amarelo);position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.08fr 1fr;min-height:min(86svh,820px);
  background:linear-gradient(98deg,var(--vermelho) 0 50.5%,var(--preto) 50.5% 51.3%,var(--papel) 51.3%);color:var(--papel)}
.hero__texto{position:relative;z-index:3;padding:56px 40px 60px max(var(--margem),calc((100vw - var(--largura))/2));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero__identidade{border-left:4px solid var(--preto);padding-left:15px;margin-bottom:64px}
.hero__nome{font:800 clamp(22px,2.05vw,30px)/1 var(--fonte-titulo);letter-spacing:-.035em}
.hero__cargo{margin-top:6px;font-size:14px;line-height:1.35}
.hero__lema{font-size:clamp(76px,8.4vw,128px);line-height:.84;letter-spacing:-.02em;text-wrap:initial;transform:rotate(var(--ang));transform-origin:0 100%;text-shadow:5px 5px 0 var(--preto)}
.hero__proposta{max-width:34ch;margin-top:36px;font-size:19px;line-height:1.45;font-weight:600}
.hero__acoes{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:28px}
.hero .botao--creme{background:var(--preto);color:var(--papel)}
.hero .botao--creme:hover{background:var(--amarelo);color:var(--preto)}
.hero__apoie{font-size:15px;font-weight:600;min-height:44px;display:flex;align-items:center;gap:12px;text-decoration:none;border-bottom:2px solid var(--papel)}
.hero__foto{position:relative;min-width:0;display:flex;align-items:flex-end;justify-content:center;color:var(--tinta)}
.hero__sol{position:absolute;z-index:0;top:6%;left:50%;width:min(78%,560px);aspect-ratio:1;border-radius:50%;background:var(--carmim);translate:-46% 0}
.hero__reticula{position:absolute;z-index:0;right:0;bottom:0;width:62%;height:58%;background-image:radial-gradient(var(--preto) 30%,transparent 32%);background-size:10px 10px;
  -webkit-mask-image:linear-gradient(315deg,#000 0,transparent 62%);mask-image:linear-gradient(315deg,#000 0,transparent 62%);opacity:.55}
.hero__img{position:absolute;inset:0;z-index:1} /* foto recortada: o sol fica atrás, sem tingir o rosto */
.hero__img img{width:100%;height:100%;object-fit:cover;object-position:50% 6%;}
.hero__cunha{position:absolute;z-index:2;top:37%;left:40%;width:20.5%;height:72px;background:var(--preto);clip-path:polygon(0 0,100% 50%,0 100%);pointer-events:none}
.hero__voto{position:relative;z-index:3;margin:0 -4% 34px 0;padding:14px 8% 8px 28px;display:flex;align-items:flex-end;gap:16px;align-self:flex-end;margin-left:auto;background:var(--preto);color:var(--papel);transform:rotate(var(--ang));transform-origin:100% 100%}
.hero__voto-numero{font:800 clamp(104px,11vw,172px)/.8 var(--fonte-display);letter-spacing:-.03em}
.hero__voto-legenda{font:600 13px/1.4 var(--fonte-texto);writing-mode:vertical-rl;white-space:nowrap;text-transform:uppercase;letter-spacing:.12em;color:var(--amarelo);padding-bottom:6px}
@media(prefers-reduced-motion:no-preference){
  .hero__sol{animation:nasce .9s cubic-bezier(.2,.8,.2,1) both}
  .hero__cunha{animation:fura .7s cubic-bezier(.2,.8,.2,1) .35s both}
  .hero__voto{animation:tarja .6s cubic-bezier(.2,.8,.2,1) .55s both}
  @keyframes nasce{from{scale:.2;opacity:0}}
  @keyframes fura{from{translate:-120% 0}}
  @keyframes tarja{from{translate:110% 0}}
}

/* Palavra de ordem: tarja preta. */
.manifesto-curto{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:end;background:var(--preto);color:var(--papel);padding:44px var(--miolo) 46px;--foco:var(--amarelo)}
.manifesto-curto>p{font:800 clamp(30px,3.6vw,54px)/1 var(--fonte-display);text-transform:uppercase;max-width:26ch;text-wrap:balance}
.manifesto-curto>p>span{color:var(--vermelho)}
.manifesto-curto__link{display:flex;gap:18px;align-items:center;font-size:14px;font-weight:600;text-decoration:none;min-height:44px;white-space:nowrap;color:var(--amarelo)}
.manifesto-curto__link span{font-size:34px}

/* Conheça: retrato colado sobre quadrado vermelho girado. */
.conheca{display:grid;grid-template-columns:5fr 6fr;gap:clamp(48px,8vw,128px);align-items:center;padding:var(--secao) var(--miolo);overflow:hidden}
.conheca__foto{position:relative;max-width:440px;isolation:isolate}
.conheca__quadrado{position:absolute;z-index:-1;inset:9% -7% -5% 12%;background:var(--carmim);transform:rotate(calc(var(--ang) * -1))}
.conheca__foto::after{content:"";position:absolute;left:-18px;bottom:12%;width:46%;height:14px;background:var(--preto);transform:rotate(var(--ang))}
.conheca__foto img{width:100%;aspect-ratio:1/1.12;object-fit:cover;object-position:50% 15%}
.conheca__foto figcaption{font-size:13px;margin-top:8px}
.conheca__texto{max-width:57ch;min-width:0}
.conheca__texto .rotulo{color:var(--vermelho)}
.conheca__texto h2{font-size:clamp(62px,6.4vw,92px);max-width:8ch;line-height:.88;margin-bottom:26px}
.conheca__resumo{font-size:20px;line-height:1.55;margin-bottom:18px}
.conheca__texto>p:empty{display:none}
.conheca__texto .link-seta{margin-top:18px;font-size:16px;color:var(--vermelho);border-bottom-width:2px}
.conheca__identificacao{font-size:12px;font-weight:600;letter-spacing:.045em;text-transform:uppercase;margin-top:30px;padding-top:18px;border-top:3px solid var(--preto)}
.trajetoria{margin:22px 0}
.trajetoria summary{font-weight:600;cursor:pointer;min-height:44px}
.trajetoria ol{list-style:none;padding:0}
.trajetoria li{border-top:1px solid var(--linha);padding:12px 0}
.marco__ano{font-weight:600;color:var(--vermelho);margin-right:12px}

/* Programa: índice de manifesto. Os números são os do documento original. */
.propostas{position:relative;background:var(--creme) var(--grao);padding:var(--secao) var(--miolo);border-top:3px solid var(--preto);overflow:hidden}
.propostas__layout{display:grid;grid-template-columns:4fr 7fr;gap:clamp(40px,7vw,112px);align-items:start}
.propostas__cabeca{min-width:0}
.propostas__cabeca h2{font-size:clamp(46px,4.6vw,68px);max-width:12ch}
.propostas__cabeca .rotulo{color:var(--vermelho)}
.propostas__cabeca>p:not(.rotulo){max-width:37ch;font-size:16px;line-height:1.6}
.propostas__dez{display:inline-flex;align-items:center;gap:20px;font:800 132px/.8 var(--fonte-display);color:var(--papel);background:var(--vermelho);padding:18px 26px 10px 18px;margin:40px 0 34px;letter-spacing:-.05em;transform:rotate(var(--ang));box-shadow:10px 10px 0 var(--preto)}
.propostas__dez span{font:600 14px/1.4 var(--fonte-texto);letter-spacing:0;text-transform:uppercase}
.propostas__fonte{margin-top:24px!important;font-weight:600}
.propostas__controle{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.expandir{min-height:44px;display:flex;align-items:center;gap:10px;font:600 12px/1.2 var(--fonte-texto);background:none;border:0;color:var(--vinho);padding:8px 0}
.expandir span{font-size:22px;line-height:1}
.eixo{border-top:4px solid var(--preto)}
.eixo:last-child{border-bottom:4px solid var(--preto)}
.eixo summary{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:25px 0;min-height:102px}
.eixo summary::-webkit-details-marker{display:none}
.eixo__nome{font:800 clamp(26px,2.6vw,38px)/1.04 var(--fonte-display);text-transform:uppercase;max-width:21ch;transition:color .18s}
.eixo summary:hover .eixo__nome,.eixo[open] .eixo__nome{color:var(--vinho)}
.eixo__quantidade{font-size:12px;white-space:nowrap;font-weight:600}
.eixo__sinal{position:relative;width:24px;height:24px}
.eixo__sinal::before,.eixo__sinal::after{content:"";position:absolute;inset:10px 2px;height:4px;background:var(--preto)}
.eixo__sinal::after{transform:rotate(90deg);transition:transform .18s}
.eixo[open] .eixo__sinal::after{transform:rotate(0)}
.eixo__lista{list-style:none;padding:0 44px 32px 0;margin:0;display:grid;gap:18px}
.eixo__lista li{display:grid;grid-template-columns:46px 1fr;gap:18px;align-items:start;font-size:17px;line-height:1.5}
.proposta__num{display:grid;place-items:center;width:46px;height:46px;background:var(--vinho);color:var(--papel);font:800 25px/1 var(--fonte-display);padding-top:2px}
.eixo__lista p{padding-top:9px}

/* Citação: campo preto, cunha vermelha. */
.citacao{position:relative;overflow:hidden;background:var(--preto);color:var(--papel);padding:clamp(72px,9vw,128px) var(--miolo)}
.citacao__cunha{position:absolute;left:0;top:50%;width:min(24vw,340px);height:min(30vw,420px);translate:0 -50%;background:var(--vermelho);clip-path:polygon(0 0,100% 50%,0 100%)}
.citacao figure{position:relative;margin-left:min(30vw,420px);max-width:24em}
.citacao blockquote{margin:0}
.citacao blockquote p{font:800 clamp(30px,3.5vw,52px)/1.08 var(--fonte-titulo);letter-spacing:-.03em;text-wrap:balance}
.citacao figcaption{margin-top:30px;font-size:15px;color:var(--creme);display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}
.citacao__autor{font:800 22px/1 var(--fonte-display);text-transform:uppercase;letter-spacing:.04em;color:var(--amarelo)}

/* Agenda. */
.agenda{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:48px;padding:72px var(--miolo)}
.agenda h2{font-size:clamp(36px,3.8vw,54px)}
.agenda__lista{display:grid;gap:24px}
.agenda__espera p{font-size:17px;line-height:1.5;margin-bottom:10px}
.agenda__espera .link-seta{font-size:15px;color:var(--vermelho);border-bottom-width:2px}
.nota+.nota{border-top:3px solid var(--preto);padding-top:24px}
.nota img{aspect-ratio:16/9;object-fit:cover;margin-bottom:16px;filter:grayscale(1) contrast(1.2)}
.nota__meta{font-size:13px;margin-bottom:10px;font-weight:600}
.nota h3{font-size:24px}
.nota h3 a{text-decoration:none}
.nota h3 a:hover{text-decoration:underline}

/* Apoie: o grito do megafone vira cone (homenagem ao cartaz de Ródtchenko, 1924). Ele grita para a esquerda. */
.apoie{--foco:var(--amarelo);position:relative;overflow:hidden;background:var(--vermelho);color:var(--papel);display:grid;grid-template-columns:7fr 5fr;grid-template-areas:"grito disco" "painel disco";column-gap:0;padding:clamp(56px,7vw,96px) var(--miolo);align-items:center}
.apoie__grito{grid-area:grito;position:relative;isolation:isolate;padding:clamp(44px,5vw,72px) 0;margin-left:calc(var(--miolo) * -1);padding-left:var(--miolo)}
.apoie__cone{position:absolute;z-index:-1;inset:0 -14% 0 0;background:var(--papel);clip-path:polygon(0 0,100% 40%,100% 60%,0 100%)}
.apoie h2{font-size:clamp(84px,9.6vw,148px);max-width:6ch;line-height:.82;color:var(--preto);transform:rotate(var(--ang));transform-origin:0 50%}
.apoie__disco{grid-area:disco;position:relative;z-index:1;justify-self:end;width:min(100%,460px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--papel);border:10px solid var(--preto)}
.apoie__foto{width:100%;height:100%;mix-blend-mode:multiply}
.apoie__foto img{width:100%;height:100%;object-fit:cover;object-position:34% 22%;filter:grayscale(1) contrast(1.35) brightness(1.08)}
.apoie__painel{grid-area:painel;min-width:0;padding-top:36px}
.apoie__texto>p{max-width:38ch;font-size:19px;line-height:1.5;font-weight:600}
.apoie__acoes{margin-top:26px}
.apoie .botao--escuro:hover{background:var(--amarelo);color:var(--preto)}
.apoie h3{margin-top:28px;font-size:20px}
.apoie__canais{padding:0;list-style:none;margin:12px 0 0;overflow-wrap:anywhere}
.apoie__canais a{display:inline-block;min-height:44px;font-size:16px;font-weight:600}

/* Rodapé preto com assinatura. */
.rodape{background:var(--preto);color:var(--papel);padding:56px var(--miolo) 32px;--foco:var(--amarelo)}
.rodape__assinatura{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-bottom:3px solid var(--vermelho);padding-bottom:30px;margin-bottom:30px;font:800 clamp(44px,7.5vw,112px)/.95 var(--fonte-display);letter-spacing:-.03em;text-transform:uppercase}
.rodape__assinatura>span:last-child{color:var(--amarelo)}
.rodape__grade{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:48px;font-size:12px;line-height:1.65}
.rodape__marca{width:140px;height:auto;margin-top:4px}
.rodape__legal p+p{margin-top:4px}
.rodape__id{font-size:13px;font-weight:600}
.rodape__redes{display:flex;flex-wrap:wrap;gap:16px;overflow-wrap:anywhere}
.rodape__links{display:flex;flex-direction:column;align-items:flex-start}
.rodape__links a{display:flex;align-items:center;min-height:32px;text-decoration:none}
.rodape__links a:hover{text-decoration:underline}
.revisao{font:400 12px/1.6 var(--fonte-texto);padding:12px var(--miolo);background:var(--creme);border-top:1px solid var(--linha)}
.revisao summary{cursor:pointer;min-height:30px;display:list-item;align-content:center}
.revisao details>p{margin-top:16px;font-weight:600}
.revisao ul{padding-left:18px;overflow-wrap:anywhere;max-width:85ch}
.pagina{max-width:820px;padding:var(--secao) var(--margem);margin:0 auto;min-height:60svh}
.pagina h1{font-size:clamp(48px,6vw,80px);margin-bottom:36px;overflow-wrap:anywhere}
.pagina p{margin-bottom:20px}
.pagina li{margin-bottom:12px}
.pagina>p:last-child{margin-top:36px}

@media(min-width:1024px){.hero__lema{max-width:5.4em}}
@media(max-width:1100px){
  .hero__lema{font-size:clamp(72px,8.6vw,100px)}
  .topo__barra{gap:20px}.topo__nav{gap:16px}
  .propostas__layout{grid-template-columns:4fr 6fr;gap:40px}
  .eixo summary{grid-template-columns:minmax(0,1fr) 24px;gap:14px}
  .eixo__quantidade{display:none}
}
@media(max-width:1023px){
  .hero{grid-template-columns:1fr;min-height:0;background:var(--papel)}
  .hero__foto{order:-1;aspect-ratio:4/3;max-height:600px;overflow:hidden}
  .hero__sol{top:8%;width:min(62%,460px);translate:-50% 0}
  .hero__img img{object-position:50% 12%}
  .hero__cunha{top:auto;bottom:0;left:0;width:34%;height:44px;z-index:4;translate:0 50%}
  .hero__voto{margin:0 -2% 22px auto}
  .hero__voto-numero{font-size:clamp(96px,17vw,160px)}
  .hero__texto{background:var(--vermelho);padding:56px var(--miolo) 52px}
  .hero__identidade{margin-bottom:56px}
  .hero__lema{font-size:clamp(84px,12.5vw,124px)}
  .hero__proposta{max-width:46ch}
  .conheca{gap:48px}
  .propostas__layout{grid-template-columns:1fr;gap:38px}
  .eixo summary{grid-template-columns:minmax(0,1fr) auto 24px}
  .eixo__quantidade{display:block}
  .citacao figure{margin-left:min(22vw,200px)}
  .apoie{grid-template-columns:1fr 38%}
  .rodape__grade{grid-template-columns:minmax(0,1fr) 150px;gap:24px}
  .rodape__marca{display:none}
}
@media(max-width:767px){
  :root{--topo-h:52px;--margem:22px;--secao:64px}
  body{font-size:17px}
  .topo__barra{gap:12px}
  .topo__marca img{width:114px}
  .botao--apoie{min-height:36px;font-size:13px;gap:10px;padding:7px 12px}
  .botao--apoie span{font-size:20px}
  .topo__menu{display:none;font-size:0}
  .com-js .topo__menu{display:flex}
  .com-js .topo__nav{position:fixed;top:var(--topo-h);right:0;bottom:0;z-index:2;width:min(86vw,350px);padding:30px 28px;background:var(--preto);color:var(--papel);flex-direction:column;align-items:stretch;gap:0;visibility:hidden;transform:translateX(100%);transition:transform .22s ease,visibility 0s .22s;--foco:var(--amarelo);overscroll-behavior:contain;overflow-y:auto}
  .com-js .topo__nav.aberto{visibility:visible;transform:translateX(0);transition:transform .22s ease}
  .com-js .topo__nav a{color:var(--papel);font:800 46px/1 var(--fonte-display);padding:18px 0;border-bottom:1px solid rgb(251 245 233 / .3)}
  .com-js .topo__nav a:hover{color:var(--amarelo)}
  .com-js .topo__nav-apoie{display:flex!important}
  .sem-js .topo__barra{height:auto;min-height:var(--topo-h);flex-wrap:wrap;padding-block:4px}
  .sem-js .topo__nav{order:3;width:100%;justify-content:space-between;gap:8px}
  .sem-js .topo__nav a{font-size:11px}
  .veu{position:fixed;inset:var(--topo-h) 0 0;background:rgb(13 11 10 / .6);z-index:1}
  .hero__sol{width:74%;top:7%}
  .hero__img img{object-position:50% 0}
  .hero__voto{padding:10px 8% 5px 18px;margin-bottom:14px;gap:10px}
  .hero__voto-numero{font-size:clamp(84px,24vw,128px)}
  .hero__voto-legenda{font-size:10px}
  .hero__texto{padding:48px var(--margem) 44px}
  .hero__identidade{margin-bottom:44px}
  .hero__nome{font-size:27px}
  .hero__cargo{font-size:13px}
  .hero__lema{font-size:clamp(68px,18vw,108px);text-shadow:4px 4px 0 var(--preto)}
  .hero__proposta{font-size:18px;margin-top:28px}
  .hero__acoes{gap:20px;margin-top:24px;width:100%}
  .hero__acoes .botao{font-size:15px;padding:14px 18px;gap:18px}
  .manifesto-curto{grid-template-columns:1fr;gap:18px;padding:34px var(--margem)}
  .manifesto-curto>p{font-size:36px}
  .manifesto-curto__link{justify-content:space-between;font-size:13px}
  .conheca{grid-template-columns:1fr;gap:44px}
  .conheca__foto{max-width:none;margin-right:34px}
  .conheca__foto img{aspect-ratio:1.05;object-position:50% 20%}
  .conheca__texto h2{font-size:72px;margin-bottom:20px}
  .conheca__resumo{font-size:18px}
  .propostas__cabeca h2{font-size:46px}
  .propostas__dez{font-size:104px;margin:32px 0 28px;box-shadow:7px 7px 0 var(--preto)}
  .propostas__dez span{font-size:12px}
  .propostas__controle{font-size:10px;gap:8px;margin-bottom:8px}
  .expandir{font-size:11px}
  .eixo summary{grid-template-columns:1fr 24px;padding:24px 0;min-height:96px;gap:16px}
  .eixo__quantidade{display:none}
  .eixo__nome{font-size:29px}
  .eixo__lista{padding:0 0 28px;gap:16px}
  .eixo__lista li{grid-template-columns:40px 1fr;gap:14px;font-size:16px}
  .proposta__num{width:40px;height:40px;font-size:22px}
  .eixo__lista p{padding-top:7px}
  .citacao{padding:64px var(--margem) 72px}
  .citacao__cunha{top:0;left:var(--margem);width:72px;height:56px;translate:0 0;clip-path:polygon(0 0,100% 0,50% 100%)}
  .citacao figure{margin:48px 0 0}
  .citacao blockquote p{font-size:31px}
  .agenda{grid-template-columns:1fr;gap:24px;padding:52px var(--margem)}
  .agenda h2{font-size:44px}
  .apoie{grid-template-columns:1fr;grid-template-areas:"disco" "grito" "painel";padding:44px var(--margem) 52px}
  .apoie__disco{justify-self:center;width:min(78vw,340px);border-width:8px;margin-bottom:-36px}
  .apoie__grito{margin-inline:calc(var(--margem) * -1);padding:76px var(--margem) 56px}
  .apoie__cone{inset:0;clip-path:polygon(38% 0,62% 0,100% 100%,0 100%)}
  .apoie h2{font-size:clamp(76px,21vw,112px);margin-inline:auto;text-align:center;transform-origin:50% 50%}
  .apoie__painel{padding-top:32px}
  .apoie__texto>p{font-size:18px}
  .apoie__acoes .botao{font-size:15px;gap:18px;max-width:100%}
  .rodape{padding:40px var(--margem) 24px}
  .rodape__assinatura{font-size:clamp(34px,7.4vw,56px);gap:16px;padding-bottom:22px;margin-bottom:22px}
  .rodape__assinatura>span:first-child{max-width:9ch}
  .rodape__assinatura>span:last-child{font-size:1.5em}
  .rodape__grade{grid-template-columns:1fr;gap:22px}
  .rodape__links{flex-direction:row;flex-wrap:wrap;gap:4px 20px}
  .rodape__links a{min-height:44px}
  .revisao{padding:10px var(--margem)}
  .revisao summary{min-height:44px}
}
@media(max-width:359px){
  :root{--margem:18px}
  .topo__barra{gap:8px}.topo__marca img{width:104px}
  .hero__lema{font-size:64px}.hero__acoes .botao{width:100%}
  .apoie__acoes .botao{padding-inline:14px;font-size:14px}
}

/* ===== Exploração: movimento. Tudo some com prefers-reduced-motion (regra global no fim) e sem JS nada fica escondido. ===== */
@media(prefers-reduced-motion:no-preference){
  /* Abertura: o cartaz é montado peça por peça, como colagem. */
  .hero__img{animation:cola .7s cubic-bezier(.2,.9,.25,1.15) .25s both}
  .hero__reticula{animation:surge 1s ease-out .9s both,respira 7s ease-in-out 2s infinite alternate}
  .hero__lema{animation:bate .55s cubic-bezier(.2,.9,.25,1.2) .5s both}
  .hero__identidade,.hero__proposta,.hero__acoes{animation:surge .6s ease-out .95s both}
  @keyframes cola{from{transform:translateY(46px) rotate(3deg) scale(1.04)}} /* sem opacidade: a foto é o LCP e precisa pintar de imediato */
  @keyframes bate{from{opacity:0;transform:rotate(var(--ang)) translateX(-60px) scale(1.12)}}
  @keyframes surge{from{opacity:0}}
  @keyframes respira{to{transform:scale(1.05);opacity:.4}}

  /* Tarja do lema: entra cortando na diagonal. */
  .com-js .manifesto-curto>p{clip-path:inset(0 100% 0 0);transition:clip-path .8s cubic-bezier(.2,.8,.2,1)}
  .com-js .manifesto-curto.visto>p{clip-path:inset(0 0 0 0)}

  /* Conheça: o quadrado carmim gira até o lugar; a barra preta risca. */
  .com-js .conheca__quadrado{transform:rotate(0) scale(.9);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
  .com-js .conheca.visto .conheca__quadrado{transform:rotate(calc(var(--ang) * -1)) scale(1)}
  .com-js .conheca__foto::after{scale:0 1;transform-origin:0 50%;transition:scale .5s ease-out .5s}
  .com-js .conheca.visto .conheca__foto::after{scale:1 1}

  /* Propostas: os números batem como carimbo ao abrir o eixo. */
  .eixo[open] .proposta__num{animation:carimbo .32s cubic-bezier(.2,.9,.3,1.4) both}
  .eixo[open] li:nth-child(2) .proposta__num{animation-delay:.09s}
  .eixo[open] li:nth-child(3) .proposta__num{animation-delay:.18s}
  @keyframes carimbo{from{opacity:0;transform:scale(1.9) rotate(-14deg)}}

  /* Citação: a cunha vermelha entra e o texto sobe atrás dela. */
  .com-js .citacao__cunha{translate:-100% -50%;transition:translate .8s cubic-bezier(.2,.8,.2,1)}
  .com-js .citacao.visto .citacao__cunha{translate:0 -50%}
  .com-js .citacao figure{opacity:0;transform:translateX(-28px);transition:opacity .7s ease-out .35s,transform .7s cubic-bezier(.2,.8,.2,1) .35s}
  .com-js .citacao.visto figure{opacity:1;transform:none}

  /* Apoie: o grito. O cone abre a partir do megafone, o título é empurrado e o som segue em ondas. */
  .com-js .apoie__cone{scale:0 1;transform-origin:100% 50%;transition:scale .6s cubic-bezier(.2,.8,.2,1)}
  .com-js .apoie.visto .apoie__cone{scale:1 1}
  .com-js .apoie h2{opacity:0}
  .com-js .apoie.visto h2{opacity:1;animation:grito .7s cubic-bezier(.2,.9,.25,1.25) .35s both}
  @keyframes grito{from{opacity:0;transform:rotate(var(--ang)) translateX(90px) scale(.7)}}
  .apoie.visto .apoie__ondas span{animation:onda 2.4s linear infinite}
  .apoie.visto .apoie__ondas span:nth-child(2){animation-delay:.8s}
  .apoie.visto .apoie__ondas span:nth-child(3){animation-delay:1.6s}
  @keyframes onda{from{transform:scale(.7);opacity:1}70%{opacity:.5}to{transform:scale(2.3);opacity:0}}
}
.apoie__ondas{grid-area:disco;justify-self:end;position:relative;z-index:0;width:min(100%,460px);aspect-ratio:1;pointer-events:none;
  clip-path:polygon(50% 50%,-120% -30%,-120% 130%)}
.apoie__ondas span{position:absolute;inset:0;border-radius:50%;border:8px solid var(--preto);opacity:0}
@media(max-width:767px){
  .com-js .citacao__cunha{translate:0 -100%}.com-js .citacao.visto .citacao__cunha{translate:0 0}
  .apoie__ondas{justify-self:center;width:min(78vw,340px);clip-path:polygon(50% 50%,-30% 220%,130% 220%)}
}

@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{
  .topo,.hero__acoes,.apoie__acoes,.expandir,.revisao,.rodape__links,.hero__foto,.apoie__disco{display:none!important}
  body{background:white;color:black}.hero,.apoie,.citacao,.manifesto-curto,.rodape{color:black;background:white}
  .hero{display:block}.eixo::details-content{content-visibility:visible}
}
