/* Theme layer: loaded after styles.css and mascot.css. */

.theme-toggle {
  order: 2;
  display: inline-grid;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  place-items: center;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  transition: color .22s var(--ease), border-color .22s var(--ease),
    background-color .22s var(--ease), transform .22s var(--ease);
}

.theme-toggle:hover {
  color: var(--cobalt);
  border-color: color-mix(in srgb, var(--cobalt) 48%, transparent);
  background: color-mix(in srgb, var(--cobalt) 9%, transparent);
}

.theme-toggle:active {
  transform: scale(.96);
}

.theme-toggle:focus-visible {
  outline: 3px solid var(--cobalt);
  outline-offset: 3px;
}

.theme-toggle svg,
.theme-toggle__icon {
  display: block;
  width: 20px;
  height: 20px;
}

.theme-toggle .theme-toggle__icon--sun {
  display: none;
}

html[data-theme="dark"] .theme-toggle__icon--moon {
  display: none;
}

html[data-theme="dark"] .theme-toggle__icon--sun {
  display: block;
}

.nav-wrap {
  justify-content: flex-start;
}

.brand {
  order: 0;
}

.site-nav {
  order: 1;
  margin-left: auto;
}

.menu-button {
  order: 3;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --ink: #e6eff3;
  --ink-2: #cddbe1;
  --blueprint: #09232f;
  --paper: #0b1b23;
  --paper-2: #112832;
  --white: #142f3a;
  --steel: #b2c4ce;
  --line: rgba(178, 196, 206, .2);
  --line-light: rgba(230, 239, 243, .17);
  --cobalt: #9babff;
  --cyan: #63e1df;
  --copper: #d6a17e;
  --wa: #137a45;
  --shadow: 0 20px 60px rgba(0, 7, 12, .36);
}

html[data-theme="dark"] body {
  color: #e6eff3;
  background: #0b1b23;
}

html[data-theme="dark"] ::selection {
  color: #071820;
  background: #63e1df;
}

html[data-theme="dark"] :focus-visible {
  outline-color: #9babff;
}

html[data-theme="dark"] .section--paper {
  background: #0b1b23;
}

html[data-theme="dark"] .section--white,
html[data-theme="dark"] .contact-strip {
  background: #102630;
}

html[data-theme="dark"] .section--ink {
  color: #e6eff3;
  background: #09232f;
}

html[data-theme="dark"] .lead,
html[data-theme="dark"] .compact-heading > p,
html[data-theme="dark"] .section-heading > .lead,
html[data-theme="dark"] .signature-copy > p,
html[data-theme="dark"] .proof-copy p:not(.eyebrow),
html[data-theme="dark"] .service-group ul,
html[data-theme="dark"] .media-note,
html[data-theme="dark"] .prose p,
html[data-theme="dark"] .form-note,
html[data-theme="dark"] .form-status {
  color: #b2c4ce;
}

html[data-theme="dark"] .compact-heading--light > p,
html[data-theme="dark"] .section--ink .lead,
html[data-theme="dark"] .section--ink .eyebrow,
html[data-theme="dark"] .section--ink .process-compact p {
  color: #b2c4ce;
}

html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .hero-scope {
  color: #b2c4ce;
}

html[data-theme="dark"] .folio,
html[data-theme="dark"] .form-status a {
  color: #9babff;
}

html[data-theme="dark"] .site-header,
html[data-theme="dark"] .site-header.is-scrolled {
  border-color: rgba(178, 196, 206, .16);
  background: rgba(7, 24, 32, .86);
  box-shadow: 0 1px 0 rgba(230, 239, 243, .04),
    0 10px 30px rgba(0, 7, 12, .2);
  backdrop-filter: blur(18px) saturate(120%);
}

html[data-theme="dark"] .brand__logo {
  content: url('/assets/brand/jadens-logo-light-v4.png');
}

html[data-theme="dark"] .site-nav a {
  color: #dce8ed;
}

html[data-theme="dark"] .site-nav a:hover,
html[data-theme="dark"] .site-nav a[aria-current="page"] {
  color: #9babff;
}

html[data-theme="dark"] .theme-toggle,
html[data-theme="dark"] .menu-button {
  color: #e6eff3;
  border-color: rgba(178, 196, 206, .25);
  background: rgba(230, 239, 243, .025);
}

html[data-theme="dark"] .theme-toggle:hover,
html[data-theme="dark"] .menu-button:hover {
  color: #63e1df;
  border-color: rgba(99, 225, 223, .5);
  background: rgba(99, 225, 223, .08);
  box-shadow: 0 8px 22px rgba(0, 7, 12, .22);
}

html[data-theme="dark"] .site-nav .nav-cta,
html[data-theme="dark"] .button--whatsapp,
html[data-theme="dark"] .contact-links a.button,
html[data-theme="dark"] .whatsapp-fab {
  color: #ffffff;
  background: #137a45;
}

html[data-theme="dark"] .site-nav .nav-cta:hover,
html[data-theme="dark"] .button--whatsapp:hover,
html[data-theme="dark"] .contact-links a.button:hover,
html[data-theme="dark"] .whatsapp-fab:hover {
  color: #ffffff;
  background: #0d6538;
}

html[data-theme="dark"] .wa-dot {
  background: #62e59e;
  box-shadow: 0 0 0 4px rgba(98, 229, 158, .15);
}

html[data-theme="dark"] .button {
  color: #071820;
  background: #9babff;
  border-color: transparent;
}

html[data-theme="dark"] .button:hover {
  color: #071820;
  background: #63e1df;
  box-shadow: 0 10px 26px rgba(0, 7, 12, .28);
}

html[data-theme="dark"] .button--outline {
  color: #e6eff3;
  border-color: rgba(178, 196, 206, .35);
  background: transparent;
}

html[data-theme="dark"] .button--outline:hover {
  color: #071820;
  border-color: #63e1df;
  background: #63e1df;
}

html[data-theme="dark"] .button--text {
  color: #bfcfff;
  border-color: transparent;
  background: transparent;
}

html[data-theme="dark"] .button--text:hover {
  color: #63e1df;
  background: transparent;
  box-shadow: none;
}

html[data-theme="dark"] .button.button--whatsapp {
  color: #ffffff;
  border-color: transparent;
  background: #137a45;
}

html[data-theme="dark"] .button.button--whatsapp:hover {
  color: #ffffff;
  background: #0d6538;
}

html[data-theme="dark"] .skip-link {
  color: #071820;
  background: #63e1df;
}

html[data-theme="dark"] .hero-visual {
  background: #112832;
}

html[data-theme="dark"] .hero-visual img {
  filter: brightness(.86) saturate(.92);
}

html[data-theme="dark"] .hero-copy {
  color: #e6eff3;
  border-color: rgba(178, 196, 206, .2);
  background: rgba(9, 31, 41, .94);
  box-shadow: 0 18px 50px rgba(0, 7, 12, .38);
}

html[data-theme="dark"] .hero-copy .lead {
  color: #c2d2d9;
}

html[data-theme="dark"] .hero-copy h1 em {
  color: #9babff;
}

html[data-theme="dark"] .hero-visual__meta,
html[data-theme="dark"] .page-visual figcaption,
html[data-theme="dark"] .proof-visual figcaption,
html[data-theme="dark"] .founder-portrait figcaption,
html[data-theme="dark"] .discipline-card figcaption {
  color: #e6eff3;
  border-color: rgba(178, 196, 206, .22);
  background: rgba(7, 24, 32, .92);
  box-shadow: 0 8px 24px rgba(0, 7, 12, .24);
}

html[data-theme="dark"] .capability-button {
  color: #b2c4ce;
}

html[data-theme="dark"] .capability-button:hover {
  color: #e6eff3;
  background: rgba(155, 171, 255, .08);
}

html[data-theme="dark"] .capability-button:focus-visible,
html[data-theme="dark"] .capability-button.is-active {
  color: #e6eff3;
  border-color: rgba(155, 171, 255, .3);
  background: #142f3a;
  box-shadow: 0 10px 28px rgba(0, 7, 12, .26);
}

html[data-theme="dark"] .capability-button span {
  color: #9babff;
}

html[data-theme="dark"] .capability-stage,
html[data-theme="dark"] .capability-stage .capability-caption,
html[data-theme="dark"] .discipline-card {
  color: #e6eff3;
  border-color: rgba(178, 196, 206, .18);
  background: #142f3a;
  box-shadow: 0 16px 38px rgba(0, 7, 12, .24);
}

html[data-theme="dark"] .capability-caption p,
html[data-theme="dark"] .discipline-title p {
  color: #b2c4ce;
}

html[data-theme="dark"] .capability-image,
html[data-theme="dark"] .founder-portrait {
  background: #112832;
}

html[data-theme="dark"] .signature-points span {
  color: #c2d2d9;
  border-color: rgba(178, 196, 206, .22);
  background: rgba(230, 239, 243, .025);
}

html[data-theme="dark"] .contact-strip__inner {
  color: #e6eff3;
  background: #142f3a;
  box-shadow: inset 0 0 0 1px rgba(178, 196, 206, .12);
}

html[data-theme="dark"] .page-hero {
  border-color: rgba(178, 196, 206, .18);
}

html[data-theme="dark"] .service-group,
html[data-theme="dark"] .process-compact article {
  border-color: rgba(178, 196, 206, .2);
}

html[data-theme="dark"] .contact-panel {
  color: #e6eff3;
  border: 1px solid rgba(178, 196, 206, .15);
  background: #09232f;
  box-shadow: 0 18px 44px rgba(0, 7, 12, .25);
}

html[data-theme="dark"] .contact-panel .eyebrow,
html[data-theme="dark"] .contact-panel > p:not(.eyebrow),
html[data-theme="dark"] .contact-links a span:first-child {
  color: #b2c4ce;
}

html[data-theme="dark"] .contact-links a {
  color: #e6eff3;
  border-color: rgba(230, 239, 243, .16);
}

html[data-theme="dark"] .contact-links a:hover {
  color: #63e1df;
}

html[data-theme="dark"] .form-field label {
  color: #dbe7ec;
}

html[data-theme="dark"] .form-field input,
html[data-theme="dark"] .form-field select,
html[data-theme="dark"] .form-field textarea {
  color: #e6eff3;
  border-color: rgba(178, 196, 206, .24);
  background: #102630;
  caret-color: #63e1df;
}

html[data-theme="dark"] .form-field input::placeholder,
html[data-theme="dark"] .form-field textarea::placeholder {
  color: #91a7b2;
  opacity: 1;
}

html[data-theme="dark"] .form-field input:focus,
html[data-theme="dark"] .form-field select:focus,
html[data-theme="dark"] .form-field textarea:focus {
  border-color: #9babff;
  background: #142f3a;
  box-shadow: 0 0 0 3px rgba(155, 171, 255, .12);
}

html[data-theme="dark"] .form-field select option {
  color: #e6eff3;
  background: #102630;
}

/* Footer remains a deliberately darker anchor in both themes. */
.site-footer {
  color: #e6eff3;
  background: #071820;
}

.site-footer .footer-grid > div:first-child p,
.site-footer .footer-grid h3,
.site-footer .footer-bottom {
  color: #b2c4ce;
}

.site-footer .footer-links a {
  color: #e6eff3;
}

.site-footer .footer-links a:hover {
  color: #63e1df;
}

html[data-theme="dark"] .jm-mascot__launcher {
  color: #e6eff3;
  filter: drop-shadow(0 14px 20px rgba(0, 7, 12, .46));
}

html[data-theme="dark"] .jm-mascot__launcher:hover,
html[data-theme="dark"] .jm-mascot__launcher:focus-visible {
  filter: drop-shadow(0 16px 24px rgba(0, 7, 12, .58));
}

html[data-theme="dark"] .jm-mascot__hello,
html[data-theme="dark"] .jm-mascot-panel {
  color: #e6eff3;
  border-color: rgba(178, 196, 206, .22);
  background: rgba(9, 31, 41, .97);
  box-shadow: 0 22px 60px rgba(0, 7, 12, .48);
}

html[data-theme="dark"] .jm-mascot-panel__copy h2 {
  color: #e6eff3;
}

html[data-theme="dark"] .jm-mascot-panel__copy p,
html[data-theme="dark"] .jm-mascot-panel__control {
  color: #b2c4ce;
}

html[data-theme="dark"] .jm-mascot-panel__close {
  color: #e6eff3;
  border-color: rgba(178, 196, 206, .24);
  background: rgba(230, 239, 243, .025);
}

html[data-theme="dark"] .jm-mascot-panel__close:hover,
html[data-theme="dark"] .jm-mascot-panel__close:focus-visible {
  color: #63e1df;
  border-color: rgba(99, 225, 223, .48);
  background: rgba(99, 225, 223, .08);
}

html[data-theme="dark"] .jm-mascot-panel__link {
  color: #e6eff3;
  border-color: rgba(178, 196, 206, .17);
  background: #102630;
}

html[data-theme="dark"] .jm-mascot-panel__link::after,
html[data-theme="dark"] .jm-mascot-panel__control:hover {
  color: #9babff;
}

html[data-theme="dark"] .jm-mascot-panel__link:hover,
html[data-theme="dark"] .jm-mascot-panel__link:focus-visible {
  color: #63e1df;
  border-color: rgba(99, 225, 223, .32);
  background: #142f3a;
}

html[data-theme="dark"] .jm-mascot-panel__link--whatsapp,
html[data-theme="dark"] .jm-mascot-panel__link--whatsapp:hover,
html[data-theme="dark"] .jm-mascot-panel__link--whatsapp:focus-visible {
  color: #ffffff;
  border-color: #137a45;
  background: #137a45;
}

html[data-theme="dark"] .jm-mascot-panel__link--whatsapp::after {
  color: #ffffff;
}

html[data-theme="dark"] .jm-mascot-panel__controls {
  border-color: rgba(230, 239, 243, .14);
}

html[data-theme="dark"] .jm-mascot-panel__control {
  text-decoration-color: rgba(178, 196, 206, .4);
}

html[data-theme="dark"] .jm-mascot-restore {
  color: #b2c4ce;
  border-color: rgba(178, 196, 206, .25);
  background: rgba(7, 24, 32, .7);
}

html[data-theme="dark"] .jm-mascot-restore:hover {
  color: #e6eff3;
  border-color: rgba(99, 225, 223, .5);
  background: rgba(99, 225, 223, .08);
}

@media (max-width: 900px) {
  .nav-wrap {
    gap: 8px;
  }

  .brand {
    min-width: 0;
    max-width: calc(100% - 104px);
    flex: 0 1 auto;
  }

  .brand__logo {
    max-width: 100%;
  }

  .theme-toggle,
  .menu-button {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }

  .theme-toggle {
    margin-left: auto;
  }

  .site-nav {
    margin-left: 0;
  }

  html[data-theme="dark"] .site-nav {
    border-color: rgba(178, 196, 206, .2);
    background: rgba(9, 31, 41, .98);
    box-shadow: 0 20px 54px rgba(0, 7, 12, .42);
    backdrop-filter: blur(18px) saturate(120%);
  }

  html[data-theme="dark"] .site-nav a {
    border-color: rgba(230, 239, 243, .13);
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-toggle,
  .theme-toggle__icon {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}
