/* Load after style.css. Existing dark design is retained. */
:root { color-scheme: dark; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.header-tools { display: flex; align-items: center; gap: 14px; margin-left: 22px; }
header > nav { margin-left: auto; }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 46px; height: 46px; padding: 0; border: 1px solid #9b8150; border-radius: 50%; background: #171a16; cursor: pointer; transition: transform .25s, box-shadow .25s; }
.theme-toggle[hidden] { display: none; }
.theme-toggle img { width: 44px; height: 44px; display: block; object-fit: contain; border-radius: 50%; }
.theme-toggle:hover { transform: rotate(12deg); box-shadow: 0 0 0 3px #c4a15b30; }
.theme-toggle[aria-pressed="true"] { border-color: #775825; }
.language-switch { display: flex; align-items: center; gap: 6px; margin: 0; }
.language-switch select { width: 100px; padding: 10px 8px; min-height: 44px; font-size: 14px; cursor: pointer; }
.language-apply { min-width: 30px; min-height: 44px; background: transparent; color: inherit; border: 1px solid #66664f; cursor: pointer; }
.language-switch.is-enhanced .language-apply { display: none; }
html.footer-fixed body { padding-bottom: var(--footer-height, 0px); }
html.footer-fixed { scroll-padding-bottom: calc(var(--footer-height, 0px) + 16px); }
html.footer-fixed .site-footer {
  position: static;
  max-height: none;
  overflow: visible;
}

html.footer-fixed .footer-bottom {
  position: fixed;
  inset: auto 0 0;
  z-index: 20;
  box-sizing: border-box;
  margin: 0;
  padding: 12px 5%;
  background: #101111;
}
html[lang="en"] .hero h1 { font-size: clamp(4rem, 7.7vw, 8.1rem); }
html[lang="en"] .contact-intro h2 { font-size: clamp(3.2rem, 5.1vw, 5.5rem); }
html[lang="en"] .approach h2 { font-size: clamp(2.2rem, 3.7vw, 3.7rem); }
/* Light theme: ivory surfaces, near-black text, accessible dark gold details. */
html[data-theme="light"] { color-scheme: light; }
html[data-theme="light"] body { background: #f3efe3; color: #181b17; }
html[data-theme="light"] ::selection { background: #c4a15b; color: #11150e; }
html[data-theme="light"] p { color: #53594d; }
html[data-theme="light"] h2 span { color: #656b5d; }
html[data-theme="light"] header { background: #f3efe3f2; border-color: #c5bfae; }
/* Preserve the provided logo artwork on a small dark brand surface. */
html[data-theme="light"] .brand { padding: 7px 10px; background: #171a16; }
html[data-theme="light"] .footer-top > img { background: #171a16; padding: 8px; }
html[data-theme="light"] .nav-cta { border-color: #a29a84; }
html[data-theme="light"] nav a:hover,
html[data-theme="light"] .nav-cta span,
html[data-theme="light"] .hero h1 span,
html[data-theme="light"] .contact h2 span,
html[data-theme="light"] .stage-number span,
html[data-theme="light"] .cross,
html[data-theme="light"] .hero-bottom a span,
html[data-theme="light"] .card-link span,
html[data-theme="light"] .steps article > span,
html[data-theme="light"] .text-link,
html[data-theme="light"] .footer-links a:hover,
html[data-theme="light"] .back:hover,
html[data-theme="light"] .detail-eyebrow .eyebrow,
html[data-theme="light"] .detail-content aside a,
html[data-theme="light"] .detail-index,
html[data-theme="light"] .outcomes p span,
html[data-theme="light"] .legal p a,
html[data-theme="light"] .legal summary { color: #805c22; }
html[data-theme="light"] a:focus-visible,
html[data-theme="light"] button:focus-visible,
html[data-theme="light"] summary:focus-visible { outline-color: #805c22; }
html[data-theme="light"] .hero-kicker,
html[data-theme="light"] .eyebrow,
html[data-theme="light"] .stage-label,
html[data-theme="light"] .hero-bottom,
html[data-theme="light"] .detail-eyebrow,
html[data-theme="light"] .card-top,
html[data-theme="light"] .card-arrow { color: #5d6353; }
html[data-theme="light"] .line { background: #805c22; }
html[data-theme="light"] .stage-grid { background-image: linear-gradient(#827e542b 1px, transparent 1px), linear-gradient(90deg, #827e542b 1px, transparent 1px); }
html[data-theme="light"] .orbit { border-color: #926f31; }
html[data-theme="light"] .orbit-two { border-color: #8d9479; }
html[data-theme="light"] .hero-bottom,
html[data-theme="light"] .services,
html[data-theme="light"] .service-card,
html[data-theme="light"] .service-note,
html[data-theme="light"] .steps article,
html[data-theme="light"] .detail-hero,
html[data-theme="light"] .detail-block,
html[data-theme="light"] .legal dl > div { border-color: #c5bfae; }
html[data-theme="light"] .hero-bottom a,
html[data-theme="light"] .card-link { color: #23291e; }
html[data-theme="light"] .service-card:hover { background: #e7e2d3; }
html[data-theme="light"] .service-card:hover .card-arrow { color: #805c22; }
html[data-theme="light"] .service-note p { color: #34331c; }
html[data-theme="light"] .button:hover { background: #ded0ad; }
html[data-theme="light"] .approach { background: #e9e5d8; border-color: #c5bfae; }
html[data-theme="light"] footer { background: #e4e0d2; border-color: #bcb5a1; }
html[data-theme="light"] .footer-links,
html[data-theme="light"] .footer-bottom,
html[data-theme="light"] .back,
html[data-theme="light"] .legal dt { color: #53594b; }
html[data-theme="light"] .footer-bottom { border-color: #bcb5a1; }
html[data-theme="light"] .outcomes { background: #e7e4d5; }
html[data-theme="light"] .outcomes > div p { border-color: #bab9a3; color: #272e21; }
html[data-theme="light"] .legal-note { background: #e7e2d0; border-color: #916d30; }
html[data-theme="light"] .partners { background: #eeeadc; border-color: #c5bfae; }
html[data-theme="light"] .partner-card { background: linear-gradient(125deg,#e6dfca,#f5f0e2); border-color: #bcb095; }
html[data-theme="light"] .partner-card:hover { border-color: #86632b; }
html[data-theme="light"] .partner-wordmark,
html[data-theme="light"] .partner-visit { color: #74511c; }
html[data-theme="light"] .partner-placeholder { color: #665e4b; }
html[data-theme="light"] .contact-panel { background: #eae6d9; border-color: #bcb39c; }
html[data-theme="light"] .form-heading .eyebrow { color: #785720; }
html[data-theme="light"] .form-required { color: #606554; }
html[data-theme="light"] .field label,
html[data-theme="light"] .math-row label { color: #252b20; }
html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select { background: #faf7ee; color: #20261b; border-color: #a9aa94; color-scheme: light; }
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder { color: #666e5c; }
html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] select:focus { outline-color: #886329; border-color: #886329; background: #f8f4e6; }
html[data-theme="light"] .field_with_errors input,
html[data-theme="light"] .field_with_errors textarea,
html[data-theme="light"] .field_with_errors select { border-color: #a35132; }
html[data-theme="light"] .math-row { border-color: #bcbaa3; }
html[data-theme="light"] .math-row strong,
html[data-theme="light"] .privacy-note a { color: #76511b; }
html[data-theme="light"] .new-question { color: #76511b; border-color: #a9aa94; }
html[data-theme="light"] .preview-notice { background: #e1dcc6; border-color: #805c22; }
html[data-theme="light"] .form-status { background: #e1ddc9; color: #2a2c20; border-color: #aaa078; }
html[data-theme="light"] .form-status.success { background: #dce6d4; border-color: #748a63; color: #24351b; }
html[data-theme="light"] .form-errors { background: #eddfcd; border-color: #9c7350; color: #542e18; }
html[data-theme="light"] .menu-toggle { color: #242b1c; border-color: #a6aa94; }
@media(max-width:1100px) {
  header > nav { display: none; }
  .header-tools { margin-left: auto; gap: 12px; }
  .header-tools .menu-toggle { display: block; }
  #mobile-menu:not([hidden]) { display: flex; flex-direction: column; position: fixed; inset: 102px 0 0; background: #101111; z-index: 25; overflow-y: auto; padding: 25px 6%; gap: 0; }
  #mobile-menu a { padding: 12px 0; border-bottom: 1px solid #30352a; font-size: 17px; }
  body.menu-open { overflow: hidden; }
  html[data-theme="light"] #mobile-menu:not([hidden]) { background: #f3efe3; }
  html[data-theme="light"] #mobile-menu a { border-color: #c5bfae; }
}
@media(max-width:700px) {
  #mobile-menu:not([hidden]) { top: 80px; }
  .brand img { width: 105px; }
  .header-tools { gap: 8px; }
  .theme-toggle { width: 38px; height: 38px; }
  .theme-toggle img { width: 36px; height: 36px; }
  .language-switch select { width: 85px; padding: 9px 5px; }
  .header-tools .menu-toggle { font-size: 13px; padding: 8px; min-height: 42px; }
  html[lang="en"] .hero h1 { font-size: clamp(3.7rem,12.3vw,6rem); }
}
@media(max-width:380px) {
  header { padding-left: 12px; padding-right: 12px; }
  .brand img { width: 83px; }
  .header-tools { gap: 5px; }
  html[data-theme="light"] .brand { padding: 6px; }
  .language-switch select { width: 78px; font-size: 13px; }
}
@media(prefers-reduced-motion:reduce) {
  .theme-toggle { transition: none; }
  .theme-toggle:hover { transform: none; }
}

html[data-theme="light"] .brand,
html[data-theme="light"] .brand img,
html[data-theme="light"] .footer-top > img {
  background: transparent;
  padding: 0;
}
html[data-theme="light"].footer-fixed .footer-bottom {
  background: #e4e0d2;
}