/* Forest dusk dark theme — linked with media="(prefers-color-scheme: dark)"
   Preview labs force via preview-theme.js (?theme=light|dark). */

:root {
  color-scheme: dark;

  --juniper-deep: #2c4a3e;
  --sienna-base: #9b4a34;

  --juniper: #d7e2d9;
  --slate: #c5d0c8;
  --cloud: #edf2f7;
  --sienna: #c46a52;
  --white: #ffffff;
  --surface: #30493f;

  --ink: #edf2f7;
  --ink-soft: #c5d0c8;
  --paper: #243029;
  --paper-2: #2c3832;
  --line: #45574c;
  --accent: var(--sienna);
  --accent-dark: color-mix(in srgb, var(--sienna-base) 70%, black);
  --on-accent: #ffffff;
}

.site-header {
  background: #445b50;
  border-bottom: 1px solid #5a6e62;
  box-shadow: 0 1px 0 color-mix(in srgb, black 25%, transparent);
}

.site-header .site-nav a:not(.nav-cta) {
  color: #d7e2d9;
}

.site-header .site-nav a:not(.nav-cta):hover,
.site-header .site-nav a[aria-current="page"] {
  color: #edf2f7;
}

.site-header .logo-tagline {
  color: var(--accent);
}

.site-header .logo-line-sub {
  color: #c5d0c8;
}

.site-footer {
  background: #2a3630;
}

.strip {
  background: var(--juniper-deep);
  color: var(--cloud);
}

.site-nav a.nav-cta {
  background: var(--accent);
  color: var(--on-accent);
}

.site-nav a.nav-cta:hover {
  background: var(--accent-dark);
  color: var(--on-accent);
}

.contact {
  background: var(--juniper-deep);
  color: var(--cloud);
}

.contact h2 {
  color: var(--cloud);
}

.contact .eyebrow {
  color: var(--accent);
}

.contact-copy > p:not(.eyebrow) {
  color: color-mix(in srgb, var(--cloud) 78%, transparent);
}

.contact-form input,
.contact-form textarea {
  background: color-mix(in srgb, var(--cloud) 24%, var(--juniper-deep));
  border: 1px solid color-mix(in srgb, var(--cloud) 52%, transparent);
  color: var(--cloud);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: color-mix(in srgb, var(--cloud) 48%, transparent);
}

.contact-form .field-hint {
  color: color-mix(in srgb, var(--cloud) 72%, transparent);
}

.card,
.services li,
.who-grid li {
  background: var(--surface);
  border-color: var(--line);
}

.who-grid li {
  color: var(--juniper);
}

.btn.ghost {
  border-color: var(--juniper);
  color: var(--juniper);
}

.btn.ghost:hover {
  background: color-mix(in srgb, var(--juniper) 12%, transparent);
}

.faq-item a {
  color: var(--juniper);
  text-decoration-color: color-mix(in srgb, var(--sienna) 55%, transparent);
}

.site-footer a:hover {
  color: var(--cloud);
}

.nav-toggle {
  color: var(--juniper);
  border-color: currentColor;
  background: color-mix(in srgb, var(--surface) 82%, black);
}

@media (max-width: 860px) {
  .site-nav {
    background: #445b50;
  }
}
