/* Light theme and the header switch (Adam, October 28, 2026). Loaded last on every page.
   theme.js sets data-theme on <html> from the visitor's choice or device setting; without script the site stays dark.
   Dark values live in the earlier layers; this file only relights them. */

/* ---------- The switch ---------- */
.theme-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;cursor:pointer;color:var(--ink);
  background:rgb(255 255 255 / .06);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .15),inset 0 1px 0 rgb(255 255 255 / .16);
  transition:background-color .3s var(--ease),box-shadow .3s var(--ease)}
.theme-toggle:hover{background:rgb(255 255 255 / .1);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .3)}
.theme-toggle[hidden]{display:none}
.theme-toggle svg{width:18px;height:18px}
/* The icon shows where the switch goes: a sun in the dark theme, a moon in the light one. */
.theme-toggle .i-moon,[data-theme="light"] .theme-toggle .i-sun{display:none}
[data-theme="light"] .theme-toggle .i-moon{display:block}
@media (max-width:540px){.theme-toggle{width:40px;height:40px}}

/* ---------- Logos: the approved primary (dark ink) artwork on light ---------- */
.on-light{display:none!important}
[data-theme="light"] .on-light{display:block!important}
[data-theme="light"] img[src*="-reversed.svg"],[data-theme="light"] footer .brand-art:not(.on-light){display:none!important}

/* ---------- Light tokens ---------- */
[data-theme="light"]{
  color-scheme:light;
  --ground:#f5f5f1;--panel:#ffffff;--ink:#0e1114;--muted:#4f5562;--quiet:#646a77;--line:#d9dad5;
  --mint:#8eedc6;--brand-ground:#f5f5f1;
  --mint-text:#0a7350;--cyan-text:#0a687f;--lilac-text:#6440c4;
  --surface-top:#ffffffcc;--surface-bottom:#f8f8f5cc;
  --text-soft:#3d424d;--text-bright:#1d2026;--rule-faint:#e6e6e1;--link-ink:#1d2026;--link-rule:#c9cbc6;
  --glass-fill:rgb(255 255 255 / .66);
  --glass-sheen:linear-gradient(180deg,rgb(255 255 255 / .7),rgb(255 255 255 / .2) 55%);
  --glass-rim:inset 0 0 0 1px rgb(14 17 20 / .08),inset 0 1px 0 rgb(255 255 255 / .9);
  --glass-rim-hover:inset 0 0 0 1px rgb(14 17 20 / .16),inset 0 1px 0 rgb(255 255 255 / .9);
  --desk-fill:rgb(255 255 255 / .86);--desk-inner:#f3f4f1;--desk-sheet:#fafaf8;--desk-rim:rgb(14 17 20 / .1);--desk-shadow:rgb(20 30 40 / .22);
  --thread-loose:#0e1114;--thread-a:#2bbf88;--thread-b:#2aa9c7;--thread-c:#8a64ea;--thread-dot:6;
  scrollbar-color:#b9bcc2 #ecece8;
}
[data-theme="light"] ::selection{background:#bff5df;color:#06281b}

/* ---------- Header and menu ---------- */
[data-theme="light"] .nav{background:none}
[data-theme="light"] .nav::before{background:rgb(245 245 241 / .8)}
[data-theme="light"].nav-on-video .nav::before{background:rgb(245 245 241 / .94)}
[data-theme="light"].scrolled .nav{border-bottom-color:rgb(14 17 20 / .08);box-shadow:0 14px 34px -24px rgb(20 30 40 / .35)}
[data-theme="light"] .nav a.link{color:var(--muted)}
[data-theme="light"] .nav a.link:hover,[data-theme="light"] .nav a.link[aria-current]{color:var(--ink)}
[data-theme="light"] .mobile-menu nav{background:rgb(255 255 255 / .92);box-shadow:inset 0 0 0 1px rgb(14 17 20 / .08),0 24px 50px -20px rgb(20 30 40 / .35)}
[data-theme="light"] .mobile-menu nav a:hover{background:rgb(14 17 20 / .05)}
[data-theme="light"] .theme-toggle{background:rgb(14 17 20 / .04);box-shadow:inset 0 0 0 1px rgb(14 17 20 / .14),inset 0 1px 0 rgb(255 255 255 / .9)}
[data-theme="light"] .theme-toggle:hover{background:rgb(14 17 20 / .07);box-shadow:inset 0 0 0 1px rgb(14 17 20 / .28)}

/* ---------- Buttons: the same glass, lit from the other side ---------- */
[data-theme="light"] .btn,[data-theme="light"] .btn.ghost,[data-theme="light"] .mobile-menu summary,[data-theme="light"] .copy,
[data-theme="light"] .privacy-choice-actions button,[data-theme="light"] .privacy-choice-close,
[data-theme="light"] .showcase .have-tile{
  --b-fill:rgb(14 17 20 / .035);--b-rim:rgb(14 17 20 / .16);color:var(--ink);
  box-shadow:inset 0 0 0 1px var(--b-rim),inset 0 1px 0 rgb(255 255 255 / .9)}
[data-theme="light"] .btn:hover,[data-theme="light"] .btn.ghost:hover,[data-theme="light"] .nav .btn:hover,[data-theme="light"] .mobile-menu summary:hover,
[data-theme="light"] .copy:hover,[data-theme="light"] .privacy-choice-actions button:hover,[data-theme="light"] .privacy-choice-close:hover,
[data-theme="light"] .showcase .have-tile:hover{
  --b-fill:rgb(14 17 20 / .07);--b-rim:rgb(14 17 20 / .3);color:var(--ink);box-shadow:inset 0 0 0 1px var(--b-rim),inset 0 1px 0 rgb(255 255 255 / .9)}
[data-theme="light"] .btn:not(.ghost),[data-theme="light"] .nav a.btn[aria-current]{
  --b-fill:rgb(142 237 198 / .55);--b-rim:rgb(10 115 80 / .4);color:#06281b}
[data-theme="light"] .btn:not(.ghost):hover,[data-theme="light"] .nav .btn:not(.ghost):hover{
  --b-fill:rgb(142 237 198 / .8);--b-rim:rgb(10 115 80 / .6);color:#06281b}
[data-theme="light"] .btn::after{background:linear-gradient(110deg,transparent 32%,rgb(255 255 255 / .6) 50%,transparent 68%)}
[data-theme="light"] .simple .hero .motion-toggle{background:rgb(255 255 255 / .7);box-shadow:inset 0 0 0 1px rgb(14 17 20 / .18)}
[data-theme="light"] .simple .hero .motion-toggle:hover{background:#fff;box-shadow:inset 0 0 0 1px rgb(14 17 20 / .35)}

/* ---------- Text that the dark layers set as pale literals ---------- */
[data-theme="light"] .hero .lede,[data-theme="light"] .close p,[data-theme="light"] footer a,[data-theme="light"] footer .legal button,
[data-theme="light"] .cal-note,[data-theme="light"] .cal-note a,[data-theme="light"] .caption,[data-theme="light"] .sample-disclosure,
[data-theme="light"] .showcase .showcase-foot p,[data-theme="light"] .page-lede,[data-theme="light"] .svc-outcome,[data-theme="light"] .svc dd,
[data-theme="light"] .training-lead,[data-theme="light"] .training p,[data-theme="light"] .training li,[data-theme="light"] .switch button,
[data-theme="light"] .cal-intro li,[data-theme="light"] .day p,[data-theme="light"] .hybrid-disclosure,[data-theme="light"] .schedule-totals,
[data-theme="light"] .schedule-rules,[data-theme="light"] .sheet-source,[data-theme="light"] .step .cost{color:var(--muted)}
[data-theme="light"] .showcase .text-link,[data-theme="light"] .svc-terms{color:var(--ink)}
[data-theme="light"] .founder-link{color:var(--mint-text)}
/* The caption sits on the photo, so it keeps its dark plate. */
[data-theme="light"] .portrait figcaption span{color:#b3b4c2}
[data-theme="light"] footer a:hover{color:var(--ink)}
[data-theme="light"] .facts,[data-theme="light"] .end-lede a:hover{color:var(--mint-text)}

/* ---------- Surfaces ---------- */
[data-theme="light"] .hero::after{background:linear-gradient(rgb(245 245 241 / 0),var(--ground))}
/* The dusk horizon as a pale printed negative that fades up into the paper. A black sun reads as an eclipse, so this crop leaves it out. */
[data-theme="light"] .live .hero::after{background:url(media/horizon.webp) 100% 100%/136% auto no-repeat;filter:invert(1) hue-rotate(180deg) saturate(.8);opacity:.55;
  -webkit-mask-image:linear-gradient(transparent,#000 75%);mask-image:linear-gradient(transparent,#000 75%)}
[data-theme="light"] .how .step.lit{--glass-fill:rgb(232 250 242 / .8);box-shadow:inset 0 0 0 1px rgb(10 115 80 / .25),inset 0 1px 0 #fff}
[data-theme="light"] .step.lit{color:var(--ink)}
[data-theme="light"] .leg-card .svc-terms{background:rgb(14 17 20 / .03);box-shadow:inset 0 0 0 1px rgb(14 17 20 / .08)}
/* Thin accents drawn in the pale brand tints need their deeper text versions on paper. */
[data-theme="light"] .promises svg circle,[data-theme="light"] .promises svg path{stroke:var(--mint-text)}
[data-theme="light"] #kg stop:nth-child(1){stop-color:#2bbf88}
[data-theme="light"] #kg stop:nth-child(2){stop-color:#2aa9c7}
[data-theme="light"] #kg stop:nth-child(3){stop-color:#8a64ea}
[data-theme="light"] .adam-band::before{background:radial-gradient(closest-side,rgb(142 237 198 / .5),rgb(98 201 226 / .18) 60%,transparent);opacity:.7;filter:blur(30px)}
[data-theme="light"] .book-section{background:#e8eeea}
[data-theme="light"] .ending .end-grid::before{background:radial-gradient(44% 42% at 45% 50%,rgb(142 237 198 / .4),transparent 70%)}

/* ---------- Privacy choices: a light sheet with the deeper mint ---------- */
[data-theme="light"] .privacy-choice-panel{background:#ffffff;color:var(--ink);border-color:#cfd6d2;box-shadow:0 -18px 40px -28px rgb(20 30 40 / .35)}
[data-theme="light"] .privacy-choice-panel p,[data-theme="light"] .privacy-choice-close{color:var(--muted)}
[data-theme="light"] .privacy-choice-panel .privacy-choice-current,[data-theme="light"] .privacy-choice-panel a{color:var(--mint-text)}
[data-theme="light"] .privacy-choice-actions button{color:var(--ink)}
[data-theme="light"] .privacy-choice-panel :focus-visible,[data-theme="light"] .site-footer [data-privacy-choices]:focus-visible{outline-color:var(--mint-text)}

/* ---------- Scrims and fades painted in the dark ground ---------- */
[data-theme="light"] .hybrid .hero .wrap>div:first-child::before{background:rgb(245 245 241 / .9)}
[data-theme="light"] .flow-connector span,[data-theme="light"] .hybrid-disclosure{background:rgb(245 245 241 / .92);text-shadow:none}
[data-theme="light"] .flow::after{background:linear-gradient(90deg,var(--ground) 0%,rgb(245 245 241 / .85) 18%,rgb(245 245 241 / .4) 42%,rgb(245 245 241 / 0) 68%),linear-gradient(var(--ground) 0%,rgb(245 245 241 / 0) 16%,rgb(245 245 241 / 0) 80%,var(--ground) 100%)}
[data-theme="light"] .close::after{background:linear-gradient(90deg,var(--ground) 20%,rgb(245 245 241 / .8) 50%,rgb(245 245 241 / .2)),linear-gradient(var(--ground),rgb(245 245 241 / 0) 25%,rgb(245 245 241 / 0) 75%,var(--ground))}
[data-theme="light"] .qa summary i::before,[data-theme="light"] .qa summary i::after{background:var(--mint-text)}

/* ---------- Brand accents as text: the deeper versions on paper ---------- */
[data-theme="light"]{--t-time:var(--cyan-text);--t-money:var(--mint-text);--t-staff:var(--lilac-text)}
[data-theme="light"] .t-time{--c:var(--cyan-text)}
[data-theme="light"] .t-money{--c:var(--mint-text)}
[data-theme="light"] .t-staff{--c:var(--lilac-text)}
[data-theme="light"] .questions li::before,[data-theme="light"] .eyebrow,[data-theme="light"] .nav a[aria-current],[data-theme="light"] .svc-step,
[data-theme="light"] .svc dt,[data-theme="light"] .sample-disclosure strong,[data-theme="light"] .sample-status,[data-theme="light"] .review-outcome,
[data-theme="light"] .book .facts,[data-theme="light"] .ending .facts,[data-theme="light"] .schedule-mobile summary span,[data-theme="light"] .privacy-date,
[data-theme="light"] .privacy-content a,[data-theme="light"] .privacy-home{color:var(--mint-text)}
[data-theme="light"] .privacy-content a:hover,[data-theme="light"] .privacy-home:hover{color:var(--cyan-text)}
[data-theme="light"] .sheet-label{color:var(--cyan-text)}
[data-theme="light"] .k-cyan .svc-step,[data-theme="light"] .k-cyan .leg-get dt{color:var(--cyan-text)}
[data-theme="light"] .k-lilac .svc-step,[data-theme="light"] .k-lilac .leg-get dt{color:var(--lilac-text)}
[data-theme="light"] .k-mint .leg-get dt{color:var(--mint-text)}
[data-theme="light"] .ms li::before{background:#dff5ea;color:var(--mint-text)}
[data-theme="light"] .subpage .page-hero::before{background:radial-gradient(closest-side,rgb(142 237 198 / .55),rgb(168 138 244 / .25) 60%,transparent);opacity:.6;filter:blur(40px)}
/* The satin artwork is a dark photograph; on paper it fades back so the headline leads. */
[data-theme="light"] .close::before{opacity:.32}

/* ---------- Examples page: card bodies on paper; the demo screens stay dark like app windows ---------- */
[data-theme="light"] .showcase-card{border-color:#d9dad5;background:#ffffff}
[data-theme="light"] .showcase-card:hover,[data-theme="light"] .showcase-card:focus-within{border-color:#bfc3c0;box-shadow:0 18px 50px -24px rgb(20 30 40 / .3)}
[data-theme="light"] .showcase-intro p,[data-theme="light"] .showcase-steps li,[data-theme="light"] .showcase-foot{color:var(--muted)}
[data-theme="light"] .showcase-lead,[data-theme="light"] .showcase-check{color:var(--text-soft)}
[data-theme="light"] .showcase-check{border-top-color:var(--line)}
[data-theme="light"] .showcase-label{color:var(--quiet)}
[data-theme="light"] .showcase-steps li:before{border-color:#c9ccc8;color:var(--mint-text)}
[data-theme="light"] .showcase-check strong{color:var(--mint-text)}
[data-theme="light"] .showcase .showcase-grid::before{opacity:.6}
/* Inside a demo screen the dark tokens come back, so its controls read the way they do in the dark theme. */
[data-theme="light"] .showcase-stage{--ink:#f1f0f7;--muted:#b3b4c2;--quiet:#8b8d9e;--line:#2b2d38;--panel:#111218;color-scheme:dark}
[data-theme="light"] .nav{border-bottom-color:var(--line)}

/* ---------- Privacy notice and the missing-page screen ---------- */
[data-theme="light"] .privacy-heading{border-bottom-color:var(--line)}
[data-theme="light"] .privacy-heading h1,[data-theme="light"] .privacy-content h2{color:var(--ink)}
[data-theme="light"] .privacy-intro{color:var(--text-soft)}
[data-theme="light"] .privacy-content p,[data-theme="light"] .not-found p{color:var(--muted)}

/* ---------- Rules and outlines drawn as dark literals ---------- */
[data-theme="light"] .showcase{border-top-color:var(--line)}
[data-theme="light"] footer .legal,[data-theme="light"] .mail,[data-theme="light"] .leg-get{border-top-color:var(--line)}
[data-theme="light"] .mail a,[data-theme="light"] .after a,[data-theme="light"] .showcase .text-link{border-bottom-color:#c4c7c3}
[data-theme="light"] .after,[data-theme="light"] .switch{border-color:#cfd1cc}
[data-theme="light"] .switch{background:rgb(255 255 255 / .8)}
[data-theme="light"] .knot{border-color:#c4c7c3}
