
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --bg: #FFFFFF;
  --feature-blue: #0745B8;
  --yellow: #0D0D0D;
  --coral: #FF4D4D;
  --ink: #0D0D0D;
  --white: #FFFFFF;
  --purple: #3341A8;
  --blue: #0745B8;
  --orange: #F06A2B;
  --mid: #D6E5FF;
  --line: #B9CEF4;
  --muted: #5B6372;
  --pale: #EFF6FF;
  --mono: "IBM Plex Mono", monospace;
  --hero: "Bebas Neue", sans-serif;
  --cond: "Barlow Condensed", sans-serif;
  --body: "Barlow", sans-serif;
  --serif: "Barlow", sans-serif;
}
html { font-size: 16px; scroll-behavior: smooth; }
body { min-width: 320px; overflow-x: hidden; background: var(--bg); color: var(--ink); font-family: var(--body); line-height: 1.72; }
a { color: inherit; }
.footer-brand { color: var(--yellow); font-family: "Bebas Neue", sans-serif; letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase; }
.footer-store, .footer-date { font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
.home-art-header { display: grid; place-items: center; padding: clamp(0.8rem, 2vw, 1.5rem); background: var(--blue); border-bottom: 2px solid var(--yellow); }
.home-art-stage { position: relative; overflow: hidden; width: min(100%, 1280px); min-height: clamp(370px, 52vw, 720px); border: 1px solid rgba(255,255,255,0.28); background: #063B9F; box-shadow: 0 24px 70px rgba(0,0,0,0.28); }
.home-art-stage img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.home-art-stage::after, .header-preview-stage::after { content: ""; position: absolute; inset: 42% 0 0; z-index: 1; background: linear-gradient(180deg, rgba(4,31,100,0), rgba(4,31,100,0.78)); pointer-events: none; }
.home-option { background: var(--white); }
.header-preview { color: var(--white); }
.header-preview-stage { position: relative; overflow: hidden; min-height: min(900px, 100vh); background: #063B9F; border-bottom: 2px solid var(--yellow); }
.header-preview-stage > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.header-preview-label { position: absolute; z-index: 3; left: clamp(1rem, 3vw, 2.8rem); top: clamp(1rem, 2.5vw, 2.4rem); display: flex; align-items: baseline; gap: 0.75rem; color: var(--yellow); text-transform: uppercase; text-shadow: 0 2px 18px rgba(0,0,0,0.34); }
.header-preview-label span { font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.16em; }
.header-preview-label strong { font-family: "Bebas Neue", sans-serif; font-size: clamp(1.7rem, 3.6vw, 3.9rem); font-weight: 400; letter-spacing: 0.04em; line-height: 0.9; }
.header-link-nav { position: relative; z-index: 4; display: grid; }
.header-link-nav a { display: grid; gap: 0.25rem; min-width: 0; color: rgba(255,255,255,0.9); font-family: "Bebas Neue", sans-serif; text-decoration: none; text-shadow: 0 2px 14px rgba(0,0,0,0.4); text-transform: uppercase; }
.header-link-nav a:hover, .header-link-nav a:focus-visible { color: var(--yellow); }
.header-link-nav span, .header-link-nav em { display: block; font-family: var(--mono); font-size: 0.54rem; font-style: normal; font-weight: 700; letter-spacing: 0.11em; line-height: 1.35; text-transform: uppercase; }
.header-link-nav span { color: var(--yellow); }
.header-link-nav strong { display: block; font-size: clamp(1.1rem, 1.8vw, 2rem); font-weight: 400; letter-spacing: 0.055em; line-height: 0.9; }
.header-link-nav em { color: rgba(255,255,255,0.66); }
.header-link-nav-home, .header-link-nav-rail { position: absolute; left: clamp(1rem, 3vw, 2.8rem); right: clamp(1rem, 3vw, 2.8rem); bottom: clamp(1rem, 3vw, 2.8rem); grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid rgba(7,69,184,0.74); border-bottom: 1px solid rgba(7,69,184,0.74); background: rgba(3,26,84,0.48); backdrop-filter: blur(2px); }
.header-link-nav-home a, .header-link-nav-rail a { min-height: 92px; padding: 0.75rem 0.72rem; border-left: 1px solid rgba(7,69,184,0.34); }
.header-link-nav-home a:first-child, .header-link-nav-rail a:first-child { border-left: 0; }
.header-link-nav-home a:nth-child(6n + 1), .header-link-nav-rail a:nth-child(6n + 1) { border-left: 0; }
.header-preview-two .header-preview-stage > img { object-position: 42% top; }
.header-link-nav-side { position: absolute; right: clamp(1.2rem, 4vw, 4rem); top: clamp(6.5rem, 13vw, 9.5rem); bottom: clamp(2rem, 5vw, 4rem); display: flex; width: min(430px, 34vw); flex-direction: column; justify-content: center; border-left: 2px solid rgba(7,69,184,0.78); padding-left: clamp(1rem, 2.4vw, 2rem); }
.header-link-nav-side a { display: grid; grid-template-columns: 2.7rem minmax(0, 1fr); grid-template-areas: "num title" "num note"; align-items: center; padding: 0.58rem 0; border-bottom: 1px solid rgba(7,69,184,0.28); }
.header-link-nav-side span { grid-area: num; }
.header-link-nav-side strong { grid-area: title; font-size: clamp(1.18rem, 2vw, 2.15rem); }
.header-link-nav-side em { grid-area: note; }
.header-preview-three .header-preview-stage::before { content: ""; position: absolute; inset: clamp(4.5rem, 9vw, 7rem) clamp(1rem, 4vw, 4rem) clamp(2rem, 5vw, 4rem); z-index: 2; border: 1px solid rgba(7,69,184,0.64); pointer-events: none; }
.header-link-nav-bands { position: absolute; left: clamp(1rem, 5vw, 5rem); right: clamp(1rem, 5vw, 5rem); bottom: clamp(2.5rem, 7vw, 5.4rem); grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.15rem clamp(0.6rem, 1.6vw, 1.2rem); }
.header-link-nav-bands a { min-height: 86px; padding: 0.7rem 0.85rem; border-top: 1px solid rgba(7,69,184,0.72); border-bottom: 1px solid rgba(7,69,184,0.26); background: rgba(4,31,100,0.34); }
.header-preview-four .header-preview-stage > img { object-position: center top; }
.header-preview-panel { position: absolute; z-index: 3; right: clamp(1.3rem, 5vw, 5rem); top: 50%; width: min(540px, 43vw); padding: clamp(1.15rem, 3vw, 2.2rem); border-top: 1px solid rgba(7,69,184,0.82); border-bottom: 1px solid rgba(7,69,184,0.82); background: rgba(3,26,84,0.38); backdrop-filter: blur(2px); transform: translateY(-48%); }
.header-preview-panel h1 { color: var(--yellow); font-family: "Bebas Neue", sans-serif; font-size: clamp(2.35rem, 4.8vw, 5rem); font-weight: 400; letter-spacing: 0.03em; line-height: 0.88; text-transform: uppercase; text-shadow: 0 2px 18px rgba(0,0,0,0.32); }
.header-link-nav-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.2rem 1rem; margin-top: 1.2rem; }
.header-link-nav-panel a { padding: 0.6rem 0; border-bottom: 1px solid rgba(7,69,184,0.32); }
.home-option-copy { display: grid; grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr); gap: clamp(1.5rem, 5vw, 4rem); max-width: 1280px; margin: 0 auto; padding: clamp(2.2rem, 5vw, 4.8rem) 2rem; }
.home-option-copy h1, .home-option-copy h2 { color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: clamp(3rem, 6vw, 6.2rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.92; text-transform: uppercase; }
.home-option-copy p { color: #1c1c1c; font-family: var(--serif); font-size: 1.1rem; line-height: 1.78; margin-bottom: 1rem; }
.home-option-copy .issue-label, .home-option-copy .article-section-tag { color: var(--feature-blue); }
.home-option-copy-compact { background: linear-gradient(90deg, rgba(7,69,184,0.08) 1px, transparent 1px), var(--white); background-size: 38px 38px; }
.home-option-copy-offset { border-left: clamp(0.65rem, 2vw, 1.4rem) solid var(--yellow); }
.home-option-copy-band { max-width: none; padding-inline: max(2rem, calc((100vw - 1280px) / 2 + 2rem)); background: var(--pale); border-top: 1px solid var(--line); }
.home-option-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 1.5rem; border: 1px solid var(--line); background: var(--line); }
.home-option-stats div { min-height: 105px; padding: 1rem; background: var(--white); }
.home-option-stats strong { display: block; color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: 2.25rem; font-weight: 400; line-height: 1; }
.home-option-stats span { color: var(--muted); font-family: var(--mono); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.07em; line-height: 1.5; text-transform: uppercase; }
.site-art-banner { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: clamp(0.8rem, 2.4vw, 2rem); min-height: clamp(68px, 6.4vw, 90px); padding: 0.48rem clamp(1rem, 2.6vw, 2.6rem); overflow: visible; background: var(--blue); border-bottom: 2px solid var(--yellow); }
.site-art-banner-portrait { position: relative; display: block; width: clamp(92px, 12vw, 168px); height: clamp(62px, 7.5vw, 96px); overflow: hidden; text-decoration: none; }
.site-art-banner-portrait img { position: absolute; left: 0; top: 50%; width: clamp(165px, 22vw, 290px); max-width: none; height: auto; transform: translateY(-50%); }
.site-art-banner-word { position: relative; z-index: 2; color: var(--yellow); font-family: "Bebas Neue", sans-serif; font-size: clamp(1.45rem, 3.5vw, 3.15rem); letter-spacing: 0.04em; line-height: 0.9; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.site-art-banner-menus { position: relative; z-index: 3; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.42rem clamp(0.62rem, 1.2vw, 1.05rem); margin-left: clamp(1rem, 4vw, 4.5rem); }
.site-nav-menu { position: relative; font-family: "Bebas Neue", sans-serif; }
.site-nav-menu summary { display: inline-flex; align-items: center; min-height: 30px; color: rgba(255,255,255,0.88); cursor: pointer; font-size: clamp(0.94rem, 1.24vw, 1.16rem); letter-spacing: 0.05em; line-height: 1; list-style: none; text-transform: uppercase; white-space: nowrap; }
.site-nav-menu summary::-webkit-details-marker { display: none; }
.site-nav-menu summary::after { content: "+"; margin-left: 0.38rem; color: var(--yellow); font-family: var(--mono); font-size: 0.7rem; font-weight: 700; line-height: 1; }
.site-nav-menu[open] summary { color: var(--yellow); }
.site-nav-menu[open] summary::after { content: "x"; }
.site-nav-panel { position: absolute; top: calc(100% + 0.65rem); right: 0; display: grid; min-width: 210px; padding: 0.55rem; border: 1px solid rgba(7,69,184,0.64); background: #052E7B; box-shadow: 0 18px 38px rgba(0,0,0,0.28); }
.site-nav-menu-wide .site-nav-panel { width: min(760px, calc(100vw - 2rem)); grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.6rem; padding: 0.78rem; }
.site-nav-menu-latest .site-nav-panel { min-width: min(330px, calc(100vw - 2rem)); }
.site-nav-menu-latest .site-art-banner-link { white-space: normal; }
.site-nav-panel-section { min-width: 0; }
.site-nav-panel-section h2 { margin: 0 0 0.45rem; color: var(--yellow); font-family: var(--mono); font-size: 0.54rem; font-weight: 700; letter-spacing: 0.11em; line-height: 1.25; text-transform: uppercase; }
.site-art-banner-link, .site-art-banner-shop { display: inline-flex; align-items: center; min-height: 30px; color: rgba(255,255,255,0.82); font-family: "Bebas Neue", sans-serif; font-size: clamp(0.88rem, 1.2vw, 1.12rem); letter-spacing: 0.04em; line-height: 1; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.site-nav-panel .site-art-banner-link, .site-nav-panel .site-art-banner-shop { justify-content: space-between; min-height: 34px; padding: 0.46rem 0.56rem 0.42rem; border-bottom: 1px solid rgba(255,255,255,0.1); }
.site-nav-panel .site-art-banner-link:last-child, .site-nav-panel .site-art-banner-shop:last-child { border-bottom: 0; }
.site-art-banner-link:hover, .site-art-banner-link:focus-visible { color: var(--yellow); }
.site-art-banner-shop { padding: 0.35rem 0.65rem 0.3rem; background: var(--yellow); color: var(--ink); }
.site-banner-search { display: flex; align-items: center; gap: 0.25rem; min-width: min(210px, 100%); margin-left: 0.15rem; }
.site-banner-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.site-banner-search input { width: clamp(118px, 12vw, 168px); height: 30px; border: 1px solid rgba(7,69,184,0.62); border-radius: 0; background: rgba(255,255,255,0.12); color: var(--white); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.04em; padding: 0 0.55rem; text-transform: uppercase; }
.site-banner-search input::placeholder { color: rgba(255,255,255,0.62); opacity: 1; }
.site-banner-search button { display: inline-flex; align-items: center; justify-content: center; height: 30px; min-width: 34px; border: 1px solid var(--yellow); border-radius: 0; background: var(--yellow); color: var(--ink); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.07em; line-height: 1; text-transform: uppercase; }
.thin-mamdani-divider { display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; min-height: clamp(34px, 4.1vw, 48px); overflow: hidden; background: var(--blue); border-bottom: 1px solid var(--line); color: var(--yellow); }
.thin-mamdani-divider img { width: 34px; height: 34px; margin-left: 1rem; border: 1px solid rgba(7,69,184,0.72); border-radius: 50%; background: var(--blue); object-fit: cover; transform: translateX(0); }
.thin-mamdani-divider span { font-family: "Bebas Neue", sans-serif; font-size: clamp(1.05rem, 2vw, 1.65rem); letter-spacing: 0.07em; line-height: 1; text-transform: uppercase; }
.content-link-rail { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.95rem; padding: 0.7rem max(1rem, calc((100vw - 1180px) / 2 + 2rem)); border-bottom: 1px solid var(--line); background: var(--pale); color: var(--feature-blue); }
.content-link-rail span, .content-link-rail a { font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.09em; line-height: 1.3; text-decoration: none; text-transform: uppercase; }
.content-link-rail span { color: var(--ink); }
.content-link-rail a:hover, .content-link-rail a:focus-visible { color: var(--coral); }
.content-link-rail .content-link-shop { display: inline-flex; padding: 0.18rem 0.38rem; background: var(--yellow); color: var(--ink); }
.article-header { position: relative; overflow: hidden; background: var(--blue); color: var(--white); padding: clamp(3rem, 7vw, 5.8rem) 2rem 3.4rem; border-bottom: 2px solid var(--yellow); }
.article-header::after { content: ""; position: absolute; inset: auto 0 0 0; height: 72px; background: repeating-linear-gradient(90deg, rgba(255,255,255,0.18) 0 1px, transparent 1px 28px); opacity: 0.44; pointer-events: none; }
.article-header-inner { max-width: 900px; margin: 0 auto; }
.article-section-tag, .issue-label { color: var(--yellow); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; margin-bottom: 1rem; text-transform: uppercase; }
.article-header h1 { color: var(--yellow); font-family: var(--hero); font-size: clamp(3.1rem, 9vw, 7rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.93; text-transform: uppercase; }
.article-dek { max-width: 760px; margin-top: 1rem; color: rgba(255,255,255,0.78); font-size: clamp(1.03rem, 2vw, 1.22rem); font-style: italic; }
.article-meta { display: flex; flex-wrap: wrap; gap: 0.7rem 1.3rem; margin-top: 1.4rem; color: rgba(255,255,255,0.48); font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.07em; text-transform: uppercase; }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 3rem; max-width: 1180px; margin: 0 auto; padding: 3.4rem 2rem; }
.article-body { min-width: 0; }
.article-body p, .table-section p, .home-analysis p, .gallery-page p, .index-list p, .timeline-page > p { margin-bottom: 1.2rem; color: #1c1c1c; font-family: var(--serif); font-size: 1.12rem; line-height: 1.84; }
.article-body h2, .timeline-card h2, .coverage-group h2, .gallery-group h2, .home-analysis h2 { margin: 2.7rem 0 0.8rem; color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: 2.05rem; font-weight: 400; letter-spacing: 0.03em; line-height: 1; text-transform: uppercase; }
.article-body a, .table-section a, .index-list a, .timeline-page a, .faq-list a { color: var(--feature-blue); font-weight: 700; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.article-section.content-dropdown { margin-bottom: 1rem; border: 1px solid var(--line); background: var(--white); box-shadow: 8px 8px 0 var(--pale); }
.content-dropdown summary { display: grid; grid-template-columns: 56px minmax(0, 1fr) 34px; align-items: center; gap: 1rem; min-height: 72px; padding: 0.9rem 1rem; cursor: pointer; list-style: none; }
.content-dropdown summary::-webkit-details-marker { display: none; }
.content-dropdown summary::after { content: "+"; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line); color: var(--feature-blue); font-family: var(--mono); font-weight: 700; }
.content-dropdown[open] summary::after { content: "x"; background: var(--yellow); color: var(--ink); }
.content-dropdown summary span { color: var(--coral); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; }
.content-dropdown summary h2 { margin: 0; color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: clamp(1.6rem, 3vw, 2.35rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.96; text-transform: uppercase; }
.content-dropdown-body { border-top: 1px solid var(--line); padding: 1.2rem clamp(1rem, 3vw, 2rem) 1.4rem calc(56px + 2rem); background: linear-gradient(180deg, var(--white), var(--pale)); }
.paragraph-face { float: left; width: 48px; height: 48px; margin: 0.18rem 0.8rem 0.2rem 0; border: 2px solid var(--yellow); border-radius: 50%; background: var(--blue); object-fit: cover; }
.face-paragraph::after { content: ""; display: block; clear: both; }
.article-related-links { margin-top: 2rem; border: 1px solid var(--line); background: var(--white); box-shadow: 8px 8px 0 var(--pale); padding: 1rem; }
.article-related-links h2 { margin: 0 0 0.8rem; color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: 1.55rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1; text-transform: uppercase; }
.article-related-links div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; }
.article-related-links a { display: grid; gap: 0.18rem; min-height: 78px; padding: 0.78rem; border: 1px solid var(--line); background: #F6F8FF; color: var(--ink); text-decoration: none; }
.article-related-links a:hover, .article-related-links a:focus-visible { border-color: var(--feature-blue); background: var(--yellow); }
.article-related-links strong { color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: 1.22rem; font-weight: 400; letter-spacing: 0.03em; line-height: 1; text-transform: uppercase; }
.article-related-links span { color: var(--muted); font-family: var(--mono); font-size: 0.55rem; font-weight: 700; letter-spacing: 0.07em; line-height: 1.35; text-transform: uppercase; }
.article-sidebar { position: sticky; top: 80px; align-self: start; }
.sidebar-card { border: 1px solid var(--ink); background: var(--white); padding: 1rem; }
.sidebar-card h2 { margin-bottom: 0.8rem; color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: 1.35rem; font-weight: 400; text-transform: uppercase; }
.sidebar-card a { display: block; padding: 0.65rem 0; border-top: 1px solid var(--mid); color: var(--ink); font-weight: 700; text-decoration: none; }
.sidebar-card a span { display: block; color: var(--muted); font-family: var(--mono); font-size: 0.56rem; letter-spacing: 0.07em; margin-top: 0.2rem; text-transform: uppercase; }
.cover-hero { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); min-height: 650px; border-bottom: 2px solid var(--yellow); }
.cover-left { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 6vw, 5rem); background: var(--feature-blue); color: var(--white); }
.cover-left h1 { color: var(--yellow); font-family: "Bebas Neue", sans-serif; font-size: clamp(5rem, 13vw, 10rem); font-weight: 400; line-height: 0.87; text-transform: uppercase; }
.cover-left p:last-child { max-width: 560px; color: rgba(255,255,255,0.78); font-size: 1.15rem; }
.portrait-mark { display: grid; place-items: center; width: min(56vw, 280px); aspect-ratio: 1; margin-bottom: 1.4rem; border: 8px solid var(--yellow); border-radius: 50%; background: var(--coral); color: var(--ink); font-family: "Bebas Neue", sans-serif; font-size: 6rem; }
.cover-right { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 6vw, 5rem); background: linear-gradient(90deg, rgba(7,69,184,0.08) 1px, transparent 1px), linear-gradient(0deg, rgba(7,69,184,0.08) 1px, transparent 1px), var(--white); background-size: 38px 38px; }
.cover-right h2 { color: var(--ink); font-family: "Bebas Neue", sans-serif; font-size: clamp(3.1rem, 8vw, 6.8rem); font-weight: 400; line-height: 0.92; text-transform: uppercase; }
.cover-right > p { max-width: 670px; margin-top: 1rem; font-size: 1.08rem; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 2rem; background: var(--ink); border: 1px solid var(--ink); }
.stat-grid div { min-height: 112px; padding: 1rem; background: var(--white); }
.stat-grid strong { display: block; color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: 2.4rem; font-weight: 400; line-height: 1; }
.stat-grid span { color: var(--muted); font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.06em; text-transform: uppercase; }
.home-analysis, .table-section, .timeline-page, .faq-list, .index-list, .coverage-sections, .gallery-page { max-width: 1180px; margin: 0 auto; padding: 3.2rem 2rem; }
.home-analysis { border-inline: 1px solid var(--mid); background: linear-gradient(180deg, var(--white), var(--pale)); }
.timeline-page { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.timeline-page > p, .context-links { grid-column: 1 / -1; }
.timeline-card, .faq-item, .index-card, .coverage-group, .gallery-group { border: 1px solid var(--ink); background: var(--white); padding: 1.2rem; box-shadow: 8px 8px 0 var(--pale); }
.timeline-card time, .index-card time { display: block; color: var(--coral); font-family: var(--mono); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.08em; margin-bottom: 0.4rem; text-transform: uppercase; }
.timeline-card h2 { margin-top: 0; }
.timeline-disclosure { padding: 0; overflow: hidden; }
.timeline-disclosure summary { display: grid; grid-template-columns: 112px minmax(0, 1fr) 34px; align-items: center; gap: 1rem; min-height: 82px; padding: 1rem 1.15rem; cursor: pointer; list-style: none; }
.timeline-disclosure summary::-webkit-details-marker { display: none; }
.timeline-disclosure summary::after { content: "+"; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line); color: var(--feature-blue); font-family: var(--mono); font-weight: 700; line-height: 1; }
.timeline-disclosure[open] summary::after { content: "x"; background: var(--yellow); color: var(--ink); }
.timeline-disclosure summary time { margin: 0; }
.timeline-disclosure summary h2 { margin: 0; }
.timeline-card-body { border-top: 1px solid var(--line); padding: 1.1rem 1.25rem 1.35rem; background: linear-gradient(180deg, var(--white), var(--pale)); }
.timeline-card-body p { margin-bottom: 0.95rem; color: #1c1c1c; font-family: var(--serif); font-size: 1.02rem; line-height: 1.72; }
.timeline-card-body p:last-child { margin-bottom: 0; }
.external-source-list { display: grid; gap: 0.45rem; margin-top: 1.1rem; padding-top: 0.9rem; border-top: 1px solid var(--line); }
.external-source-list > strong { color: var(--coral); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.external-source-list a { display: inline-block; color: var(--feature-blue); font-family: var(--mono); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.03em; line-height: 1.45; }
.delivery-status-key { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 1.35rem; border: 1px solid var(--ink); background: var(--ink); }
.delivery-status-key div { display: grid; align-content: start; gap: 0.48rem; min-height: 106px; background: var(--white); padding: 0.85rem; }
.delivery-status-key span { color: #1c1c1c; font-family: var(--serif); font-size: 0.98rem; line-height: 1.45; }
.delivery-table { display: grid; border: 1px solid var(--ink); background: var(--ink); gap: 1px; margin-top: 1.4rem; overflow-x: auto; }
.delivery-row { display: grid; grid-template-columns: minmax(150px, 0.82fr) 118px minmax(250px, 1.2fr) minmax(220px, 1.05fr) minmax(220px, 1.05fr); min-width: 1120px; gap: 1px; background: var(--ink); }
.delivery-row span { background: var(--white); padding: 0.85rem; font-size: 0.92rem; line-height: 1.45; }
.delivery-head span { background: var(--feature-blue); color: var(--yellow); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.delivery-evidence { display: grid; align-content: start; gap: 0.42rem; }
.delivery-evidence strong { color: #171717; font-family: var(--serif); font-size: 0.95rem; font-weight: 600; line-height: 1.48; }
.delivery-evidence a { color: var(--feature-blue); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.04em; line-height: 1.35; text-transform: uppercase; }
.delivery-evidence a:hover, .delivery-evidence a:focus-visible { color: var(--coral); }
.status { display: inline-block; padding: 0.2rem 0.45rem; color: var(--ink); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.06em; }
.status.delivered { background: #BFD8FF; }
.status.completed { background: #BFD8FF; }
.status.partial { background: var(--yellow); }
.status.pending { background: #8FC8FF; }
.status.broken { background: var(--coral); color: var(--white); }
.faq-list { display: grid; max-width: 1020px; gap: 0.85rem; }
.faq-item { padding: 0; overflow: hidden; }
.faq-item summary { position: relative; display: grid; grid-template-columns: 74px minmax(0, 1fr) 34px; align-items: center; min-height: 74px; gap: 1rem; padding: 0.85rem 1rem; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line); color: var(--feature-blue); font-family: var(--mono); font-weight: 700; line-height: 1; }
.faq-item[open] summary::after { content: "x"; background: var(--yellow); color: var(--ink); }
.faq-number { color: var(--coral); font-family: var(--mono); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; }
.faq-question { color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: clamp(1.5rem, 3vw, 2.35rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.95; text-transform: uppercase; }
.faq-answer { border-top: 1px solid var(--line); padding: 1rem 1.35rem 1.35rem calc(74px + 2rem); background: linear-gradient(180deg, var(--white), var(--pale)); }
.faq-answer p { max-width: 820px; margin: 0 0 1rem; color: #171717; font-family: var(--serif); font-size: 1.12rem; line-height: 1.82; }
.faq-answer p:last-child { margin-bottom: 0; }
.index-list, .coverage-sections, .gallery-page { display: grid; gap: 1rem; }
.index-card h2, .index-card h3 { color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: 1.75rem; font-weight: 400; line-height: 1; margin-bottom: 0.7rem; text-transform: uppercase; }
.feature-card { border-width: 2px; }
.coverage-group { display: grid; gap: 0.8rem; }
.coverage-group h2, .gallery-group h2 { margin-top: 0; }
.media-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.media-slot { display: grid; place-items: center; min-height: 170px; border: 1px solid var(--ink); background: linear-gradient(135deg, var(--pale), #DCEBFF); color: var(--ink); text-align: center; padding: 1rem; }
.media-slot span { font-family: "Bebas Neue", sans-serif; font-size: 1.6rem; line-height: 1; text-transform: uppercase; }
.gallery-figure { display: grid; grid-template-rows: minmax(210px, 1fr) auto; border: 1px solid var(--line); background: var(--white); box-shadow: 7px 7px 0 var(--pale); overflow: hidden; }
.gallery-figure img { width: 100%; height: 100%; min-height: 210px; max-height: 280px; object-fit: cover; object-position: center top; background: var(--feature-blue); display: block; }
.gallery-figure figcaption { display: grid; gap: 0.2rem; margin: 0; padding: 0.85rem 0.9rem 0.95rem; border-top: 1px solid var(--line); background: var(--white); }
.gallery-figure figcaption strong { color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: 1.35rem; font-weight: 400; letter-spacing: 0.03em; line-height: 0.96; text-transform: uppercase; }
.gallery-figure figcaption span { color: var(--muted); font-family: var(--body); font-size: 0.86rem; line-height: 1.45; }
figcaption, .video-list p { color: var(--muted); font-size: 0.86rem; margin-top: 0.5rem; }
.video-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.video-list article { border: 1px solid var(--mid); padding: 1rem; }
.video-list h3 { color: var(--feature-blue); font-size: 1rem; }
.video-list a { display: inline-block; margin-top: 0.65rem; color: var(--feature-blue); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.context-links { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1rem; }
.context-links a, .index-card a { display: inline-block; border: 1px solid var(--ink); background: var(--yellow); color: var(--ink); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; padding: 0.45rem 0.75rem; text-decoration: none; text-transform: uppercase; }
.feature-article-page { background: var(--white); color: var(--ink); }
.feature-article-header { background: linear-gradient(180deg, var(--white), #F6F8FF); border-bottom: 3px solid var(--yellow); padding: clamp(3rem, 7vw, 5.2rem) 2rem 3rem; }
.feature-article-header-inner { max-width: 900px; margin: 0 auto; }
.feature-section-tag { display: flex; align-items: center; gap: 0.65rem; margin-bottom: 1rem; color: #0745B8; font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.feature-section-tag::before { content: ""; display: block; width: 30px; height: 2px; background: var(--yellow); }
.feature-article-hed { max-width: 840px; color: var(--feature-blue); font-family: var(--hero); font-size: clamp(3.1rem, 9vw, 7rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.93; margin-bottom: 1.1rem; text-transform: uppercase; }
.feature-article-hed span { color: #0745B8; }
.feature-article-dek { max-width: 720px; color: #364052; font-family: var(--body); font-size: clamp(1.05rem, 2vw, 1.28rem); font-style: italic; line-height: 1.65; margin-bottom: 1.5rem; }
.feature-article-meta { display: flex; flex-wrap: wrap; gap: 0.55rem 1.2rem; color: var(--muted); font-family: var(--mono); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.feature-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: clamp(2rem, 5vw, 3.6rem); max-width: 1120px; margin: 0 auto; padding: 3.3rem 2rem; }
.feature-article-body { min-width: 0; }
.feature-article-body p { color: #202636; font-family: var(--body); font-size: 1.05rem; line-height: 1.82; margin-bottom: 1.25rem; }
.feature-article-body h2 { color: var(--feature-blue); font-family: var(--cond); font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; letter-spacing: 0.035em; line-height: 0.96; margin: 2.7rem 0 0.85rem; text-transform: uppercase; }
.feature-article-body a { color: var(--feature-blue); font-weight: 700; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.sweep-page { background: var(--white); }
.sweep-header .article-header-inner { max-width: 940px; }
.sweep-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--ink); border-bottom: 3px solid var(--yellow); }
.sweep-strip div { min-height: 116px; padding: 1rem; background: var(--blue); }
.sweep-strip strong { display: block; color: var(--yellow); font-family: var(--hero); font-size: clamp(2.2rem, 4.5vw, 4rem); font-weight: 400; line-height: 0.9; }
.sweep-strip span { display: block; color: rgba(255,255,255,0.78); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.45; margin-top: 0.45rem; text-transform: uppercase; }
.sweep-layout { align-items: start; }
.sweep-race-grid { display: grid; gap: 1rem; margin: 1.4rem 0 2rem; }
.sweep-race-card, .sweep-money-box, .sweep-power-grid article { border: 1px solid var(--line); background: var(--white); box-shadow: 8px 8px 0 var(--pale); padding: 1rem; }
.sweep-race-card { display: grid; gap: 0.75rem; }
.sweep-race-card > div { border-bottom: 2px solid var(--yellow); padding-bottom: 0.75rem; }
.sweep-race-card span, .sweep-power-grid span { color: var(--coral); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.sweep-race-card h2, .sweep-money-box h2, .sweep-power-grid h3 { color: var(--feature-blue); font-family: var(--cond); font-size: clamp(1.45rem, 3vw, 2.25rem); font-weight: 900; letter-spacing: 0.03em; line-height: 1; margin: 0.42rem 0 0; text-transform: uppercase; }
.sweep-race-card p, .sweep-money-box p, .sweep-power-grid p { color: #202636; font-family: var(--body); font-size: 1rem; line-height: 1.72; margin: 0 0 0.8rem; }
.sweep-race-card a { justify-self: start; color: var(--feature-blue); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.sweep-money-box { margin: 2rem 0; border-top: 4px solid var(--yellow); background: #F6F8FF; }
.sweep-power-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 2.4rem; }
.feature-section-divider { display: flex; align-items: center; gap: 1rem; margin: 2.7rem 0 1.8rem; }
.feature-section-divider span { color: #0745B8; font-family: var(--mono); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap; }
.feature-section-divider i { display: block; flex: 1; height: 1px; background: var(--line); }
.feature-pull-quote { border-left: 3px solid var(--yellow); margin: 2.5rem 0; padding: 1.2rem 1.6rem; background: #F6F8FF; }
.feature-pull-quote p { color: var(--feature-blue); font-family: var(--cond); font-size: clamp(1.35rem, 3vw, 2rem); font-weight: 800; letter-spacing: 0.025em; line-height: 1.2; margin: 0; text-transform: uppercase; }
.feature-pull-quote span { display: block; color: var(--muted); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; margin-top: 0.65rem; text-transform: uppercase; }
.feature-stat-callout { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 2.5rem 0; border-top: 3px solid var(--yellow); background: var(--line); }
.feature-stat-callout div { min-height: 122px; padding: 1.15rem; background: #F6F8FF; }
.feature-stat-callout strong { display: block; color: var(--feature-blue); font-family: var(--cond); font-size: clamp(2.6rem, 5vw, 4rem); font-weight: 900; line-height: 0.9; text-transform: uppercase; }
.feature-stat-callout span { display: block; color: var(--muted); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.45; margin-top: 0.45rem; text-transform: uppercase; }
.feature-sidebar { position: sticky; top: 88px; align-self: start; display: grid; gap: 1rem; }
.feature-sidebar-card { border: 1px solid var(--line); background: var(--white); box-shadow: 7px 7px 0 var(--pale); overflow: hidden; }
.feature-sidebar-card h2 { margin: 0; padding: 0.7rem 0.9rem; border-bottom: 2px solid var(--yellow); background: #F6F8FF; color: var(--feature-blue); font-family: var(--cond); font-size: 1.05rem; font-weight: 900; letter-spacing: 0.09em; line-height: 1; text-transform: uppercase; }
.feature-sidebar-body { padding: 0.75rem 0.9rem; }
.feature-sidebar-body p, .feature-timeline-item, .feature-sidebar-link { border-bottom: 1px solid var(--line); color: #283142; font-family: var(--body); font-size: 0.92rem; line-height: 1.42; padding: 0.62rem 0; }
.feature-sidebar-body p:last-child, .feature-timeline-item:last-child, .feature-sidebar-link:last-child { border-bottom: 0; }
.feature-sidebar-body strong, .feature-timeline-item span, .feature-sidebar-link span { display: block; color: #0745B8; font-family: var(--mono); font-size: 0.54rem; font-weight: 700; letter-spacing: 0.08em; margin-bottom: 0.18rem; text-transform: uppercase; }
.feature-timeline-item { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 0.7rem; }
.feature-timeline-item p { border-bottom: 0; margin: 0; padding: 0; }
.feature-sidebar-link { display: block; color: #202636; font-weight: 600; text-decoration: none; }
.feature-sidebar-link:hover, .feature-sidebar-link:focus-visible { color: var(--feature-blue); }
.feature-related { background: #F6F8FF; border-top: 1px solid var(--line); padding: 3rem 2rem; }
.feature-related-inner { max-width: 1120px; margin: 0 auto; }
.feature-related h2 { color: var(--feature-blue); font-family: var(--cond); font-size: 1.5rem; font-weight: 900; letter-spacing: 0.08em; margin-bottom: 1rem; text-transform: uppercase; }
.feature-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.feature-related-grid a { display: block; min-height: 172px; border: 1px solid var(--line); background: var(--white); color: inherit; padding: 1rem; text-decoration: none; transition: border-color 0.15s, transform 0.15s; }
.feature-related-grid a:hover, .feature-related-grid a:focus-visible { border-color: var(--yellow); transform: translateY(-2px); }
.feature-related-grid span { display: block; color: #0745B8; font-family: var(--mono); font-size: 0.54rem; font-weight: 700; letter-spacing: 0.09em; margin-bottom: 0.45rem; text-transform: uppercase; }
.feature-related-grid strong { display: block; color: var(--feature-blue); font-family: var(--cond); font-size: 1.35rem; font-weight: 900; letter-spacing: 0.03em; line-height: 1; text-transform: uppercase; }
.feature-related-grid p { color: var(--muted); font-family: var(--body); font-size: 0.88rem; line-height: 1.55; margin-top: 0.55rem; }
.response-alert { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.45rem 0.8rem; padding: 0.65rem 1rem; background: var(--coral); color: var(--white); }
.response-alert span { width: 8px; height: 8px; border-radius: 50%; background: var(--white); box-shadow: 0 0 0 6px rgba(255,255,255,0.16); }
.response-alert strong, .response-alert p { font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.4; text-transform: uppercase; }
.response-alert p { margin: 0; color: rgba(255,255,255,0.86); }
.response-article-header { background: linear-gradient(180deg, #F8FBFF, var(--white)); }
.response-stat-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border-top: 1px solid var(--line); border-bottom: 3px solid var(--yellow); }
.response-stat-strip div { min-height: 126px; padding: 1.05rem 1.2rem; background: #F6F8FF; }
.response-stat-strip strong { display: block; color: var(--feature-blue); font-family: var(--cond); font-size: clamp(2rem, 4vw, 3.45rem); font-weight: 900; line-height: 0.92; text-transform: uppercase; }
.response-stat-strip span { display: block; color: var(--muted); font-family: var(--mono); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.45; margin-top: 0.45rem; text-transform: uppercase; }
.administration-header { background: linear-gradient(180deg, var(--white), #F6F8FF); }
.administration-stat-strip strong { font-family: var(--hero); font-weight: 400; }
.administration-card-grid, .administration-commissioner-grid, .administration-architecture-grid { display: grid; gap: 1rem; margin: 1.4rem 0 2.3rem; }
.administration-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.administration-commissioner-grid, .administration-architecture-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.administration-card-grid article, .administration-commissioner-grid article, .administration-architecture-grid article, .administration-council-panel, .administration-person-list article { border: 1px solid var(--line); background: var(--white); box-shadow: 8px 8px 0 var(--pale); padding: 1rem; }
.administration-card-grid article { border-top: 3px solid var(--feature-blue); }
.administration-card-grid span, .administration-commissioner-grid span, .administration-person-list strong { display: block; color: var(--coral); font-family: var(--mono); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.09em; line-height: 1.4; margin-bottom: 0.38rem; text-transform: uppercase; }
.administration-card-grid h2, .administration-commissioner-grid h2, .administration-architecture-grid h2, .administration-council-panel h2, .administration-person-list h2 { color: var(--feature-blue); font-family: var(--cond); font-size: clamp(1.35rem, 2.8vw, 2rem); font-weight: 900; letter-spacing: 0.035em; line-height: 0.98; margin: 0 0 0.55rem; text-transform: uppercase; }
.administration-card-grid p, .administration-commissioner-grid p, .administration-architecture-grid p, .administration-council-panel p, .administration-person-list p { color: #202636; font-family: var(--body); font-size: 0.98rem; line-height: 1.72; margin: 0; }
.administration-commissioner-grid strong { display: inline-block; margin-top: 0.8rem; border: 1px solid rgba(7,69,184,0.2); background: var(--pale); color: var(--feature-blue); font-family: var(--mono); font-size: 0.54rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.3; padding: 0.22rem 0.38rem; text-transform: uppercase; }
.administration-council-panel { margin: 1.4rem 0 2rem; border-top: 3px solid var(--yellow); }
.administration-council-bar { display: flex; height: 34px; margin: 1rem 0 0.7rem; overflow: hidden; border: 1px solid var(--line); background: var(--pale); }
.administration-council-bar span { display: grid; place-items: center; width: calc(var(--part) * 1.9608%); min-width: 16px; overflow: hidden; color: var(--white); font-family: var(--mono); font-size: 0.52rem; font-weight: 700; letter-spacing: 0.06em; line-height: 1; text-align: center; text-transform: uppercase; white-space: nowrap; }
.administration-council-bar span:nth-child(1) { background: var(--feature-blue); }
.administration-council-bar span:nth-child(2) { background: #4A90D9; }
.administration-council-bar span:nth-child(3) { background: var(--coral); }
.administration-council-bar span:nth-child(4) { background: #777; }
.administration-council-key { display: flex; flex-wrap: wrap; gap: 0.48rem 0.8rem; }
.administration-council-key span { display: inline-flex; align-items: center; gap: 0.34rem; color: var(--muted); font-family: var(--mono); font-size: 0.55rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
.administration-council-key i { display: inline-block; width: 9px; height: 9px; }
.key-progressive { background: var(--feature-blue); }
.key-democrat { background: #4A90D9; }
.key-republican { background: var(--coral); }
.key-other { background: #777; }
.administration-person-list { display: grid; gap: 0.75rem; margin: 1.6rem 0 2.2rem; }
.administration-person-list article { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 0.9rem; box-shadow: none; }
.administration-person-list article > span { display: grid; place-items: center; width: 52px; aspect-ratio: 1; border: 2px solid var(--yellow); border-radius: 50%; background: var(--feature-blue); color: var(--yellow); font-family: var(--cond); font-size: 1rem; font-weight: 900; letter-spacing: 0.03em; }
.administration-architecture-grid article { border-left: 4px solid var(--yellow); }
.response-impact-box { margin: 2.5rem 0; padding: 1.3rem 1.45rem 1.45rem; background: var(--coral); color: var(--white); }
.response-impact-box h2, .response-action-box h2 { margin: 0 0 1rem; color: var(--yellow); font-family: var(--cond); font-size: 1.1rem; font-weight: 900; letter-spacing: 0.08em; line-height: 1; text-transform: uppercase; }
.response-impact-box ol { display: grid; gap: 0; list-style: none; counter-reset: impact; }
.response-impact-box li { counter-increment: impact; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 0.75rem; border-top: 1px solid rgba(255,255,255,0.18); padding: 0.72rem 0; color: rgba(255,255,255,0.9); font-family: var(--body); font-size: 0.98rem; line-height: 1.55; }
.response-impact-box li::before { content: counter(impact, decimal-leading-zero); color: var(--white); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; padding-top: 0.18rem; }
.budget-table-wrap { margin: 1.35rem 0 2.3rem; overflow-x: auto; }
.budget-breakdown-table { width: 100%; min-width: 760px; border-collapse: collapse; background: var(--white); box-shadow: 8px 8px 0 var(--pale); }
.budget-breakdown-table th { background: var(--feature-blue); color: var(--yellow); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.35; padding: 0.72rem 0.82rem; text-align: left; text-transform: uppercase; }
.budget-breakdown-table td { border-bottom: 1px solid rgba(7,69,184,0.18); color: #202636; font-family: var(--body); font-size: 0.98rem; line-height: 1.55; padding: 0.82rem; vertical-align: top; }
.budget-breakdown-table td:first-child { color: var(--feature-blue); font-family: var(--cond); font-size: 1.25rem; font-weight: 900; letter-spacing: 0.03em; line-height: 1; text-transform: uppercase; }
.budget-critic-list { display: grid; gap: 0.9rem; margin: 1.4rem 0 2.4rem; }
.budget-critic-list article { border: 1px solid var(--line); border-left: 4px solid var(--coral); background: #F6F8FF; box-shadow: 7px 7px 0 var(--pale); padding: 1rem 1.1rem; }
.budget-critic-list span { display: block; color: var(--coral); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 0.45rem; text-transform: uppercase; }
.budget-critic-list p { margin-bottom: 0.65rem; }
.budget-critic-list a { color: var(--feature-blue); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.response-action-box { margin: 2.5rem 0; padding: 1.4rem 1.5rem; border-top: 4px solid var(--yellow); background: var(--feature-blue); color: var(--white); }
.response-action-box article { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 0.8rem; border-top: 1px solid rgba(255,255,255,0.14); padding: 1rem 0; }
.response-action-box article:first-of-type { border-top: 0; }
.response-action-box article > span { color: var(--yellow); font-family: var(--mono); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; padding-top: 0.12rem; }
.response-action-box strong { display: block; color: var(--white); font-family: var(--cond); font-size: 1.05rem; font-weight: 900; letter-spacing: 0.04em; line-height: 1; margin-bottom: 0.35rem; text-transform: uppercase; }
.response-action-box p { margin: 0; color: rgba(255,255,255,0.78); font-family: var(--body); font-size: 0.96rem; line-height: 1.65; }
.petition-page { background: var(--white); }
.petition-alert { background: var(--feature-blue); }
.petition-alert a { color: var(--white); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.petition-hero { background: linear-gradient(90deg, rgba(7,69,184,0.08) 1px, transparent 1px), linear-gradient(0deg, rgba(7,69,184,0.08) 1px, transparent 1px), var(--white); background-size: 36px 36px; border-bottom: 2px solid var(--feature-blue); padding: clamp(1.45rem, 3.4vw, 2.8rem) 2rem 1.7rem; }
.petition-hero-inner { max-width: 980px; margin: 0 auto; }
.petition-hero h1 { max-width: 860px; color: var(--feature-blue); font-family: var(--hero); font-size: clamp(2.25rem, 5.2vw, 4.2rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.92; text-transform: uppercase; }
.petition-hero .article-dek { max-width: 760px; color: #202636; font-style: normal; }
.petition-hero-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 0.85rem; }
.petition-hero-actions a { display: inline-flex; align-items: center; min-height: 42px; border: 1px solid var(--ink); background: var(--feature-blue); color: var(--white); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; padding: 0 0.9rem; text-decoration: none; text-transform: uppercase; }
.petition-hero-actions a + a { background: var(--white); color: var(--feature-blue); }
.petition-stat-strip { border-bottom: 2px solid var(--feature-blue); }
.petition-layout { align-items: start; }
.petition-demand-box { border-top: 4px solid var(--feature-blue); }
.petition-info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.8rem; margin: 2.2rem 0 0; }
.petition-info-grid a { display: grid; align-content: start; min-height: 168px; gap: 0.42rem; border: 1px solid var(--line); background: var(--white); box-shadow: 7px 7px 0 var(--pale); padding: 0.95rem; text-decoration: none; }
.petition-info-grid a:hover, .petition-info-grid a:focus-visible { border-color: var(--feature-blue); box-shadow: 7px 7px 0 var(--ink); }
.petition-info-grid span { color: var(--coral); font-family: var(--mono); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.petition-info-grid strong { color: var(--feature-blue); font-family: var(--cond); font-size: 1.35rem; font-weight: 900; letter-spacing: 0.04em; line-height: 1; text-transform: uppercase; }
.petition-info-grid p { margin: 0; color: #283142; font-family: var(--body); font-size: 0.92rem; line-height: 1.5; }
.petition-form-card { border: 1px solid var(--ink); background: var(--white); box-shadow: 8px 8px 0 var(--pale); overflow: hidden; }
.petition-form-head { background: var(--feature-blue); color: var(--white); padding: 1.05rem 1.1rem; }
.petition-form-head h2 { color: var(--white); font-family: var(--cond); font-size: 1.5rem; font-weight: 900; letter-spacing: 0.06em; line-height: 1; text-transform: uppercase; }
.petition-form-head p { margin: 0.32rem 0 0; color: rgba(255,255,255,0.76); font-family: var(--mono); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.45; text-transform: uppercase; }
.petition-progress { display: grid; gap: 0.55rem; padding: 1rem 1.1rem 0; }
.petition-progress div { display: flex; align-items: baseline; justify-content: space-between; gap: 0.8rem; }
.petition-progress strong { color: var(--feature-blue); font-family: var(--cond); font-size: 2rem; font-weight: 900; line-height: 1; }
.petition-progress span { color: var(--muted); font-family: var(--mono); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.petition-progress i { display: block; height: 7px; overflow: hidden; background: var(--pale); border: 1px solid var(--line); }
.petition-progress b { display: block; width: 0%; height: 100%; background: var(--feature-blue); transition: width 0.25s ease; }
.petition-form-card form { display: grid; gap: 0.8rem; padding: 1rem 1.1rem 1.1rem; }
.petition-form-card label { display: grid; gap: 0.28rem; color: var(--muted); font-family: var(--mono); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.35; text-transform: uppercase; }
.petition-form-card input[type="text"], .petition-form-card input[type="email"] { min-height: 42px; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); font-family: var(--body); font-size: 0.98rem; letter-spacing: 0; padding: 0 0.72rem; text-transform: none; }
.petition-form-card input:focus { outline: 3px solid var(--pale); border-color: var(--feature-blue); }
.petition-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; }
.petition-consent { display: flex !important; grid-template-columns: none; align-items: flex-start; gap: 0.5rem; color: #202636 !important; font-family: var(--body) !important; font-size: 0.92rem !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; }
.petition-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 0.08rem; accent-color: var(--feature-blue); }
.petition-form-card button { min-height: 46px; border: 1px solid var(--ink); border-radius: 0; background: var(--feature-blue); color: var(--white); cursor: pointer; font-family: var(--cond); font-size: 1.12rem; font-weight: 900; letter-spacing: 0.07em; text-transform: uppercase; }
.petition-form-card button:hover, .petition-form-card button:focus-visible { background: var(--ink); }
.petition-form-card button:disabled { opacity: 0.62; cursor: default; }
.petition-form-note { min-height: 1.4rem; margin: 0; color: var(--muted); font-family: var(--mono); font-size: 0.55rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.5; }
.form-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.calendar-intro, .calendar-list { max-width: 1180px; margin: 0 auto; padding: 3rem 2rem 0; }
.calendar-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 0.45fr); gap: 1.2rem 2rem; align-items: start; }
.calendar-intro p { color: #171717; font-family: var(--serif); font-size: 1.12rem; line-height: 1.84; }
.calendar-source-grid { display: grid; gap: 0.55rem; }
.calendar-source-grid a { display: block; border: 1px solid var(--line); background: var(--yellow); color: var(--ink); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; padding: 0.65rem 0.75rem; text-decoration: none; text-transform: uppercase; }
.calendar-list { display: grid; gap: 0.85rem; padding-bottom: 3.6rem; }
.calendar-event { display: grid; grid-template-columns: 210px minmax(0, 1fr) 230px; gap: 1px; border: 1px solid var(--line); background: var(--line); box-shadow: 8px 8px 0 var(--pale); }
.calendar-event > * { background: var(--white); }
.calendar-date { display: grid; align-content: start; gap: 0.35rem; padding: 1rem; }
.calendar-source span, .calendar-source a, .calendar-watch span { font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.35; text-transform: uppercase; }
.calendar-date strong { color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: clamp(1.6rem, 3vw, 2.25rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.95; text-transform: uppercase; }
.calendar-date em { color: var(--muted); font-family: var(--mono); font-size: 0.62rem; font-style: normal; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
.calendar-event-main { padding: 1rem 1.2rem 1.15rem; }
.calendar-event-main h2 { margin: 0 0 0.65rem; color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: clamp(1.75rem, 3.5vw, 2.8rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.94; text-transform: uppercase; }
.calendar-event-main p { color: #171717; font-family: var(--serif); font-size: 1.03rem; line-height: 1.72; }
.calendar-watch { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.9rem; }
.calendar-watch span { border: 1px solid var(--line); background: var(--pale); color: var(--feature-blue); padding: 0.32rem 0.5rem; }
.calendar-source { display: grid; align-content: space-between; gap: 1rem; padding: 1rem; }
.calendar-source span { color: var(--muted); }
.calendar-source a { color: var(--feature-blue); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.events-intro, .events-list { max-width: 1180px; margin: 0 auto; padding: 3rem 2rem 0; }
.events-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 0.38fr); gap: 1rem 1.5rem; align-items: stretch; }
.events-intro > div { border: 1px solid var(--line); background: var(--white); box-shadow: 8px 8px 0 var(--pale); padding: 1.2rem 1.35rem; }
.events-intro p { color: #171717; font-family: var(--serif); font-size: 1.1rem; line-height: 1.82; margin-bottom: 0.9rem; }
.events-intro p:last-child { margin-bottom: 0; }
.events-price-card { display: grid; align-content: center; gap: 0.55rem; border: 1px solid var(--yellow); background: var(--feature-blue); box-shadow: 8px 8px 0 var(--pale); color: var(--white); padding: 1.15rem; }
.events-price-card span { color: var(--yellow); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.events-price-card strong { color: var(--white); font-family: var(--hero); font-size: clamp(3.6rem, 8vw, 6.5rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.86; }
.events-price-card p { color: rgba(255,255,255,0.84); font-family: var(--body); font-size: 0.98rem; line-height: 1.58; margin: 0; }
.events-price-card a { justify-self: start; margin-top: 0.35rem; background: var(--yellow); color: var(--ink); font-family: var(--hero); font-size: 1.35rem; letter-spacing: 0.04em; line-height: 1; padding: 0.55rem 0.78rem 0.48rem; text-decoration: none; text-transform: uppercase; }
.events-list { display: grid; gap: 1rem; padding-bottom: 3.8rem; }
.member-event-card { display: grid; grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr); border: 1px solid var(--line); background: var(--white); box-shadow: 10px 10px 0 var(--pale); overflow: hidden; }
.member-event-image { position: relative; min-height: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: var(--feature-blue); }
.member-event-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(1.08) contrast(1.04); }
.member-event-image::after { content: ""; position: absolute; inset: auto 0 0 0; height: 44%; background: linear-gradient(180deg, rgba(5,46,123,0), rgba(5,46,123,0.86)); pointer-events: none; }
.member-event-image figcaption { position: absolute; left: 0.8rem; right: 0.8rem; bottom: 0.75rem; z-index: 2; color: var(--yellow); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.09em; line-height: 1.35; text-transform: uppercase; }
.member-event-copy { display: grid; align-content: start; gap: 0.72rem; padding: clamp(1rem, 2.8vw, 1.55rem); }
.member-event-kicker { color: var(--coral); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.09em; line-height: 1.35; text-transform: uppercase; }
.member-event-copy h2 { color: var(--feature-blue); font-family: var(--hero); font-size: clamp(2.15rem, 4.6vw, 4.2rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.88; text-transform: uppercase; }
.member-event-subtitle { color: var(--ink); font-family: var(--cond); font-size: clamp(1.18rem, 2.3vw, 1.8rem); font-weight: 900; letter-spacing: 0.03em; line-height: 1; text-transform: uppercase; }
.member-event-copy p:not(.member-event-kicker):not(.member-event-subtitle) { color: #171717; font-family: var(--serif); font-size: 1.04rem; line-height: 1.72; }
.member-event-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); margin-top: 0.2rem; }
.member-event-facts div { min-width: 0; background: var(--pale); padding: 0.72rem 0.78rem; }
.member-event-facts dt { color: var(--coral); font-family: var(--mono); font-size: 0.55rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.25; text-transform: uppercase; }
.member-event-facts dd { color: var(--feature-blue); font-family: var(--cond); font-size: 1.08rem; font-weight: 900; line-height: 1.06; margin-top: 0.32rem; text-transform: uppercase; }
.event-includes { margin-top: 0.25rem; }
.member-event-actions { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 0.25rem; }
.member-event-actions a { border: 1px solid var(--feature-blue); background: var(--feature-blue); color: var(--white); font-family: var(--hero); font-size: 1.24rem; letter-spacing: 0.04em; line-height: 1; padding: 0.54rem 0.74rem 0.48rem; text-decoration: none; text-transform: uppercase; }
.member-event-actions a:nth-child(2) { background: var(--yellow); border-color: var(--yellow); color: var(--ink); }
.search-intro, .search-answer-list { max-width: 1080px; margin: 0 auto; padding: 2.8rem 2rem 0; }
.search-intro { display: grid; gap: 1rem; }
.search-intro p, .search-answer-body p { color: #171717; font-family: var(--serif); font-size: 1.08rem; line-height: 1.82; }
.search-answer-list { display: grid; gap: 0.7rem; padding-bottom: 3.4rem; }
.search-answer { border: 1px solid var(--line); background: var(--white); box-shadow: 7px 7px 0 var(--pale); }
.search-answer summary { display: grid; grid-template-columns: 66px minmax(0, 1fr) 34px; align-items: center; gap: 0.85rem; min-height: 62px; padding: 0.76rem 1rem; cursor: pointer; list-style: none; }
.search-answer summary::-webkit-details-marker { display: none; }
.search-answer summary::after { content: "+"; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line); color: var(--feature-blue); font-family: var(--mono); font-weight: 700; }
.search-answer[open] summary::after { content: "x"; background: var(--yellow); color: var(--ink); }
.search-answer summary span { color: var(--coral); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; }
.search-answer summary strong { color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: clamp(1.25rem, 2.4vw, 1.9rem); font-weight: 400; letter-spacing: 0.02em; line-height: 1; text-transform: uppercase; }
.search-answer-body { display: grid; gap: 0.9rem; border-top: 1px solid var(--line); padding: 1rem 1.2rem 1.15rem calc(66px + 1.85rem); background: linear-gradient(180deg, var(--white), var(--pale)); }
.search-answer-body p { margin: 0; }
.search-answer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin-top: 0.25rem; }
.search-answer-links div { display: grid; gap: 0.35rem; align-content: start; border: 1px solid var(--line); background: var(--white); padding: 0.75rem; }
.search-answer-links strong { color: var(--coral); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.search-answer-links a { color: var(--feature-blue); font-family: var(--mono); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.03em; line-height: 1.45; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.site-search-tool { max-width: 1080px; margin: 0 auto; padding: 3rem 2rem 3.6rem; }
.site-search-shell { display: grid; gap: 0.9rem; border: 2px solid var(--yellow); background: linear-gradient(135deg, #0745B8, #052E7B); box-shadow: 10px 10px 0 var(--pale); padding: clamp(1rem, 3vw, 1.35rem); }
.site-search-page-form { display: grid; gap: 0.65rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
.site-search-page-form label { color: var(--feature-blue); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.site-search-shell .site-search-page-form label { color: var(--yellow); }
.site-search-page-form div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.65rem; }
.site-search-page-form input { min-height: 48px; border: 1px solid var(--line); border-radius: 0; color: var(--ink); font-family: var(--body); font-size: 1rem; padding: 0 0.9rem; }
.site-search-page-form button { min-height: 48px; border: 1px solid var(--ink); border-radius: 0; background: var(--yellow); color: var(--ink); font-family: var(--mono); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.08em; padding: 0 1rem; text-transform: uppercase; }
.site-search-quick { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.site-search-quick a { border: 1px solid rgba(255,255,255,0.42); background: rgba(255,255,255,0.1); color: var(--white); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; padding: 0.45rem 0.56rem; text-decoration: none; text-transform: uppercase; }
.site-search-quick a:hover, .site-search-quick a:focus-visible { border-color: var(--yellow); background: var(--yellow); color: var(--ink); }
.site-search-direct { margin-top: 1.2rem; }
.site-search-direct h2 { color: var(--feature-blue); font-family: var(--hero); font-size: clamp(1.9rem, 4vw, 3.2rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.95; margin-bottom: 0.75rem; text-transform: uppercase; }
.site-search-direct div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.site-search-direct a { display: grid; gap: 0.35rem; border: 1px solid var(--line); background: var(--white); box-shadow: 6px 6px 0 var(--pale); padding: 0.85rem 0.95rem; text-decoration: none; }
.site-search-direct a:hover, .site-search-direct a:focus-visible { border-color: var(--feature-blue); box-shadow: 6px 6px 0 var(--yellow); }
.site-search-direct strong { color: var(--feature-blue); font-family: var(--hero); font-size: clamp(1.35rem, 2.6vw, 2.05rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.95; text-transform: uppercase; }
.site-search-direct span { color: #171717; font-family: var(--serif); font-size: 0.98rem; line-height: 1.48; }
.site-search-hint, .site-search-count { color: #171717; font-family: var(--serif); font-size: 1.05rem; line-height: 1.7; margin-top: 1.25rem; }
.site-search-count { color: var(--feature-blue); font-family: var(--mono); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
.site-search-results { display: grid; gap: 0.75rem; margin-top: 1rem; }
.site-search-card { display: grid; gap: 0.38rem; border: 1px solid var(--line); background: var(--white); box-shadow: 7px 7px 0 var(--pale); padding: 1rem 1.1rem; text-decoration: none; }
.site-search-card:hover, .site-search-card:focus-visible { border-color: var(--feature-blue); box-shadow: 7px 7px 0 var(--yellow); }
.site-search-card span { color: var(--coral); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.site-search-card strong { color: var(--feature-blue); font-family: "Bebas Neue", sans-serif; font-size: clamp(1.45rem, 3vw, 2.35rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.96; text-transform: uppercase; }
.site-search-card p, .site-search-empty { color: #171717; font-family: var(--serif); font-size: 1.04rem; line-height: 1.68; }
.join-section { max-width: 1120px; margin: 0 auto; padding: 4rem 2rem 4.4rem; }
.member-signup-wrap { position: relative; display: grid; justify-items: center; padding-top: 58px; }
.member-face-orbit { position: relative; z-index: 2; display: grid; place-items: center; width: clamp(112px, 15vw, 170px); aspect-ratio: 1; margin-bottom: -56px; border: 4px solid var(--yellow); border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 12px var(--white), 0 24px 55px rgba(7,69,184,0.28); overflow: hidden; }
.member-face-orbit::before { content: ""; position: absolute; inset: -14%; background: radial-gradient(circle at 50% 42%, rgba(7,69,184,0.5), rgba(7,69,184,0) 54%); }
.member-face-orbit img { position: relative; z-index: 1; display: block; width: 100%; height: 100%; object-fit: cover; }
.member-signup-card { width: min(100%, 760px); padding: clamp(4.4rem, 8vw, 5.8rem) clamp(1.1rem, 4vw, 2.4rem) clamp(1.35rem, 3vw, 2rem); border: 2px solid var(--yellow); background: radial-gradient(circle at 50% 0, rgba(7,69,184,0.18), transparent 32%), linear-gradient(135deg, #0745B8, #052E7B); color: var(--white); box-shadow: 12px 12px 0 var(--pale); text-align: center; }
.membership-card { display: grid; justify-items: center; }
.membership-price-lockup { display: inline-grid; gap: 0.1rem; place-items: center; min-width: 132px; margin: 0 0 0.85rem; border: 1px solid rgba(255,255,255,0.42); background: var(--yellow); color: var(--ink); padding: 0.62rem 0.8rem 0.52rem; }
.membership-price-lockup strong { display: block; font-family: var(--hero); font-size: clamp(2.4rem, 5vw, 4.2rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.88; }
.membership-price-lockup span { display: block; font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.2; text-transform: uppercase; }
.membership-pack-card { width: min(100%, 560px); margin: 0 auto 1.05rem; border: 1px solid rgba(7,69,184,0.78); background: rgba(255,255,255,0.1); padding: 0.85rem 0.95rem; text-align: left; }
.membership-pack-card p { display: flex; align-items: baseline; justify-content: space-between; gap: 0.8rem; max-width: none; margin: 0 0 0.62rem; color: var(--white); font-family: var(--mono); line-height: 1.25; }
.membership-pack-card strong { color: var(--yellow); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.membership-pack-card span { color: rgba(255,255,255,0.72); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.membership-pack-card ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.38rem 0.8rem; margin: 0; padding: 0; list-style: none; }
.membership-pack-card li { color: var(--white); font-family: var(--body); font-size: 0.96rem; font-weight: 700; line-height: 1.25; }
.membership-pack-card li::before { content: "+"; color: var(--yellow); font-family: var(--mono); font-weight: 700; margin-right: 0.35rem; }
.member-kicker { margin: 0 0 0.6rem; color: var(--yellow); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; line-height: 1.35; text-transform: uppercase; }
.member-signup-card h2 { color: var(--yellow); font-family: var(--hero); font-size: clamp(2.6rem, 7vw, 5.3rem); font-weight: 400; letter-spacing: 0.025em; line-height: 0.92; text-transform: uppercase; }
.member-signup-card p { max-width: 560px; margin: 0.95rem auto 1.4rem; color: rgba(255,255,255,0.84); font-family: var(--body); font-size: clamp(1.02rem, 2vw, 1.18rem); line-height: 1.62; }
.member-signup-card label { display: block; margin: 0 auto 0.45rem; color: rgba(255,255,255,0.76); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-align: left; text-transform: uppercase; width: min(100%, 560px); }
.form-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.member-input-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.65rem; width: min(100%, 560px); margin: 0 auto; }
.member-input-row input { min-height: 54px; border: 1px solid rgba(255,255,255,0.56); border-radius: 0; background: var(--white); color: var(--ink); font-family: var(--body); font-size: 1.04rem; padding: 0 0.95rem; }
.member-input-row button { min-height: 54px; min-width: 116px; border: 1px solid var(--ink); border-radius: 0; background: var(--yellow); color: var(--ink); font-family: var(--hero); font-size: 1.55rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1; padding: 0 1.1rem; text-transform: uppercase; }
.member-input-row button:hover, .member-input-row button:focus-visible { background: var(--white); color: var(--feature-blue); }
.member-input-row button:disabled { opacity: 0.68; cursor: default; }
.member-signup-card .member-form-note { min-height: 1.4rem; margin: 0.85rem auto 0; color: rgba(255,255,255,0.72); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.07em; line-height: 1.45; text-transform: uppercase; }
.member-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.member-benefit-grid article { border: 1px solid var(--line); background: var(--white); box-shadow: 8px 8px 0 var(--pale); padding: 1.1rem 1.15rem 1.2rem; }
.member-benefit-grid span { display: block; color: var(--coral); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 0.5rem; }
.member-benefit-grid h2 { color: var(--feature-blue); font-family: var(--hero); font-size: clamp(1.55rem, 3vw, 2.2rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.95; margin-bottom: 0.6rem; text-transform: uppercase; }
.member-benefit-grid p { color: #171717; font-family: var(--serif); font-size: 1.04rem; line-height: 1.68; }
.membership-paths { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 1.15rem; }
.membership-paths a { display: grid; gap: 0.35rem; border: 1px solid var(--line); background: var(--white); box-shadow: 8px 8px 0 var(--pale); padding: 0.95rem 1rem; text-decoration: none; }
.membership-paths a:hover, .membership-paths a:focus-visible { border-color: var(--feature-blue); box-shadow: 8px 8px 0 var(--yellow); }
.membership-paths strong { color: var(--feature-blue); font-family: var(--hero); font-size: clamp(1.35rem, 2.7vw, 2.05rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.95; text-transform: uppercase; }
.membership-paths span { color: #171717; font-family: var(--serif); font-size: 0.98rem; line-height: 1.45; }
.say-section { max-width: 980px; margin: 0 auto; padding: 3.5rem 2rem 4.2rem; }
.say-email-gate { position: relative; display: grid; justify-items: center; width: min(100%, 760px); margin: 0 auto 2rem; padding: clamp(4.1rem, 7vw, 5.4rem) clamp(1.1rem, 4vw, 2.4rem) clamp(1.3rem, 3vw, 2rem); border: 2px solid var(--yellow); background: radial-gradient(circle at 50% 0, rgba(7,69,184,0.2), transparent 34%), linear-gradient(135deg, #0745B8, #052E7B); color: var(--white); box-shadow: 12px 12px 0 var(--pale); text-align: center; }
.say-gate-face { position: absolute; top: 0; left: 50%; display: grid; place-items: center; width: clamp(98px, 13vw, 144px); aspect-ratio: 1; border: 4px solid var(--yellow); border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 12px var(--white), 0 20px 46px rgba(7,69,184,0.28); overflow: hidden; transform: translate(-50%, -42%); }
.say-gate-face img { display: block; width: 100%; height: 100%; object-fit: cover; }
.say-email-gate h2, .say-panel-head h2 { color: var(--yellow); font-family: var(--hero); font-size: clamp(2.6rem, 7vw, 5.2rem); font-weight: 400; letter-spacing: 0.025em; line-height: 0.92; text-transform: uppercase; }
.say-email-gate p { max-width: 560px; margin: 0.92rem auto 1.35rem; color: rgba(255,255,255,0.84); font-family: var(--body); font-size: clamp(1.02rem, 2vw, 1.16rem); line-height: 1.62; }
.say-email-gate label { display: block; margin: 0 auto 0.45rem; color: rgba(255,255,255,0.76); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-align: left; text-transform: uppercase; width: min(100%, 560px); }
.say-email-gate .say-consent { display: flex; align-items: center; justify-content: center; gap: 0.55rem; margin: 0.85rem auto 0; color: rgba(255,255,255,0.86); font-family: var(--body); font-size: 1rem; font-weight: 700; letter-spacing: 0; line-height: 1.35; text-align: left; text-transform: none; }
.say-email-gate .say-consent input { flex: 0 0 auto; width: 18px; height: 18px; accent-color: var(--yellow); }
.say-poll-panel { display: grid; gap: 1rem; }
.say-panel-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.35rem; background: var(--blue); color: var(--white); border: 2px solid var(--yellow); }
.say-panel-head button { min-height: 38px; border: 1px solid var(--yellow); background: var(--yellow); color: var(--ink); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; padding: 0 0.8rem; text-transform: uppercase; }
.say-email-line { margin: 0; color: var(--muted); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.say-email-line strong { color: var(--feature-blue); }
.say-poll-list { display: grid; gap: 1rem; }
.say-poll-card { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); box-shadow: 8px 8px 0 var(--pale); padding: 1.15rem 1.2rem 1.25rem; }
.say-poll-card h2 { color: var(--feature-blue); font-family: var(--hero); font-size: clamp(1.7rem, 3.6vw, 2.7rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.95; margin-bottom: 0.9rem; text-transform: uppercase; }
.say-vote-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin: 0 0 0.8rem; border: 0; }
.say-vote-options legend, .say-comment-label { color: var(--muted); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.12em; line-height: 1.4; margin-bottom: 0.45rem; text-transform: uppercase; }
.say-vote-options legend { grid-column: 1 / -1; }
.say-vote-options label { display: flex; align-items: center; justify-content: center; gap: 0.4rem; min-height: 42px; border: 1px solid var(--line); background: var(--pale); color: var(--feature-blue); cursor: pointer; font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.07em; line-height: 1.25; padding: 0.45rem; text-align: center; text-transform: uppercase; }
.say-vote-options label:has(input:checked) { border-color: var(--ink); background: var(--yellow); color: var(--ink); }
.say-vote-options input { accent-color: var(--feature-blue); }
.say-comment-label { display: block; }
.say-comment-input { width: 100%; min-height: 116px; resize: vertical; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); font-family: var(--body); font-size: 1rem; line-height: 1.6; padding: 0.78rem 0.85rem; }
.say-comment-input:focus { outline: 3px solid var(--yellow); outline-offset: 2px; }
.say-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 0.65rem; }
.say-card-footer button { min-height: 42px; border: 1px solid var(--ink); background: var(--yellow); color: var(--ink); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; padding: 0 0.85rem; text-transform: uppercase; }
.say-card-footer button:hover, .say-card-footer button:focus-visible { background: var(--feature-blue); color: var(--white); }
.say-card-footer button:disabled { opacity: 0.62; cursor: default; }
.president-page { background: var(--white); }
.president-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 0.36fr); gap: clamp(1rem, 3vw, 2rem); max-width: 1180px; margin: 0 auto; padding: 3rem 2rem 3.4rem; }
.president-hero-copy { border: 1px solid rgba(7,69,184,0.26); background: linear-gradient(135deg, rgba(214,229,255,0.74), rgba(255,255,255,0.94)); box-shadow: 10px 10px 0 var(--pale); padding: clamp(1.25rem, 3vw, 2.1rem); }
.president-hero-copy h2, .president-section-head h2, .president-sources h2 { color: var(--feature-blue); font-family: var(--hero); font-size: clamp(2.4rem, 5.6vw, 5.4rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.92; text-transform: uppercase; }
.president-hero-copy p, .president-section-head p, .president-wide-copy p, .president-chart-card p, .president-eligibility-card p, .president-route p, .president-fact-grid p, .president-role-list p { color: #171717; font-family: var(--serif); font-size: clamp(1rem, 1.7vw, 1.16rem); line-height: 1.7; margin-top: 0.9rem; }
.president-quote-card { margin-top: 1.25rem; border-left: 4px solid var(--yellow); background: var(--blue); color: var(--white); padding: 1rem 1.15rem; }
.president-quote-card p { color: var(--white); font-family: var(--hero); font-size: clamp(1.8rem, 4vw, 3.1rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.95; margin: 0; text-transform: uppercase; }
.president-quote-card span { display: block; color: rgba(255,255,255,0.68); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.45; margin-top: 0.55rem; text-transform: uppercase; }
.president-verdict-card { display: grid; align-content: start; gap: 0.8rem; border: 1px solid var(--yellow); background: var(--blue); color: var(--white); box-shadow: 10px 10px 0 var(--yellow); padding: 1.1rem; }
.president-verdict-card img { width: 118px; aspect-ratio: 1; border: 3px solid var(--yellow); border-radius: 50%; object-fit: cover; }
.president-verdict-card p, .president-verdict-card span { color: rgba(255,255,255,0.78); font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.45; text-transform: uppercase; }
.president-verdict-card strong { color: var(--yellow); font-family: var(--hero); font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.94; text-transform: uppercase; }
.president-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; max-width: 1180px; margin: 0 auto; padding: 3rem 2rem; }
.president-eligibility-card, .president-chart-card, .president-route article, .president-wide-chart, .president-fact-grid article, .president-role-list article { border: 1px solid rgba(7,69,184,0.24); background: var(--white); box-shadow: 8px 8px 0 var(--pale); padding: 1rem; }
.president-eligibility-card.urgent { border-color: rgba(255,77,77,0.55); box-shadow: 8px 8px 0 rgba(255,77,77,0.12); }
.president-eligibility-card span, .president-route span, .president-fact-grid span, .president-role-list span { color: var(--coral); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.president-eligibility-card h2, .president-chart-card h3, .president-route h3, .president-wide-copy h3, .president-role-list h3 { color: var(--feature-blue); font-family: var(--hero); font-size: clamp(1.6rem, 3.3vw, 2.55rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.96; margin-top: 0.55rem; text-transform: uppercase; }
.president-fact-grid strong { display: block; color: var(--feature-blue); font-family: var(--hero); font-size: clamp(1.7rem, 3.4vw, 2.8rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.95; margin-top: 0.55rem; text-transform: uppercase; }
.president-eligibility-card a, .president-route a, .president-sources a, .president-fact-grid a { color: var(--feature-blue); display: inline-block; font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.45; margin-top: 0.85rem; text-transform: uppercase; }
.president-section { max-width: 1180px; margin: 0 auto; padding: 2.5rem 2rem 3.2rem; }
.president-section-head { max-width: 880px; }
.president-section-head time { display: inline-block; margin-top: 0.75rem; color: var(--coral); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.president-fact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-top: 1.35rem; }
.president-route { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.3rem; }
.president-route-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.president-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.35rem; }
.president-table-wrap { margin-top: 1.35rem; overflow-x: auto; }
.president-legal-table { width: 100%; min-width: 780px; border-collapse: collapse; background: var(--white); box-shadow: 8px 8px 0 var(--pale); }
.president-legal-table th { background: var(--blue); color: var(--yellow); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.35; padding: 0.7rem 0.8rem; text-align: left; text-transform: uppercase; }
.president-legal-table td { border-bottom: 1px solid rgba(7,69,184,0.18); color: #171717; font-family: var(--serif); font-size: 0.98rem; line-height: 1.55; padding: 0.78rem 0.8rem; vertical-align: top; }
.president-legal-table td:first-child { color: var(--feature-blue); font-family: var(--hero); font-size: 1.28rem; font-weight: 400; letter-spacing: 0.02em; line-height: 1; text-transform: uppercase; }
.president-legal-table .eligible, .president-legal-table .ineligible { font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.president-legal-table .eligible { color: #1B5E3B; }
.president-legal-table .ineligible { color: var(--coral); }
.president-role-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.35rem; }
.president-stack { display: flex; height: 32px; overflow: hidden; border: 1px solid rgba(7,69,184,0.24); background: var(--pale); margin: 0.95rem 0 0.65rem; }
.president-stack span { display: block; width: var(--part); min-width: 1px; }
.president-stack em { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.president-stack-key { display: flex; flex-wrap: wrap; gap: 0.45rem 0.7rem; margin-bottom: 0.85rem; }
.president-stack-key span { display: inline-flex; align-items: center; gap: 0.35rem; color: var(--muted); font-family: var(--mono); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.president-stack-key i { display: inline-block; width: 9px; height: 9px; background: currentColor; }
.president-tone-blue { color: var(--feature-blue); }
.president-tone-coral { color: var(--coral); }
.president-tone-purple { color: var(--purple); }
.president-stack .president-tone-blue, .president-stack-key .president-tone-blue i, .president-bar-row.president-tone-blue i { background: var(--feature-blue); }
.president-stack .president-tone-coral, .president-stack-key .president-tone-coral i, .president-bar-row.president-tone-coral i { background: var(--coral); }
.president-stack .president-tone-purple, .president-stack-key .president-tone-purple i, .president-bar-row.president-tone-purple i { background: var(--purple); }
.president-bars { display: grid; gap: 0.48rem; margin-top: 0.75rem; }
.president-bar-row { display: grid; grid-template-columns: 118px minmax(0, 1fr) 52px; align-items: center; gap: 0.62rem; }
.president-bar-row span, .president-bar-row strong { color: var(--ink); font-family: var(--mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.07em; line-height: 1.3; text-transform: uppercase; }
.president-bar-row div { height: 15px; border: 1px solid rgba(7,69,184,0.18); background: var(--pale); }
.president-bar-row i { display: block; width: var(--bar); height: 100%; background: currentColor; }
.president-wide-chart { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1.1fr); gap: clamp(1rem, 3vw, 2rem); margin-top: 1.35rem; }
.president-wide-bars { display: grid; gap: 0.75rem; }
.president-sources { border-top: 1px solid rgba(7,69,184,0.18); }
.president-sources div { display: flex; flex-wrap: wrap; gap: 0.55rem 0.8rem; margin-top: 1rem; }
.president-sources a { margin-top: 0; padding: 0.42rem 0.55rem; border: 1px solid rgba(7,69,184,0.22); background: var(--pale); text-decoration: none; }
.site-footer { background: var(--blue); color: var(--white); border-top: 2px solid var(--yellow); }
.site-footer-main { display: grid; grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr); gap: clamp(1.4rem, 4vw, 3rem); max-width: 1180px; margin: 0 auto; padding: 1.6rem clamp(1rem, 2.6vw, 2.6rem) 1.35rem; }
.site-footer-brand-block { display: grid; align-content: start; gap: 0.85rem; }
.site-footer-portrait { position: relative; display: block; width: clamp(92px, 12vw, 168px); height: clamp(62px, 7.5vw, 96px); overflow: hidden; text-decoration: none; }
.site-footer-portrait img { position: absolute; left: 0; top: 50%; width: clamp(165px, 22vw, 290px); max-width: none; height: auto; transform: translateY(-50%); }
.footer-brand { display: block; color: var(--yellow); font-family: "Bebas Neue", sans-serif; font-size: clamp(1.45rem, 3.5vw, 3.15rem); letter-spacing: 0.04em; line-height: 0.9; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.site-footer-brand-block p { max-width: 280px; color: rgba(255,255,255,0.7); font-family: var(--body); font-size: 0.92rem; line-height: 1.52; }
.site-footer-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.1rem; }
.site-footer-grid section { display: grid; align-content: start; gap: 0.28rem; }
.site-footer-grid h2 { color: var(--yellow); font-family: var(--mono); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.12em; line-height: 1.35; text-transform: uppercase; }
.site-footer-grid a { display: inline-block; color: rgba(255,255,255,0.82); font-family: var(--body); font-size: 0.88rem; font-weight: 600; line-height: 1.35; text-decoration: none; }
.site-footer-grid a:hover, .site-footer-grid a:focus-visible { color: var(--yellow); }
.site-footer-grid .footer-merch { justify-self: start; margin-top: 0.15rem; padding: 0.35rem 0.65rem 0.3rem; background: var(--yellow); color: var(--ink); font-family: "Bebas Neue", sans-serif; letter-spacing: 0.04em; text-transform: uppercase; }
.site-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 1180px; margin: 0 auto; padding: 0.95rem clamp(1rem, 2.6vw, 2.6rem) 1.1rem; border-top: 1px solid rgba(7,69,184,0.28); }
.footer-disclaimer { max-width: 620px; color: rgba(255,255,255,0.54); font-family: var(--mono); font-size: 0.56rem; letter-spacing: 0.05em; line-height: 1.6; }
.footer-date { color: rgba(255,255,255,0.54); font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.08em; text-transform: uppercase; }
:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.sidebar-card, .timeline-card, .faq-item, .index-card, .coverage-group, .gallery-group, .media-slot, .video-list article, .context-links a, .index-card a, .stat-grid, .stat-grid div, .delivery-table, .delivery-row, .delivery-row span { border-color: var(--line); }
.stat-grid, .delivery-table, .delivery-row { background: var(--line); }
@media (max-width: 1060px) {
  .article-layout, .cover-hero { grid-template-columns: 1fr; }
  .article-sidebar { position: static; }
  .feature-article-layout { grid-template-columns: 1fr; }
  .feature-sidebar { position: static; }
  .header-link-nav-home, .header-link-nav-rail { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .header-link-nav-home a, .header-link-nav-rail a { min-height: 78px; }
  .header-link-nav-side { width: min(470px, 44vw); }
  .header-preview-panel { width: min(520px, 48vw); }
  .home-option-copy { grid-template-columns: 1fr; }
  .stat-grid, .media-grid, .response-stat-strip, .delivery-status-key, .sweep-strip, .administration-card-grid, .administration-commissioner-grid, .administration-architecture-grid { grid-template-columns: repeat(2, 1fr); }
  .petition-info-grid { grid-template-columns: 1fr; }
  .member-benefit-grid { grid-template-columns: 1fr; }
  .membership-paths { grid-template-columns: 1fr; }
  .president-hero { grid-template-columns: 1fr; }
  .president-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .president-fact-grid, .president-route, .president-route-four, .president-chart-grid, .president-wide-chart, .president-role-list { grid-template-columns: 1fr; }
  .site-footer-main { grid-template-columns: 1fr; }
  .site-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .content-link-rail { gap: 0.46rem 0.8rem; }
  .calendar-intro, .calendar-event, .events-intro, .member-event-card { grid-template-columns: 1fr; }
  .member-event-facts { grid-template-columns: 1fr; }
  .delivery-row { grid-template-columns: 1fr; min-width: 0; }
}
@media (max-width: 760px) {
  .site-art-banner { grid-template-columns: auto minmax(0, 1fr); gap: 0.6rem 0.85rem; min-height: 0; padding: 0.7rem 1rem 0.85rem; }
  .site-art-banner-portrait { width: 86px; height: 58px; }
  .site-art-banner-portrait img { width: 150px; }
  .site-art-banner-word { font-size: clamp(1.35rem, 7vw, 2rem); letter-spacing: 0.03em; }
  .site-art-banner-menus { grid-column: 1 / -1; min-width: 0; justify-content: flex-start; gap: 0.45rem 0.85rem; margin-left: 0; }
  .site-nav-panel { left: 0; right: auto; min-width: min(80vw, 240px); }
  .site-nav-menu-wide .site-nav-panel { width: calc(100vw - 2rem); grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 70svh; overflow: auto; }
  .site-art-banner-link, .site-art-banner-shop { min-height: 26px; font-size: 0.9rem; }
  .site-banner-search { order: 20; flex: 1 1 100%; margin-left: 0; }
  .site-banner-search input { flex: 1 1 auto; width: auto; }
  .article-header, .article-layout, .home-analysis, .table-section, .timeline-page, .faq-list, .index-list, .coverage-sections, .gallery-page, .calendar-intro, .calendar-list, .events-intro, .events-list, .search-intro, .search-answer-list, .join-section, .site-footer { padding-left: 1rem; padding-right: 1rem; }
  .feature-article-header, .feature-article-layout, .feature-related { padding-left: 1rem; padding-right: 1rem; }
  .feature-stat-callout, .feature-related-grid, .sweep-strip, .sweep-power-grid, .administration-card-grid, .administration-commissioner-grid, .administration-architecture-grid { grid-template-columns: 1fr; }
  .response-stat-strip { grid-template-columns: 1fr; }
  .feature-timeline-item { grid-template-columns: 58px minmax(0, 1fr); }
  .content-link-rail { padding-left: 1rem; padding-right: 1rem; }
  .content-dropdown summary, .search-answer summary { grid-template-columns: 44px minmax(0, 1fr) 30px; gap: 0.65rem; }
  .content-dropdown-body, .search-answer-body { padding: 0.95rem 1rem 1.1rem; }
  .search-answer-links { grid-template-columns: 1fr; }
  .article-related-links div { grid-template-columns: 1fr; }
  .site-search-tool { padding-left: 1rem; padding-right: 1rem; }
  .site-search-page-form div { grid-template-columns: 1fr; }
  .site-search-direct div { grid-template-columns: 1fr; }
  .petition-hero { padding-left: 1rem; padding-right: 1rem; }
  .petition-form-grid { grid-template-columns: 1fr; }
  .join-section { padding-top: 2.4rem; padding-bottom: 3rem; }
  .member-signup-wrap { padding-top: 44px; }
  .member-face-orbit { margin-bottom: -44px; }
  .member-signup-card { padding-top: 4rem; box-shadow: 8px 8px 0 var(--pale); }
  .membership-pack-card p { align-items: start; flex-direction: column; gap: 0.25rem; }
  .membership-pack-card ul { grid-template-columns: 1fr; }
  .member-input-row { grid-template-columns: 1fr; }
  .member-input-row button { min-height: 50px; }
  .say-section { padding: 2.6rem 1rem 3.2rem; }
  .delivery-status-key { grid-template-columns: 1fr; }
  .say-email-gate, .say-poll-card { box-shadow: 8px 8px 0 var(--pale); }
  .say-panel-head { align-items: start; flex-direction: column; }
  .say-vote-options { grid-template-columns: 1fr; }
  .say-card-footer { align-items: start; flex-direction: column; }
  .president-hero, .president-grid, .president-section { padding-left: 1rem; padding-right: 1rem; }
  .president-grid { grid-template-columns: 1fr; }
  .president-hero-copy, .president-verdict-card, .president-eligibility-card, .president-chart-card, .president-route article, .president-wide-chart, .president-fact-grid article, .president-role-list article, .president-legal-table, .sweep-race-card, .sweep-money-box, .sweep-power-grid article { box-shadow: 6px 6px 0 var(--pale); }
  .president-verdict-card { box-shadow: 6px 6px 0 var(--yellow); }
  .president-bar-row { grid-template-columns: 1fr 54px; gap: 0.35rem 0.6rem; }
  .president-bar-row span { grid-column: 1 / -1; }
  .paragraph-face { width: 40px; height: 40px; }
  .home-art-header { padding: 0; }
  .home-art-stage, .header-preview-stage { min-height: 0; border-inline: 0; box-shadow: none; }
  .home-art-stage img, .header-preview-stage > img { position: relative; height: auto; }
  .home-art-stage::after, .header-preview-stage::after, .header-preview-three .header-preview-stage::before { display: none; }
  .header-preview-label { position: relative; left: auto; top: auto; padding: 1rem 1rem 0.2rem; background: #063B9F; text-shadow: none; }
  .header-link-nav-home, .header-link-nav-rail, .header-link-nav-bands, .header-link-nav-panel { position: relative; left: auto; right: auto; bottom: auto; top: auto; grid-template-columns: 1fr; gap: 0; padding: 0 1rem 1rem; border: 0; background: #063B9F; backdrop-filter: none; }
  .header-link-nav-home a, .header-link-nav-rail a, .header-link-nav-bands a, .header-link-nav-panel a { min-height: 74px; padding: 0.75rem 0; border-left: 0; border-top: 1px solid rgba(7,69,184,0.42); border-bottom: 0; background: transparent; }
  .header-preview-one .header-preview-stage { min-height: clamp(620px, 148vw, 820px); }
  .header-preview-one .header-preview-stage > img { position: absolute; inset: 0; height: 100%; object-fit: contain; object-position: center top; background: #063B9F; }
  .header-preview-one .header-link-nav-rail { position: absolute; left: 0.75rem; right: 0.75rem; bottom: 0.75rem; display: grid; grid-auto-flow: column; grid-template-rows: repeat(2, minmax(76px, auto)); grid-auto-columns: minmax(132px, 42vw); overflow-x: auto; gap: 0; padding: 0; border-top: 1px solid rgba(7,69,184,0.74); border-bottom: 1px solid rgba(7,69,184,0.74); background: rgba(3,26,84,0.62); backdrop-filter: blur(2px); scroll-snap-type: x mandatory; }
  .header-preview-one .header-link-nav-rail a { min-height: 76px; padding: 0.68rem 0.62rem; border-top: 0; border-left: 1px solid rgba(7,69,184,0.34); scroll-snap-align: start; }
  .header-preview-one .header-link-nav-rail a:first-child { border-left: 0; }
  .header-link-nav-side { position: relative; right: auto; top: auto; bottom: auto; display: grid; width: auto; grid-template-columns: 1fr; border-left: 0; padding: 0 1rem 1rem; background: #063B9F; }
  .header-link-nav-side a { min-height: 74px; padding: 0.7rem 0; }
  .header-preview-panel { position: relative; right: auto; top: auto; width: auto; padding: 1rem; border: 0; background: #063B9F; transform: none; }
  .header-preview-panel h1 { font-size: clamp(2.3rem, 13vw, 4rem); }
  .home-option-copy { grid-template-columns: 1fr; padding: 2rem 1rem; }
  .home-option-copy-band { padding-inline: 1rem; }
  .home-option-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faq-item summary { grid-template-columns: 52px minmax(0, 1fr) 30px; gap: 0.65rem; min-height: 68px; padding: 0.75rem; }
  .faq-answer { padding: 0.9rem 0.9rem 1.1rem; }
  .faq-answer p { font-size: 1.04rem; }
  .timeline-page, .media-grid, .video-list { grid-template-columns: 1fr; }
  .timeline-disclosure summary { grid-template-columns: 1fr 30px; gap: 0.7rem; }
  .timeline-disclosure summary time { grid-column: 1 / -1; }
  .timeline-card-body { padding: 1rem; }
  .gallery-figure { grid-template-rows: auto auto; }
  .gallery-figure img { min-height: 220px; max-height: none; }
  .site-footer-main { padding: 1.25rem 1rem; }
  .site-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.2rem; }
  .site-footer-portrait { width: 86px; height: 58px; }
  .site-footer-portrait img { width: 150px; }
  .site-footer-inner { align-items: start; flex-direction: column; }
}

.mam-tbp-home { min-height: 100vh; background: #F7FAFF; color: var(--ink); font-family: Cambria, Georgia, serif; line-height: 1.75; }
.mam-tbp-home a { color: var(--feature-blue); text-decoration: none; border-bottom: 1px solid rgba(7,69,184,0.34); }
.mam-tbp-cover-wrap { padding: clamp(1.5rem, 4vw, 3rem) 2rem 1.1rem; }
.mam-tbp-cover-wrap-wide { padding-bottom: 1.25rem; }
.mam-tbp-cover-wrap-full { padding-inline: clamp(1rem, 2vw, 2rem); }
.mam-tbp-cover { max-width: 700px; margin: 0 auto; background: var(--feature-blue); border: 2px solid var(--ink); padding: clamp(1.55rem, 4vw, 2.45rem) clamp(1.35rem, 4vw, 2.25rem); box-shadow: 10px 10px 0 var(--ink); }
.mam-tbp-cover h1 { margin: 0 0 0.28rem; color: var(--white); font-family: Arial, sans-serif; font-size: clamp(2rem, 5vw, 3.35rem); font-weight: 900; letter-spacing: 0.08em; line-height: 1.02; text-transform: uppercase; }
.mam-tbp-cover p { margin: 0; color: rgba(255,255,255,0.86); font-family: Cambria, Georgia, serif; font-size: 0.96rem; font-style: italic; line-height: 1.45; }
.mam-tbp-cover-split { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: clamp(1rem, 3vw, 2rem); max-width: 1040px; background: var(--ink); box-shadow: none; }
.mam-tbp-cover-split div { min-width: 0; padding: clamp(0.4rem, 2vw, 1rem); border-left: 8px solid var(--feature-blue); }
.mam-tbp-cover-split img { width: clamp(96px, 16vw, 160px); aspect-ratio: 1; border: 4px solid var(--feature-blue); border-radius: 50%; background: var(--white); object-fit: cover; }
.mam-tbp-image-cover { max-width: 1040px; margin: 0 auto; overflow: hidden; border: 2px solid var(--feature-blue); background: #063B9F; box-shadow: 10px 10px 0 var(--ink); }
.mam-tbp-image-cover img { display: block; width: 100%; height: auto; }
.mam-tbp-cover-black { max-width: 1180px; background: var(--ink); border-color: var(--feature-blue); box-shadow: none; }
.mam-tbp-cover-black p { color: #BFD8FF; font-family: var(--mono); font-size: 0.62rem; font-style: normal; font-weight: 700; letter-spacing: 0.16em; margin-bottom: 0.45rem; text-transform: uppercase; }
.mam-tbp-cover-black h1 { color: var(--white); font-size: clamp(2.7rem, 8vw, 6.2rem); line-height: 0.9; }
.mam-tbp-nav { display: flex; flex-wrap: wrap; align-items: stretch; max-width: 1040px; min-height: 50px; margin: 0 auto 1.25rem; background: var(--ink); border-top: 3px solid var(--feature-blue); }
.mam-tbp-nav a { display: inline-flex; align-items: center; min-height: 50px; padding: 0 0.88rem; border: 0; border-right: 1px solid rgba(255,255,255,0.1); color: rgba(255,255,255,0.82); font-family: Arial, sans-serif; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.mam-tbp-nav a:hover, .mam-tbp-nav a:focus-visible { background: #1A1A1A; color: var(--white); }
.mam-tbp-wordmark { color: var(--white) !important; }
.mam-tbp-wordmark span { display: inline-block; width: 0.72rem; height: 0.72rem; margin-right: 0.45rem; background: var(--feature-blue); }
.mam-tbp-main { max-width: 700px; margin: 0 auto; padding: 0 2rem 3rem; }
.mam-tbp-main-wide { max-width: 1040px; }
.mam-tbp-intro { margin: 0 0 0.5rem; padding: 1.35rem 0 1.65rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mam-tbp-intro p { margin: 0 0 0.92rem; color: var(--ink); font-size: 0.98rem; line-height: 1.84; }
.mam-tbp-intro p:last-child { margin-bottom: 0; }
.mam-tbp-intro-grid { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); gap: clamp(1.2rem, 4vw, 3rem); align-items: start; background: var(--white); border: 1px solid var(--line); padding: clamp(1.2rem, 3vw, 1.8rem); }
.mam-tbp-intro-grid h2 { margin: 0; color: var(--feature-blue); font-family: var(--hero); font-size: clamp(2.6rem, 5vw, 4.8rem); font-weight: 400; letter-spacing: 0.02em; line-height: 0.94; text-transform: uppercase; }
.mam-tbp-section { padding: 2.15rem 0 1.7rem; border-bottom: 1px solid var(--line); }
.mam-tbp-section h2 { margin: 0 0 0.35rem; color: var(--feature-blue); font-family: Arial, sans-serif; font-size: 0.86rem; font-weight: 900; letter-spacing: 0.14em; line-height: 1.25; text-transform: uppercase; }
.mam-tbp-rule { height: 3px; width: 100%; margin: 0 0 1.05rem; background: var(--feature-blue); }
.mam-tbp-mini-nav { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0 0 1.1rem; padding: 0 0 0.82rem; border-bottom: 1px solid var(--line); }
.mam-tbp-mini-nav a { color: var(--feature-blue); font-size: 0.86rem; font-weight: 700; line-height: 1.3; }
.mam-tbp-section p { margin: 0 0 0.92rem; color: var(--ink); font-size: 0.96rem; line-height: 1.82; }
.mam-tbp-section ul { list-style: none; margin: 0.35rem 0 0; padding: 0; }
.mam-tbp-section li { position: relative; padding: 0.55rem 0 0.55rem 1.1rem; border-bottom: 1px solid var(--line); color: #202636; font-size: 0.92rem; line-height: 1.58; }
.mam-tbp-section li::before { content: ""; position: absolute; left: 0; top: 1.18rem; width: 0.42rem; height: 0.42rem; background: var(--feature-blue); }
.mam-tbp-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.2rem; }
.mam-tbp-two-column .mam-tbp-section:first-child { grid-row: span 2; }
.mam-tbp-directory { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin: 0 0 1.35rem; border: 1px solid var(--ink); background: var(--ink); }
.mam-tbp-directory a { display: grid; align-content: start; gap: 0.28rem; min-height: 116px; padding: 0.8rem; border: 0; background: var(--white); color: var(--ink); }
.mam-tbp-directory span { color: var(--feature-blue); font-family: var(--mono); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.1em; }
.mam-tbp-directory strong { color: var(--ink); font-family: var(--hero); font-size: clamp(1.15rem, 1.8vw, 1.6rem); font-weight: 400; letter-spacing: 0.03em; line-height: 0.94; text-transform: uppercase; }
.mam-tbp-directory em { color: var(--muted); font-family: var(--mono); font-size: 0.52rem; font-style: normal; font-weight: 700; letter-spacing: 0.06em; line-height: 1.38; text-transform: uppercase; }
.mam-tbp-route-three .mam-tbp-intro { background: var(--white); border: 1px solid var(--line); padding: 1.2rem; }
@media (max-width: 760px) {
  .mam-tbp-cover-wrap { padding-inline: 1rem; }
  .mam-tbp-main { padding-inline: 1rem; }
  .mam-tbp-nav { margin-inline: 1rem; }
  .mam-tbp-nav a { flex: 1 1 42%; justify-content: center; padding: 0 0.65rem; font-size: 0.66rem; }
  .mam-tbp-cover { box-shadow: 6px 6px 0 var(--ink); }
  .mam-tbp-image-cover { box-shadow: 6px 6px 0 var(--ink); }
  .mam-tbp-cover-split, .mam-tbp-intro-grid, .mam-tbp-two-column { grid-template-columns: 1fr; }
  .mam-tbp-cover-split img { justify-self: start; }
  .mam-tbp-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Header blue and black refresh */
.home-art-header { border-bottom-color: var(--feature-blue); }
.header-preview-stage { border-bottom-color: var(--feature-blue); }
.header-preview-label { color: var(--ink); text-shadow: none; }
.header-link-nav a { color: var(--ink); text-shadow: none; }
.header-link-nav a:hover, .header-link-nav a:focus-visible { color: var(--feature-blue); }
.header-link-nav span { color: var(--feature-blue); }
.header-link-nav em { color: rgba(13,13,13,0.72); }
.header-link-nav strong { font-size: clamp(0.98rem, 1.45vw, 1.65rem); letter-spacing: 0.045em; }
.header-link-nav-home, .header-link-nav-rail, .header-preview-one .header-link-nav-rail { border-top: 1px solid rgba(7,69,184,0.82); border-bottom: 1px solid rgba(7,69,184,0.82); background: rgba(255,255,255,0.84); }
.header-link-nav-home a, .header-link-nav-rail a, .header-preview-one .header-link-nav-rail a { min-height: 80px; padding: 0.66rem 0.64rem; border-left-color: rgba(7,69,184,0.25); }
.header-link-nav-side { border-left-color: rgba(7,69,184,0.78); }
.header-link-nav-side a { border-bottom-color: rgba(7,69,184,0.24); }
.header-link-nav-bands a, .header-link-nav-panel a { border-color: rgba(7,69,184,0.42); background: rgba(255,255,255,0.82); }
.header-preview-panel { border-color: rgba(7,69,184,0.72); background: rgba(255,255,255,0.84); }
.header-preview-panel h1 { color: var(--ink); font-size: clamp(2.1rem, 4.2vw, 4.35rem); text-shadow: none; }
.home-option-copy-offset { border-left-color: var(--feature-blue); }
.site-art-banner { min-height: clamp(58px, 5.4vw, 76px); background: var(--blue); border-bottom: 2px solid var(--ink); }
.site-art-banner-word { color: var(--white); font-size: clamp(1.18rem, 2.45vw, 2.35rem); letter-spacing: 0.035em; }
.site-art-banner-link, .site-art-banner-shop, .site-nav-menu summary { color: rgba(255,255,255,0.88); font-size: clamp(0.78rem, 1.02vw, 0.98rem); }
.site-art-banner-link:hover, .site-art-banner-link:focus-visible, .site-nav-menu[open] summary { color: #D6E5FF; }
.site-nav-menu summary::after, .site-nav-panel-section h2 { color: #D6E5FF; }
.site-nav-panel { border-color: rgba(255,255,255,0.22); background: #052E7B; box-shadow: 0 18px 38px rgba(0,0,0,0.28); }
.site-nav-panel .site-art-banner-link, .site-nav-panel .site-art-banner-shop { border-bottom-color: rgba(255,255,255,0.1); }
.site-art-banner-shop, .site-banner-search button, .content-link-rail .content-link-shop { background: var(--ink); border-color: var(--ink); color: var(--white); }
.site-banner-search input { border-color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.12); color: var(--white); font-size: 0.58rem; }
.site-banner-search input::placeholder { color: rgba(255,255,255,0.62); }
.thin-mamdani-divider { background: var(--blue); border-bottom: 2px solid var(--ink); color: var(--white); }
.thin-mamdani-divider img { border-color: rgba(255,255,255,0.28); }
.thin-mamdani-divider span { color: var(--white); font-size: clamp(0.98rem, 1.75vw, 1.42rem); }

