/* TRUST. has one hue family. The original brand green is the only accent. */
:root {
  --trust-green: #2F6B5E;
  --trust-green-tint: #8FBFAE; /* Existing brand tint for small text on dark. */
  --trust-green-rgb: 47 107 94;
  --green: var(--trust-green);
  --bg: #091117;
  --bg-elevated: #10191B;
  --surface: #17211F;
  --text-primary: #F3F5F1;
  --text-secondary: #C8D0CA;
  --text-muted: #A9B5AC;
  --line: rgb(243 245 241 / .24);
  --line-soft: rgb(243 245 241 / .13);
  --green-ink: var(--trust-green-tint);
  --green-glow: rgb(var(--trust-green-rgb) / .16);
  --green-focus: var(--trust-green-tint);
  --trust-shader-base: #091117;
  --trust-shader-neutral: #29342F;
  --trust-shader-brightness: .68;
  --navy: var(--bg);
  --cream: var(--text-primary);
  --mint: var(--trust-green-tint);
  --muted: var(--text-muted);
  --logo-dot: var(--trust-green);
}

:root[data-theme="light"] {
  --bg: #F8F9F6;
  --bg-elevated: #F0F3EF;
  --surface: #E7ECE7;
  --text-primary: #15211D;
  --text-secondary: #36443D;
  --text-muted: #536159;
  --line: rgb(21 33 29 / .26);
  --line-soft: rgb(21 33 29 / .13);
  --green-ink: var(--trust-green);
  --green-glow: rgb(var(--trust-green-rgb) / .07);
  --green-focus: var(--trust-green);
  --trust-shader-base: #F8F9F6;
  --trust-shader-neutral: #C7CEC6;
  --trust-shader-brightness: 1.08;
  --mint: var(--trust-green);
}

html, body { background-color: var(--bg); }
body { color: var(--text-primary); }
button:focus-visible, a:focus-visible, summary:focus-visible,
select:focus-visible { outline-color: var(--green-focus); }
.skip { background: var(--text-primary); color: var(--bg); }

/* The theme changes the lighting of the existing hero, never its geometry. */
.hero-panel { background: var(--bg); color: var(--text-primary); }
.atmosphere {
  background-color: var(--bg);
  background-blend-mode: luminosity;
}
.atmosphere::after {
  background: linear-gradient(90deg,var(--bg) 0%,rgb(9 17 23 / .90) 26%,rgb(9 17 23 / .29) 60%,rgb(9 17 23 / .08) 100%),
              linear-gradient(0deg,var(--bg),transparent 36%,transparent 81%,rgb(9 17 23 / .28));
}
.atmosphere .contour,.cream-contours .contour { stroke: var(--text-secondary); }
.atmosphere .contour-highlight,.cream-contours .contour-highlight { stroke: var(--trust-green); }
.shader-gradient-host { filter: blur(64px) grayscale(1); }
.light-drift { background: radial-gradient(ellipse,var(--green-glow),transparent 65%); }
.header, .header--light {
  background: rgb(9 17 23 / .94);
  border-color: var(--line-soft);
  color: var(--text-primary);
}
.header-nav a::after,.header--light .header-nav a::after,
.eyebrow__rule,.story-rule,.story-rule>span { background: var(--trust-green); }
.mint,.network-ledger__place,.hq-label>span:last-child,.office__no,
.office--external .office__detail,.scroll-cue span { color: var(--green-ink); }
.support,.office__detail,.office__no,.network-note,.network-ledger__eyebrow,
.network-ledger__place span,.hq-region,.facts dt,.contact-pending,
.pending-static { color: var(--text-muted); }
.paths { stroke: var(--text-secondary); }
.precision { stroke: var(--text-secondary); }
.hq-center { fill: var(--trust-green); stroke: var(--green-ink); }
.point-core { fill: var(--text-primary); }
.point-halo { fill: var(--trust-green); }
.network-ledger { border-color: var(--trust-green); }
.hq-label,.office,.office--left,.office--right,.office--external,
.facts,.facts>div { border-color: var(--line); }
.hq-label>* { color: inherit !important; background-image: none !important; }
.hq-label .hq-region { color: var(--text-muted) !important; }
.hq-label>span:last-child { color: var(--green-ink) !important; }
.text-link { border-color: var(--trust-green); }
.text-link:hover,.menu-dialog nav a:hover { color: var(--green-ink); }
.button { background: var(--text-primary); border-color: var(--text-primary); color: var(--bg); }
.button:hover { background: var(--trust-green); border-color: var(--trust-green); color: #fff; }
.cream-scene { background: var(--bg); color: var(--text-primary); clip-path: none; }
.cream-copy p { color: var(--text-secondary); }
.contact-dialog,.menu-dialog {
  background: var(--bg-elevated); color: var(--text-primary);
  border-color: var(--line);
}
.contact-dialog::backdrop,.menu-dialog::backdrop { background: rgb(0 0 0 / .74); }
.dialog-close { border-color: var(--trust-green); }
.contact-dialog p:last-child,.menu-dialog p:last-child { color: var(--text-secondary); }

:root[data-theme="light"] .atmosphere {
  background-color: var(--bg);
  background-image: url('/assets/hero-lock/higgsfield-hero-texture.webp');
  background-blend-mode: soft-light;
}
:root[data-theme="light"] .atmosphere::after {
  background: linear-gradient(90deg,rgb(248 249 246 / .98) 0%,rgb(248 249 246 / .89) 28%,rgb(248 249 246 / .61) 57%,rgb(248 249 246 / .38) 100%),
              linear-gradient(0deg,rgb(248 249 246 / .80),transparent 35%,transparent 82%,rgb(248 249 246 / .40));
}
:root[data-theme="light"] .atmosphere .contours { opacity: .14; }
:root[data-theme="light"] .shader-gradient-host { mix-blend-mode: multiply; opacity: .07; }
:root[data-theme="light"] .header,
:root[data-theme="light"] .header--light {
  background: rgb(248 249 246 / .94);
  border-color: var(--line-soft);
}
:root[data-theme="light"] .network-ledger__place,
:root[data-theme="light"] .mint,
:root[data-theme="light"] .scroll-cue span { color: var(--trust-green); }
:root[data-theme="light"] .paths { stroke: var(--trust-green); }
:root[data-theme="light"] .precision { stroke: var(--text-muted); }
:root[data-theme="light"] .point-core { fill: var(--text-primary); }
:root[data-theme="light"] .facts { border-color: var(--line); }

/* Main and supporting pages remain inside the selected lighting environment. */
.site-story,.site-footer {
  --story-paper: var(--bg);
  --story-ink: var(--text-primary);
  --story-green: var(--trust-green);
  --story-line: var(--line);
  background: var(--bg);
  color: var(--text-primary);
}
main .site-story::before { background: rgb(var(--trust-green-rgb) / .21); }
main .site-story .story-scene[data-story-active] .story-kicker>span {
  box-shadow: 0 0 0 4px var(--bg),0 0 0 5px rgb(var(--trust-green-rgb) / .38);
}
.site-story .chapter-index,.site-story .scene-bridge,
.site-story .practice-chapter__number,.site-story h2 em,.site-story h3 em,
.site-story .approved-person .person-role,.site-footer__top p span,
.site-story .index-no { color: var(--green-ink); }
.site-story .presence-row__detail,.site-story .story-status,
.site-story .process-note,.site-story .matter-controls .matter-note,
.site-footer__bottom,.site-story .inner-footer span { color: var(--text-muted); }
.site-story .presence-row--hq h3 { color: var(--green-ink); }
.site-story .people-reserve__caption p em,
.site-story .evidence-register dd em { color: var(--green-ink); }
.site-story a:hover,.site-footer a:hover { color: var(--green-ink); }
.site-story :is(a,select,button):focus-visible,
.site-footer a:focus-visible { outline-color: var(--green-focus); }
.site-story .people-reserve,.site-story .person-image-pending {
  background: var(--surface); color: var(--text-primary);
}
.site-story .people-reserve::before {
  background: repeating-linear-gradient(115deg,transparent 0 44px,rgb(var(--trust-green-rgb) / .07) 45px,transparent 46px);
}
.site-story .people-reserve,
.site-story .people-scene[data-story-active] .people-reserve {
  box-shadow: 1px 1px 0 var(--line-soft),8px 8px 0 var(--green-glow);
}
.site-story .matter-controls select { color: var(--text-primary); border-color: var(--line); }
.site-story select option { background: var(--bg-elevated); color: var(--text-primary); }
.site-story .story-contact { background: var(--text-primary); color: var(--bg); }
.site-story .story-contact:hover { background: var(--trust-green); color: #fff; }
.inner-page { background: var(--bg); color: var(--text-primary); }
.site-story .inner-header,.site-story .inner-index-row,
.site-story .inner-index-row:last-child { border-color: var(--line); }
.site-story .inner-brand,.site-story .inner-contact select { color: var(--text-primary); }
.site-story .inner-contact select { border-color: var(--line); }
.site-story .inner-footer { border-color: var(--trust-green); }

/* A labelled native control is legible in both themes and all input modes. */
.trust-theme-control { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.header .trust-theme-control { margin-left: clamp(16px,2vw,28px); }
.trust-theme-control__label {
  font: 9px/1.2 JetBrains,Consolas,monospace;
  letter-spacing: .12em;
  color: var(--text-muted);
}
.trust-theme-control select {
  appearance: none;
  min-width: 88px;
  min-height: 40px;
  padding: 8px 22px 8px 9px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--text-primary);
  font: 11px/1.2 var(--sans);
  cursor: pointer;
}
.trust-theme-control select:focus-visible {
  outline: 2px solid var(--green-focus);
  outline-offset: 3px;
}
.trust-theme-control select option { background: var(--bg-elevated); color: var(--text-primary); }
.trust-theme-control::after {
  content: '';
  width: 5px;
  height: 5px;
  margin-left: -21px;
  margin-right: 11px;
  border-right: 1px solid var(--green-ink);
  border-bottom: 1px solid var(--green-ink);
  transform: translateY(-2px) rotate(45deg);
  pointer-events: none;
}
.site-story .inner-header .trust-theme-control { margin-left: auto; }
@media (max-width: 699px) {
  .header .trust-theme-control { margin-left: auto; margin-right: 15px; }
  .header .trust-theme-control__label { display: none; }
  .header .trust-theme-control select { min-width: 78px; }
}
@media (max-width: 700px) {
  .site-story .inner-header .trust-theme-control { margin-left: 0; }
}
