/* Shared campaign treatment for the homepage and Source room preview. */
:root {
  --campaign-blue: #148fb4;
  --campaign-blue-deep: #006d8a;
  --campaign-blue-light: #57afca;
  --campaign-orange: #ffb57c;
  --campaign-ink: #191919;
  --campaign-action: #f8f4ee;
  --campaign-action-hover: #ffffff;
  --campaign-action-on-light: var(--campaign-ink);
  --campaign-paper: #f8f4ee;
  --campaign-panel: #1e2021;
  --campaign-line: rgba(248, 244, 238, 0.2);
}

.campaign-highlight {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: .04em .16em .12em;
  color: var(--campaign-paper);
  background: var(--campaign-blue);
}
.campaign-highlight::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -.07em;
  bottom: -.07em;
  width: 24%;
  height: 38%;
  background: var(--campaign-blue-deep);
}

.hero__status {
  border-radius: 6px;
  border-top: 1px solid var(--campaign-line);
}
.countdown__date { color: var(--campaign-paper); }
.overview { color: var(--campaign-paper); }
.overview__copy p:last-child { color: var(--campaign-paper); }

.release-alert {
  color: var(--campaign-ink);
  background: var(--campaign-paper);
}
.release-alert__eyebrow { color: var(--campaign-ink); }
.source-room__eyebrow { color: var(--campaign-paper); }
.release-alert__copy { margin-top: 32px; }
.release-alert__field input {
  color: var(--campaign-ink);
  background: transparent;
  border-color: rgba(25, 25, 25, .55);
  border-radius: 3px;
}
.release-alert__field input::placeholder { color: #625f59; opacity: 1; }
.release-alert__field input:focus {
  border-color: var(--campaign-ink);
  box-shadow: 0 0 0 1px var(--campaign-ink);
}
.release-alert button,
.source-room__button {
  color: var(--campaign-ink);
  background: var(--campaign-action);
  border-color: var(--campaign-action);
  border-radius: 3px;
}
.release-alert button:hover,
.release-alert button:focus-visible,
.source-room__button:hover {
  color: var(--campaign-ink);
  background: var(--campaign-action-hover);
  border-color: var(--campaign-action-hover);
}
.release-alert button:focus-visible {
  outline: 2px solid var(--campaign-ink);
  outline-offset: 5px;
}
.release-alert button { color: var(--campaign-paper); background: var(--campaign-ink); border-color: var(--campaign-ink); }
.release-alert button:hover,
.release-alert button:focus-visible { color: var(--campaign-paper); background: #444444; border-color: #444444; }
.release-alert__note { color: #625f59; opacity: 1; }
.release-alert__message[data-state="error"] { color: #9b2929; }
.source-room__inner { border-top: 0; }
.source-room__intro { margin-top: 32px; }

.library-intro__copy { margin-top: 36px; }
.resources-page__back { color: var(--campaign-action); text-decoration-color: currentColor; }
.resources-page__back:focus-visible,
.source-room__button:focus-visible,
.library-footer a:focus-visible,
.resource-card:focus-visible { outline: 2px solid var(--campaign-action); outline-offset: 5px; }
.skip-link { color: var(--campaign-ink); background: var(--campaign-action); }
.resource-card {
  color: var(--campaign-paper);
  background: var(--campaign-panel);
  border: 1px solid transparent;
  border-radius: 5px;
  transition: background-color 180ms ease, transform 180ms ease;
}
.resource-list__meta { color: #b9b6b1; }
.resource-card__open { color: var(--campaign-action); }
.resource-card__open::after {
  border-radius: 3px;
  color: var(--campaign-ink);
  background-color: var(--campaign-action);
}
.resource-card:hover {
  background: #292b2c;
}
.resource-card:hover .resource-card__open { color: var(--campaign-action-hover); }
.resource-card:hover .resource-card__open::after {
  color: var(--campaign-ink);
  background-color: var(--campaign-action-hover);
}
.library-eyebrow { color: var(--campaign-paper); }
.library-footer a { color: var(--campaign-action); text-decoration-color: currentColor; }

.contact { border-radius: 24px 24px 0 0; }
.contact h2::before {
  content: "";
  display: block;
  width: 40px;
  height: 4px;
  margin: 0 auto 24px;
  background: currentColor;
}
.contact a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: var(--campaign-action-on-light);
  text-decoration-color: currentColor;
  text-underline-offset: 6px;
}
.contact a:hover { color: #555555; }
.contact a:focus-visible { outline: 2px solid var(--campaign-action-on-light); outline-offset: 6px; }

@media (max-width: 640px) {
  .contact { border-radius: 16px 16px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .scroll-cue img { animation: none; }
  .resource-card,
  .source-room__button,
  .release-alert button { transition: none; }
  .resource-card:hover { transform: none; }
}
