/* Warm charcoal, ivory type and rose-crimson ink. Shared by every page. */
:root { color-scheme: light; }
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #191617;
  --bg-raise: #252021;
  --surface: #252021;
  --surface-2: #2d2527;
  --paper-2: #30282a;
  --text: #f4eae5;
  --text-2: #cbbcb7;
  --text-3: #b6a6a2;
  --line: rgba(244, 234, 229, .14);
  --line-strong: rgba(244, 234, 229, .28);
  --ink-faint: rgba(244, 234, 229, .07);
  --ink-rule: rgba(244, 234, 229, .22);
  --ink-mute: #b6a6a2;
  --accent: #eea09e;
  --accent-strong: #f7bab4;
  --accent-soft: #d58686;
  --accent-ink: #251719;
  --accent-dim: rgba(238, 160, 158, .10);
  --accent-dim-2: rgba(238, 160, 158, .16);
  --accent-ghost: rgba(238, 160, 158, .12);
  --accent-line: rgba(238, 160, 158, .55);
  --fig-node-stroke: #9d8486;
  --fig-node-fill-lit: #3d2b2f;
  --fig-packet-doc: #f4eae5;
  --shadow-soft: 0 1px 2px #110e0f33, 0 12px 32px #110e0f55;
  --shadow-lift: 0 2px 4px #110e0f55, 0 24px 56px #110e0f66;
  --shadow-float: 0 1px 2px #110e0f55, 0 24px 64px #110e0f77;
  --shadow-inset: inset 0 1px 2px #110e0f88;
}
.theme-toggle {
  display: inline-grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  color: var(--text);
  font-size: 1.25rem;
  cursor: pointer;
  transition: background-color 180ms, border-color 180ms;
}
.theme-toggle[hidden] { display: none; }
.theme-toggle:hover { background: var(--surface-2); border-color: var(--accent); }
html[data-theme="dark"] .nav,
html[data-theme="dark"] .scrolled .nav {
  background: rgba(37, 32, 33, .94);
  box-shadow: inset 0 1px 0 #f4eae50d, var(--shadow-soft);
}
html[data-theme="dark"] .mobile-menu { background: rgba(25, 22, 23, .98); }
html[data-theme="dark"] :is(.btn-ghost:hover, .press:hover) { border-color: var(--line-strong); background: var(--surface-2); }
html[data-theme="dark"] .btn-ghost .btn-orb { background: var(--ink-faint); }
html[data-theme="dark"] :is(.fig-canvas, .cta-band-inner) { border-color: var(--line); }
html[data-theme="dark"] img[src^="/assets/logos/"] { filter: brightness(0) invert(.88); }
html[data-theme="dark"] :is(.globe-poster, img[src$="world-dots.svg"]) { filter: brightness(1.65); }
@media (max-width: 1100px) { .nav { gap: .5rem; } }
@media (max-width: 480px) {
  .nav { gap: .35rem; padding-inline: .7rem .4rem; }
  .nav .brand { font-size: .92rem; gap: .35rem; margin-right: auto; white-space: nowrap; }
  .nav .brand-mark { width: 1.5rem; height: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) { .theme-toggle { transition: none; } }
