:root {
  --oc-red: #C9212E;
  --oc-red-deep: #8A1520;
  --oc-white: #F7F8FA;
  --oc-gray: #D8DDE4;
  --oc-graphite: #2F3640;
  --oc-blue: #0F4C81;
  --oc-blue-mid: #2E79B9;
  --oc-yellow: #F3BE2D;
  --oc-orange: #E7881C;
  --oc-surface: #11151C;
  --oc-muted: rgba(247, 248, 250, 0.72);
  --oc-border: rgba(255, 255, 255, 0.10);
  --oc-shadow: 0 18px 40px rgba(0, 0, 0, 0.42);
  --oc-shadow-soft: 0 10px 24px rgba(0, 0, 0, 0.28);
  --oc-radius-xl: 28px;
  --oc-radius-lg: 22px;
  --oc-radius-md: 18px;
  --oc-wrap: 100%;
  --oc-gutter: 3vw;
  --oc-head: "Segoe UI Variable", "Segoe UI", "Aptos", "Helvetica Neue", Arial, sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; overflow-x: hidden; max-width: 100%; }

body {
  margin: 0;
  font-family: var(--oc-head);
  color: #F7F8FA;
  background:
    radial-gradient(circle at top left, rgba(15, 76, 129, 0.16), transparent 34%),
    radial-gradient(circle at top right, rgba(201, 33, 46, 0.10), transparent 24%),
    linear-gradient(180deg, #050608 0%, #080b10 48%, #0b0f16 100%);
  line-height: 1.55;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.oc-site-frame { min-height: 100vh; display: flex; flex-direction: column; overflow-x: hidden; width: 100%; max-width: 100%; }
.oc-wrap { width: var(--oc-wrap); max-width: none; margin: 0 auto; padding-inline: var(--oc-gutter); min-width: 0; }
.oc-section { padding: 2.2vw 0; }

.oc-header__inner,
.oc-topbar__inner,
.oc-hero__grid,
.oc-single-hero__grid,
.oc-dashboard-grid,
.oc-canton-grid,
.oc-survey-marquee,
.oc-survey-tile,
.oc-survey-vote,
.oc-sidecard,
.oc-panel,
.oc-carousel,
.oc-cta-band,
.oc-quick-card,
.oc-metric-card,
.oc-chronology-card,
.oc-completed__card,
.oc-ad-marquee,
.oc-ad-card,
.oc-footer__grid,
.oc-single-layout,
.oc-opinion {
  min-width: 0;
}

.oc-section-heading {
  display: flex; align-items: end; gap: 18px; justify-content: space-between; margin-bottom: 18px;
}
.oc-section-heading__eyebrow {
  font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--oc-red); font-weight: 900;
}
.oc-section-heading__body { flex: 1; }
.oc-section-heading__title { margin: 0; font-size: clamp(1.25rem, 1rem + 1vw, 2rem); line-height: 1.1; }
.oc-section-heading__copy { margin: 8px 0 0; color: var(--oc-muted); }
.oc-section-heading__link { color: var(--oc-blue); font-weight: 800; white-space: nowrap; }

.oc-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 18px;
  border-radius: 999px; border: 1px solid transparent; font-weight: 900; letter-spacing: .01em;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease, border-color .16s ease;
}
.oc-btn:hover { transform: translateY(-1px); box-shadow: var(--oc-shadow-soft); }
.oc-btn--primary { color: #fff; background: linear-gradient(180deg, var(--oc-red) 0%, var(--oc-red-deep) 100%); }
.oc-btn--secondary { color: var(--oc-blue); background: rgba(15, 76, 129, 0.08); border-color: rgba(15, 76, 129, 0.12); }
.oc-btn--small { min-height: 38px; padding: 0 14px; font-size: .9rem; }
.oc-btn--full { width: 100%; }

.oc-badge, .oc-stamp, .oc-pill {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px;
  font-size: .76rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase;
}
.oc-badge { padding: .4rem .75rem; }
.oc-stamp { padding: .45rem .95rem; }
.oc-pill { padding: .35rem .8rem; }
.oc-badge--red, .oc-stamp--red, .oc-pill--live { background: rgba(201,33,46,.12); color: var(--oc-red); }
.oc-badge--blue, .oc-stamp--blue, .oc-pill--blue { background: rgba(15,76,129,.12); color: var(--oc-blue); }
.oc-badge--yellow { background: rgba(243,190,45,.14); color: #8d6100; }
.oc-badge--orange { background: rgba(231,136,28,.14); color: #a45700; }
.oc-badge--graphite { background: rgba(47,54,64,.12); color: var(--oc-graphite); }
.oc-stamp--graphic {
  position: relative;
  display: inline-block;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  line-height: 0;
  flex: 0 0 auto;
  isolation: isolate;
}
.oc-stamp--graphic .oc-stamp__image {
  width: 100%;
  height: auto;
  display: block;
  pointer-events: none;
  filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .16));
}
.oc-stamp__date {
  position: absolute;
  left: 50%;
  top: 73.8%;
  transform: translate(-50%, -50%) rotate(-1deg);
  width: 60%;
  text-align: center;
  color: #2f2f35;
  font-size: clamp(.6rem, .5rem + .3vw, .92rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: .05em;
  white-space: nowrap;
  text-shadow: 0 1px 0 rgba(255,255,255,.8);
  mix-blend-mode: multiply;
}
.oc-stamp__date.is-empty { opacity: 0; }

.oc-topbar { background: #08101b; color: #eef3fb; border-bottom: 1px solid rgba(255,255,255,.08); }
.oc-topbar__inner { display: flex; align-items: center; gap: 16px; justify-content: space-between; padding: 8px 0; }
.oc-topbar__breaking { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.oc-topbar__label {
  background: var(--oc-red); color: #fff; border-radius: 999px; padding: .25rem .65rem; font-size: .72rem; font-weight: 900;
}
.oc-topbar__date { color: rgba(255,255,255,.72); font-weight: 700; font-size: .84rem; }
.oc-topbar__copy { font-size: .92rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oc-topbar__cta {
  color: var(--oc-yellow);
  font-weight: 900;
  white-space: nowrap;
}
.oc-topbar__search {
  display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px; padding: 5px; min-width: 320px;
}
.oc-topbar__search input { appearance: none; border: 0; background: transparent; color: #fff; min-width: 0; width: 100%; padding: 0 10px; }
.oc-topbar__search input::placeholder { color: rgba(255,255,255,.65); }
.oc-topbar__search button {
  border: 0; background: rgba(255,255,255,.12); color: #fff; border-radius: 999px; padding: .45rem .9rem; font-weight: 800;
}

.oc-header {
  background: rgba(247,248,250,.92); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(15,76,129,.08);
  box-shadow: 0 1px 0 rgba(255,255,255,.7) inset; position: sticky; top: 0; z-index: 30; overflow: visible;
}
.oc-header__inner { display: flex; align-items: center; gap: 22px; justify-content: space-between; padding: 8px 0 2px; }
.oc-brand {
  display: inline-flex; align-items: flex-start; min-width: 0; flex-shrink: 0;
  margin: -6px 0 -2vw -4px; padding: .5vw .8vw .9vw .3vw; position: relative; z-index: 4; isolation: isolate;
}
.oc-brand::before,
.oc-brand::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 999px;
}
.oc-brand::before {
  inset: -14px -18px -20px -16px;
  background:
    radial-gradient(circle at 34% 34%, rgba(243,190,45,.82) 0, rgba(243,190,45,.22) 24%, transparent 56%),
    radial-gradient(circle at 64% 60%, rgba(15,76,129,.34) 0, rgba(15,76,129,.12) 30%, transparent 62%),
    radial-gradient(circle at 49% 44%, rgba(201,33,46,.24) 0, transparent 48%);
  filter: blur(20px);
  opacity: .85;
  z-index: -2;
}
.oc-brand::after {
  inset: 4px 10px 0 4px;
  background:
    linear-gradient(140deg, rgba(255,255,255,.42), rgba(255,255,255,0) 38%),
    radial-gradient(circle at 34% 34%, rgba(255,255,255,.22) 0, transparent 26%),
    radial-gradient(circle at 66% 64%, rgba(255,255,255,.12) 0, transparent 30%);
  mix-blend-mode: screen;
  opacity: .68;
  z-index: 3;
}
.oc-brand__logo {
  width: clamp(160px, 14vw, 240px); height: auto; object-fit: contain; display: block; position: relative; z-index: 2;
  transform: translateY(8px) translateX(-2px); transform-origin: left top;
  filter:
    brightness(1.06)
    contrast(1.04)
    saturate(1.08)
    drop-shadow(0 0 4px rgba(243,190,45,.40))
    drop-shadow(0 8px 18px rgba(201,33,46,.14));
}
.oc-brand__copy { display: none; }
.oc-header__nav { flex: 1; display: flex; justify-content: center; }
.oc-nav__list {
  list-style: none; display: flex; align-items: center; gap: 14px; margin: 0; padding: 0; flex-wrap: wrap; justify-content: center;
}
.oc-nav__list li a {
  display: inline-flex; align-items: center; min-height: 42px; padding: 0 12px; border-radius: 999px; font-size: .95rem; font-weight: 800; color: var(--oc-graphite);
}
.oc-nav__list li.current-menu-item a { color: var(--oc-blue); background: rgba(15,76,129,.08); }
.oc-nav-toggle {
  display: none; width: 48px; height: 48px; border: 1px solid rgba(15,76,129,.12); background: var(--oc-surface); border-radius: 14px;
  align-items: center; justify-content: center; gap: 4px; flex-direction: column;
}
.oc-nav-toggle span:not(.screen-reader-text) { width: 18px; height: 2px; background: var(--oc-blue); border-radius: 999px; }

.oc-hero { padding: 1.8vw 0 1.2vw; }
.oc-hero__grid, .oc-single-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 1.6vw; align-items: stretch; }
.oc-hero__copy, .oc-single-hero__copy {
  background: linear-gradient(180deg, rgba(13,24,40,.95), rgba(13,24,40,.88)), radial-gradient(circle at top right, rgba(243,190,45,.24), transparent 30%);
  color: #fff; border-radius: var(--oc-radius-xl); padding: 2.1vw; box-shadow: var(--oc-shadow); position: relative; overflow: hidden; min-height: 36svh;
}
.oc-hero__copy::before, .oc-single-hero__copy::before {
  content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.06), transparent 36%), radial-gradient(circle at 84% 8%, rgba(201,33,46,.18), transparent 18%); pointer-events: none;
}
.oc-hero__copy > *, .oc-single-hero__copy > * { position: relative; z-index: 1; }
.oc-hero__kicker, .oc-single-hero__kicker { display: flex; align-items: center; gap: 1vw; margin-bottom: 1.2vw; flex-wrap: wrap; }
.oc-hero__ticker-date, .oc-single-hero__updated { color: rgba(255,255,255,.72); font-size: .9rem; font-weight: 700; }
.oc-hero__title, .oc-single-hero__title { margin: 0; font-size: clamp(1.9rem, 1rem + 2.4vw, 3.8rem); line-height: .98; letter-spacing: -.04em; max-width: 14ch; }
.oc-hero__period, .oc-single-hero__period { margin: .7vw 0 0; font-size: clamp(1rem, .9rem + .35vw, 1.28rem); color: rgba(255,255,255,.9); font-weight: 800; }
.oc-hero__summary, .oc-single-hero__summary { margin: 1vw 0 0; max-width: 60ch; color: rgba(255,255,255,.86); font-size: 1.02rem; }
.oc-hero__actions, .oc-single-hero__actions { margin-top: 1.4vw; display: flex; gap: 12px; flex-wrap: wrap; }
.oc-hero__meta { margin-top: 1.2vw; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.oc-hero__tagline { color: rgba(255,255,255,.78); font-weight: 700; }

.oc-hero__visual-card, .oc-single-hero__visual-card {
  height: 100%; min-height: 36svh; border-radius: var(--oc-radius-xl); overflow: hidden; box-shadow: var(--oc-shadow);
  position: relative; background: linear-gradient(160deg, rgba(13,24,40,.2), rgba(13,24,40,.85)), linear-gradient(135deg, #1f364f 0%, #0b1522 50%, #223b51 100%);
}
.oc-hero__visual-surface, .oc-single-hero__visual-surface {
  position: absolute; inset: 0; padding: 1.8vw; overflow: hidden;
  background-image: var(--oc-media-image, none);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.oc-hero__visual-surface::before, .oc-single-hero__visual-surface::before {
  content: ""; position: absolute; inset: 0; background:
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.16)),
    radial-gradient(circle at 80% 12%, rgba(243,190,45,.34), transparent 18%),
    radial-gradient(circle at 30% 32%, rgba(255,255,255,.14), transparent 30%);
}
.oc-hero__visual-label {
  position: absolute; left: 1.8vw; top: 1.8vw; z-index: 2; background: rgba(201,33,46,.95); color: #fff;
  border-radius: 999px; padding: .45rem .8rem; font-size: .75rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase;
}
.oc-hero__visual-shape { position: absolute; z-index: 1; }
.oc-hero__visual-shape--sun {
  width: 12vw; height: 12vw; border-radius: 50%; right: 1.2vw; top: 2.2vw;
  background: radial-gradient(circle, rgba(243,190,45,.95), rgba(243,190,45,.18) 55%, transparent 70%); filter: blur(2px);
}
.oc-hero__visual-shape--water {
  left: -10%; right: -10%; bottom: -6%; height: 42%;
  background: linear-gradient(180deg, rgba(15,76,129,.18), rgba(15,76,129,.04)), repeating-linear-gradient(90deg, rgba(255,255,255,.12) 0 12px, rgba(255,255,255,0) 12px 28px);
  transform: skewY(-5deg);
}
.oc-hero__visual-shape--crane {
  width: 25vw; height: 16vw; right: 2.2vw; bottom: 7vw; opacity: .42; transform: skewX(-12deg);
  background: linear-gradient(90deg, transparent 0 44%, rgba(255,255,255,.45) 44% 46%, transparent 46% 100%), linear-gradient(180deg, transparent 0 46%, rgba(255,255,255,.45) 46% 48%, transparent 48% 100%), linear-gradient(180deg, transparent 0 64%, rgba(255,255,255,.45) 64% 66%, transparent 66% 100%);
}
.oc-hero__visual-note, .oc-single-hero__visual-copy {
  position: absolute; z-index: 2; right: 1.6vw; bottom: 1.6vw; max-width: 20vw; color: #fff; background: rgba(12,19,30,.62);
  backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 1vw;
}
.oc-hero__visual-note strong, .oc-single-hero__visual-copy strong { display: block; margin-bottom: 8px; font-size: .92rem; }
.oc-hero__visual-note p, .oc-single-hero__visual-copy p { margin: 0; color: rgba(255,255,255,.78); font-size: .95rem; }

.oc-carousel {
  background: var(--oc-surface); border-radius: var(--oc-radius-xl); padding: 18px; box-shadow: var(--oc-shadow-soft); border: 1px solid var(--oc-border);
}
.oc-carousel__viewport { overflow: hidden; }
.oc-carousel__track { display: flex; transition: transform 520ms ease; will-change: transform; }
.oc-carousel__slide { flex: 0 0 100%; }
.oc-carousel__dots { display: flex; justify-content: center; gap: 8px; margin-top: 14px; }
.oc-carousel__dots button { width: 10px; height: 10px; border-radius: 50%; border: 0; background: rgba(15,76,129,.18); }
.oc-carousel__dots button.is-active { background: var(--oc-red); }
.oc-carousel--compact { padding: 14px; }

.oc-ad-card {
  display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; align-items: stretch;
  background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%); border-radius: 22px; min-height: 240px; overflow: hidden;
}
.oc-ad-card__media { position: relative; min-height: 240px; }
.oc-ad-card__media-surface {
  position: absolute; inset: 0; display: flex; align-items: end; justify-content: start; padding: 18px; color: #fff; font-weight: 900; letter-spacing: .06em; text-transform: uppercase;
  background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.56)), linear-gradient(135deg, rgba(15,76,129,.95), rgba(8,16,27,.95));
}
.oc-ad-card--tone-red .oc-ad-card__media-surface { background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.52)), linear-gradient(135deg, #C9212E, #8A1520); }
.oc-ad-card--tone-blue .oc-ad-card__media-surface { background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.52)), linear-gradient(135deg, #0F4C81, #2E79B9); }
.oc-ad-card--tone-yellow .oc-ad-card__media-surface { background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.52)), linear-gradient(135deg, #F3BE2D, #E7881C); }
.oc-ad-card__body { padding: 18px 18px 18px 0; display: flex; flex-direction: column; justify-content: center; }
.oc-ad-card__category { color: var(--oc-blue); font-weight: 800; font-size: .84rem; text-transform: uppercase; letter-spacing: .08em; }
.oc-ad-card__title { margin: 8px 0 0; font-size: clamp(1.25rem, 1.05rem + .7vw, 2rem); line-height: 1.02; }
.oc-ad-card__copy { margin: 10px 0 16px; color: var(--oc-muted); max-width: 48ch; }

.oc-quick-grid, .oc-metrics, .oc-card-grid--chronologies, .oc-card-grid--archive { display: grid; gap: 16px; }
.oc-quick-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.oc-quick-card {
  display: flex; align-items: center; gap: 14px; border-radius: 22px; background: var(--oc-surface); box-shadow: var(--oc-shadow-soft);
  border: 1px solid rgba(15,76,129,.08); padding: 18px; min-height: 100px; transition: transform 160ms ease, box-shadow 160ms ease;
}
.oc-quick-card:hover { transform: translateY(-2px); box-shadow: var(--oc-shadow); }
.oc-quick-card__icon { width: 52px; height: 52px; border-radius: 16px; background: rgba(15,76,129,.1); flex-shrink: 0; position: relative; }
.oc-quick-card--tone-red .oc-quick-card__icon { background: rgba(201,33,46,.12); }
.oc-quick-card--tone-blue .oc-quick-card__icon { background: rgba(15,76,129,.12); }
.oc-quick-card--tone-yellow .oc-quick-card__icon { background: rgba(243,190,45,.16); }
.oc-quick-card--tone-orange .oc-quick-card__icon { background: rgba(231,136,28,.16); }
.oc-quick-card__icon::before {
  content: ""; position: absolute; inset: 14px; border-radius: 8px; border: 3px solid currentColor; color: var(--oc-blue);
}
.oc-quick-card--tone-red .oc-quick-card__icon::before { color: var(--oc-red); }
.oc-quick-card--tone-blue .oc-quick-card__icon::before { color: var(--oc-blue); }
.oc-quick-card--tone-yellow .oc-quick-card__icon::before { color: #8d6100; }
.oc-quick-card--tone-orange .oc-quick-card__icon::before { color: #a45700; }
.oc-quick-card__body { flex: 1; min-width: 0; }
.oc-quick-card__title { margin: 0; font-size: 1.02rem; line-height: 1.1; }
.oc-quick-card__copy { margin: 6px 0 0; color: var(--oc-muted); font-size: .93rem; }
.oc-quick-card__arrow { color: var(--oc-blue); font-size: 1.25rem; font-weight: 900; }

.oc-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.oc-metric-card {
  border-radius: 22px; color: #fff; padding: 18px 20px; min-height: 108px; display: flex; flex-direction: column; justify-content: space-between; box-shadow: var(--oc-shadow-soft);
}
.oc-metric-card--tone-red { background: linear-gradient(180deg, #c9212e, #8a1520); }
.oc-metric-card--tone-blue { background: linear-gradient(180deg, #0f4c81, #2e79b9); }
.oc-metric-card--tone-yellow { background: linear-gradient(180deg, #f3be2d, #e7881c); color: #2f3640; }
.oc-metric-card--tone-graphite { background: linear-gradient(180deg, #2f3640, #1f2530); }
.oc-metric-card__value { font-size: clamp(1.8rem, 1.3rem + 2vw, 3rem); line-height: 1; font-weight: 900; }
.oc-metric-card__label { font-size: .94rem; font-weight: 700; opacity: .9; }

.oc-card-grid--chronologies, .oc-card-grid--archive { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.oc-chronology-card {
  background: var(--oc-surface); border-radius: 22px; border: 1px solid rgba(15,76,129,.08); box-shadow: var(--oc-shadow-soft); overflow: hidden;
}
.oc-chronology-card__link { display: flex; flex-direction: column; height: 100%; }
.oc-chronology-card__media { aspect-ratio: 16 / 9; background: linear-gradient(135deg, #1a2d44 0%, #0d1724 100%); position: relative; overflow: hidden; }
.oc-chronology-card__media img { width: 100%; height: 100%; object-fit: cover; }
.oc-chronology-card__media-surface {
  position: absolute; inset: 0; display: flex; align-items: end; justify-content: start; padding: 18px; color: #fff; font-weight: 900;
  background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.58)), radial-gradient(circle at 78% 18%, rgba(243,190,45,.22), transparent 24%);
}
.oc-chronology-card__body { padding: 16px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.oc-chronology-card__meta { display: flex; align-items: center; gap: 8px; justify-content: space-between; flex-wrap: wrap; }
.oc-chronology-card__meta .oc-stamp--graphic { width: 88px; }
.oc-chronology-card__eyebrow { color: var(--oc-blue); font-weight: 800; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.oc-chronology-card__title { margin: 0; font-size: 1.2rem; line-height: 1.08; }
.oc-chronology-card__period { margin: -2px 0 0; color: var(--oc-muted); font-weight: 700; font-size: .92rem; }
.oc-chronology-card__copy { margin: 0; color: var(--oc-muted); font-size: .95rem; }
.oc-chronology-card__stats { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: .85rem; color: rgba(47,54,64,.72); font-weight: 700; }

.oc-completed {
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); gap: 18px;
}
.oc-completed__card {
  background: var(--oc-surface); border-radius: 24px; overflow: hidden; border: 1px solid rgba(15,76,129,.08); box-shadow: var(--oc-shadow-soft);
}
.oc-completed__media {
  min-height: 180px;
  background: linear-gradient(180deg, rgba(201,33,46,.14), rgba(8,16,27,.78)), linear-gradient(135deg, #0f4c81, #1b2f44), var(--oc-completed-image, none);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
.oc-completed__stamp { position: absolute; inset: 18px auto auto 18px; }
.oc-completed__stamp .oc-stamp--graphic { width: clamp(152px, 18vw, 238px); }
.oc-completed__stamp .oc-stamp__date { top: 73.2%; }
.oc-completed__body { padding: 18px; }
.oc-completed__title { margin: 0; font-size: clamp(1.35rem, 1.1rem + .9vw, 2rem); line-height: 1.04; }
.oc-completed__period { margin: 6px 0 0; color: var(--oc-blue); font-weight: 800; }
.oc-completed__copy { margin: 12px 0 0; color: var(--oc-muted); }
.oc-completed__tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.oc-completed__tabs span { background: rgba(15,76,129,.08); color: var(--oc-blue); border-radius: 999px; padding: .45rem .75rem; font-weight: 800; font-size: .86rem; }
.oc-completed__tabs .is-active { background: rgba(201,33,46,.12); color: var(--oc-red); }
.oc-completed__aside { display: flex; flex-direction: column; gap: 14px; }

.oc-pie-card {
  background: var(--oc-surface); border-radius: 24px; border: 1px solid rgba(15,76,129,.08); box-shadow: var(--oc-shadow-soft); padding: 18px;
}
.oc-pie-card__heading { color: var(--oc-blue); font-weight: 900; margin-bottom: 14px; }
.oc-pie-card__ring {
  --yes: 68; --no: 22; --neutral: 10; width: 180px; aspect-ratio: 1; margin: 0 auto; border-radius: 50%;
  background:
    conic-gradient(var(--oc-blue) 0 calc(var(--yes) * 1%), var(--oc-yellow) calc(var(--yes) * 1%) calc((var(--yes) + var(--neutral)) * 1%), var(--oc-red) calc((var(--yes) + var(--neutral)) * 1%) 100%);
  position: relative; display: grid; place-items: center;
}
.oc-pie-card__ring::after { content: ""; position: absolute; inset: 18px; border-radius: inherit; background: var(--oc-surface); }
.oc-pie-card__value { position: relative; z-index: 1; font-size: 2.4rem; line-height: 1; font-weight: 900; color: var(--oc-blue); }
.oc-pie-card__ring--small { width: 120px; }
.oc-pie-card__legend { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.oc-pie-card__legend li { display: flex; align-items: center; gap: 10px; font-size: .92rem; color: var(--oc-muted); font-weight: 700; }
.oc-pie-card__legend li span { width: 11px; height: 11px; border-radius: 50%; background: var(--oc-blue); }
.oc-pie-card__legend li:nth-child(2) span { background: var(--oc-yellow); }
.oc-pie-card__legend li:nth-child(3) span { background: var(--oc-red); }
.oc-pie-card__meta { margin-top: 14px; display: grid; gap: 8px; color: var(--oc-muted); font-size: .94rem; }

.oc-cta-band {
  background: linear-gradient(180deg, rgba(15,76,129,.94), rgba(8,16,27,.96)); color: #fff; border-radius: 26px; padding: 2vw;
  display: flex; align-items: center; justify-content: space-between; gap: 18px; box-shadow: var(--oc-shadow);
}
.oc-section--support { padding-top: 8px; }
.oc-account__help {
  margin: -4px 0 0;
  color: rgba(47,54,64,.72);
  font-size: .9rem;
  font-weight: 700;
}
.oc-account__help a { color: var(--oc-blue); }
.oc-cta-band--support {
  background:
    linear-gradient(135deg, rgba(15,76,129,.08), rgba(255,255,255,.94) 52%, rgba(201,33,46,.08)),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(247,248,250,.96));
  color: var(--oc-graphite);
  border: 1px solid rgba(15,76,129,.12);
}
.oc-cta-band__body { max-width: 70ch; }
.oc-cta-band__eyebrow { color: rgba(243,190,45,.92); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; }
.oc-cta-band__title { margin: 6px 0 0; font-size: clamp(1.35rem, 1rem + 1vw, 2.1rem); line-height: 1.05; }
.oc-cta-band__copy { margin: 8px 0 0; color: rgba(255,255,255,.82); }
.oc-cta-band--support .oc-cta-band__eyebrow { color: var(--oc-red); }
.oc-cta-band--support .oc-cta-band__title { color: var(--oc-graphite); }
.oc-cta-band--support .oc-cta-band__copy { color: var(--oc-muted); }
.oc-cta-band__note { margin: 10px 0 0; color: rgba(47,54,64,.78); font-size: .94rem; font-weight: 700; }

.oc-footer {
  margin-top: auto; padding: 30px 0 36px; background: #07111d; color: #f2f6fb;
}
.oc-footer__grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 24px; }
.oc-footer p { margin: 10px 0 0; color: rgba(255,255,255,.72); }
.oc-footer__edition { color: var(--oc-yellow) !important; font-weight: 800; }
.oc-footer h2 { margin: 0; }
.oc-footer__nav ul, .oc-footer__legal ul, .oc-related-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }
.oc-footer__nav a, .oc-footer__legal a, .oc-related-list a { color: rgba(255,255,255,.76); }
.oc-footer__nav a:hover, .oc-footer__legal a:hover, .oc-related-list a:hover { color: #fff; }

.oc-single-hero { padding: 26px 0 12px; }
.oc-breadcrumbs {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: rgba(255,255,255,.68); font-size: .84rem; margin-bottom: 18px;
}
.oc-single-hero__metrics { margin-top: 20px; display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.oc-single-metric {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 14px 16px;
}
.oc-single-metric span { display: block; color: rgba(255,255,255,.64); font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; }
.oc-single-metric strong { display: block; margin-top: 6px; color: #fff; font-size: 1rem; }
.oc-single-hero__visual-card { min-height: 100%; }
.oc-single-hero__visual-copy { right: 22px; left: 22px; bottom: 22px; max-width: none; }
.oc-single-hero__mini-chart {
  position: absolute; left: 22px; bottom: 22px; z-index: 2; display: flex; gap: 14px; align-items: center;
  background: rgba(12,19,30,.62); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(14px); border-radius: 18px; padding: 12px;
}
.oc-single-hero__mini-chart-copy { color: #fff; display: grid; gap: 4px; }
.oc-single-hero__mini-chart-copy strong { font-size: .95rem; }
.oc-single-hero__mini-chart-copy span { color: rgba(255,255,255,.72); font-size: .9rem; }

.oc-single-nav { position: sticky; top: 88px; z-index: 20; padding: 12px 0 0; }
.oc-tabs {
  display: flex; gap: 10px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none;
}
.oc-tabs::-webkit-scrollbar { display: none; }
.oc-tabs__item {
  display: inline-flex; align-items: center; min-height: 42px; padding: 0 14px; border-radius: 999px; background: rgba(255,255,255,.82);
  border: 1px solid rgba(15,76,129,.1); box-shadow: var(--oc-shadow-soft); white-space: nowrap; font-weight: 800; color: var(--oc-graphite);
}
.oc-tabs__item.is-active { background: var(--oc-blue); color: #fff; }

.oc-single-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .6fr); gap: 20px; align-items: start; }
.oc-panel {
  background: rgba(255,255,255,.88); border: 1px solid rgba(15,76,129,.08); border-radius: 24px; padding: 22px; box-shadow: var(--oc-shadow-soft); margin-bottom: 18px;
}
.oc-timeline { display: grid; gap: 16px; }
.oc-timeline-item {
  position: relative; display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 16px; padding-left: 12px;
}
.oc-timeline-item::before {
  content: ""; position: absolute; left: 48px; top: 0; bottom: 0; width: 2px;
  background: linear-gradient(180deg, rgba(15,76,129,.26), rgba(201,33,46,.12));
}
.oc-timeline-item__date {
  background: var(--oc-white); border: 1px solid rgba(15,76,129,.12); border-radius: 18px; padding: 12px 10px; text-align: center; box-shadow: var(--oc-shadow-soft);
}
.oc-timeline-item__date strong { display: block; font-size: 1.2rem; color: var(--oc-blue); }
.oc-timeline-item__date span { display: block; color: var(--oc-red); font-size: .82rem; font-weight: 900; letter-spacing: .08em; margin-top: 2px; }
.oc-timeline-item__body {
  padding: 16px 18px; background: #fff; border: 1px solid rgba(15,76,129,.08); border-radius: 18px;
}
.oc-timeline-item__badge {
  display: inline-flex; margin-bottom: 10px; padding: .35rem .75rem; border-radius: 999px; background: rgba(15,76,129,.08);
  color: var(--oc-blue); font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em;
}
.oc-timeline-item__title { margin: 0; font-size: 1.18rem; line-height: 1.06; }
.oc-timeline-item__copy { margin: 8px 0 0; color: var(--oc-muted); }
.oc-timeline-item__source { display: inline-flex; margin-top: 10px; color: var(--oc-red); font-weight: 800; }

.oc-doc-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.oc-doc-card {
  background: #fff; border: 1px solid rgba(15,76,129,.08); border-radius: 18px; padding: 16px;
}
.oc-doc-card__type {
  display: inline-flex; padding: .32rem .65rem; border-radius: 999px; background: rgba(201,33,46,.12); color: var(--oc-red);
  font-size: .74rem; font-weight: 900; letter-spacing: .08em;
}
.oc-doc-card__title { margin: 10px 0 0; font-size: 1.05rem; }
.oc-doc-card__meta { margin: 6px 0 0; color: var(--oc-muted); font-size: .9rem; }
.oc-doc-card__link { display: inline-flex; margin-top: 12px; color: var(--oc-blue); font-weight: 900; }

.oc-opinion { display: grid; grid-template-columns: minmax(240px, .9fr) minmax(0, 1.1fr); gap: 18px; align-items: center; }
.oc-pie-card--large { padding: 22px; }
.oc-bar-row { display: grid; grid-template-columns: 160px minmax(0, 1fr) 54px; gap: 12px; align-items: center; margin-bottom: 14px; }
.oc-bar { height: 12px; border-radius: 999px; background: rgba(15,76,129,.12); overflow: hidden; }
.oc-bar strong { display: block; height: 100%; background: var(--oc-blue); border-radius: inherit; }
.oc-bar--yellow strong { background: var(--oc-yellow); }
.oc-bar--red strong { background: var(--oc-red); }
.oc-chart-block__card {
  background: #fff; border: 1px solid rgba(15,76,129,.08); border-radius: 18px; padding: 18px;
}
.oc-chart-block__title { font-weight: 900; margin-bottom: 14px; }
.oc-chart-block__bars { display: flex; height: 18px; border-radius: 999px; overflow: hidden; background: rgba(15,76,129,.1); }
.oc-chart-block__bars span { background: var(--oc-blue); }
.oc-chart-block__bars--yellow { background: var(--oc-yellow) !important; }
.oc-chart-block__bars--red { background: var(--oc-red) !important; }

.oc-comments-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.oc-comment-card { background: #fff; border-radius: 18px; padding: 16px; border: 1px solid rgba(15,76,129,.08); }
.oc-comment-card--positive { border-left: 4px solid var(--oc-blue); }
.oc-comment-card--critical { border-left: 4px solid var(--oc-red); }
.oc-comment-card--neutral { border-left: 4px solid var(--oc-yellow); }
.oc-comment-card__meta { display: flex; flex-direction: column; gap: 3px; margin-bottom: 10px; }
.oc-comment-card__meta span { color: var(--oc-muted); font-size: .86rem; }
.oc-comment-card__copy { margin: 0; color: var(--oc-graphite); }

.oc-sidecard {
  position: sticky; top: 112px; background: rgba(255,255,255,.92); border: 1px solid rgba(15,76,129,.08); border-radius: 22px; padding: 18px; box-shadow: var(--oc-shadow-soft); margin-bottom: 14px;
}
.oc-sidecard__eyebrow { font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; color: var(--oc-blue); font-weight: 900; margin-bottom: 12px; }
.oc-sidecard .oc-stamp { margin-bottom: 12px; }
.oc-sidecard .oc-stamp--graphic { width: clamp(132px, 14vw, 206px); }
.oc-single-metric .oc-stamp--graphic { width: clamp(122px, 12vw, 180px); }
.oc-single-hero__stamp .oc-stamp--graphic { width: clamp(138px, 15vw, 220px); }
.oc-hero__meta .oc-stamp--graphic { width: clamp(120px, 13vw, 182px); }
.oc-sidecard__copy { color: var(--oc-muted); margin: 8px 0 14px; }
.oc-side-metric {
  display: grid; gap: 4px; padding-top: 12px; margin-top: 12px; border-top: 1px solid rgba(15,76,129,.1);
}
.oc-side-metric span { color: var(--oc-muted); font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; }
.oc-side-metric strong { font-size: 1rem; }

.oc-archive__hero, .oc-page__shell, .oc-index__shell, .oc-404__shell, .oc-single__shell { padding: 28px 0 40px; }
.oc-archive__title, .oc-page__title, .oc-404 h1, .oc-single__title {
  font-size: clamp(2rem, 1.2rem + 2vw, 3.2rem); margin: 0; line-height: 1.05;
}
.oc-archive__desc, .oc-page__content, .oc-single__summary { margin-top: 14px; color: var(--oc-muted); }
.oc-single--generic .oc-single__article, .oc-page__article {
  background: var(--oc-surface); border-radius: 24px; padding: 24px; border: 1px solid rgba(15,76,129,.08); box-shadow: var(--oc-shadow-soft);
}

@media (max-width: 1320px) {
  .oc-card-grid--chronologies, .oc-card-grid--archive { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oc-quick-grid, .oc-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oc-completed, .oc-single-layout, .oc-opinion { grid-template-columns: 1fr; }
  .oc-account__grid { grid-template-columns: 1fr; }
  .oc-carousel--home .oc-carousel__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oc-sidecard { position: static; }
}

@media (max-width: 960px) {
  .oc-topbar__inner { flex-wrap: wrap; }
  .oc-topbar__search { min-width: 100%; }
  .oc-header__inner { flex-wrap: wrap; align-items: flex-start; padding-bottom: .8vw; }
  .oc-brand { margin: -6px 0 -1vw -2px; }
  .oc-brand__logo { width: 18vw; transform: translateY(6px) translateX(-2px); }
  .oc-header__nav { order: 3; width: 100%; justify-content: stretch; }
  .oc-nav-toggle { display: inline-flex; }
  .oc-nav { display: none; width: 100%; }
  .oc-header.is-nav-open .oc-nav { display: block; }
  .oc-nav__list { display: grid; gap: 8px; padding-top: 12px; justify-content: stretch; }
  .oc-nav__list li a { width: 100%; justify-content: center; }
  .oc-wrap { --oc-gutter: 4vw; }
  .oc-hero__grid, .oc-single-hero__grid { grid-template-columns: 1fr; gap: 4vw; }
  .oc-hero__visual-card, .oc-single-hero__visual-card { min-height: 34svh; }
  .oc-single-hero__metrics { grid-template-columns: 1fr; }
  .oc-comments-grid, .oc-doc-grid { grid-template-columns: 1fr; }
  .oc-footer__grid { grid-template-columns: 1fr; }
  .oc-carousel--home .oc-carousel__track { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  :root { --oc-gutter: 5vw; }
  .oc-topbar__breaking { flex-wrap: wrap; }
  .oc-topbar__copy { white-space: normal; }
  .oc-brand { margin: -4px 0 -1vw -2px; padding-inline: .3vw 1vw; }
  .oc-brand__logo { width: 52vw; transform: translateY(6px) translateX(-1px); }
  .oc-stamp--graphic { width: clamp(104px, 46vw, 160px); }
  .oc-chronology-card__meta .oc-stamp--graphic { width: 82px; }
  .oc-completed__stamp .oc-stamp--graphic { width: clamp(126px, 60vw, 220px); }
  .oc-sidecard .oc-stamp--graphic,
  .oc-single-metric .oc-stamp--graphic,
  .oc-single-hero__stamp .oc-stamp--graphic,
  .oc-hero__meta .oc-stamp--graphic { width: clamp(108px, 54vw, 170px); }
  .oc-stamp__date { top: 74%; width: 58%; font-size: clamp(.56rem, .5rem + .9vw, .84rem); }
  .oc-hero__copy, .oc-single-hero__copy, .oc-panel, .oc-carousel, .oc-cta-band { border-radius: 20px; }
  .oc-section-heading { flex-direction: column; align-items: start; }
  .oc-quick-grid, .oc-metrics, .oc-card-grid--chronologies, .oc-card-grid--archive { grid-template-columns: 1fr; }
  .oc-ad-card { grid-template-columns: 1fr; }
  .oc-ad-card__body { padding: 0 14px 14px; }
  .oc-timeline-item { grid-template-columns: 1fr; padding-left: 0; }
  .oc-timeline-item::before { left: 22px; }
  .oc-timeline-item__rail { padding-left: 0; }
  .oc-timeline-item__date { display: inline-grid; margin-left: 0; width: 96px; }
  .oc-timeline-item__body { margin-left: 0; }
  .oc-bar-row { grid-template-columns: 1fr; }
  .oc-cta-band { flex-direction: column; align-items: start; }
  .oc-single-nav { top: 0; }
  .oc-tabs { padding-bottom: 12px; }
  .oc-hero { padding-top: 4vw; }
  .oc-hero__copy, .oc-single-hero__copy { padding: 5vw; min-height: auto; }
  .oc-hero__visual-card, .oc-single-hero__visual-card { min-height: 44svh; }
  .oc-hero__visual-surface, .oc-single-hero__visual-surface { padding: 4vw; }
  .oc-hero__visual-label { left: 4vw; top: 4vw; }
  .oc-hero__visual-shape--sun { width: 24vw; height: 24vw; right: 4vw; top: 8vw; }
  .oc-hero__visual-shape--crane { width: 54vw; height: 34vw; right: 4vw; bottom: 16vw; }
  .oc-hero__visual-note, .oc-single-hero__visual-copy { right: 4vw; bottom: 4vw; max-width: 72vw; padding: 4vw; }
  .oc-carousel--home .oc-carousel__track { grid-template-columns: 1fr; }
}

/* Opinicron dark editorial overrides */
.oc-header {
  background: rgba(5, 6, 8, .88);
  border-bottom-color: rgba(255, 255, 255, .08);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .03) inset;
}
.oc-header__inner { gap: 16px; }
.oc-header__actions { display: flex; align-items: center; justify-content: flex-end; flex-shrink: 0; }
.oc-header__search {
  display: inline-flex;
  align-items: center;
  gap: 0;
  min-height: 42px;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .10);
  background: rgba(255, 255, 255, .04);
}
.oc-header__search-input {
  width: 0;
  min-width: 0;
  padding: 0;
  opacity: 0;
  border: 0;
  background: transparent;
  color: #fff;
  transition: width .18s ease, opacity .18s ease, padding .18s ease;
}
.oc-header__search:focus-within .oc-header__search-input {
  width: 150px;
  opacity: 1;
  padding: 0 10px;
}
.oc-header__search-input::placeholder { color: rgba(255,255,255,.55); }
.oc-header__search-button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: var(--oc-blue);
  color: #fff;
  font-weight: 900;
  line-height: 1;
}
.oc-header__account {
  display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .05); color: #F7F8FA; font-weight: 800; white-space: nowrap;
}
.oc-header__account:hover { background: rgba(255, 255, 255, .09); border-color: rgba(255, 255, 255, .18); }
.oc-nav__list li a { color: rgba(247, 248, 250, .84); }
.oc-nav__list li.current-menu-item a { color: #fff; background: rgba(15, 76, 129, .18); }
.oc-nav-toggle { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .10); }
.oc-nav-toggle span:not(.screen-reader-text) { background: #F7F8FA; }
.oc-section-heading__title,
.oc-archive__title,
.oc-page__title,
.oc-404 h1,
.oc-single__title,
.oc-hero__title,
.oc-single-hero__title { color: #fff; }
.oc-section-heading__copy,
.oc-archive__desc,
.oc-page__content,
.oc-single__summary,
.oc-hero__summary,
.oc-single-hero__summary { color: rgba(247, 248, 250, .78); }
.oc-section-heading__link { color: var(--oc-yellow); }
.oc-carousel,
.oc-panel,
.oc-quick-card,
.oc-doc-card,
.oc-comment-card,
.oc-pie-card,
.oc-sidecard,
.oc-completed__card,
.oc-single--generic .oc-single__article,
.oc-page__article,
.oc-archive__hero {
  background: rgba(17, 21, 28, .92);
  border-color: rgba(255, 255, 255, .08);
  color: #F7F8FA;
}
.oc-quick-card__title,
.oc-doc-card__title,
.oc-comment-card__meta strong,
.oc-side-metric strong,
.oc-completed__title,
.oc-chart-block__title,
.oc-pie-card__heading,
.oc-single-metric strong,
.oc-chronology-card__title,
.oc-chronology-card__eyebrow,
.oc-chronology-card__period { color: #fff; }
.oc-quick-card__copy,
.oc-doc-card__meta,
.oc-comment-card__copy,
.oc-sidecard__copy,
.oc-completed__copy,
.oc-timeline-item__copy,
.oc-timeline-item__source,
.oc-page__article p,
.oc-single--generic .oc-single__article p,
.oc-chronology-card__copy,
.oc-chronology-card__stats,
.oc-chronology-card__body p { color: rgba(247, 248, 250, .72); }
.oc-chronology-card__body { background: rgba(255, 255, 255, .03); }
.oc-timeline-item__body,
.oc-timeline-item__date {
  background: rgba(255, 255, 255, .04);
  border-color: rgba(255, 255, 255, .08);
}
.oc-timeline-item__title,
.oc-timeline-item__date strong,
.oc-comment-card__copy,
.oc-account__title { color: #fff; }
.oc-timeline-item__date span,
.oc-doc-card__type,
.oc-cta-band__note,
.oc-stamp__date { color: var(--oc-yellow); }
.oc-comment-card { background: rgba(255, 255, 255, .04); }
.oc-comment-card__meta span,
.oc-comments-thread__copy,
.oc-comments-thread__meta { color: rgba(247, 248, 250, .62); }
.oc-cta-band--support {
  background: linear-gradient(135deg, rgba(15, 76, 129, .16), rgba(17, 21, 28, .96) 52%, rgba(201, 33, 46, .12));
  border-color: rgba(255, 255, 255, .08);
}
.oc-cta-band--support .oc-cta-band__title,
.oc-cta-band--support .oc-cta-band__copy,
.oc-cta-band--support .oc-cta-band__note { color: rgba(247, 248, 250, .84); }
.oc-cta-band--support .oc-cta-band__eyebrow { color: var(--oc-yellow); }
.oc-footer {
  background: #040508;
  border-top: 1px solid rgba(255, 255, 255, .06);
}
.oc-footer p,
.oc-footer__nav a,
.oc-footer__legal a,
.oc-related-list a { color: rgba(247, 248, 250, .72); }
.oc-footer__nav a:hover,
.oc-footer__legal a:hover,
.oc-related-list a:hover { color: #fff; }
.oc-comments-thread {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 20px;
  background: rgba(5, 6, 8, .72);
}
.oc-comments-thread__eyebrow {
  color: var(--oc-yellow);
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 900;
}
.oc-comments-thread__title {
  margin: 6px 0 0;
  font-size: clamp(1.1rem, .95rem + .8vw, 1.6rem);
  color: #fff;
}
.oc-comments-thread__copy,
.oc-comments-thread__meta {
  margin: 8px 0 0;
  color: rgba(247, 248, 250, .72);
}
.oc-comments-thread__list {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.oc-comments-thread__gate,
.oc-comments-thread__closed {
  margin-top: 16px;
  padding: 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
}
.oc-comments-thread__gate-eyebrow {
  color: var(--oc-red);
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 900;
}
.oc-comments-thread__gate-title {
  margin: 6px 0 0;
  color: #fff;
}
.oc-comments-thread__gate-copy,
.oc-comments-thread__closed p {
  margin: 8px 0 0;
  color: rgba(247, 248, 250, .72);
}
.oc-comments-thread__gate-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.comment-list li,
.comment-body { margin: 0; }
.comment-body {
  padding: 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
}
.comment-meta,
.comment-metadata,
.comment-author a,
.comment-author cite { color: rgba(247, 248, 250, .72); }
.comment-content { color: rgba(247, 248, 250, .86); }
.comment-reply-title,
.comments-title,
#reply-title { color: #fff; }
.comment-form label { color: #fff; font-weight: 700; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .10);
  color: #fff;
  border-radius: 14px;
}
.comment-form input::placeholder,
.comment-form textarea::placeholder { color: rgba(247, 248, 250, .48); }
.comment-form .submit,
.comment-form button,
.comment-form input[type="submit"] {
  background: linear-gradient(180deg, var(--oc-red) 0%, var(--oc-red-deep) 100%);
  color: #fff;
  border: 0;
  border-radius: 999px;
  min-height: 44px;
  padding: 0 16px;
  font-weight: 800;
}
.oc-account__card {
  background: rgba(17, 21, 28, .92);
  border: 1px solid rgba(255, 255, 255, .08);
  color: #fff;
}
.oc-account__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.oc-account__notice {
  margin: 0 0 16px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .04);
  color: #fff;
}
.oc-account__notice strong {
  display: block;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .8rem;
}
.oc-account__notice p {
  margin: 0;
  color: rgba(247, 248, 250, .74);
}
.oc-account__notice--red { border-color: rgba(201, 33, 46, .28); }
.oc-account__notice--blue { border-color: rgba(15, 76, 129, .28); }
.oc-account__form {
  margin-top: 18px;
  display: grid;
  gap: 14px;
}
.oc-account__field {
  display: grid;
  gap: 8px;
}
.oc-account__field span,
.oc-account__checkbox span {
  color: rgba(247, 248, 250, .74);
  font-size: .92rem;
}
.oc-account__field input {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, .10);
  background: rgba(255, 255, 255, .04);
  color: #fff;
}
.oc-account__field input::placeholder { color: rgba(247, 248, 250, .44); }
.oc-account__checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(247, 248, 250, .74);
}
.oc-account__help {
  margin: -2px 0 0;
  font-size: .92rem;
}
.oc-account__help a {
  color: var(--oc-yellow);
  font-weight: 800;
}
.oc-account__note {
  margin: 16px 0 0;
  color: rgba(247, 248, 250, .68);
}
.oc-account__status {
  display: inline-flex;
  align-items: center;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: rgba(243, 190, 45, .14);
  color: var(--oc-yellow);
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 900;
}
.oc-account__status--pending { background: rgba(201, 33, 46, .14); color: #fff; }
.oc-account__title { margin: 14px 0 0; font-size: clamp(1.6rem, 1.2rem + 1vw, 2.4rem); }
.oc-account__copy { margin: 10px 0 0; color: rgba(247, 248, 250, .72); }
.oc-account__details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.oc-account__detail {
  padding: 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
}
.oc-account__detail span {
  display: block;
  color: rgba(247, 248, 250, .58);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.oc-account__detail strong {
  display: block;
  margin-top: 6px;
  color: #fff;
}
.oc-account__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.oc-btn--outline {
  color: var(--oc-yellow);
  background: transparent;
  border: 1px solid rgba(243, 190, 45, .58);
  box-shadow: none;
}
.oc-btn--outline:hover {
  background: rgba(243, 190, 45, .08);
  box-shadow: none;
}
.oc-btn--ghost {
  color: #fff;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .10);
}

.oc-topbar__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-left: auto;
}
.oc-topbar__location,
.oc-topbar__weather,
.oc-topbar__social-label {
  color: rgba(255, 255, 255, .72);
  font-size: .84rem;
  font-weight: 700;
}
.oc-topbar__socials {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.oc-topbar__social {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
  color: #fff;
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}
.oc-topbar__search { min-width: 250px; }

.oc-header {
  background: rgba(5, 6, 8, .96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  box-shadow: none;
}
.oc-header__inner { padding: 8px 0 6px; }
.oc-header__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: flex-end;
  flex-shrink: 0;
}
.oc-header__announce {
  color: var(--oc-yellow);
  white-space: nowrap;
}

.oc-hero__grid--home {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.12fr) minmax(280px, .68fr);
}
.oc-hero__grid--home .oc-hero__copy,
.oc-hero__grid--home .oc-hero__visual-card,
.oc-hero__grid--home .oc-hero__status-card {
  min-height: 34svh;
}
.oc-hero__status-card {
  background: linear-gradient(180deg, rgba(17, 21, 28, .96), rgba(8, 10, 14, .94));
  color: #fff;
  border-radius: var(--oc-radius-xl);
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: var(--oc-shadow);
  padding: 2vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}
.oc-hero__status-eyebrow {
  color: var(--oc-yellow);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.oc-hero__status-title {
  margin: 0;
  font-size: clamp(1.2rem, 1rem + 1.1vw, 2rem);
  line-height: 1.02;
}
.oc-hero__status-card .oc-stamp--graphic { width: clamp(150px, 18vw, 250px); margin: 0 auto; }
.oc-hero__status-copy { margin: 0; color: rgba(247, 248, 250, .76); }

.oc-carousel--home {
  padding: 18px;
  border-color: rgba(255, 255, 255, .08);
}
.oc-carousel--home .oc-carousel__dots { display: none; }
.oc-carousel--home .oc-carousel__track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.oc-carousel--home .oc-carousel__slide {
  flex: initial;
}
.oc-ad-card {
  display: grid;
  grid-template-columns: minmax(240px, .95fr) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  background: rgba(17, 21, 28, .95);
  border-radius: 22px;
  min-height: 240px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .08);
}
.oc-carousel--home .oc-ad-card {
  min-height: 188px;
}
.oc-ad-card__media {
  position: relative;
  min-height: 240px;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .06), rgba(0, 0, 0, .56)),
    linear-gradient(135deg, #0f4c81, #1b2f44);
}
.oc-carousel--home .oc-ad-card__media {
  min-height: 188px;
}
.oc-ad-card__media--image {
  background-image: var(--oc-ad-image), linear-gradient(180deg, rgba(0, 0, 0, .06), rgba(0, 0, 0, .56));
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.oc-ad-card__media-surface {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: end;
  justify-content: start;
  padding: 18px;
  color: #fff;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .42));
}
.oc-ad-card--tone-red .oc-ad-card__media { background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .54)), linear-gradient(135deg, #C9212E, #8A1520); }
.oc-ad-card--tone-blue .oc-ad-card__media { background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .54)), linear-gradient(135deg, #0F4C81, #2E79B9); }
.oc-ad-card--tone-yellow .oc-ad-card__media { background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .54)), linear-gradient(135deg, #F3BE2D, #E7881C); }
.oc-ad-card__body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(255, 255, 255, .02);
}
.oc-ad-card__category { color: var(--oc-yellow); }
.oc-ad-card__title { color: #fff; }
.oc-ad-card__copy { color: rgba(247, 248, 250, .72); }

.oc-quick-grid--six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.oc-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.oc-dashboard-card {
  background: rgba(17, 21, 28, .94);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 24px;
  box-shadow: var(--oc-shadow-soft);
  padding: 18px;
}
.oc-dashboard-card__head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  justify-content: space-between;
}
.oc-dashboard-card__head a {
  color: var(--oc-yellow);
  font-size: .88rem;
  font-weight: 800;
  white-space: nowrap;
}
.oc-dashboard-card__eyebrow {
  color: var(--oc-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.oc-dashboard-card__title {
  margin: 6px 0 0;
  color: #fff;
  font-size: clamp(1.05rem, .95rem + .5vw, 1.45rem);
}
.oc-dashboard-list {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}
.oc-dashboard-item {
  display: grid;
  gap: 12px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
}
.oc-dashboard-item--chronology { grid-template-columns: 100px minmax(0, 1fr); }
.oc-dashboard-item--document { grid-template-columns: 72px minmax(0, 1fr); }
.oc-dashboard-item__media,
.oc-dashboard-item__icon {
  border-radius: 14px;
  overflow: hidden;
  min-height: 72px;
  background: linear-gradient(135deg, #0F4C81, #1b2f44);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.oc-dashboard-item__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.oc-dashboard-item__body { min-width: 0; }
.oc-dashboard-item__top {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  justify-content: space-between;
}
.oc-dashboard-item__top strong {
  display: block;
  color: #fff;
  line-height: 1.05;
}
.oc-dashboard-item__top span,
.oc-dashboard-item__body p,
.oc-dashboard-item__body > span {
  color: rgba(247, 248, 250, .68);
  font-size: .88rem;
}
.oc-dashboard-item__body p {
  margin: 6px 0 6px;
}
.oc-dashboard-item .oc-stamp--graphic { width: 78px; }

.oc-canton-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.oc-canton-card {
  --oc-canton-image: none;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 286px;
  border-radius: 24px;
  overflow: hidden;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .08);
  background: linear-gradient(180deg, rgba(17, 21, 28, .98), rgba(8, 12, 18, .98));
  box-shadow: var(--oc-shadow-soft);
}
.oc-canton-card::before,
.oc-canton-card::after {
  content: "";
  position: absolute;
  inset: 0;
}
.oc-canton-card::before {
  background: linear-gradient(180deg, rgba(0, 0, 0, .10), rgba(0, 0, 0, .58)), var(--oc-canton-image);
  background-size: cover, cover;
  background-position: center, center;
  opacity: .92;
}
.oc-canton-card::after {
  background: linear-gradient(180deg, rgba(6, 7, 9, .10), rgba(6, 7, 9, .76));
}
.oc-canton-card.is-active {
  border-color: rgba(243, 190, 45, .6);
  box-shadow: 0 20px 34px rgba(201, 33, 46, .18);
}
.oc-canton-card__media,
.oc-canton-card__body {
  position: relative;
  z-index: 1;
}
.oc-canton-card__media {
  min-height: 118px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.oc-canton-card__label {
  display: inline-flex;
  align-self: flex-start;
  padding: .42rem .75rem;
  border-radius: 999px;
  background: rgba(201, 33, 46, .92);
  color: #fff;
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.oc-canton-card__count {
  align-self: flex-end;
  color: rgba(247, 248, 250, .82);
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.oc-canton-card__body {
  padding: 18px;
  display: grid;
  gap: 12px;
  flex: 1;
}
.oc-canton-card__title {
  margin: 0;
  font-size: clamp(1.1rem, .98rem + .5vw, 1.45rem);
  line-height: 1.06;
}
.oc-canton-card__copy {
  margin: 0;
  color: rgba(247, 248, 250, .72);
  font-size: .92rem;
}
.oc-canton-card__featured {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}
.oc-canton-card__featured strong {
  color: #fff;
  font-size: .95rem;
  line-height: 1.08;
}
.oc-canton-card__featured .oc-stamp--graphic {
  width: 84px;
  flex-shrink: 0;
}
.oc-canton-card--tone-red::before {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .60)),
    linear-gradient(135deg, rgba(201, 33, 46, .88), rgba(138, 21, 32, .96));
}
.oc-canton-card--tone-blue::before {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .60)),
    linear-gradient(135deg, rgba(15, 76, 129, .88), rgba(46, 121, 185, .96));
}
.oc-canton-card--tone-yellow::before {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .60)),
    linear-gradient(135deg, rgba(243, 190, 45, .88), rgba(231, 136, 28, .96));
}
.oc-canton-card--tone-orange::before {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .60)),
    linear-gradient(135deg, rgba(231, 136, 28, .88), rgba(201, 33, 46, .96));
}
.oc-canton-card--tone-graphite::before {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .60)),
    linear-gradient(135deg, rgba(47, 54, 64, .92), rgba(8, 12, 18, .98));
}
.oc-archive--canton .oc-archive__hero {
  background: linear-gradient(180deg, #050608, #0b0d10);
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.oc-canton-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 16px;
}
.oc-canton-hero__copy,
.oc-canton-hero__feature {
  background: rgba(17, 21, 28, .96);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 24px;
  box-shadow: var(--oc-shadow-soft);
  padding: 22px;
}
.oc-canton-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.oc-canton-hero__stat {
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
}
.oc-canton-hero__stat span,
.oc-canton-hero__feature-eyebrow,
.oc-canton-hero__feature-meta {
  color: rgba(247, 248, 250, .66);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.oc-canton-hero__stat strong {
  display: block;
  margin-top: 8px;
  color: #fff;
  font-size: 1rem;
  letter-spacing: normal;
  text-transform: none;
}
.oc-canton-hero__stat-value {
  margin-top: 8px;
}
.oc-canton-hero__stat-value .oc-stamp--graphic {
  width: min(18vw, 190px);
}
.oc-canton-hero__actions {
  margin-top: 18px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.oc-canton-hero__feature {
  display: flex;
  flex-direction: column;
  gap: 14px;
  justify-content: center;
}
.oc-canton-hero__feature-title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.35rem, 1.05rem + 1vw, 2.05rem);
  line-height: 1.02;
}
.oc-canton-hero__feature-copy {
  margin: 0;
  color: rgba(247, 248, 250, .74);
}
.oc-canton-hero__feature-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  color: rgba(247, 248, 250, .66);
}
.oc-canton-hero__feature-stamp .oc-stamp--graphic {
  width: min(19vw, 214px);
}

.oc-topics-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.oc-topic-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.oc-topic-row__hash {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: rgba(201, 33, 46, .12);
  color: var(--oc-red);
  font-weight: 900;
}
.oc-topic-row--tone-blue .oc-topic-row__hash { background: rgba(15, 76, 129, .14); color: var(--oc-blue); }
.oc-topic-row--tone-yellow .oc-topic-row__hash { background: rgba(243, 190, 45, .16); color: #8d6100; }
.oc-topic-row--tone-orange .oc-topic-row__hash { background: rgba(231, 136, 28, .16); color: #a45700; }
.oc-topic-row__body { flex: 1; min-width: 0; }
.oc-topic-row__body strong { color: #fff; }
.oc-topic-row__body p { margin: 4px 0 0; color: rgba(247, 248, 250, .68); font-size: .9rem; }
.oc-topic-row__count { color: var(--oc-yellow); font-size: .84rem; font-weight: 800; white-space: nowrap; }

.oc-survey-card {
  margin-top: 16px;
  display: grid;
  gap: 14px;
  justify-items: center;
}
.oc-survey-card__question {
  margin: 0;
  color: #fff;
  font-size: 1rem;
  line-height: 1.3;
  text-align: center;
}
.oc-survey-card__ring { width: 180px; }
.oc-survey-card__legend {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  width: 100%;
}
.oc-survey-card__legend li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(247, 248, 250, .74);
  font-size: .9rem;
}
.oc-survey-card__legend li span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--oc-blue);
}
.oc-survey-card__legend li:nth-child(2) span { background: var(--oc-red); }
.oc-survey-card__legend li:nth-child(3) span { background: var(--oc-yellow); }
.oc-survey-card__legend strong { margin-left: auto; color: #fff; }
.oc-survey-card__meta {
  margin: 0;
  color: var(--oc-yellow);
  font-size: .92rem;
  font-weight: 800;
}

.oc-survey-marquee {
  display: grid;
  grid-template-columns: clamp(220px, 18vw, 260px) minmax(0, 1fr);
  gap: 16px;
  min-height: clamp(160px, 12vw, 190px);
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(11, 13, 16, .98), rgba(5, 6, 8, .96));
  box-shadow: var(--oc-shadow-soft);
}

.oc-survey-marquee__intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 18px;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(17, 21, 28, .98), rgba(11, 13, 16, .98));
  border: 1px solid rgba(255, 255, 255, .08);
}

.oc-survey-marquee__eyebrow {
  color: var(--oc-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.oc-survey-marquee__title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.15rem, .95rem + .9vw, 1.7rem);
  line-height: 1.02;
}

.oc-survey-marquee__copy,
.oc-survey-marquee__note {
  margin: 0;
  font-size: .92rem;
}

.oc-survey-marquee__copy {
  color: rgba(247, 248, 250, .78);
}

.oc-survey-marquee__note {
  color: var(--oc-yellow);
  font-weight: 700;
}

.oc-survey-marquee__viewport {
  min-width: 0;
  overflow: hidden;
}

.oc-survey-marquee__track {
  display: flex;
  align-items: stretch;
  gap: 16px;
  overflow: hidden;
}

.oc-survey-marquee .oc-carousel__slide {
  flex: 0 0 auto;
}

.oc-survey-tile {
  flex: 0 0 clamp(280px, 26vw, 360px);
  min-height: 200px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: linear-gradient(180deg, rgba(17, 21, 28, .98), rgba(11, 13, 16, .98));
  position: relative;
  overflow: hidden;
  box-shadow: var(--oc-shadow-soft);
}

.oc-survey-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 88% 16%, rgba(243, 190, 45, .18), transparent 25%),
    radial-gradient(circle at 10% 16%, rgba(201, 33, 46, .16), transparent 20%);
  opacity: .9;
}

.oc-survey-tile > * { position: relative; z-index: 1; }
.oc-survey-tile--tone-red { border-color: rgba(201, 33, 46, .46); }
.oc-survey-tile--tone-blue { border-color: rgba(15, 76, 129, .46); }
.oc-survey-tile--tone-yellow { border-color: rgba(243, 190, 45, .46); }
.oc-survey-tile--tone-orange { border-color: rgba(231, 136, 28, .46); }

.oc-survey-tile__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.oc-survey-tile__eyebrow {
  color: var(--oc-yellow);
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 900;
}

.oc-survey-tile__badge {
  padding: .32rem .7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .10);
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.oc-survey-tile__question {
  margin: 0;
  color: #fff;
  font-size: clamp(1.05rem, .95rem + .55vw, 1.5rem);
  line-height: 1.05;
}

.oc-survey-tile__copy {
  margin: 0;
  color: rgba(247, 248, 250, .74);
  font-size: .88rem;
}

.oc-survey-tile__bars {
  display: flex;
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255, 255, 255, .08);
}

.oc-survey-tile__bar {
  display: block;
  height: 100%;
}

.oc-survey-tile__bar--yes { background: var(--oc-blue-mid); }
.oc-survey-tile__bar--no { background: var(--oc-red); }
.oc-survey-tile__bar--neutral { background: var(--oc-yellow); }

.oc-survey-tile__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  color: rgba(247, 248, 250, .76);
  font-size: .82rem;
}

.oc-survey-tile__stats strong { color: #fff; }

.oc-survey-tile__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
}

.oc-survey-tile__meta {
  color: var(--oc-yellow);
  font-size: .78rem;
  font-weight: 800;
}

.oc-survey-tile__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .06);
  color: #fff;
  font-size: .8rem;
  font-weight: 900;
  white-space: nowrap;
}

.oc-survey-hero .oc-single-hero__visual-surface {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px;
  background-image: none;
}

.oc-survey-hero .oc-single-hero__visual-card {
  height: auto;
  min-height: auto;
  overflow: visible;
}

.oc-survey-hero .oc-single-hero__visual-surface {
  position: relative;
  inset: auto;
  min-height: auto;
  overflow: visible;
}

.oc-survey-vote-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
}

.oc-survey-notice,
.oc-survey-vote__gate,
.oc-survey-vote__closed {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .04);
}

.oc-survey-notice strong,
.oc-survey-vote__gate strong,
.oc-survey-vote__closed strong {
  color: #fff;
}

.oc-survey-notice p,
.oc-survey-vote__gate p,
.oc-survey-vote__closed p {
  margin: 0;
  color: rgba(247, 248, 250, .78);
  font-size: .92rem;
}

.oc-survey-notice--red { border-color: rgba(201, 33, 46, .30); }
.oc-survey-notice--yellow { border-color: rgba(243, 190, 45, .30); }
.oc-survey-notice--blue { border-color: rgba(15, 76, 129, .30); }
.oc-survey-notice--page {
  margin: 0 0 18px;
}

.oc-survey-vote {
  display: grid;
  gap: 16px;
  color: #fff;
}

.oc-survey-vote__head {
  display: grid;
  gap: 8px;
}

.oc-survey-vote__eyebrow {
  color: var(--oc-yellow);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.oc-survey-vote__title {
  margin: 0;
  font-size: clamp(1.1rem, .95rem + .7vw, 1.5rem);
  line-height: 1.05;
}

.oc-survey-vote__copy {
  margin: 0;
  color: rgba(247, 248, 250, .74);
  font-size: .92rem;
}

.oc-survey-vote__form {
  display: grid;
  gap: 14px;
}

.oc-survey-vote__options {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.oc-survey-choice {
  position: relative;
  display: grid;
  gap: 6px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, .10);
  background: rgba(255, 255, 255, .04);
  min-height: 92px;
  cursor: pointer;
  transition: border-color .16s ease, transform .16s ease, background-color .16s ease;
}

.oc-survey-choice input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.oc-survey-choice:focus-within,
.oc-survey-choice.is-selected {
  border-color: rgba(255, 255, 255, .28);
  transform: translateY(-1px);
}

.oc-survey-choice__label {
  font-weight: 900;
  font-size: 1rem;
}

.oc-survey-choice__copy {
  color: rgba(247, 248, 250, .72);
  font-size: .84rem;
}

.oc-survey-choice--blue {
  box-shadow: inset 0 0 0 1px rgba(15, 76, 129, .14);
}

.oc-survey-choice--red {
  box-shadow: inset 0 0 0 1px rgba(201, 33, 46, .14);
}

.oc-survey-choice--yellow {
  box-shadow: inset 0 0 0 1px rgba(243, 190, 45, .16);
}

.oc-survey-vote__field {
  display: grid;
  gap: 8px;
}

.oc-survey-vote__field span {
  font-size: .9rem;
  font-weight: 800;
  color: rgba(247, 248, 250, .92);
}

.oc-survey-vote__field textarea {
  width: 100%;
  min-height: 120px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(5, 6, 8, .72);
  color: #fff;
  padding: 12px 14px;
  resize: vertical;
}

.oc-survey-vote__meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  color: rgba(247, 248, 250, .7);
  font-size: .84rem;
}

.oc-survey-vote__note {
  margin: -4px 0 0;
  color: rgba(243, 190, 45, .88);
  font-size: .9rem;
  font-weight: 700;
}

.oc-survey-results {
  display: grid;
  gap: 16px;
}

.oc-survey-results__grid {
  display: grid;
  grid-template-columns: minmax(260px, .95fr) minmax(0, 1.05fr);
  gap: 16px;
}

.oc-survey-results__bars {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 18px;
  background: var(--oc-surface);
  border: 1px solid var(--oc-border);
  box-shadow: var(--oc-shadow-soft);
}

.oc-survey-results__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  color: rgba(247, 248, 250, .72);
  font-size: .88rem;
}

.oc-survey-results__meta strong {
  color: #fff;
}

.oc-survey-opinions {
  margin-top: 8px;
}

.oc-survey-opinions__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.oc-survey-opinion {
  padding: 16px;
  border-radius: 18px;
  background: var(--oc-surface);
  border: 1px solid var(--oc-border);
  box-shadow: var(--oc-shadow-soft);
}

.oc-survey-opinion__meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: .84rem;
  color: var(--oc-muted);
}

.oc-survey-opinion__badge {
  margin-top: 10px;
  display: inline-flex;
  padding: .28rem .65rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.oc-survey-opinion--blue .oc-survey-opinion__badge {
  background: rgba(15, 76, 129, .12);
  color: var(--oc-blue);
}

.oc-survey-opinion--red .oc-survey-opinion__badge {
  background: rgba(201, 33, 46, .12);
  color: var(--oc-red);
}

.oc-survey-opinion--yellow .oc-survey-opinion__badge {
  background: rgba(243, 190, 45, .14);
  color: #8d6100;
}

.oc-survey-opinion__copy {
  margin: 10px 0 0;
  color: rgba(247, 248, 250, .84);
}

.oc-survey-opinions__empty {
  padding: 18px;
  border-radius: 18px;
  border: 1px dashed rgba(255, 255, 255, .14);
  color: rgba(247, 248, 250, .74);
}

.oc-survey-archive__intro {
  margin-bottom: 16px;
  color: var(--oc-muted);
}

.oc-survey-archive__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.oc-survey-tile--archive {
  min-height: 220px;
}

.oc-archive__empty {
  padding: 20px;
  border-radius: 18px;
  background: var(--oc-surface);
  border: 1px solid var(--oc-border);
  color: var(--oc-muted);
}

.oc-footer__grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr .9fr .9fr .7fr;
  gap: 24px;
}
.oc-footer__contact ul,
.oc-footer__social ul {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.oc-footer__contact a { color: rgba(247, 248, 250, .76); }
.oc-footer__socials {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.oc-footer__social-pill {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .10);
  background: rgba(255, 255, 255, .05);
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}
.oc-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-top: 18px;
  margin-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  color: rgba(247, 248, 250, .62);
  font-size: .9rem;
}

.oc-single-hero__utilities {
  position: absolute;
  top: 18px;
  right: 18px;
  display: flex;
  gap: 10px;
  z-index: 3;
}

@media (max-width: 1280px) {
  .oc-hero__grid--home { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .oc-hero__status-card { grid-column: 1 / -1; }
  .oc-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oc-quick-grid--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .oc-canton-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oc-canton-hero { grid-template-columns: 1fr; }
  .oc-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .oc-topbar__inner { flex-direction: column; align-items: stretch; }
  .oc-topbar__meta { justify-content: flex-start; }
  .oc-topbar__search { width: 100%; min-width: 0; }
  .oc-header__inner { align-items: center; }
  .oc-header__actions { width: 100%; order: 4; flex-wrap: wrap; }
  .oc-header__account, .oc-header__announce { flex: 1 1 180px; justify-content: center; }
  .oc-header__nav { order: 3; width: 100%; justify-content: stretch; }
  .oc-nav-toggle { display: inline-flex; }
  .oc-nav { display: none; width: 100%; }
  .oc-header.is-nav-open .oc-nav { display: block; }
  .oc-nav__list { flex-direction: column; align-items: stretch; gap: 8px; }
  .oc-nav__list li a { justify-content: center; width: 100%; }
  .oc-hero__grid--home, .oc-single-hero__grid { grid-template-columns: 1fr; }
  .oc-hero__status-card { grid-column: auto; }
  .oc-dashboard-grid { grid-template-columns: 1fr; }
  .oc-quick-grid--six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oc-canton-grid { grid-template-columns: 1fr; }
  .oc-canton-hero__stats { grid-template-columns: 1fr; }
  .oc-canton-hero__stat-value .oc-stamp--graphic { width: min(56vw, 190px); }
  .oc-footer__grid { grid-template-columns: 1fr 1fr; }
  .oc-footer__bottom { flex-direction: column; }
}

@media (max-width: 640px) {
  .oc-wrap { padding-inline: 16px; }
  .oc-section { padding: 18px 0; }
  .oc-header__inner { gap: 12px; }
  .oc-brand__logo { width: min(74vw, 290px); transform: translateY(10px); }
  .oc-hero__copy, .oc-single-hero__copy, .oc-panel, .oc-carousel, .oc-cta-band, .oc-hero__status-card { border-radius: 20px; }
  .oc-ad-card, .oc-dashboard-item--chronology, .oc-dashboard-item--document { grid-template-columns: 1fr; }
  .oc-ad-card__body { padding: 16px; }
  .oc-topbar__meta { gap: 8px; }
  .oc-topbar__social-label { display: none; }
  .oc-quick-grid--six { grid-template-columns: 1fr; }
  .oc-canton-grid { grid-template-columns: 1fr; }
  .oc-canton-card__featured { flex-direction: column; align-items: flex-start; }
  .oc-canton-hero__feature-stamp .oc-stamp--graphic { width: min(64vw, 214px); }
  .oc-footer__grid { grid-template-columns: 1fr; }
  .oc-single-hero__utilities { position: static; margin-bottom: 14px; flex-wrap: wrap; }
  .oc-single-hero__visual-copy { left: 16px; right: 16px; }
  .oc-single-hero__mini-chart { left: 16px; right: 16px; bottom: 16px; }
}
@media (max-width: 960px) {
  .oc-header__inner { align-items: center; }
  .oc-header__actions { width: 100%; order: 4; }
  .oc-header__account { width: 100%; justify-content: center; }
  .oc-account__details { grid-template-columns: 1fr; }
}

/* Opinicron front page spec overrides */
:root {
  --oc-wrap: 1440px;
  --oc-gutter: clamp(14px, 1.8vw, 32px);
}

.oc-wrap {
  width: min(1440px, 100%);
  max-width: 1440px;
  margin: 0 auto;
  padding-inline: clamp(14px, 1.8vw, 32px);
}

.oc-section {
  padding: clamp(14px, 1.8vw, 24px) 0;
}

.oc-topbar {
  background: #050608;
  border-bottom: 1px solid #242832;
}

.oc-topbar__inner {
  min-height: 36px;
  padding: 0;
  gap: 14px;
  flex-wrap: nowrap;
}

.oc-topbar__breaking {
  min-width: 0;
  gap: 10px;
}

.oc-topbar__copy {
  max-width: clamp(280px, 46vw, 760px);
}

.oc-topbar__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.oc-header {
  background: rgba(5, 6, 8, .94);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  box-shadow: none;
}

.oc-header__inner {
  min-height: 86px;
  padding: 0;
  gap: 18px;
  align-items: center;
}

.oc-brand {
  margin: -14px 0 -30px -6px;
  padding: 0;
}

.oc-brand__logo {
  width: clamp(184px, 15vw, 258px);
  transform: translateY(14px) translateX(-4px);
  filter:
    brightness(1.08)
    contrast(1.06)
    saturate(1.08)
    drop-shadow(0 0 5px rgba(243, 190, 45, .50))
    drop-shadow(0 10px 20px rgba(201, 33, 46, .18));
}

.oc-header__nav {
  flex: 1 1 auto;
  min-width: 0;
}

.oc-nav__list li a {
  min-height: 40px;
  padding: 0 11px;
  color: rgba(247, 248, 250, .88);
}

.oc-header__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  min-width: 0;
}

.oc-header__search {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  min-width: 0;
  width: clamp(190px, 20vw, 260px);
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .10);
  background: rgba(255, 255, 255, .04);
}

.oc-header__account {
  min-height: 42px;
  padding: 0 16px;
}

.oc-hero {
  padding: clamp(14px, 1.8vw, 22px) 0 clamp(12px, 1.6vw, 18px);
}

.oc-hero__grid--home {
  grid-template-columns: 31fr 46fr 23fr;
  gap: clamp(14px, 1.6vw, 20px);
  min-height: clamp(320px, 26vw, 370px);
}

.oc-hero__grid--home .oc-hero__copy,
.oc-hero__grid--home .oc-hero__visual-card,
.oc-hero__grid--home .oc-hero__status-card {
  min-height: clamp(320px, 26vw, 370px);
}

.oc-hero__copy {
  padding: clamp(24px, 2.3vw, 34px);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(11, 13, 16, .98), rgba(13, 24, 40, .92)),
    radial-gradient(circle at top right, rgba(243, 190, 45, .18), transparent 34%);
}

.oc-hero__title {
  font-size: clamp(2.15rem, 1.35rem + 2.1vw, 3.6rem);
  max-width: 12ch;
}

.oc-hero__summary {
  max-width: 42ch;
  font-size: clamp(.98rem, .92rem + .18vw, 1.08rem);
}

.oc-hero__visual-card {
  border-radius: 14px;
}

.oc-hero__visual-surface {
  padding: 0;
}

.oc-hero__visual-label {
  left: 20px;
  top: 20px;
}

.oc-hero__status-card {
  padding: clamp(20px, 1.8vw, 24px);
  border-radius: 14px;
  background: linear-gradient(180deg, #0b0d10, #11151c);
  border: 1px solid rgba(255, 255, 255, .08);
}

.oc-hero__status-card .oc-stamp--graphic {
  width: clamp(140px, 15vw, 220px);
}

.oc-ad-marquee {
  display: grid;
  grid-template-columns: clamp(220px, 18vw, 260px) minmax(0, 1fr);
  gap: 16px;
  min-height: clamp(120px, 10vw, 150px);
  padding: 12px;
  border: 1px solid rgba(227, 6, 19, .55);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(11, 13, 16, .98), rgba(5, 6, 8, .96));
  box-shadow: var(--oc-shadow-soft);
}

.oc-ad-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 18px;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(17, 21, 28, .98), rgba(11, 13, 16, .98));
  border: 1px solid rgba(255, 255, 255, .08);
}

.oc-ad-intro__eyebrow {
  color: var(--oc-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.oc-ad-intro__title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.15rem, .95rem + .9vw, 1.65rem);
  line-height: 1.02;
}

.oc-ad-intro__copy,
.oc-ad-intro__note {
  margin: 0;
  font-size: .92rem;
}

.oc-ad-intro__copy {
  color: rgba(247, 248, 250, .76);
}

.oc-ad-intro__note {
  color: var(--oc-yellow);
  font-weight: 700;
}

.oc-ad-marquee__viewport {
  min-width: 0;
  overflow: hidden;
}

.oc-ad-marquee__track {
  display: flex;
  align-items: stretch;
  gap: 16px;
  overflow: hidden;
}

.oc-ad-marquee .oc-carousel__slide {
  flex: 0 0 auto;
}

.oc-ad-marquee .oc-ad-card {
  flex: 0 0 clamp(300px, 24vw, 380px);
  aspect-ratio: 3 / 1;
  min-height: 120px;
  display: flex;
  align-items: stretch;
  padding: 16px;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .08);
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .20)),
    var(--oc-ad-image, linear-gradient(135deg, #0F4C81, #11151C));
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: var(--oc-shadow-soft);
}

.oc-ad-marquee .oc-ad-card--tone-red {
  border-color: rgba(201, 33, 46, .46);
}

.oc-ad-marquee .oc-ad-card--tone-blue {
  border-color: rgba(15, 76, 129, .46);
}

.oc-ad-marquee .oc-ad-card--tone-yellow {
  border-color: rgba(243, 190, 45, .46);
}

.oc-ad-marquee .oc-ad-card--tone-orange {
  border-color: rgba(231, 136, 28, .46);
}

.oc-ad-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.oc-ad-card__category {
  color: var(--oc-yellow);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.oc-ad-card__title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.12rem, .98rem + .6vw, 1.58rem);
  line-height: 1.02;
}

.oc-ad-card__copy {
  margin: 0;
  color: rgba(247, 248, 250, .76);
  font-size: .88rem;
  max-width: 30ch;
}

.oc-ad-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.oc-ad-card__contact {
  color: var(--oc-yellow);
  font-size: .8rem;
  font-weight: 800;
  white-space: nowrap;
}

.oc-ad-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .06);
  color: #fff;
  font-size: .8rem;
  font-weight: 900;
  white-space: nowrap;
}

.oc-quick-grid--six {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.oc-quick-card {
  min-height: 86px;
  border-radius: 12px;
  background: #11151C;
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: none;
  padding: 16px;
}

.oc-quick-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
}

.oc-quick-card__title {
  font-size: .95rem;
}

.oc-quick-card__copy {
  font-size: .82rem;
}

.oc-quick-card__arrow {
  font-size: 1rem;
}

.oc-dashboard-grid {
  grid-template-columns: 1.15fr 1fr 1fr 1.2fr;
  gap: 16px;
}

.oc-dashboard-card {
  min-height: clamp(250px, 20vw, 310px);
  border-radius: 12px;
  background: #11151C;
  border: 1px solid rgba(255, 255, 255, .08);
}

.oc-cta-band--support {
  background:
    linear-gradient(180deg, rgba(17, 21, 28, .98), rgba(11, 13, 16, .98)),
    linear-gradient(135deg, rgba(201, 33, 46, .10), rgba(15, 76, 129, .08));
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .08);
}

.oc-cta-band--support .oc-cta-band__eyebrow {
  color: var(--oc-yellow);
}

.oc-cta-band--support .oc-cta-band__title,
.oc-cta-band--support .oc-cta-band__copy,
.oc-cta-band--support .oc-cta-band__note {
  color: rgba(247, 248, 250, .84);
}

.oc-footer__grid {
  grid-template-columns: 1.2fr 1fr 1fr 1fr .8fr;
  gap: 22px;
}

.oc-footer {
  background: #07111d;
}

@media (min-width: 1024px) {
  .oc-hero__grid--home {
    grid-template-columns: 31fr 46fr 23fr;
  }

  .oc-dashboard-grid {
    grid-template-columns: 1.15fr 1fr 1fr 1.2fr;
  }

  .oc-quick-grid--six {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) and (max-width: 1365px) {
  .oc-header__inner {
    gap: 12px;
  }

  .oc-brand {
    margin: -10px 0 -24px -4px;
  }

  .oc-brand__logo {
    width: clamp(150px, 12vw, 210px);
    transform: translateY(10px) translateX(-3px);
  }

  .oc-nav__list {
    gap: 2px;
  }

  .oc-nav__list li a {
    padding: 0 9px;
    font-size: .94rem;
  }

  .oc-header__search {
    width: clamp(170px, 17vw, 220px);
  }

  .oc-header__account {
    padding: 0 12px;
  }
}

@media (max-width: 1023px) {
  .oc-hero__grid--home {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  }

  .oc-hero__status-card {
    grid-column: 1 / -1;
  }

  .oc-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .oc-survey-marquee {
    grid-template-columns: 1fr;
  }

  .oc-survey-results__grid {
    grid-template-columns: 1fr;
  }

  .oc-survey-opinions__grid {
    grid-template-columns: 1fr;
  }

  .oc-survey-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .oc-survey-vote__options {
    grid-template-columns: 1fr;
  }

  .oc-quick-grid--six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .oc-footer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .oc-wrap {
    padding-inline: 16px;
  }

  .oc-topbar__inner {
    flex-wrap: wrap;
    gap: 8px;
    min-height: 36px;
  }

  .oc-topbar__meta {
    width: 100%;
    justify-content: flex-start;
    gap: 8px;
  }

  .oc-brand {
    margin: -8px 0 -18px -4px;
  }

  .oc-brand__logo {
    width: min(72vw, 260px);
    transform: translateY(10px) translateX(-2px);
  }

  .oc-header__inner {
    min-height: 64px;
    gap: 12px;
    flex-wrap: wrap;
  }

  .oc-header__nav {
    width: 100%;
    order: 3;
  }

  .oc-header__actions {
    width: 100%;
    order: 4;
  }

  .oc-hero__grid--home,
  .oc-single-hero__grid {
    grid-template-columns: 1fr;
  }

  .oc-hero__grid--home .oc-hero__copy,
  .oc-hero__grid--home .oc-hero__visual-card,
  .oc-hero__grid--home .oc-hero__status-card {
    min-height: auto;
  }

  .oc-ad-marquee {
    grid-template-columns: 1fr;
  }

  .oc-ad-marquee .oc-ad-card {
    flex-basis: min(86vw, 360px);
  }

  .oc-quick-grid--six {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .oc-dashboard-grid {
    grid-template-columns: 1fr;
  }

  .oc-footer__grid {
    grid-template-columns: 1fr;
  }

  .oc-cta-band {
    flex-direction: column;
    align-items: stretch;
  }

  .oc-survey-archive__grid {
    grid-template-columns: 1fr;
  }

  .oc-survey-tile__footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .oc-survey-vote__meta,
  .oc-survey-results__meta {
    flex-direction: column;
  }

  .oc-survey-marquee .oc-survey-tile {
    flex-basis: min(78vw, 360px);
  }
}
