/* Seletor das três propostas */
.president-chooser-page {
  --pc-ink: #071d4f;
  --pc-blue: #075fcf;
  --pc-cyan: #19a9d7;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  color: var(--pc-ink);
  background:
    radial-gradient(circle at 8% 9%, rgba(25, 169, 215, .13), transparent 24rem),
    radial-gradient(circle at 91% 11%, rgba(7, 95, 207, .11), transparent 27rem),
    #f3f6fb;
}

.president-chooser-header {
  position: relative;
  z-index: 2;
  border-bottom: 1px solid rgba(46, 83, 140, .17);
  background: rgba(255, 255, 255, .72);
  backdrop-filter: blur(18px);
}

.president-chooser-header-inner,
.president-chooser-main {
  width: min(calc(100% - 48px), 1420px);
  margin-inline: auto;
}

.president-chooser-header-inner {
  min-height: 94px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.president-chooser-brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: var(--pc-ink);
  text-decoration: none;
}

.president-chooser-mark {
  width: 55px;
  height: 55px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #b9d1f4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 9px 24px rgba(10, 49, 108, .1);
}

.president-chooser-mark img { width: 40px; height: 40px; }
.president-chooser-brand > span:last-child { display: grid; line-height: 1.04; }
.president-chooser-brand strong { font-size: .88rem; letter-spacing: .025em; }
.president-chooser-brand small { color: var(--pc-blue); font-size: .75rem; font-weight: 900; }
.president-chooser-brand em { margin-top: 6px; color: #5f6e86; font-size: .75rem; font-style: normal; font-weight: 750; }

.president-chooser-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  border-bottom: 1px solid currentColor;
  color: var(--pc-ink);
  font-size: .82rem;
  font-weight: 850;
  text-decoration: none;
}

.president-chooser-back span { font-size: 1.2rem; transition: transform .2s ease; }
.president-chooser-back:hover span { transform: translateX(-4px); }

.president-chooser-main { flex: 1; padding: clamp(36px, 5vw, 76px) 0 70px; }
.president-chooser-intro { max-width: 930px; margin-bottom: clamp(30px, 4vw, 52px); }
.president-chooser-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--pc-blue);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.president-chooser-kicker::before { content: ""; width: 29px; height: 3px; border-radius: 99px; background: var(--pc-cyan); }
.president-chooser-intro h1 { margin: 12px 0 14px; max-width: 900px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 6vw, 5.9rem); line-height: .96; }
.president-chooser-intro p { max-width: 780px; margin: 0; color: #4c607f; font-size: clamp(1rem, 1.5vw, 1.18rem); }

.president-version-deck { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.president-version-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(330px, 1fr) auto;
  gap: 15px;
  padding: 15px;
  border: 1px solid rgba(38, 83, 148, .24);
  border-radius: 25px;
  color: var(--pc-ink);
  background: rgba(255, 255, 255, .77);
  box-shadow: 0 18px 50px rgba(13, 48, 101, .08);
  text-decoration: none;
  transition: transform .24s ease, box-shadow .24s ease, background .24s ease;
}

.president-version-card:hover { transform: translateY(-8px); background: #fff; box-shadow: 0 28px 65px rgba(13, 48, 101, .16); }
.president-version-card:focus-visible { outline-color: var(--pc-cyan); }
.president-version-topline { display: flex; justify-content: space-between; gap: 16px; padding: 3px 4px 0; color: #61718b; font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.president-version-topline strong { color: var(--pc-ink); }
.president-version-preview { position: relative; min-height: 330px; display: block; overflow: hidden; border-radius: 17px; }
.president-version-copy { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 5px 4px 7px; }
.president-version-copy > span { display: grid; gap: 3px; }
.president-version-copy strong { font-size: 1.2rem; }
.president-version-copy small { color: #607089; font-size: .82rem; line-height: 1.45; }
.president-version-copy > i {
  width: 40px;
  height: 40px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #b8cae3;
  border-radius: 50%;
  font-size: 1.15rem;
  font-style: normal;
  transition: transform .2s ease, color .2s ease, background .2s ease;
}

.president-version-card:hover .president-version-copy > i { color: #fff; background: var(--pc-ink); transform: rotate(45deg); }

.president-preview-axis {
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 9px;
  padding: 42px 20px 54px;
  border: 1px solid #aac9f1;
  background: linear-gradient(145deg, #f8fbff, #ddecff);
}

.preview-axis-line { position: absolute; left: 7%; right: 7%; bottom: 50px; height: 3px; background: #0d74de; }
.preview-axis-line::before,
.preview-axis-line::after { content: ""; position: absolute; top: 50%; width: 12px; height: 12px; border: 4px solid #fff; border-radius: 50%; background: #0d74de; box-shadow: 0 0 0 2px #0d74de; transform: translateY(-50%); }
.preview-axis-line::before { left: 0; }
.preview-axis-line::after { right: 0; }
.president-preview-axis > span {
  position: relative;
  z-index: 2;
  width: 28%;
  height: 210px;
  display: grid;
  place-items: center;
  padding: 8px;
  border: 1px solid #bdd2ed;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 12px 25px rgba(2, 50, 112, .16);
}

.president-preview-axis img { width: 100%; height: 100%; object-fit: contain; }
.president-preview-axis > span:nth-of-type(2) { transform: translateY(13px); }
.president-preview-axis > b { position: absolute; z-index: 3; bottom: 22px; color: #075ab8; font-size: .75rem; }
.president-preview-axis > b:nth-of-type(1) { left: 11%; }
.president-preview-axis > b:nth-of-type(2) { left: 46%; }
.president-preview-axis > b:nth-of-type(3) { right: 10%; }

.president-preview-gallery {
  border: 1px solid #40362e;
  background:
    radial-gradient(circle at 50% -5%, rgba(255, 234, 172, .3), transparent 44%),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    #211a15;
  background-size: auto, 48px 100%;
}

.preview-gallery-line { position: absolute; top: 32px; bottom: 28px; left: 50%; width: 1px; background: rgba(221, 183, 112, .6); }
.preview-gallery-line::before,
.preview-gallery-line::after { content: ""; position: absolute; left: 50%; width: 9px; height: 9px; border: 2px solid #e5c88d; border-radius: 50%; background: #211a15; transform: translateX(-50%); }
.preview-gallery-line::before { top: 0; }
.preview-gallery-line::after { bottom: 0; }
.preview-gallery-frame { position: absolute; z-index: 2; display: grid; place-items: center; padding: 6px; border: 5px solid #9a7440; background: #ead8ad; box-shadow: 0 15px 26px rgba(0,0,0,.45), inset 0 0 0 2px #2b1b0c; }
.preview-gallery-frame img { width: 100%; height: 100%; object-fit: contain; }
.preview-gallery-frame-one { top: 28px; left: 9%; width: 26%; height: 170px; transform: rotate(-2deg); }
.preview-gallery-frame-two { top: 86px; right: 8%; width: 25%; height: 165px; transform: rotate(2deg); }
.preview-gallery-frame-three { bottom: 20px; left: 23%; width: 23%; height: 145px; transform: rotate(1deg); }
.president-preview-gallery > b { position: absolute; z-index: 3; right: 8%; bottom: 28px; color: #ead6a4; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.1rem, 1.8vw, 1.75rem); font-weight: 400; line-height: 1; text-align: right; }

.president-preview-panorama {
  display: flex;
  align-items: center;
  gap: 17px;
  padding: 45px 25px 65px;
  border: 1px solid #233e69;
  background:
    linear-gradient(rgba(60, 109, 174, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60, 109, 174, .12) 1px, transparent 1px),
    #07162f;
  background-size: 30px 30px;
}

.president-preview-panorama > span { position: relative; z-index: 2; width: 31%; height: 205px; display: grid; place-items: center; padding: 7px; border: 1px solid rgba(131, 180, 242, .5); border-radius: 70px 70px 10px 10px; background: #f4e9d5; box-shadow: 0 14px 30px rgba(0,0,0,.34); }
.president-preview-panorama > span:nth-of-type(2) { transform: translateY(21px); }
.president-preview-panorama > span:nth-of-type(3) { transform: translateY(-10px); }
.president-preview-panorama img { width: 100%; height: 100%; border-radius: 58px 58px 5px 5px; object-fit: contain; }
.president-preview-panorama > i { position: absolute; z-index: 1; right: 5%; bottom: 48px; left: 5%; height: 3px; background: linear-gradient(90deg, #42d3d8, #237cec, #bf74ff); }
.president-preview-panorama > b,
.president-preview-panorama > strong { position: absolute; z-index: 3; bottom: 19px; color: #dceaff; font-size: .78rem; }
.president-preview-panorama > b:first-of-type { left: 7%; }
.president-preview-panorama > strong { left: 49%; color: #66d9df; }
.president-preview-panorama > b:last-of-type { right: 7%; }

/* Estrutura comum das três linhas do tempo */
.presidents-page { min-height: 100vh; background: #f7f9fc; }
.presidents-page .site-footer { margin-top: 0; }
.presidents-site-header .header-inner { max-width: 1400px; }
.presidents-main-nav a { padding-inline: 15px; }
.presidents-main-nav a:last-child { border: 1px solid #c8dbf5; }
.presidents-hero { position: relative; overflow: hidden; padding: clamp(48px, 6vw, 82px) 0 clamp(54px, 7vw, 94px); background: #fff; }
.presidents-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; }
.presidents-hero-inner { position: relative; z-index: 1; }
.presidents-hero-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(235px, .5fr); gap: clamp(32px, 6vw, 90px); align-items: end; }
.presidents-hero h1 { max-width: 1050px; margin-top: 13px; margin-bottom: 20px; }
.presidents-hero .lead { max-width: 810px; margin-bottom: 0; }
.presidents-version-note { display: grid; gap: 7px; padding: 22px; border: 1px solid #c8d9ef; border-radius: 19px; background: rgba(255,255,255,.75); box-shadow: 0 18px 45px rgba(11, 49, 101, .08); }
.presidents-version-note > span { color: var(--blue-700); font-size: .78rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.presidents-version-note > strong { color: var(--blue-950); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.55rem, 3vw, 2.45rem); font-weight: 600; line-height: 1.05; }
.presidents-version-note p { margin: 0; color: #53647e; font-size: .86rem; }
.presidents-timeline-section { padding: clamp(48px, 6vw, 82px) 0 86px; }
.presidents-timeline-inner { width: min(calc(100% - 40px), 1400px); }
.presidents-timeline-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 24px; }
.presidents-timeline-head h2 { margin: 5px 0 0; }
.presidents-section-label { color: var(--blue-700); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.presidents-source-link { flex: 0 0 auto; color: var(--blue-700); font-size: .86rem; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.presidents-jump { position: sticky; z-index: 10; top: 88px; display: flex; gap: 8px; overflow-x: auto; margin-bottom: 31px; padding: 10px; border: 1px solid #d1e0f3; border-radius: 16px; background: rgba(255,255,255,.91); box-shadow: 0 12px 32px rgba(15, 52, 101, .08); backdrop-filter: blur(12px); scrollbar-width: thin; }
.presidents-jump a { min-width: 54px; min-height: 42px; display: grid; place-items: center; padding: 8px 12px; border: 1px solid transparent; border-radius: 10px; color: #344d70; font-size: .84rem; font-weight: 900; text-decoration: none; }
.presidents-jump a:hover,
.presidents-jump a:focus-visible { border-color: #aac9f0; color: var(--blue-700); background: #eef6ff; }
.presidents-timeline { scroll-margin-top: 160px; }
.presidents-noscript { padding: 18px; border: 1px solid #e1b36f; border-radius: 12px; background: #fff7e8; }
.president-card { min-width: 0; color: inherit; text-decoration: none; }
.president-portrait img { width: 100%; height: 100%; display: block; object-fit: contain; }
.president-card-link { display: inline-flex; align-items: center; gap: 7px; font-size: .78rem; font-weight: 850; }
.president-card-link i { font-style: normal; }

/* Versão 1 — eixo institucional em faixas */
.presidents-v1 .presidents-hero::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0 52%, rgba(255,255,255,.77) 75%, rgba(255,255,255,.9)),
    url("camara-municipal-parauapebas-hero.png") right 35% / 58% auto no-repeat;
  opacity: .96;
}

.presidents-v1 .presidents-timeline { display: grid; gap: 18px; }
.presidents-v1 .president-era {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid #cfdef2;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(10, 49, 106, .07);
  scroll-margin-top: 165px;
}

.presidents-v1 .president-era-head {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
  padding: 25px;
  color: #fff;
  background: linear-gradient(145deg, color-mix(in srgb, var(--era-color) 78%, #071d4f), var(--era-color));
}

.presidents-v1 .president-era-number { font-family: Georgia, "Times New Roman", serif; font-size: 3.25rem; line-height: .85; }
.presidents-v1 .president-era-title { display: grid; gap: 3px; }
.presidents-v1 .president-era-title strong { font-size: .93rem; }
.presidents-v1 .president-era-title small { color: rgba(255,255,255,.8); font-size: .78rem; }
.presidents-v1 .president-era-count { padding: 5px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; font-size: .75rem; font-weight: 750; }
.presidents-v1 .president-list { position: relative; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 216px)); gap: 20px; align-items: start; padding: 47px 23px 24px; }
.presidents-v1 .president-list::before { content: ""; position: absolute; top: 28px; right: 23px; left: 23px; height: 2px; background: linear-gradient(90deg, var(--era-color), color-mix(in srgb, var(--era-color) 25%, white)); }
.presidents-v1 .president-card { position: relative; display: grid; grid-template-rows: 255px 1fr; overflow: hidden; border: 1px solid #d8e2ef; border-radius: 15px; background: #fff; box-shadow: 0 10px 28px rgba(14, 46, 91, .09); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.presidents-v1 .president-card:hover { transform: translateY(-6px); border-color: var(--era-color); box-shadow: 0 18px 36px rgba(14, 46, 91, .16); }
.presidents-v1 .president-node { position: absolute; z-index: 3; top: -25px; left: 50%; width: 14px; height: 14px; border: 4px solid #fff; border-radius: 50%; background: var(--era-color); box-shadow: 0 0 0 2px var(--era-color); transform: translateX(-50%); }
.presidents-v1 .president-portrait { display: grid; place-items: center; padding: 10px 10px 0; overflow: hidden; background: linear-gradient(#f9f6ef, #efe6d7); }
.presidents-v1 .president-card-copy { display: grid; align-content: start; gap: 8px; padding: 15px; border-top: 4px solid var(--era-color); }
.presidents-v1 .president-card-copy time { color: var(--era-color); font-size: 1.13rem; font-weight: 950; }
.presidents-v1 .president-card-copy strong { min-height: 3.25em; color: #0a2354; font-size: .92rem; line-height: 1.4; }
.presidents-v1 .president-card-link { margin-top: 4px; color: #4f6380; }
.presidents-v1 .president-card:hover .president-card-link { color: var(--era-color); }

/* Versão 2 — salão vertical */
.presidents-v2 {
  --blue-950: #fff4dc;
  --blue-900: #f2d29a;
  --blue-700: #e6bc72;
  --cyan-500: #f0cc8f;
  --ink: #f8eedb;
  --muted: #c9bda9;
  --line: #5a493a;
  color: #f8eedb;
  background: #17110e;
}

.presidents-v2 .prototype-bar { color: #f7e7c8; background: #3b2417; }
.presidents-v2 .presidents-site-header { border-color: rgba(233, 195, 127, .2); background: rgba(28, 19, 14, .94); box-shadow: 0 9px 30px rgba(0,0,0,.25); }
.presidents-v2 .brand { color: #fff4dc; }
.presidents-v2 .brand-copy span { color: #e6bc72; }
.presidents-v2 .main-nav a { color: #e8dac4; }
.presidents-v2 .main-nav a:hover { color: #21160e; background: #e5c384; }
.presidents-v2 .main-nav a:last-child { border-color: #6c5138; }
.presidents-v2 .icon-button { border-color: #5b4939; color: #f2d29a; background: #271b14; }
.presidents-v2 .icon-button:hover { background: #3a281d; }
.presidents-v2 .presidents-hero {
  background:
    radial-gradient(circle at 83% 16%, rgba(211, 164, 84, .17), transparent 30rem),
    linear-gradient(135deg, #2a1d15, #17110e 70%);
}
.presidents-v2 .presidents-hero::before { opacity: .1; background-image: repeating-linear-gradient(90deg, transparent 0 59px, #d4aa66 60px); }
.presidents-v2 .breadcrumb,
.presidents-v2 .breadcrumb a { color: #cdbb9f; }
.presidents-v2 .eyebrow { color: #e4bc79; }
.presidents-v2 .eyebrow::before { background: #b48a4d; }
.presidents-v2 .presidents-hero h1 { max-width: 900px; color: #fff4dc; font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.presidents-v2 .presidents-hero .lead { color: #d2c5b0; }
.presidents-v2 .presidents-version-note { border-color: #674e39; background: rgba(35, 24, 17, .83); box-shadow: 0 18px 45px rgba(0,0,0,.25); }
.presidents-v2 .presidents-version-note > span { color: #dfb66f; }
.presidents-v2 .presidents-version-note > strong { color: #fff1d3; }
.presidents-v2 .presidents-version-note p { color: #cdbda4; }
.presidents-v2 .presidents-timeline-section {
  background:
    linear-gradient(90deg, rgba(238, 198, 129, .035) 1px, transparent 1px),
    #17110e;
  background-size: 64px 100%;
}
.presidents-v2 .presidents-section-label,
.presidents-v2 .presidents-source-link { color: #dfb56d; }
.presidents-v2 .presidents-timeline-head h2 { color: #fff1d3; font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.presidents-v2 .presidents-jump { top: 88px; border-color: #594533; background: rgba(35, 24, 17, .93); box-shadow: 0 12px 34px rgba(0,0,0,.3); }
.presidents-v2 .presidents-jump a { color: #d7c6aa; }
.presidents-v2 .presidents-jump a:hover,
.presidents-v2 .presidents-jump a:focus-visible { border-color: #a77c43; color: #fff4dc; background: #3a291d; }
.presidents-v2 .presidents-timeline { display: grid; gap: 0; }
.presidents-v2 .president-era { position: relative; padding: 76px 0 105px; scroll-margin-top: 165px; }
.presidents-v2 .president-era + .president-era { border-top: 1px solid rgba(205, 171, 111, .2); }
.presidents-v2 .president-era-head { position: relative; z-index: 3; width: max-content; max-width: 90%; display: flex; align-items: center; gap: 14px; margin: 0 auto 55px; padding: 12px 19px; border: 1px solid color-mix(in srgb, var(--era-color) 60%, #d5ae68); border-radius: 999px; color: #fff0d0; background: #241811; box-shadow: 0 0 0 9px #17110e; }
.presidents-v2 .president-era-number { min-width: 43px; color: #f2d49a; font-family: Georgia, "Times New Roman", serif; font-size: 1.75rem; line-height: 1; }
.presidents-v2 .president-era-title { display: grid; padding-left: 12px; border-left: 1px solid #684d35; }
.presidents-v2 .president-era-title strong { font-size: .92rem; }
.presidents-v2 .president-era-title small { color: #bfae95; font-size: .78rem; }
.presidents-v2 .president-era-count { color: #bda98b; font-size: .75rem; }
.presidents-v2 .president-list { position: relative; max-width: 1080px; display: grid; grid-template-columns: minmax(0, 1fr) 104px minmax(0, 1fr); gap: 62px 0; margin-inline: auto; }
.presidents-v2 .president-list::before { content: ""; position: absolute; top: -58px; bottom: -105px; left: 50%; width: 1px; background: linear-gradient(#d3aa65, rgba(211,170,101,.22)); }
.presidents-v2 .president-card { position: relative; display: grid; grid-template-columns: minmax(122px, 42%) minmax(0, 1fr); align-items: center; gap: 20px; padding: 17px; border: 1px solid #5b4633; border-radius: 7px; background: linear-gradient(145deg, #2d2118, #211710); box-shadow: 0 19px 40px rgba(0,0,0,.32); transition: transform .23s ease, border-color .23s ease, box-shadow .23s ease; }
.presidents-v2 .president-card:nth-child(odd) { grid-column: 1; }
.presidents-v2 .president-card:nth-child(even) { grid-column: 3; }
.presidents-v2 .president-card:hover { transform: translateY(-5px); border-color: #b88648; box-shadow: 0 25px 48px rgba(0,0,0,.45); }
.presidents-v2 .president-card::after { content: ""; position: absolute; top: 50%; width: 52px; height: 1px; background: #84653f; }
.presidents-v2 .president-card:nth-child(odd)::after { right: -52px; }
.presidents-v2 .president-card:nth-child(even)::after { left: -52px; }
.presidents-v2 .president-node { position: absolute; z-index: 3; top: 50%; width: 13px; height: 13px; border: 3px solid #17110e; border-radius: 50%; background: #d7aa62; box-shadow: 0 0 0 1px #d7aa62; transform: translateY(-50%); }
.presidents-v2 .president-card:nth-child(odd) .president-node { right: -59px; }
.presidents-v2 .president-card:nth-child(even) .president-node { left: -59px; }
.presidents-v2 .president-portrait { height: 262px; display: grid; place-items: center; padding: 8px; border: 8px ridge #a27b42; background: #e6d2a9; box-shadow: 0 9px 20px rgba(0,0,0,.38); }
.presidents-v2 .president-card-copy { display: grid; align-content: center; gap: 10px; }
.presidents-v2 .president-card-copy time { color: #e4bd78; font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; }
.presidents-v2 .president-card-copy strong { color: #fff2d6; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; font-weight: 500; line-height: 1.4; }
.presidents-v2 .president-card-link { color: #bfae91; }
.presidents-v2 .president-card:hover .president-card-link { color: #f1d49f; }
.presidents-v2 .site-footer { color: #cdbd9f; background: #100c09; }
.presidents-v2 .footer-bottom { border-color: #3c2c21; }

/* Versão 3 — panorama horizontal */
.presidents-v3 {
  --blue-950: #eef6ff;
  --blue-900: #b6dbff;
  --blue-700: #62c9f4;
  --cyan-500: #66e7d9;
  --ink: #edf6ff;
  --muted: #b5c7df;
  --line: #28466d;
  color: #edf6ff;
  background: #061329;
}

.presidents-v3 .prototype-bar { color: #d9efff; background: linear-gradient(90deg, #061329, #0c3871); }
.presidents-v3 .presidents-site-header { border-color: rgba(108, 174, 239, .21); background: rgba(6, 19, 41, .93); box-shadow: 0 9px 30px rgba(0,0,0,.28); }
.presidents-v3 .brand { color: #fff; }
.presidents-v3 .brand-copy span { color: #66dbe1; }
.presidents-v3 .main-nav a { color: #d3e8ff; }
.presidents-v3 .main-nav a:hover { color: #061329; background: #71e0df; }
.presidents-v3 .main-nav a:last-child { border-color: #325781; }
.presidents-v3 .icon-button { border-color: #2b507b; color: #d8ecff; background: #0c2446; }
.presidents-v3 .icon-button:hover { background: #14365f; }
.presidents-v3 .presidents-hero {
  background:
    radial-gradient(circle at 78% 25%, rgba(59, 145, 255, .23), transparent 27rem),
    radial-gradient(circle at 13% 90%, rgba(102, 231, 217, .12), transparent 25rem),
    #061329;
}
.presidents-v3 .presidents-hero::before { opacity: .12; background-image: linear-gradient(#8ec8ff 1px, transparent 1px), linear-gradient(90deg, #8ec8ff 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(to right, transparent, #000 30%, #000); }
.presidents-v3 .breadcrumb,
.presidents-v3 .breadcrumb a { color: #aac2df; }
.presidents-v3 .eyebrow { color: #69e0db; }
.presidents-v3 .eyebrow::before { background: #69e0db; }
.presidents-v3 .presidents-hero h1 { color: #f2f8ff; font-size: clamp(3rem, 7vw, 6.4rem); }
.presidents-v3 .presidents-hero .lead { color: #b8cae0; }
.presidents-v3 .presidents-version-note { border-color: #2c537f; background: rgba(10, 35, 69, .76); box-shadow: 0 19px 45px rgba(0,0,0,.25); }
.presidents-v3 .presidents-version-note > span { color: #65e2dc; }
.presidents-v3 .presidents-version-note > strong { color: #fff; }
.presidents-v3 .presidents-version-note p { color: #b9d1ec; }
.presidents-v3 .presidents-timeline-section {
  min-height: 720px;
  background:
    linear-gradient(rgba(71, 128, 196, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(71, 128, 196, .08) 1px, transparent 1px),
    #07162f;
  background-size: 36px 36px;
}
.presidents-v3 .presidents-section-label,
.presidents-v3 .presidents-source-link { color: #67dfdc; }
.presidents-v3 .presidents-timeline-head h2 { color: #f1f7ff; }
.presidents-panorama-actions { display: flex; align-items: center; gap: 9px; }
.presidents-panorama-actions button { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #315885; border-radius: 50%; color: #eef8ff; background: #0c2a51; cursor: pointer; }
.presidents-panorama-actions button:hover { color: #061329; background: #66e1dc; }
.presidents-panorama-actions button:disabled { opacity: .35; cursor: default; }
.presidents-v3 .presidents-jump { top: 88px; border-color: #294a72; background: rgba(8, 27, 55, .93); box-shadow: 0 12px 34px rgba(0,0,0,.28); }
.presidents-v3 .presidents-jump a { color: #bcd3ee; }
.presidents-v3 .presidents-jump a:hover,
.presidents-v3 .presidents-jump a:focus-visible { border-color: #4b82bc; color: #fff; background: #12365f; }
.presidents-v3 .presidents-timeline {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  min-height: 555px;
  border: 1px solid #2b4c73;
  border-radius: 22px;
  background: rgba(5, 18, 39, .75);
  box-shadow: 0 25px 60px rgba(0,0,0,.25);
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scrollbar-color: #4b83c3 #0a2347;
}
.presidents-v3 .president-era { min-width: max-content; display: grid; grid-template-columns: 132px auto; border-right: 1px solid #27476e; scroll-margin-inline-start: 0; scroll-snap-align: start; }
.presidents-v3 .president-era:last-child { border-right: 0; }
.presidents-v3 .president-era-head { position: relative; z-index: 2; min-height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 17px; padding: 22px 15px; color: #fff; background: linear-gradient(180deg, color-mix(in srgb, var(--era-color) 72%, #061329), color-mix(in srgb, var(--era-color) 38%, #061329)); }
.presidents-v3 .president-era-head::after { content: ""; position: absolute; right: -7px; top: 117px; width: 14px; height: 14px; border: 4px solid #07162f; border-radius: 50%; background: #73e3dd; box-shadow: 0 0 0 1px #73e3dd; }
.presidents-v3 .president-era-number { font-family: Georgia, "Times New Roman", serif; font-size: 2.7rem; line-height: 1; }
.presidents-v3 .president-era-title { display: grid; gap: 5px; text-align: center; }
.presidents-v3 .president-era-title strong { font-size: .86rem; }
.presidents-v3 .president-era-title small { color: rgba(255,255,255,.76); font-size: .75rem; }
.presidents-v3 .president-era-count { padding: 5px 9px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; font-size: .75rem; text-align: center; }
.presidents-v3 .president-list { position: relative; min-height: 555px; display: flex; gap: 16px; align-items: flex-start; padding: 48px 27px 32px; }
.presidents-v3 .president-list::before { content: ""; position: absolute; top: 123px; right: 0; left: 0; height: 2px; background: linear-gradient(90deg, #64e2db, var(--era-color)); }
.presidents-v3 .president-card { position: relative; z-index: 2; width: 205px; flex: 0 0 205px; display: grid; grid-template-rows: 278px auto; overflow: hidden; border: 1px solid #31567f; border-radius: 88px 88px 16px 16px; color: #eaf5ff; background: #0a2447; box-shadow: 0 17px 34px rgba(0,0,0,.28); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.presidents-v3 .president-card:nth-child(even) { margin-top: 86px; }
.presidents-v3 .president-card:hover { transform: translateY(-7px); border-color: #6ce3de; box-shadow: 0 25px 45px rgba(0,0,0,.4); }
.presidents-v3 .president-node { position: absolute; z-index: 5; top: 68px; left: 50%; width: 13px; height: 13px; border: 3px solid #07162f; border-radius: 50%; background: #69e3dc; box-shadow: 0 0 0 1px #69e3dc; transform: translateX(-50%); }
.presidents-v3 .president-card:nth-child(even) .president-node { top: -18px; }
.presidents-v3 .president-portrait { display: grid; place-items: center; padding: 14px 14px 0; overflow: hidden; border-bottom: 1px solid #31567f; border-radius: 86px 86px 0 0; background: linear-gradient(180deg, #f4ead7, #d7c5a8); }
.presidents-v3 .president-card-copy { display: grid; align-content: start; gap: 8px; padding: 16px; }
.presidents-v3 .president-card-copy time { color: #70e2dc; font-size: 1.12rem; font-weight: 950; }
.presidents-v3 .president-card-copy strong { min-height: 3.3em; color: #f3f8ff; font-size: .89rem; line-height: 1.4; }
.presidents-v3 .president-card-link { color: #a8bfdc; }
.presidents-v3 .president-card:hover .president-card-link { color: #74e8e0; }
.presidents-v3 .site-footer { color: #b5c8df; background: #041023; }
.presidents-v3 .footer-bottom { border-color: #203d64; }

@media (max-width: 1080px) {
  .president-version-deck { grid-template-columns: 1fr; }
  .president-version-card { grid-template-columns: 155px minmax(300px, 1fr) minmax(220px, 300px); grid-template-rows: minmax(260px, auto); align-items: stretch; }
  .president-version-topline { display: grid; align-content: space-between; }
  .president-version-preview { min-height: 260px; }
  .president-version-copy { align-self: center; }
  .presidents-v1 .president-era { grid-template-columns: 160px minmax(0, 1fr); }
  .presidents-v1 .president-list { grid-template-columns: repeat(auto-fill, minmax(170px, 205px)); }
  .presidents-v2 .president-list { grid-template-columns: minmax(0, 1fr) 84px minmax(0, 1fr); }
  .presidents-v2 .president-card { grid-template-columns: 1fr; }
  .presidents-v2 .president-portrait { height: 290px; }
  .presidents-v2 .president-card::after { width: 42px; }
  .presidents-v2 .president-card:nth-child(odd)::after { right: -42px; }
  .presidents-v2 .president-card:nth-child(even)::after { left: -42px; }
  .presidents-v2 .president-card:nth-child(odd) .president-node { right: -49px; }
  .presidents-v2 .president-card:nth-child(even) .president-node { left: -49px; }
}

@media (max-width: 760px) {
  .president-chooser-header-inner,
  .president-chooser-main { width: min(calc(100% - 28px), 1420px); }
  .president-chooser-header-inner { min-height: 82px; }
  .president-chooser-mark { width: 48px; height: 48px; border-radius: 15px; }
  .president-chooser-mark img { width: 35px; height: 35px; }
  .president-chooser-brand strong { font-size: .74rem; }
  .president-chooser-brand small,
  .president-chooser-brand em { font-size: .68rem; }
  .president-chooser-back { width: 42px; height: 42px; justify-content: center; padding: 0; border: 1px solid #aabed9; border-radius: 50%; font-size: 0; }
  .president-chooser-back span { font-size: 1.25rem; }
  .president-chooser-main { padding-top: 38px; }
  .president-version-card { grid-template-columns: 1fr; grid-template-rows: auto minmax(310px, 1fr) auto; }
  .president-version-topline { display: flex; }
  .president-version-preview { min-height: 310px; }
  .presidents-site-header .header-inner { grid-template-columns: auto 1fr; gap: 12px; }
  .presidents-site-header .presidents-main-nav { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; justify-content: center; padding-bottom: 10px; }
  .presidents-site-header .header-actions { grid-column: 2; grid-row: 1; justify-self: end; }
  .presidents-site-header .presidents-main-nav a { flex: 1; text-align: center; }
  .presidents-hero { padding-top: 38px; }
  .presidents-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .presidents-version-note { max-width: 430px; }
  .presidents-timeline-head { align-items: flex-start; flex-direction: column; }
  .presidents-jump { top: 130px; }
  .presidents-v1 .president-era { grid-template-columns: 1fr; }
  .presidents-v1 .president-era-head { min-height: auto; flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; }
  .presidents-v1 .president-era-number { font-size: 2.5rem; }
  .presidents-v1 .president-era-count { margin-left: auto; }
  .presidents-v1 .president-list { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-inline: 16px; }
  .presidents-v1 .president-card { grid-template-rows: 250px 1fr; }
  .presidents-v2 .president-era { padding-block: 60px 76px; }
  .presidents-v2 .president-list { grid-template-columns: 28px minmax(0, 1fr); gap: 38px 0; }
  .presidents-v2 .president-list::before { left: 13px; }
  .presidents-v2 .president-card,
  .presidents-v2 .president-card:nth-child(odd),
  .presidents-v2 .president-card:nth-child(even) { grid-column: 2; grid-template-columns: minmax(115px, 40%) minmax(0, 1fr); }
  .presidents-v2 .president-card::after,
  .presidents-v2 .president-card:nth-child(odd)::after,
  .presidents-v2 .president-card:nth-child(even)::after { right: auto; left: -15px; width: 15px; }
  .presidents-v2 .president-card .president-node,
  .presidents-v2 .president-card:nth-child(odd) .president-node,
  .presidents-v2 .president-card:nth-child(even) .president-node { right: auto; left: -22px; }
  .presidents-v2 .president-portrait { height: 250px; }
  .presidents-panorama-actions { flex-wrap: wrap; }
  .presidents-v3 .presidents-source-link { width: 100%; margin-bottom: 3px; }
  .presidents-v3 .president-card { width: 190px; flex-basis: 190px; }
}

@media (max-width: 520px) {
  .president-preview-axis > span { height: 190px; }
  .president-preview-gallery > b { font-size: 1rem; }
  .presidents-site-header .brand img { width: 41px; height: 41px; }
  .presidents-site-header .brand-copy strong { font-size: .76rem; }
  .presidents-site-header .brand-copy span { font-size: .67rem; }
  .presidents-site-header .icon-button { width: 35px; height: 35px; }
  .presidents-site-header .font-control[data-font-size="decrease"] { display: none; }
  .presidents-v1 .president-list { grid-template-columns: 1fr; }
  .presidents-v1 .president-card { grid-template-columns: minmax(125px, 41%) minmax(0, 1fr); grid-template-rows: minmax(235px, auto); }
  .presidents-v1 .president-node { left: 18px; transform: none; }
  .presidents-v1 .president-card-copy { border-top: 0; border-left: 4px solid var(--era-color); }
  .presidents-v2 .president-card,
  .presidents-v2 .president-card:nth-child(odd),
  .presidents-v2 .president-card:nth-child(even) { grid-template-columns: 1fr; }
  .presidents-v2 .president-portrait { height: 330px; }
  .presidents-v3 .president-era { grid-template-columns: 105px auto; }
  .presidents-v3 .president-list { padding-inline: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .president-version-card,
  .president-version-copy > i,
  .president-chooser-back span,
  .president-card { transition: none !important; }
  .presidents-v3 .presidents-timeline { scroll-behavior: auto; }
}

/* Pré-visualizações atualizadas das propostas 02 e 03 */
.president-preview-vertical {
  border: 1px solid #d3c5ad;
  background:
    linear-gradient(rgba(109, 84, 51, .055) 1px, transparent 1px),
    #f8f4ec;
  background-size: 100% 34px;
}

.preview-vertical-line {
  position: absolute;
  top: 25px;
  bottom: 25px;
  left: 43%;
  width: 3px;
  border-radius: 99px;
  background: linear-gradient(#0b4e91, #b77a2b);
}

.preview-vertical-item {
  position: absolute;
  right: 12%;
  left: 10%;
  height: 82px;
}

.preview-vertical-item-one { top: 20px; }
.preview-vertical-item-two { top: 124px; }
.preview-vertical-item-three { top: 228px; }
.preview-vertical-item > b {
  position: absolute;
  top: 50%;
  right: 62%;
  color: #17365f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .86rem;
  transform: translateY(-50%);
}

.preview-vertical-item > i {
  position: absolute;
  top: 0;
  left: 53%;
  width: 70px;
  height: 82px;
  display: grid;
  place-items: center;
  padding: 5px;
  border: 1px solid #b9c9dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(20, 51, 87, .13);
}

.preview-vertical-item > i::before {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(100% + 33px);
  width: 13px;
  height: 13px;
  border: 3px solid #f8f4ec;
  border-radius: 50%;
  background: #0b66c2;
  box-shadow: 0 0 0 2px #0b66c2;
  transform: translateY(-50%);
}

.preview-vertical-item img,
.preview-picker-cards img { width: 100%; height: 100%; object-fit: contain; }

.president-preview-picker {
  padding: 35px 26px 26px;
  border: 1px solid #b8d1f3;
  background: linear-gradient(145deg, #f8fbff, #eaf3ff);
}

.preview-picker-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 4px 0 29px;
}

.preview-picker-steps::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12%;
  left: 12%;
  height: 3px;
  background: #8abcf2;
  transform: translateY(-50%);
}

.preview-picker-steps i {
  position: relative;
  z-index: 1;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  justify-self: center;
  border: 5px solid #eef6ff;
  border-radius: 50%;
  color: #175490;
  background: #b9daf8;
  box-shadow: 0 0 0 2px #8abcf2;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
}

.preview-picker-steps i:last-child {
  color: #fff;
  background: #0868d4;
  box-shadow: 0 0 0 4px #fff, 0 0 0 6px #0868d4;
}

.preview-picker-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.preview-picker-cards > i {
  height: 190px;
  display: grid;
  place-items: center;
  padding: 8px 8px 0;
  overflow: hidden;
  border: 1px solid #c7d8ed;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 9px 21px rgba(13, 61, 119, .11);
}

/* Proposta 02 — cronologia vertical direta */
.presidents-v2 {
  --blue-950: #142f52;
  --blue-900: #23486f;
  --blue-700: #8b5f25;
  --cyan-500: #b98032;
  --ink: #182b43;
  --muted: #66758a;
  --line: #d8d0c3;
  color: #182b43;
  background: #f4f0e8;
}

.presidents-v2 .prototype-bar { color: #fffaf0; background: #193653; }
.presidents-v2 .presidents-site-header { border-color: #d7e0ea; background: rgba(255, 255, 255, .96); box-shadow: 0 8px 28px rgba(27, 54, 84, .09); }
.presidents-v2 .brand { color: #102b50; }
.presidents-v2 .brand-copy span { color: #9a6524; }
.presidents-v2 .main-nav a { color: #28476a; }
.presidents-v2 .main-nav a:hover { color: #fff; background: #173e67; }
.presidents-v2 .main-nav a:last-child { border-color: #c5d4e3; }
.presidents-v2 .icon-button { border-color: #c7d5e4; color: #173e67; background: #fff; }
.presidents-v2 .icon-button:hover { color: #fff; background: #173e67; }
.presidents-v2 .presidents-hero {
  background:
    linear-gradient(90deg, rgba(250, 247, 240, .99), rgba(250, 247, 240, .92) 60%, rgba(250, 247, 240, .75)),
    url("camara-municipal-parauapebas-hero.png") right 44% / 48% auto no-repeat,
    #faf7f0;
}

.presidents-v2 .presidents-hero::before {
  opacity: .3;
  background-image: linear-gradient(rgba(109, 84, 51, .11) 1px, transparent 1px);
  background-size: 100% 42px;
  mask-image: linear-gradient(to right, #000, transparent 72%);
}

.presidents-v2 .breadcrumb,
.presidents-v2 .breadcrumb a { color: #66758a; }
.presidents-v2 .eyebrow { color: #8b5f25; }
.presidents-v2 .eyebrow::before { background: #b98032; }
.presidents-v2 .presidents-hero h1 { max-width: 900px; color: #142f52; font-family: Georgia, "Times New Roman", serif; font-weight: 600; }
.presidents-v2 .presidents-hero .lead { color: #53657a; }
.presidents-v2 .presidents-version-note { border-color: #d7c7ad; background: rgba(255, 253, 248, .92); box-shadow: 0 18px 45px rgba(39, 50, 60, .09); }
.presidents-v2 .presidents-version-note > span { color: #946328; }
.presidents-v2 .presidents-version-note > strong { color: #173553; }
.presidents-v2 .presidents-version-note p { color: #627286; }
.presidents-v2 .presidents-timeline-section { background: #f4f0e8; }
.presidents-v2 .presidents-section-label,
.presidents-v2 .presidents-source-link { color: #8b5f25; }
.presidents-v2 .presidents-timeline-head h2 { color: #142f52; font-family: Georgia, "Times New Roman", serif; font-weight: 600; }
.presidents-v2 .presidents-jump { top: 88px; border-color: #d9d1c5; background: rgba(255, 253, 248, .95); box-shadow: 0 12px 34px rgba(32, 51, 71, .09); }
.presidents-v2 .presidents-jump a { color: #4d6076; }
.presidents-v2 .presidents-jump a:hover,
.presidents-v2 .presidents-jump a:focus-visible { border-color: #b98a4b; color: #173553; background: #f5e9d6; }
.presidents-v2 .presidents-timeline { display: grid; gap: 18px; }
.presidents-v2 .president-era {
  position: relative;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  overflow: hidden;
  padding: 0;
  border: 1px solid #d8d0c3;
  border-radius: 18px;
  background: #fffdf9;
  box-shadow: 0 12px 35px rgba(35, 52, 70, .07);
  scroll-margin-top: 165px;
}

.presidents-v2 .president-era + .president-era { border-top: 1px solid #d8d0c3; }
.presidents-v2 .president-era-head {
  position: relative;
  z-index: 1;
  width: auto;
  max-width: none;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 26px;
  border: 0;
  border-radius: 0;
  color: #fff;
  background: linear-gradient(155deg, color-mix(in srgb, var(--era-color) 80%, #173553), #173553);
  box-shadow: none;
}

.presidents-v2 .president-era-number { min-width: 0; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 3rem; line-height: .9; }
.presidents-v2 .president-era-title { display: grid; gap: 4px; padding-left: 0; border-left: 0; }
.presidents-v2 .president-era-title strong { font-size: .94rem; }
.presidents-v2 .president-era-title small { color: rgba(255, 255, 255, .8); font-size: .79rem; }
.presidents-v2 .president-era-count { padding: 5px 10px; border: 1px solid rgba(255, 255, 255, .32); border-radius: 999px; color: #fff; font-size: .74rem; }
.presidents-v2 .president-list {
  position: relative;
  max-width: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 0;
  padding: 18px 24px 18px 60px;
}

.presidents-v2 .president-list::before { content: ""; position: absolute; top: 28px; bottom: 28px; left: 30px; width: 2px; background: #c6d5e5; }
.presidents-v2 .president-card,
.presidents-v2 .president-card:nth-child(odd),
.presidents-v2 .president-card:nth-child(even) {
  position: relative;
  grid-column: 1;
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  min-height: 225px;
  padding: 15px;
  border: 0;
  border-bottom: 1px solid #e1e5e9;
  border-radius: 0;
  color: #172f4c;
  background: transparent;
  box-shadow: none;
  transition: background .2s ease, transform .2s ease;
}

.presidents-v2 .president-card:last-child { border-bottom: 0; }
.presidents-v2 .president-card:hover { transform: translateX(5px); border-color: #e1e5e9; background: #f8f4ec; box-shadow: none; }
.presidents-v2 .president-card::after,
.presidents-v2 .president-card:nth-child(odd)::after,
.presidents-v2 .president-card:nth-child(even)::after { content: ""; position: absolute; top: 50%; right: auto; left: -30px; width: 30px; height: 2px; background: #c6d5e5; }
.presidents-v2 .president-node,
.presidents-v2 .president-card:nth-child(odd) .president-node,
.presidents-v2 .president-card:nth-child(even) .president-node { position: absolute; z-index: 2; top: 50%; right: auto; left: -38px; width: 14px; height: 14px; border: 4px solid #fffdf9; border-radius: 50%; background: var(--era-color); box-shadow: 0 0 0 2px var(--era-color); transform: translateY(-50%); }
.presidents-v2 .president-portrait { height: 205px; display: grid; place-items: center; padding: 8px 8px 0; border: 1px solid #d5c7b2; border-radius: 9px; background: linear-gradient(#faf6ed, #ede3d2); box-shadow: 0 7px 18px rgba(37, 47, 57, .12); }
.presidents-v2 .president-card-copy { display: grid; align-content: center; gap: 10px; }
.presidents-v2 .president-card-copy time { color: #946328; font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; font-weight: 700; }
.presidents-v2 .president-card-copy strong { color: #173553; font-family: inherit; font-size: 1rem; font-weight: 800; line-height: 1.4; }
.presidents-v2 .president-card-link { color: #63758a; }
.presidents-v2 .president-card:hover .president-card-link { color: #8b5f25; }
.presidents-v2 .site-footer { color: #dbe5f0; background: #112d4a; }
.presidents-v2 .footer-bottom { border-color: #34516d; }

/* Proposta 03 — seleção de uma legislatura por vez */
.presidents-v3 {
  --blue-950: #082a60;
  --blue-900: #0a448e;
  --blue-700: #0768d7;
  --cyan-500: #13a7d7;
  --ink: #10294c;
  --muted: #61728b;
  --line: #cbdcf1;
  color: #10294c;
  background: #f4f8ff;
}

.presidents-v3 .prototype-bar { color: #fff; background: linear-gradient(90deg, #082a60, #0768d7); }
.presidents-v3 .presidents-site-header { border-color: #d5e2f3; background: rgba(255, 255, 255, .96); box-shadow: 0 8px 28px rgba(9, 54, 112, .08); }
.presidents-v3 .brand { color: #082a60; }
.presidents-v3 .brand-copy span { color: #0768d7; }
.presidents-v3 .main-nav a { color: #234b78; }
.presidents-v3 .main-nav a:hover { color: #fff; background: #0768d7; }
.presidents-v3 .main-nav a:last-child { border-color: #c3d8f2; }
.presidents-v3 .icon-button { border-color: #c8d9ed; color: #0a519f; background: #fff; }
.presidents-v3 .icon-button:hover { color: #fff; background: #0768d7; }
.presidents-v3 .presidents-hero {
  background:
    radial-gradient(circle at 82% 20%, rgba(20, 147, 220, .18), transparent 27rem),
    linear-gradient(135deg, #f9fcff, #eaf3ff);
}

.presidents-v3 .presidents-hero::before { opacity: .32; background-image: linear-gradient(#9ec6ef 1px, transparent 1px), linear-gradient(90deg, #9ec6ef 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(to right, transparent, #000 45%); }
.presidents-v3 .breadcrumb,
.presidents-v3 .breadcrumb a { color: #60738d; }
.presidents-v3 .eyebrow { color: #0768d7; }
.presidents-v3 .eyebrow::before { background: #13a7d7; }
.presidents-v3 .presidents-hero h1 { max-width: 950px; color: #082a60; font-size: clamp(3rem, 6.2vw, 5.8rem); }
.presidents-v3 .presidents-hero .lead { color: #566b85; }
.presidents-v3 .presidents-version-note { border-color: #bcd7f5; background: rgba(255, 255, 255, .9); box-shadow: 0 19px 45px rgba(9, 63, 127, .11); }
.presidents-v3 .presidents-version-note > span { color: #0768d7; }
.presidents-v3 .presidents-version-note > strong { color: #082a60; }
.presidents-v3 .presidents-version-note p { color: #60738d; }
.presidents-v3 .presidents-timeline-section { min-height: 720px; background: #f4f8ff; }
.presidents-v3 .presidents-section-label,
.presidents-v3 .presidents-source-link { color: #0768d7; }
.presidents-v3 .presidents-timeline-head h2 { color: #082a60; }
.presidents-legislature-picker {
  position: relative;
  display: grid;
  grid-template-columns: repeat(10, minmax(88px, 1fr));
  overflow-x: auto;
  margin-bottom: 28px;
  padding: 18px 22px 15px;
  border: 1px solid #c5d9f0;
  border-radius: 19px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 34px rgba(9, 56, 116, .08);
  scrollbar-width: thin;
}

.presidents-picker-line { position: absolute; right: 6%; bottom: 37px; left: 6%; height: 3px; border-radius: 99px; background: linear-gradient(90deg, #8fc2f4, #0768d7); }
.presidents-legislature-picker button {
  position: relative;
  z-index: 1;
  min-width: 88px;
  min-height: 94px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 2px 5px 40px;
  border: 0;
  color: #60738d;
  background: transparent;
  cursor: pointer;
}

.presidents-legislature-picker button strong { color: #24486f; font-size: 1.03rem; }
.presidents-legislature-picker button span { font-size: .68rem; white-space: nowrap; }
.presidents-legislature-picker button::after {
  content: "";
  position: absolute;
  bottom: 14px;
  left: 50%;
  width: 14px;
  height: 14px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #75b5f2;
  box-shadow: 0 0 0 2px #75b5f2;
  transform: translateX(-50%);
  transition: width .18s ease, height .18s ease, background .18s ease, box-shadow .18s ease;
}

.presidents-legislature-picker button:hover strong,
.presidents-legislature-picker button:focus-visible strong { color: #0768d7; }
.presidents-legislature-picker button:focus-visible { outline: 2px solid #0768d7; outline-offset: -2px; border-radius: 10px; }
.presidents-legislature-picker button.is-active { color: #0768d7; }
.presidents-legislature-picker button.is-active strong { color: #0768d7; font-size: 1.18rem; }
.presidents-legislature-picker button.is-active::after { width: 20px; height: 20px; bottom: 11px; background: #0768d7; box-shadow: 0 0 0 4px #fff, 0 0 0 7px #0768d7; }
.presidents-v3 .presidents-timeline {
  display: block;
  overflow: visible;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  scroll-snap-type: none;
}

.presidents-v3 .president-era[hidden] { display: none !important; }
.presidents-v3 .president-era:not(.is-active) { display: none; }
.presidents-v3 .president-era,
.presidents-v3 .president-era.is-active {
  min-width: 0;
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid #bfd6ef;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(10, 59, 119, .09);
  animation: presidents-era-enter .25s ease-out;
}

@keyframes presidents-era-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.presidents-v3 .president-era-head {
  position: relative;
  z-index: 1;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 14px;
  padding: 27px;
  color: #fff;
  background: linear-gradient(155deg, color-mix(in srgb, var(--era-color) 76%, #082a60), #082a60);
}

.presidents-v3 .president-era-head::after { display: none; }
.presidents-v3 .president-era-number { font-family: Georgia, "Times New Roman", serif; font-size: 3.3rem; line-height: .88; }
.presidents-v3 .president-era-title { display: grid; gap: 4px; text-align: left; }
.presidents-v3 .president-era-title strong { font-size: .95rem; }
.presidents-v3 .president-era-title small { color: rgba(255, 255, 255, .8); font-size: .78rem; }
.presidents-v3 .president-era-count { padding: 5px 10px; border: 1px solid rgba(255, 255, 255, .34); border-radius: 999px; font-size: .74rem; }
.presidents-v3 .president-list {
  position: relative;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(185px, 224px));
  gap: 20px;
  align-items: start;
  padding: 28px;
}

.presidents-v3 .president-list::before { display: none; }
.presidents-v3 .president-card,
.presidents-v3 .president-card:nth-child(even) {
  position: relative;
  z-index: 1;
  width: auto;
  min-width: 0;
  height: 100%;
  display: grid;
  grid-template-rows: 280px auto;
  margin-top: 0;
  overflow: hidden;
  border: 1px solid #d2dfed;
  border-radius: 14px;
  color: #10294c;
  background: #fff;
  box-shadow: 0 10px 27px rgba(10, 53, 105, .09);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.presidents-v3 .president-card:hover { transform: translateY(-6px); border-color: #5d9edf; box-shadow: 0 18px 38px rgba(10, 53, 105, .16); }
.presidents-v3 .president-node { display: none; }
.presidents-v3 .president-portrait { display: grid; place-items: center; padding: 10px 10px 0; overflow: hidden; border-bottom: 0; border-radius: 0; background: linear-gradient(#fbf8f1, #eee5d7); }
.presidents-v3 .president-card-copy { display: grid; align-content: start; gap: 8px; padding: 16px; border-top: 4px solid var(--era-color); }
.presidents-v3 .president-card-copy time { color: var(--era-color); font-size: 1.16rem; font-weight: 950; }
.presidents-v3 .president-card-copy strong { min-height: 3.25em; color: #10294c; font-size: .91rem; line-height: 1.4; }
.presidents-v3 .president-card-link { color: #58708e; }
.presidents-v3 .president-card:hover .president-card-link { color: #0768d7; }
.presidents-v3 .site-footer { color: #dceaff; background: #082a60; }
.presidents-v3 .footer-bottom { border-color: #315584; }

@media (max-width: 1080px) {
  .presidents-v2 .president-list { grid-template-columns: 1fr; }
  .presidents-v2 .president-card,
  .presidents-v2 .president-card:nth-child(odd),
  .presidents-v2 .president-card:nth-child(even) { grid-template-columns: 160px minmax(0, 1fr); }
  .presidents-v2 .president-portrait { height: 200px; }
  .presidents-legislature-picker { grid-template-columns: repeat(10, minmax(100px, 1fr)); }
  .presidents-v3 .president-list { grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); }
}

@media (max-width: 760px) {
  .preview-vertical-item { right: 7%; left: 5%; }
  .preview-picker-cards > i { height: 178px; }
  .presidents-v2 .presidents-hero { background: #faf7f0; }
  .presidents-v2 .president-era { grid-template-columns: 1fr; }
  .presidents-v2 .president-era-head { min-height: auto; flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; }
  .presidents-v2 .president-era-count { margin-left: auto; }
  .presidents-v2 .president-list { padding: 12px 16px 12px 49px; }
  .presidents-v2 .president-list::before { left: 23px; }
  .presidents-v2 .president-card,
  .presidents-v2 .president-card:nth-child(odd),
  .presidents-v2 .president-card:nth-child(even) { grid-template-columns: 135px minmax(0, 1fr); gap: 17px; min-height: 190px; }
  .presidents-v2 .president-card::after,
  .presidents-v2 .president-card:nth-child(odd)::after,
  .presidents-v2 .president-card:nth-child(even)::after { left: -26px; width: 26px; }
  .presidents-v2 .president-node,
  .presidents-v2 .president-card:nth-child(odd) .president-node,
  .presidents-v2 .president-card:nth-child(even) .president-node { left: -34px; }
  .presidents-v2 .president-portrait { height: 178px; }
  .presidents-v2 .president-card-copy time { font-size: 1.4rem; }
  .presidents-legislature-picker { grid-template-columns: repeat(10, 105px); padding-inline: 12px; }
  .presidents-picker-line { right: 30px; left: 30px; }
  .presidents-v3 .president-era,
  .presidents-v3 .president-era.is-active { grid-template-columns: 1fr; }
  .presidents-v3 .president-era-head { min-height: auto; flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; }
  .presidents-v3 .president-era-count { margin-left: auto; }
  .presidents-v3 .president-list { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 18px; }
  .presidents-v3 .president-card,
  .presidents-v3 .president-card:nth-child(even) { grid-template-rows: 245px auto; }
}

@media (max-width: 520px) {
  .preview-picker-cards { gap: 7px; }
  .preview-picker-cards > i { height: 165px; }
  .presidents-v2 .president-card,
  .presidents-v2 .president-card:nth-child(odd),
  .presidents-v2 .president-card:nth-child(even) { grid-template-columns: 112px minmax(0, 1fr); padding-inline: 8px; }
  .presidents-v2 .president-portrait { height: 165px; }
  .presidents-v2 .president-card-copy strong { font-size: .88rem; }
  .presidents-v3 .president-list { grid-template-columns: 1fr; }
  .presidents-v3 .president-card,
  .presidents-v3 .president-card:nth-child(even) { grid-template-columns: minmax(125px, 42%) minmax(0, 1fr); grid-template-rows: minmax(235px, auto); }
  .presidents-v3 .president-card-copy { border-top: 0; border-left: 4px solid var(--era-color); }
}

@media (prefers-reduced-motion: reduce) {
  .presidents-v3 .president-era.is-active { animation: none; }
}
