/* Agentes Políticos — site (identidade consolidada: #101610 / #B5F52A / #FFFFFF, DejaVu Sans Mono + Manrope) */
@font-face{font-family:Manrope;src:url('../brand/fontes/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:'DejaVu Sans Mono';src:url('../brand/fontes/DejaVuSansMono-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@view-transition{navigation:auto}

:root{
  --preto:#101610;--preto2:#141c13;--preto3:#1a2418;--linha:#2a3825;--linha2:#3a4c32;
  --verde:#B5F52A;--verde-suave:rgba(181,245,42,.12);--branco:#FFFFFF;--cinza:#b9c4b0;--cinza2:#8d9a84;
  --titulo:'DejaVu Sans Mono',ui-monospace,monospace;--corpo:Manrope,system-ui,sans-serif;
  --max:1200px;--topo:76px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--preto);color:var(--branco);font-family:var(--corpo);font-size:17px;line-height:1.7;font-synthesis:none;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-family:var(--titulo);font-weight:700;letter-spacing:-.045em;line-height:1.18}
:focus-visible{outline:2px solid var(--branco);outline-offset:4px;box-shadow:0 0 0 4px var(--preto)}
.claro :focus-visible{outline-color:var(--preto);box-shadow:0 0 0 4px var(--branco)}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:24px}
.pular{position:absolute;left:-999px;top:8px;background:var(--verde);color:var(--preto);padding:10px 16px;z-index:300;font-weight:700}
.pular:focus{left:16px}
.mono{font-family:var(--titulo)}

/* grade de fundo sutil (tecnológica, sem brilho) */
.grade{position:relative;isolation:isolate}
.grade::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--linha) 1px,transparent 1px),linear-gradient(90deg,var(--linha) 1px,transparent 1px);background-size:48px 48px;opacity:.45;-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent)}
.grade-fade::before{-webkit-mask-image:radial-gradient(ellipse at 72% 45%,#000 0%,transparent 65%);mask-image:radial-gradient(ellipse at 72% 45%,#000 0%,transparent 65%);opacity:.7}

.rotulo{font-family:var(--titulo);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--verde);display:inline-flex;align-items:center;gap:10px}
.rotulo::before{content:"";width:8px;height:8px;background:currentColor;border-radius:1px}
.claro .rotulo{color:var(--preto)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:4px;font-weight:750;font-size:16px;text-decoration:none;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn-verde{background:var(--verde);color:var(--preto)}
.btn-verde:hover{background:#c8ff52;transform:translateY(-1px)}
.btn-linha{border-color:var(--linha2);color:var(--branco)}
.btn-linha:hover{border-color:var(--verde);color:var(--verde)}
.claro .btn-linha{border-color:var(--preto);color:var(--preto)}
.claro .btn-linha:hover{background:var(--preto);color:var(--branco)}
.btn .seta{transition:transform .2s}
.btn:hover .seta{transform:translateX(3px)}

/* TOPO */
header.topo{position:sticky;top:0;z-index:100;background:var(--preto);border-bottom:1px solid var(--linha);view-transition-name:topo}
.topo .wrap{height:var(--topo);display:flex;align-items:center;justify-content:space-between;gap:24px}
.topo .logo img{width:176px;height:auto}
.topo ul{display:flex;gap:26px;list-style:none;align-items:center}
.topo nav a{text-decoration:none;font-size:15px;font-weight:600;color:var(--cinza);transition:color .2s}
.topo nav a:hover,.topo nav a[aria-current]{color:var(--branco)}
.topo nav a.btn{color:var(--preto);min-height:42px;padding:9px 18px;font-size:15px}
.progresso{position:absolute;left:0;bottom:-1px;height:2px;background:var(--verde);width:0;transition:width .1s linear}

/* seções e transições entre áreas */
section{padding:120px 0;scroll-margin-top:var(--topo);position:relative}
.sec-titulo{font-size:clamp(28px,3.6vw,48px);margin:18px 0 18px;max-width:900px}
.sec-abre{font-size:19px;color:var(--cinza);max-width:720px}
.claro{background:var(--branco);color:var(--preto)}
.claro .sec-abre{color:#3d4738}
.revela{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.revela.visivel{opacity:1;transform:none}
.revela[data-atraso="1"]{transition-delay:.1s}.revela[data-atraso="2"]{transition-delay:.2s}.revela[data-atraso="3"]{transition-delay:.3s}
.divisor{height:1px;background:linear-gradient(90deg,transparent,var(--linha2),transparent)}

/* RODAPÉ */
footer{border-top:1px solid var(--linha);padding:56px 0;view-transition-name:rodape}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
footer img{width:64px;height:auto}
footer p{font-size:14px;color:var(--cinza)}
footer nav{display:flex;gap:20px;flex-wrap:wrap;font-size:14px}
footer nav a{color:var(--cinza);text-decoration:none}
footer nav a:hover{color:var(--verde)}

@media (max-width:1000px){.topo li:not(:last-child){display:none}}
@media (max-width:640px){
  body{font-size:16px}
  section{padding:84px 0}
  .wrap{padding-inline:20px}
  :root{--topo:68px}
  .topo .logo img{width:146px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .revela{opacity:1;transform:none}
  @view-transition{navigation:none}
}
