/* M4RTIAL V120 · contraste oscuro AA
   Mantiene la composición editorial y evita invertir superficies que fueron
   diseñadas deliberadamente como oscuras o doradas. */

@media (prefers-color-scheme: dark) {
  :root {
    --m4-v120-dark: #0b0c0a;
    --m4-v120-surface: #151612;
    --m4-v120-raised: #20211b;
    --m4-v120-text: #f7f4ec;
    --m4-v120-muted: #c5c0b5;
    --m4-v120-line: rgba(255, 255, 255, .18);
    --m4-v120-gold: #e9bd4f;
  }

  body.v115-home {
    background: var(--m4-v120-dark) !important;
    color: var(--m4-v120-text) !important;
  }

  body.v115-home .hero {
    color: var(--m4-v120-text) !important;
    background: #090a08 !important;
  }

  body.v115-home .hero-overline,
  body.v115-home .hero-intro > p,
  body.v115-home .hero-answer,
  body.v115-home .title-a {
    color: var(--m4-v120-text) !important;
  }

  body.v115-home .title-b {
    color: transparent !important;
    -webkit-text-stroke-color: rgba(255, 255, 255, .92) !important;
  }

  body.v115-home .hero-image::after {
    background: linear-gradient(90deg, #090a08 0%, rgba(9,10,8,.82) 18%, rgba(9,10,8,.18) 65%, rgba(9,10,8,.52) 100%) !important;
  }

  body.v115-home .site-header:not(.scrolled) {
    color: #fff !important;
    mix-blend-mode: normal !important;
  }

  body.v115-home .site-header.scrolled {
    color: var(--m4-v120-text) !important;
    border-bottom-color: var(--m4-v120-line) !important;
    background: rgba(16,17,14,.94) !important;
    mix-blend-mode: normal !important;
  }

  body.v115-home .discipline-field,
  body.v115-home .contact {
    color: var(--m4-v120-text) !important;
    background: #080907 !important;
  }

  body.v115-home .manifesto,
  body.v115-home .information,
  body.v115-home .site-footer {
    color: var(--m4-v120-text) !important;
    border-color: var(--m4-v120-line) !important;
    background: var(--m4-v120-dark) !important;
  }

  body.v115-home .manifesto p,
  body.v115-home .information small,
  body.v115-home .information span,
  body.v115-home .site-footer a,
  body.v115-home .site-footer small {
    color: var(--m4-v120-muted) !important;
  }

  body.v115-home .manifesto h2,
  body.v115-home .manifesto h3,
  body.v115-home .information h2,
  body.v115-home .information strong,
  body.v115-home .contact h2 {
    color: var(--m4-v120-text) !important;
  }

  body.v115-home .education {
    color: #111009 !important;
    background: var(--m4-v120-gold) !important;
  }

  body.v115-home .education h2,
  body.v115-home .education h2 em,
  body.v115-home .education p,
  body.v115-home .education li,
  body.v115-home .education .text-link {
    color: #111009 !important;
  }

  body.v115-home .education ul,
  body.v115-home .education li {
    border-color: rgba(17, 16, 9, .58) !important;
  }

  body.v115-home .round-link,
  body.v115-home .contact-orbit {
    color: #171309 !important;
    background: var(--m4-v120-gold) !important;
  }

  body.v115-home .entrance {
    color: var(--m4-v120-text) !important;
    border-color: var(--m4-v120-line) !important;
  }

  body.v115-home .entrance::after {
    background: rgba(0, 0, 0, .58) !important;
  }

  body.v115-home .data-grid,
  body.v115-home .data-grid a,
  body.v115-home .manifesto-method,
  body.v115-home .manifesto-method article,
  body.v115-home .discipline-intro,
  body.v115-home .discipline-stack a {
    border-color: var(--m4-v120-line) !important;
  }

  /* El menú móvil se mantiene blanco por decisión de diseño. */
  body.v115-home.menu-open .site-header {
    color: #0a0a09 !important;
    background: #f8f7f2 !important;
  }

  body.v115-home.menu-open .menu-toggle {
    color: #0a0a09 !important;
    border-color: rgba(10,10,9,.24) !important;
    background: rgba(10,10,9,.04) !important;
  }

  /* Componentes heredados de páginas informativas. */
  html[data-theme="dark"] :where(.day-tabs button, .schedule-row, .schedule-list li, .hours-highlight-card, .service-card-soon, .team-soon-panel) {
    color: var(--m4-v120-text) !important;
    border-color: var(--m4-v120-line) !important;
    background: var(--m4-v120-surface) !important;
    background-image: none !important;
  }

  html[data-theme="dark"] :where(.day-tabs button[aria-selected="true"], .day-tabs button.active, .schedule-tag, .review-stars) {
    color: #171309 !important;
    border-color: #ebc85e !important;
    background: #e9c35b !important;
  }
}

@media (prefers-color-scheme: dark) and (max-width: 700px) {
  body.v115-home .hero,
  body.v115-home .hero-stage {
    background: #090a08 !important;
  }

  body.v115-home .hero-image::after {
    background: linear-gradient(90deg, #090a08 0%, rgba(9,10,8,.72) 34%, rgba(9,10,8,.2) 100%) !important;
  }
}
