:root{
  --green:#009440; --gold:#ffd000; --acc:#1f9d57;
  --ink:#1b1f2b; --ink2:#5b6472; --ink3:#9aa1b0; --line:#e7e9f1; --bg:#f5f6fb; --card:#fff; --radius:18px;
  --pan:#fff; --pan2:#f4f6fb; --bord:#e7e9f1;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.eyebrow{font-weight:700;font-size:11px;letter-spacing:1.5px;color:var(--acc);text-transform:uppercase}

/* HEADER */
header{position:sticky;top:0;z-index:50;background:rgba(8,11,22,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;gap:20px;height:70px;max-width:1180px;margin:0 auto;padding:0 22px}
.nav img{height:42px;width:auto}
.menu{display:flex;gap:19px;margin-left:6px;flex:1}
.menu a{color:#d9d2ee;font-size:14px;font-weight:500;white-space:nowrap;transition:.2s}
.menu a:hover{color:#fff}.menu a.on{color:var(--gold)}
.tools{display:flex;align-items:center;gap:12px}
.tools button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;width:40px;height:40px;border-radius:11px;cursor:pointer;font-size:17px;display:grid;place-items:center}
.mnav-cb,.mnav-btn{display:none}

/* ===== APP (linha do tempo) — tema claro/clean ===== */
.app{background:var(--bg);color:var(--ink)}
.tlapp{max-width:1300px;margin:0 auto;padding:30px 22px 50px}
.tlhead{margin-bottom:20px}
.tltitle .eyebrow{color:var(--acc);font-size:12px;letter-spacing:2px}
.tltitle h1{font-family:'Oswald',sans-serif;font-size:clamp(30px,4.5vw,46px);font-weight:700;letter-spacing:.5px;text-transform:uppercase;line-height:1;margin:5px 0 4px;color:var(--ink)}
.tltitle p{color:var(--ink2);font-size:14px}

.bandrow{display:flex;gap:8px;margin-bottom:6px}
.eband{flex-grow:1;flex-basis:0;border:none;border-radius:12px;padding:11px 12px;text-align:center;background:color-mix(in srgb,var(--ec) 12%,#fff);border-top:3px solid var(--ec);cursor:pointer;font-family:inherit;transition:.15s;box-shadow:0 1px 3px rgba(20,25,45,.05)}
.eband:hover{background:color-mix(in srgb,var(--ec) 22%,#fff);transform:translateY(-2px)}
.eband b{display:block;color:color-mix(in srgb,var(--ec) 72%,#000);font-size:12.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;line-height:1.15}
.eband span{font-size:11px;color:var(--ink2)}

.railwrap{display:flex;align-items:center;gap:4px;margin-top:8px}
.endcap{flex-shrink:0;text-align:center;width:76px}
.endcap b{font-family:'Oswald',sans-serif;display:block;font-size:21px;font-weight:700}
.endcap span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink3);line-height:1.2;margin-top:2px}
.endcap.left b{color:#d8920f}.endcap.right b{color:#e0413f}
.railscroll{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;padding:26px 0 14px;scrollbar-width:none;cursor:grab;-ms-overflow-style:none}
.railscroll::-webkit-scrollbar{display:none}
.railscroll.grabbing{cursor:grabbing}
.railtrack{position:relative;display:flex;width:max-content;padding:0 14px}
.railline{position:absolute;left:14px;right:14px;top:58px;height:4px;border-radius:3px;opacity:.9;z-index:0}
.node{flex:0 0 92px;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;cursor:pointer;color:inherit;font-family:inherit;padding:0 1px;position:relative;z-index:1;transition:opacity .2s}
.nphoto{width:60px;height:60px;border-radius:50%;overflow:hidden;background:#e9ecf3;border:3px solid #fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--ec) 55%,#dfe3ec);display:grid;place-items:center;transition:transform .18s,box-shadow .18s}
.nphoto img{width:100%;height:100%;object-fit:cover;object-position:center top}
.nmono{font-family:'Oswald',sans-serif;font-size:22px;color:var(--ec)}
.node:hover .nphoto{transform:scale(1.08)}
.node.sel .nphoto{transform:scale(1.34);box-shadow:0 0 0 3px var(--ec),0 8px 20px color-mix(in srgb,var(--ec) 45%,transparent)}
.node.sel:hover .nphoto{transform:scale(1.34)}
.nname{font-size:11.5px;font-weight:600;color:var(--ink);text-align:center;line-height:1.15;max-width:88px}
.nper{font-size:10px;color:var(--ink3)}
.node.sel .nname{color:#000}
.node.dim{opacity:.28}
.node.t-interino .nphoto,.node.t-junta .nphoto,.node.t-nao-posse .nphoto{border-style:dashed;border-color:color-mix(in srgb,var(--ec) 55%,#dfe3ec)}

.scrubwrap{margin:6px 4px 16px}
.scrub{position:relative;height:11px;border-radius:7px;cursor:pointer;opacity:.9;touch-action:none;box-shadow:inset 0 0 0 1px rgba(20,25,45,.06)}
.scrubhandle{position:absolute;top:50%;left:0;width:18px;height:18px;border-radius:50%;background:var(--card);border:2px solid #b7bdca;transform:translate(-50%,-50%);box-shadow:0 2px 6px rgba(20,25,45,.25);pointer-events:none}

.filterbar{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:0 0 6px}
.filterbar button{background:var(--card);border:1px solid var(--line);color:var(--ink2);font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;border-radius:999px;cursor:pointer;transition:.15s}
.filterbar button:hover{border-color:var(--acc);color:var(--ink)}
.filterbar button.on{background:var(--acc);border-color:var(--acc);color:#fff}
.swipehint{text-align:center;font-size:12px;color:var(--ink3);margin:0 0 22px}

.detail{--ec:#1f9d57;display:grid;grid-template-columns:210px 244px minmax(0,1fr) 272px;gap:26px;grid-template-areas:"photo info gov aside";background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px;align-items:start;box-shadow:0 6px 28px rgba(20,25,45,.06);min-height:540px}
.dphotocol{grid-area:photo;display:flex;flex-direction:column;gap:14px}
.dinfo{grid-area:info}.dgov{grid-area:gov}.daside{grid-area:aside}

.dphoto{position:relative;border-radius:16px;overflow:hidden;background:#eef0f6;aspect-ratio:3/4;display:grid;place-items:center;box-shadow:0 4px 16px rgba(20,25,45,.1)}
.dphoto img{width:100%;height:100%;object-fit:cover;object-position:center top}
.dmono{font-family:'Oswald',sans-serif;font-size:96px;color:#c2c8d6;display:none}
.dquote{font-style:italic;color:#3a4150;font-size:13.5px;line-height:1.5;border-left:3px solid var(--ec);padding:2px 0 2px 12px;margin:0}

.dinfo{min-width:0}
.dhead{min-height:118px}
.dord{color:var(--acc);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.dinfo h2{font-family:'Oswald',sans-serif;font-size:27px;font-weight:700;color:var(--ink);line-height:1.08;text-transform:uppercase;margin:5px 0 3px}
.dper{color:var(--acc);font-size:15px;font-weight:600}
.dfacts{list-style:none;margin:18px 0 0;display:flex;flex-direction:column;gap:14px}
.dfacts li{display:flex;gap:11px;align-items:flex-start;font-size:13px}
.fic{width:18px;flex-shrink:0;font-size:15px;opacity:.7;line-height:1.5}
.fbody{display:flex;flex-direction:column;gap:1px;min-width:0}
.flab{color:var(--ink2);font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.fval{color:var(--ink);font-weight:600;font-size:13.5px;line-height:1.35}

.dgov{min-width:0}
.dgov h3{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--acc);font-weight:700;margin-bottom:10px}
#dacontwrap h3{margin-top:24px}
.dgov #dgovtxt{font-size:14.5px;line-height:1.7;color:#3a4150}
.dacont{list-style:none;display:flex;flex-direction:column;gap:11px;margin-top:2px}
.dacont li{display:grid;grid-template-columns:46px 1fr;gap:12px;font-size:13.5px;color:#3a4150;line-height:1.5}
.dacont li b{color:var(--acc);font-weight:700;font-variant-numeric:tabular-nums}

.daside{display:flex;flex-direction:column;gap:14px;align-self:stretch}
.dbox{background:var(--pan2);border:1px solid var(--line);border-radius:14px;padding:16px 17px}
.dbox h3{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--acc);font-weight:700;margin-bottom:11px}
.dcur{list-style:none;display:flex;flex-direction:column;gap:11px}
.dcur li{font-size:12.8px;line-height:1.5;color:#3a4150;padding-left:18px;position:relative}
.dcur li::before{content:'✦';position:absolute;left:0;color:var(--acc);font-size:11px;top:2px}
.dnav h4{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ink2);margin-bottom:11px}
.dnavrow{display:flex;gap:9px;align-items:stretch}
.dnavbtn{flex:1 1 0;min-width:0;min-height:74px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:10px 11px;cursor:pointer;color:var(--ink);font-family:inherit;text-align:left;display:flex;flex-direction:column;gap:3px;transition:.15s}
.dnavbtn:hover{border-color:var(--acc);background:var(--card)}
.dnl{font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.3px}
.dnn{font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.2}
.dnp{font-size:10.5px;color:var(--ink2);margin-top:auto}
.dmore{display:block;text-align:center;background:var(--acc);color:#fff;font-weight:700;font-size:13.5px;padding:13px;border-radius:12px;transition:.15s;margin-top:auto}
.dmore:hover{filter:brightness(1.07)}

/* ===== PÁGINA INDIVIDUAL ===== */
.hero{--ec:#1f9d57;position:relative;background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--ec) 34%,#0a0014) 0%,#0c0a18 55%,#0a0014 100%);color:#fff;overflow:hidden;padding:50px 0 56px;text-align:center}
.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--green) 0 50%,var(--gold) 50% 100%);z-index:4}
.hgrid{position:absolute;left:50%;bottom:-20%;width:200%;height:75%;transform:translateX(-50%) perspective(500px) rotateX(64deg);background-image:linear-gradient(color-mix(in srgb,var(--ec) 38%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ec) 28%,transparent) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to top,#000 5%,transparent 78%);-webkit-mask-image:linear-gradient(to top,#000 5%,transparent 78%)}
.hero .inner{position:relative;z-index:2;max-width:860px;margin:0 auto}
.hero .eyebrow{color:var(--ec);display:inline-block;margin-bottom:14px;filter:brightness(1.4)}
.hero h1{font-family:'Oswald',sans-serif;font-size:clamp(32px,5vw,52px);font-weight:700;line-height:1.05;text-transform:uppercase}
.hero .sub{color:#cdd3ea;font-size:16.5px;margin-top:12px}
.hero .lead{color:#fff;font-size:17px;line-height:1.6;margin:16px auto 0;max-width:680px;font-weight:500}
.page{padding:34px 22px 20px}
.bio{--ec:#1f9d57;max-width:1020px;margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}
.bio-main p{font-size:17px;line-height:1.85;color:var(--ink);margin-bottom:18px}
.bio-main h2{font-size:22px;font-weight:800;margin:30px 0 12px;color:var(--ink)}
.bio-main h2:first-child{margin-top:0}
.bio-main strong{font-weight:600}
.bio-side{position:sticky;top:90px}
.ficha{--ec:#1f9d57;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.ficha-foto{aspect-ratio:4/5;background:#eef0f6;overflow:hidden;border-bottom:3px solid var(--ec)}
.ficha-foto img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.ficha-body{padding:18px 22px}
.ficha h2{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:color-mix(in srgb,var(--ec) 65%,#000);font-weight:700;margin-bottom:12px}
.frow{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.frow:last-child{border-bottom:none}
.frow span{color:var(--ink2);display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}
.frow b{font-weight:600;line-height:1.4}.frow.full b{font-weight:500;color:var(--ink)}
.epoca{display:block;margin-top:14px;text-align:center;background:linear-gradient(135deg,var(--green),#0c7a38);color:#fff;font-weight:700;font-size:14px;padding:13px;border-radius:14px;transition:.18s}
.epoca:hover{filter:brightness(1.08);transform:translateY(-2px)}
.backlink{max-width:1020px;margin:26px auto 0}.backlink a{color:#0c7a38;font-weight:600;font-size:14.5px}
.source{max-width:1020px;margin:14px auto 0;color:#9a92b0;font-size:12.5px}

/* FOOTER */
footer{background:#0a0e1c;color:#bcb2d6;padding:54px 0 30px;margin-top:46px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1);max-width:1180px;margin:0 auto;padding-left:22px;padding-right:22px}
footer img{height:40px;margin-bottom:14px}
footer h4{color:#fff;font-size:13px;font-weight:700;margin-bottom:16px}
footer ul{list-style:none}footer li{margin-bottom:10px;font-size:14px}
footer li a:hover{color:#fff}.small{font-size:13px;line-height:1.7}
.fbot{padding-top:22px;font-size:13px;color:#7d749b;text-align:center;max-width:1180px;margin:0 auto}

@media(max-width:980px){
  .detail{grid-template-columns:220px minmax(0,1fr);grid-template-areas:"photo info" "gov gov" "aside aside";gap:22px}
}
@media(max-width:860px){
  .mnav-btn{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;margin-left:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .mnav-btn span{display:block;height:2px;width:25px;background:var(--card);border-radius:2px;transition:.25s}
  .menu{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;background:rgba(8,11,22,.98);backdrop-filter:blur(10px);padding:8px 22px 14px;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 14px 30px rgba(0,0,0,.35)}
  .menu a{padding:13px 2px;border-bottom:1px solid rgba(255,255,255,.07);font-size:16px;white-space:normal}
  .mnav-cb:checked ~ .menu{display:flex}
  .mnav-cb:checked ~ .mnav-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mnav-cb:checked ~ .mnav-btn span:nth-child(2){opacity:0}
  .mnav-cb:checked ~ .mnav-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .tools{display:none}
  .bandrow{flex-wrap:wrap}.eband{flex-basis:30%}
  .bio{grid-template-columns:1fr}.bio-side{position:static;order:-1}.fgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .detail{grid-template-columns:1fr;grid-template-areas:"photo" "info" "gov" "aside";padding:18px}
  .dphoto{max-width:220px;margin:0 auto}
}

html.dark{--bg:#100b1e;--ink:#ece8f7;--ink2:#a89fc6;--line:#2b2446;--card:#191230}
html.dark body{background:var(--bg);color:var(--ink)}
