/* Two monochrome themes; the terminal keeps its familiar dark surface. */
:root { color-scheme: light; }
.nav-wrap { gap: 24px; }
#navigation { margin-left: auto; }
.header-controls { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.theme-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  isolation: isolate;
  flex-shrink: 0;
  width: 68px;
  height: 44px;
  border: 1px solid #d0d0d0;
  border-radius: 24px;
  background: #f5f5f5;
  padding: 10px;
  color: #777777;
}
.theme-toggle::before {
  content: '';
  position: absolute;
  z-index: -1;
  width: 28px;
  height: 28px;
  top: 7px;
  left: 5px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 1px 4px #00000015;
}
.theme-toggle svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.theme-sun { color: #111111; }
.theme-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

html[data-theme="dark"] {
  color-scheme: dark;
  --cream: #0c0c0c;
  --ink: #f2f2f2;
  --muted: #b3b3b3;
  --line: #343434;
  --theme-secondary: #b8b8b8;
  --theme-quiet: #a0a0a0;
}
html[data-theme="dark"] :is(body, .header, .hero, footer) { background: #0c0c0c; color: var(--ink); }
html[data-theme="dark"] :is(.brand-icon, .brand-dot, h1 em, .hero-lead strong, .about-name, .about-copy strong, .service-symbol, .process .text-link, details[open] summary) { color: var(--ink); }
html[data-theme="dark"] :is(.hero-lead, .section-heading > p, .audience-intro p, .service-list p, .steps p, .faq-intro, .faq-list p, .about-copy p, .about-note p, .contact-copy > p:not(.eyebrow), .booking-card > p, .inquiry-card label) { color: var(--theme-secondary); }
html[data-theme="dark"] :is(.hero .eyebrow, .hero-note, .hero-bottom, .hero-bottom > a, .terminal-caption, .section-heading .eyebrow, .faq .eyebrow, .small-label, .service-number, .about-section .eyebrow, .about-name span, .about-note .about-note-label, .step-number, .step-number > span, .step-label, .contact-copy .eyebrow, .contact-tags span, .booking-icon > span, .footer-main > p, .back-top, .footer-bottom, .footer-bottom button, .risk-note, .inquiry-card .inquiry-note, .inquiry-status, dialog .eyebrow, .dialog-close) { color: var(--theme-quiet); }
html[data-theme="dark"] :is(.about-section, .contact-panel) { background: #111111; border-color: var(--line); }
html[data-theme="dark"] :is(.about-note, .step-number, .steps article, .booking-card, .contact-tags span, .dark-link, .menu-toggle, dialog) { border-color: var(--line); }
html[data-theme="dark"] :is(.hero-note svg, .service-icon, .booking-icon svg) { stroke: var(--theme-secondary); }
html[data-theme="dark"] nav > a:not(.button) { color: var(--theme-secondary); }
html[data-theme="dark"] nav > a:not(.button):hover { color: #ffffff; }
html[data-theme="dark"] .button-orange { background: #f2f2f2; color: #0c0c0c; }
html[data-theme="dark"] .button-orange:hover { background: #dcdcdc; }
html[data-theme="dark"] .button-outline { color: var(--ink); border-color: #666666; }
html[data-theme="dark"] .button-outline:hover { background: #202020; }
html[data-theme="dark"] .terminal { background: #101010; border-color: #3b3b3b; }
html[data-theme="dark"] .audience-tabs button { color: var(--theme-quiet); }
html[data-theme="dark"] .audience-tabs button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--ink); }
html[data-theme="dark"] .audience-tabs button:hover { color: #ffffff; }
html[data-theme="dark"] .question-art { color: #4b4b4b; }
html[data-theme="dark"] .question-art span { background: #202020; color: #b8b8b8; }
html[data-theme="dark"] :is(summary > span::before, summary > span::after, .menu-toggle span) { background: #cccccc; }
html[data-theme="dark"] .inquiry-card :is(input, textarea) { background: #101010; color: var(--ink); border-color: #555555; }
html[data-theme="dark"] .inquiry-card :is(input, textarea):disabled { background: #191919; color: #a0a0a0; }
html[data-theme="dark"] .inquiry-card :is(input, textarea)::placeholder { color: #999999; opacity: 1; }
html[data-theme="dark"] .inquiry-submit:disabled { background: #333333; color: #aaaaaa; }
html[data-theme="dark"] .contact-email-link:focus-visible { outline-color: #ffffff; }
html[data-theme="dark"] .footer-bottom button:hover { color: #ffffff; }
html[data-theme="dark"] .skip-link { background: #ffffff; color: #000000; }
html[data-theme="dark"] ::selection { background: #eeeeee; color: #000000; }
html[data-theme="dark"] .theme-toggle { background: #1d1d1d; border-color: #494949; color: #999999; }
html[data-theme="dark"] .theme-toggle::before { transform: translateX(28px); background: #eeeeee; box-shadow: none; }
html[data-theme="dark"] .theme-sun { color: #aaaaaa; }
html[data-theme="dark"] .theme-moon { color: #111111; }

@media (prefers-reduced-motion: no-preference) {
  .theme-toggle::before { transition: transform .2s ease; }
}
@media (max-width: 1050px) and (min-width: 851px) {
  .nav-wrap { gap: 16px; }
  #navigation { gap: 18px; }
}
@media (max-width: 850px) {
  .header-controls { margin-left: auto; }
  html[data-theme="dark"] #navigation { background: #101010; border-color: var(--line); box-shadow: 0 20px 20px #00000030; }
}
@media (max-width: 360px) {
  .nav-wrap { gap: 10px; }
  .header-controls { gap: 7px; }
  .nav-wrap .brand { font-size: 21px; gap: 7px; }
  .nav-wrap .brand-icon { width: 24px; height: 24px; }
}
