/* Brand palette and persistent light/dark appearance settings. */
:root {
  color-scheme: light;
  --paper: #f3eee1;
  --paper-alt: #e9e0cb;
  --paper-rgb: 243, 238, 225;
  --ink: #1c1a16;
  --ink-muted: #6b6355;
  --rust: #c9a227;
  --rust-light: #d97a4a;
  --rust-wash: rgba(184, 71, 31, 0.1);
  --line: rgba(28, 26, 22, 0.18);
  --line-strong: rgba(28, 26, 22, 0.4);
  --sans: "Oswald", Arial, sans-serif;
  --serif: "Source Serif 4", Georgia, serif;
  --mono: "IBM Plex Mono", "Courier New", monospace;
  --container: 1180px;

  --orange: var(--rust);
  --green: #273a31;
  --sage: #78826a;
  --muted: var(--ink-muted);
  --display: var(--sans);
  --body: "DM Sans", Arial, sans-serif;
  --surface: #faf7ef;
  --surface-raised: #eee7d7;
  --hero-gold: #c9a227;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #191a17;
  --paper-alt: #23241f;
  --paper-rgb: 25, 26, 23;
  --ink: #f3eee1;
  --ink-muted: #c0b8a8;
  --rust: #c9a227;
  --rust-light: #f0a073;
  --rust-wash: rgba(225, 122, 79, 0.13);
  --line: rgba(243, 238, 225, 0.15);
  --line-strong: rgba(243, 238, 225, 0.37);

  --orange: var(--rust);
  --green: #111914;
  --sage: #a2a98e;
  --muted: var(--ink-muted);
  --surface: #20211d;
  --surface-raised: #292a24;
  --hero-gold: #e2bb54;
}

html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
body { background-color: var(--paper) !important; color: var(--ink) !important; transition: background-color .24s ease, color .24s ease; }
.skip-link { background: var(--surface); color: var(--ink); }
.container-shell { width: min(var(--container), calc(100% - 112px)); }

.site-header { background: rgba(var(--paper-rgb), .96); border-color: var(--line); }
.wordmark { color: var(--ink); }
.nav-link { color: var(--ink-muted); }
.nav-link:hover,.nav-link.active { color: var(--rust); }
.nav-cta { background: var(--ink); color: var(--paper); }
.nav-cta:hover { background: var(--rust); color: #fff; }
.drop-menu,.mobile-panel { background: var(--paper); border-color: var(--line); }
.drop-menu>a,.mobile-panel>a { color: var(--ink); border-color: var(--line); }
.announcement { background: var(--green); }

.theme-toggle { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; gap: 7px; padding: 0 10px; border: 1px solid var(--line-strong); background: transparent; color: var(--ink); font-family: var(--body); font-size: 10px; font-weight: 550; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.theme-toggle:hover { border-color: var(--rust); background: var(--rust-wash); }
.theme-toggle-icon { flex: none; }
.theme-toggle:focus-visible { outline: 2px solid var(--rust); outline-offset: 3px; }

.ticker,.site-footer { background: var(--paper-alt); border-color: var(--line); }
.intro-section,.work-section,.clients-section { background: var(--paper); }
.handwritten-note,.intro-details>p,.heading-aside,.service-card>p,.clients-copy>p { color: var(--ink-muted); }
.service-grid { background: var(--line); }
.service-card { background: var(--surface); color: var(--ink); }
.service-card-sage { background: var(--paper-alt); }
.service-card-dark { background: #273a31; color: #fff; }
.service-card-dark>p { color: #d5d9d0; }
.service-card-orange { background: var(--rust); color: #fff; }
.filter-button { background: var(--surface); border-color: var(--line); color: var(--ink-muted); }
.filter-button:hover,.filter-button.is-selected { background: var(--rust); border-color: var(--rust); color: #fff; }
.work-image-badge { background: rgba(var(--paper-rgb), .95); color: var(--ink); }
.work-disclosure,.work-note,.value-label,.clients-credit,.footer-top-link,.copyright { color: var(--ink-muted); }
.values-strip { background: var(--paper-alt); border-color: var(--line); }
.value-block { border-color: var(--line); }
.client-band { border-color: var(--line); }
.client-band>span:nth-child(4) { color: var(--ink-muted); }
.client-divider { background: var(--line); }
.contact-section,.promise-section { background: #273a31; }
.contact-form { background: var(--surface); color: var(--ink); }
.contact-form>input,.contact-form>select,.contact-form>textarea { color: var(--ink); border-color: var(--line); }
.contact-form>input::placeholder,.contact-form>textarea::placeholder,.contact-form>select { color: var(--ink-muted); }
.site-footer { background: var(--paper-alt); }
.footer-top { border-color: var(--line); }
.footer-bottom>div>span:first-child { color: var(--ink-muted); }
.footer-bottom>div>span:nth-child(2),.footer-bottom>div>a { color: var(--ink); }
.button-light { background: var(--paper); color: var(--ink); }
.button-light:hover { background: var(--paper-alt); }

:root[data-theme="dark"] .hero-caption { border: 1px solid var(--line); background: rgba(25, 26, 23, .94); color: var(--ink); }
:root[data-theme="dark"] .hero-caption .caption-kicker,
:root[data-theme="dark"] .hero-caption>p { color: var(--ink-muted); }
:root[data-theme="dark"] .hero-caption h2 { color: var(--ink); }

@media (max-width: 760px) {
  .theme-toggle { width: 36px; min-height: 36px; padding: 0; }
  .theme-toggle-label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  body { transition: none; }
  .theme-toggle { transition: none; }
}
