/* =========================================================================
   STUDIO NINE — HOME (v3: Adcker-inspired editorial cream)
   - Cream canvas, near-black ink, lime fill + blue accent text
   - Ultra-tight bold grotesk hero (line-height 0.85)
   - Mix-blend-difference header — auto-inverts on dark sections
   - Interactive pillar rows (click to expand description + image)
   - Showreel block that scales on scroll
   - Black footer flips against the cream page
   ========================================================================= */

/* PAGE-LEVEL — force cream regardless of user theme. The home is a moment;
   theme toggle still works on every other page. */
.s9-cream {
  --s9-page-bg:    #EFEDEA;
  --s9-page-fg:    #0A0A0A;
  --s9-page-mute:  #5A5A5A;
  --s9-page-line:  rgba(10, 10, 10, 0.10);
  --s9-page-line-strong: rgba(10, 10, 10, 0.22);
  background: var(--s9-page-bg);
  color: var(--s9-page-fg);
}
.s9-cream body::before { mix-blend-mode: multiply; opacity: 0.04; }

/* Home overrides for shared components */
.s9-cream .s9-curtain { background: var(--s9-page-bg); }
.s9-cream .s9-loader  { background: var(--s9-page-bg); }
.s9-cream .s9-loader__count { color: var(--s9-page-fg); }
.s9-cream .s9-loader__brand { filter: invert(1); }
.s9-cream .s9-curtain__brand { filter: invert(1); }

/* HEADER on home — defer to global.css cream header (transparent at top,
   cream blur on scroll). Previous mix-blend-difference fought with the
   logo's invert filter and rendered the wordmark invisible at the top. */
.s9-cream .s9-progress { mix-blend-mode: difference; }

/* On the home page the hero is a full-bleed dark video. While the header
   is transparent (not scrolled), the logo + menu pill should read WHITE
   over the video. Once scrolled past the threshold the cream blur kicks
   in and we flip back to the standard black-on-cream treatment. */
.s9-page-home .s9-header:not(.is-scrolled) .s9-logo__img { filter: none !important; }
.s9-page-home .s9-header:not(.is-scrolled) .s9-menu-toggle {
  color: #FAFAFA !important;
  border-color: rgba(250, 250, 250, 0.6) !important;
}
.s9-page-home .s9-header:not(.is-scrolled) .s9-menu-toggle:hover {
  background: #FAFAFA !important;
  color: #0A0A0A !important;
  border-color: #FAFAFA !important;
}

/* The full-screen menu remains black-on-white (matches Adcker's pattern,
   distinct from the page) */
.s9-cream .s9-menu { background: #0A0A0A; color: #FAFAFA; }

/* COVER ===================================================================
   Stacked huge-bold lines. Line-height 0.85, tight tracking, single accent
   word in serif italic blue. Showreel placeholder grows on scroll below. */
/* Outer wrap = scroll runway. Inner cover sticks for the full duration. */
.s9-cover-wrap {
  position: relative;
  height: 200vh;        /* 1 extra viewport of scroll while pinned */
  z-index: 1;
}
.s9-cover {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  padding-top: calc(var(--s9-header-h) + clamp(2rem, 5vw, 4rem));
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  isolation: isolate; /* contain the video stacking context */
}
/* Background showreel video — sits behind everything in the cover.
   mix-blend-multiply etches it onto the cream so the page tone stays. */
.s9-cover__video {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.s9-cover__video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Full-color video — no multiply — so the x-ray difference blend on the
     headline has real contrast to react against. */
}
.s9-cover__video::after {
  /* Subtle cream gradient at the bottom so the bar text reads cleanly */
  content: "";
  position: absolute;
  inset: 60% 0 0 0;
  background: linear-gradient(180deg, rgba(239,237,234,0) 0%, rgba(239,237,234,0.55) 100%);
  pointer-events: none;
}
.s9-cover__main,
.s9-cover__corner,
.s9-cover > .s9-container { position: relative; z-index: 1; }
.s9-cover__main {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  /* Bottom padding lifts the centered content (lockup + tagline) well clear
     of the bottom bar — uses vh so it scales with the viewport. */
  padding-bottom: 14vh;
  /* No opacity here — would create a stacking context and break the
     mix-blend on the lockup. Opacity moves to the children instead. */
}
.s9-cover__corner {
  position: absolute;
  top: calc(var(--s9-header-h) + var(--s9-space-5));
  left: var(--s9-gutter);
  font-family: var(--s9-font-mono);
  font-size: var(--s9-size-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--s9-page-mute);
  display: inline-flex;
  align-items: center;
  gap: var(--s9-space-2);
  z-index: 2;
}
.s9-cover__corner::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 999px;
  background: var(--s9-accent);
  animation: s9-pulse 2.4s ease-in-out infinite;
}
@keyframes s9-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.4; } }

/* The lockup — three stacked lines, tight as an Adcker hero */
.s9-cover__lockup {
  font-family: var(--s9-font-display);
  font-weight: 600;
  font-size: clamp(3rem, 10vw, 9rem);
  line-height: 0.92;
  letter-spacing: -0.045em;
  /* X-ray: white text + mix-blend-difference reveals the video pixel-by-pixel
     through the letterforms. Bright video = dark text; dark video = bright text. */
  color: #FFFFFF;
  mix-blend-mode: difference;
  padding-block: 0.06em;
  /* Scroll-driven fade. Own opacity here ensures mix-blend operates against
     the video in the cover (parent stacking) rather than an empty wrapper. */
  opacity: var(--s9-text-show, 0);
  transform: translateY(calc((1 - var(--s9-text-show, 0)) * 32px));
  transition: opacity 100ms linear, transform 100ms linear;
  will-change: opacity, transform;
}
.s9-cover__lockup .line {
  display: block;
  white-space: nowrap;
  /* No overflow:hidden — was clipping italic descenders (g, y) in the lockup */
}
.s9-cover__lockup em {
  font-family: var(--s9-font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--s9-blue);
  letter-spacing: -0.015em;
  font-size: 1.04em;
}

/* Per-line slide-up reveal (uses standard data-reveal mechanism) */
.s9-cover__lockup .line[data-reveal] {
  opacity: 1;
  transform: translateY(102%);
  transition: transform 1100ms var(--s9-ease-out);
  transition-delay: var(--s9-reveal-delay, 0ms);
}
.s9-cover__lockup .line[data-reveal].is-revealed { transform: translateY(0); }

.s9-cover__sub {
  margin-top: clamp(2rem, 4vw, 3rem);
  font-family: var(--s9-font-mono);
  font-size: var(--s9-size-xs);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--s9-page-fg);
  line-height: 1.8;
  max-width: 60ch;
  opacity: var(--s9-sub-show, 0);
  transform: translateY(calc((1 - var(--s9-sub-show, 0)) * 24px));
  transition: opacity 100ms linear, transform 100ms linear;
}

/* Bottom bar */
/* 3-col grid so SCROLL is geometrically centered, regardless of side widths */
.s9-cover__bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--s9-space-3);
  align-items: center;
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  font-family: var(--s9-font-mono);
  font-size: var(--s9-size-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--s9-page-mute);
  /* Scroll-driven: fades in alongside headline */
  opacity: var(--s9-text-show, 0);
  transform: translateY(calc((1 - var(--s9-text-show, 0)) * 16px));
  transition: opacity 100ms linear, transform 100ms linear;
}
.s9-cover__bar > :first-child { justify-self: start; }
.s9-cover__bar > .s9-cover__scroll { justify-self: center; }
.s9-cover__bar > :last-child { justify-self: end; }
@keyframes s9-cover-bar-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.s9-cover__scroll { display: inline-flex; align-items: center; gap: var(--s9-space-2); }
.s9-cover__scroll-line {
  width: 28px; height: 1px;
  background: linear-gradient(to right, var(--s9-accent), transparent);
  animation: s9-scrollhint 2s ease-in-out infinite;
}
@keyframes s9-scrollhint {
  0%   { transform: translateX(-8px); opacity: 0; }
  50%  { opacity: 1; }
  100% { transform: translateX(8px); opacity: 0; }
}

/* SHOWREEL — Adcker-style growing block. Starts at viewport bottom, grows
   to fill more space as you scroll past the cover. Pure CSS effect via
   sticky + transform; no JS needed. */
.s9-showreel {
  position: relative;
  height: 200vh; /* gives us scroll runway */
  margin-top: clamp(2rem, 5vw, 4rem);
}
.s9-showreel__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.s9-showreel__frame {
  width: 92%;
  aspect-ratio: 16 / 9;
  background: #0A0A0A;
  color: #FAFAFA;
  border-radius: var(--s9-r-md);
  overflow: hidden;
  display: grid;
  place-items: center;
  position: relative;
  /* Scaling driven by a CSS variable JS sets on scroll; falls back to 1 */
  transform: scale(var(--s9-showreel-scale, 0.6));
  transform-origin: center center;
  transition: transform 80ms linear;
}
.s9-showreel__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(40% 50% at 25% 30%, rgba(212,255,63,0.18), transparent 70%),
    radial-gradient(40% 50% at 75% 70%, rgba(42,42,255,0.18), transparent 70%);
}
.s9-showreel__label {
  font-family: var(--s9-font-mono);
  font-size: var(--s9-size-xs);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(250, 250, 250, 0.7);
  position: relative;
  z-index: 1;
}
.s9-showreel__title {
  font-family: var(--s9-font-display);
  font-weight: 600;
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: #FAFAFA;
  margin-top: var(--s9-space-3);
  text-align: center;
  position: relative;
  z-index: 1;
}
.s9-showreel__title em {
  font-family: var(--s9-font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--s9-accent);
}

/* PILLARS — interactive expandable rows ===================================
   Click a line, it slides open to reveal a description + small media block.
   Arrow rotates 90° on open. */
.s9-pillars {
  border-top: 1px solid var(--s9-page-line);
}
.s9-pillars__head {
  padding-block: clamp(3rem, 6vw, 5rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s9-gutter);
  align-items: end;
}
@media (max-width: 760px) { .s9-pillars__head { grid-template-columns: 1fr; } }
.s9-pillars__label {
  font-family: var(--s9-font-mono);
  font-size: var(--s9-size-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--s9-page-mute);
}
.s9-pillars__title {
  font-family: var(--s9-font-display);
  font-weight: 500;
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--s9-page-fg);
  max-width: 22ch;
  padding-block: 0.04em;
}
.s9-pillars__title em {
  font-family: var(--s9-font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--s9-blue);
}

.s9-pillar {
  border-top: 1px solid var(--s9-page-line);
  position: relative;
}
.s9-pillar:last-of-type { border-bottom: 1px solid var(--s9-page-line); }
.s9-pillar__line {
  width: 100%;
  display: grid;
  grid-template-columns: 80px 1fr auto;
  align-items: center;
  gap: var(--s9-gutter);
  padding-block: clamp(1.5rem, 3vw, 2.25rem);
  background: transparent;
  border: 0;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: var(--s9-page-fg);
  position: relative;
  z-index: 2;
  transition: padding var(--s9-d-base) var(--s9-ease);
}
.s9-pillar__line:hover { padding-left: var(--s9-space-4); }
.s9-pillar__num {
  font-family: var(--s9-font-mono);
  font-size: var(--s9-size-sm);
  color: var(--s9-page-mute);
  letter-spacing: 0.05em;
}
.s9-pillar__title {
  font-family: var(--s9-font-display);
  font-weight: 600;
  font-size: clamp(2rem, 5vw, 4.5rem);
  line-height: 1;
  letter-spacing: -0.035em;
  color: var(--s9-page-fg);
  padding-block: 0.04em;
  transition: color var(--s9-d-base) var(--s9-ease);
}
.s9-pillar__title em {
  font-family: var(--s9-font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--s9-blue);
}
.s9-pillar__line:hover .s9-pillar__title { color: var(--s9-blue); }

.s9-pillar__arrow {
  width: 36px; height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--s9-page-line-strong);
  border-radius: 999px;
  font-family: var(--s9-font-display);
  font-weight: 500;
  color: var(--s9-page-fg);
  transition: transform var(--s9-d-base) var(--s9-ease), background var(--s9-d-base) var(--s9-ease), color var(--s9-d-base) var(--s9-ease), border-color var(--s9-d-base) var(--s9-ease);
}
.s9-pillar.is-open .s9-pillar__arrow {
  transform: rotate(45deg);
  background: var(--s9-accent);
  border-color: var(--s9-accent);
  color: var(--s9-accent-ink);
}

/* Open content: description + image. Animates max-height for smooth open. */
.s9-pillar__body {
  display: grid;
  grid-template-columns: 80px 7fr 4fr;
  gap: var(--s9-gutter);
  max-height: 0;
  overflow: hidden;
  transition: max-height 600ms var(--s9-ease-out), padding 600ms var(--s9-ease-out);
}
.s9-pillar.is-open .s9-pillar__body {
  max-height: 800px;
  padding-bottom: clamp(2rem, 4vw, 3rem);
}
.s9-pillar__copy {
  grid-column: 2;
  font-size: var(--s9-size-lg);
  line-height: 1.6;
  color: var(--s9-page-fg);
  max-width: 60ch;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 500ms var(--s9-ease-out) 200ms, transform 500ms var(--s9-ease-out) 200ms;
}
.s9-pillar.is-open .s9-pillar__copy { opacity: 1; transform: translateY(0); }
.s9-pillar__copy strong { color: var(--s9-page-fg); font-weight: 600; }
.s9-pillar__copy em {
  font-family: var(--s9-font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--s9-blue);
}
.s9-pillar__media {
  grid-column: 3;
  aspect-ratio: 4 / 3;
  background: var(--s9-bg-3);
  border-radius: var(--s9-r-sm);
  overflow: hidden;
  opacity: 0;
  transform: translateY(12px) scale(0.96);
  transition: opacity 500ms var(--s9-ease-out) 250ms, transform 500ms var(--s9-ease-out) 250ms;
}
.s9-pillar.is-open .s9-pillar__media { opacity: 1; transform: translateY(0) scale(1); }
@media (max-width: 760px) {
  .s9-pillar__line { grid-template-columns: 50px 1fr 36px; }
  .s9-pillar__body { grid-template-columns: 50px 1fr; }
  .s9-pillar__copy { grid-column: 2; }
  .s9-pillar__media { grid-column: 2; max-width: 320px; }
}

/* MANIFESTO ===============================================================
   Long-form text moment between pillars and work. Document feel. */
.s9-manifesto {
  padding-block: clamp(6rem, 14vw, 14rem);
  border-top: 1px solid var(--s9-page-line);
}
.s9-manifesto__inner {
  display: grid;
  grid-template-columns: 1fr 8fr 3fr;
  gap: var(--s9-gutter);
}
@media (max-width: 760px) { .s9-manifesto__inner { grid-template-columns: 1fr; } }
.s9-manifesto__label {
  font-family: var(--s9-font-mono);
  font-size: var(--s9-size-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--s9-page-mute);
  position: sticky;
  top: calc(var(--s9-header-h) + 2rem);
  align-self: start;
}
.s9-manifesto__lede {
  font-family: var(--s9-font-display);
  font-weight: 500;
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  line-height: 1.18;
  letter-spacing: -0.025em;
  color: var(--s9-page-fg);
  max-width: 28ch;
  padding-block: 0.04em;
}
.s9-manifesto__lede em {
  font-family: var(--s9-font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--s9-blue);
}
.s9-manifesto__rule {
  height: 1px;
  background: var(--s9-page-line-strong);
  margin: clamp(2rem, 4vw, 3rem) 0;
  transform: scaleX(0);
  transform-origin: left;
}
.s9-manifesto__rule[data-reveal] {
  opacity: 1;
  transition: transform 1.4s var(--s9-ease-out);
}
.s9-manifesto__rule[data-reveal].is-revealed { transform: scaleX(1); }
.s9-manifesto__copy {
  font-size: var(--s9-size-lg);
  line-height: 1.7;
  color: var(--s9-page-fg);
  max-width: 56ch;
}
.s9-manifesto__copy p + p { margin-top: var(--s9-space-5); }
.s9-manifesto__copy a {
  color: var(--s9-page-fg);
  border-bottom: 1px solid var(--s9-page-line-strong);
  padding-bottom: 1px;
  transition: color var(--s9-d-fast) var(--s9-ease), border-color var(--s9-d-fast) var(--s9-ease);
}
.s9-manifesto__copy a:hover {
  color: var(--s9-blue);
  border-bottom-color: var(--s9-blue);
}
.s9-manifesto__pull {
  margin-top: clamp(2.5rem, 5vw, 4rem);
  font-family: var(--s9-font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.5rem, 2.8vw, 2.25rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: var(--s9-blue);
  max-width: 28ch;
  border-left: 2px solid var(--s9-accent);
  padding-left: var(--s9-space-5);
}

/* WORK INDEX ============================================================== */
.s9-index {
  padding-block: clamp(4rem, 10vw, 10rem);
  border-top: 1px solid var(--s9-page-line);
}
.s9-index__head {
  display: grid;
  grid-template-columns: 1fr 8fr 3fr;
  gap: var(--s9-gutter);
  margin-bottom: clamp(3rem, 6vw, 5rem);
}
@media (max-width: 760px) { .s9-index__head { grid-template-columns: 1fr; } }
.s9-index__label {
  font-family: var(--s9-font-mono);
  font-size: var(--s9-size-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--s9-page-mute);
}
.s9-index__title {
  font-family: var(--s9-font-display);
  font-weight: 500;
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  max-width: 22ch;
}
.s9-index__title em {
  font-family: var(--s9-font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--s9-blue);
}
.s9-index__list { border-top: 1px solid var(--s9-page-line); }
.s9-index__row {
  display: grid;
  grid-template-columns: 60px 1fr auto auto 24px;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: baseline;
  padding-block: clamp(1.25rem, 2.5vw, 2rem);
  border-bottom: 1px solid var(--s9-page-line);
  text-decoration: none;
  color: var(--s9-page-fg);
  position: relative;
  transition: padding var(--s9-d-base) var(--s9-ease);
}
.s9-index__row:hover { padding-left: var(--s9-space-4); }
.s9-index__row:hover .s9-index__title-link { color: var(--s9-blue); }
.s9-index__row:hover .s9-index__arrow { transform: translateX(0); opacity: 1; }
.s9-index__row:hover .s9-index__preview { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }
.s9-index__num {
  font-family: var(--s9-font-mono);
  font-size: var(--s9-size-sm);
  color: var(--s9-page-mute);
  letter-spacing: 0.05em;
}
.s9-index__title-link {
  font-family: var(--s9-font-display);
  font-weight: 600;
  font-size: clamp(1.5rem, 3.2vw, 2.5rem);
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: var(--s9-page-fg);
  transition: color var(--s9-d-base) var(--s9-ease);
  padding-block: 0.04em;
}
.s9-index__meta,
.s9-index__year {
  font-family: var(--s9-font-mono);
  font-size: var(--s9-size-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--s9-page-mute);
}
.s9-index__meta { text-align: right; }
.s9-index__arrow {
  font-family: var(--s9-font-display);
  font-size: var(--s9-size-base);
  color: var(--s9-blue);
  transform: translateX(-12px);
  opacity: 0;
  transition: transform var(--s9-d-base) var(--s9-ease), opacity var(--s9-d-base) var(--s9-ease);
  text-align: right;
}
.s9-index__preview {
  position: fixed;
  top: 50%; left: 50%;
  width: 460px;
  aspect-ratio: 4 / 3;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -50%) scale(0.96);
  transition: opacity 350ms var(--s9-ease), transform 350ms var(--s9-ease), visibility 350ms var(--s9-ease);
  border-radius: var(--s9-r-md);
  overflow: hidden;
  z-index: 5;
  box-shadow: 0 30px 80px rgba(0,0,0,0.25);
}
@media (max-width: 900px) { .s9-index__preview { display: none; } }
@media (max-width: 760px) {
  .s9-index__row {
    grid-template-columns: 50px 1fr;
    grid-template-rows: auto auto;
    gap: var(--s9-space-2) var(--s9-space-3);
  }
  .s9-index__meta, .s9-index__year { grid-column: 2; text-align: left; }
  .s9-index__arrow { display: none; }
}
.s9-index__foot {
  margin-top: clamp(2rem, 4vw, 3rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--s9-space-3);
  font-family: var(--s9-font-mono);
  font-size: var(--s9-size-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--s9-page-mute);
}
.s9-index__foot a {
  color: var(--s9-page-fg);
  border-bottom: 1px solid var(--s9-page-line-strong);
  padding-bottom: 2px;
}
.s9-index__foot a:hover { color: var(--s9-blue); border-bottom-color: var(--s9-blue); }

/* FOOTER on home — flip to full dark, Adcker-style */
.s9-cream .s9-footer {
  background: #0A0A0A;
  color: #FAFAFA;
  border-top: 0;
  margin-top: 0;
}
.s9-cream .s9-footer .s9-eyebrow,
.s9-cream .s9-footer .s9-meta { color: rgba(250, 250, 250, 0.55); }
.s9-cream .s9-footer .s9-footer__email { color: #FAFAFA; }
.s9-cream .s9-footer .s9-footer__email .s9-accent { color: var(--s9-accent); }
.s9-cream .s9-footer .s9-footer__links { color: rgba(250, 250, 250, 0.85); }
.s9-cream .s9-footer .s9-footer__links a:hover { color: var(--s9-accent); }
.s9-cream .s9-footer .s9-lead { color: rgba(250, 250, 250, 0.7); }
.s9-cream .s9-footer .s9-footer__wordmark img { opacity: 0.70; filter: none !important; }
