/* Sage & coral by day; graphite & chalk after dark. Shared by every page. */
:root,
html[data-theme="light"] {
  color-scheme: light;
  --paper: #eeefe7;
  --ink: #243d34;
  --muted: #64746a;
  --muted-text: #56675c;
  --rule: #c6cfc2;
  --cream: #e0e6d8;
  --accent: #3e7052;
  --accent-text: #3e644c;
  --accent-pale: #d6dfcd;
  --green: #3e7052;
  --coral: #b86445;
  --dark: #233d32;
  --reading-fiber: #527258;
  --reading-branch: #769071;
  --reading-signal: #b86445;
  --field-fiber-rgb: 64,98,66;
  --field-highlight-rgb: 73,110,69;
  --field-twig-rgb: 98,125,87;
  --field-signal-rgb: 179,96,62;
  --field-flow-rgb: 46,91,57;
  --field-glow-rgb: 133,159,98;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --paper: #181818;
  --ink: #f0f0e9;
  --muted: #aeaca8;
  --muted-text: #aeaca8;
  --rule: #40403d;
  --cream: #252523;
  --accent: #d6d4ce;
  --accent-text: #e3e1d9;
  --accent-pale: #34332f;
  --green: #d6d4ce;
  --coral: #ffffff;
  --dark: #111111;
  --reading-fiber: #b8b8b2;
  --reading-branch: #93958c;
  --reading-signal: #eeece6;
  --field-fiber-rgb: 184,184,178;
  --field-highlight-rgb: 224,224,216;
  --field-twig-rgb: 179,179,173;
  --field-signal-rgb: 255,255,246;
  --field-flow-rgb: 226,224,216;
  --field-glow-rgb: 206,201,185;
  --field-wash: #77746a26;
  --subtle-label: #99968e;
  --hover: #353430;
  --panel-ink: #eeece6;
  --panel-muted: #b8b4ad;
  --panel-note: #ada9a1;
  --panel-fiber: #cecbc0;
  --panel-signal: #f6f5e8;
  --panel-rule: #ffffff20;
  --layer-fill: #34332f;
  --layer-border: #636055;
  --layer-shadow: #00000030;
  --layer-connector: #aaa28e66;
  --layer-arrow: #cbc4b6;
  --closing-ring: #80796b;
}

body { background-color: var(--paper); color: var(--ink); }
html[data-theme="dark"] :is(.brand img, .logo-img, .footer-logo-img) { filter: brightness(0) invert(1); mix-blend-mode: normal; opacity: .94; }
html[data-theme="dark"] .skip { color: var(--paper); }
html[data-theme="dark"] .field-art::before { background: radial-gradient(ellipse at 70% 50%, var(--field-wash), transparent 65%); }
html[data-theme="dark"] :is(.art-index, .layer-outer > span, .research-meta > span) { color: var(--subtle-label); }
html[data-theme="dark"] .principles { color: var(--panel-ink); }
html[data-theme="dark"] :is(.section-top .eyebrow, .approach-heading > p, .principle p) { color: var(--panel-muted); }
html[data-theme="dark"] :is(.section-margin, .principle-number, .principle-tag) { color: var(--panel-note); }
html[data-theme="dark"] .principle svg { color: var(--panel-fiber); }
html[data-theme="dark"] .principle svg [fill="#d8a48c"] { fill: var(--panel-signal); }
html[data-theme="dark"] .principle svg [stroke="#d8a48c"] { stroke: var(--panel-signal); }
html[data-theme="dark"] :is(.principle-grid, .principle) { border-color: var(--panel-rule); }
html[data-theme="dark"] .layer-bridge i { border-color: var(--layer-connector); }
html[data-theme="dark"] .layer-active { background: var(--layer-fill); border-color: var(--layer-border); box-shadow: 0 20px 60px var(--layer-shadow); }
html[data-theme="dark"] .layer-arrow { color: var(--layer-arrow); }
html[data-theme="dark"] .closing::after { border-color: var(--closing-ring); box-shadow: 15px 0 0 -1px var(--paper),16px 0 0 0 var(--closing-ring),30px 0 0 -1px var(--paper),31px 0 0 0 var(--closing-ring),45px 0 0 -1px var(--paper),46px 0 0 0 var(--closing-ring); }

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 8px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid var(--rule);
  border-radius: 24px;
  background: transparent;
  color: var(--ink);
  font: 400 12px/1 "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  cursor: pointer;
  touch-action: manipulation;
}
.theme-toggle:hover { background: var(--cream); border-color: var(--muted); }
.theme-toggle:focus-visible { outline: 2px solid var(--coral); outline-offset: 4px; }
.theme-toggle svg { width: 16px; height: 16px; flex: 0 0 auto; }
.theme-toggle .theme-toggle-sun { display: none; }
html[data-theme="dark"] .theme-toggle .theme-toggle-moon { display: none; }
html[data-theme="dark"] .theme-toggle .theme-toggle-sun { display: block; }

body > header.site-header.has-theme-toggle { gap: 26px; }
body > header.site-header.has-theme-toggle nav { gap: 28px; margin-left: auto; margin-right: 0; }
body > header.site-header.has-theme-toggle .header-cta { gap: 15px; white-space: nowrap; }
body > header > .container.has-theme-toggle { gap: 26px; }
body > header > .container.has-theme-toggle nav { display: flex; gap: 28px; margin-left: auto; }
body > header > .container.has-theme-toggle nav a { margin-left: 0; white-space: nowrap; }

@media (max-width: 1100px) {
  body > header.site-header.has-theme-toggle .header-cta { display: none; }
  body > header.site-header.has-theme-toggle { gap: 22px; }
  body > header.site-header.has-theme-toggle nav { gap: 24px; }
}

@media (max-width: 760px) {
  body > header.site-header.has-theme-toggle,
  body > header > .container.has-theme-toggle {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px 20px;
    height: auto;
    min-height: 96px;
  }
  body > header.site-header.has-theme-toggle { padding-block: 16px; }
  body > header.site-header.has-theme-toggle > .brand,
  body > header > .container.has-theme-toggle > .logo { grid-column: 1; grid-row: 1; }
  body > header.site-header.has-theme-toggle > .theme-toggle,
  body > header > .container.has-theme-toggle > .theme-toggle { grid-column: 2; grid-row: 1; }
  body > header.site-header.has-theme-toggle nav,
  body > header > .container.has-theme-toggle nav {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 16px;
    margin: 0;
    width: 100%;
  }
  body > header.site-header.has-theme-toggle nav a,
  body > header > .container.has-theme-toggle nav a {
    display: block;
    padding-block: 8px;
    margin: 0;
    font-size: 12px !important;
  }
  .theme-toggle { min-height: 40px; padding-inline: 11px; }
  html[data-theme="dark"] .field-art::before { background: radial-gradient(ellipse at 60% 50%, var(--field-wash), transparent 70%); }
}

@media print {
  /* Print an ink-on-paper article regardless of the current screen setting. */
  :root, html[data-theme] {
    color-scheme: light !important;
    --paper: #ffffff !important;
    --ink: #243d34 !important;
    --muted: #56675c !important;
    --muted-text: #56675c !important;
    --rule: #c6cfc2 !important;
    --cream: #eef1e9 !important;
    --accent: #3e7052 !important;
    --accent-text: #3e644c !important;
    --accent-pale: #e0e6d8 !important;
    --green: #3e7052 !important;
    --coral: #a25136 !important;
    --dark: #ffffff !important;
    --panel-ink: #243d34 !important;
    --panel-muted: #56675c !important;
    --panel-note: #56675c !important;
    --panel-fiber: #3e7052 !important;
    --panel-signal: #a25136 !important;
    --panel-rule: #c6cfc2 !important;
    --layer-fill: #e0e6d8 !important;
    --layer-border: #a8baa0 !important;
    --layer-shadow: transparent !important;
    --layer-connector: #95a88c !important;
    --layer-arrow: #3e7052 !important;
  }
  body { background: #ffffff !important; color: var(--ink) !important; }
  .theme-toggle { display: none; }
  html[data-theme] :is(.brand img, .logo-img, .footer-logo-img) { filter: brightness(0) !important; mix-blend-mode: normal; opacity: 1; }
  .principles :is(.eyebrow, .section-margin, p, .principle-number, .principle-tag) { color: var(--muted-text) !important; }
  .principles { color: var(--ink) !important; }
}
