@font-face { font-family: "Sora"; src: url("../fonts/sora.woff2") format("woff2"); font-weight: 100 800; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("../fonts/newsreader-italic.woff2") format("woff2"); font-style: italic; font-weight: 200 800; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("../fonts/jetbrains-mono.woff2") format("woff2"); font-weight: 100 800; font-display: swap; }

/* David Sanchez · S+ theme (2026-09-26). Loaded after site.css; site.css keeps the mechanics
   (walkthrough, stations, outputs), this file sets the look: black, pearl light with iridescent
   highlights, floating glass, thin geometric type with one readable serif-italic accent. */

:root {
  --paper: #000000;
  --paper-2: #08080B;
  --card: rgba(255,255,255,.035);
  --ink: #F2F0EB;
  --ink-2: #A9A9B0;
  --ink-3: #74747C;
  --line: rgba(255,255,255,.08);
  --line-2: rgba(255,255,255,.16);
  --accent: #E9DCC4;
  --accent-2: #F5EEE2;
  --accent-soft: rgba(233,220,196,.09);
  --ok: #9FE3C4;
  --ok-soft: rgba(159,227,196,.12);
  --flag: #F2C98B;
  --flag-soft: rgba(242,201,139,.12);
  --console: #060609;
  --console-2: #0B0B10;
  --console-line: rgba(255,255,255,.07);
  --console-ink: #D9DCE2;
  --console-dim: #7B7F89;
  --serif: "Sora", ui-sans-serif, system-ui, sans-serif;
  --accentface: "Newsreader", "Iowan Old Style", Georgia, serif;
  --sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --pearl-shine: linear-gradient(100deg, #EDE3D1 0%, #EDE3D1 38%, #FFFFFF 46%, #D6ECF5 50%, #E4DBFF 54%, #EDE3D1 62%, #EDE3D1 100%);
  --r: 22px;
}

html { background: #000; }
body { background: #000; color: var(--ink); font-size: 16.5px; }
::selection { background: var(--accent); color: #000; }
#thread { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 0; pointer-events: none; display: block; }
main, .site-footer { position: relative; z-index: 1; }
body { position: relative; }
/* the wash: faint iridescent light, evenly spaced down the whole page, getting smoothly brighter */
body::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(900px 520px at 12% 6%,  rgba(214,236,245,.045), transparent 70%),
    radial-gradient(900px 520px at 88% 20%, rgba(228,219,255,.045), transparent 70%),
    radial-gradient(900px 520px at 12% 36%, rgba(233,220,196,.045), transparent 70%),
    radial-gradient(900px 520px at 88% 52%, rgba(214,236,245,.05), transparent 70%),
    radial-gradient(900px 520px at 12% 68%, rgba(228,219,255,.05), transparent 70%),
    radial-gradient(900px 520px at 88% 84%, rgba(233,220,196,.055), transparent 70%),
    linear-gradient(180deg, #020203 0%, #060608 35%, #0a0a0e 70%, #0e0e13 100%); }

/* ---------- display type: thin geometric ---------- */
.h2, .h3, .hero-title, .proof-n, .card-number, .pain, .case-title, .bignum-n, .stat-n,
.next-title, .next-num, .cta-title, .idle, .doc-title, .gate h4, .how-shapes, .summary {
  font-family: var(--serif); font-weight: 200; letter-spacing: -.045em;
}
.h2 { font-size: clamp(2.2rem, 4.2vw, 3.6rem); line-height: 1.06; }
.summary { font-weight: 300; font-size: clamp(1.35rem, 2.3vw, 1.85rem); line-height: 1.35; letter-spacing: -.02em; }
.how-shapes, .pain, .idle { font-weight: 300; letter-spacing: -.02em; }

/* ---------- glass ---------- */
.glass {
  position: relative;
  background: linear-gradient(160deg, rgba(255,255,255,.065), rgba(255,255,255,.015)) !important;
  backdrop-filter: blur(20px) saturate(1.35); -webkit-backdrop-filter: blur(20px) saturate(1.35);
  border: 1px solid rgba(255,255,255,.07) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 40px 80px -48px rgba(0,0,0,.95);
}
.glass::before {
  content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none;
  background: conic-gradient(from 210deg, rgba(233,220,196,.45), rgba(207,234,243,.3), rgba(220,210,255,.35), rgba(255,255,255,.05), rgba(233,220,196,.45));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
}

/* ---------- buttons ---------- */
.btn { border-radius: 999px; }
.btn-ink { background: var(--ink); color: #000; }
.btn-ink:hover { background: #fff; box-shadow: 0 0 46px -8px rgba(207,234,243,.75), 0 0 0 1px rgba(220,210,255,.55); }
.btn-accent { background: var(--accent); color: #000; }
.btn-accent:hover { background: var(--accent-2); box-shadow: 0 0 40px -10px rgba(233,220,196,.8); }
.btn-ghost { border-color: var(--line-2); color: var(--ink); background: rgba(0,0,0,.25); backdrop-filter: blur(8px); }
.btn-ghost:hover { border-color: var(--accent); background: rgba(233,220,196,.06); }
.btn-quiet { border-color: rgba(255,255,255,.18); }

/* ---------- header ---------- */
.site-header { background: rgba(0,0,0,.45); }
.site-header.is-scrolled { background: rgba(0,0,0,.72); border-bottom-color: var(--line); }
.header-inner { height: 76px; }
.wordmark { font-family: var(--serif); font-weight: 300; font-size: 23px; letter-spacing: -.01em; }
.wordmark b { font-weight: 600; }
.lang { border-color: var(--line-2); }
.lang a[aria-current="true"] { background: var(--ink); color: #000; }

/* ---------- hero (S+) ---------- */
.hero-s { padding: 96px 0 24px; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.hero-s .eyebrow { font-size: 11px; letter-spacing: .42em; color: var(--ink-2); margin: 0 0 22px; }
.hero-s .hero-title { font-size: clamp(2.6rem, 5.4vw, 5rem); line-height: 1.04; letter-spacing: -.05em; max-width: 1100px; margin: 0 auto; }
.hero-s .hero-title span { display: block; }
.hero-s .hero-title em {
  display: block; font-family: var(--accentface); font-style: italic; font-weight: 400; letter-spacing: -.018em;
  font-size: 1.04em; line-height: 1.12; padding: 0 .06em .08em;
  color: #EDE3D1; background: var(--pearl-shine); background-size: 260% 100%; background-position: 100% 0;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  animation: pearlshine 9s ease-in-out infinite;
}
@keyframes pearlshine { 0%, 18% { background-position: 100% 0; } 60%, 100% { background-position: 0% 0; } }
.thread-band { position: relative; height: clamp(120px, 17vh, 170px); margin: 18px 0 6px; }
.thread-fallback { position: absolute; inset: 0; width: 100%; height: 100%; filter: drop-shadow(0 0 5px rgba(233,220,196,.55)) drop-shadow(0 0 14px rgba(207,234,243,.3)); transition: opacity .8s; }
html.has-gl .thread-fallback { opacity: 0; }
.hero-low .lede { margin: 0 auto; max-width: 560px; font-size: 17px; color: var(--ink-2); }
.hero-s .hero-actions { justify-content: center; margin-top: 26px; }
.guarantee { margin: 24px 0 0; font-family: var(--mono); font-size: 10.5px; letter-spacing: .24em; text-transform: uppercase; color: var(--ink-3); }

/* ---------- proof ---------- */
.proof { padding: 60px 0 80px; }
.proof-grid { background: linear-gradient(var(--line-2), var(--line-2)) no-repeat 28px 0 / calc(100% - 56px) 1px; }
.proof-n { font-size: clamp(3rem, 5.2vw, 4.6rem); }
.proof .creds { margin-top: 34px; color: var(--ink-3); font-size: 13.5px; letter-spacing: .01em; }

/* ---------- work ---------- */
.selector { border-radius: var(--r); }
.chip { background: rgba(0,0,0,.35); border-color: var(--line-2); color: var(--ink); }
.chip:hover { border-color: var(--accent); }
.chip[aria-pressed="true"] { background: var(--ink); color: #000; border-color: var(--ink); }
.chip-reset { color: var(--ink-3); }
.pain { font-size: 1.3rem; }
.card { border-radius: var(--r); }
.card:hover { box-shadow: 0 30px 80px -40px rgba(207,234,243,.25); }
.card.is-lit { box-shadow: 0 0 0 1px rgba(233,220,196,.6), 0 30px 80px -40px rgba(233,220,196,.3); }
.card-number { font-size: clamp(3rem, 4.6vw, 4.2rem); }
.card-feature .card-number { font-size: clamp(4rem, 8vw, 7rem); }
.card-title { font-family: var(--serif); font-weight: 400; letter-spacing: -.02em; }
.card-kicker, .card-num { color: var(--ink-3); } .card-num { color: var(--accent); }
.card-foot { border-top-color: var(--line); }
.minitrack i { border-color: var(--ink-3); } .minitrack i.k-agent { background: var(--ink-3); }

/* ---------- services catalog ---------- */
.services { padding: 110px 0 90px; }
.svc-kicker { font-family: var(--mono); font-size: 11px; letter-spacing: .36em; text-transform: uppercase; color: var(--accent); margin: 46px 0 16px; }
.doors { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.door { padding: 26px 28px; border-radius: var(--r); }
.door-top { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.door h3 { font-family: var(--serif); font-weight: 300; font-size: 22px; letter-spacing: -.02em; margin: 0; }
.door p { color: var(--ink-2); margin: 10px 0 0; font-size: 15px; }
.price { font-family: var(--mono); font-size: 14px; color: var(--accent); white-space: nowrap; }
.svc-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 46px; }
.svc-group { padding: 28px 28px 12px; border-radius: 26px; }
.svc-group-title { display: flex; gap: 14px; align-items: baseline; font-family: var(--serif); font-weight: 300; font-size: 24px; letter-spacing: -.025em; margin: 0 0 12px; }
.svc-group-title .mono { font-size: 11px; color: var(--accent); letter-spacing: .1em; }
.svc-list { list-style: none; margin: 0; padding: 0; }
.svc { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--line); transition: opacity .35s; }
.svc-name { display: block; font-weight: 500; font-size: 15.5px; }
.svc-promise { display: block; color: var(--ink-2); font-size: 14px; margin-top: 3px; line-height: 1.5; }
.svc-price { font-family: var(--mono); font-size: 12.5px; white-space: nowrap; text-align: right; color: var(--ink); }
.svc-price small { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.svc.is-dim { opacity: .22; }
.bundles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.bundle { padding: 28px 22px 22px; border-radius: var(--r); }
.bundle h3 { font-family: var(--serif); font-weight: 400; font-size: 18.5px; letter-spacing: -.02em; margin: 0 0 10px; }
.bundle-inc { color: var(--ink-2); font-size: 13.5px; margin: 0; min-height: 64px; line-height: 1.5; }
.bundle-price { font-family: var(--serif); font-weight: 200; font-size: 25px; letter-spacing: -.035em; margin-top: 16px; }
.bundle-save { font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ok); margin: 6px 0 0; }
.bundle.is-popular { box-shadow: 0 0 0 1px rgba(233,220,196,.5), 0 30px 70px -40px rgba(233,220,196,.4); }
.pop { position: absolute; top: -11px; left: 22px; font-family: var(--mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; background: var(--accent); color: #000; padding: 4px 10px; border-radius: 999px; z-index: 2; }
.terms { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 46px 0 0; padding: 0; }
.terms li { border: 1px solid var(--line-2); border-radius: 999px; padding: 9px 16px; font-size: 14px; background: rgba(0,0,0,.35); }
.terms li::before { content: "✓"; color: var(--ok); margin-right: 8px; }
.terms-note { color: var(--ink-3); font-size: 13px; max-width: none; margin: 16px 0 0; }
.svc-cta { margin-top: 30px; }
.cta-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.cta-upwork { font-family: var(--mono); font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); margin: 0; }

/* ---------- how / about / faq ---------- */
.how { background: transparent; border-top-color: var(--line); border-bottom-color: var(--line); }
.how-item { border-top-color: var(--line-2); }
.how-n { color: var(--accent); }
.about-p:first-of-type { color: var(--ink); }
.creds-list { border-top: 0; border-radius: var(--r); padding: 8px 26px; }
.creds-list div:last-child { border-bottom: 0; }
.faq-list { border-top-color: var(--line-2); }
.faq-item summary { font-weight: 500; }

/* ---------- CTA band + footer ---------- */
.cta-band { background: radial-gradient(70% 120% at 85% 0%, rgba(220,210,255,.09), transparent 60%), radial-gradient(60% 100% at 5% 100%, rgba(207,234,243,.07), transparent 60%); color: var(--ink); border-top: 1px solid var(--line); padding: 120px 0; }
.cta-side p { color: var(--ink-2); }
.site-footer { background: transparent; color: var(--ink-3); border-top-color: var(--line); }
.wordmark-footer { color: var(--ink); font-size: 22px; }
.footer-meta a { color: var(--ink-2); }

/* ---------- case pages ---------- */
.case-hero { padding: 64px 0 40px; }
.case-title { font-size: clamp(2.5rem, 5.4vw, 4.8rem); line-height: 1.02; }
.bignum { border-radius: var(--r); } .bignum::after { display: none; }
.bignum-n { font-size: clamp(3.8rem, 8vw, 6.6rem); }
.label-h { color: var(--accent); }
.body-l { color: var(--ink-2); }
.note-card { border-radius: var(--r); }
.note-human { box-shadow: 0 0 0 1px rgba(233,220,196,.35); }
.stats, .gets { border-top-color: var(--line-2); }
.station { background: rgba(255,255,255,.03); border-color: var(--line); backdrop-filter: blur(12px); }
.station:hover { border-color: var(--line-2); }
.station.is-selected, .station.is-active { border-color: rgba(233,220,196,.6); }
.station.is-active { box-shadow: 0 0 0 1px rgba(233,220,196,.35), 0 20px 50px -24px rgba(207,234,243,.35); }
.station.is-done .st-bar { background: var(--ink-2); }
.st-group { background: rgba(255,255,255,.02); }
.st-detail { background: rgba(255,255,255,.03); backdrop-filter: blur(12px); }
.walk { background: rgba(6,6,9,.82); border: 1px solid var(--line); backdrop-filter: blur(18px); box-shadow: 0 60px 120px -60px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.06); }
.walk-output { background: rgba(255,255,255,.02); color: var(--ink); }
.walk-console .pane-label { background: linear-gradient(rgba(6,6,9,.95) 75%, rgba(6,6,9,0)); }
.art { background: rgba(255,255,255,.04); border-color: var(--line); }
.art ol li, .art ul.plain li { background: rgba(255,255,255,.03); }
.rd.is-hit { background: rgba(242,201,139,.3); }
.rd.is-done .rd-new { background: var(--ink); color: #000; }
.passes span.on { background: var(--ink); color: #000; }
.ba-before { background: rgba(255,255,255,.02); }
.ba-after { background: rgba(255,255,255,.05); border-color: rgba(233,220,196,.45); }
.fit li { background: rgba(255,255,255,.035); border-color: var(--line-2); }
.stack-shown { font-family: var(--mono); font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 10px; }
.stack li { background: rgba(255,255,255,.04); border-color: var(--line); }
.stack-swap { color: var(--ink-2); font-size: 15px; margin: 0 0 22px; max-width: 60ch; }
.pdf-link { border-bottom-color: var(--line-2); }
.mid-cta { padding: 30px 0; }
.mid { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 30px 34px; border-radius: 26px; flex-wrap: wrap; }
.mid-title { font-family: var(--serif); font-weight: 300; font-size: clamp(1.5rem, 2.6vw, 2rem); letter-spacing: -.03em; margin: 0; }
.mid p { margin: 6px 0 0; color: var(--ink-2); }
.next-link { border-top-color: var(--line-2); }
.next-link:hover .next-title { color: var(--accent); }
.back { color: var(--ink-3); }

/* ---------- responsive ---------- */
@media (max-width: 980px) {
  .svc-groups, .doors { grid-template-columns: 1fr; }
  .bundles { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .hero-s { padding-top: 110px; }
  .bundles { grid-template-columns: 1fr; }
  .svc { grid-template-columns: 1fr; gap: 6px; }
  .svc-price { text-align: left; }
  .mid { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-s .hero-title em { animation: none; background: none; -webkit-text-fill-color: #EDE3D1; }
}

/* ---------- soft neutral light (operator 2026-09-26: "not too black") ----------
   Translucent warm-neutral washes per section, titles with a gentle light gradient, and a faint
   halo behind the hero and section heads. Translucent on purpose: the thread shows through. */
html, body { background: #060607; }
.hero-s { position: relative; }
.hero-s::before { content: ""; position: absolute; left: 50%; top: 26%; width: min(1100px, 90vw); height: 60%; transform: translate(-50%, -50%); pointer-events: none; z-index: -1;
  background: radial-gradient(closest-side, rgba(236,232,224,.075), rgba(236,232,224,.03) 55%, transparent); }
.proof { background: radial-gradient(70% 100% at 50% 0%, rgba(236,232,224,.05), transparent 70%); }
.work { background: linear-gradient(180deg, transparent, rgba(236,232,224,.03) 25%, rgba(236,232,224,.03) 75%, transparent); }
.services { background: radial-gradient(55% 40% at 12% 0%, rgba(236,232,224,.08), transparent 70%), radial-gradient(45% 35% at 92% 55%, rgba(207,234,243,.045), transparent 70%); }
.how { background: linear-gradient(180deg, rgba(236,232,224,.045), rgba(236,232,224,.018)); }
.about { background: radial-gradient(55% 75% at 85% 35%, rgba(236,232,224,.055), transparent 70%); }
.faq { background: radial-gradient(45% 60% at 8% 15%, rgba(236,232,224,.05), transparent 70%); }
.case-hero { background: radial-gradient(60% 90% at 18% 20%, rgba(236,232,224,.06), transparent 70%); }
.case-summary { background: linear-gradient(180deg, rgba(236,232,224,.035), transparent); }
.system { background: linear-gradient(180deg, transparent, rgba(236,232,224,.03) 30%, rgba(236,232,224,.03) 70%, transparent); }
.results { background: radial-gradient(50% 80% at 50% 0%, rgba(236,232,224,.045), transparent 70%); }
.h2, .case-title, .cta-title, .next-title {
  background: linear-gradient(180deg, #FFFFFF 0%, #E6E0D5 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.section-head, .system-head { position: relative; }
.section-head::before, .system-head::before { content: ""; position: absolute; left: -8%; top: -70%; width: 55%; height: 240%; pointer-events: none; z-index: -1;
  background: radial-gradient(closest-side, rgba(236,232,224,.06), transparent); }
.site-header { background: rgba(10,10,12,.55); }
.site-header.is-scrolled { background: rgba(12,12,14,.8); }
.site-footer { background: linear-gradient(180deg, transparent, rgba(236,232,224,.03)); }

/* ---------- pearl glass (operator 2026-09-28, option G subtle): dark glass lit softly from one corner by the pearl ---------- */
:root { --pearl: 214 209 199; }
.glass, .walk, .ba-before, .ba-after {
  background: linear-gradient(150deg, rgb(var(--pearl) / .30) 0%, rgb(var(--pearl) / .08) 45%, rgba(255,255,255,.02) 100%) !important;
  border-color: rgb(var(--pearl) / .40) !important;
}
.station, .st-detail {
  background: linear-gradient(150deg, rgb(var(--pearl) / .18) 0%, rgb(var(--pearl) / .05) 50%, rgba(255,255,255,.015) 100%);
}
/* the same pearl light behind the headline, with no box: a soft glow with no edges, lit from the upper left */
.hero-s .hero-top { position: relative; }
.hero-s .hero-top::before {
  content: ""; position: absolute; left: 50%; top: 52%; width: min(1180px, 96vw); height: 150%;
  transform: translate(-50%, -50%); z-index: -1; pointer-events: none;
  background:
    radial-gradient(38% 42% at 34% 40%, rgb(var(--pearl) / .16), transparent 70%),
    radial-gradient(50% 55% at 55% 55%, rgb(var(--pearl) / .08), transparent 72%);
  filter: blur(8px);
}
/* the system-log pane reads as one darker glass surface, so its sticky label no longer looks like a black strip */
.walk-console { background: rgba(6,6,9,.78); }

/* ---------- charcoal base (operator 2026-09-29): the same dark style on a soft charcoal instead of black ---------- */
:root { --paper: #17171c; --paper-2: #1d1d23; --ink-2: #B8B8BF; --ink-3: #8A8A92; }
html, body { background: #17171c; }
body::before { background:
  radial-gradient(900px 520px at 12% 6%,  rgb(214 236 245 / .06), transparent 70%),
  radial-gradient(900px 520px at 88% 40%, rgb(228 219 255 / .06), transparent 70%),
  radial-gradient(900px 520px at 12% 75%, rgb(233 220 196 / .07), transparent 70%),
  linear-gradient(180deg, #141418 0%, #18181d 50%, #1d1d23 100%); }
.site-header { background: rgba(20,20,24,.6); }
.site-header.is-scrolled { background: rgba(22,22,27,.85); }

/* ---------- theme switch (operator 2026-09-29: visitors pick dark or light) ---------- */
.theme-toggle { width: 36px; height: 36px; border-radius: 999px; display: inline-grid; place-items: center; cursor: pointer;
  border: 1px solid var(--line-2); background: transparent; color: var(--ink); padding: 0; transition: border-color .2s, background .2s; }
.theme-toggle:hover { border-color: var(--accent); background: var(--accent-soft); }
.theme-toggle svg { width: 17px; height: 17px; stroke: currentColor; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle .i-moon { display: none; }
html[data-theme="light"] .theme-toggle .i-sun { display: none; }
html[data-theme="light"] .theme-toggle .i-moon { display: block; }

/* ---------- light theme ("Daylight") ---------- */
html[data-theme="light"] {
  color-scheme: light;
  --paper: #EEE9E1; --paper-2: #E6E0D6; --card: rgba(255,255,255,.55);
  --ink: #16161A; --ink-2: #45454D; --ink-3: #6B6B73;
  --line: rgba(22,22,26,.10); --line-2: rgba(22,22,26,.18);
  --accent: #7A5F33; --accent-2: #5E4826; --accent-soft: rgba(122,95,51,.10);
  --ok: #276B4D; --ok-soft: rgba(39,107,77,.10); --flag: #8A5A12; --flag-soft: rgba(138,90,18,.10);
  --pearl: 255 255 255;
}
html[data-theme="light"], html[data-theme="light"] body { background: #EEE9E1; }
html[data-theme="light"] body::before { background:
  radial-gradient(900px 520px at 12% 8%,  rgb(214 236 245 / .45), transparent 70%),
  radial-gradient(900px 520px at 88% 45%, rgb(228 219 255 / .35), transparent 70%),
  radial-gradient(900px 520px at 12% 80%, rgb(233 220 196 / .45), transparent 70%),
  linear-gradient(180deg, #F3F0EA 0%, #EEE9E1 100%); }
html[data-theme="light"] .site-header { background: rgba(243,240,234,.7); }
html[data-theme="light"] .site-header.is-scrolled { background: rgba(243,240,234,.92); border-bottom-color: var(--line); }
html[data-theme="light"] .h2, html[data-theme="light"] .case-title, html[data-theme="light"] .cta-title, html[data-theme="light"] .next-title {
  background: linear-gradient(180deg, #16161A 0%, #3A3740 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
html[data-theme="light"] .hero-s .hero-title em {
  background: linear-gradient(100deg, #2A2620 0%, #2A2620 38%, #5E5A8E 46%, #3F6F80 50%, #6A5A92 54%, #2A2620 62%, #2A2620 100%);
  background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
html[data-theme="light"] .glass, html[data-theme="light"] .walk, html[data-theme="light"] .ba-before, html[data-theme="light"] .ba-after {
  background: linear-gradient(150deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.62) 100%) !important;
  border-color: rgba(22,22,26,.09) !important; box-shadow: 0 30px 60px -42px rgba(40,30,10,.32) !important; }
html[data-theme="light"] .glass::before { opacity: .35; }
html[data-theme="light"] .station, html[data-theme="light"] .st-detail { background: linear-gradient(150deg, rgba(255,255,255,.85), rgba(255,255,255,.55)); }
html[data-theme="light"] .btn-ink { background: #16161A; color: #F3F0EA; }
html[data-theme="light"] .btn-ink:hover { background: #000; box-shadow: 0 14px 34px -14px rgba(40,30,70,.45); }
html[data-theme="light"] .btn-ghost { color: #16161A; border-color: rgba(22,22,26,.22); background: rgba(255,255,255,.45); }
html[data-theme="light"] .lang a[aria-current="true"], html[data-theme="light"] .chip[aria-pressed="true"],
html[data-theme="light"] .rd.is-done .rd-new, html[data-theme="light"] .passes span.on { color: #F3F0EA; }
html[data-theme="light"] .chip { background: rgba(255,255,255,.5); }
html[data-theme="light"] .terms li { background: rgba(255,255,255,.55); }
html[data-theme="light"] .thread-fallback { filter: none; }
html[data-theme="light"] .thread-fallback path { stroke: #2A2830; }
@media (prefers-reduced-motion: reduce) { html[data-theme="light"] .hero-s .hero-title em { background: none; -webkit-text-fill-color: #2A2620; } }
html[data-theme="light"] .hero-s::before, html[data-theme="light"] .hero-s .hero-top::before { display: none; }
html[data-theme="light"] .walk-console { background: #0E0E12; }
