/**
 * FilmMerge r46 — Public Theme Visual Refinement
 * Presentation-only polish for public-facing pages and access screens.
 * Does not target buyer/filmmaker private portal dashboard classes.
 */

/* ── Public page atmosphere ───────────────────────────────────── */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 8%, rgba(200,151,58,.08), transparent 30vw),
    radial-gradient(circle at 88% 18%, rgba(230,181,90,.06), transparent 34vw),
    linear-gradient(180deg, rgba(255,255,255,.018), transparent 42vh);
}

.fm-section,
.fm-page-content,
.cat-body,
.ct-body,
.ab-story,
.ab-values,
.ab-team,
.byr-catalog,
.byr-contact {
  position: relative;
}

.fm-section::before,
.cat-body::before,
.ct-body::before,
.ab-values::before,
.byr-catalog::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
  opacity: .22;
}

.fm-wrap,
.fm-wrap--sm,
.fm-hero__inner,
.ab-hero__inner,
.byr-hero__inner,
.cat-hero__inner,
.ct-hero__inner,
.fm-services-hero__inner,
.fm-page-hero__inner {
  position: relative;
  z-index: 1;
}

/* ── Navigation: more premium glass treatment ─────────────────── */
.fm-nav {
  background: rgba(8, 10, 14, .88);
  border-bottom-color: rgba(200,151,58,.13);
  box-shadow: 0 16px 44px rgba(0,0,0,.26);
}
.fm-nav--hero:not(.is-scrolled) {
  background: linear-gradient(180deg, rgba(6,8,12,.72), rgba(6,8,12,.34));
  border-bottom-color: rgba(255,255,255,.08);
  box-shadow: none;
}
.fm-nav__links a,
.fm-nav__mobile-links a {
  border-radius: 999px;
}
.fm-nav__links a:hover,
.fm-nav__links a.is-active,
.fm-nav__mobile-links a:hover,
.fm-nav__mobile-links a.is-active {
  background: rgba(200,151,58,.10);
  color: var(--gold-lt);
}
.fm-nav__search-form,
.fm-nav__mobile-panel {
  border-color: rgba(200,151,58,.18);
  box-shadow: 0 22px 70px rgba(0,0,0,.46);
}

/* ── Hero refinement shared across public hero families ───────── */
.fm-hero,
.ab-hero,
.byr-hero,
.cat-hero,
.ct-hero,
.fm-services-hero,
.fm-page-hero,
.lp-hero,
.fas-hero {
  isolation: isolate;
}
.fm-hero__bg,
.ab-hero__bg,
.byr-hero__bg,
.cat-hero__bg,
.ct-hero__bg,
.fm-services-hero__bg,
.fm-page-hero__bg {
  filter: saturate(1.03) contrast(1.04);
}
.fm-hero::after,
.ab-hero::after,
.byr-hero::after,
.cat-hero::after,
.ct-hero::after,
.fm-services-hero::after,
.fm-page-hero::after {
  content: '';
  position: absolute;
  inset: auto 6% 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,151,58,.38), rgba(255,255,255,.08), transparent);
  z-index: 2;
  pointer-events: none;
}
.fm-hero h1,
.ab-hero h1,
.byr-hero h1,
.cat-hero h1,
.ct-hero h1,
.fm-services-hero h1,
.fm-page-hero h1,
.lp-hero h1,
.fas-hero__title {
  letter-spacing: -.025em;
  text-wrap: balance;
}
.fm-hero__sub,
.ab-hero__sub,
.byr-hero__sub,
.cat-hero__sub,
.ct-hero__sub,
.fm-services-hero__sub,
.fm-page-hero__sub,
.fas-hero__sub,
.fm-section-sub {
  color: color-mix(in srgb, var(--cream) 68%, var(--muted));
  text-wrap: pretty;
}
.eyebrow {
  padding: 7px 12px;
  border: 1px solid rgba(200,151,58,.22);
  border-radius: 999px;
  background: rgba(200,151,58,.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.gold-line,
.fm-divider {
  box-shadow: 0 0 18px rgba(200,151,58,.32);
}

/* ── Premium cards and panels across public pages ─────────────── */
.fm-how__step,
.fm-film-card,
.fm-makers__benefit,
.fm-buyers__card,
.fm-about__stat,
.fm-faq__item,
.ab-mv__card,
.ab-value-card,
.ab-team-card,
.byr-hero__card,
.byr-serve-card,
.byr-lic-card,
.byr-film-card,
.byr-form-card,
.fm-service-card,
.fm-process-card,
.fm-req-item,
.fm-licensing-card,
.film-card,
.ct-info-card,
.ct-type-item,
.fm-hero-card,
.fm-process__step,
.fm-req-group,
.msf-wrap,
.fmlog-card,
.fmteam-card,
.fm-access-card {
  border-color: rgba(200,151,58,.16) !important;
  background-image:
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    linear-gradient(180deg, rgba(200,151,58,.035), transparent 58%) !important;
  box-shadow:
    0 22px 70px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.fm-how__step:hover,
.fm-film-card:hover,
.ab-value-card:hover,
.ab-team-card:hover,
.byr-serve-card:hover,
.byr-lic-card:hover,
.byr-film-card:hover,
.fm-service-card:hover,
.fm-process-card:hover,
.fm-req-item:hover,
.fm-licensing-card:hover,
.film-card:hover,
.ct-info-card:hover,
.ct-type-item:hover {
  border-color: rgba(200,151,58,.32) !important;
  transform: translateY(-3px);
  box-shadow:
    0 30px 90px rgba(0,0,0,.34),
    0 0 0 1px rgba(200,151,58,.06),
    inset 0 1px 0 rgba(255,255,255,.07);
}
.fm-film-card,
.film-card,
.byr-film-card,
.ab-team-card {
  overflow: hidden;
}
.fm-film-card__thumb,
.film-card__poster,
.byr-film-card__poster,
.ab-team-card__photo {
  background:
    radial-gradient(circle at 50% 25%, rgba(200,151,58,.15), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.015));
}

/* ── Forms: clearer hierarchy, touch comfort, contrast ───────── */
.fm-native-form,
.msf-wrap,
.fmlog-card,
.fmteam-card,
.fm-access-card,
.byr-form-card {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.fm-native-form input,
.fm-native-form select,
.fm-native-form textarea,
.msf-wrap input,
.msf-wrap select,
.msf-wrap textarea,
.fmlog-field input,
.fmteam-field input,
.fmteam-field select,
.fmteam-field textarea,
.byr-form-card input,
.byr-form-card select,
.byr-form-card textarea,
.fm-nav__search-input,
.fm-nav__mobile-search input {
  min-height: 48px;
  border-color: rgba(242,234,216,.15);
  background: rgba(5,7,10,.48);
  color: var(--cream);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.fm-native-form input:focus,
.fm-native-form select:focus,
.fm-native-form textarea:focus,
.msf-wrap input:focus,
.msf-wrap select:focus,
.msf-wrap textarea:focus,
.fmlog-field input:focus,
.fmteam-field input:focus,
.fmteam-field select:focus,
.fmteam-field textarea:focus,
.byr-form-card input:focus,
.byr-form-card select:focus,
.byr-form-card textarea:focus,
.fm-nav__search-input:focus {
  border-color: rgba(200,151,58,.72);
  box-shadow: 0 0 0 3px rgba(200,151,58,.14), inset 0 1px 0 rgba(255,255,255,.05);
}

/* ── Buttons: consistent tactile behavior ────────────────────── */
.btn,
.fm-nav__btn,
.fm-access-btn,
.fmlog-submit,
.fmteam-submit,
.byr-form-submit {
  min-height: 46px;
  justify-content: center;
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
}
.btn-gold,
.fm-nav__btn--gold,
.fm-access-btn--primary,
.fmlog-submit,
.fmteam-submit,
.byr-form-submit {
  box-shadow: 0 16px 34px rgba(200,151,58,.19);
}
.btn:hover,
.fm-nav__btn:hover,
.fm-access-btn:hover,
.fmlog-submit:hover,
.fmteam-submit:hover,
.byr-form-submit:hover {
  transform: translateY(-2px);
}
.btn:focus-visible,
.fm-nav__btn:focus-visible,
.fm-access-btn:focus-visible,
.fmlog-submit:focus-visible,
.fmteam-submit:focus-visible,
.byr-form-submit:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

/* ── Access/login screens polish without changing auth logic ─── */
.fmlog-shell,
.fmteam-shell,
.fm-access-shell {
  background:
    radial-gradient(circle at 18% 8%, rgba(200,151,58,.16), transparent 34vw),
    radial-gradient(circle at 86% 22%, rgba(255,255,255,.045), transparent 36vw),
    var(--ink);
}
.fmlog-frame,
.fmteam-frame,
.fm-access-frame {
  gap: clamp(24px, 4vw, 56px);
}
.fmlog-card.is-primary,
.fmteam-card,
.fm-access-card {
  border-radius: 24px;
}
.fmlog-help,
.fmteam-help,
.fm-access-note__text {
  color: color-mix(in srgb, var(--cream) 68%, var(--muted));
}

/* ── Footer refinement ───────────────────────────────────────── */
.fm-footer {
  position: relative;
  background:
    radial-gradient(circle at 15% 10%, rgba(200,151,58,.09), transparent 32vw),
    linear-gradient(180deg, var(--deep), #05070a);
  border-top: 1px solid rgba(200,151,58,.14);
}
.fm-footer::before {
  content: '';
  position: absolute;
  inset: 0 6% auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,151,58,.34), transparent);
}
.fm-footer__col a:hover,
.fm-footer__legal a:hover,
.fm-footer__access:hover {
  color: var(--gold-lt);
}

/* ── Light mode refinement ───────────────────────────────────── */
[data-theme="light"] body::before {
  background:
    radial-gradient(circle at 12% 8%, rgba(124,84,18,.09), transparent 30vw),
    radial-gradient(circle at 88% 18%, rgba(158,110,26,.07), transparent 34vw),
    linear-gradient(180deg, rgba(124,84,18,.025), transparent 42vh);
}
[data-theme="light"] .fm-nav {
  background: rgba(255,255,255,.88);
  box-shadow: 0 16px 44px rgba(49,35,11,.08);
}
[data-theme="light"] .fm-native-form input,
[data-theme="light"] .fm-native-form select,
[data-theme="light"] .fm-native-form textarea,
[data-theme="light"] .msf-wrap input,
[data-theme="light"] .msf-wrap select,
[data-theme="light"] .msf-wrap textarea,
[data-theme="light"] .fmlog-field input,
[data-theme="light"] .fmteam-field input,
[data-theme="light"] .fmteam-field select,
[data-theme="light"] .fmteam-field textarea {
  background: rgba(255,255,255,.88);
  color: var(--cream);
  border-color: rgba(124,84,18,.22);
}

/* ── Responsive balance ──────────────────────────────────────── */
@media (min-width: 1440px) {
  :root { --max-width: 1240px; }
  .fm-hero__inner--full .fm-hero__text { max-width: 660px; }
}

@media (max-width: 900px) {
  .fm-trust__header,
  .fm-hero__stats,
  .byr-hero__stat-grid,
  .fm-services-hero__stats,
  .cat-hero__stats,
  .fm-page-hero__pills {
    gap: 12px;
  }
  .fm-hero__stats,
  .cat-hero__stats,
  .fm-services-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .fm-hero,
  .ab-hero,
  .byr-hero,
  .cat-hero,
  .ct-hero,
  .fm-services-hero,
  .fm-page-hero {
    padding-top: 96px;
  }
  .fm-hero__actions,
  .ab-hero__actions,
  .byr-hero__actions,
  .cat-buyers__actions,
  .fm-services-cta__check,
  .fm-page-hero__access,
  .ct-form-wrap .btn {
    width: 100%;
  }
  .fm-hero__actions .btn,
  .ab-hero__actions .btn,
  .byr-hero__actions .btn,
  .cat-buyers__actions .btn,
  .fm-page-hero__access .btn,
  .fm-native-form button,
  .byr-form-submit {
    width: 100%;
    justify-content: center;
  }
  .fm-hero__stats,
  .cat-hero__stats,
  .fm-services-hero__stats {
    grid-template-columns: 1fr;
    max-width: none;
  }
  .fm-trust__header {
    align-items: flex-start;
    flex-direction: column;
  }
  .eyebrow {
    letter-spacing: .14em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .fm-nav__btn,
  .fm-how__step,
  .fm-film-card,
  .film-card,
  .ab-value-card,
  .ab-team-card,
  .byr-serve-card,
  .byr-lic-card,
  .fm-service-card,
  .fm-process-card,
  .fm-req-item,
  .ct-info-card,
  .ct-type-item {
    transition: none !important;
    transform: none !important;
  }
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) body::before {
    background:
      radial-gradient(circle at 12% 8%, rgba(124,84,18,.09), transparent 30vw),
      radial-gradient(circle at 88% 18%, rgba(158,110,26,.07), transparent 34vw),
      linear-gradient(180deg, rgba(124,84,18,.025), transparent 42vh);
  }
  :root:not([data-theme="dark"]) .fm-nav {
    background: rgba(255,255,255,.88);
    box-shadow: 0 16px 44px rgba(49,35,11,.08);
  }
  :root:not([data-theme="dark"]) .fm-native-form input,
  :root:not([data-theme="dark"]) .fm-native-form select,
  :root:not([data-theme="dark"]) .fm-native-form textarea,
  :root:not([data-theme="dark"]) .msf-wrap input,
  :root:not([data-theme="dark"]) .msf-wrap select,
  :root:not([data-theme="dark"]) .msf-wrap textarea,
  :root:not([data-theme="dark"]) .fmlog-field input,
  :root:not([data-theme="dark"]) .fmteam-field input,
  :root:not([data-theme="dark"]) .fmteam-field select,
  :root:not([data-theme="dark"]) .fmteam-field textarea {
    background: rgba(255,255,255,.88);
    color: var(--cream);
    border-color: rgba(124,84,18,.22);
  }
}

/* ════════════════════════════════════════════════════════════════
   r48 — Light Mode Contrast and Access Page Refinement
   Precision pass after r47. Keeps the public visual direction, but corrects
   washed-out light-mode text, access-screen readability, and newsroom contrast.
   ════════════════════════════════════════════════════════════════ */

/* Access pages: logo variants */
.fm-access-logo--lightbg { display: none !important; }
.fm-access-logo--darkbg { display: inline-block !important; }
html[data-theme="light"] .fm-access-logo--darkbg { display: none !important; }
html[data-theme="light"] .fm-access-logo--lightbg { display: inline-block !important; }
@media (prefers-color-scheme: light) {
  html:not([data-theme="dark"]) .fm-access-logo--darkbg { display: none !important; }
  html:not([data-theme="dark"]) .fm-access-logo--lightbg { display: inline-block !important; }
}

/* Light-mode access screens: remove the washout and make form cards readable. */
html[data-theme="light"] body.filmmerge-buyer-login-page,
html[data-theme="light"] body.filmmerge-filmmaker-login-page,
html[data-theme="light"] body.filmmerge-portal-access-page,
html[data-theme="light"] body.filmmerge-team-access-page {
  background: #f3efe6 !important;
  color: #201b15 !important;
}
html[data-theme="light"] .fmlog-shell,
html[data-theme="light"] .fmteam-shell,
html[data-theme="light"] .fm-access-shell {
  background:
    radial-gradient(circle at 18% 8%, rgba(124,84,18,.10), transparent 34vw),
    radial-gradient(circle at 84% 12%, rgba(200,151,58,.10), transparent 30vw),
    linear-gradient(180deg, #f8f5ed 0%, #ede7db 100%) !important;
  color: #201b15 !important;
}
html[data-theme="light"] .fmlog-card,
html[data-theme="light"] .fmteam-card,
html[data-theme="light"] .fm-access-panel,
html[data-theme="light"] .fm-access-card,
html[data-theme="light"] .fmteam-side-note {
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(250,246,238,.90)),
    radial-gradient(circle at top right, rgba(200,151,58,.09), transparent 42%) !important;
  border-color: rgba(124,84,18,.18) !important;
  box-shadow: 0 22px 56px rgba(49,35,11,.14), inset 0 1px 0 rgba(255,255,255,.86) !important;
  color: #201b15 !important;
}
html[data-theme="light"] .fmlog-title,
html[data-theme="light"] .fmteam-title,
html[data-theme="light"] .fm-access-head h1,
html[data-theme="light"] .fm-access-card h2 {
  color: #201b15 !important;
  text-shadow: none !important;
}
html[data-theme="light"] .fmlog-copy,
html[data-theme="light"] .fmteam-copy,
html[data-theme="light"] .fmteam-subtle,
html[data-theme="light"] .fmteam-side-note p,
html[data-theme="light"] .fm-access-head p,
html[data-theme="light"] .fm-access-card p,
html[data-theme="light"] .fm-access-note__text,
html[data-theme="light"] .fmlog-help,
html[data-theme="light"] .fmteam-help,
html[data-theme="light"] .fm-access-footer,
html[data-theme="light"] .fmlog-device-note,
html[data-theme="light"] .fmteam-check,
html[data-theme="light"] .fmlog-check {
  color: #51483e !important;
}
html[data-theme="light"] .fmlog-eyebrow,
html[data-theme="light"] .fmteam-eyebrow,
html[data-theme="light"] .fmteam-badge,
html[data-theme="light"] .fm-access-eyebrow,
html[data-theme="light"] .fm-access-card__kicker {
  color: #7a5010 !important;
  background: rgba(124,84,18,.07) !important;
  border-color: rgba(124,84,18,.20) !important;
}
html[data-theme="light"] .fmlog-field label,
html[data-theme="light"] .fmteam-field label {
  color: #55483a !important;
}
html[data-theme="light"] .fmlog-field input,
html[data-theme="light"] .fmteam-field input,
html[data-theme="light"] .fmteam-field select,
html[data-theme="light"] .fmteam-field textarea {
  background: #fffdf8 !important;
  border-color: rgba(84,64,36,.25) !important;
  color: #1f1a14 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 1px 2px rgba(49,35,11,.04) !important;
}
html[data-theme="light"] .fmlog-field input::placeholder,
html[data-theme="light"] .fmteam-field input::placeholder,
html[data-theme="light"] .fmteam-field textarea::placeholder {
  color: #8a7f72 !important;
}
html[data-theme="light"] .fm-pass-toggle,
html[data-theme="light"] .fm-pass-toggle i {
  color: #51483e !important;
}
html[data-theme="light"] .fmlog-links a:not(.is-primary),
html[data-theme="light"] .fmlog-footer a,
html[data-theme="light"] .fmteam-footer a,
html[data-theme="light"] .fm-access-btn:not(.fm-access-btn--primary),
html[data-theme="light"] .fm-access-footer__links a,
html[data-theme="light"] .fmteam-help a,
html[data-theme="light"] .fmlog-help a {
  color: #33281a !important;
  background: rgba(255,255,255,.68) !important;
  border-color: rgba(84,64,36,.20) !important;
}
html[data-theme="light"] .fmlog-submit,
html[data-theme="light"] .fmteam-submit,
html[data-theme="light"] .fmlog-links a.is-primary,
html[data-theme="light"] .fm-access-btn--primary {
  color: #fff !important;
  background: linear-gradient(135deg, #a8781b, #80560f) !important;
  border-color: rgba(93,60,7,.44) !important;
  box-shadow: 0 18px 34px rgba(124,84,18,.22) !important;
}

@media (prefers-color-scheme: light) {
  html:not([data-theme="dark"]) body.filmmerge-buyer-login-page,
  html:not([data-theme="dark"]) body.filmmerge-filmmaker-login-page,
  html:not([data-theme="dark"]) body.filmmerge-portal-access-page,
  html:not([data-theme="dark"]) body.filmmerge-team-access-page {
    background: #f3efe6 !important;
    color: #201b15 !important;
  }
  html:not([data-theme="dark"]) .fmlog-shell,
  html:not([data-theme="dark"]) .fmteam-shell,
  html:not([data-theme="dark"]) .fm-access-shell {
    background:
      radial-gradient(circle at 18% 8%, rgba(124,84,18,.10), transparent 34vw),
      radial-gradient(circle at 84% 12%, rgba(200,151,58,.10), transparent 30vw),
      linear-gradient(180deg, #f8f5ed 0%, #ede7db 100%) !important;
    color: #201b15 !important;
  }
  html:not([data-theme="dark"]) .fmlog-card,
  html:not([data-theme="dark"]) .fmteam-card,
  html:not([data-theme="dark"]) .fm-access-panel,
  html:not([data-theme="dark"]) .fm-access-card,
  html:not([data-theme="dark"]) .fmteam-side-note {
    background:
      linear-gradient(145deg, rgba(255,255,255,.96), rgba(250,246,238,.90)),
      radial-gradient(circle at top right, rgba(200,151,58,.09), transparent 42%) !important;
    border-color: rgba(124,84,18,.18) !important;
    box-shadow: 0 22px 56px rgba(49,35,11,.14), inset 0 1px 0 rgba(255,255,255,.86) !important;
    color: #201b15 !important;
  }
  html:not([data-theme="dark"]) .fmlog-title,
  html:not([data-theme="dark"]) .fmteam-title,
  html:not([data-theme="dark"]) .fm-access-head h1,
  html:not([data-theme="dark"]) .fm-access-card h2 { color: #201b15 !important; text-shadow: none !important; }
  html:not([data-theme="dark"]) .fmlog-copy,
  html:not([data-theme="dark"]) .fmteam-copy,
  html:not([data-theme="dark"]) .fmteam-subtle,
  html:not([data-theme="dark"]) .fmteam-side-note p,
  html:not([data-theme="dark"]) .fm-access-head p,
  html:not([data-theme="dark"]) .fm-access-card p,
  html:not([data-theme="dark"]) .fm-access-note__text,
  html:not([data-theme="dark"]) .fmlog-help,
  html:not([data-theme="dark"]) .fmteam-help,
  html:not([data-theme="dark"]) .fm-access-footer,
  html:not([data-theme="dark"]) .fmlog-device-note,
  html:not([data-theme="dark"]) .fmteam-check,
  html:not([data-theme="dark"]) .fmlog-check { color: #51483e !important; }
  html:not([data-theme="dark"]) .fmlog-eyebrow,
  html:not([data-theme="dark"]) .fmteam-eyebrow,
  html:not([data-theme="dark"]) .fmteam-badge,
  html:not([data-theme="dark"]) .fm-access-eyebrow,
  html:not([data-theme="dark"]) .fm-access-card__kicker { color: #7a5010 !important; background: rgba(124,84,18,.07) !important; border-color: rgba(124,84,18,.20) !important; }
  html:not([data-theme="dark"]) .fmlog-field label,
  html:not([data-theme="dark"]) .fmteam-field label { color: #55483a !important; }
  html:not([data-theme="dark"]) .fmlog-field input,
  html:not([data-theme="dark"]) .fmteam-field input,
  html:not([data-theme="dark"]) .fmteam-field select,
  html:not([data-theme="dark"]) .fmteam-field textarea { background: #fffdf8 !important; border-color: rgba(84,64,36,.25) !important; color: #1f1a14 !important; }
  html:not([data-theme="dark"]) .fm-pass-toggle,
  html:not([data-theme="dark"]) .fm-pass-toggle i { color: #51483e !important; }
  html:not([data-theme="dark"]) .fmlog-links a:not(.is-primary),
  html:not([data-theme="dark"]) .fmlog-footer a,
  html:not([data-theme="dark"]) .fmteam-footer a,
  html:not([data-theme="dark"]) .fm-access-btn:not(.fm-access-btn--primary),
  html:not([data-theme="dark"]) .fm-access-footer__links a,
  html:not([data-theme="dark"]) .fmteam-help a,
  html:not([data-theme="dark"]) .fmlog-help a { color: #33281a !important; background: rgba(255,255,255,.68) !important; border-color: rgba(84,64,36,.20) !important; }
  html:not([data-theme="dark"]) .fmlog-submit,
  html:not([data-theme="dark"]) .fmteam-submit,
  html:not([data-theme="dark"]) .fmlog-links a.is-primary,
  html:not([data-theme="dark"]) .fm-access-btn--primary { color: #fff !important; background: linear-gradient(135deg, #a8781b, #80560f) !important; border-color: rgba(93,60,7,.44) !important; box-shadow: 0 18px 34px rgba(124,84,18,.22) !important; }
}

/* News and editorial pages: fix light-mode washout without redesigning layout. */
html[data-theme="light"] .fm-news-shell,
html[data-theme="light"] .fm-article-shell,
html[data-theme="light"] .fm-news-grid-section,
html[data-theme="light"] .fm-art-main,
html[data-theme="light"] .fm-article-related {
  background: #f4efe6 !important;
  color: #201b15 !important;
}
html[data-theme="light"] .fm-news-hero,
html[data-theme="light"] .fm-art-hero,
html[data-theme="light"] .fm-news-featured {
  background:
    radial-gradient(circle at 84% 8%, rgba(200,151,58,.12), transparent 32vw),
    linear-gradient(180deg, #f8f4eb 0%, #ece5d8 100%) !important;
  border-bottom-color: rgba(84,64,36,.12) !important;
}
html[data-theme="light"] .fm-news-hero__bg,
html[data-theme="light"] .fm-art-hero__bg {
  opacity: .38 !important;
}
html[data-theme="light"] .fm-news-hero h1,
html[data-theme="light"] .fm-art-title,
html[data-theme="light"] .fm-news-grid-header h2,
html[data-theme="light"] .fm-article-related__head h2,
html[data-theme="light"] .fm-news-featured__title,
html[data-theme="light"] .fm-news-card__title,
html[data-theme="light"] .fm-news-empty h3,
html[data-theme="light"] .fm-art-prose h2,
html[data-theme="light"] .fm-art-prose h3,
html[data-theme="light"] .fm-art-author-card h3,
html[data-theme="light"] .fm-art-meta__author-name,
html[data-theme="light"] .fm-news-featured__author strong,
html[data-theme="light"] .fm-news-card__author span {
  color: #201b15 !important;
  text-shadow: none !important;
}
html[data-theme="light"] .fm-news-hero__sub,
html[data-theme="light"] .fm-art-deck,
html[data-theme="light"] .fm-news-featured__subtitle,
html[data-theme="light"] .fm-news-card__excerpt,
html[data-theme="light"] .fm-news-meta,
html[data-theme="light"] .fm-art-meta__item,
html[data-theme="light"] .fm-news-featured__author span,
html[data-theme="light"] .fm-news-card__author em,
html[data-theme="light"] .fm-news-empty p,
html[data-theme="light"] .fm-art-prose p,
html[data-theme="light"] .fm-art-prose li,
html[data-theme="light"] .fm-art-author-card p,
html[data-theme="light"] .fm-art-back a,
html[data-theme="light"] .fm-news-breadcrumb,
html[data-theme="light"] .fm-art-breadcrumb,
html[data-theme="light"] .fm-news-breadcrumb a,
html[data-theme="light"] .fm-art-breadcrumb a {
  color: #51483e !important;
}
html[data-theme="light"] .fm-news-chip,
html[data-theme="light"] .fm-art-category,
html[data-theme="light"] .fm-news-section-label,
html[data-theme="light"] .fm-news-breadcrumb span,
html[data-theme="light"] .fm-art-breadcrumb span,
html[data-theme="light"] .fm-news-card__footer a,
html[data-theme="light"] .fm-article-source,
html[data-theme="light"] .fm-art-author-role {
  color: #7a5010 !important;
}
html[data-theme="light"] .fm-news-hero__stats div,
html[data-theme="light"] .fm-news-featured__copy,
html[data-theme="light"] .fm-news-featured__thumb,
html[data-theme="light"] .fm-news-card,
html[data-theme="light"] .fm-news-empty,
html[data-theme="light"] .fm-art-author-card,
html[data-theme="light"] .fm-art-prose blockquote,
html[data-theme="light"] .fm-art-share a {
  background: #fffdf8 !important;
  border-color: rgba(84,64,36,.14) !important;
  box-shadow: 0 14px 34px rgba(49,35,11,.08) !important;
}
html[data-theme="light"] .fm-news-hero__stats strong { color: #7a5010 !important; }
html[data-theme="light"] .fm-news-hero__stats span { color: #51483e !important; }
html[data-theme="light"] .fm-news-filter-btn {
  background: rgba(255,255,255,.78) !important;
  border-color: rgba(84,64,36,.16) !important;
  color: #51483e !important;
}
html[data-theme="light"] .fm-news-filter-btn.is-active,
html[data-theme="light"] .fm-news-filter-btn:hover {
  background: rgba(124,84,18,.09) !important;
  border-color: rgba(124,84,18,.28) !important;
  color: #7a5010 !important;
}

@media (prefers-color-scheme: light) {
  html:not([data-theme="dark"]) .fm-news-shell,
  html:not([data-theme="dark"]) .fm-article-shell,
  html:not([data-theme="dark"]) .fm-news-grid-section,
  html:not([data-theme="dark"]) .fm-art-main,
  html:not([data-theme="dark"]) .fm-article-related { background: #f4efe6 !important; color: #201b15 !important; }
  html:not([data-theme="dark"]) .fm-news-hero,
  html:not([data-theme="dark"]) .fm-art-hero,
  html:not([data-theme="dark"]) .fm-news-featured { background: radial-gradient(circle at 84% 8%, rgba(200,151,58,.12), transparent 32vw), linear-gradient(180deg, #f8f4eb 0%, #ece5d8 100%) !important; border-bottom-color: rgba(84,64,36,.12) !important; }
  html:not([data-theme="dark"]) .fm-news-hero__bg,
  html:not([data-theme="dark"]) .fm-art-hero__bg { opacity: .38 !important; }
  html:not([data-theme="dark"]) .fm-news-hero h1,
  html:not([data-theme="dark"]) .fm-art-title,
  html:not([data-theme="dark"]) .fm-news-grid-header h2,
  html:not([data-theme="dark"]) .fm-article-related__head h2,
  html:not([data-theme="dark"]) .fm-news-featured__title,
  html:not([data-theme="dark"]) .fm-news-card__title,
  html:not([data-theme="dark"]) .fm-news-empty h3,
  html:not([data-theme="dark"]) .fm-art-prose h2,
  html:not([data-theme="dark"]) .fm-art-prose h3,
  html:not([data-theme="dark"]) .fm-art-author-card h3,
  html:not([data-theme="dark"]) .fm-art-meta__author-name,
  html:not([data-theme="dark"]) .fm-news-featured__author strong,
  html:not([data-theme="dark"]) .fm-news-card__author span { color: #201b15 !important; text-shadow: none !important; }
  html:not([data-theme="dark"]) .fm-news-hero__sub,
  html:not([data-theme="dark"]) .fm-art-deck,
  html:not([data-theme="dark"]) .fm-news-featured__subtitle,
  html:not([data-theme="dark"]) .fm-news-card__excerpt,
  html:not([data-theme="dark"]) .fm-news-meta,
  html:not([data-theme="dark"]) .fm-art-meta__item,
  html:not([data-theme="dark"]) .fm-news-featured__author span,
  html:not([data-theme="dark"]) .fm-news-card__author em,
  html:not([data-theme="dark"]) .fm-news-empty p,
  html:not([data-theme="dark"]) .fm-art-prose p,
  html:not([data-theme="dark"]) .fm-art-prose li,
  html:not([data-theme="dark"]) .fm-art-author-card p,
  html:not([data-theme="dark"]) .fm-art-back a,
  html:not([data-theme="dark"]) .fm-news-breadcrumb,
  html:not([data-theme="dark"]) .fm-art-breadcrumb,
  html:not([data-theme="dark"]) .fm-news-breadcrumb a,
  html:not([data-theme="dark"]) .fm-art-breadcrumb a { color: #51483e !important; }
  html:not([data-theme="dark"]) .fm-news-chip,
  html:not([data-theme="dark"]) .fm-art-category,
  html:not([data-theme="dark"]) .fm-news-section-label,
  html:not([data-theme="dark"]) .fm-news-breadcrumb span,
  html:not([data-theme="dark"]) .fm-art-breadcrumb span,
  html:not([data-theme="dark"]) .fm-news-card__footer a,
  html:not([data-theme="dark"]) .fm-article-source,
  html:not([data-theme="dark"]) .fm-art-author-role { color: #7a5010 !important; }
  html:not([data-theme="dark"]) .fm-news-hero__stats div,
  html:not([data-theme="dark"]) .fm-news-featured__copy,
  html:not([data-theme="dark"]) .fm-news-featured__thumb,
  html:not([data-theme="dark"]) .fm-news-card,
  html:not([data-theme="dark"]) .fm-news-empty,
  html:not([data-theme="dark"]) .fm-art-author-card,
  html:not([data-theme="dark"]) .fm-art-prose blockquote,
  html:not([data-theme="dark"]) .fm-art-share a { background: #fffdf8 !important; border-color: rgba(84,64,36,.14) !important; box-shadow: 0 14px 34px rgba(49,35,11,.08) !important; }
  html:not([data-theme="dark"]) .fm-news-hero__stats strong { color: #7a5010 !important; }
  html:not([data-theme="dark"]) .fm-news-hero__stats span { color: #51483e !important; }
  html:not([data-theme="dark"]) .fm-news-filter-btn { background: rgba(255,255,255,.78) !important; border-color: rgba(84,64,36,.16) !important; color: #51483e !important; }
  html:not([data-theme="dark"]) .fm-news-filter-btn.is-active,
  html:not([data-theme="dark"]) .fm-news-filter-btn:hover { background: rgba(124,84,18,.09) !important; border-color: rgba(124,84,18,.28) !important; color: #7a5010 !important; }
}

/* Header on the dark homepage hero: keep readable when the page is in light mode. */
html[data-theme="light"] .home .fm-nav--hero:not(.is-scrolled),
html[data-theme="light"] .front-page .fm-nav--hero:not(.is-scrolled) {
  background: rgba(5,7,10,.38) !important;
  border-bottom-color: rgba(242,234,216,.10) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .home .fm-nav--hero:not(.is-scrolled) .fm-nav__links a,
html[data-theme="light"] .front-page .fm-nav--hero:not(.is-scrolled) .fm-nav__links a,
html[data-theme="light"] .home .fm-nav--hero:not(.is-scrolled) .fm-nav__search-btn,
html[data-theme="light"] .front-page .fm-nav--hero:not(.is-scrolled) .fm-nav__search-btn,
html[data-theme="light"] .home .fm-nav--hero:not(.is-scrolled) .fm-nav__theme-toggle,
html[data-theme="light"] .front-page .fm-nav--hero:not(.is-scrolled) .fm-nav__theme-toggle {
  color: rgba(242,234,216,.88) !important;
}


/* ════════════════════════════════════════════════════════════════
   r49 — Dark Mode Final Polish + Header/Footer Consistency
   Dark-mode-only refinement. Light mode is deliberately left for a later
   dedicated pass. Scope: spacing discipline, sticky header consistency,
   footer maturity, small-text readability, and gold-accent hierarchy.
   ════════════════════════════════════════════════════════════════ */

html[data-theme="dark"] .fm-nav,
html[data-theme="dark"] .fm-nav--hero.is-scrolled {
  background: rgba(6, 8, 12, .92) !important;
  border-bottom-color: rgba(200, 151, 58, .14) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .34) !important;
  backdrop-filter: blur(18px) saturate(1.05);
  -webkit-backdrop-filter: blur(18px) saturate(1.05);
}

html[data-theme="dark"] .fm-nav--hero:not(.is-scrolled) {
  background: linear-gradient(180deg, rgba(4, 6, 9, .58), rgba(4, 6, 9, .18)) !important;
  border-bottom-color: rgba(242, 234, 216, .07) !important;
}

html[data-theme="dark"] .fm-nav__links a,
html[data-theme="dark"] .fm-nav__search-btn,
html[data-theme="dark"] .fm-nav__theme-toggle {
  color: rgba(242, 234, 216, .72);
}

html[data-theme="dark"] .fm-nav__links a:hover,
html[data-theme="dark"] .fm-nav__links a.fm-nav-current,
html[data-theme="dark"] .fm-nav__links .current-menu-item > a {
  color: var(--gold-lt);
}

html[data-theme="dark"] .fm-hero {
  min-height: clamp(720px, 88vh, 920px);
  padding-bottom: 64px;
}

html[data-theme="dark"] .fm-hero__inner--full .fm-hero__text {
  transform: translateY(-1.5vh);
}

html[data-theme="dark"] .fm-hero h1 {
  margin-bottom: 18px;
}

html[data-theme="dark"] .fm-hero__sub {
  margin-bottom: 30px;
  color: rgba(242, 234, 216, .70) !important;
}

html[data-theme="dark"] .fm-hero__stats {
  margin-top: 42px;
}

html[data-theme="dark"] .fm-trust {
  padding: 42px 0;
}

html[data-theme="dark"] .fm-how,
html[data-theme="dark"] .fm-spotlight,
html[data-theme="dark"] .fm-makers,
html[data-theme="dark"] .fm-buyers,
html[data-theme="dark"] .fm-catalog-preview,
html[data-theme="dark"] .fm-about,
html[data-theme="dark"] .fm-faq,
html[data-theme="dark"] .fm-afro,
html[data-theme="dark"] .fm-contact {
  padding-top: clamp(64px, 7vw, 86px);
  padding-bottom: clamp(64px, 7vw, 86px);
}

html[data-theme="dark"] .fm-spotlight,
html[data-theme="dark"] .fm-catalog-preview {
  padding-top: clamp(56px, 6vw, 76px);
  padding-bottom: clamp(56px, 6vw, 76px);
}

html[data-theme="dark"] .fm-spotlight__header,
html[data-theme="dark"] .fm-buyers__header,
html[data-theme="dark"] .fm-catalog__header,
html[data-theme="dark"] .fm-faq__header {
  margin-bottom: 32px;
}

html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .fm-section__eyebrow {
  border-color: rgba(200, 151, 58, .18) !important;
  background: rgba(200, 151, 58, .045) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] .fm-how__step,
html[data-theme="dark"] .fm-film-card,
html[data-theme="dark"] .fm-makers__benefit,
html[data-theme="dark"] .fm-buyers__card,
html[data-theme="dark"] .fm-about__stat-card,
html[data-theme="dark"] .fm-faq__item,
html[data-theme="dark"] .fm-cat-card,
html[data-theme="dark"] .fm-contact__form,
html[data-theme="dark"] .fm-contact__detail,
html[data-theme="dark"] .fm-afro__card {
  border-color: rgba(200, 151, 58, .12) !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html[data-theme="dark"] .fm-how__step:hover,
html[data-theme="dark"] .fm-film-card:hover,
html[data-theme="dark"] .fm-buyers__card:hover,
html[data-theme="dark"] .fm-cat-card:hover,
html[data-theme="dark"] .fm-faq__item:hover {
  border-color: rgba(200, 151, 58, .26) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

html[data-theme="dark"] .fm-film-card__body,
html[data-theme="dark"] .fm-cat-card__body {
  padding: 16px;
}

html[data-theme="dark"] .fm-film-card__title,
html[data-theme="dark"] .fm-cat-card__title {
  color: rgba(255,255,255,.94);
}

html[data-theme="dark"] .fm-film-card__desc,
html[data-theme="dark"] .fm-film-card__meta,
html[data-theme="dark"] .fm-cat-card__year,
html[data-theme="dark"] .fm-makers__benefit-desc,
html[data-theme="dark"] .fm-buyers__card p,
html[data-theme="dark"] .fm-about__text p,
html[data-theme="dark"] .fm-faq__a-inner,
html[data-theme="dark"] .fm-contact__detail p,
html[data-theme="dark"] .fm-footer__brand p,
html[data-theme="dark"] .fm-footer__col a,
html[data-theme="dark"] .fm-footer__copy,
html[data-theme="dark"] .fm-footer__legal a,
html[data-theme="dark"] .fm-footer__access {
  color: rgba(242, 234, 216, .64) !important;
}

html[data-theme="dark"] .fm-faq__q,
html[data-theme="dark"] .fm-makers__benefit-title,
html[data-theme="dark"] .fm-contact__detail strong,
html[data-theme="dark"] .fm-footer__col h4 {
  color: rgba(242, 234, 216, .90) !important;
}

html[data-theme="dark"] .fm-footer {
  padding-top: 56px;
  padding-bottom: 28px;
  background: radial-gradient(circle at 12% 0%, rgba(200,151,58,.075), transparent 30vw), linear-gradient(180deg, #0b0d10 0%, #050608 100%) !important;
}

html[data-theme="dark"] .fm-footer__top {
  gap: clamp(32px, 5vw, 56px);
  margin-bottom: 42px;
}

html[data-theme="dark"] .fm-footer__logo-img {
  height: 48px;
}

html[data-theme="dark"] .fm-footer__col ul,
html[data-theme="dark"] .fm-footer__col nav > ul {
  gap: 9px;
}

html[data-theme="dark"] .fm-footer__col a:hover,
html[data-theme="dark"] .fm-footer__legal a:hover,
html[data-theme="dark"] .fm-footer__access:hover {
  color: var(--gold-lt) !important;
}

@media (max-width: 900px) {
  html[data-theme="dark"] .fm-hero {
    min-height: auto;
    padding-top: 112px;
    padding-bottom: 56px;
  }
  html[data-theme="dark"] .fm-hero__inner--full .fm-hero__text {
    transform: none;
  }
  html[data-theme="dark"] .fm-how,
  html[data-theme="dark"] .fm-spotlight,
  html[data-theme="dark"] .fm-makers,
  html[data-theme="dark"] .fm-buyers,
  html[data-theme="dark"] .fm-catalog-preview,
  html[data-theme="dark"] .fm-about,
  html[data-theme="dark"] .fm-faq,
  html[data-theme="dark"] .fm-afro,
  html[data-theme="dark"] .fm-contact {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}

@media (max-width: 640px) {
  html[data-theme="dark"] .fm-footer {
    padding-top: 44px;
  }
  html[data-theme="dark"] .fm-footer__logo-img {
    height: 42px;
  }
  html[data-theme="dark"] .fm-faq__q {
    padding: 16px 18px;
  }
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .fm-nav,
  html:not([data-theme="light"]) .fm-nav--hero.is-scrolled {
    background: rgba(6, 8, 12, .92) !important;
    border-bottom-color: rgba(200, 151, 58, .14) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .34) !important;
  }
  html:not([data-theme="light"]) .fm-nav--hero:not(.is-scrolled) {
    background: linear-gradient(180deg, rgba(4, 6, 9, .58), rgba(4, 6, 9, .18)) !important;
    border-bottom-color: rgba(242, 234, 216, .07) !important;
  }
  html:not([data-theme="light"]) .fm-hero {
    min-height: clamp(720px, 88vh, 920px);
    padding-bottom: 64px;
  }
  html:not([data-theme="light"]) .fm-trust { padding: 42px 0; }
  html:not([data-theme="light"]) .fm-how,
  html:not([data-theme="light"]) .fm-spotlight,
  html:not([data-theme="light"]) .fm-makers,
  html:not([data-theme="light"]) .fm-buyers,
  html:not([data-theme="light"]) .fm-catalog-preview,
  html:not([data-theme="light"]) .fm-about,
  html:not([data-theme="light"]) .fm-faq,
  html:not([data-theme="light"]) .fm-afro,
  html:not([data-theme="light"]) .fm-contact {
    padding-top: clamp(64px, 7vw, 86px);
    padding-bottom: clamp(64px, 7vw, 86px);
  }
  html:not([data-theme="light"]) .fm-spotlight,
  html:not([data-theme="light"]) .fm-catalog-preview {
    padding-top: clamp(56px, 6vw, 76px);
    padding-bottom: clamp(56px, 6vw, 76px);
  }
  html:not([data-theme="light"]) .fm-film-card__desc,
  html:not([data-theme="light"]) .fm-film-card__meta,
  html:not([data-theme="light"]) .fm-cat-card__year,
  html:not([data-theme="light"]) .fm-faq__a-inner,
  html:not([data-theme="light"]) .fm-footer__col a,
  html:not([data-theme="light"]) .fm-footer__copy,
  html:not([data-theme="light"]) .fm-footer__legal a,
  html:not([data-theme="light"]) .fm-footer__access {
    color: rgba(242, 234, 216, .64) !important;
  }
}
