/* =========================================================
   Site Overrides
   =========================================================
   Reserved for manual site-specific CSS overrides.

   This file intentionally loads last.
   Keep empty unless a site needs a targeted fix that does not belong
   in oc-ui.css, oc-components.css, tokens.css, or theme-generated.css.
   ========================================================= */

/* =========================================================
   Issue Platform
   Reusable presentation for issue and policy pages.
   Relies on theme tokens so it follows each site's palette.
   ========================================================= */

.oc-issue-platform {
  --oc-issue-ink: var(--oc-heading-primary, var(--oc-primary, #003262));
  --oc-issue-accent: var(--oc-heading-secondary, var(--oc-secondary, #f84600));
  --oc-issue-surface: var(--oc-surface, #f8f9fa);
  --oc-issue-border: color-mix(in srgb, var(--oc-issue-ink) 14%, transparent);
  counter-reset: issue-card;
  margin: 0 0 4rem;

}

/* Remove Bootstrap's py-5/my-5 spacing only on an Issue Platform page. */
.site-main:has(.oc-issue-platform) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.oc-issue-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100vw;
  max-width: none;
  margin: 0 0 clamp(2rem, 5vw, 4rem) calc(50% - 50vw);
  padding: clamp(3rem, 8vw, 6.5rem) clamp(1.25rem, 5vw, 4rem);
  border-radius: 0 0 clamp(1.5rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3rem);
  background:
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--oc-issue-accent) 65%, transparent) 0 4rem, transparent 4.1rem),
    linear-gradient(135deg, var(--oc-issue-ink), color-mix(in srgb, var(--oc-issue-ink) 78%, #000));
  color: #000;
  box-shadow: 0 1.5rem 3rem color-mix(in srgb, var(--oc-issue-ink) 20%, transparent);
}

.oc-issue-hero::before,
.oc-issue-hero::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 50%;
  content: "";
}

.oc-issue-hero::before {
  width: 20rem;
  height: 20rem;
  top: -11rem;
  right: -3rem;
}

.oc-issue-hero::after {
  width: 12rem;
  height: 12rem;
  right: 6rem;
  bottom: -8rem;
}

/*.site-main .oc-issue-hero h1 {
  max-width: 10ch;
  margin: 0 0 1.25rem;
  color: #000;
  font-size: clamp(3rem, 9vw, 6.75rem);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: .92; 
}*/

.oc-issue-intro {
  max-width: 100rem;
  margin: 0;
  padding-left: 1.25rem;
  border-left: .3rem solid var(--oc-issue-accent);
  font-size: clamp(1.0rem, 2vw, 1.rem);
  line-height: 1.65;
}

.oc-issue-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
}

.oc-issue-card {
  counter-increment: issue-card;
  position: relative;
  overflow: hidden;
  padding: clamp(1.4rem, 3vw, 2.25rem);
  border: 1px solid var(--oc-issue-border);
  border-top: .35rem solid var(--oc-issue-accent);
  border-radius: clamp(.8rem, 2vw, 1.25rem);
  background: linear-gradient(145deg, #fff 0 70%, var(--oc-issue-surface));
  box-shadow: 0 .8rem 2rem color-mix(in srgb, var(--oc-issue-ink) 9%, transparent);
}

.oc-issue-card::after {
  position: absolute;
  right: -.1em;
  bottom: -.28em;
  color: color-mix(in srgb, var(--oc-issue-ink) 6%, transparent);
 /* content: counter(issue-card, decimal-leading-zero); */
  font-size: clamp(5rem, 10vw, 8rem);
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
}

.oc-issue-card:nth-child(4n + 2),
.oc-issue-card:nth-child(4n + 3) {
  border-top-color: var(--oc-issue-ink);
}

.site-main .oc-issue-card h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 1.35rem;
  padding-bottom: 1rem;
  font-size: clamp(1.1rem, 2.0vw, 1.3rem);
  font-weight: 750;
  line-height: 1.2;
}

.oc-issue-card h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 3.25rem;
  height: .2rem;
  border-radius: 999px;
  background: var(--oc-issue-accent);
  content: "";
}

.oc-issue-list {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}

.oc-issue-list li {
  position: relative;
  margin: 0;
  padding: .65rem 0 .65rem 1.7rem;
  line-height: 1.55;
}

.oc-issue-list li + li {
  border-top: 1px solid var(--oc-issue-border);
}

.oc-issue-list li::before {
  position: absolute;
  top: .75rem;
  left: 0;
  width: 1.05rem;
  height: 1.05rem;
  border: 2px solid var(--oc-issue-accent);
  border-radius: 50%;
  content: "";
}

.oc-issue-list li::after {
  position: absolute;
  top: 1.05rem;
  left: .28rem;
  width: .5rem;
  height: .25rem;
  border-bottom: 2px solid var(--oc-issue-accent);
  border-left: 2px solid var(--oc-issue-accent);
  content: "";
  transform: rotate(-45deg);
}

@media (prefers-reduced-motion: no-preference) {
  .oc-issue-card {
    transition: transform .22s ease, box-shadow .22s ease;
  }

  .oc-issue-card:hover {
    transform: translateY(-.3rem);
    box-shadow: 0 1.2rem 2.6rem color-mix(in srgb, var(--oc-issue-ink) 14%, transparent);
  }
}

@media (max-width: 767px) {
  .oc-issue-platform {
    margin-bottom: 2.5rem;
  }

  .oc-issue-hero {
    margin-left: calc(50% - 50vw);
  }

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

@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
  .oc-issue-platform {
    --oc-issue-border: rgba(0, 50, 98, .14);
  }
}

/* Full-width red-to-blue background */
.oc-issue-platform {
  width: 100vw;
  max-width: none;
  min-height: 100vh;
  box-sizing: border-box;

  margin: 0 0 0 calc(50% - 50vw);
  padding:
    clamp(3rem, 6vw, 5rem)
    max(clamp(1.25rem, 4vw, 3rem), calc((100vw - 1200px) / 2))
    clamp(4rem, 7vw, 6rem);

 /* background: #673e8c;
  background: linear-gradient(
    180deg,
    rgba(187, 0, 0, 1) 0%,
    rgba(28, 74, 170, 1) 100% */
  );
}

/* Remove the theme/container spacing above the gradient */
.site-main:has(.oc-issue-platform) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Page heading 
.site-main .oc-issue-platform > h1 {
  margin: 0 0 1.25rem;
  padding-top: 0 !important;
  color: #000;
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: .95;
}*/

/* Introductory paragraph */
.oc-issue-platform > .lead {
  max-width: 70rem;
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
  padding-left: 1.25rem;
  border-left: .3rem solid rgba(255, 255, 255, .8);
  color: #000;
  font-size: clamp(.8rem, 1vw, 1.rem);
  line-height: 1.65;
}

/* Keep card text dark against the white cards */
.oc-issue-card {
  color: var(--oc-issue-ink);
}






.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-weight:300;line-height:1.2}
.display-1{font-size:2.75rem}
.display-2{font-size:2.4rem}
.display-3{font-size:2rem}
.display-4{font-size:1.75rem}
.display-5{font-size:1.5rem}
.display-6{font-size:1.25rem}
.lead{font-size:1.2rem; font-weight:400;line-height:normal}
@media (max-width:768px){.display-1{font-size:2.2rem}.display-2{font-size:2rem}.display-3{font-size:1.8rem}.display-4{font-size:1.6rem}.display-5{font-size:1.4rem}.display-6{font-size:1.2rem}lead{font-size:1.1rem}}