html{scroll-behavior:smooth}
  :root{
    --navy:#00182E;
    --navy-2:#012239;
    --gold:#C9A063;
    --gold-soft:#E0BE8A;
    --graphite:#141414;
    --electric:#0091FF;
    --paper:#EFF2F4;
    --paper-2:#FFFFFF;
    --ink:#12222E;
    --muted:#5C6E7A;
    --line:rgba(0,24,46,.14);
    --line-dark:rgba(201,160,99,.30);

    --display:"Poppins","Century Gothic","Futura",system-ui,sans-serif;
    --body:"Poppins","Century Gothic",system-ui,sans-serif;
    --mono:"Poppins","Century Gothic",system-ui,sans-serif;

    --measure:62ch;
    --pad:clamp(22px,5vw,64px);
    --maxw:1120px;
  }

  *{box-sizing:border-box}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--body);
    font-size:16.5px;
    line-height:1.78;
    overflow-wrap:break-word;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%}
  a{color:inherit}
  ::selection{background:var(--gold);color:var(--navy)}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

  .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}

  /* ---------- marca ---------- */
  .x-symbol{display:block;color:var(--gold)}

  /* ---------- topo ---------- */
  header.top{
    position:sticky;top:0;z-index:50;
    background:var(--navy);
    border-bottom:1px solid var(--line-dark);
  }
  .top-in{
    max-width:1340px;margin:0 auto;padding:14px var(--pad);
    display:flex;align-items:center;gap:28px;
  }
  .lockup{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
  .lockup .x-symbol{width:30px;height:30px}
  .lockup .name{
    font-family:var(--display);font-weight:400;font-size:16px;
    letter-spacing:.34em;color:#fff;line-height:1;
  }
  .lockup .sub{
    font-family:var(--display);font-weight:400;font-size:9.5px;letter-spacing:.30em;
    color:var(--gold);margin-top:5px;line-height:1;
  }
  nav.menu{margin-left:auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
  nav.menu a:not(.btn){
    font-family:var(--body);font-size:14px;letter-spacing:.01em;
    color:rgba(255,255,255,.78);text-decoration:none;padding:6px 0;
    border-bottom:1px solid transparent;transition:color .18s,border-color .18s;
  }
  nav.menu a:not(.btn):hover{color:#fff}
  nav.menu a:not(.btn)[aria-current="page"]{color:var(--gold);border-bottom-color:var(--gold)}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-family:var(--body);font-size:15px;font-weight:600;letter-spacing:.01em;
    padding:11px 20px;border-radius:2px;text-decoration:none;cursor:pointer;
    border:1px solid var(--gold);background:var(--gold);color:var(--navy);
    transition:background .18s,color .18s;
  }
  .btn:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
  .btn.ghost{background:transparent;color:var(--gold)}
  .btn.ghost:hover{background:rgba(201,160,99,.12);color:var(--gold-soft)}
  .btn.on-light{border-color:var(--navy);background:var(--navy);color:#fff}
  .btn.on-light:hover{background:var(--navy-2)}
  .top .btn{padding:10px 15px;font-size:13.5px}

  .nav-toggle{
    display:none;margin-left:auto;background:none;cursor:pointer;padding:0;
    width:46px;height:42px;border:1px solid var(--line-dark);border-radius:2px;
    flex-direction:column;align-items:center;justify-content:center;gap:5px;
  }
  .nav-toggle span{display:block;width:20px;height:2px;background:var(--gold);transition:transform .2s,opacity .2s}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  @media (max-width:1179px){
    .top-in{flex-wrap:wrap;gap:0;padding-block:13px}
    .nav-toggle{display:flex}
    nav.menu{
      display:none;order:3;width:100%;margin:10px 0 4px;
      flex-direction:column;align-items:stretch;gap:0;
    }
    nav.menu.is-open{display:flex}
    nav.menu a:not(.btn){
      font-size:17px;padding:16px 2px;
      border-bottom:1px solid var(--line-dark);
    }
    nav.menu .btn{margin-top:18px;justify-content:center;padding:15px 20px;font-size:16px}
  }

  /* ---------- blocos ---------- */
  section.band,.band{padding:clamp(66px,9vw,132px) 0}
  .band.navy{background:var(--navy);color:#fff}
  .band.navy .eyebrow{color:var(--gold)}
  .band.graphite{background:var(--graphite);color:#EDEDED}
  .band.paper-2{background:var(--paper-2)}

  .eyebrow{
    font-family:var(--display);font-size:12px;font-weight:500;
    letter-spacing:.22em;text-transform:uppercase;color:var(--muted);
    margin:0 0 26px;max-width:none;
  }
  h1,h2,h3{font-family:var(--display);font-weight:300;text-wrap:balance;margin:0}
  h1{font-size:clamp(34px,5.4vw,58px);line-height:1.08;letter-spacing:-.015em}
  h2{font-size:clamp(26px,3.4vw,38px);line-height:1.16;letter-spacing:-.01em}
  h3{font-size:20px;line-height:1.3;font-weight:400;letter-spacing:.005em}
  p{margin:0 0 1.25em;max-width:var(--measure)}
  .lead{font-size:clamp(18px,2vw,20.5px);line-height:1.55;color:inherit;opacity:.92}
  .rule{width:64px;height:2px;background:var(--gold);border:0;margin:30px 0 34px}
  .gold{color:var(--gold)}

  /* ---------- hero ---------- */
  .hero{padding:clamp(64px,10vw,124px) 0 clamp(52px,8vw,96px)}
  .hero h1{max-width:16ch}
  .hero .lead{max-width:54ch;margin-top:30px}
  .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}
  .hero-shell{position:relative;overflow:hidden}

  /* ---------- listas ---------- */
  .grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:clamp(28px,4vw,56px)}
  .frentes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:0;border-top:1px solid var(--line)}
  .frente{padding:30px 0 34px;border-bottom:1px solid var(--line)}
  .frentes.cols .frente{padding-right:clamp(0px,3vw,40px)}
  .frente h3{margin-bottom:8px}
  .frente p{font-size:16px;color:var(--muted);margin:0;max-width:44ch}

  .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:clamp(24px,3vw,40px);margin-top:8px}
  .step{border-top:2px solid var(--gold);padding-top:16px}
  .step .num{font-family:var(--display);font-weight:500;font-size:11.5px;letter-spacing:.2em;color:var(--gold);display:block;margin-bottom:12px}
  .step h3{margin-bottom:8px}
  .step p{font-size:15.5px;color:var(--muted);margin:0;max-width:38ch}
  .band.navy .step p{color:rgba(255,255,255,.74)}

  /* ---------- sinais (registro de conteudo) ---------- */
  .sinais{margin-top:34px;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.14)}
  .sinal{
    display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:baseline;
    padding:24px 0;border-bottom:1px solid rgba(255,255,255,.14);
  }
  .sinal b{
    font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.14em;
    color:var(--electric);
  }
  .sinal .t{font-family:var(--display);font-weight:400;font-size:19px;color:#fff;display:block}
  .sinal .d{font-size:16px;color:rgba(237,237,237,.72);display:block;margin-top:4px;max-width:52ch}
  .sinal-fecho{margin-top:30px;font-size:18px;color:#fff;max-width:48ch}
  .sinal-fecho span{color:var(--electric)}

  /* ---------- frente detalhada ---------- */
  .detalhe{border-top:1px solid var(--line);padding:44px 0 10px}
  .detalhe:first-of-type{border-top:0}
  .detalhe h3{font-size:23px;margin-bottom:18px}
  .detalhe .dl{display:grid;grid-template-columns:132px 1fr;gap:16px 30px;align-items:start}
  .detalhe dt{
    font-family:var(--display);font-weight:500;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--muted);padding-top:5px;
  }
  .detalhe dd{margin:0;max-width:60ch}
  .detalhe dd.entrega{color:var(--muted);font-size:16px}
  @media (max-width:640px){
    .detalhe .dl{grid-template-columns:1fr;gap:4px 0}
    .detalhe dt{padding-top:14px}
  }

  /* ---------- valores / listas simples ---------- */
  ul.plain{list-style:none;margin:0;padding:0;max-width:var(--measure)}
  ul.plain li{padding:15px 0;border-bottom:1px solid var(--line);font-size:17px}
  .band.navy ul.plain li{border-color:var(--line-dark)}
  ul.plain li:last-child{border-bottom:0}

  .pend{
    font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;
    color:var(--gold);background:rgba(201,160,99,.10);
    border-left:2px solid var(--gold);padding:10px 14px;margin:0 0 18px;max-width:60ch;
  }

  /* ---------- pagina de conteudo: cinco sinais ---------- */
  .sinal-full{border-top:1px solid rgba(255,255,255,.14);padding:46px 0 42px}
  .sinal-full:first-of-type{border-top:0;padding-top:8px}
  .sinal-full .cab{display:flex;align-items:baseline;gap:16px;margin-bottom:14px}
  .sinal-full .cab b{font-family:var(--display);font-weight:500;font-size:12.5px;letter-spacing:.18em;color:var(--electric)}
  .sinal-full h2{color:#fff;font-size:clamp(23px,3vw,31px)}
  .sinal-full p{color:rgba(237,237,237,.78);max-width:60ch}
  .fazer{
    border-left:2px solid var(--electric);padding:14px 0 14px 20px;margin-top:22px;max-width:58ch;
    background:rgba(0,145,255,.06);
  }
  .fazer .k{
    font-family:var(--display);font-weight:500;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;
    color:var(--electric);display:block;margin-bottom:8px;
  }
  .fazer p{margin:0;color:#EDEDED}
  .raiz{border-left:2px solid var(--gold);padding-left:22px;max-width:34ch}


  /* ---------- ciclo da gestao publica ---------- */
  .ciclo-fig{margin:0;display:grid;justify-items:center;gap:26px}
  .ciclo-svg{width:100%;max-width:470px;height:auto;color:#EDEDED}
  .ciclo-fig figcaption{
    font-size:15.5px;color:rgba(237,237,237,.72);max-width:52ch;text-align:center;line-height:1.6;
  }
  .ciclo-fig figcaption b{color:var(--gold);font-weight:500}

  .etapas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:0 clamp(28px,4vw,56px)}
  .etapa{padding:30px 0 32px;border-top:1px solid rgba(255,255,255,.14)}
  .etapa .cab{display:flex;align-items:baseline;gap:14px;margin-bottom:6px}
  .etapa .n{font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.16em;color:var(--electric)}
  .etapa h3{color:#fff;font-size:21px}
  .etapa .sub{font-size:15px;color:rgba(237,237,237,.55);margin:0 0 16px}
  .etapa ul{list-style:none;margin:0;padding:0}
  .etapa li{
    position:relative;padding:6px 0 6px 20px;font-size:15.5px;line-height:1.55;
    color:rgba(237,237,237,.86);max-width:44ch;
  }
  .etapa li::before{
    content:"";position:absolute;left:0;top:15px;width:9px;height:1.5px;background:var(--electric);
  }
  .quebra{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:clamp(24px,3vw,44px);margin-top:10px}
  .quebra .item{border-left:2px solid var(--gold);padding:2px 0 2px 18px}
  .quebra h3{font-size:18px;margin-bottom:8px}
  .quebra p{font-size:15.5px;color:rgba(255,255,255,.74);margin:0;max-width:40ch}
  .certo{
    font-family:var(--display);font-size:clamp(17px,2.4vw,22px);font-weight:400;color:#fff;margin:0;max-width:none;
  }
  .certo span{color:var(--electric)}



  /* ---------- artigos ---------- */
  .lista-artigos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:clamp(32px,4vw,52px)}
  .artigo{display:flex;flex-direction:column}
  .artigo a.capa{display:block;text-decoration:none;position:relative;overflow:hidden;border-radius:2px;background:var(--navy)}
  .artigo a.capa img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
  .capa-tipo{
    aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;
    background:var(--navy);position:relative;
  }
  .capa-tipo svg{width:64px;height:64px;color:var(--gold);opacity:.9}
  .capa-tipo::after{
    content:"";position:absolute;inset:0;
    background:repeating-linear-gradient(45deg,transparent 0 22px,rgba(201,160,99,.06) 22px 23px);
  }
  .artigo .meta{
    font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--muted);margin:22px 0 10px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;
  }
  .artigo .meta .tag{color:var(--gold)}
  .artigo h3{font-size:22px;line-height:1.28;margin-bottom:10px}
  .artigo h3 a{text-decoration:none}
  .artigo h3 a:hover{color:var(--gold)}
  .band.navy .artigo h3 a:hover{color:var(--gold-soft)}
  .artigo p{font-size:16px;color:var(--muted);max-width:44ch;margin:0 0 16px}
  .artigo .ler{
    font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px;
    align-self:flex-start;
  }
  .artigo .ler:hover{color:var(--gold)}

  /* ---------- newsletter ---------- */
  .news-form{display:flex;flex-wrap:wrap;gap:12px;max-width:560px;margin-top:8px}
  .news-form input{flex:1 1 240px;background:rgba(255,255,255,.06);border-color:var(--line-dark);color:#fff}
  .news-form input::placeholder{color:rgba(255,255,255,.45)}
  .news-form .btn{flex:0 0 auto}
  .news-nota{font-size:14px;color:rgba(255,255,255,.55);margin-top:16px;max-width:52ch}
  .news-itens{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:clamp(24px,3vw,44px);margin-top:12px}
  .news-item{border-top:2px solid var(--electric);padding-top:16px}
  .news-item .k{font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--electric);display:block;margin-bottom:10px}
  .news-item h3{font-size:19px;margin-bottom:8px}
  .news-item p{font-size:15.5px;color:rgba(237,237,237,.72);margin:0;max-width:38ch}

  /* ---------- trajetoria ---------- */
  .traj{display:grid;gap:0;margin-top:8px}
  .traj .bloco{
    border-left:2px solid var(--line-dark);padding:0 0 36px 26px;position:relative;
  }
  .traj .bloco:last-child{padding-bottom:0}
  .traj .bloco::before{
    content:"";position:absolute;left:-6px;top:7px;width:10px;height:10px;
    background:var(--gold);border-radius:50%;
  }
  .traj .ano{
    font-family:var(--display);font-weight:500;font-size:11.5px;letter-spacing:.2em;
    color:var(--gold);display:block;margin-bottom:8px;
  }
  .traj h3{color:#fff;font-size:20px;margin-bottom:12px}
  .traj p{color:rgba(255,255,255,.76);font-size:16px;max-width:60ch;margin:0 0 .9em}
  .traj p:last-child{margin-bottom:0}

  /* ---------- perfil ---------- */
  .perfil-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,5vw,64px);align-items:center}
  .perfil-hero .cargo{font-family:var(--display);font-weight:300;font-size:clamp(17px,2vw,20px);color:var(--gold);margin:14px 0 0}
  .perfil-hero .perfil-foto img{border-color:var(--line-dark)}
  @media (max-width:760px){.perfil-hero{grid-template-columns:1fr}.perfil-hero .perfil-foto{max-width:320px}}

  .perfil{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:start}
  .perfil-txt p{max-width:52ch}
  .perfil-foto{margin:0}
  .perfil-foto img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:2px}
  @media (max-width:760px){.perfil{grid-template-columns:1fr}.perfil-foto{max-width:420px}}

  /* ---------- niveis de governo ---------- */
  .niveis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:clamp(20px,3vw,36px);margin-top:36px}
  .nivel{border-left:2px solid var(--gold);padding:4px 0 4px 18px}
  .nivel .k{font-family:var(--display);font-weight:500;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:8px}
  .nivel .v{font-family:var(--display);font-weight:300;font-size:18px;line-height:1.35;display:block}

  /* ---------- formulario ---------- */
  .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:18px 22px;max-width:760px}
  .field{display:flex;flex-direction:column;gap:7px}
  .field.full{grid-column:1/-1}
  label{font-family:var(--display);font-weight:500;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
  input,textarea,select{
    font-family:var(--body);font-size:16px;color:var(--ink);
    background:var(--paper-2);border:1px solid var(--line);border-radius:2px;
    padding:11px 13px;width:100%;
  }
  textarea{min-height:132px;resize:vertical;line-height:1.5}
  .hint{font-size:13.5px;color:var(--muted)}
  .form-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:24px}
  .form-msg{font-size:15px;color:var(--navy);background:rgba(201,160,99,.16);border-left:2px solid var(--gold);padding:12px 15px;max-width:60ch;margin-top:18px}

  .canais{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:24px;margin-top:38px;border-top:1px solid var(--line-dark);padding-top:30px}
  .canal .k{font-family:var(--display);font-weight:500;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:9px}
  .canal a,.canal span{color:#fff;text-decoration:none;font-size:17px;line-height:1.5;display:block}
  .canal a:hover{color:var(--gold-soft)}

  /* ---------- assinatura + rodape ---------- */
  .tagline-band{background:var(--navy-2);color:#fff;padding:clamp(38px,6vw,64px) 0;border-top:1px solid var(--line-dark)}
  .tagline{font-family:var(--display);font-weight:200;font-size:clamp(19px,2.6vw,27px);line-height:1.45;max-width:24ch;margin:0}
  .tagline em{font-style:normal;color:var(--gold)}

  footer.bottom{background:var(--navy);color:rgba(255,255,255,.72);padding:44px 0 52px;font-size:15px}
  .foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
  @media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}
  @media (max-width:480px){.foot-grid{grid-template-columns:1fr}}
  .foot-grid a{color:rgba(255,255,255,.72);text-decoration:none}
  .foot-grid a:hover{color:var(--gold)}
  .foot-k{font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:14px}
  .foot-brand .x-symbol{width:26px;height:26px;margin-bottom:14px}
  .foot-line{font-family:var(--display);font-weight:400;font-size:10.5px;letter-spacing:.14em;color:rgba(255,255,255,.42);margin-top:44px;border-top:1px solid var(--line-dark);padding-top:20px}

  /* ---------- busca de deputado no Panorama ---------- */
  .busca-dep{position:relative;max-width:560px;margin-top:10px}
  .busca-dep input{
    width:100%;background:rgba(255,255,255,.06);border:1px solid var(--line-dark);
    color:#fff;font-size:17px;padding:14px 16px;border-radius:2px;
  }
  .busca-dep input::placeholder{color:rgba(255,255,255,.45)}
  .busca-lista{
    position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);
    background:var(--navy-2);border:1px solid var(--line-dark);border-radius:2px;
    list-style:none;margin:0;padding:4px;max-height:320px;overflow:auto;
  }
  .busca-lista[hidden]{display:none}
  .busca-lista li{
    padding:11px 12px;cursor:pointer;display:flex;justify-content:space-between;gap:14px;
    align-items:baseline;border-radius:2px;font-size:16px;color:#fff;
  }
  .busca-lista li[aria-selected="true"],.busca-lista li:hover{background:rgba(201,160,99,.18)}
  .busca-lista .meta-dep{
    font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--gold);white-space:nowrap;
  }
  .busca-nota{font-size:14px;color:rgba(255,255,255,.55);margin-top:14px;max-width:52ch}

  /* ---------- placar eleitoral ---------- */
  .placares{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:clamp(26px,4vw,52px);margin-top:36px}
  .placar{border-top:2px solid var(--gold);padding-top:18px}
  .placar h3{
    font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.2em;
    text-transform:uppercase;color:var(--muted);margin:0 0 22px;
  }
  .linha{margin-bottom:22px}
  .linha:last-of-type{margin-bottom:0}
  .linha-topo{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
  .linha-nome{font-size:16.5px;font-weight:500;line-height:1.3}
  .linha-nome em{display:block;font-style:normal;font-weight:300;font-size:14px;color:var(--muted)}
  .linha-pct{
    font-family:var(--display);font-weight:500;font-size:clamp(21px,2.4vw,26px);
    line-height:1.05;white-space:nowrap;
  }
  .barra{height:9px;background:rgba(0,24,46,.10);margin-top:11px;border-radius:999px;overflow:hidden}
  .barra i{display:block;height:100%;border-radius:999px;background:var(--navy)}
  .linha.vence .barra i{background:var(--gold)}
  .linha-votos{font-size:14px;color:var(--muted);margin-top:8px}
  .placar-fecho{
    font-size:15px;margin:24px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--ink);
  }
