/* Optional night palette. The existing light design remains the default. */
:root { color-scheme: light; }
.theme-switch {
  display: flex;
  flex: none;
  align-items: center;
  gap: 2px;
  width: max-content;
  padding: 3px;
  border: 1px solid #a3bbd5;
  border-radius: 14px;
  background: #edf4fc;
}
.theme-switch[hidden] { display: none; }
.theme-choice {
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  color: #435b75;
  background: transparent;
  cursor: pointer;
}
.theme-choice svg { width: 22px; height: 22px; pointer-events: none; }
.theme-choice:hover { color: #103d97; background: #dceafb; }
.theme-choice[aria-pressed="true"] { color: #fff; background: #1754ca; }
.theme-choice[aria-pressed="true"]::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 2px;
  bottom: 4px;
  border-radius: 2px;
  background: currentColor;
}
.theme-choice:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; z-index: 1; }

/* Keep navigation comfortable before it changes into the mobile menu. */
@media (min-width:761px) and (max-width:1100px) {
  .site-header { gap: 14px; padding-right: 24px; padding-left: 24px; }
  .site-header nav { gap: 14px; }
  .site-header .brand { width: 140px; }
  .site-header .header-phone { display: none; }
  .site-header .language { padding-left: 14px; }
}
@media (max-width:760px) {
  .site-header nav { max-height: calc(100svh - 156px); overflow-y: auto; overscroll-behavior: contain; }
  .theme-switch { margin-top: 18px; align-self: flex-start; }
}

html[data-theme="dark"] {
  color-scheme: dark;
  --paper: #0b1626;
  --white: #f2f7ff;
  --ink: #e7f0fb;
  --blue: #91c6ff;
  --blue-deep: #b8dbff;
  --soft: #12253b;
  --muted: #acbfd5;
  --line: #344e6b;
  --gradient-nav: linear-gradient(110deg,#173452 0%,#10233a 45%,#0b1626 100%);
  --gradient-surface: linear-gradient(145deg,#193653 0%,#12263d 55%,#0e1b2e 100%);
  --gradient-blue: linear-gradient(125deg,#17385f 0%,#163356 62%,#122840 100%);
  background: var(--paper);
}
html[data-theme="dark"] ::selection { background: #91c6ff; color: #0b1626; }
html[data-theme="dark"] .site-header { border-color: var(--line); }
html[data-theme="dark"] .site-header nav { background: transparent; }
html[data-theme="dark"] .site-header nav a[aria-current="page"]::after { background: var(--blue); }
html[data-theme="dark"] .brand,
html[data-theme="dark"] .graphic-footer .footer-logo {
  padding: 8px 10px;
  border-radius: 12px;
  background: #daeafa;
}
html[data-theme="dark"] .hero { background: linear-gradient(155deg,#122a44 0%,#0d1d31 43%,#0b1626 100%); }
html[data-theme="dark"] .hero-depth-back { background: linear-gradient(150deg,#203e5d,#12263d); border-color: #52769c; }
html[data-theme="dark"] .hero-depth-front { border-color: #7da6d2; }
html[data-theme="dark"] .button,
html[data-theme="dark"] .mobile-contact a:first-child {
  color: #0b1626;
  background: #91c6ff;
}
html[data-theme="dark"] .button:hover,
html[data-theme="dark"] .mobile-contact a:first-child:hover { color: #0b1626; background: #b8dbff; }
html[data-theme="dark"] .music { background: var(--gradient-blue); color: var(--ink); }
html[data-theme="dark"] .repertoire { border-color: #668ab3; }
html[data-theme="dark"] .led-story { background: #101f33; }
html[data-theme="dark"] .cinema-film-shell,
html[data-theme="dark"] .dance-film-shell { background: linear-gradient(135deg,#203d5b,#101f33); }
html[data-theme="dark"] .led-play { color: var(--blue); border-color: var(--blue); }
html[data-theme="dark"] .led-play:hover { color: #0b1626; background: var(--blue); }
html[data-theme="dark"] .film-launch { color: #0b1626; background: #d9ecff; }
html[data-theme="dark"] .film-launch:hover { color: #0b1626; background: #91c6ff; }
html[data-theme="dark"] .music-photo { background: #18324e; }
html[data-theme="dark"] .own-music,
html[data-theme="dark"] .summer-story { background: linear-gradient(145deg,#12263e,#0f1e32); }
html[data-theme="dark"] .summer-person { border-color: #344e6b; }
html[data-theme="dark"] .gallery-link { background: linear-gradient(135deg,#203b58,#14263d); border-color: #466687; }
html[data-theme="dark"] .gallery-link img { background: #0b1626; }
html[data-theme="dark"] .gallery-link:hover { background: #213f60; border-color: #91c6ff; }
html[data-theme="dark"] .filters button { border-color: #6583a4; }
html[data-theme="dark"] .filters button:hover { background: #203d5b; color: #e7f0fb; border-color: #91c6ff; }
html[data-theme="dark"] .filters button[aria-pressed="true"] { color: #0b1626; background: #91c6ff; border-color: #91c6ff; }
html[data-theme="dark"] .filters button[aria-pressed="true"]:hover { background: #b8dbff; }
html[data-theme="dark"] .section+.section { border-color: var(--line); }
html[data-theme="dark"] .contact { background: var(--gradient-surface); }
html[data-theme="dark"] .contact-person { border-color: #466687; }
html[data-theme="dark"] form.inquiry-experience { background: #14283f; border-color: #466687; }
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .inquiry-experience input,
html[data-theme="dark"] .inquiry-experience textarea {
  color: var(--ink);
  background: #0d1d30;
  border-color: #6583a4;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder,
html[data-theme="dark"] .inquiry-experience input::placeholder,
html[data-theme="dark"] .inquiry-experience textarea::placeholder { color: #a5b9d1; }
html[data-theme="dark"] .inquiry-field.is-filled input,
html[data-theme="dark"] .inquiry-field.is-filled textarea { background: #172e48; border-color: #7da6d2; }
html[data-theme="dark"] .inquiry-experience input:focus-visible,
html[data-theme="dark"] .inquiry-experience textarea:focus-visible { background: #172e48; border-color: #91c6ff; }
html[data-theme="dark"] .inquiry-experience [aria-invalid="true"] { border-color: #f2a2b1; background: #301c2d; }
html[data-theme="dark"] .inquiry-field .field-error,
html[data-theme="dark"] .form-status.is-error { color: #ffb7c4; }
html[data-theme="dark"] .form-status.is-ready { background: #203d5b; }
html[data-theme="dark"] .channel-choice span { color: var(--ink); background: #0d1d30; border-color: #6583a4; }
html[data-theme="dark"] .channel-choice input:checked+span { color: #0b1626; background: #91c6ff; border-color: #91c6ff; }
html[data-theme="dark"] .contact-copy .contact-channel { background: #182f49; border-color: #6583a4; }
html[data-theme="dark"] .contact-copy .contact-channel:hover { color: #e7f0fb; background: #213f60; border-color: #91c6ff; }
html[data-theme="dark"] .contact-channel .link-art,
html[data-theme="dark"] .link-art { background: #dceafa; }
html[data-theme="dark"] .graphic-footer.site-footer { background: var(--gradient-nav); border-color: var(--line); }
html[data-theme="dark"] .graphic-footer>div.footer-bottom { border-color: var(--line); }
html[data-theme="dark"] .graphic-footer a.illustrated-link:hover .link-art { background: #f2f7ff; }
html[data-theme="dark"] .mobile-contact { background: #101f33; border-color: #466687; }
html[data-theme="dark"] .mobile-contact a:first-child img { filter: none; }
html[data-theme="dark"] .mobile-contact a:last-child { color: #0b1626; background: #dceafa; border-color: #dceafa; }
html[data-theme="dark"] .mobile-contact a:last-child:hover { background: #f2f7ff; }
html[data-theme="dark"] .skip { background: #14283f; color: #e7f0fb; }
html[data-theme="dark"] .theme-switch { background: #0d1d30; border-color: #6583a4; }
html[data-theme="dark"] .theme-choice { color: #acbfd5; }
html[data-theme="dark"] .theme-choice:hover { color: #e7f0fb; background: #203d5b; }
html[data-theme="dark"] .theme-choice[aria-pressed="true"] { color: #0b1626; background: #91c6ff; }
@media(max-width:760px) {
  html[data-theme="dark"] .site-header nav { background: #12263d; }
  html[data-theme="dark"] .contact-copy .contact-channel.call { background: transparent; }
  html[data-theme="dark"] .contact-channel.call .link-art { background: transparent; }
  html[data-theme="dark"] .contact-channel.call .link-art img { content: url('assets/icons/phone-night.svg'); }
}
@media(forced-colors:active) {
  .theme-switch { border-color: ButtonText; }
  .theme-choice[aria-pressed="true"] { outline: 2px solid ButtonText; outline-offset: -3px; }
}

/* Claude's stories and reviews keep their own layout in both themes. */
html[data-theme="dark"] .story-play { color: #0b1626; background: #d9ecff; }
html[data-theme="dark"] .story:hover .story-play { background: #b8dbff; }
html[data-theme="dark"] .reviews-lead .review-link:hover { color: #0b1626; }
html[data-theme="dark"] .introduction video { background: #12253b; }
