/* Approved direction 03: Graphite & amber. Shared by every public route. */
:root {
  --paper: #ffffff;
  --surface: #f2f3f5;
  --ink: #22262e;
  --brand: #22262e;
  --accent: #f2b750;
  --muted: #5b626e;
  --line: #d0d4db;
  --section: #15191f;
  --section-text: #f5f6f8;
  --section-muted: #c1c6ce;
  --section-line: #3e4550;
  --action-text: #20242b;
  /* Compatibility aliases keep the established layout and motion selectors intact. */
  --olive: var(--brand);
  --yellow: var(--accent);
}

.button {
  background: var(--accent);
  color: var(--action-text);
  border-color: var(--accent);
}
.button-outline {
  background: transparent;
  color: var(--ink);
  border-color: var(--line);
}

.site-header {
  background: var(--section);
  color: var(--section-text);
  border-color: var(--section-line);
}
.header-inner { border-color: var(--section-line); }
.site-header .brand .brand-mark { color: var(--accent); }
.site-header .main-nav {
  background: var(--section);
  color: var(--section-text);
  border-color: var(--section-line);
}
.site-header .main-nav > a:not(.button) { border-color: var(--section-line); }
.site-header .main-nav > a[aria-current="page"] {
  color: var(--section-text);
  text-decoration-color: var(--accent);
  text-underline-offset: 7px;
}
.site-header .main-nav > a:not(.button)::after,
html.js .site-header::after { background: var(--accent); }
.site-header .menu-toggle { border-color: #586170; }
.site-header .menu-toggle span { background: var(--section-text); }
.site-header a:focus-visible,
.site-header button:focus-visible,
.dark a:focus-visible,
.dark button:focus-visible,
.site-footer a:focus-visible { outline-color: var(--accent); }

.hero {
  background: var(--section);
  color: var(--section-text);
  padding-bottom: 70px;
}
.hero h1 { color: var(--section-text); }
.hero-emphasis { isolation: isolate; color: var(--accent); }
.hero-emphasis::after {
  z-index: -1;
  height: 2px;
  bottom: 0;
  background: var(--accent);
}
.hero .link-arrow { color: var(--section-text); }
.hero-image::before { background: var(--accent); }
.hero-image img { filter: grayscale(1); }
.hero-image figcaption { background: #262d37; color: var(--section-text); }
.hero-image figcaption span:last-child { color: var(--accent); }
.hero a:focus-visible,
.hero button:focus-visible { outline-color: var(--accent); }
.sourcing-strip { background: var(--accent); color: var(--ink); }
.sourcing-strip .motion-route-stroke { background: currentColor; }

.dark,
.site-footer { background: var(--section); color: var(--section-text); }
.dark .button-yellow { background: var(--accent); color: var(--action-text); }
.dark .button-outline { color: var(--section-text); border-color: #586170; }
.experience-copy > p:not(.eyebrow),
.closing-cta-inner > div:last-child > p,
.video-note,
.footer-statement,
.footer-bottom { color: var(--section-muted); }
.experience-copy > .eyebrow,
.experience-stat strong,
.footer-group h3,
.footer-links .eyebrow,
.footer-wordmark,
.site-footer .brand .brand-mark { color: var(--accent); }
.site-footer .brand-mark { background: transparent; }
.footer-links a { color: var(--section-text); }
.footer-bottom,
.experience-stat { border-color: var(--section-line); }
.facility-media { background: var(--section); }
.facility-media figcaption { background: rgb(21 25 31 / 88%); }
.field input::placeholder,
.field textarea::placeholder { color: var(--muted); }

@media (hover:hover) and (pointer:fine) {
  .button:not(:disabled):hover,
  .button-yellow:not(:disabled):hover,
  .dark .button-yellow:not(:disabled):hover {
    background: #e5a741;
    border-color: #e5a741;
    color: var(--action-text);
  }
  .button-outline:not(:disabled):hover {
    background: var(--surface);
    border-color: var(--line);
    color: var(--ink);
  }
  .dark .button-outline:not(:disabled):hover {
    background: #262d37;
    border-color: #586170;
    color: var(--section-text);
  }
  .site-header .main-nav > a:not(.button):hover,
  .site-footer a:hover { text-decoration-color: var(--accent); }
}
