/* Local accessibility refinements; loaded after the shared collection shell. */
.landing-classic-business {
  --red: #bd2b10;
  --red-d: #982109;
  --mist: #5e6065;
  --accent-on-dark: #ff9278;
}

/* Keep the address strip and navigation below the collection bar. */
.landing-classic-business .topbar {
  top: 48px;
  background: #1c1d1f;
  color: #f1f0ec;
}
.landing-classic-business .site-head { top: 82px; }
.landing-classic-business .site-head.is-stuck { top: 48px; background: #f1f0ec; }
.site-head:not(.is-stuck)::before { background: rgba(12,13,14,.78); }
.site-head:not(.is-stuck) .nav__link,
.site-head:not(.is-stuck) .brand__text em { color: #f1f0ec; }
.topbar__free { color: var(--accent-on-dark); }
.hero__lede { color: #fff; }

/* Explicit surface colours prevent pale text inheriting into paper panels. */
.about__copy { color: var(--ink); background: var(--paper); }
.about__points span { color: #3f4044; }
.plan { color: var(--ink); }
.plan .plan__price { color: var(--ink); }
.plan--on, .plan--on .plan__price { color: var(--paper); }
.text-link, .quiz__tag, .field__err { color: #a32610; }
.text-link { border-color: currentColor; }

/* Photo headings get a local upper scrim; the rest of the image stays bright. */
.slice__fig { position: relative; }
.slice__fig img { opacity: 1; }
.slice__fig::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(12,13,14,.72), rgba(12,13,14,.48) 23%, transparent 48%);
}
.slice__idx { color: var(--accent-on-dark); }
.slice.is-on .slice__idx {
  color: #fff;
  background: #1c1d1f;
  padding: .12rem .35rem;
}
.slice .text-link { color: var(--accent-on-dark); }
.slice .text-link:hover { color: #fff; border-color: currentColor; }

/* Start the fade above the caption, rather than at the first line of text. */
.case__meta {
  padding-top: 3.6rem;
  color: #fff;
  background: linear-gradient(180deg, transparent 0%, rgba(12,13,14,.55) 45%, rgba(12,13,14,.88) 100%);
}
.case__meta em { opacity: 1; }

/* Dark surfaces require a separate accent and secondary-text palette. */
.cookie .btn--ghost { color: #f1f0ec; border-color: #b9bab8; }
.cookie .btn--ghost:hover { background: #f1f0ec; color: #0c0d0e; }
.cookie__btns { flex-wrap: wrap; }
.foot h3, .foot__bottom, .foot__demo-cta span,
.foot .brand__text em, .voices cite, .mnav__foot,
.loader__word, .loader__pct { color: #b9bab8; }
.foot__made a, .foot a:hover, .mnav__links a:hover { color: var(--accent-on-dark); }
.foot a.btn--red:hover { color: #fff; }
.form .collection-form-note { grid-column: 1 / -1; }

@media (max-width: 720px) {
  .topbar__in { gap: .65rem; font-size: .6rem; letter-spacing: 0; }
  .slice__fig::after { display: none; }
}
