/* ══════════════════════════════════════════════════════════════════════════
   OXFORD-METRO ANALYTICS — v4.0 COMPLETE STYLESHEET
   Covers: front-page.php + page-vote.php
   ══════════════════════════════════════════════════════════════════════════ */

/* ─── DESIGN TOKENS ─────────────────────────────────────────────────────── */
:root {
  --nv:   #002147;
  --nv2:  #001530;
  --nv3:  #003070;
  --gd:   #B8962E;
  --gd2:  #D4AE48;
  --gd3:  #F0D070;
  --cr:   #F5F5F0;
  --cr2:  #EBEBDF;
  --wh:   #FFFFFF;
  --dk:   #0A0A0A;
  --g1:   #4B5563;
  --g2:   #9CA3AF;
  --g3:   #D1D5DB;
  --red:  #CC1B1B;
  --font-d: 'EB Garamond', Georgia, serif;
  --font-u: 'DM Sans', system-ui, sans-serif;
  --tr: 0.2s cubic-bezier(0.4,0,0.2,1);
}
*, *::before, *::after { box-sizing: border-box; }

/* ─── ANIMATIONS ─────────────────────────────────────────────────────────── */
@keyframes omaPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(229,62,62,.5); }
  50%     { box-shadow: 0 0 0 6px rgba(229,62,62,0); }
}
@keyframes omaGoldPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(184,150,46,.5); }
  50%     { box-shadow: 0 0 0 6px rgba(184,150,46,0); }
}
@keyframes omaFadeUp {
  from { opacity:0; transform:translateY(16px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes omaSpin {
  to { transform: rotate(360deg); }
}

/* ─── SHARED UTILITIES ────────────────────────────────────────────────────── */
.oma-live-dot {
  display: inline-block; width: 7px; height: 7px; border-radius: 50%;
  background: #E53E3E; flex-shrink: 0; animation: omaPulse 1.8s ease infinite;
}
.oma-live-dot--gold { background: var(--gd2); animation: omaGoldPulse 1.8s ease infinite; }
.oma-live-dot--sm   { width: 5px; height: 5px; }
.oma-pulse-dot {
  display: inline-block; width: 7px; height: 7px; border-radius: 50%;
  background: var(--gd2); animation: omaGoldPulse 1.8s ease infinite;
}

.oma-v4-eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--font-u); font-size: .65rem; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
  color: var(--g1); margin-bottom: 12px;
}
.oma-v4-eyebrow--gold  { color: var(--gd2); }
.oma-v4-eyebrow--light { color: rgba(255,255,255,.45); }

.oma-v4-section-title {
  font-family: var(--font-d); font-size: clamp(1.7rem, 3.5vw, 2.6rem);
  font-weight: 700; color: var(--nv); line-height: 1.12; margin: 0 0 10px;
}
.oma-v4-section-title--light { color: var(--wh); }
.oma-v4-section-title-sm {
  font-family: var(--font-d); font-size: 1.4rem; font-weight: 700;
  color: var(--wh); line-height: 1.2; margin: 0 0 10px;
}
.oma-v4-section-sub {
  font-size: .88rem; line-height: 1.7; color: var(--g1); margin: 0 0 8px; max-width: 600px;
}
.oma-v4-section-sub--light { color: rgba(255,255,255,.6); }

.oma-v4-section { font-family: var(--font-u); }
.oma-v4-section__inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.oma-v4-section__hdr {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: 24px; margin-bottom: 36px; padding-bottom: 18px; border-bottom: 2px solid var(--nv);
}

/* Buttons */
.oma-btn-v4-gold, .oma-btn-v4-primary {
  display: inline-flex; align-items: center; gap: 7px; padding: 12px 24px;
  background: var(--gd); color: var(--nv); font-family: var(--font-u);
  font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  text-decoration: none; border: none; cursor: pointer; transition: background var(--tr);
}
.oma-btn-v4-gold:hover, .oma-btn-v4-primary:hover { background: var(--gd2); }

.oma-btn-v4-outline, .oma-btn-v4-secondary {
  display: inline-flex; align-items: center; gap: 7px; padding: 11px 22px;
  background: transparent; color: var(--nv); border: 1.5px solid var(--nv);
  font-family: var(--font-u); font-size: .78rem; font-weight: 600;
  letter-spacing: .05em; text-transform: uppercase; text-decoration: none;
  cursor: pointer; transition: background var(--tr), color var(--tr);
}
.oma-btn-v4-outline:hover, .oma-btn-v4-secondary:hover { background: var(--nv); color: var(--wh); }

.oma-btn-v4-outline-light {
  display: inline-flex; align-items: center; gap: 7px; padding: 11px 22px;
  background: transparent; color: rgba(255,255,255,.7);
  border: 1.5px solid rgba(255,255,255,.2); font-family: var(--font-u);
  font-size: .78rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; transition: border-color var(--tr), color var(--tr);
}
.oma-btn-v4-outline-light:hover { border-color: var(--gd2); color: var(--gd2); }

.oma-v4-tag {
  display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px;
  font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--nv); background: rgba(0,33,71,.08); border: 1px solid rgba(0,33,71,.12);
}
.oma-v4-tag--live { color: #E53E3E; background: rgba(229,62,62,.06); border-color: rgba(229,62,62,.2); }
.oma-v4-status-tag {
  font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.45); background: rgba(255,255,255,.07); padding: 3px 8px;
}
.oma-v4-realign-tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  color: var(--gd2); border: 1px solid rgba(212,174,72,.3); padding: 5px 10px; white-space: nowrap;
}


/* ══════════════════════════════════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════════════════════════════════ */
.oma-hero-v4 {
  position: relative; background: var(--nv); overflow: hidden;
  padding: 88px 0 68px; font-family: var(--font-u); isolation: isolate;
}
.oma-hero-v4__grid {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(184,150,46,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(184,150,46,.05) 1px, transparent 1px);
  background-size: 42px 42px;
}
.oma-hero-v4__scanlines {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(0,0,0,.06) 3px, rgba(0,0,0,.06) 4px);
}
.oma-hero-v4__diagonal {
  position: absolute; top: -20%; right: -5%; width: 55%; height: 140%;
  background: linear-gradient(135deg, transparent 40%, rgba(184,150,46,.04) 100%);
  border-left: 1px solid rgba(184,150,46,.1); transform: skewX(-8deg);
}
.oma-hero-v4__glow {
  position: absolute; top: -80px; right: 5%; width: 420px; height: 420px; border-radius: 50%;
  background: radial-gradient(circle, rgba(184,150,46,.07) 0%, transparent 70%);
}
.oma-hero-v4__inner {
  position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: 1fr 330px; gap: 56px; align-items: start;
}
.oma-hero-v4__left { animation: omaFadeUp .65s ease both; }
.oma-hero-v4__eyebrow {
  display: flex; align-items: center; gap: 8px;
  font-size: .63rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.45); margin-bottom: 18px;
}
.oma-hero-v4__eyebrow-sep { opacity: .25; }
.oma-hero-v4__eyebrow-cd { color: var(--gd2); }
.oma-hero-v4__eyebrow-date { color: rgba(255,255,255,.6); }
.oma-hero-v4__headline {
  font-family: var(--font-d); font-size: clamp(2.8rem, 5.5vw, 4.6rem);
  font-weight: 700; line-height: 1.07; color: var(--wh); margin: 0 0 20px; letter-spacing: -.01em;
}
.oma-hero-v4__headline em { color: var(--gd2); font-style: italic; }
.oma-hero-v4__sub {
  font-size: 1.02rem; line-height: 1.7; color: rgba(255,255,255,.72); margin: 0 0 26px; max-width: 520px;
}
.oma-hero-v4__trust {
  display: flex; align-items: center; gap: 12px; margin-bottom: 28px; flex-wrap: wrap;
}
.oma-hero-v4__trust-item {
  display: flex; align-items: center; gap: 5px;
  font-size: .7rem; font-weight: 600; letter-spacing: .05em;
  color: rgba(255,255,255,.5); text-transform: uppercase;
}
.oma-hero-v4__trust-item svg { color: var(--gd2); }
.oma-hero-v4__trust-sep { color: rgba(255,255,255,.18); }
.oma-hero-v4__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.oma-hero-v4__stats {
  display: flex; align-items: center;
  border-top: 1px solid rgba(255,255,255,.08); padding-top: 22px; flex-wrap: wrap;
}
.oma-v4stat { flex: 1; min-width: 90px; padding: 0 8px; }
.oma-v4stat:first-child { padding-left: 0; }
.oma-v4stat__num {
  font-family: var(--font-d); font-size: 1.6rem; font-weight: 700; color: var(--wh); line-height: 1;
}
.oma-v4stat__label {
  font-size: .6rem; font-weight: 600; letter-spacing: .08em;
  text-transform: uppercase; color: rgba(255,255,255,.4); margin-top: 4px;
}
.oma-v4stat__div { width: 1px; height: 36px; background: rgba(255,255,255,.1); margin: 0 8px; }

/* Hero right */
.oma-hero-v4__right { animation: omaFadeUp .65s .18s ease both; }
.oma-v4-cd-card {
  background: rgba(255,255,255,.04); border: 1px solid rgba(184,150,46,.2);
  padding: 20px 22px 18px; margin-bottom: 14px;
}
.oma-v4-cd-card__label {
  display: flex; align-items: center; gap: 7px;
  font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.4); margin-bottom: 14px;
}
.oma-v4-cd-card__label svg { color: var(--gd2); animation: omaPulse 1.8s ease infinite; }
.oma-v4-cd-card__units { display: flex; align-items: center; gap: 4px; }
.oma-v4-cdu { text-align: center; flex: 1; }
.oma-v4-cdu__n {
  display: block; font-family: var(--font-d);
  font-size: 1.9rem; font-weight: 700; color: var(--gd2); line-height: 1;
}
.oma-v4-cdu__l {
  display: block; font-size: .5rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(255,255,255,.3); margin-top: 3px;
}
.oma-v4-cdu__sep {
  font-size: 1.4rem; font-weight: 700; color: rgba(184,150,46,.35);
  line-height: 1; align-self: flex-start; margin-top: 4px; margin-bottom: 12px;
}
.oma-v4-tracker-card {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); margin-bottom: 14px;
}
.oma-v4-tracker-card__head {
  display: flex; align-items: center; gap: 8px; padding: 12px 16px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: .63rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.45);
}
.oma-v4-tracker-card__badge {
  margin-left: auto; font-size: .52rem; font-weight: 800; letter-spacing: .1em;
  color: var(--nv); background: var(--gd); padding: 2px 8px;
}
.oma-v4-tracker-card__body { padding: 16px; min-height: 60px; }
.oma-v4-tally-empty {
  display: flex; align-items: center; gap: 8px;
  font-size: .72rem; color: rgba(255,255,255,.3); font-style: italic;
}
.oma-v4-tracker-card__foot {
  padding: 10px 16px; border-top: 1px solid rgba(255,255,255,.06);
  font-size: .62rem; color: rgba(255,255,255,.3); line-height: 1.5;
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
}
.oma-v4-tracker-card__cta {
  color: var(--gd2); font-weight: 700; text-decoration: none;
  white-space: nowrap; font-size: .65rem; letter-spacing: .05em;
}
.oma-v4-tracker-card__cta:hover { color: var(--gd3); }
.oma-v4-brand-pill {
  display: flex; align-items: center; gap: 8px;
  font-size: .68rem; color: rgba(255,255,255,.3); font-family: var(--font-d);
  padding: 10px 0; letter-spacing: .02em;
}
.oma-v4-brand-pill span:first-child { color: rgba(255,255,255,.5); font-weight: 600; }
.oma-v4-brand-pill__sep { opacity: .3; }
.oma-v4-brand-pill em { font-style: italic; }


/* ═══ PILLARS BAND ═══ */
.oma-pillars-band {
  background: var(--nv2); border-top: 2px solid var(--gd); padding: 13px 0; font-family: var(--font-u);
}
.oma-pillars-band__inner {
  max-width: 1200px; margin: 0 auto; padding: 0 40px;
  display: flex; gap: 32px; align-items: center; justify-content: center; flex-wrap: wrap;
}
.oma-pb-item {
  display: flex; align-items: center; gap: 8px;
  font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255,255,255,.5); white-space: nowrap;
}
.oma-pb-item svg { color: var(--gd2); }
.oma-pb-sep { width: 1px; height: 18px; background: rgba(255,255,255,.1); }


/* ═══ S2: BIGGEST POLL ═══ */
.oma-bigpoll-v4 { background: var(--cr); padding: 78px 0; }
.oma-bigpoll-v4__layout { display: grid; grid-template-columns: 1.3fr 1fr; gap: 44px; align-items: start; }
.oma-bigpoll-v4__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }

.oma-v4-poll-frame { background: var(--wh); border: 1px solid var(--cr2); }
.oma-v4-poll-frame__head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 18px; border-bottom: 1px solid var(--cr2);
}
.oma-v4-poll-frame__title {
  font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--nv);
}
.oma-v4-poll-frame__status {
  display: flex; align-items: center; gap: 5px;
  font-size: .6rem; font-weight: 700; color: var(--g2); letter-spacing: .07em; text-transform: uppercase;
}
.oma-v4-metric { padding: 10px 18px; border-bottom: 1px solid rgba(0,0,0,.04); }
.oma-v4-metric:last-of-type { border-bottom: none; }
.oma-v4-metric__row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; }
.oma-v4-metric__label { font-size: .78rem; font-weight: 600; color: var(--nv); }
.oma-v4-metric__pct   { font-size: .7rem; font-weight: 700; color: var(--g2); }
.oma-v4-metric__track { height: 5px; background: var(--cr2); overflow: hidden; }
.oma-v4-metric__fill  { height: 100%; width: 0%; transition: width 1s ease; }
.oma-v4-poll-frame__foot {
  display: flex; align-items: flex-start; gap: 7px;
  padding: 12px 18px; font-size: .65rem; color: var(--g2);
  line-height: 1.5; font-style: italic;
  background: rgba(0,0,0,.02); border-top: 1px solid var(--cr2);
}


/* ═══ S3: PRIMARY PULSE ═══ */
.oma-pulse-v4 {
  background: var(--nv); padding: 78px 0;
  position: relative; overflow: hidden; font-family: var(--font-u);
}
.oma-pulse-v4::before {
  content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(184,150,46,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(184,150,46,.03) 1px, transparent 1px);
  background-size: 56px 56px;
}
.oma-pulse-v4__head {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 32px; margin-bottom: 32px; flex-wrap: wrap;
}
.oma-pulse-v4__head-left { flex: 1; min-width: 280px; }

.oma-v4-voting-badge {
  position: relative; flex-shrink: 0;
  display: flex; align-items: center; gap: 14px;
  background: rgba(184,150,46,.08); border: 1px solid rgba(184,150,46,.25); padding: 14px 18px;
}
.oma-v4-voting-badge__ring {
  position: absolute; inset: -6px;
  border: 2px dashed rgba(184,150,46,.3); animation: omaSpin 8s linear infinite;
}
.oma-v4-voting-badge__lock { color: var(--gd2); }
.oma-v4-voting-badge__text { display: flex; flex-direction: column; }
.oma-v4-voting-badge__label {
  font-size: .6rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(255,255,255,.4);
}
.oma-v4-voting-badge__timer {
  font-family: var(--font-d); font-size: 1.5rem; font-weight: 700;
  color: var(--gd2); line-height: 1.1; animation: omaGoldPulse 2s ease infinite;
}

.oma-v4-data-notice {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px 18px; border: 2px solid var(--red);
  background: rgba(204,27,27,.08); margin-bottom: 36px; font-family: var(--font-u);
}
.oma-v4-data-notice svg { color: #FF6B6B; flex-shrink: 0; margin-top: 2px; }
.oma-v4-data-notice strong { color: var(--wh); font-size: .82rem; display: block; margin-bottom: 3px; }
.oma-v4-data-notice span { font-size: .78rem; color: rgba(255,255,255,.55); line-height: 1.55; }
.oma-v4-data-notice em { color: #FF6B6B; font-style: normal; font-weight: 700; }

.oma-pulse-v4__parties { display: flex; flex-direction: column; gap: 28px; }
.oma-pulse-v4__party-head {
  display: flex; align-items: center; gap: 12px;
  padding-bottom: 12px; margin-bottom: 14px;
  border-bottom: 1px solid rgba(184,150,46,.12); flex-wrap: wrap;
}
.oma-pulse-v4__party-badge {
  font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px;
}
.oma-pulse-v4__party-name { font-size: .78rem; font-weight: 600; color: rgba(255,255,255,.55); }
.oma-pulse-v4__contenders {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px;
}
.oma-pulse-v4__cand {
  display: flex; align-items: center; gap: 12px; padding: 14px;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
  cursor: not-allowed; user-select: none;
}
.oma-pulse-v4__cand-avatar {
  width: 40px; height: 40px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: .65rem; font-weight: 800;
}
.oma-pulse-v4__cand-info { flex: 1; }
.oma-pulse-v4__cand-name  { font-size: .82rem; font-weight: 700; color: var(--wh); }
.oma-pulse-v4__cand-title { font-size: .68rem; color: rgba(255,255,255,.4); margin-top: 2px; }
.oma-pulse-v4__cand-lock {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  color: rgba(184,150,46,.5); font-size: .5rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}

.oma-pulse-v4__submit-zone { margin-top: 28px; text-align: center; }
.oma-pulse-v4__submit-btn {
  display: inline-flex; align-items: center; gap: 10px; padding: 14px 32px;
  background: rgba(184,150,46,.12); border: 1.5px solid rgba(184,150,46,.3);
  color: rgba(255,255,255,.4); font-family: var(--font-u); font-size: .8rem;
  font-weight: 700; letter-spacing: .06em; text-transform: uppercase; cursor: not-allowed;
}
.oma-pulse-v4__submit-sub { font-size: .72rem; color: rgba(255,255,255,.3); margin-top: 10px; line-height: 1.55; }
.oma-pulse-v4__disclaimer {
  margin-top: 28px; padding: 16px 20px;
  border: 2px solid var(--red); background: rgba(204,27,27,.06);
  font-size: .8rem; font-weight: 700; color: #FF6B6B; line-height: 1.55;
}
.oma-pulse-v4__disclaimer strong { color: var(--wh); }


/* ═══ S4: LATEST POLLS ═══ */
.oma-latest-v4 { background: var(--cr); padding: 78px 0; }
.oma-latest-v4__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.oma-latest-v4__card {
  background: var(--wh); border: 1px solid var(--cr2); padding: 26px;
  display: flex; flex-direction: column; position: relative;
  transition: box-shadow var(--tr), transform var(--tr);
}
.oma-latest-v4__card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--nv);
}
.oma-latest-v4__card:hover { box-shadow: 0 6px 32px rgba(0,33,71,.12); transform: translateY(-2px); }
.oma-latest-v4__card-top { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.oma-latest-v4__card-type {
  font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; border: 1px solid; padding: 3px 8px;
}
.oma-latest-v4__card-zone { font-size: .6rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--g2); }
.oma-latest-v4__card-h { font-family: var(--font-d); font-size: 1.1rem; font-weight: 700; color: var(--nv); line-height: 1.25; margin: 0 0 8px; }
.oma-latest-v4__card-desc { font-size: .78rem; color: var(--g1); line-height: 1.6; flex: 1; margin-bottom: 16px; }
.oma-latest-v4__frame { background: var(--cr); padding: 14px; margin-bottom: 16px; }
.oma-latest-v4__bars { display: flex; gap: 4px; margin-bottom: 8px; }
.oma-latest-v4__bar { height: 24px; width: 0%; background: var(--bar-col, var(--nv)); transition: width 1s ease; }
.oma-latest-v4__frame-label { display: flex; align-items: center; gap: 6px; font-size: .62rem; color: var(--g2); font-style: italic; }
.oma-latest-v4__card-foot {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 12px; border-top: 1px solid var(--cr2); margin-top: auto;
}
.oma-latest-v4__card-ts { display: flex; align-items: center; gap: 5px; font-size: .6rem; color: var(--g3); text-transform: uppercase; letter-spacing: .05em; }
.oma-latest-v4__card-link { font-size: .7rem; font-weight: 700; color: var(--nv); text-decoration: none; letter-spacing: .05em; text-transform: uppercase; }
.oma-latest-v4__card-link:hover { color: var(--gd); }


/* ═══ S5: CANDIDATE TRACKER ═══ */
.oma-tracker-v4 { background: var(--nv2); padding: 78px 0; font-family: var(--font-u); }
.oma-tracker-v4__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.oma-tracker-v4__party {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
  position: relative;
}
.oma-tracker-v4__party::before {
  content: ''; position: absolute; top: 0; left: 0; bottom: 0; width: 3px;
  background: var(--tp-col, var(--gd));
}
.oma-tracker-v4__party-head { padding: 16px 18px; display: flex; align-items: flex-start; gap: 14px; flex-wrap: wrap; }
.oma-tracker-v4__party-badge {
  font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  padding: 5px 12px; flex-shrink: 0; color: var(--gd2);
}
.oma-tracker-v4__party-meta { flex: 1; min-width: 0; }
.oma-tracker-v4__party-name { font-size: .8rem; font-weight: 700; color: var(--wh); margin-bottom: 3px; }
.oma-tracker-v4__party-outlook { font-size: .72rem; color: rgba(255,255,255,.45); line-height: 1.5; font-style: italic; }
.oma-tracker-v4__divider { height: 1px; background: rgba(255,255,255,.06); margin: 0 18px 16px; }
.oma-tracker-v4__cand { display: flex; gap: 12px; padding: 0 18px 16px; align-items: flex-start; }
.oma-tracker-v4__cand-left { flex-shrink: 0; }
.oma-tracker-v4__cand-avatar {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  font-size: .62rem; font-weight: 800; color: rgba(255,255,255,.7);
}
.oma-tracker-v4__cand-body { flex: 1; min-width: 0; }
.oma-tracker-v4__cand-name { font-size: .84rem; font-weight: 700; color: var(--wh); margin-bottom: 1px; }
.oma-tracker-v4__cand-title { font-size: .68rem; color: var(--gd2); margin-bottom: 5px; text-transform: uppercase; letter-spacing: .05em; font-weight: 600; }
.oma-tracker-v4__cand-policy { font-size: .72rem; color: rgba(255,255,255,.5); line-height: 1.5; margin-bottom: 5px; }
.oma-tracker-v4__cand-strength { font-size: .7rem; color: rgba(255,255,255,.4); line-height: 1.45; margin-bottom: 10px; }
.oma-tracker-v4__cand-strength-lbl { font-weight: 700; color: rgba(255,255,255,.55); }
.oma-tracker-v4__bar-wrap { display: flex; align-items: center; gap: 10px; }
.oma-tracker-v4__bar-track { flex: 1; height: 3px; background: rgba(255,255,255,.08); overflow: hidden; }
.oma-tracker-v4__bar-fill { height: 100%; width: 0%; }
.oma-tracker-v4__bar-pct { font-size: .58rem; font-weight: 700; color: rgba(255,255,255,.25); letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }


/* ═══ S6: REGIONAL STRENGTH ═══ */
.oma-regional-v4 { background: var(--cr); padding: 78px 0; }
.oma-regional-v4__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.oma-regional-v4__zone {
  display: block; text-decoration: none;
  background: var(--wh); border: 1px solid var(--cr2); padding: 22px; position: relative;
  transition: box-shadow var(--tr), transform var(--tr);
}
.oma-regional-v4__zone:hover { box-shadow: 0 6px 24px rgba(0,33,71,.1); transform: translateY(-2px); }
.oma-regional-v4__zone::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--zone-col, var(--nv)); }
.oma-regional-v4__zone-top { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.oma-regional-v4__zone-badge { padding: 4px 10px; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--wh); }
.oma-regional-v4__zone-name { font-family: var(--font-d); font-size: 1.1rem; font-weight: 700; color: var(--nv); }
.oma-regional-v4__zone-states { font-size: .68rem; color: var(--g2); margin-bottom: 10px; line-height: 1.5; }
.oma-regional-v4__zone-insight { font-size: .78rem; color: var(--g1); line-height: 1.6; margin: 0 0 14px; }
.oma-regional-v4__zone-bar-wrap { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.oma-regional-v4__zone-bar-track { flex: 1; height: 3px; background: var(--cr2); overflow: hidden; }
.oma-regional-v4__zone-bar-fill { height: 100%; width: 0%; }
.oma-regional-v4__zone-bar-lbl { font-size: .58rem; color: var(--g3); font-style: italic; white-space: nowrap; }
.oma-regional-v4__zone-cta { font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }


/* ═══ S7: FACTS OVER RUMORS ═══ */
.oma-facts-v4 {
  background: var(--nv); padding: 78px 0; position: relative; overflow: hidden; font-family: var(--font-u);
}
.oma-facts-v4::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 80% at 70% 50%, rgba(184,150,46,.05) 0%, transparent 70%);
}
.oma-facts-v4__inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.oma-facts-v4__layout { display: grid; grid-template-columns: 380px 1fr; gap: 64px; align-items: center; }
.oma-facts-v4__headline {
  font-family: var(--font-d); font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 700; color: var(--wh); line-height: 1.1; margin: 10px 0 24px;
}
.oma-facts-v4__headline em { color: var(--gd2); font-style: italic; }
.oma-facts-v4__var-badge {
  display: flex; align-items: flex-start; gap: 14px;
  background: rgba(184,150,46,.1); border: 1px solid rgba(184,150,46,.25); padding: 16px; margin-bottom: 24px;
}
.oma-var-v4__icon {
  font-family: var(--font-d); font-size: 1.2rem; font-weight: 700;
  color: var(--nv); background: var(--gd); padding: 4px 10px; flex-shrink: 0; line-height: 1;
}
.oma-var-v4__text strong { display: block; font-size: .82rem; color: var(--gd2); margin-bottom: 3px; }
.oma-var-v4__text span  { font-size: .75rem; color: rgba(255,255,255,.5); line-height: 1.5; }
.oma-facts-v4__quote {
  border-left: 3px solid var(--gd); padding-left: 26px; margin: 0; position: relative;
}
.oma-facts-v4__quote-mark {
  position: absolute; top: -12px; left: 18px;
  font-family: var(--font-d); font-size: 4rem; color: rgba(184,150,46,.15); line-height: 1; user-select: none;
}
.oma-facts-v4__quote p { font-family: var(--font-d); font-size: 1.05rem; line-height: 1.78; color: rgba(255,255,255,.8); margin: 0 0 14px; }
.oma-facts-v4__quote p:last-of-type { margin-bottom: 18px; }
.oma-facts-v4__quote strong { color: var(--wh); font-weight: 700; }
.oma-facts-v4__quote-foot { display: flex; flex-direction: column; gap: 3px; }
.oma-facts-v4__quote-brand { font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--gd2); }
.oma-facts-v4__quote-tagline { font-size: .72rem; color: rgba(255,255,255,.35); font-style: italic; }


/* ═══ S8: WHAT NIGERIANS ARE SAYING ═══ */
.oma-sentiment-v4 { background: var(--nv2); padding: 78px 0; font-family: var(--font-u); }
.oma-sentiment-v4__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; }

.hp-poll-lang-switch { display: flex; gap: 8px; margin-bottom: 18px; }
.hp-lang-btn {
  padding: 6px 16px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.45); font-family: var(--font-u); font-size: .7rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
  transition: background var(--tr), color var(--tr), border-color var(--tr);
}
.hp-lang-btn:hover, .hp-lang-btn.active { background: var(--gd); color: var(--nv); border-color: var(--gd); }
.hp-poll-thankyou {
  display: flex; align-items: flex-start; gap: 10px; padding: 14px;
  background: rgba(26,107,60,.15); border: 1px solid rgba(26,107,60,.4);
  font-size: .82rem; color: rgba(255,255,255,.7); line-height: 1.5; margin-bottom: 16px;
}
.hp-poll-thankyou svg { color: #68D391; flex-shrink: 0; }
.hp-poll-thankyou strong { color: var(--wh); }
.hp-poll-options { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.hp-poll-opt {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px; width: 100%; text-align: left;
  background: rgba(255,255,255,.04); border: 1.5px solid rgba(255,255,255,.07); cursor: pointer;
  transition: background var(--tr), border-color var(--tr);
}
.hp-poll-opt:hover { background: rgba(255,255,255,.07); border-color: rgba(184,150,46,.25); }
.hp-poll-opt[aria-checked="true"] { background: rgba(184,150,46,.1); border-color: rgba(184,150,46,.4); }
.hp-poll-opt__icon { font-size: 1.2rem; flex-shrink: 0; }
.hp-poll-opt__text { flex: 1; }
.hp-poll-opt__label { display: block; font-size: .82rem; font-weight: 700; color: var(--wh); }
.hp-poll-opt__desc  { display: block; font-size: .68rem; color: rgba(255,255,255,.4); margin-top: 1px; }
.hp-poll-opt__check {
  flex-shrink: 0; width: 20px; height: 20px; border: 1.5px solid rgba(255,255,255,.15);
  display: flex; align-items: center; justify-content: center; color: transparent;
}
.hp-poll-opt[aria-checked="true"] .hp-poll-opt__check { border-color: var(--gd2); color: var(--gd2); background: rgba(184,150,46,.1); }
.hp-poll-submit-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.hp-poll-select {
  flex: 1; padding: 10px 12px; background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.6);
  font-family: var(--font-u); font-size: .8rem; appearance: none; cursor: pointer;
}
.hp-poll-select option { background: var(--nv2); }
.hp-btn-primary {
  padding: 10px 20px; background: var(--gd); color: var(--nv); border: none;
  font-family: var(--font-u); font-size: .78rem; font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase; cursor: pointer;
  display: flex; align-items: center; gap: 6px; transition: background var(--tr);
}
.hp-btn-primary:hover:not(:disabled) { background: var(--gd2); }
.hp-btn-primary:disabled { opacity: .45; cursor: not-allowed; }
.hp-hardship-results { display: flex; flex-direction: column; gap: 6px; }
#hardshipResults { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); padding: 16px; }


/* ═══ S9: WHY TRUST ═══ */
.oma-trust-v4 { background: var(--cr); padding: 78px 0; font-family: var(--font-u); }
.oma-trust-v4__layout {
  display: grid; grid-template-columns: 320px 1fr; gap: 56px; align-items: start;
  max-width: 1200px; margin: 0 auto; padding: 0 40px;
}
.oma-trust-v4__right { display: flex; flex-direction: column; gap: 16px; }
.oma-trust-v4__stream { background: var(--wh); border: 1px solid var(--cr2); overflow: hidden; }
.oma-trust-v4__stream-head {
  display: flex; align-items: center; gap: 10px; padding: 12px 18px;
  font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--wh);
}
.oma-trust-v4__pillars { padding: 20px 18px; display: flex; flex-direction: column; gap: 16px; }
.oma-trust-v4__pillar { display: flex; align-items: flex-start; gap: 12px; }
.oma-trust-v4__pillar-icon {
  width: 28px; height: 28px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
}
.oma-trust-v4__pillar-title { font-size: .82rem; font-weight: 700; color: var(--nv); margin-bottom: 3px; }
.oma-trust-v4__pillar-desc { font-size: .74rem; color: var(--g1); line-height: 1.58; margin: 0; }
.oma-trust-v4__open-vote { padding: 18px; }
.oma-trust-v4__open-vote p { font-size: .82rem; color: var(--g1); line-height: 1.65; margin: 0 0 12px; }
.oma-trust-v4__open-vote strong { color: var(--nv); }
.oma-trust-v4__ov-list { margin: 12px 0; padding-left: 16px; }
.oma-trust-v4__ov-list li { font-size: .78rem; color: var(--g1); margin-bottom: 5px; line-height: 1.55; }


/* ═══ S10: ALERTS ═══ */
.oma-alerts-v4 {
  background: var(--nv2); padding: 78px 0; position: relative; overflow: hidden; font-family: var(--font-u);
}
.oma-alerts-v4__bg {
  position: absolute; inset: 0;
  background: radial-gradient(circle 500px at 10% 50%, rgba(184,150,46,.05) 0%, transparent 70%), radial-gradient(circle 400px at 90% 50%, rgba(0,48,112,.45) 0%, transparent 70%);
}
.oma-alerts-v4__inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.oma-alerts-v4__layout { display: grid; grid-template-columns: 1fr 460px; gap: 56px; align-items: center; }
.oma-alerts-v4__headline {
  font-family: var(--font-d); font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700; color: var(--wh); line-height: 1.1; margin: 10px 0 16px;
}
.oma-alerts-v4__headline em { color: var(--gd2); font-style: italic; }
.oma-alerts-v4__sub { font-size: .88rem; color: rgba(255,255,255,.5); line-height: 1.72; margin-bottom: 26px; max-width: 420px; }
.oma-alerts-v4__channels { display: flex; flex-direction: column; gap: 10px; }
.oma-alerts-v4__channel { display: flex; align-items: center; gap: 10px; font-size: .78rem; font-weight: 600; color: rgba(255,255,255,.5); }
.oma-alerts-v4__channel svg { color: var(--gd2); }
.oma-signup-v4 { background: rgba(255,255,255,.04); border: 1px solid rgba(184,150,46,.18); padding: 28px; }
.oma-signup-v4__head {
  display: flex; align-items: center; gap: 10px;
  font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--gd2); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid rgba(184,150,46,.12);
}
.oma-signup-v4__icon { font-size: 1rem; }
.oma-signup-v4__fields { display: flex; flex-direction: column; gap: 9px; }
.oma-signup-v4__input {
  width: 100%; padding: 11px 13px; background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1); color: var(--wh);
  font-family: var(--font-u); font-size: .82rem; outline: none; transition: border-color var(--tr);
}
.oma-signup-v4__input::placeholder { color: rgba(255,255,255,.3); }
.oma-signup-v4__input:focus { border-color: var(--gd2); }
.oma-signup-v4__select {
  width: 100%; padding: 11px 13px; background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.55);
  font-family: var(--font-u); font-size: .82rem; appearance: none; cursor: pointer;
}
.oma-signup-v4__select option { background: var(--nv2); color: var(--wh); }
.oma-signup-v4__submit {
  width: 100%; padding: 13px; background: var(--gd); color: var(--nv); border: none;
  font-family: var(--font-u); font-size: .78rem; font-weight: 800;
  letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  transition: background var(--tr); margin-top: 3px;
}
.oma-signup-v4__submit:hover { background: var(--gd2); }
.oma-signup-v4__privacy {
  display: flex; align-items: flex-start; gap: 7px;
  font-size: .65rem; color: rgba(255,255,255,.3); line-height: 1.55;
  margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.05);
}
.oma-signup-v4__privacy svg { flex-shrink: 0; margin-top: 2px; color: var(--gd2); }


/* ═══ BRAND STRIP ═══ */
.oma-brand-strip-v4 { background: var(--dk); border-top: 3px solid var(--gd); padding: 20px 0; font-family: var(--font-u); }
.oma-brand-strip-v4__inner {
  max-width: 1200px; margin: 0 auto; padding: 0 40px;
  display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;
}
.oma-brand-strip-v4__logo { font-family: var(--font-d); font-size: 1.15rem; font-weight: 700; color: var(--wh); }
.oma-brand-strip-v4__logo span { color: var(--gd2); }
.oma-brand-strip-v4__tagline { font-size: .65rem; font-style: italic; color: rgba(255,255,255,.3); margin-top: 3px; }
.oma-brand-strip-v4__right { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }


/* ══════════════════════════════════════════════════════════════════════════
   PAGE-VOTE — LIVE VOTE PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.oma-hero-wrap {
  background: var(--nv); padding: 80px 0 60px; font-family: var(--font-u); position: relative; overflow: hidden;
}
.oma-hero-wrap::before {
  content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(184,150,46,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(184,150,46,.04) 1px, transparent 1px);
  background-size: 44px 44px;
}
.oma-hero-inner {
  position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: 1fr 300px; gap: 50px; align-items: start;
}
.oma-hero-left h1 {
  font-family: var(--font-d); font-size: clamp(2.4rem, 5vw, 4rem);
  font-weight: 700; color: var(--wh); line-height: 1.1; margin: 0 0 18px;
}
.oma-hero-left h1 i { color: var(--gd2); font-style: italic; }
.oma-hero-eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.oma-hero-badge { font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nv); background: var(--gd); padding: 4px 12px; }
.oma-hero-sep   { width: 1px; height: 14px; background: rgba(255,255,255,.15); }
.oma-hero-days  { font-size: .62rem; color: rgba(255,255,255,.4); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.oma-hero-sub   { font-size: .92rem; line-height: 1.7; color: rgba(255,255,255,.65); margin: 0 0 24px; max-width: 540px; }
.oma-hero-btns  { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.oma-btn-pri {
  display: inline-flex; align-items: center; gap: 7px; padding: 12px 24px;
  background: var(--gd); color: var(--nv); font-family: var(--font-u);
  font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  text-decoration: none; transition: background var(--tr);
}
.oma-btn-pri:hover { background: var(--gd2); }
.oma-btn-sec {
  display: inline-flex; align-items: center; gap: 7px; padding: 11px 22px;
  background: transparent; color: rgba(255,255,255,.7); border: 1.5px solid rgba(255,255,255,.2);
  font-family: var(--font-u); font-size: .78rem; font-weight: 600; letter-spacing: .05em;
  text-transform: uppercase; text-decoration: none; transition: border-color var(--tr), color var(--tr);
}
.oma-btn-sec:hover { border-color: var(--gd2); color: var(--gd2); }
.oma-hero-trust { display: flex; gap: 16px; flex-wrap: wrap; }
.oma-ht-item    { font-size: .7rem; color: rgba(255,255,255,.4); font-weight: 600; }

.oma-cd-card { background: rgba(255,255,255,.04); border: 1px solid rgba(184,150,46,.2); padding: 20px; margin-bottom: 14px; }
.oma-cd-label { display: flex; align-items: center; gap: 7px; font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.4); margin-bottom: 12px; }
.oma-dot { width: 6px; height: 6px; border-radius: 50%; background: #E53E3E; animation: omaPulse 1.8s ease infinite; flex-shrink: 0; }
.oma-cd-units { display: flex; gap: 4px; }
.oma-cd-unit  { flex: 1; text-align: center; }
.oma-cd-num   { display: block; font-family: var(--font-d); font-size: 1.7rem; font-weight: 700; color: var(--gd2); line-height: 1; }
.oma-cd-sub   { display: block; font-size: .5rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.3); margin-top: 3px; }

.oma-integrity-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); padding: 18px; }
.oma-ic-label { font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 12px; }
.oma-ic-items { display: flex; flex-direction: column; gap: 8px; }
.oma-ic-item  { font-size: .72rem; color: rgba(255,255,255,.45); padding-left: 12px; border-left: 2px solid rgba(184,150,46,.3); }

.oma-kpi-bar  { background: var(--nv2); border-top: 1px solid rgba(184,150,46,.15); padding: 14px 0; font-family: var(--font-u); }
.oma-kpi-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: flex; justify-content: space-around; flex-wrap: wrap; gap: 12px; }
.oma-kpi      { text-align: center; padding: 0 16px; }
.oma-kv       { font-family: var(--font-d); font-size: 1.5rem; font-weight: 700; color: var(--gd2); line-height: 1; }
.oma-kl       { font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-top: 3px; }

.oma-wrap        { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.oma-section-pad { padding-top: 70px; padding-bottom: 70px; }
.oma-section-alt { background: rgba(0,21,48,.5); font-family: var(--font-u); }

.oma-sec-eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.oma-sec-mono    { font-family: var(--font-d); font-size: 2.4rem; font-weight: 700; color: rgba(255,255,255,.07); line-height: 1; }
.oma-sec-rule    { flex: 0 0 40px; height: 1px; background: rgba(184,150,46,.25); }
.oma-sec-lbl     { font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.35); }
.oma-sec-h       { font-family: var(--font-d); font-size: clamp(1.7rem, 3.5vw, 2.5rem); font-weight: 700; color: var(--wh); line-height: 1.12; margin: 0 0 10px; }
.oma-sec-sub     { font-size: .88rem; line-height: 1.7; color: rgba(255,255,255,.55); margin: 0 0 26px; max-width: 700px; }

.oma-filter-bar  {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-bottom: 24px; padding: 14px 16px;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07);
}
.oma-f-label   { font-size: .7rem; font-weight: 700; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .06em; }
.oma-sel       { padding: 7px 12px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.65); font-family: var(--font-u); font-size: .78rem; appearance: none; }
.oma-sel option{ background: var(--nv2); }
.oma-f-showing { font-size: .72rem; color: rgba(255,255,255,.4); margin-left: auto; }
.oma-f-showing b { color: rgba(255,255,255,.65); }

.oma-hh-layout   { display: grid; grid-template-columns: 1fr 280px; gap: 28px; align-items: start; }
.oma-issues-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin-bottom: 22px; }
.oma-issue-card  {
  padding: 16px 14px; background: rgba(255,255,255,.04); border: 1.5px solid rgba(255,255,255,.07);
  cursor: pointer; position: relative; transition: background var(--tr), border-color var(--tr);
}
.oma-issue-card:hover   { background: rgba(255,255,255,.07); border-color: rgba(184,150,46,.25); }
.oma-issue-card.selected{ background: rgba(184,150,46,.1); border-color: rgba(184,150,46,.4); }
.oma-ic-chk    { position: absolute; top: 8px; right: 8px; font-size: .55rem; color: var(--gd2); opacity: 0; transition: opacity var(--tr); }
.oma-issue-card.selected .oma-ic-chk { opacity: 1; }
.oma-ic-icon   { font-size: 1.4rem; display: block; margin-bottom: 6px; }
.oma-ic-name   { display: block; font-size: .82rem; font-weight: 700; color: var(--wh); margin-bottom: 3px; }
.oma-ic-sub    { display: block; font-size: .65rem; color: rgba(255,255,255,.4); line-height: 1.4; margin-bottom: 8px; }
.oma-ic-count  { font-size: .6rem; color: rgba(255,255,255,.3); font-weight: 600; letter-spacing: .05em; }

.oma-vote-action { padding: 22px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07); }
.oma-va-h   { font-family: var(--font-d); font-size: 1.15rem; font-weight: 700; color: var(--wh); margin: 0 0 6px; }
.oma-va-sub { font-size: .8rem; color: rgba(255,255,255,.45); line-height: 1.6; margin: 0 0 16px; }
.oma-captcha-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.oma-cap-q  { font-size: .85rem; font-weight: 700; color: var(--wh); }
.oma-cap-eq { font-size: .85rem; color: rgba(255,255,255,.4); }
.oma-cap-inp { width: 70px; padding: 8px 10px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); color: var(--wh); font-family: var(--font-u); font-size: .88rem; text-align: center; }
.oma-cap-lbl { font-size: .65rem; color: rgba(255,255,255,.3); font-style: italic; }
.oma-cap-ok  { font-size: .72rem; font-weight: 700; color: #68D391; margin-bottom: 12px; display: none; }
.oma-cap-ok.visible { display: block; }
.oma-btn-nv  {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px;
  background: var(--nv3); color: var(--wh); border: none; font-family: var(--font-u);
  font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  cursor: pointer; transition: background var(--tr);
}
.oma-btn-nv:hover:not(:disabled) { background: var(--nv); }
.oma-btn-nv:disabled { opacity: .4; cursor: not-allowed; }
.oma-vote-ok { display: none; margin-top: 16px; padding: 14px; background: rgba(26,107,60,.15); border: 1px solid rgba(26,107,60,.4); }
.oma-vote-ok.visible { display: block; }
.oma-ok-h   { font-size: .88rem; font-weight: 700; color: #68D391; margin: 0 0 4px; }
.oma-ok-sub { font-size: .75rem; color: rgba(255,255,255,.5); margin: 0; line-height: 1.5; }

.oma-trust-bar { display: flex; align-items: center; gap: 14px; padding: 12px 14px; background: rgba(0,33,71,.3); border: 1px solid rgba(255,255,255,.06); flex-wrap: wrap; }
.oma-tb-txt   { flex: 1; font-size: .72rem; color: rgba(255,255,255,.4); line-height: 1.5; margin: 0; }
.oma-tb-txt strong { color: rgba(255,255,255,.65); }
.oma-tb-badge { font-size: .6rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nv); background: var(--gd); padding: 4px 10px; white-space: nowrap; }

.oma-hh-sidebar { display: flex; flex-direction: column; gap: 14px; }
.oma-sidebar-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); padding: 18px; }
.oma-sb-lbl  { font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 14px; }
.oma-sb-note { font-size: .68rem; color: rgba(255,255,255,.3); margin-top: 10px; font-style: italic; }
.oma-zone-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.oma-zr-name  { font-size: .72rem; color: rgba(255,255,255,.55); font-weight: 600; }
.oma-zr-right { display: flex; align-items: center; gap: 8px; flex: 1; max-width: 120px; }
.oma-zr-bar-w { flex: 1; height: 3px; background: rgba(255,255,255,.08); overflow: hidden; }
.oma-zr-bar   { height: 100%; width: 0%; background: var(--gd); transition: width .8s ease; }
.oma-zr-count { font-size: .65rem; font-weight: 700; color: rgba(255,255,255,.35); min-width: 14px; text-align: right; }

.oma-prov-notice { padding: 14px; background: rgba(184,150,46,.07); border: 1px solid rgba(184,150,46,.2); }
.oma-pn-h { display: block; font-size: .72rem; font-weight: 700; color: var(--gd2); margin-bottom: 6px; }
.oma-pn-p { font-size: .72rem; color: rgba(255,255,255,.45); line-height: 1.55; margin: 0; }
.oma-trend-row  { display: flex; align-items: flex-start; gap: 10px; }
.oma-trend-icon { font-size: 1.2rem; flex-shrink: 0; }
.oma-trend-val  { font-size: .8rem; font-weight: 700; color: var(--wh); margin: 0 0 3px; }
.oma-trend-sub  { font-size: .68rem; color: rgba(255,255,255,.35); line-height: 1.5; margin: 0; }

.oma-cap-gate { display: flex; align-items: flex-start; gap: 16px; padding: 20px; margin-bottom: 24px; background: rgba(184,150,46,.06); border: 1.5px solid rgba(184,150,46,.2); }
.oma-cg-icon  { font-size: 1.4rem; flex-shrink: 0; }
.oma-cg-h     { font-size: .9rem; font-weight: 700; color: var(--wh); margin: 0 0 5px; }
.oma-cg-sub   { font-size: .75rem; color: rgba(255,255,255,.45); line-height: 1.55; margin: 0 0 14px; }
.oma-cg-row   { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.oma-party-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 22px; }
.oma-pt         {
  display: flex; align-items: center; gap: 7px; padding: 9px 18px;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.55); font-family: var(--font-u); font-size: .72rem;
  font-weight: 700; letter-spacing: .07em; text-transform: uppercase; cursor: pointer;
  transition: background var(--tr), color var(--tr), border-color var(--tr);
}
.oma-pt:hover, .oma-pt.on { background: rgba(255,255,255,.09); color: var(--wh); border-color: rgba(255,255,255,.2); }
.oma-pt-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }

.oma-p-panel    { display: none; }
.oma-p-panel.on { display: block; }
.oma-p-hdr      {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 20px; padding: 20px; background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07); margin-bottom: 16px; flex-wrap: wrap;
}
.oma-ph-name    { font-family: var(--font-d); font-size: 1.3rem; font-weight: 700; color: var(--wh); margin-bottom: 3px; }
.oma-ph-full    { font-size: .72rem; color: rgba(255,255,255,.45); margin-bottom: 8px; }
.oma-ph-desc    { font-size: .78rem; color: rgba(255,255,255,.5); line-height: 1.6; margin: 0; }
.oma-ph-right   { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex-shrink: 0; }
.oma-status-badge { font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 4px 12px; }
.oma-sb-endorsed  { background: rgba(0,154,0,.15); color: #4ADE80; border: 1px solid rgba(74,222,128,.2); }
.oma-sb-provisional{ background: rgba(184,150,46,.12); color: var(--gd2); border: 1px solid rgba(184,150,46,.25); }
.oma-sb-pending   { background: rgba(255,255,255,.06); color: rgba(255,255,255,.4); border: 1px solid rgba(255,255,255,.1); }
.oma-ph-updated   { font-size: .6rem; color: rgba(255,255,255,.3); }

.oma-cand-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; margin-bottom: 20px; }
.oma-cand-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); overflow: hidden; }
.oma-cc-hdr    { padding: 18px; }
.oma-cc-av     {
  width: 44px; height: 44px; background: rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 800; color: rgba(255,255,255,.8); margin-bottom: 10px;
}
.oma-cc-name       { font-family: var(--font-d); font-size: 1.1rem; font-weight: 700; color: var(--wh); margin-bottom: 3px; }
.oma-cc-party-line { font-size: .68rem; color: rgba(255,255,255,.5); margin-bottom: 8px; text-transform: uppercase; letter-spacing: .05em; }
.oma-cc-badges     { display: flex; gap: 6px; flex-wrap: wrap; }
.oma-cc-status     { font-size: .55rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 3px 8px; }
.oma-cs-endorsed   { background: rgba(0,154,0,.2); color: #4ADE80; }
.oma-cs-provisional{ background: rgba(184,150,46,.15); color: var(--gd2); }

.oma-cc-body      { padding: 18px; }
.oma-cc-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 14px; }
.oma-cc-info-item label { display: block; font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.3); margin-bottom: 2px; }
.oma-cc-info-item span  { font-size: .72rem; color: rgba(255,255,255,.6); font-weight: 600; }
.oma-cc-bio     { font-size: .76rem; color: rgba(255,255,255,.5); line-height: 1.6; margin: 0 0 10px; }
.oma-cc-source  { font-size: .65rem; color: rgba(255,255,255,.25); line-height: 1.5; font-style: italic; padding: 8px 10px; background: rgba(255,255,255,.02); border-left: 2px solid rgba(255,255,255,.06); margin-bottom: 14px; }
.oma-cc-poll    { margin-bottom: 12px; }
.oma-cpp-head   { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; }
.oma-cpp-label  { font-size: .62rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: rgba(255,255,255,.35); }
.oma-cpp-val    { font-size: .68rem; font-weight: 700; color: var(--gd2); }
.oma-poll-track { height: 4px; background: rgba(255,255,255,.08); overflow: hidden; }
.oma-poll-fill  { height: 100%; width: 0%; background: var(--gd); transition: width 1s ease; }
.oma-cc-counts  { display: flex; gap: 16px; margin-bottom: 14px; }
.oma-cc-count   { text-align: center; }
.oma-count-val  { display: block; font-family: var(--font-d); font-size: 1.3rem; font-weight: 700; color: var(--wh); line-height: 1; }
.oma-count-lbl  { display: block; font-size: .55rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: rgba(255,255,255,.3); margin-top: 3px; }

.oma-btn-vote-cand {
  width: 100%; padding: 12px; background: var(--gd); color: var(--nv); border: none;
  font-family: var(--font-u); font-size: .75rem; font-weight: 800;
  letter-spacing: .05em; text-transform: uppercase; cursor: pointer; transition: background var(--tr);
}
.oma-btn-vote-cand:hover:not(:disabled) { background: var(--gd2); }
.oma-btn-vote-cand:disabled { opacity: .4; cursor: not-allowed; background: rgba(184,150,46,.3); }
.oma-cc-disclaimer { font-size: .62rem; color: rgba(255,255,255,.2); text-align: center; margin: 8px 0 0; font-style: italic; }

.oma-pending-panel { padding: 44px; text-align: center; border: 1px solid rgba(255,255,255,.07); }
.oma-pp-icon { font-size: 2rem; margin-bottom: 12px; }
.oma-pp-h    { font-family: var(--font-d); font-size: 1.2rem; font-weight: 700; color: var(--wh); margin: 0 0 8px; }
.oma-pp-sub  { font-size: .82rem; color: rgba(255,255,255,.45); line-height: 1.6; margin: 0 0 16px; max-width: 420px; margin-left: auto; margin-right: auto; }
.oma-pp-badge { display: inline-block; font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.3); border: 1px solid rgba(255,255,255,.1); padding: 5px 14px; }

.oma-data-notice  { display: flex; align-items: flex-start; gap: 12px; padding: 14px 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); margin-top: 20px; }
.oma-dn-icon      { font-size: 1.1rem; flex-shrink: 0; }
.oma-dn-text      { font-size: .76rem; color: rgba(255,255,255,.45); line-height: 1.6; }
.oma-dn-text strong { color: var(--wh); }

.oma-int-strip  { background: var(--nv2); border-top: 1px solid rgba(184,150,46,.15); padding: 36px 0; font-family: var(--font-u); }
.oma-int-inner  { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px; }
.oma-ib         { text-align: center; }
.oma-ib-icon    { font-size: 1.4rem; display: block; margin-bottom: 8px; }
.oma-ib-h       { font-size: .75rem; font-weight: 700; color: var(--wh); margin-bottom: 4px; }
.oma-ib-p       { font-size: .65rem; color: rgba(255,255,255,.35); line-height: 1.55; }


/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — 960px
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 960px) {
  .oma-hero-v4__inner { grid-template-columns: 1fr; padding: 0 24px; }
  .oma-hero-v4__right { display: none; }
  .oma-hero-inner     { grid-template-columns: 1fr; padding: 0 24px; }
  .oma-hero-right     { display: none; }
  .oma-v4-section__inner, .oma-facts-v4__inner, .oma-alerts-v4__inner,
  .oma-wrap, .oma-pillars-band__inner, .oma-kpi-inner, .oma-int-inner,
  .oma-brand-strip-v4__inner { padding: 0 24px; }
  .oma-trust-v4__layout { padding: 0 24px; grid-template-columns: 1fr; gap: 32px; }
  .oma-bigpoll-v4__layout   { grid-template-columns: 1fr; }
  .oma-latest-v4__grid      { grid-template-columns: 1fr; }
  .oma-tracker-v4__grid     { grid-template-columns: 1fr; }
  .oma-regional-v4__grid    { grid-template-columns: 1fr 1fr; }
  .oma-facts-v4__layout     { grid-template-columns: 1fr; gap: 36px; }
  .oma-sentiment-v4__layout { grid-template-columns: 1fr; }
  .oma-alerts-v4__layout    { grid-template-columns: 1fr; }
  .oma-hh-layout            { grid-template-columns: 1fr; }
  .oma-v4-section__hdr      { flex-wrap: wrap; }
  .oma-brand-strip-v4__inner{ flex-direction: column; align-items: flex-start; }
  .oma-pb-sep { display: none; }
}

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — 600px
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 600px) {
  .oma-hero-v4 { padding: 50px 0 36px; }
  .oma-hero-v4__inner, .oma-v4-section__inner, .oma-facts-v4__inner,
  .oma-alerts-v4__inner, .oma-wrap, .oma-pillars-band__inner,
  .oma-kpi-inner, .oma-int-inner, .oma-brand-strip-v4__inner { padding: 0 16px; }
  .oma-trust-v4__layout { padding: 0 16px; }
  .oma-hero-v4__actions, .oma-hero-btns { flex-direction: column; }
  .oma-btn-v4-gold, .oma-btn-v4-outline, .oma-btn-v4-primary, .oma-btn-pri { width: 100%; justify-content: center; }
  .oma-hero-v4, .oma-bigpoll-v4, .oma-latest-v4, .oma-tracker-v4,
  .oma-regional-v4, .oma-facts-v4, .oma-sentiment-v4, .oma-trust-v4,
  .oma-alerts-v4, .oma-pulse-v4 { padding-top: 50px; padding-bottom: 50px; }
  .oma-section-pad { padding-top: 50px; padding-bottom: 50px; }
  .oma-regional-v4__grid  { grid-template-columns: 1fr; }
  .oma-cand-grid          { grid-template-columns: 1fr; }
  .oma-issues-grid        { grid-template-columns: 1fr 1fr; }
  .oma-pulse-v4__contenders { grid-template-columns: 1fr; }
  .oma-pillars-band__inner  { flex-direction: column; align-items: flex-start; gap: 10px; }
  .oma-kpi-inner            { justify-content: flex-start; }
  .oma-int-inner            { grid-template-columns: 1fr 1fr; }
  .oma-signup-v4            { padding: 18px 14px; }
}
