/* ryhus.com · the site's one stylesheet: the silk family.
   A pearl ground, the R's two ribbons unfolded as silk in the season card's colours, the app shown by day and by
   night. Instrument Serif for what is said, Sora for what is read, Michroma for the name alone. One art direction,
   light and vibrant, whatever the visitor's setting. Every motion rests with Reduce Motion. */

/* ---------- fonts, served from this site (OFL; the licences sit beside them) ---------- */
@font-face{font-family:'Instrument Serif';src:url(../fonts/InstrumentSerif-Regular.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url(../fonts/InstrumentSerif-Italic.woff) format('woff');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Sora;src:url(../fonts/Sora-Regular.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Sora;src:url(../fonts/Sora-Medium.woff) format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Sora;src:url(../fonts/Sora-SemiBold.woff) format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Michroma;src:url(../fonts/Michroma-Regular.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Mrs Saint Delafield';src:url(../fonts/MrsSaintDelafield-Regular.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}

/* ---------- tokens: pearl ---------- */
:root{
  color-scheme:light;
  --bg:#F4F2EF;--bg-2:#FAF9F7;--bg-3:#EEEBE6;
  --ink:#0B0F14;--ink-2:rgba(11,15,20,.80);--soft:#4A5866;--faint:#637180;
  --hair:rgba(11,15,20,.09);--edge:rgba(255,255,255,.82);--edge-ink:rgba(11,15,20,.08);
  --glass:rgba(255,255,255,.58);--glass-2:rgba(255,255,255,.86);--glass-hi:inset 0 1px 0 rgba(255,255,255,.95);
  --shadow-1:0 24px 60px rgba(60,52,120,.11),0 4px 14px rgba(60,52,120,.05);
  --shadow-2:0 50px 100px rgba(50,44,110,.22),0 16px 30px rgba(50,44,110,.10);
  --teal:#0B8F81;--teal-vivid:#12AE99;--cobalt:#1B6FD6;--violet:#6A50DA;--amber:#D98E22;--gold:#C98A1E;--rose:#DB6F7A;
  --ph1:#0FA090;--ph2:#1B88DA;--ph3:#7059E0;--ph4:#DB9B2A;
  --run:#0FA090;--ride:#E08A2A;--swim:#1B88DA;--str:#7059E0;--mob:#5C7389;
  --silk:linear-gradient(100deg,#0FA090 0%,#1B88DA 46%,#7059E0 100%);
  --silk-warm:linear-gradient(100deg,#7059E0 0%,#C8669A 48%,#DB9B2A 100%);
  --btn:#0B0F14;--btn-ink:#FFFFFF;
  --mk-a:#144A48;--mk-b:#2A7C76;--mk-c:#5BA39B;--mk-hi:#B9DFD8;--mk-t:1;--mk-tf:1;--mk-l2:1;--mk-ha:.5;
  --sel:rgba(112,89,224,.22);
  --serif:'Instrument Serif','Iowan Old Style',Georgia,serif;
  --sans:Sora,system-ui,-apple-system,'Segoe UI',sans-serif;
  --wide:Michroma,Sora,system-ui,sans-serif;
  --sign:'Mrs Saint Delafield','Snell Roundhand',cursive;
  --gutter:clamp(20px,4.4vw,64px);
  --page:1320px;
  --section:clamp(120px,8vw + 72px,220px);
  --r-card:30px;--r-pill:999px;
  --ease:cubic-bezier(.2,.7,.2,1);--ease-io:cubic-bezier(.65,0,.25,1);--spring:cubic-bezier(.2,1.1,.3,1);
}
/* the app by night and by day, inside a phone or a card */
.t-night{
  color-scheme:dark;
  --bg:#0A0C0F;--ink:#F1F4F6;--ink-2:rgba(241,244,246,.82);--soft:rgba(241,244,246,.62);--faint:rgba(241,244,246,.5);
  --hair:rgba(255,255,255,.08);--edge:rgba(255,255,255,.10);
  --glass:rgba(255,255,255,.045);--glass-2:rgba(255,255,255,.07);--glass-hi:inset 0 1px 0 rgba(255,255,255,.06);
  --teal:#5CFFE0;--teal-vivid:#5CFFE0;--ph1:#5CFFE0;--ph2:#4FC8FF;--ph3:#A08CFF;--ph4:#FFC86B;--gold:#FFC86B;
  --run:#5CFFE0;--ride:#FFB25C;--swim:#5AA9FF;--str:#B49CFF;--mob:#9CB3C8;
  --glow-soft:rgba(92,255,224,.10);--glow-gold:rgba(255,200,107,.18);
  --mk-a:#0A7C7C;--mk-b:#2EE6D0;--mk-c:#9FFFF0;--mk-hi:#FFFFFF;--mk-t:.25;--mk-tf:.2;--mk-l2:.9;--mk-ha:.7;
  background:var(--bg);color:var(--ink)}
.t-paper{
  color-scheme:light;
  --bg:#F1F4F6;--ink:#0A0F12;--ink-2:rgba(10,15,18,.84);--soft:#546678;--faint:#5E6F80;
  --hair:rgba(10,15,18,.09);--edge:rgba(10,15,18,.07);
  --glass:rgba(255,255,255,.72);--glass-2:rgba(255,255,255,.95);--glass-hi:inset 0 1px 0 rgba(255,255,255,.9);
  --teal:#007E6C;--teal-vivid:#007E6C;--ph1:#007E6C;--ph2:#1C7FB6;--ph3:#6A4FD6;--ph4:#A8741A;--gold:#A8741A;
  --run:#007E6C;--ride:#B26A12;--swim:#1F6FD1;--str:#6A4FD6;--mob:#3E5C72;
  --glow-soft:rgba(0,160,140,.10);--glow-gold:rgba(168,116,26,.14);
  background:var(--bg);color:var(--ink)}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
::selection{background:var(--sel)}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
button{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:8px}
main:focus{outline:none}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font:500 14px var(--sans);text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.wrap{width:min(100% - var(--gutter) * 2,var(--page));margin-inline:auto}
.section{position:relative;padding-block:var(--section);overflow-x:clip}
.section + .section{padding-top:0}

/* ---------- type ---------- */
.display-xl,.display-l,.display-m,.display-s{font-family:var(--serif);font-weight:400;text-wrap:balance}
.display-xl{font-size:clamp(3.8rem,1.5rem + 8.2vw,10rem);line-height:.88;letter-spacing:-.03em}
.display-l{font-size:clamp(2.9rem,1.5rem + 5vw,6.4rem);line-height:.94;letter-spacing:-.024em}
.display-m{font-size:clamp(2.2rem,1.4rem + 2.8vw,4.1rem);line-height:1;letter-spacing:-.016em}
.display-s{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.4rem);line-height:1.08;letter-spacing:-.01em}
.silk-text{font-style:italic;background:var(--silk);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.warm-text{font-style:italic;background:var(--silk-warm);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.lead{font-size:clamp(1.15rem,1rem + .45vw,1.42rem);line-height:1.5;color:var(--ink-2);max-width:31em;text-wrap:pretty}
.lead+*{margin-top:0}
.display-xl+.lead,.display-l+.lead,.display-m+.lead{margin-top:clamp(20px,2.2vw,30px)}
.kicker{font:600 .72rem/1.2 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--faint);margin-bottom:20px}
.small{font-size:.875rem;line-height:1.55;color:var(--soft)}
.caption{font:400 .8125rem/1.5 var(--sans);color:var(--faint);margin-top:16px}

/* ---------- buttons and links ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:58px;padding:0 30px;border-radius:var(--r-pill);border:0;background:var(--btn);color:var(--btn-ink);box-shadow:0 16px 36px rgba(11,15,20,.22),0 2px 6px rgba(11,15,20,.12);font:500 1.0625rem/1 var(--sans);text-decoration:none;cursor:pointer;transition:transform .35s var(--spring),box-shadow .35s}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translateX(-120%);animation:sheen 7s 2.6s ease-in-out infinite}
.btn:hover{transform:translateY(-2px);box-shadow:0 22px 44px rgba(11,15,20,.26),0 2px 6px rgba(11,15,20,.12)}
.btn:active{transform:scale(.97)}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@keyframes sheen{0%{transform:translateX(-120%)}30%,100%{transform:translateX(120%)}}
.btn-glass{display:inline-flex;align-items:center;gap:10px;height:58px;padding:0 26px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--edge);box-shadow:var(--glass-hi),var(--shadow-1);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);color:var(--ink);font:500 1rem/1 var(--sans);text-decoration:none;transition:transform .35s var(--spring)}
.btn-glass:hover{transform:translateY(-2px)}
.go{display:inline-flex;align-items:center;gap:10px;font:500 1rem/1.3 var(--sans);color:var(--ink);text-decoration:none}
.go span{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:2px;transition:background-size .4s var(--ease)}
.go:hover span{background-size:100% 1px}
.go i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;transition:transform .35s var(--spring)}
.go i svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.go:hover i{transform:translateX(3px)}
.status{display:inline-flex;align-items:center;gap:10px;font:400 .9375rem/1.3 var(--sans);color:var(--soft)}
.status i{position:relative;width:8px;height:8px;border-radius:50%;background:var(--teal-vivid);flex:none}
.status i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.4px solid var(--teal-vivid);opacity:0;animation:ring 2.6s ease-out infinite}
@keyframes ring{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.6);opacity:0}}

/* ---------- header: clear over the opening, frosted once the page moves ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .5s,box-shadow .5s,backdrop-filter .5s}
.site-header.is-scrolled{background:rgba(244,242,239,.74);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);box-shadow:0 1px 0 var(--hair)}
.site-header-in{height:76px;display:flex;align-items:center;gap:20px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);margin-right:auto;border-radius:10px}
.brand-mark{width:32px;height:auto;overflow:visible}
.brand-word{font:400 .8125rem/1 var(--wide);letter-spacing:.46em;margin-right:-.46em;white-space:nowrap}
.site-nav ul{display:flex;gap:2px;list-style:none;padding:5px;border-radius:var(--r-pill);background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.75);box-shadow:var(--glass-hi),0 10px 30px rgba(60,52,120,.08);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}
.site-nav a{position:relative;display:block;padding:9px 15px;border-radius:var(--r-pill);font:400 .9375rem/1 var(--sans);color:var(--soft);text-decoration:none;transition:color .25s,background .25s}
.site-nav a:hover{color:var(--ink);background:rgba(255,255,255,.75)}
.site-nav a[aria-current=page]{color:var(--ink);background:#fff;box-shadow:0 4px 14px rgba(60,52,120,.10)}
.menu-open,.menu-close{display:none;align-items:center;gap:10px;height:44px;padding:0 16px 0 18px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.6);box-shadow:var(--glass-hi),0 8px 24px rgba(60,52,120,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font:500 .9375rem/1 var(--sans);cursor:pointer}
.menu-open svg,.menu-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.season-progress{display:none}
.js .brand-mark{clip-path:inset(-10% 100% -10% -10%);animation:markin .95s .1s var(--ease-io) forwards}
@keyframes markin{to{clip-path:inset(-10% -10% -10% -10%)}}
.brand-sheen{transform:translateX(-140%);transform-box:view-box}
.js .brand-sheen{animation:marksheen 1.6s .6s cubic-bezier(.4,0,.2,1) forwards}
@keyframes marksheen{to{transform:translateX(320%)}}
.js .brand-word{opacity:0;animation:rise .7s .45s var(--ease) forwards}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* the menu: a pearl sheet on a phone */
.site-menu{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;color:var(--ink);background:radial-gradient(70% 50% at 100% 0%,rgba(255,214,176,.55),transparent 70%),radial-gradient(60% 60% at 0% 100%,rgba(196,178,255,.5),transparent 70%),rgba(244,242,239,.94);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}
.site-menu::backdrop{background:transparent}
.site-menu[open]{animation:fade .35s var(--ease)}
@keyframes fade{from{opacity:0}to{opacity:1}}
.site-menu-in{min-height:100%;display:flex;flex-direction:column;padding:0 var(--gutter) max(28px,env(safe-area-inset-bottom))}
.site-menu-top{height:76px;display:flex;align-items:center;justify-content:space-between}
.site-menu .menu-close{display:inline-flex}
.site-menu-main{list-style:none;margin-top:28px}
.site-menu-main a{display:block;padding:10px 0;font:400 clamp(2.5rem,10vw,3.4rem)/1.04 var(--serif);letter-spacing:-.015em;text-decoration:none}
.site-menu-main a[aria-current=page]{font-style:italic;background:var(--silk);-webkit-background-clip:text;background-clip:text;color:transparent}
.site-menu[open] .site-menu-main li{opacity:0;transform:translateY(14px);animation:rise .6s var(--ease) forwards}
.site-menu[open] .site-menu-main li:nth-child(2){animation-delay:.05s}.site-menu[open] .site-menu-main li:nth-child(3){animation-delay:.1s}
.site-menu[open] .site-menu-main li:nth-child(4){animation-delay:.15s}.site-menu[open] .site-menu-main li:nth-child(5){animation-delay:.2s}
.site-menu[open] .site-menu-main li:nth-child(6){animation-delay:.25s}
.site-menu-small{list-style:none;display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:36px;padding-top:24px;border-top:1px solid var(--hair)}
.site-menu-small a{font:400 1rem/2 var(--sans);color:var(--soft);text-decoration:none}
.site-menu-foot{margin-top:auto;padding-top:28px;font:400 .875rem var(--sans);color:var(--faint)}

/* ---------- the silk: canvases the ribbons are drawn on ---------- */
.pearl{--pearl:radial-gradient(70% 60% at 92% 4%,rgba(255,214,176,.55),transparent 70%),radial-gradient(60% 70% at 0% 52%,rgba(150,214,232,.42),transparent 70%),radial-gradient(60% 60% at 42% 108%,rgba(196,178,255,.42),transparent 70%);background:var(--pearl),var(--bg)}
/* each page's opening melts into the page below: its light, its grain and its silk fade over the last stretch */
.hero,.page-hero,.reading-top{--melt:clamp(80px,9vw,130px)}
.hero{--melt:clamp(56px,6vw,84px)}
:is(.hero,.page-hero,.reading-top).pearl{background:linear-gradient(180deg,transparent calc(100% - var(--melt)),var(--bg)),var(--pearl),var(--bg)}
:is(.hero,.page-hero,.reading-top)>.silk-wrap,:is(.hero,.page-hero,.reading-top).grain::after{-webkit-mask-image:linear-gradient(#000 calc(100% - var(--melt)),transparent);mask-image:linear-gradient(#000 calc(100% - var(--melt)),transparent)}
.foot-silk.pearl{background:linear-gradient(180deg,var(--bg),transparent 30%,transparent 70%,var(--bg)),var(--pearl),var(--bg)}
.silk{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.silk-wrap{position:absolute;inset:0;z-index:0;pointer-events:none;will-change:transform}
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.16;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- glass, chips, labels ---------- */
.glass{background:var(--glass);border:1px solid var(--edge);border-radius:var(--r-card);box-shadow:var(--glass-hi),var(--shadow-1);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4)}
.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border-radius:var(--r-pill);background:var(--glass-2);border:1px solid var(--edge);font:500 .8125rem/1 var(--sans);color:var(--ink);white-space:nowrap}
button.chip{cursor:pointer;transition:background .2s,color .2s,border-color .2s}
button.chip:hover{border-color:color-mix(in srgb,var(--violet) 40%,var(--edge))}
.chip .ic{width:15px;height:15px}
.label{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-pill);font:500 .75rem/1 var(--sans);white-space:nowrap;border:1px solid}
.label::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.label.research{color:var(--cobalt);border-color:color-mix(in srgb,var(--cobalt) 35%,transparent);background:color-mix(in srgb,var(--cobalt) 8%,transparent)}
.label.practice{color:var(--violet);border-color:color-mix(in srgb,var(--violet) 35%,transparent);background:color-mix(in srgb,var(--violet) 8%,transparent)}
.label.judgement{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 40%,transparent);background:color-mix(in srgb,var(--gold) 9%,transparent)}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- the phone: a 402 x 874 screen, scaled by --s ---------- */
.phone{--s:.72;position:relative;width:calc(402px * var(--s));height:calc(874px * var(--s));flex:none}
.phone-body{position:absolute;left:0;top:0;width:402px;height:874px;transform:scale(var(--s));transform-origin:0 0;border-radius:56px;overflow:hidden;box-shadow:0 0 0 10px #101317,0 0 0 11px #3a3f45,var(--shadow-2);background:#0A0C0F}
.phone-body::after{content:"";position:absolute;inset:0;border-radius:56px;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.scr{position:absolute;inset:0;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--sans)}
.sb{position:absolute;left:0;right:0;top:0;height:54px;z-index:9;display:flex;justify-content:space-between;align-items:center;padding:6px 34px 0 46px;font:600 17px/1 -apple-system,'SF Pro Text',system-ui,sans-serif;color:var(--ink);pointer-events:none}
.sb .sbi{display:flex;align-items:center;gap:6px}
.island{position:absolute;top:11px;left:50%;width:124px;height:36px;margin-left:-62px;border-radius:20px;background:#000;z-index:10}
.scr-glow{position:absolute;left:50%;top:22%;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;background:radial-gradient(closest-side,var(--glow-soft),transparent);pointer-events:none}

/* by day and by night: one phone, two screens, a switch */
.duo .scr-day,.duo .scr-night{transition:opacity .7s var(--ease),filter .7s var(--ease)}
.duo .scr-night{opacity:0;filter:blur(6px)}
.duo[data-mode=night] .scr-night{opacity:1;filter:none}
.duo[data-mode=night] .scr-day{opacity:0;filter:blur(6px)}
.phone-halo{position:absolute;left:50%;top:50%;width:150%;height:110%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:-1;transition:background .8s var(--ease);background:radial-gradient(closest-side,rgba(255,255,255,.85),rgba(255,255,255,0) 72%)}
.duo-stage[data-mode=night] .phone-halo{background:radial-gradient(closest-side,rgba(60,50,130,.14),rgba(60,50,130,0) 70%)}
.switch{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:var(--r-pill);background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.85);box-shadow:var(--glass-hi),0 10px 30px rgba(60,52,120,.10);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}
.switch button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:104px;height:40px;padding:0 16px;border:0;background:none;border-radius:var(--r-pill);font:500 .875rem/1 var(--sans);color:var(--soft);cursor:pointer;transition:color .4s}
.switch button[aria-pressed=true]{color:var(--ink)}
.switch button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.switch::before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:var(--r-pill);background:#fff;box-shadow:0 6px 16px rgba(60,52,120,.14);transition:transform .55s var(--spring),background .55s}
.switch[data-mode=night]::before{transform:translateX(100%);background:#0E1218}
.switch[data-mode=night] button[aria-pressed=true]{color:#F1F4F6}

/* by day and by night: one phone you split by dragging */
.split{position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.split .layer-night{clip-path:inset(0 calc(100% - var(--x,50%)) 0 0)}
.split-handle{position:absolute;top:-14px;bottom:-14px;left:var(--x,50%);width:2px;margin-left:-1px;background:linear-gradient(transparent,rgba(255,255,255,.95) 12%,rgba(255,255,255,.95) 88%,transparent);box-shadow:0 0 18px rgba(255,255,255,.9);z-index:20;pointer-events:none}
.split-knob{position:absolute;left:var(--x,50%);top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;z-index:21;display:grid;place-items:center;background:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.95);box-shadow:0 10px 30px rgba(20,20,60,.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:ew-resize;touch-action:none}
.split-knob svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.split-tags{display:flex;justify-content:space-between;margin-top:18px;font:600 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}

/* by day and by night: a pair */
.pair{position:relative;display:flex;justify-content:center;align-items:flex-start;gap:0}
.pair .phone:first-child{z-index:2;transform:translateX(12%) rotate(-3deg)}
.pair .phone:last-child{z-index:1;transform:translateX(-12%) translateY(8%) rotate(3deg)}
.pair-tags{display:flex;justify-content:center;gap:clamp(110px,16vw,230px);margin-top:calc(28px + 8%);font:600 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
/* the phones end where their screens' content does: the empty lower screen (where the app's tab bar would sit)
   melts into the page */
.phone-crop{padding:28px 28px 0;margin:-28px -28px 0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 85%,transparent);mask-image:linear-gradient(#000 85%,transparent)}
.phone-crop .phone{height:calc(874px * var(--s) * .88)}
.hero-app .phone-crop + .switch{margin-top:-58px;position:relative;z-index:2}
.pair.crop{--ps:.6;overflow:hidden;padding:28px 40px 0;margin:-28px -40px 0;height:calc(874px * var(--ps) * .97 + 28px);-webkit-mask-image:linear-gradient(#000 80%,transparent);mask-image:linear-gradient(#000 80%,transparent)}
.pair.crop + .pair-tags{margin-top:6px}
/* the closing ends on the app */
.app-icon{display:block;width:96px;height:96px;margin:0 auto 30px;border-radius:22.37%;box-shadow:0 22px 50px rgba(20,24,60,.28),0 2px 6px rgba(20,24,60,.12)}
/* the glass cards catch the silk: a faint sheen of the ribbons' colours along their edges, brightest where the light
   comes from */
.glass,.chapter,.trust li,.tile{position:relative}
:is(.glass,.chapter,.trust li,.tile)::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(135deg,rgba(18,174,153,.78),rgba(27,136,218,.44) 22%,rgba(112,89,224,.14) 46%,rgba(255,255,255,0) 60%,rgba(212,106,140,.22) 82%,rgba(219,155,42,.48));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}

/* ---------- the land (Season's, inside the app) ---------- */
.land svg{display:block;width:100%;height:auto;overflow:visible}
.land .road-done{stroke-dasharray:1;stroke-dashoffset:1}
.land.drawn .road-done{transition:stroke-dashoffset 1.6s .2s cubic-bezier(.32,.72,.18,1);stroke-dashoffset:0}
.land .terr{opacity:0;transition:opacity 1.2s .1s}
.land.drawn .terr{opacity:1}
.land .stop{opacity:0;transition:opacity .5s}
.land.drawn .stop{opacity:1}
.land .summit-glow{transform-box:fill-box;transform-origin:center;animation:breathe 6s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.7}}
.land .today-ring{transform-box:fill-box;transform-origin:center;animation:ring 2.6s ease-out infinite}

/* Season, inside the phone (the lock's "In Build" morning) */
.s-head{position:absolute;left:20px;right:20px;top:64px;display:flex;justify-content:space-between;align-items:flex-start;z-index:3}
.s-ttl{font:400 40px/1 var(--serif)}
.s-sub{font:400 14px/1.3 var(--sans);color:var(--soft);margin-top:6px}
.init{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:500 17px var(--sans);background:var(--glass-2);border:1px solid var(--edge);box-shadow:0 0 0 2px color-mix(in srgb,var(--st) 55%,transparent);flex:none}
.s-hero{position:absolute;left:0;top:128px;width:402px;height:330px}
.s-hero>svg{position:absolute;left:0;top:0;width:402px;height:330px;overflow:visible}
.s-cd{position:absolute;left:22px;top:10px;z-index:2}
.s-cdr{display:flex;align-items:flex-end;gap:14px}
.s-cdn{height:108px;font:400 132px/122px var(--serif);letter-spacing:-.04em;padding-right:.05em;background:linear-gradient(112deg,var(--ink) 38%,color-mix(in srgb,var(--gold) 82%,var(--ink)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 26px var(--glow-gold))}
.s-cdt{display:flex;flex-direction:column;padding-bottom:7px}
.s-cdt span{font:400 14px var(--sans);color:var(--soft)}
.s-cdt b{font:400 34px/1 var(--serif);font-weight:400;margin-top:3px;white-space:nowrap}
.s-cdm{display:block;font:400 13.5px var(--sans);color:var(--soft);margin:8px 0 0 4px;white-space:nowrap}
.s-rul{position:absolute;left:20px;right:20px;top:468px}
.s-rul svg{display:block;width:100%;height:16px;overflow:visible}
.s-rlabs{display:flex;gap:6px;margin-top:4px}
.s-rlabs span{display:flex;align-items:center;gap:1px;padding:6px 0 4px;font:400 12.5px var(--sans);color:var(--soft);min-width:0;white-space:nowrap}
.s-rlabs span.now{color:var(--c);font-weight:500}
.s-rlabs .chev{width:14px;height:14px;stroke-width:2}
.s-nxt{position:absolute;left:20px;right:20px;top:530px;padding:16px 18px 18px;border-radius:30px;background:var(--glass);border:1px solid var(--edge);box-shadow:var(--glass-hi),0 20px 50px rgba(0,0,0,.12)}
.s-nr{display:flex;align-items:center;gap:12px}
.s-nico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ph2) 16%,transparent);color:var(--ph2);box-shadow:0 0 22px color-mix(in srgb,var(--ph2) 26%,transparent);flex:none}
.s-nico .ic{width:21px;height:21px}
.s-nw{flex:1;font:400 14px var(--sans);color:var(--soft)}
.s-nw b{font-weight:400;color:var(--ink)}
.s-info{color:var(--soft)}
.s-nt{font:400 34px/1.02 var(--serif);letter-spacing:-.01em;margin:12px 0 5px}
.s-ns{font:400 15px var(--sans);color:var(--soft)}

/* Today, inside the phone: the session card and the week (Today's lock) */
.t-head{position:absolute;left:20px;right:20px;top:64px;display:flex;justify-content:space-between;align-items:flex-start;z-index:3}
.t-ttl{font:400 40px/1 var(--serif)}
.t-sub{font:400 14px/1.3 var(--sans);color:var(--soft);margin-top:6px}
.t-rib{position:absolute;left:20px;right:20px;top:136px}
.t-rib .rl{display:flex;justify-content:space-between;font:400 13px var(--sans);color:var(--soft);margin-bottom:8px}
.t-rib .rl b{font-weight:400;color:var(--gold)}
.t-rib svg{display:block;width:100%;height:14px;overflow:visible}
.t-line{position:absolute;left:22px;right:22px;top:192px;font:400 21px/1.3 var(--serif);color:var(--ink)}
.t-sess{position:absolute;left:16px;right:16px;top:252px}
.t-week{position:absolute;left:16px;right:16px;top:536px}

/* ---------- reveal on scroll ---------- */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.js [data-reveal].in{opacity:1;transform:none}
.js [data-reveal-d="1"]{transition-delay:.1s}.js [data-reveal-d="2"]{transition-delay:.2s}.js [data-reveal-d="3"]{transition-delay:.3s}.js [data-reveal-d="4"]{transition-delay:.4s}

/* ============================================================================================================
   HOME
   ============================================================================================================ */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;isolation:isolate;padding:calc(76px + 24px) 0 56px}
.hero .wrap{position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3vw,56px);align-items:center}
.hero-title{font:400 clamp(4.2rem,1.6rem + 8.4vw,10.6rem)/.86 var(--serif);letter-spacing:-.034em;color:var(--ink)}
.hero-title .w{display:inline-block}
.js .hero-title .w{opacity:0;filter:blur(10px);transform:translateY(22px);animation:word 1s var(--d) var(--ease) forwards}
@keyframes word{to{opacity:1;filter:none;transform:none}}
.hero-line{margin-top:clamp(22px,2.4vw,34px);font:400 clamp(1.12rem,.95rem + .5vw,1.42rem)/1.5 var(--sans);color:#2B3A47;max-width:25em}
.hero-acts{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:clamp(30px,3vw,44px)}
.js .hero .hero-line,.js .hero .hero-acts{opacity:0;animation:rise .9s var(--d,1s) var(--ease) forwards}
.hero-app{display:flex;flex-direction:column;align-items:center;gap:26px;position:relative}
.js .hero-app{opacity:0;transform:translateY(46px) scale(.98);animation:appin 1.4s .5s var(--spring) forwards}
@keyframes appin{to{opacity:1;transform:none}}
.scroll-cue{position:absolute;left:50%;bottom:22px;z-index:3;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font:600 .64rem/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--faint)}
.scroll-cue::after{content:"";width:1px;height:30px;background:linear-gradient(var(--faint),transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* the section heads: a title and one line */
.head{max-width:52rem}
.head-c{text-align:center;margin-inline:auto}
.head-c .lead{margin-inline:auto}

/* plans you won't cancel: the demonstration */
.demo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(18px,2vw,28px);align-items:start;margin-top:clamp(48px,5vw,80px)}
.demo-left{display:flex;flex-direction:column;gap:18px;position:sticky;top:110px}
.demo-ask{padding:22px}
.demo-ask h3{font:600 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-bottom:14px}
.demo-choices{display:flex;flex-direction:column;gap:10px}
.choice{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:13px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.62);cursor:pointer;transition:transform .35s var(--spring),box-shadow .3s,background .3s}
.choice:hover{background:#fff;box-shadow:0 12px 30px rgba(60,52,120,.12);transform:translateY(-1px)}
.choice:active{transform:scale(.985)}
.choice[disabled]{opacity:.4;cursor:default;box-shadow:none;transform:none}
.choice .ci{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--silk);color:#fff;flex:none}
.choice b{display:block;font:500 15px/1.3 var(--sans)}
.choice span span{display:block;font:400 13px/1.4 var(--sans);color:var(--soft);margin-top:2px}
.demo-right{display:flex;flex-direction:column;gap:18px}
.changes{padding:24px 24px 12px}
.changes-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.changes-top .ci{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--edge-ink);color:var(--soft)}
.changes-k{font:600 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.changes h3{font:400 36px/1.05 var(--serif);margin:10px 0 8px}
.changes ol{list-style:none;position:relative}
.change{position:relative;padding:16px 0 16px 40px;border-top:1px solid var(--hair)}
.change:first-child{border-top:0}
.change .dot{position:absolute;left:0;top:18px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--edge-ink);color:var(--violet)}
.change .dot svg{width:14px;height:14px}
.change-d{font:400 12.5px var(--sans);color:var(--faint)}
.change-t{font:400 22px/1.25 var(--serif);margin:4px 0 12px;text-wrap:pretty}
.change-a{display:flex;flex-wrap:wrap;gap:8px}
.change-a .chip.undo{color:var(--violet)}
.change-why{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.change-why>div{overflow:hidden}
.change-why.open{grid-template-rows:1fr}
.change-why p{margin-top:12px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid var(--edge-ink);font:400 14px/1.5 var(--sans);color:var(--ink-2)}
.change.is-new{animation:changein .7s var(--spring)}
@keyframes changein{from{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:none}}
.change.is-undone .change-t{color:var(--faint);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--faint) 60%,transparent)}
.change-note{font:400 12.5px/1.5 var(--sans);color:var(--soft);margin-top:10px}
.demo-foot{margin-top:20px;font:400 .8125rem/1.55 var(--sans);color:var(--faint);max-width:52em}

/* the week card */
.week{padding:20px 20px 16px}
.week-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.week-k{font:600 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.week-r{font:400 13px var(--sans);color:var(--soft)}
.week-sum{display:flex;gap:22px;margin-top:12px}
.week-sum b{display:block;font:400 28px/1 var(--serif);font-weight:400}
.week-sum span{font:400 12px var(--sans);color:var(--soft)}
.week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:end;height:150px;margin-top:16px}
.wd{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:3px;height:100%;position:relative}
.wd .seg{display:block;border-radius:8px;background:color-mix(in srgb,var(--c) 70%,transparent);transition:height .7s var(--spring),opacity .4s;min-height:6px}
.wd.done .seg{background:var(--c)}
.wd.plan .seg{background:color-mix(in srgb,var(--c) 22%,transparent);box-shadow:inset 0 0 0 1.4px color-mix(in srgb,var(--c) 70%,transparent)}
.wd.today .seg{background:color-mix(in srgb,var(--c) 30%,transparent);box-shadow:inset 0 0 0 1.5px var(--c),0 0 18px color-mix(in srgb,var(--c) 45%,transparent);animation:wbreathe 3.2s ease-in-out infinite}
@keyframes wbreathe{50%{box-shadow:inset 0 0 0 1.5px var(--c),0 0 28px color-mix(in srgb,var(--c) 70%,transparent)}}
.wd .seg.moved-in{animation:movein .8s var(--spring)}
@keyframes movein{from{transform:translateY(-18px);opacity:0}to{transform:none;opacity:1}}
.week-labs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:8px;text-align:center}
.week-labs span{font:400 11px/1.3 var(--sans);color:var(--soft)}
.week-labs span b{display:block;font:500 13px var(--sans);color:var(--ink)}
.week-labs span.today b{color:var(--violet)}
.week-keys{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--hair)}
.week-keys span{display:inline-flex;align-items:center;gap:7px;font:400 12.5px var(--sans);color:var(--soft)}
.week-keys i{width:8px;height:8px;border-radius:3px;background:var(--c)}
@media (min-width:961px){
  .demo-right .week{padding:24px 24px 18px}
  .demo-right .week-days{height:170px}
  .demo-right .wd{width:min(100%,64px);justify-self:center}
}

/* at least 70 % easy */
.easy{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:end}
.easy-n{position:relative;font:400 clamp(9rem,4rem + 22vw,27rem)/.78 var(--serif);letter-spacing:-.05em;color:var(--ink)}
.easy-n span{font-size:.42em;letter-spacing:0;margin-left:.04em;font-style:italic;background:var(--silk);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.easy-line{font:400 clamp(1.6rem,1.2rem + 1.6vw,2.6rem)/1.12 var(--serif);letter-spacing:-.01em;text-wrap:balance}
.easy-bars{display:grid;grid-template-columns:repeat(50,1fr);gap:3px;margin-top:clamp(28px,3vw,40px);height:70px;align-items:end}
.easy-bars i{display:block;height:100%;border-radius:3px;background:var(--silk);background-size:calc(var(--n,50) * 100%) 100%;opacity:.95;transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--spring)}
.easy-bars i.h{background:transparent;box-shadow:inset 0 0 0 1px rgba(11,15,20,.22);opacity:1}
.easy-bars.in i{transform:none}
.easy-key{display:flex;gap:22px;margin-top:14px;font:400 .8125rem/1.4 var(--sans);color:var(--soft)}
.easy-key span{display:inline-flex;align-items:center;gap:8px}
.easy-key i{width:10px;height:10px;border-radius:3px;background:var(--silk)}
.easy-key i.h{background:transparent;box-shadow:inset 0 0 0 1px rgba(11,15,20,.3)}

/* every rule says what it rests on */
.rests{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,4vw,72px);align-items:center}
.rests-title{font:400 clamp(2.2rem,1.4rem + 2.8vw,4.2rem)/1.04 var(--serif);letter-spacing:-.016em;text-wrap:balance}
.rests-title .k{white-space:nowrap;font-style:italic}
.rests-title .k.research{color:var(--cobalt)}.rests-title .k.practice{color:var(--violet)}.rests-title .k.judgement{color:var(--gold)}
.why-sheet{padding:26px 24px 22px}
.why-k{font:600 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.why-t{font:400 34px/1.05 var(--serif);margin:10px 0 4px}
.why-m{font:400 14px var(--sans);color:var(--soft)}
.why-say{font:400 19px/1.4 var(--serif);margin:18px 0 14px;color:var(--ink)}
.rsn{padding:14px 0;border-top:1px solid var(--hair)}
.rsn p{font:400 15px/1.45 var(--sans);color:var(--ink)}
.rsn .why-k{margin-bottom:12px}
.rsn small{display:block;font:400 13px/1.45 var(--sans);color:var(--soft);margin:6px 0 10px}
.yours-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.yours-chips span{font:400 12.5px/1 var(--sans);padding:8px 11px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--edge-ink);color:var(--soft)}

/* the season card's section */
.card-spread{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:center}
.card-col{position:relative;display:flex;justify-content:center;isolation:isolate}
.silk-host{position:relative;isolation:isolate}
.silk-host>.wrap{position:relative;z-index:2}

/* yours: three lines */
.yours-lines{list-style:none;display:flex;flex-direction:column}
.yours-lines li{font:400 clamp(3rem,1.4rem + 6.4vw,7.8rem)/1 var(--serif);letter-spacing:-.028em;padding-block:clamp(12px,1.6vw,24px);border-bottom:1px solid var(--hair)}
.yours-lines li:first-child{border-top:1px solid var(--hair)}
.yours-fine{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;font:400 .9375rem/1.5 var(--sans);color:var(--soft)}
.yours-fine span{max-width:44em}

/* the last word */
.closing{text-align:center}
.closing .display-l{margin-inline:auto;max-width:14em}
.closing .lead{margin:26px auto 0}
.closing .hero-acts{justify-content:center;margin-top:36px}

/* ---------- footer: the silk, the motto, the name ---------- */
.site-footer{position:relative;overflow:hidden;isolation:isolate}
.foot-silk{position:relative;height:clamp(300px,34vw,500px);overflow:hidden}
.motto{position:absolute;left:0;right:0;top:clamp(26px,5vw,72px);z-index:2;text-align:center;font:italic 400 clamp(1.9rem,1.2rem + 2.4vw,3.6rem)/1.1 var(--serif);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;padding-inline:var(--gutter)}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:40px 28px;padding-block:56px 40px;border-top:1px solid var(--hair);position:relative;z-index:2}
.lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:18px;text-decoration:none;color:var(--ink)}
.lockup-mark{width:70px;height:auto}
.lockup-names{display:flex;flex-direction:column;gap:10px}
.lockup-word{font:400 1rem/1 var(--wide);letter-spacing:.5em}
.lockup-line{font:italic 400 1.15rem/1.1 var(--serif);color:var(--soft)}
.footer-col h2{font:600 .68rem/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-bottom:16px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col a{font:400 .9375rem/1.4 var(--sans);color:var(--soft);text-decoration:none;transition:color .2s}
.footer-col a:hover,.footer-col a[aria-current=page]{color:var(--ink)}
.footer-base{display:flex;flex-wrap:wrap;gap:8px 28px;padding-block:24px max(32px,env(safe-area-inset-bottom));border-top:1px solid var(--hair);font:400 .8125rem/1.5 var(--sans);color:var(--faint);position:relative;z-index:2}
.footer-base p:first-child{margin-right:auto}

/* ============================================================================================================
   THE OTHER PAGES
   ============================================================================================================ */
.page-hero{position:relative;overflow:hidden;isolation:isolate;padding:calc(76px + clamp(48px,7vw,110px)) 0 clamp(56px,7vw,110px)}
.page-hero .wrap{position:relative;z-index:2}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,4vw,72px);align-items:center}
.page-hero .display-xl{max-width:9.5em}
.page-hero-art{display:flex;justify-content:center;position:relative}
.feature{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,4vw,72px);align-items:center}
.feature.flip .feature-copy{order:2}
.feature-art{position:relative;display:flex;justify-content:center}
.feature-copy .lead{margin-top:22px}
.chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(40px,5vw,64px);list-style:none}
.chapter{position:relative;overflow:hidden;padding:26px 22px 28px;border-radius:26px;background:var(--glass);border:1px solid var(--edge);box-shadow:var(--glass-hi),var(--shadow-1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.chapter::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--c)}
.chapter .n{font:600 .68rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--c)}
.chapter b{display:block;font:400 32px/1.05 var(--serif);margin:16px 0 10px}
.chapter p{font:400 14.5px/1.55 var(--sans);color:var(--soft)}
.chapter .wk{display:block;margin-top:16px;font:400 13px var(--sans);color:var(--faint)}
.milestone{padding:18px 18px 16px;width:min(100%,380px)}
.milestone .nr{display:flex;align-items:center;gap:12px}
.milestone .nico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--mc) 14%,#fff);color:var(--mc);flex:none}
.milestone .nw{font:400 14px var(--sans);color:var(--soft)}
.milestone .nw b{font-weight:400;color:var(--ink)}
.milestone .nt{font:400 34px/1.02 var(--serif);letter-spacing:-.01em;margin:12px 0 5px}
.milestone .ns{font:400 15px var(--sans);color:var(--soft)}
.stack{display:flex;flex-direction:column;gap:14px;align-items:center}
.acts{list-style:none;display:flex;flex-direction:column;margin-top:clamp(36px,4vw,60px);border-top:1px solid var(--hair)}
.act{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,6fr);gap:clamp(20px,2.4vw,40px);padding-block:clamp(28px,3.4vw,46px);border-bottom:1px solid var(--hair);align-items:baseline}
.act .no{font:italic 400 clamp(2.6rem,1.6rem + 2.6vw,4.2rem)/1 var(--serif);background:var(--silk);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.1em}
.act h3{font:400 clamp(1.7rem,1.3rem + 1.2vw,2.4rem)/1.08 var(--serif)}
.act .tt span{display:block;margin-top:8px;font:600 .68rem/1.3 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.act p{font:400 1.0625rem/1.6 var(--sans);color:var(--ink-2)}
.trust{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.trust li{padding:24px 24px 26px;border-radius:26px;background:var(--glass);border:1px solid var(--edge);box-shadow:var(--glass-hi),var(--shadow-1)}
.trust b{display:block;font:400 26px/1.15 var(--serif);margin-bottom:10px}
.trust p{font:400 15px/1.55 var(--sans);color:var(--soft)}

/* the session card, as Today draws it */
.sess{position:relative;overflow:hidden;border-radius:30px;padding:22px 22px 20px;color:var(--ink);background:radial-gradient(120% 90% at 85% 10%,color-mix(in srgb,var(--teal) 18%,var(--bg)) 0%,color-mix(in srgb,var(--teal) 7%,var(--bg)) 55%,var(--bg) 100%);border:1px solid color-mix(in srgb,var(--teal) 22%,var(--edge));box-shadow:var(--glass-hi),0 30px 70px color-mix(in srgb,var(--teal) 10%,transparent)}
.sess .contour{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.55}
.sess-row{display:flex;justify-content:space-between;align-items:center;position:relative}
.sess-k{font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}
.sess-t{position:relative;font:400 46px/1 var(--serif);letter-spacing:-.015em;margin:16px 0 6px}
.sess-m{position:relative;font:400 15px var(--sans);color:var(--soft)}
.sess-shape{position:relative;height:56px;margin:18px 0 16px}
.sess-shape svg{width:100%;height:100%;overflow:visible}
.sess-chips{position:relative;display:flex;flex-wrap:wrap;gap:8px}

/* the season board (Season, the land at page size) */
.season-board{position:relative;padding:clamp(20px,3vw,40px) clamp(16px,3vw,40px) clamp(18px,2.4vw,30px);overflow:hidden}
.season-board .count{position:absolute;left:clamp(20px,3.4vw,48px);top:clamp(16px,2.6vw,36px);z-index:2;display:flex;align-items:flex-end;gap:16px}
.count-n{font:400 clamp(5rem,3rem + 7vw,10rem)/.82 var(--serif);letter-spacing:-.04em;padding-right:.05em;background:linear-gradient(112deg,var(--ink) 38%,color-mix(in srgb,var(--gold) 82%,var(--ink)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.count-t{display:flex;flex-direction:column;padding-bottom:.5em}
.count-t span{font:400 .9375rem/1.2 var(--sans);color:var(--soft)}
.count-t b{font:400 clamp(1.8rem,1.3rem + 1.6vw,2.75rem)/1 var(--serif);font-weight:400;margin-top:4px}
.count-m{display:block;margin-top:10px;font:400 .875rem var(--sans);color:var(--soft)}
.season-board .land{margin-top:clamp(60px,9vw,120px)}
.phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:6px}
.phase{position:relative;text-align:left;background:none;border:0;padding:12px 4px 4px;cursor:pointer;color:var(--soft);border-radius:12px}
.phase i{display:block;height:5px;border-radius:3px;background:color-mix(in srgb,var(--c) 26%,transparent);margin-bottom:12px;transition:background .3s,box-shadow .3s}
.phase b{display:block;font:500 .9375rem/1.2 var(--sans);color:var(--ink)}
.phase span{display:block;font:400 .8125rem/1.4 var(--sans);color:var(--soft);margin-top:3px}
.phase[aria-pressed=true] i,.phase:hover i{background:var(--c)}
.phase[aria-pressed=true] b{color:var(--c)}
.phase-note{min-height:3.4em;margin-top:18px;font:400 1.0625rem/1.55 var(--sans);color:var(--ink-2);max-width:44em}
.phase-note b{font-weight:500;color:var(--ink)}

/* the poster card, as the way in draws it */
.card-stage{position:relative;width:362px;height:612px;flex:none;--k:1}
.card-scale{position:absolute;left:0;top:0;transform:scale(var(--k));transform-origin:0 0}
.cv{position:relative;width:362px;height:612px;border-radius:30px;overflow:hidden;color:#F7FBFC;--mx:0;--my:0;transform:perspective(1100px) rotateX(calc(var(--my) * -3.5deg)) rotateY(calc(var(--mx) * 5deg));will-change:transform;box-shadow:0 40px 80px rgba(40,34,100,.32),0 10px 24px rgba(40,34,100,.16)}
.cv::after{content:"";position:absolute;inset:0;border-radius:30px;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.1) 50%,transparent 65%);transform:translateX(-120%);animation:sheen 8s 4s ease-in-out infinite;pointer-events:none;z-index:9}
.cv>*{position:absolute}
.cv .bg0,.cv .bloom,.cv .grain{inset:0}
.cv .bg0{background:radial-gradient(120% 90% at 85% 30%,#141C22 0%,#0C1115 55%,#080B0E 100%)}
.cv .bloom{opacity:0;background:linear-gradient(180deg,rgba(6,9,12,.04),rgba(6,9,12,.46)),linear-gradient(100deg,#12AE99 0%,#1B88DA 36%,#7059E0 64%,#DB9B2A 100%);background-size:100% 100%,150% 100%;background-position:0 0,0% 0;transition:opacity 2.4s .1s;animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{from{background-position:0 0,0% 0}to{background-position:0 0,100% 0}}
.cv .sky{width:380px;height:380px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,228,170,.42),rgba(255,200,107,.12) 48%,rgba(255,200,107,0));opacity:0;mix-blend-mode:screen;pointer-events:none;transition:opacity 1.2s 1.95s}
.cv .grain{pointer-events:none;opacity:.16;mix-blend-mode:soft-light;z-index:7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.cv .gloss{inset:-20%;pointer-events:none;z-index:8;background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.16) 47%,rgba(255,255,255,.05) 55%,transparent 66%);transform:translateX(calc(var(--mx) * 16%)) translateY(calc(var(--my) * 6%));mix-blend-mode:soft-light}
.cv .frm{inset:9px;border-radius:22px;border:1px solid rgba(255,255,255,.26);pointer-events:none;z-index:9}
.cv .lay{inset:0;pointer-events:none}
.cv .lay>*{position:absolute}
.cv .lay.land-l,.cv .lay.flag-l{transform:translate3d(calc(var(--mx) * -4px),calc(var(--my) * -3px),0)}
.cv .lay.land-l{z-index:3}.cv .lay.flag-l{z-index:4}
.cv .lay.type{transform:translate3d(calc(var(--mx) * 6px),calc(var(--my) * 4px),0);z-index:5}
.cv .lay.top{transform:translate3d(calc(var(--mx) * 9px),calc(var(--my) * 7px),0);z-index:6}
.cv .dp0{transform:translate(calc(var(--mx) * -10px),calc(var(--my) * -4px))}
.cv .dp1{transform:translate(calc(var(--mx) * 2.5px),calc(var(--my) * 1.5px))}
.cv .dp2{transform:translate(calc(var(--mx) * 6px),calc(var(--my) * 3px))}
.cv .dp3{transform:translate(calc(var(--mx) * 10px),calc(var(--my) * 5px))}
.cv .sky{transform:translate(calc(var(--mx) * -8px),calc(var(--my) * -5px))}
.cv .hd{left:22px;right:22px;top:18px;bottom:auto;display:flex;justify-content:space-between;align-items:center;opacity:0;transition:opacity .6s .1s}
.cv .hd>*{position:static}
.cv .mk{display:flex;align-items:center;gap:8px}
.cv .wm{font:400 9px/1 var(--wide);letter-spacing:.42em;color:rgba(255,255,255,.82)}
.cv .me{display:flex;align-items:center;gap:10px}
.cv .ag{border:1.3px solid rgba(255,255,255,.8);border-radius:7px;padding:4px 7px 3px;font:500 11px/1 var(--sans);letter-spacing:.08em;transform:rotate(-5deg);opacity:0}
.cv .who{font:italic 400 24px/1 var(--serif)}
.cv .nm{left:22px;top:50px;width:240px;display:flex;flex-direction:column;font:400 54px/.92 var(--serif);letter-spacing:-.022em;text-shadow:0 1px 0 rgba(255,255,255,.16),0 10px 28px rgba(4,20,30,.2)}
.cv .nm span{display:block;white-space:nowrap;opacity:0;transform:translateY(14px);transition:opacity .8s,transform .8s var(--ease)}
.cv .nm span:nth-child(1){transition-delay:.2s}.cv .nm span:nth-child(2){transition-delay:.34s}
.cv .kd{left:23px;top:164px;display:flex;flex-direction:column;gap:9px;opacity:0;transform:translateY(8px);transition:opacity .6s .55s,transform .6s .55s}
.cv .kd>span:first-child{font:600 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.cv .legs{display:flex;gap:14px}
.cv .legs span{display:flex;align-items:center;gap:5px}
.cv .legs b{font:500 13.5px/1 var(--sans)}
.cv .legs .ic{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.6;opacity:.92}
.cv .dts{right:22px;display:flex;flex-direction:column;align-items:flex-end;text-align:right;opacity:0;transform:translateY(10px);transition:opacity .9s 2.3s,transform .9s 2.3s var(--ease)}
.cv .dts .w{font:600 9px/1 var(--sans);letter-spacing:.26em;margin-right:-.26em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.cv .dts .d{font:400 40px/1 var(--serif);letter-spacing:-.02em;margin:7px 0 6px;padding-right:.04em;white-space:nowrap;background:linear-gradient(112deg,#F7FBFC 38%,#FECD82 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 16px rgba(255,200,107,.3))}
.cv .dts .y{font:500 10px/1 var(--sans);letter-spacing:.32em;margin-right:-.32em;color:rgba(255,255,255,.76)}
.cv .cd{left:16px;top:208px;opacity:0;transition:opacity .5s .6s}
.cv .cdn{height:108px;overflow:hidden;filter:drop-shadow(0 0 26px rgba(255,200,107,.22))}
.cv .cdn i{display:block;height:108px;font:400 132px/122px var(--serif);font-style:normal;letter-spacing:-.04em;padding-right:.05em;white-space:nowrap;font-variant-numeric:tabular-nums;background:linear-gradient(112deg,#F7FBFC 38%,#FECD82 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.cv .cdt{display:flex;align-items:baseline;gap:7px;margin:8px 0 0 5px}
.cv .cdt span{font:400 14px/1 var(--sans);color:rgba(255,255,255,.86)}
.cv .cdt b{font:400 26px/1 var(--serif);font-weight:400}
.cv .land{position:absolute;left:0;top:0;display:block;overflow:visible}
.cv .ter{opacity:0;transition:opacity 1.2s .3s}
.cv .rt{stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 6px rgba(255,255,255,.7));transition:stroke-dashoffset 1.35s .7s cubic-bezier(.32,.72,.18,1)}
.cv .comet{stroke-dasharray:.05 1.2;stroke-dashoffset:.05;opacity:0;filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 16px rgba(255,236,190,.9))}
.cv .beam{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .7s 2.05s cubic-bezier(.3,.7,.2,1)}
.cv .beam.bl{transition-duration:1.1s}
.cv .pulse{opacity:0}
.cv .ticks path{opacity:0;transition:opacity .3s calc(.7s + var(--i) / var(--n) * 1.35s)}
.cv .tod{opacity:0;transition:opacity .6s .4s}
.cv .sum{opacity:.45;transition:opacity .8s 1.9s}
.cv .flare{opacity:0;transform-box:fill-box;transform-origin:center}
.cv .bd{opacity:0;transform-box:fill-box;transform-origin:50% 100%}
.cv .embers circle{opacity:0}
.cv .tdl{font:600 8.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.88);opacity:0;transition:opacity .5s .5s}
.cv .bdl{width:60px;text-align:center;font:600 10px/1 var(--sans);letter-spacing:.06em;color:#fff;opacity:0;transition:opacity .5s 1.65s}
.cv .breathe{transform-box:fill-box;transform-origin:center;animation:cbreathe 4.5s ease-in-out infinite}
@keyframes cbreathe{0%,100%{transform:scale(.92);opacity:.85}50%{transform:scale(1.08);opacity:1}}
.cv .ring{transform-box:fill-box;transform-origin:center;animation:cring 2.6s ease-out infinite}
@keyframes cring{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.3);opacity:0}}
.cv .phs{left:22px;right:22px;display:grid;gap:0;transform:translateY(-14px)}
.cv .phs::before,.cv .phs::after{content:"";position:absolute;top:-2px;width:9px;height:9px;border-radius:50%}
.cv .phs::before{left:-4px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.8)}
.cv .phs::after{right:-4px;background:#FFD98A;box-shadow:0 0 10px rgba(255,217,138,.9)}
.cv .phs>div{display:flex;flex-direction:column;min-width:0;padding-right:6px}
.cv .phs i{display:block;position:relative;height:5px;border-radius:3px;background:linear-gradient(90deg,rgba(255,255,255,.94) calc(var(--f) * 100%),rgba(255,255,255,.32) 0);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--d) cubic-bezier(.3,1,.4,1);margin:0 0 10px 8px}
.cv .phs>div:not(:first-child) i{margin-left:0}
.cv .phs span{display:flex;align-items:center;gap:5px;font:600 8.5px/1.1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.9);white-space:nowrap;opacity:0;transition:opacity .6s var(--d)}
.cv .ra{opacity:0;transition:opacity .8s 1.6s}
.cv .sig{left:24px;right:20px;bottom:17px;display:flex;justify-content:space-between;align-items:flex-end}
.cv .sgd{font:600 7.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.74);padding-bottom:7px}
.cv .sgn{font:400 37px/.9 var(--sign);color:#fff;padding:6px 8px 0 20px;text-shadow:0 0 14px rgba(255,255,255,.35);clip-path:inset(-30px 100% -30px 0)}
.cv.on .sgn{animation:write 1.7s 3.6s cubic-bezier(.5,.1,.5,1) forwards}
@keyframes write{from{clip-path:inset(-30px 100% -30px 0)}to{clip-path:inset(-30px 0 -30px 0)}}
.cv.on .bloom,.cv.on .hd,.cv.on .kd,.cv.on .cd,.cv.on .tdl,.cv.on .bdl,.cv.on .ter,.cv.on .tod,.cv.on .sum{opacity:1}
.cv.on .kd{transform:none}
.cv.on .nm span{opacity:1;transform:none}
.cv.on .sky{opacity:.95;animation:skyb 5s 3.4s ease-in-out infinite}
@keyframes skyb{0%,100%{opacity:.95}50%{opacity:.72}}
.cv.on .rt,.cv.on .beam{stroke-dashoffset:0}
.cv.on .comet{animation:comet 1.4s .66s cubic-bezier(.32,.72,.18,1) both}
@keyframes comet{0%{stroke-dashoffset:.05;opacity:1}88%{opacity:1}100%{stroke-dashoffset:-.99;opacity:0}}
.cv.on .ticks path{opacity:1}
.cv.on .flare{animation:flare 1.2s 2s ease-out both}
@keyframes flare{0%{transform:scale(.2);opacity:0}25%{opacity:.85}100%{transform:scale(3.4);opacity:0}}
.cv.on .bd{animation:pop .6s 1.55s cubic-bezier(.3,1.6,.4,1) both}
@keyframes pop{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}
.cv.on .embers circle{animation:ember 5s 2.3s linear infinite}
@keyframes ember{0%{transform:translate(0,0);opacity:0}15%{opacity:.9}100%{transform:translate(-4px,-62px);opacity:0}}
.cv.on .dts{opacity:1;transform:none}
.cv.on .ra{opacity:1}
.cv.on .pulse{animation:pulse 7s 3.6s ease-in-out infinite}
@keyframes pulse{0%{stroke-dasharray:.16 1.2;stroke-dashoffset:.16;opacity:0}12%{opacity:.85}55%,100%{stroke-dasharray:.16 1.2;stroke-dashoffset:-1;opacity:0}}
.cv.on .phs i{transform:scaleX(1)}
.cv.on .phs span{opacity:1}
.cv.on .ag{animation:stamp .6s 3.2s cubic-bezier(.3,1.6,.4,1) both}
@keyframes stamp{0%{transform:rotate(-14deg) scale(2.4);opacity:0}60%{opacity:1}100%{transform:rotate(-5deg) scale(1);opacity:1}}

/* the way in's first screen (the brand lock's stand-in for Act I) */
.a1 .a1ground{position:absolute;inset:0;background:linear-gradient(180deg,#0B0E12,#080A0D)}
.a1 .a1glow{position:absolute;left:50%;top:40%;width:520px;height:520px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(92,255,224,.13),transparent)}
.a1 .a1card{position:absolute;left:74px;top:62px;width:254px;height:426px;border-radius:22px;overflow:hidden;background:radial-gradient(120% 90% at 85% 30%,#141C22 0%,#0C1115 55%,#080B0E 100%);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 24px 60px rgba(0,0,0,.45)}
.a1 .a1sheet{position:absolute;left:0;right:0;top:496px;height:378px;border-radius:36px 36px 0 0;padding:26px 22px 0;background:rgba(20,24,28,.94);box-shadow:0 -1px 0 rgba(255,255,255,.08)}
.a1 .ey{font:400 11px/1.3 var(--sans);color:var(--soft)}
.a1 .q{font:400 30px/1.1 var(--serif);color:var(--ink);margin:6px 0 16px}
.a1 .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.a1 .tile{height:96px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;padding-bottom:10px;font:500 12px var(--sans);color:var(--ink);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.a1 .tile svg{width:38px;height:38px}
.a1 .later{font:400 12px var(--sans);color:var(--soft);margin-top:12px}
.a1 .acct{font:500 13px var(--sans);color:var(--ink);text-align:center;margin-top:22px;opacity:.8}
.t-paper .a1 .a1ground,.a1.t-paper .a1ground{background:linear-gradient(180deg,#F6F8FA,#E9EEF2)}
.t-paper .a1 .a1glow,.a1.t-paper .a1glow{background:radial-gradient(closest-side,rgba(0,160,140,.10),transparent)}
.t-paper .a1 .a1sheet,.a1.t-paper .a1sheet{background:rgba(255,255,255,.97);box-shadow:0 -10px 30px rgba(30,50,70,.08)}
.t-paper .a1 .tile,.a1.t-paper .tile{background:#fff;border:1px solid rgba(10,15,18,.08);box-shadow:0 6px 16px rgba(30,50,70,.06)}

/* FAQ */
.faq{max-width:60rem}
.faq-group + .faq-group{margin-top:clamp(56px,6vw,96px)}
.faq-group>h2{font:600 .7rem/1.2 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.qa{border-bottom:1px solid var(--hair)}
.qa summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;cursor:pointer;font:400 clamp(1.35rem,1.1rem + .9vw,1.9rem)/1.2 var(--serif);border-radius:8px}
.qa summary::-webkit-details-marker{display:none}
.qa summary .pm{position:relative;width:38px;height:38px;flex:none;border-radius:50%;background:#fff;border:1px solid var(--edge-ink);box-shadow:0 6px 16px rgba(60,52,120,.08);transition:transform .45s var(--spring),background .3s}
.qa summary .pm::before,.qa summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1.6px;margin:-.8px 0 0 -6.5px;border-radius:2px;background:var(--ink);transition:transform .45s var(--spring)}
.qa summary .pm::after{transform:rotate(90deg)}
.qa[open] summary .pm{transform:rotate(180deg);background:var(--ink)}
.qa[open] summary .pm::before,.qa[open] summary .pm::after{background:#fff}
.qa[open] summary .pm::after{transform:rotate(0)}
.qa .a{padding:0 0 28px;max-width:46em;color:var(--ink-2)}
.qa .a p + p{margin-top:.9em}
.qa .a a{color:var(--violet)}
/* on a wide screen the questions sit on the reading pages' grid: the group's name on the left, its questions beside it */
@media (min-width:961px){
  .faq{max-width:none}
  .faq-group{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);column-gap:clamp(24px,4vw,72px);border-top:1px solid var(--hair)}
  .faq-group>h2{grid-column:1;grid-row:1 / span 40;align-self:start;position:sticky;top:104px;margin:0;padding-top:31px;font:400 1.45rem/1.2 var(--serif);letter-spacing:0;text-transform:none;color:var(--ink)}
  .faq-group>.qa{grid-column:2}
  .faq-group>.qa:last-child{border-bottom:0}
}

/* press kit */
.press-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.tile{border-radius:28px;background:var(--glass);border:1px solid var(--edge);box-shadow:var(--glass-hi),var(--shadow-1);padding:26px;position:relative;overflow:hidden;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.tile h3{font:600 .68rem/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-bottom:18px}
.tile-6{grid-column:span 6}.tile-4{grid-column:span 4}.tile-8{grid-column:span 8}.tile-12{grid-column:span 12}
.logo-well{height:270px;border-radius:20px;display:grid;place-items:center;position:relative;overflow:hidden}
.logo-well.night{background:#0A0C0F}
.logo-well.day{background:#F1F4F6;border:1px solid rgba(0,0,0,.06)}
.logo-well.clear{background:transparent}
.logo-well .names{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px}
.logo-well .wm{font:400 15px/1 var(--wide);letter-spacing:.5em;margin-right:-.5em}
.logo-well .tl{font:italic 400 17px/1.1 var(--serif)}
.logo-well.night .wm{color:#F1F4F6}.logo-well.night .tl{color:rgba(241,244,246,.66)}
.logo-well.day .wm{color:#0A0F12}.logo-well.day .tl{color:#546678}
.dl{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.dl a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 15px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--edge-ink);font:500 .8125rem/1 var(--sans);text-decoration:none;color:var(--ink);transition:transform .35s var(--spring),box-shadow .3s}
.dl a:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(60,52,120,.12)}
.dl a svg{width:16px;height:16px;fill:none;stroke:var(--violet);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.swatch{border-radius:18px;overflow:hidden;border:1px solid var(--edge-ink);background:#fff}
.swatch i{display:block;height:84px}
.swatch span{display:block;padding:10px 12px;font:400 12px/1.5 var(--sans);color:var(--soft)}
.swatch b{display:block;font:500 13px var(--sans);color:var(--ink)}
.type-spec{display:flex;flex-direction:column;gap:22px}
.type-spec div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--hair)}
.type-spec div:last-child{border-bottom:0;padding-bottom:0}
.type-spec .s1{font:400 46px/1 var(--serif)}
.type-spec .s2{font:400 24px/1 var(--sans)}
.type-spec .s3{font:400 18px/1 var(--wide);letter-spacing:.5em}
.type-spec small{font:400 12.5px/1.4 var(--sans);color:var(--soft);text-align:right}
.facts{list-style:none;display:grid;gap:0}
.facts li{padding:14px 0;border-top:1px solid var(--hair)}
.facts b{display:block;font:600 .68rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.facts span{font:400 1rem/1.5 var(--sans);color:var(--ink)}
.boiler{font:400 clamp(1.3rem,1.05rem + .8vw,1.65rem)/1.45 var(--serif);color:var(--ink)}
.do-dont{list-style:none;display:flex;flex-direction:column;gap:10px}
.do-dont li{display:flex;gap:12px;font:400 15px/1.5 var(--sans);color:var(--ink-2)}
.do-dont li::before{content:"";flex:none;width:6px;height:6px;margin-top:.6em;border-radius:50%;background:var(--violet)}

/* the reading page: privacy, terms, support, legal notice */
.reading-head{position:relative;z-index:2;padding-block:calc(76px + clamp(40px,6vw,96px)) clamp(36px,4vw,56px)}
.reading-head .display-l{max-width:14em}
.reading-version{margin-top:18px;font:400 .9375rem var(--sans);color:var(--soft)}
.reading-top{position:relative;overflow:hidden;isolation:isolate}
.reading-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,4vw,72px);align-items:start;padding-bottom:24px;border-top:1px solid var(--hair);padding-top:clamp(32px,4vw,56px)}
.reading-grid>.prose:only-child{grid-column:2}
.toc{position:sticky;top:104px;max-height:calc(100vh - 128px);overflow:auto}
.toc summary{font:600 .68rem/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint);cursor:pointer;list-style:none;margin-bottom:14px}
.toc summary::-webkit-details-marker{display:none}
.toc ol{list-style:none;display:flex;flex-direction:column;gap:2px}
.toc a{display:block;padding:7px 12px;border-radius:12px;font:400 .875rem/1.35 var(--sans);color:var(--soft);text-decoration:none}
.toc a:hover{color:var(--ink);background:rgba(255,255,255,.6)}
.toc a.on{color:var(--ink);background:#fff;box-shadow:0 6px 16px rgba(60,52,120,.08)}
.prose{max-width:46rem;font:400 1.0625rem/1.75 var(--sans);color:var(--ink-2)}
.prose>*+*{margin-top:1.05em}
.prose h2{font:400 clamp(1.8rem,1.4rem + 1.4vw,2.6rem)/1.1 var(--serif);color:var(--ink);margin-top:2.2em;scroll-margin-top:104px;letter-spacing:-.012em}
.prose h3{font:500 1.125rem/1.4 var(--sans);color:var(--ink);margin-top:1.8em}
.prose h2+*,.prose h3+*{margin-top:.75em}
.prose strong{font-weight:500;color:var(--ink)}
.prose a{color:var(--violet)}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin-top:.55em}
.prose li::marker{color:var(--violet)}
.prose hr{border:0;height:1px;background:var(--hair);margin:2.2em 0}
.prose blockquote{padding:24px 26px;border-radius:24px;background:var(--glass);border:1px solid var(--edge);box-shadow:var(--glass-hi),var(--shadow-1)}
.prose blockquote h3{margin-top:0;font:400 1.55rem/1.2 var(--serif)}
.prose code{font:400 .9em ui-monospace,SFMono-Regular,Menlo,monospace;padding:.1em .35em;border-radius:6px;background:#fff}
.table-wrap{overflow-x:auto;border-radius:20px;border:1px solid var(--edge-ink);background:rgba(255,255,255,.55)}
.prose table{width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.55}
.prose th,.prose td{text-align:left;vertical-align:top;padding:14px 16px;border-top:1px solid var(--hair)}
.prose thead th{border-top:0;font:600 .68rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--soft);background:rgba(255,255,255,.7)}
.prose tbody th{font-weight:500;color:var(--ink);min-width:12em}
.site-part{padding:28px 28px 26px;border-radius:26px;background:#fff;border:1px solid var(--edge-ink);box-shadow:var(--shadow-1);margin-bottom:2.4em}
.site-part h2{margin-top:0!important;font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem)!important}
.site-part .draft{display:inline-block;margin-top:14px;font:500 .75rem/1 var(--sans);letter-spacing:.06em;color:var(--gold)}
.app-part-k{font:600 .7rem/1.2 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--faint)}
.fill{display:inline-block;padding:.05em .45em;border-radius:6px;background:color-mix(in srgb,var(--amber) 12%,#fff);border:1px dashed color-mix(in srgb,var(--amber) 60%,transparent);color:var(--ink);font-size:.95em}

/* 404 */
.lost{min-height:84vh;display:flex;align-items:center}

/* ============================================================================================================
   RESPONSIVE
   ============================================================================================================ */
@media (max-width:1100px){
  .footer-grid{grid-template-columns:repeat(4,1fr)}
  .footer-brand{grid-column:1 / -1}
}
/* on a shorter screen the opening's phone comes down a size, so its day and night switch stays in the first view */
@media (min-width:961px) and (max-height:860px){.hero .phone{--s:.64!important}}
@media (min-width:961px) and (max-height:760px){.hero .phone{--s:.56!important}}
@media (max-width:960px){
  .site-nav{display:none}
  .menu-open{display:inline-flex}
  .hero{min-height:0;padding-top:calc(76px + 40px)}
  .hero-grid,.page-hero-grid,.feature,.rests,.easy,.card-spread,.demo{grid-template-columns:minmax(0,1fr)}
  .pair .phone{--s:.5!important}
  .pair.crop{--ps:.5}
  .feature.flip .feature-copy{order:0}
  .hero-app{margin-top:28px}
  .demo-left{position:static}
  .chapters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .act{grid-template-columns:1fr;gap:10px}
  .tile-6,.tile-4,.tile-8{grid-column:span 12}
  .reading-grid{grid-template-columns:minmax(0,1fr)}
  .reading-grid>.prose:only-child{grid-column:1}
  .toc{position:static;max-height:none;padding:16px 18px;border-radius:20px;background:#fff;border:1px solid var(--edge-ink)}
  .toc summary{margin-bottom:0}
  .toc details[open] summary{margin-bottom:12px}
  .easy-bars{grid-template-columns:repeat(25,1fr);height:56px}
  .trust{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:1rem}
  .hero-title{font-size:clamp(3.7rem,17vw,5.4rem)}
  .hero-acts{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .footer-base p:first-child{margin-right:0;width:100%}
  .chapters{grid-template-columns:1fr}
  .week-days{height:120px}
  .changes{min-height:0}
  .logo-well{height:220px}
  .type-spec div{flex-direction:column;align-items:flex-start;gap:8px}
  .type-spec small{text-align:left}
  .switch button{min-width:92px}
  .pair .phone{--s:.42!important}
  .pair.crop{--ps:.42}
  .pair-tags{gap:96px}
  .scroll-cue{display:none}
}

/* ============================================================================================================
   REDUCE MOTION: everything at rest, nothing moves on its own
   ============================================================================================================ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js [data-reveal]{opacity:1;transform:none}
  .js .hero-title .w,.js .hero .hero-line,.js .hero .hero-acts,.js .hero-app,.js .brand-word{opacity:1;filter:none;transform:none;animation:none}
  .js .brand-mark{clip-path:none;animation:none}
  .js .brand-sheen{animation:none}
  .btn::after,.cv::after,.status i::after,.scroll-cue::after{display:none}
  .cv .comet,.cv .pulse,.cv .embers{display:none}
}
:root[data-motion=reduce]{scroll-behavior:auto}
:root[data-motion=reduce] *,:root[data-motion=reduce] *::before,:root[data-motion=reduce] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}
:root[data-motion=reduce] [data-reveal]{opacity:1!important;transform:none!important}
:root[data-motion=reduce] .hero-title .w,:root[data-motion=reduce] .hero-line,:root[data-motion=reduce] .hero-acts,:root[data-motion=reduce] .hero-app,:root[data-motion=reduce] .brand-word{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}
:root[data-motion=reduce] .brand-mark{clip-path:none!important;animation:none!important}
:root[data-motion=reduce] .btn::after,:root[data-motion=reduce] .cv::after,:root[data-motion=reduce] .status i::after,:root[data-motion=reduce] .cv .comet,:root[data-motion=reduce] .cv .pulse,:root[data-motion=reduce] .cv .embers,:root[data-motion=reduce] .scroll-cue::after{display:none}

@media print{
  .site-header,.foot-silk,.menu-open,.toc,.silk,.silk-wrap{display:none}
  body{background:#fff;color:#000}
}

/* the split's layers: the same card by night and by day, one over the other */
.split .layer{background:transparent!important}
.split .layer-night{position:absolute;inset:0}
.split .sess{min-height:300px}

/* ============================================================================================================
   PAGE TRANSITIONS: pages flow into one another; the header stays where it is
   ============================================================================================================ */
@view-transition{navigation:auto}
.site-header{view-transition-name:site-header}
::view-transition-old(root){animation:vt-out .32s cubic-bezier(.65,0,.25,1) both}
::view-transition-new(root){animation:vt-in .62s cubic-bezier(.2,.7,.2,1) both}
::view-transition-group(site-header){animation-duration:.4s}
@keyframes vt-out{to{opacity:0;transform:scale(.988);filter:blur(6px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(16px);filter:blur(8px)}}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
:root[data-motion=reduce]::view-transition-group(*),:root[data-motion=reduce]::view-transition-old(*),:root[data-motion=reduce]::view-transition-new(*){animation:none!important}

/* ============================================================================================================
   THE CARD ASSEMBLES: her answers fly into her season card, one by one, as you scroll
   ============================================================================================================ */
.assemble{position:relative}
.assemble-stage{position:relative;padding-block:var(--section) 0}
.assemble-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,72px);align-items:center}
.assemble-copy .display-m{margin-bottom:clamp(22px,2.6vw,36px)}
.answers{list-style:none;display:flex;flex-direction:column}
.answer{position:relative;display:grid;grid-template-columns:28px 1fr;gap:2px 14px;padding:14px 0;border-top:1px solid var(--hair);opacity:.34;transition:opacity .5s var(--ease)}
.answer:last-child{border-bottom:1px solid var(--hair)}
.answer.on{opacity:1}
.answer .tick{grid-row:span 2;align-self:center;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1.4px solid var(--hair);transition:background .5s,border-color .5s,transform .5s var(--spring)}
.answer .tick svg{width:13px;height:13px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .4s}
.answer.on .tick{background:var(--silk);border-color:transparent;transform:scale(1.06)}
.answer.on .tick svg{opacity:1}
.answer small{font:600 .66rem/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.answer b{font:400 clamp(1.25rem,1rem + .8vw,1.7rem)/1.2 var(--serif);font-weight:400;color:var(--ink)}
.answer b em{font-style:normal;font:400 .8125rem/1 var(--sans);color:var(--soft);margin-left:8px}
.assemble-card{position:relative;display:flex;justify-content:center}
.fly{position:fixed;left:0;top:0;z-index:60;pointer-events:none;padding:8px 14px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--edge-ink);box-shadow:0 14px 34px rgba(60,52,120,.22);font:400 1.05rem/1 var(--serif);color:var(--ink);white-space:nowrap}
.assemble-card{flex-direction:column;align-items:center;gap:22px}
.again{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:var(--r-pill);background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.9);box-shadow:var(--glass-hi),0 10px 26px rgba(60,52,120,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font:500 .875rem/1 var(--sans);color:var(--ink);cursor:pointer;transition:transform .35s var(--spring),opacity .4s}
.again:hover{transform:translateY(-1px)}
.again[hidden]{display:inline-flex;visibility:hidden;opacity:0;pointer-events:none}
.again svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* the card in pieces: each answer lights its own part */
.cv.build .nm span,.cv.build .kd,.cv.build .dts,.cv.build .cd,.cv.build .ter,.cv.build .tod,.cv.build .sum,.cv.build .tdl,.cv.build .bdl,.cv.build .phs i,.cv.build .phs span,.cv.build .rt,.cv.build .beam,.cv.build .ticks path,.cv.build .sky,.cv.build .bloom,.cv.build .hd{transition-delay:0s!important}
.cv.build .bloom{transition-duration:1.2s}
.cv.s1 .bloom,.cv.s1 .hd{opacity:1}
.cv.s1 .kd{opacity:1;transform:none}
.cv.s2 .nm span{opacity:1;transform:none}
.cv.s3 .dts{opacity:1;transform:none}
.cv.s3 .cd{opacity:1}
.cv.s3 .sky{opacity:.95}
.cv.s3 .beam{stroke-dashoffset:0}
.cv.s4 .ter,.cv.s4 .tod,.cv.s4 .sum,.cv.s4 .tdl,.cv.s4 .bdl{opacity:1}
.cv.s4 .rt{stroke-dashoffset:0}
.cv.s4 .ticks path{opacity:1}
.cv.s4 .phs i{transform:scaleX(1)}
.cv.s4 .phs span{opacity:1}
.cv.s4 .bd{animation:pop .6s .4s cubic-bezier(.3,1.6,.4,1) both}
.cv.s5 .sgn{animation:write 1.5s .15s cubic-bezier(.5,.1,.5,1) forwards}
.cv.s5 .ag{animation:stamp .6s .9s cubic-bezier(.3,1.6,.4,1) both}
@media (max-width:960px){
  .assemble-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .assemble-copy .display-m{font-size:clamp(1.8rem,7vw,2.4rem);margin-bottom:12px}
  .answers{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
  .answer{padding:9px 0;grid-template-columns:22px 1fr}
  .answer .tick{width:20px;height:20px}
  .answer b{font-size:1.05rem}
  .answer b em{display:none}
}

/* ---------- concepts for the sport statement (24 October 2026): drafts to compare ---------- */
/* an athlete made of silk, in the opening */
.hero-athlete{position:relative;height:min(82vh,760px);min-height:400px;margin-right:calc(-1 * clamp(20px,4vw,60px));z-index:2}
.hero-athlete canvas{position:absolute;inset:0;width:100%;height:100%}
.phone-section .hero-app{margin-inline:auto}
/* sports in colour blocks */
.blocks{list-style:none}
.block{position:relative;overflow:hidden;isolation:isolate;height:clamp(150px,24vh,250px);display:flex;align-items:center;padding-inline:var(--gutter,clamp(20px,4.4vw,64px));color:#fff;background:radial-gradient(120% 160% at 18% -10%,rgba(255,255,255,.26),transparent 52%),linear-gradient(100deg,var(--c1),var(--c2))}
.block.tri{background:radial-gradient(120% 160% at 18% -10%,rgba(255,255,255,.26),transparent 52%),linear-gradient(100deg,#1765C4 0%,#C66E14 52%,#0B8F81 100%)}
.bname{position:relative;z-index:3;font:italic 400 clamp(3.6rem,10.5vw,10rem)/.9 var(--serif);letter-spacing:-.02em;padding-right:.1em;text-shadow:0 14px 40px rgba(0,0,0,.14)}
.bfig{position:absolute;z-index:2;bottom:9%;height:80%;left:0;color:#fff;overflow:visible}
.bfig[data-athlete=run]{aspect-ratio:88/120}.bfig[data-athlete=bike]{aspect-ratio:1}.bfig[data-athlete=swim]{aspect-ratio:140/42;height:42%;bottom:24%}
.bfig[data-athlete=press]{aspect-ratio:88/106;left:auto;right:9%}.bfig[data-athlete=tri]{aspect-ratio:392/96;height:56%;left:auto;right:5%;bottom:18%}
/* sport words in motion */
.sport-words{padding-block:clamp(36px,5vw,80px);overflow:hidden}
.words-row{overflow:hidden;white-space:nowrap;line-height:1}
.words-track{display:inline-flex;align-items:center;gap:clamp(16px,2.2vw,36px);will-change:transform}
.words-row .w{font:italic 400 clamp(4.4rem,12.5vw,12.5rem)/1.06 var(--serif);letter-spacing:-.02em;padding-right:.12em;background:var(--wg);-webkit-background-clip:text;background-clip:text;color:transparent}
.w-run{--wg:linear-gradient(100deg,#0B8F81,#46C9B6)}.w-ride{--wg:linear-gradient(100deg,#C66E14,#F2C36B)}.w-swim{--wg:linear-gradient(100deg,#1765C4,#5AA9FF)}.w-tri{--wg:linear-gradient(100deg,#1B88DA,#E08A2A,#0FA090)}.w-str{--wg:linear-gradient(100deg,#5539C2,#A08CFF)}
.words-row.outline .w{background:none;-webkit-text-stroke:1.4px rgba(11,15,20,.26);color:transparent}
.wfig{height:clamp(54px,8.6vw,124px);flex:none;color:var(--ink);overflow:visible}
.wfig[data-athlete=run]{aspect-ratio:88/120}.wfig[data-athlete=bike]{aspect-ratio:1}.wfig[data-athlete=swim]{aspect-ratio:140/42;height:clamp(30px,4.6vw,66px)}.wfig[data-athlete=press]{aspect-ratio:88/106}.wfig[data-athlete=tri]{aspect-ratio:392/96;height:clamp(40px,6vw,88px)}
.words-row.outline .wfig{color:rgba(11,15,20,.4)}
@media (max-width:960px){.hero-athlete{height:58vh;min-height:320px;margin-top:20px}}
@media (max-width:640px){.block.tri{align-items:flex-start;padding-top:22px}.bfig[data-athlete=tri]{height:34%;bottom:9%;right:4%}}

/* ---------- three looks in place of the silk (24 October 2026): drafts to compare ---------- */
.look .pearl,.look :is(.hero,.page-hero,.reading-top).pearl,.look .foot-silk.pearl{background:var(--bg)}
.look .silk-text,.look .site-menu-main a[aria-current=page]{background:none;-webkit-text-fill-color:currentColor;color:var(--look-accent,var(--ink))}
.look-hero>.look-art{position:absolute;inset:0;z-index:0;pointer-events:none;-webkit-mask-image:linear-gradient(#000 calc(100% - var(--melt)),transparent);mask-image:linear-gradient(#000 calc(100% - var(--melt)),transparent)}
.look-art>canvas,.look-art>svg{position:absolute;inset:0;width:100%;height:100%;display:block}
/* the race map */
.look-map{--look-accent:var(--run)}
.rm-label{font:600 9.5px/1 var(--sans);letter-spacing:.2em;fill:var(--ink);paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}
.rm-num{font:600 9.5px/1 var(--sans);text-anchor:middle;dominant-baseline:central}
.rm-mark{opacity:0;transition:opacity .5s var(--ease)}
.rm-mark.on{opacity:1}
.rm-chip{filter:drop-shadow(0 3px 6px rgba(11,15,20,.18))}
.profile-band{position:relative;height:clamp(280px,32vw,440px)}
.profile-band>svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}
.pf-name{font:600 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.pf-n{font:400 120px/1 var(--serif);letter-spacing:-.03em}
.pf-km{font:500 15px/1 var(--sans)}
.pf-small{font:500 10px/1 var(--sans);letter-spacing:.12em;fill:var(--faint)}
@media (max-width:960px){.look-map .look-hero{padding-bottom:260px}}
/* lanes and lines */
body.look-lanes{--bg:#F8F8F6;--look-accent:var(--run)}
.ln-num{font:400 48px/1 Michroma,var(--sans);text-anchor:middle;dominant-baseline:central;opacity:0;transition:opacity .6s var(--ease)}
.ln-nums.on .ln-num{opacity:1}
@media (max-width:960px){.look-lanes .look-hero{padding-bottom:220px}}
/* ---------- the app up front (24 October 2026): a concept to compare ---------- */
.front-hero{background:radial-gradient(42% 52% at 76% 44%,rgba(0,190,165,.10),transparent 70%),var(--bg)}
.front-land{position:absolute;left:0;right:0;bottom:clamp(0px,2.2vh,26px);z-index:0;pointer-events:none}
.front-land svg{display:block;width:100%;height:auto;overflow:visible}
.front-acts{gap:14px 14px}
.front-status{display:flex;margin-top:20px}
.js .hero .front-status{opacity:0;animation:rise .9s var(--d,1s) var(--ease) forwards}
.fs-card{position:absolute;z-index:3;left:-128px;bottom:118px;width:272px;border-radius:28px;overflow:hidden;color:#F1F4F6;background:radial-gradient(130% 90% at 100% 0%,rgba(92,255,224,.30),transparent 55%),radial-gradient(90% 70% at 0% 100%,rgba(59,107,255,.22),transparent 60%),linear-gradient(165deg,#0F3B3E 0%,#0B2530 50%,#0B1519 100%);border:1px solid rgba(92,255,224,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 30px 70px rgba(0,110,100,.30),0 8px 20px rgba(11,15,20,.16)}
.fs-contour{position:absolute;inset:0;width:100%;height:100%}
.fs-in{position:relative;padding:20px 20px 18px}
.fs-row1{display:flex;justify-content:space-between;align-items:center}
.fs-sec{font:500 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(241,244,246,.62)}
.fs-ic{width:20px;height:20px;fill:none;stroke:var(--teal);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fs-t{font:400 42px/1 var(--serif);margin:12px 0 5px;letter-spacing:-.012em}
.fs-m{font:400 14px var(--sans);color:rgba(241,244,246,.62);font-variant-numeric:tabular-nums}
.fs-effort{display:block;width:100%;height:50px;margin-top:14px;overflow:visible}
.fs-eline{filter:drop-shadow(0 0 6px var(--teal))}
.fs-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.fs-chips span{font:400 12.5px var(--sans);padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-variant-numeric:tabular-nums}
.js .fs-card{opacity:0;transform:translateY(28px);animation:fsin 1.1s 1.7s var(--spring) forwards}
@keyframes fsin{to{opacity:1;transform:none}}
/* the night of effort */
.effort{position:relative;overflow:hidden;padding:clamp(80px,9vw,140px) 0 clamp(70px,8vw,120px)}
.effort-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 70% at 88% 6%,rgba(92,255,224,.16),transparent 62%),radial-gradient(50% 60% at 4% 96%,rgba(59,107,255,.15),transparent 60%)}
.effort .wrap{position:relative}
.effort-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px 40px;flex-wrap:wrap}
.effort-k{font:500 .72rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--teal)}
.effort-t{font:400 clamp(4rem,2rem + 7vw,9.5rem)/.88 var(--serif);letter-spacing:-.03em;margin:18px 0 12px}
.effort-m{font:400 clamp(1rem,.9rem + .4vw,1.3rem) var(--sans);color:var(--soft);font-variant-numeric:tabular-nums}
.effort-reads{list-style:none;display:flex;gap:12px;flex-wrap:wrap;padding:0;margin:0}
.effort-reads li{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;min-width:140px;padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.effort-reads i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}
.effort-reads span{font:400 .8125rem var(--sans);color:var(--soft)}
.effort-reads b{grid-column:1 / -1;font:400 1.75rem/1 var(--serif);font-weight:400;font-variant-numeric:tabular-nums}
.effort-graph{position:relative;height:clamp(190px,22vw,300px);margin-top:clamp(44px,5vw,76px)}
.effort-graph svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.eg-tick{font:500 10px var(--sans);letter-spacing:.08em;fill:rgba(241,244,246,.35)}
.effort-steps{list-style:none;display:flex;padding:0;margin:20px 0 0;border-top:1px solid rgba(255,255,255,.1)}
.effort-steps li{display:flex;flex-direction:column;gap:7px;padding:18px 16px 0 0;min-width:0}
.effort-steps b{font:500 .95rem var(--sans)}
.effort-steps span{font:400 1.7rem/1 var(--serif)}
.effort-steps em{font:400 .875rem var(--sans);font-style:normal;color:var(--soft);font-variant-numeric:tabular-nums}
.effort-steps li.hi{padding-left:16px;border-left:1px solid rgba(92,255,224,.4)}
.effort-steps li.hi b,.effort-steps li.hi span{color:var(--teal)}
/* the season, by night */
.season-night{position:relative;padding:clamp(70px,8vw,120px) 0;background:radial-gradient(50% 60% at 90% 30%,rgba(255,200,107,.08),transparent 60%),var(--bg)}
.season-night .season-board{border-radius:var(--r-l,34px);background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
@media (max-width:960px){
  .front-hero{padding-bottom:230px}
  .fs-card{left:auto;right:-8px;bottom:96px;width:250px}
  .fs-t{font-size:38px}
  .effort-steps li.hi{min-width:150px}
}
@media (max-width:640px){.fs-card{width:214px;right:-14px;bottom:88px}.fs-in{padding:16px 16px 14px}.fs-t{font-size:32px}.fs-chips span{font-size:11.5px}}
/* ---------- a week with RYHUS (24 October 2026): the home page's story, a concept ---------- */
.tag{display:inline-flex;align-items:center;gap:12px;font:500 .8125rem/1 var(--sans);color:var(--soft)}
.tag b{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;background:var(--ink);color:#fff;font:600 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.tag-night b{background:var(--teal);color:#05110F}
.chapter-s,.week-story{position:relative;padding:clamp(90px,10vw,150px) 0}
.ch-head{max-width:880px}
.ch-t{font:400 clamp(3rem,1.8rem + 4.4vw,6.2rem)/.95 var(--serif);letter-spacing:-.025em;margin-top:24px;text-wrap:balance}
.ch-l{margin-top:22px;font:400 clamp(1.08rem,.98rem + .35vw,1.3rem)/1.5 var(--sans);color:var(--ink-2);max-width:34em}
.ch-more{margin-top:36px}
.doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:clamp(40px,5vw,64px)}
.door{position:relative;overflow:hidden;padding:28px 28px 22px;border-radius:30px;background:rgba(255,255,255,.72);border:1px solid var(--edge);box-shadow:var(--glass-hi),0 24px 60px rgba(60,52,120,.08)}
.door-k{display:flex;align-items:center;gap:10px;font:600 .7rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}
.door-dot{width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}
.door-t{font:400 clamp(2.3rem,1.6rem + 1.9vw,3.5rem)/1 var(--serif);letter-spacing:-.02em;margin-top:18px}
.door-m{margin-top:10px;font:400 1rem var(--sans);color:var(--soft);font-variant-numeric:tabular-nums}
.door-land{margin:18px -28px 0}
.door-f{margin-top:4px;font:400 .875rem var(--sans);color:var(--faint)}
.ws-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,80px);margin-top:clamp(20px,3vw,40px)}
.day{min-height:76vh;display:flex;flex-direction:column;justify-content:center;padding:40px 0;opacity:.28;transition:opacity .5s var(--ease)}
.day.is-on{opacity:1}
.day-t{font:400 clamp(2.6rem,1.6rem + 3vw,4.6rem)/.98 var(--serif);letter-spacing:-.022em;margin-top:20px;text-wrap:balance}
.day-l{margin-top:16px;font:400 1.1rem/1.55 var(--sans);color:var(--ink-2);max-width:30em;text-wrap:pretty}
.piece{margin-top:28px;max-width:430px;padding:20px 22px;border-radius:24px}
.piece-k{display:flex;align-items:center;gap:8px;font:500 .8125rem var(--sans);color:var(--soft)}
.piece-k::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.piece-t{font:400 1.75rem/1.12 var(--serif);margin-top:8px;text-wrap:balance}
.piece-s{margin-top:6px;font:400 .95rem var(--sans);color:var(--soft)}
.piece-line{font:400 1.25rem/1.3 var(--serif)}
.piece-why{margin-top:14px;padding-top:14px;border-top:1px solid var(--hair);font:400 .95rem/1.5 var(--sans);color:var(--ink-2)}
.piece-rule{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-top:10px;font:400 .875rem var(--sans);color:var(--soft)}
.piece-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:16px}
.piece-days span{height:42px;border-radius:12px;display:grid;place-items:center;font:500 .8125rem var(--sans);background:var(--glass-2);border:1px solid var(--edge);color:var(--soft)}
.piece-days .here{color:var(--ink);border-style:dashed;border-color:var(--faint)}
.piece-days .pick{background:color-mix(in srgb,var(--run) 14%,#fff);border-color:var(--run);color:var(--run);box-shadow:0 0 0 1.5px var(--run) inset}
.piece-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 20px;margin-top:16px;border-radius:999px;background:linear-gradient(135deg,#0A9A88 0%,#007E6C 50%,#0B6F7E 100%);color:#fff;font:500 .95rem var(--sans);box-shadow:0 10px 24px rgba(0,126,108,.22)}
.piece-btn.ghost{background:var(--glass-2);color:var(--ink);border:1px solid var(--edge);box-shadow:none}
.piece-acts{display:flex;gap:8px;flex-wrap:wrap}
.piece-note{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--teal) 9%,#fff);border:1px solid color-mix(in srgb,var(--teal) 22%,transparent);font:400 .9rem/1.4 var(--sans)}
.piece-note b{font-weight:500}.piece-note span{color:var(--violet);font-weight:500}
.piece-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.piece-tiles span{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:16px;background:var(--glass-2);border:1px solid var(--edge);font:400 .85rem var(--sans);color:var(--soft)}
.piece-tiles b{font:500 1rem var(--sans);color:var(--ink)}
.piece-tiles .on{border-color:var(--ph2);box-shadow:0 0 0 1.5px var(--ph2) inset;background:color-mix(in srgb,var(--ph2) 7%,#fff)}
.piece-row{margin-top:8px;font:400 .95rem var(--sans);color:var(--ink-2)}
.ws-stick{position:sticky;top:104px;display:flex;flex-direction:column;gap:16px}
.ws-stick .changes h3{font-size:30px}
.ws-stick .week-days{height:118px}
.ws-stick .change-t{font-size:19px}
.effort-why{margin-top:34px;padding:18px 22px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);max-width:600px}
.effort-why p:first-child{font:400 1.4rem/1.3 var(--serif)}
.effort .tag{margin-bottom:4px}
.sun-board{margin-top:clamp(36px,4vw,56px);padding:22px 0 16px;border-radius:30px;overflow:hidden}
.sun-switch{display:inline-flex;margin:0 22px;padding:4px;border-radius:999px;background:var(--glass-2);border:1px solid var(--edge)}
.sun-switch button{height:38px;padding:0 16px;border:0;border-radius:999px;background:none;font:500 .875rem var(--sans);color:var(--soft);cursor:pointer}
.sun-switch button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 4px 14px rgba(60,52,120,.12)}
.sun-land{margin-top:14px}
.finale{position:relative;padding:clamp(90px,10vw,150px) 0;background:radial-gradient(50% 60% at 85% 18%,rgba(255,200,107,.13),transparent 60%),radial-gradient(45% 55% at 8% 92%,rgba(92,255,224,.08),transparent 60%),var(--bg)}
.finale-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:clamp(40px,5vw,64px)}
.fin{position:relative;padding:30px 0 20px;border-radius:30px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);overflow:hidden}
.fin .count{display:flex;align-items:flex-end;gap:14px;padding:0 30px}
.fin .count-n{font-size:clamp(4.4rem,2.6rem + 4vw,7.5rem)}
.fin-land{margin-top:6px}
.fin .door-f{padding:0 30px}
@media (max-width:960px){.ws-grid,.doors,.finale-grid{grid-template-columns:minmax(0,1fr)}.ws-side{display:none}.day{min-height:0;opacity:1;padding:26px 0}}
/* the week, on the app's own week card (Today's lock, wk7), by night */
.appwk-zoom{zoom:1.22}
.appwk{position:relative;width:368px;padding:20px 20px 16px;border-radius:30px;color:var(--ink);background:radial-gradient(120% 60% at 100% 0%,rgba(92,255,224,.08),transparent 60%),linear-gradient(180deg,#151B20 0%,#0E1216 100%);border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 30px 70px rgba(11,15,20,.30),0 8px 22px rgba(11,15,20,.18)}
.appwk .ic,.sheet .ic,.ses .ic{stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.appwk .whead{display:flex;justify-content:space-between;align-items:center;padding:0 2px}
.appwk .sec{font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--soft)}
.appwk .wdates{font:400 13px var(--sans);color:var(--soft)}
.w7nums{display:flex;align-items:flex-end;gap:26px;margin-top:12px;padding:0 2px}
.w7nums div{display:flex;flex-direction:column;gap:4px}
.w7nums b{font:300 32px/1 var(--sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.w7nums span{font:400 12.5px var(--sans);color:var(--soft)}
.w7sp{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 2px}
.w7sp span{display:inline-flex;align-items:center;gap:7px;font:400 12.5px var(--sans);color:var(--soft);padding:6px 10px 6px 8px;border-radius:999px;background:color-mix(in srgb,var(--c) 10%,transparent);font-variant-numeric:tabular-nums}
.w7sp span .ic{width:14px;height:14px;color:var(--c)}
.w7sp span b{color:var(--ink);font-weight:400}
.w7{position:relative;margin-top:12px;padding-right:26px}
.w7lens{position:absolute;top:-6px;bottom:-4px;width:42px;border-radius:18px;transition:left .45s cubic-bezier(.3,1.2,.4,1);pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.w7plot{position:relative;height:136px}
.w7grid{position:absolute;left:0;right:-26px;height:1px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--soft) 30%,transparent) 0 3px,transparent 3px 7px)}
.w7grid span{position:absolute;right:0;top:-7px;line-height:14px;font:400 11px var(--sans);color:var(--soft);opacity:.75}
.w7base{position:absolute;left:0;right:-26px;bottom:0;height:1px;background:color-mix(in srgb,var(--soft) 35%,transparent)}
.w7cols{position:absolute;inset:0;display:flex;justify-content:space-between}
.w7l{width:42px;height:100%;display:flex;flex-direction:column-reverse;align-items:center;gap:3px;padding:0 0 3px;position:relative}
.w7l.today::before{content:"";position:absolute;inset:-6px 0 -48px;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--teal) 14%,transparent),color-mix(in srgb,var(--teal) 4%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--teal) 22%,transparent);pointer-events:none}
.sg{display:flex;align-items:flex-start;justify-content:center;width:26px;border-radius:10px;flex:none;position:relative;transform-origin:50% 100%;animation:sgrow .75s cubic-bezier(.3,1.25,.5,1) backwards}
.sg.still{animation:none}
@keyframes sgrow{from{transform:scaleY(0);opacity:0}}
.sg .ic{width:13px;height:13px;margin-top:6px;stroke-width:2;position:relative;z-index:1}
.sg.done{background:linear-gradient(180deg,color-mix(in srgb,var(--c) 78%,#fff),var(--c) 55%,color-mix(in srgb,var(--c) 85%,#000));box-shadow:0 4px 14px color-mix(in srgb,var(--c) 35%,transparent),inset 0 1px 0 rgba(255,255,255,.45)}
.sg.done .ic{color:color-mix(in srgb,var(--c) 30%,#000)}
.sg.done::after{content:"";position:absolute;left:4px;top:4px;bottom:6px;width:3px;border-radius:3px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0))}
.sg.today{background:linear-gradient(180deg,color-mix(in srgb,var(--c) 50%,transparent),color-mix(in srgb,var(--c) 28%,transparent));box-shadow:inset 0 0 0 1.5px var(--c),0 0 18px color-mix(in srgb,var(--c) 55%,transparent);overflow:hidden}
.sg.today .ic{color:var(--c)}
.sg.today::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateY(-120%);animation:sgsheen 3.4s 1.4s ease-in-out infinite}
@keyframes sgsheen{0%{transform:translateY(120%)}45%,100%{transform:translateY(-120%)}}
.sg.plan{background:color-mix(in srgb,var(--c) 11%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c) 55%,transparent)}
.sg.plan .ic{color:color-mix(in srgb,var(--c) 85%,transparent)}
.sg.brick.done{background:linear-gradient(0deg,var(--c1) 0 var(--p),var(--c2) var(--p) 100%);box-shadow:0 4px 14px color-mix(in srgb,var(--c1) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.45)}
.sg.brick.plan,.sg.brick.today{background:linear-gradient(0deg,color-mix(in srgb,var(--c1) 14%,transparent) 0 var(--p),color-mix(in srgb,var(--c2) 14%,transparent) var(--p) 100%);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c1) 55%,transparent)}
.sg.brick i.cut{position:absolute;left:3px;right:3px;bottom:var(--p);height:2px;border-radius:2px;background:#0E1216;opacity:.9}
.w7rest{width:16px;height:16px;color:var(--soft);opacity:.45;margin-bottom:2px}
.w7rest .ic{width:16px;height:16px}
.w7labs{display:flex;justify-content:space-between;margin-top:10px}
.w7lab{width:42px;display:flex;flex-direction:column;align-items:center;gap:3px}
.w7lab .ld{font:500 11px var(--sans);color:var(--soft);letter-spacing:.06em}
.w7lab .ln{font:400 15px var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.w7lab .lk{height:12px;display:flex;align-items:center;justify-content:center;color:var(--teal)}
.w7lab .lk .ic{width:12px;height:12px;stroke-width:2.6}
.w7lab .lk i{width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal)}
.w7lab.today .ld,.w7lab.today .ln{color:var(--teal)}
.w7det{margin-top:10px;border-radius:20px;padding:12px 14px 6px;background:rgba(255,255,255,.035)}
.w7dh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.w7dh b{font:400 20px/1.1 var(--serif);font-weight:400}
.w7dh b em{font:500 12px var(--sans);font-style:normal;color:var(--teal);margin-left:8px;vertical-align:2px}
.w7r{display:flex;align-items:center;gap:12px;padding:9px 0}
.w7r+.w7r{border-top:1px solid rgba(255,255,255,.06)}
.w7r .ri{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c);flex:none}
.w7r .ri .ic{width:16px;height:16px}
.w7r .rn{flex:1;font:400 15px var(--sans);min-width:0}
.w7r .rn small{display:block;font:400 12.5px var(--sans);color:var(--soft);margin-top:1px}
.w7r .rm{font:400 14px var(--sans);color:var(--soft);font-variant-numeric:tabular-nums}
.w7det .fade{animation:w7f .35s cubic-bezier(.2,.8,.2,1)}
@keyframes w7f{from{opacity:0;transform:translateY(6px)}}
/* each day's sheet, as the app draws it by night */
.sheet{position:relative;margin-top:26px;max-width:420px;border-radius:28px;overflow:hidden;color:var(--ink);background:linear-gradient(180deg,#141A1F,#0E1216);border:1px solid rgba(255,255,255,.09);box-shadow:0 26px 60px rgba(11,15,20,.26)}
.sheet .band,.ses .band{position:relative;overflow:hidden;margin:0;padding:22px 22px 20px}
.sheet .band::after,.ses .band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--bc,var(--teal)) 40%,transparent),transparent)}
.band.k-session{--bc:var(--teal);background:radial-gradient(130% 90% at 100% 0%,rgba(92,255,224,.26),transparent 55%),radial-gradient(90% 70% at 0% 100%,rgba(59,107,255,.18),transparent 60%),linear-gradient(165deg,#0F3B3E 0%,#0B2530 55%,#0F1316 100%)}
.band.k-week{--bc:var(--ph2);background:radial-gradient(90% 80% at 85% 10%,rgba(79,200,255,.22),transparent 60%),linear-gradient(170deg,#0F2A38 0%,#0E1A22 55%,#0F1316 100%)}
.band.k-brick{--bc:var(--ride);background:radial-gradient(90% 80% at 90% 0%,rgba(255,178,92,.24),transparent 60%),radial-gradient(70% 70% at 0% 100%,rgba(92,255,224,.14),transparent 60%),linear-gradient(170deg,#2E2216 0%,#1A1714 55%,#0F1316 100%)}
.sheet .eyebrow,.ses .eyebrow{font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--soft)}
.sheet h4{font:400 34px/1.04 var(--serif);letter-spacing:-.012em;margin-top:12px}
.sheet .bsub{font:400 15px var(--sans);color:var(--soft);margin-top:8px}
.sh-row{display:flex;gap:14px;align-items:center;padding:18px 20px}
.sh-row p{font:400 21px/1.25 var(--serif)}
.sh-ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);box-shadow:0 0 22px color-mix(in srgb,var(--c) 28%,transparent)}
.sh-ic .ic{width:20px;height:20px}
.sh-legs{display:flex;align-items:center;gap:8px;margin-top:16px}
.sh-legs span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--c) 15%,transparent);font:400 13px var(--sans);color:var(--soft)}
.sh-legs span .ic{width:16px;height:16px;color:var(--c)}
.sh-legs b{color:var(--ink);font-weight:500}
.sh-legs i{width:18px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,var(--ride),var(--run))}
.sh-say{padding:16px 22px 20px;font:400 19px/1.3 var(--serif)}
.sh-say.small{padding:0 22px 20px;font:400 14px/1.5 var(--sans);color:var(--soft)}
.sh-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:16px 20px 0}
.sh-days span{height:40px;border-radius:12px;display:grid;place-items:center;font:500 13px var(--sans);background:rgba(255,255,255,.05);color:var(--soft)}
.sh-days .here{box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);color:var(--ink);background:none}
.sh-days .pick{background:color-mix(in srgb,var(--ph2) 22%,transparent);box-shadow:inset 0 0 0 1.5px var(--ph2),0 0 16px color-mix(in srgb,var(--ph2) 35%,transparent);color:var(--ink)}
.sh-note{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 20px 20px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);font:400 14px/1.4 var(--sans)}
.sh-note b{font-weight:500}.sh-note span{color:var(--teal);font-weight:500}
.sh-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:20px 20px 0}
.sh-tiles span{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);font:400 13px var(--sans);color:var(--soft)}
.sh-tiles span i{display:block;color:var(--ph2);margin-bottom:6px}
.sh-tiles span i .ic{width:20px;height:20px}
.sh-tiles b{font:500 16px var(--sans);color:var(--ink)}
.sh-tiles .on{box-shadow:inset 0 0 0 1.5px var(--ph2),0 0 20px color-mix(in srgb,var(--ph2) 25%,transparent);background:color-mix(in srgb,var(--ph2) 12%,transparent)}
.sh-acts{display:flex;gap:8px;flex-wrap:wrap;padding:16px 20px 0}
.sh-btn{height:46px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--teal) 82%,#fff) 0%,var(--teal) 45%,#19CFC9 100%);color:#05110F;font:500 15px var(--sans)}
.sh-btn.ghost{background:rgba(255,255,255,.08);color:var(--ink)}
.week-b{padding-top:clamp(40px,5vw,80px)}
/* the two cards from the way in */
.cards2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:clamp(40px,5vw,64px)}
.card2{margin:0;display:flex;flex-direction:column;align-items:center;gap:20px}
.card2 .card-col{width:100%;display:flex;justify-content:center}
.card2 figcaption{display:flex;align-items:center;gap:10px;font:600 .72rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}
/* his session, up close */
.upclose{position:relative;overflow:hidden;padding:clamp(90px,10vw,150px) 0}
.up-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto auto;gap:28px clamp(40px,5vw,84px);align-items:center;margin-top:clamp(40px,5vw,72px)}
.up-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.up-phone{grid-column:2;grid-row:1 / span 2;position:relative;z-index:1}
.up-effort{grid-column:1;grid-row:1}.up-pace{grid-column:1;grid-row:2}.up-steps{grid-column:3;grid-row:1}.up-why{grid-column:3;grid-row:2}
.up-part{position:relative;z-index:1;padding:20px 22px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.08)}
.up-k{font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.up-shape{display:block;width:100%;height:112px;overflow:visible}
.up-steps-x{display:flex;gap:8px;margin-top:12px}
.up-steps-x span{display:flex;flex-direction:column;gap:2px;font:400 12px var(--sans);color:var(--soft);min-width:0}
.up-steps-x b{font:500 13px var(--sans);color:var(--ink)}
.up-steps-x .hi,.up-steps-x .hi b{color:var(--teal)}
.up-nums{display:grid;grid-template-columns:1.4fr 1fr;gap:8px}
.up-nums .nu b{font-size:32px}
.nu{border-radius:22px;padding:14px 14px 12px;position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 9%,rgba(255,255,255,.05)),rgba(255,255,255,.02))}
.nu b{display:block;font:300 25px/1.05 var(--sans);letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:tabular-nums}
.nu b small{font:400 13px var(--sans);color:var(--soft);letter-spacing:0;margin:0 3px}
.nu span{display:flex;align-items:center;gap:6px;font:400 12.5px var(--sans);color:var(--soft);margin-top:6px}
.nu span .ic{width:14px;height:14px;color:var(--c)}
.up-list{list-style:none;padding:0;margin:0}
.up-list li{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}
.up-list li:first-child{border-top:0;padding-top:0}
.up-list span{font:400 16px var(--sans)}
.up-list b{font:500 15px var(--sans);text-align:right;font-variant-numeric:tabular-nums}
.up-list em{grid-column:1 / -1;font:400 13px var(--sans);font-style:normal;color:var(--soft)}
.up-list li.hi span,.up-list li.hi b{color:var(--teal)}
.up-say{font:400 22px/1.3 var(--serif)}
.up-why .piece-rule{margin-top:14px}
.ses{position:absolute;inset:0;overflow:hidden;background:#0F1316}
.ses .band{padding:62px 20px 18px}
.ses h3{font:400 31px/1.04 var(--serif);letter-spacing:-.012em;margin:10px 26px 8px 0}
.ses .bsub{font:400 15px var(--sans);color:var(--soft)}
.ses .effort{display:block;width:100%;height:56px;margin-top:14px;overflow:visible}
.ses .nums{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 16px 0}
.ses .say{font:400 21px/1.25 var(--serif);margin:16px 18px 0}
.ses .whyline{display:flex;align-items:center;gap:10px;margin:14px 16px 0;padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.035)}
.ses .whyline p{flex:1;margin:0;font:400 17px/1.3 var(--serif)}
.ses .whyline .ic{width:16px;height:16px;color:var(--soft)}
.ses-f{position:absolute;left:16px;right:16px;bottom:34px}
.ses-f .btns{height:54px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;font:500 16px var(--sans);color:var(--ink);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.ses-f .btns .ic{width:18px;height:18px}
/* Sunday's season, fuller */
.sun-board{position:relative;margin-top:clamp(36px,4vw,56px);padding:30px 0 24px;border-radius:32px;overflow:hidden;background:radial-gradient(55% 80% at 95% 0%,rgba(255,214,176,.5),transparent 60%),radial-gradient(50% 70% at 0% 100%,rgba(150,214,232,.38),transparent 60%),rgba(255,255,255,.7);border:1px solid var(--edge);box-shadow:var(--glass-hi),0 30px 70px rgba(60,52,120,.10)}
.sun-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:0 32px}
.sun-board .count{display:flex;align-items:flex-end;gap:14px}
.sun-board .count-n{font-size:clamp(4.6rem,3rem + 4vw,8.4rem)}
.sun-board .sun-switch{margin:0}
.sun-land{margin-top:-36px}
.sun-next{position:absolute;z-index:2;right:32px;top:52%;display:flex;gap:12px;align-items:center;padding:14px 18px 14px 14px;border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 18px 40px rgba(60,52,120,.14),inset 0 1px 0 #fff}
.sn-ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--gold) 14%,#fff);color:var(--gold)}
.sn-ic .ic{width:20px;height:20px}
.sn-t small{display:block;font:500 12px var(--sans);color:var(--soft)}
.sn-t b{display:block;font:400 24px/1.1 var(--serif);font-weight:400;margin-top:2px}
.sn-t span{font:400 13px var(--sans);color:var(--soft)}
.sun-chapters{display:grid;gap:6px;padding:10px 32px 0}
.sc{display:flex;flex-direction:column;gap:5px;padding-top:12px;border-top:3px solid color-mix(in srgb,var(--c) 28%,transparent);min-width:0}
.sc.now{border-top-color:var(--c)}
.sc b{font:500 15px var(--sans)}.sc.now b{color:var(--c)}
.sc span{font:400 13px var(--sans);color:var(--soft);white-space:nowrap}
.sc i{display:none}
@media (max-width:1100px){.up-stage{grid-template-columns:minmax(0,1fr);justify-items:center}.up-phone{grid-column:auto;grid-row:auto;order:-1}.up-effort,.up-pace,.up-steps,.up-why{grid-column:auto;grid-row:auto;width:100%;max-width:560px}}
@media (max-width:960px){.cards2{grid-template-columns:minmax(0,1fr)}.ws-side{display:block;order:-1}.ws-stick{position:static}.appwk-zoom{zoom:1}.appwk{width:auto;max-width:368px}.sun-next{position:relative;right:auto;top:auto;margin:14px 32px 0}.sun-top{flex-direction:column}.sun-chapters span{white-space:normal}}
/* Thursday's key session, in the week */
.sh-effort{display:block;width:100%;height:58px;margin-top:14px;overflow:visible}
.sh-chips{display:flex;flex-wrap:wrap;gap:7px;padding:16px 20px 20px}
.sh-chips span{font:400 13px var(--sans);padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-variant-numeric:tabular-nums}
/* the season, one week to the day it's all for */
.season-all{position:relative;overflow:hidden;padding:clamp(90px,10vw,150px) 0;background:var(--bg)}
.sea-glow{position:absolute;inset:-10% -5%;pointer-events:none;background:radial-gradient(38% 46% at 8% 30%,rgba(15,160,144,.20),transparent 70%),radial-gradient(34% 40% at 94% 12%,rgba(219,155,42,.22),transparent 70%),radial-gradient(44% 50% at 62% 96%,rgba(112,89,224,.18),transparent 70%),radial-gradient(30% 36% at 40% 40%,rgba(27,136,218,.12),transparent 70%)}
.season-all .wrap{position:relative}
.sea-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap}
.sea-head .ch-head{max-width:960px}
.sea-board{position:relative;margin-top:clamp(32px,4vw,52px);padding:32px 0 26px;border-radius:34px;background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.9);box-shadow:inset 0 1px 0 #fff,0 40px 90px rgba(60,52,120,.14),0 10px 30px rgba(60,52,120,.06);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);overflow:hidden}
.sea-top{position:relative;z-index:2;display:flex;align-items:flex-start;gap:24px 36px;flex-wrap:wrap;padding:0 34px}
.sea-count{display:flex;align-items:flex-end;gap:16px}
.sea-count .count-n{font:400 clamp(5rem,3rem + 5vw,9.4rem)/.82 var(--serif)}
.sea-race{display:flex;gap:8px;flex-wrap:wrap;align-self:center}
.sea-race span{display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 10px;border-radius:999px;background:#fff;box-shadow:0 6px 18px rgba(60,52,120,.08);font:400 13px var(--sans);color:var(--soft)}
.sea-race span .ic{width:18px;height:18px;color:var(--ink)}
.sea-race em{font-style:normal}.sea-race b{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
.sea-top .sun-next{position:relative;right:auto;top:auto;margin-left:auto}
.season-all .sun-land{margin-top:-28px}
.sea-weeks{padding:6px 34px 0}
.sea-wk-head{display:flex;justify-content:space-between;font:600 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:12px}
.sea-bars{display:flex;align-items:flex-end;gap:3px;height:128px;padding-top:26px}
.sb2{position:relative;flex:1;height:var(--h);min-width:0;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 70%,#fff),var(--c));opacity:.92;transform-origin:50% 100%;animation:sgrow .8s calc(var(--i) * 18ms) cubic-bezier(.3,1.2,.5,1) backwards}
.sb2.past{opacity:.5}
.sb2.now{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--c),0 10px 24px color-mix(in srgb,var(--c) 45%,transparent);opacity:1}
.sb2.end{background:linear-gradient(180deg,#FFE2A6,var(--gold));box-shadow:0 0 22px color-mix(in srgb,var(--gold) 55%,transparent)}
.sb2 em{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--c);box-shadow:0 4px 12px rgba(60,52,120,.14)}
.sb2.end em{color:var(--gold)}
.sb2 em .ic{width:13px;height:13px}
.sb2 small{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;font:500 11px var(--sans);color:var(--c);background:#fff;padding:4px 8px;border-radius:999px;box-shadow:0 4px 12px rgba(60,52,120,.12)}
.season-all .sun-chapters{padding:14px 0 0}
/* the engine and your data */
.yours-s{position:relative;padding:clamp(90px,10vw,150px) 0}
.yours-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(16px,2vw,28px);margin-top:clamp(36px,4vw,56px)}
.tr-engine{position:relative;overflow:hidden;padding:34px 34px 30px;border-radius:32px;background:radial-gradient(70% 80% at 100% 0%,rgba(92,255,224,.14),transparent 60%),radial-gradient(60% 70% at 0% 100%,rgba(160,140,255,.14),transparent 60%),linear-gradient(170deg,#141B20,#0B0F12);box-shadow:0 34px 80px rgba(11,15,20,.28)}
.tr-big{font:400 clamp(2rem,1.4rem + 1.8vw,3.2rem)/1.05 var(--serif);letter-spacing:-.015em;color:var(--ink)}
.tr-labels{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.tr-l{display:inline-flex;align-items:baseline;gap:6px;padding:12px 18px;border-radius:999px;font:500 clamp(1rem,.9rem + .3vw,1.2rem)/1 var(--sans);color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 35%,transparent),0 0 24px color-mix(in srgb,var(--c) 18%,transparent)}
.tr-l small{font:400 .85em var(--sans);opacity:.8}
.tr-small{margin-top:26px;font:400 1.05rem/1.5 var(--sans);color:var(--soft);max-width:34em}
.tr-data{position:relative;padding:34px 34px 28px;border-radius:32px;background:rgba(255,255,255,.78);border:1px solid #fff;box-shadow:inset 0 1px 0 #fff,0 30px 70px rgba(60,52,120,.10)}
.tr-data .up-k{color:var(--faint)}
.tr-reads{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.tr-reads li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 20px;border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 8%,#fff),#fff);box-shadow:0 8px 22px rgba(40,60,80,.06)}
.tr-reads i{width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 14px var(--c)}
.tr-reads span{font:400 1.05rem var(--sans);color:var(--soft)}
.tr-reads b{font:400 clamp(1.8rem,1.3rem + 1.2vw,2.6rem)/1 var(--serif);font-weight:400;color:var(--ink)}
.tr-fine{margin-top:20px}
@media (max-width:960px){.yours-grid{grid-template-columns:minmax(0,1fr)}.sea-top .sun-next{margin-left:0}.sea-bars{gap:2px}.sb2 small{display:none}}
/* ---------- Today (24 October 2026): Maya's Wednesday, from her morning note to any change she makes ---------- */
.td-hero{background:radial-gradient(40% 50% at 78% 40%,rgba(80,96,220,.11),transparent 70%),radial-gradient(40% 50% at 70% 76%,rgba(0,190,165,.10),transparent 70%),var(--bg)}
.td-hero .hero-title{font-size:clamp(3.8rem,1.4rem + 7.2vw,9.4rem)}
.td-stage{position:relative}
.td-halo{position:absolute;left:50%;top:50%;width:150%;height:112%;transform:translate(-50%,-50%);border-radius:50%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(48,60,150,.18),rgba(48,60,150,0) 70%)}
.td-fs{left:-150px;bottom:70px}
/* her phone at 6:30: the lock screen, her note on it */
.lk{background:#05070B;color:#fff}
.lk-wall{position:absolute;inset:0;background:radial-gradient(90% 50% at 22% 16%,rgba(92,255,224,.20),transparent 62%),radial-gradient(80% 55% at 92% 70%,rgba(120,100,255,.32),transparent 62%),radial-gradient(70% 40% at 8% 96%,rgba(255,178,92,.18),transparent 62%),linear-gradient(180deg,#0C1424 0%,#0A0E1B 46%,#06080D 100%)}
.lk-sb{color:#fff}
.lk-lock{position:absolute;top:66px;left:0;right:0;display:flex;justify-content:center;color:rgba(255,255,255,.9)}
.lk-lock .ic{width:20px;height:20px}
.lk-date{position:absolute;top:98px;left:0;right:0;text-align:center;font:600 21px/1 -apple-system,'SF Pro Display',system-ui,var(--sans);color:rgba(255,255,255,.86)}
.lk-time{position:absolute;top:122px;left:0;right:0;text-align:center;font:700 116px/1 -apple-system,'SF Pro Rounded','SF Pro Display',system-ui,var(--sans);letter-spacing:-.02em;color:rgba(255,255,255,.94)}
.lk-notes{position:absolute;left:12px;right:12px;bottom:150px}
.lk-note{display:flex;gap:12px;align-items:center;padding:13px 15px 13px 13px;border-radius:24px;background:rgba(255,255,255,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 30px rgba(0,0,0,.28);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4)}
.lk-note img{width:38px;height:38px;border-radius:9px;flex:none}
.lk-nt{flex:1;min-width:0;font:400 15px/1.3 -apple-system,system-ui,var(--sans);color:#fff}
.lk-nh{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.lk-nh b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lk-nh span{font-size:13px;color:rgba(255,255,255,.6);flex:none}
.lk-nt p{color:rgba(255,255,255,.88);margin-top:1px}
.js .lk-notes .lk-note{opacity:0;transform:translateY(-16px) scale(.96);animation:lknote .9s 1.9s var(--spring) forwards}
@keyframes lknote{to{opacity:1;transform:none}}
.lk-btns{position:absolute;left:46px;right:46px;bottom:54px;display:flex;justify-content:space-between}
.lk-btns span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lk-btns .ic{width:22px;height:22px;color:#fff;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lk-lock .ic{stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lk-home{position:absolute;left:50%;bottom:9px;width:140px;height:5px;margin-left:-70px;border-radius:3px;background:rgba(255,255,255,.86)}
/* her week of notes */
.td-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,90px);align-items:center}
.tn-panel{position:relative;padding:24px 24px 20px;border-radius:34px;background:radial-gradient(80% 60% at 100% 0%,rgba(92,255,224,.10),transparent 60%),radial-gradient(70% 60% at 0% 100%,rgba(120,100,255,.16),transparent 60%),linear-gradient(170deg,#121821,#0A0D12);border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 90px rgba(11,15,20,.28),0 10px 26px rgba(11,15,20,.14)}
.tn-head{display:flex;justify-content:space-between;gap:12px;font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin:2px 4px 14px}
.tn-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding:4px 0}
.tn-day{display:flex;flex-direction:column;align-items:center;gap:3px}
.tn-day small{font:500 10.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.tn-day b{font:400 22px/1 var(--serif);font-weight:400;white-space:nowrap}
.tn-day em{font:600 9px/1 var(--sans);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.tn-row .lk-note{padding:10px 14px 10px 10px;border-radius:20px;background:rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:none;-webkit-backdrop-filter:none}
.tn-row .lk-note img{width:30px;height:30px;border-radius:7px}
.tn-row .lk-nt{font-size:14px}
.tn-row.today .lk-note{background:linear-gradient(120deg,rgba(92,255,224,.16),rgba(92,255,224,.05));box-shadow:inset 0 0 0 1.5px rgba(92,255,224,.75),0 0 30px rgba(92,255,224,.18)}
.tn-row.today .tn-day b{color:var(--teal)}
.tn-row.rest .lk-nh b{color:var(--soft)}
.tn-row.race .lk-note{background:linear-gradient(120deg,rgba(255,200,107,.18),rgba(255,200,107,.04));box-shadow:inset 0 0 0 1.5px rgba(255,200,107,.7),0 0 30px rgba(255,200,107,.18)}
.tn-row.race .tn-day b{color:var(--gold);font-size:17px}
.tn-gap{display:flex;align-items:center;gap:12px;margin:10px 0 8px 64px;font:500 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.tn-gap i{flex:1;height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 3px,transparent 3px 7px)}
.tn-row.past{--o:.42}
.tn-row,.tn-gap{opacity:var(--o,1)}
.js .tn-panel:not(.on) .tn-row,.js .tn-panel:not(.on) .tn-gap{opacity:0;transform:translateY(14px)}
.tn-panel.on .tn-row,.tn-panel.on .tn-gap{transition:opacity .6s calc(var(--i) * 80ms + .15s) var(--ease),transform .6s calc(var(--i) * 80ms + .15s) var(--ease)}
/* her session first: the card, how it should feel, why it's there */
.td-flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,36px);margin-top:clamp(40px,5vw,72px);align-items:start}
.td-step{display:flex;flex-direction:column;gap:16px;min-width:0}
.td-k{display:flex;align-items:center;gap:10px;font:600 .72rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}
.td-k i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font:600 12px/1 var(--sans);font-style:normal;letter-spacing:0}
.td-card,.td-result{position:relative;border-radius:30px;overflow:hidden;color:#F1F4F6;background:radial-gradient(130% 90% at 100% 0%,rgba(92,255,224,.30),transparent 55%),radial-gradient(90% 70% at 0% 100%,rgba(59,107,255,.22),transparent 60%),linear-gradient(165deg,#0F3B3E 0%,#0B2530 50%,#0B1519 100%);border:1px solid rgba(92,255,224,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 30px 70px rgba(0,110,100,.26),0 8px 20px rgba(11,15,20,.16)}
.td-card .fs-in{padding:22px 22px 20px}
.td-card .fs-t{font-size:50px}
.td-btns{display:flex;gap:8px;margin-top:18px}
.td-view{flex:1;height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--teal) 82%,#fff) 0%,var(--teal) 45%,#19CFC9 100%);color:#05110F;font:500 16px/1 var(--sans);animation:tdpulse 2.8s ease-in-out infinite}
@keyframes tdpulse{0%,100%{box-shadow:0 0 0 0 rgba(92,255,224,0)}50%{box-shadow:0 0 0 6px rgba(92,255,224,.10),0 0 26px rgba(92,255,224,.35)}}
.td-more{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:3px;background:rgba(255,255,255,.08);flex:none}
.td-more i{width:4px;height:4px;border-radius:50%;background:#F1F4F6}
.td-sheet{margin-top:0;max-width:none}
.td-sheet .band h4{font-size:38px}
.td-rows{padding:0 20px 14px}
.td-row{padding:14px 0;border-top:1px solid rgba(255,255,255,.07)}
.td-rk{display:block;font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:9px}
.td-row p{font:400 15px/1.45 var(--sans);color:var(--ink)}
.td-row small{display:block;font:400 13px/1.45 var(--sans);color:var(--soft);margin:6px 0 10px}
.td-chip{display:inline-flex;margin-top:10px;font:400 12.5px/1 var(--sans);padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-variant-numeric:tabular-nums}
.td-sheet .label.research{color:#7DB8FF;border-color:rgba(125,184,255,.4);background:rgba(125,184,255,.10)}
.td-sheet .label.practice{color:#B9A6FF;border-color:rgba(185,166,255,.4);background:rgba(185,166,255,.10)}
.td-tap{display:flex;align-items:center;gap:10px;font:400 .875rem/1 var(--sans);color:var(--soft)}
.td-tap::before{content:"";width:26px;height:1px;background:currentColor;opacity:.6}
.td-tap b{font-weight:500;color:var(--ink)}
.td-c7{margin-top:clamp(44px,5vw,72px);font:400 clamp(1.6rem,1.15rem + 1.3vw,2.5rem)/1.18 var(--serif);letter-spacing:-.01em;max-width:28em;text-wrap:balance}
.td-c7 .k{font-style:italic}.td-c7 .k.research{color:var(--cobalt)}.td-c7 .k.practice{color:var(--violet)}.td-c7 .k.judgement{color:var(--gold)}
/* after the run, by night */
.td-run{position:relative;overflow:hidden;padding:clamp(90px,10vw,150px) 0 clamp(170px,16vw,250px)}
.td-trace{position:absolute;left:0;bottom:0;width:100%;height:clamp(200px,26vw,340px);overflow:visible;pointer-events:none}
.td-run-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,450px);gap:clamp(32px,5vw,96px);align-items:center}
.td-result .fs-in{padding:24px 24px 22px}
.td-result .fs-t{font-size:52px}
.td-ok{display:inline-flex;align-items:center;gap:6px;color:var(--teal)}
.td-ok .ic{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.td-rtrace{display:block;width:100%;height:66px;margin-top:16px;overflow:visible}
.td-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
.td-stats div{padding:12px 12px 10px;border-radius:18px;background:rgba(255,255,255,.06)}
.td-stats b{display:block;font:300 25px/1.05 var(--sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap}
.td-stats small{font:400 12px var(--sans);color:var(--soft);margin-left:3px;letter-spacing:0}
.td-stats span{display:block;font:400 12px/1.3 var(--sans);color:var(--soft);margin-top:5px}
.td-ask{font:400 26px/1.1 var(--serif);margin-top:22px}
.td-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.td-pills button{height:40px;padding:0 15px;border-radius:999px;border:0;background:rgba(255,255,255,.08);color:#F1F4F6;font:400 14px/1 var(--sans);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:background .25s,box-shadow .25s}
.td-pills button:hover{background:rgba(255,255,255,.13)}
.td-pills button[aria-checked=true]{background:color-mix(in srgb,var(--teal) 22%,transparent);box-shadow:inset 0 0 0 1.5px var(--teal),0 0 18px rgba(92,255,224,.3)}
.td-saved{margin-top:12px;font:400 13px/1.4 var(--sans);color:var(--soft)}
.td-saved.flash{animation:tdsaved 1.2s var(--ease)}
@keyframes tdsaved{from{color:var(--teal)}}
.td-ran{stroke-dasharray:1;stroke-dashoffset:0}
.js .td-run:not(.on) .td-ran{stroke-dashoffset:1}
.td-run.on .td-ran{transition:stroke-dashoffset 2.6s .25s cubic-bezier(.32,.72,.18,1)}
/* any day: her week, what changed, and Undo */
.tw{display:grid;grid-template-columns:minmax(0,300px) auto minmax(0,1fr);gap:clamp(20px,2.4vw,36px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.tw-ask{position:sticky;top:110px;display:flex;flex-direction:column;gap:12px}
.tw-k{font:600 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.tw-ask .chip{align-self:flex-start;margin-top:4px}
.tw-card .appwk{width:368px}
.tw-changes{padding:22px 24px 12px;border-radius:30px;background:linear-gradient(180deg,#141A1F,#0E1216);border:1px solid rgba(255,255,255,.09);box-shadow:0 30px 70px rgba(11,15,20,.26)}
.tw-ch-top{display:flex;align-items:center;gap:10px}
.tw-ch-top .ic{width:34px;height:34px;padding:8px;border-radius:50%;background:rgba(255,255,255,.06);color:var(--soft);stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tw-ch-k{font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--soft)}
.tw-changes h3{font:400 34px/1.05 var(--serif);margin:14px 0 4px}
.tw-changes ol{list-style:none;padding:0;margin:0}
.tc{position:relative;padding:16px 0 16px 42px;border-top:1px solid rgba(255,255,255,.07)}
.tc:first-child{border-top:0}
.tc-dot{position:absolute;left:0;top:18px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--teal) 14%,transparent);color:var(--teal)}
.tc-dot .ic,.tc-b .ic{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tc-d{font:400 12.5px/1.3 var(--sans);color:var(--soft)}
.tc-t{font:400 21px/1.25 var(--serif);margin:4px 0 12px;text-wrap:pretty}
.tc-a{display:flex;gap:8px;flex-wrap:wrap}
.tc-b{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border-radius:999px;border:0;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);color:var(--ink);font:500 13px/1 var(--sans);cursor:pointer}
.tc-b:hover{background:rgba(255,255,255,.12)}
.tc-b.undo{color:var(--teal)}
.tw-changes .change-why p{margin-top:12px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font:400 14px/1.5 var(--sans);color:var(--ink-2)}
.tc.is-new{animation:changein .7s var(--spring)}
.tc.is-undone .tc-t{color:var(--soft);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.3)}
.tc-note{font:400 12.5px/1.5 var(--sans);color:var(--soft);margin-top:8px}
.tc-note:empty{display:none}
@media (max-width:1180px){.tw{grid-template-columns:minmax(0,280px) auto}.tw-changes{grid-column:1 / -1}.td-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){
  .td-hero{padding-bottom:64px}
  .td-fs{position:relative;left:auto;right:auto;bottom:auto;align-self:flex-end;margin:-86px -6px 0 0}
  .td-two,.td-run-grid,.td-flow,.tw{grid-template-columns:minmax(0,1fr)}
  .tw-ask{position:static}
  .tw-card .appwk{width:auto;max-width:368px}
  .tw-changes{grid-column:auto}
}
@media (max-width:640px){.td-card .fs-t,.td-result .fs-t{font-size:42px}.td-stats b{font-size:21px}.tn-panel{padding:18px 14px 16px;border-radius:28px}.tn-row{grid-template-columns:44px minmax(0,1fr);gap:8px}.tn-gap{margin-left:52px}}
/* ---------- Season (24 October 2026): Maya's season, up close, week by week, flagged and moved, to race day; Sam's with no race ---------- */
.ss-hero{background:radial-gradient(38% 46% at 86% 26%,rgba(219,155,42,.16),transparent 70%),radial-gradient(40% 50% at 10% 70%,rgba(15,160,144,.10),transparent 70%),var(--bg);align-items:flex-start;padding-top:calc(76px + clamp(48px,7vh,96px))}
.ss-land{position:absolute;left:0;right:0;bottom:0;z-index:0;pointer-events:none}
.ss-land svg{display:block;width:100%;height:auto;overflow:visible}
.ss-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3vw,56px);align-items:start}
.ss-hero .hero-title{font-size:clamp(3.8rem,1.4rem + 7.2vw,9.4rem)}
.ss-count{display:flex;align-items:flex-end;justify-content:flex-end;gap:16px;padding-top:clamp(10px,3vw,40px)}
.js .ss-count{opacity:0;transform:translateY(30px);animation:appin 1.3s .7s var(--spring) forwards}
.ss-n{font:400 clamp(8rem,3rem + 12vw,16rem)/.8 var(--serif);letter-spacing:-.05em;padding-right:.04em;background:linear-gradient(112deg,var(--ink) 30%,color-mix(in srgb,var(--gold) 85%,var(--ink)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px rgba(219,155,42,.18))}
.ss-t{display:flex;flex-direction:column;padding-bottom:clamp(8px,1.2vw,18px)}
.ss-t span{font:400 1rem var(--sans);color:var(--soft)}
.ss-t b{font:400 clamp(2.4rem,1.6rem + 2vw,3.6rem)/1 var(--serif);margin-top:4px}
.ss-t small{font:400 .95rem var(--sans);color:var(--soft);margin-top:8px;white-space:nowrap}
/* her Season screen, up close */
.ss-up [data-part=count]{grid-column:1;grid-row:1}.ss-up [data-part=road]{grid-column:1;grid-row:2}
.ss-up [data-part=chapters]{grid-column:3;grid-row:1}.ss-up [data-part=next]{grid-column:3;grid-row:2}
.ss-pc{display:flex;align-items:flex-end;gap:12px}
.ss-pn{font:400 96px/.82 var(--serif);letter-spacing:-.045em;background:linear-gradient(112deg,var(--ink) 38%,color-mix(in srgb,var(--gold) 82%,var(--ink)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px var(--glow-gold))}
.ss-pt{display:flex;flex-direction:column;padding-bottom:6px}
.ss-pt span{font:400 13px var(--sans);color:var(--soft)}
.ss-pt b{font:400 30px/1 var(--serif);font-weight:400}
.ss-ps{margin-top:12px;font:400 14px var(--sans);color:var(--soft)}
.ss-keys{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.ss-keys li{display:flex;align-items:center;gap:14px;font:400 15px var(--sans)}
.ss-keys li span{display:flex;flex-direction:column}
.ss-keys small{font:400 12.5px var(--sans);color:var(--soft);margin-top:2px}
.ss-keys i{flex:none;width:46px;height:12px;position:relative}
.ss-keys .k-done::before{content:"";position:absolute;left:0;right:0;top:4px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--ph1),var(--ph2))}
.ss-keys .k-ahead::before{content:"";position:absolute;left:0;right:0;top:4px;height:3px;background:radial-gradient(circle,var(--ph3) 1.6px,transparent 2px) 0 50%/9px 3px repeat-x}
.ss-keys .k-tent::before{content:"";position:absolute;left:16px;top:-2px;width:12px;height:12px;border-radius:50%;border:1.7px dashed var(--ph3)}
.ss-chs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.ss-chs li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;font:400 15px var(--sans)}
.ss-chs li::before{content:"";width:28px;height:5px;border-radius:3px;background:color-mix(in srgb,var(--c) 40%,transparent)}
.ss-chs li span{font-size:13px;color:var(--soft)}
.ss-chs li.now::before{background:var(--c);box-shadow:0 0 12px var(--c)}
.ss-chs li.now b{color:var(--c);font-weight:500}
.ss-nx{display:flex;align-items:center;gap:14px}
.ss-nx .ic{width:42px;height:42px;padding:10px;border-radius:50%;color:var(--ph2);background:color-mix(in srgb,var(--ph2) 16%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--ph2) 26%,transparent);stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ss-nx span{display:flex;flex-direction:column}
.ss-nx small{font:400 13px var(--sans);color:var(--soft)}
.ss-nx b{font:400 32px/1.05 var(--serif);font-weight:400;margin:4px 0}
.ss-nx em{font:400 14px var(--sans);font-style:normal;color:var(--soft)}
/* week by week */
.ss-wk-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(32px,5vw,90px);align-items:center}
.ss-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.ss-tabs button{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--edge);background:var(--glass-2);font:500 .95rem/1 var(--sans);color:var(--soft);cursor:pointer;box-shadow:0 6px 18px rgba(60,52,120,.06);transition:background .25s,color .25s,box-shadow .25s}
.ss-tabs button i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.ss-tabs button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--c),0 10px 26px color-mix(in srgb,var(--c) 22%,transparent)}
.ss-ph{margin-top:24px;min-height:84px}
.ss-phn{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.ss-phn b{font:400 2.2rem/1 var(--serif);font-weight:400;color:var(--c)}
.ss-phn span{font:400 1rem var(--sans);color:var(--soft)}
.ss-phl{margin-top:10px;font:400 1.1rem/1.5 var(--sans);color:var(--ink-2)}
.ss-wkcard{display:flex;flex-direction:column;align-items:center;gap:12px}
.ss-wbw{width:430px}
.ss-wbw .whead em{font:500 12.5px var(--sans);font-style:normal;color:var(--soft)}
.ss-w9{--cw:34px;margin-top:16px}
.ss-w9 .w7lens{width:var(--cw);top:-6px;bottom:22px}
.ss-w9 .w7l{width:var(--cw);border:0;background:none;padding:0 0 3px;margin:0;cursor:pointer;font:inherit;color:inherit;transition:opacity .35s}
.ss-w9 .w7l .sg{width:24px}
.ss-w9 .w7l.out{opacity:.28}
.ss-w9 .sg.tent{background:color-mix(in srgb,var(--soft) 8%,transparent);box-shadow:none;outline:1.5px dashed color-mix(in srgb,var(--soft) 55%,transparent);outline-offset:-1.5px}
@media (min-width:1181px){.ss-wbw{zoom:1.16}}
.ss-w9 .sg.race{width:24px;height:24px;border-radius:50%;align-items:center;background:color-mix(in srgb,var(--gold) 22%,transparent);box-shadow:inset 0 0 0 1.5px var(--gold),0 0 16px rgba(255,200,107,.4);color:var(--gold);animation:none}
.ss-w9 .sg.race .ic{margin:0;color:var(--gold)}
.ss-w9 .w7lab{width:var(--cw);transition:opacity .35s}
.ss-w9 .w7lab.out{opacity:.35}
.ss-w9 .w7lab .ld{height:12px}
.ss-pbase{display:flex;justify-content:space-between;margin:6px 26px 0 0}
.ss-pbase i{width:var(--cw);height:3px;border-radius:3px;background:var(--c);transition:opacity .35s}
.ss-pbase i.out{opacity:.25}
.wsub{font:400 13px var(--sans);color:var(--soft);margin:-2px 0 6px}
.w7r .rm .ic{width:14px;height:14px;color:var(--teal);margin-left:6px;vertical-align:-2px}
.ss-tip{font:400 .8125rem var(--sans);color:var(--faint)}
/* flag a week, move a chapter */
.ss-life-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,36px);margin-top:clamp(40px,5vw,64px);align-items:start}
.ss-sheet{margin-top:0;max-width:none}
.ss-sheet [hidden]{display:none!important}
.ss-sheet .sh-tiles button{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:18px;border:0;text-align:left;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);font:400 13px var(--sans);color:var(--soft);cursor:pointer;transition:background .25s,box-shadow .25s}
.ss-sheet .sh-tiles button i{display:block;color:var(--ph2);margin-bottom:6px}
.ss-sheet .sh-tiles button .ic{width:20px;height:20px}
.ss-sheet .sh-tiles button[aria-checked=true]{box-shadow:inset 0 0 0 1.5px var(--ph2),0 0 20px color-mix(in srgb,var(--ph2) 25%,transparent);background:color-mix(in srgb,var(--ph2) 12%,transparent)}
.ss-have{padding:18px 20px 0}
.ss-hk{font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin-bottom:12px}
.ss-kit{display:flex;flex-wrap:wrap;gap:8px}
.ss-kit button{height:38px;padding:0 14px;border-radius:999px;border:0;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);color:var(--soft);font:400 14px/1 var(--sans);cursor:pointer;transition:background .25s,box-shadow .25s,color .25s}
.ss-kit button[aria-pressed=true]{color:var(--ink);background:color-mix(in srgb,var(--teal) 14%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--teal) 70%,transparent)}
.ss-kit button[aria-pressed=true]::before{content:"✓";margin-right:6px;color:var(--teal)}
.ss-hs{margin-top:14px;font:400 14px/1.5 var(--sans);color:var(--soft)}
.ss-act{padding:18px 20px 20px}
.ss-go{width:100%;height:52px;border:0;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--teal) 82%,#fff) 0%,var(--teal) 45%,#19CFC9 100%);color:#05110F;font:500 16px/1 var(--sans);cursor:pointer;box-shadow:0 10px 30px rgba(92,255,224,.18)}
.ss-done button{border:0;background:none;padding:0;color:var(--teal);font:500 14px var(--sans);cursor:pointer}
.ss-rows{padding:8px 16px 6px}
.ss-row{display:flex;align-items:center;gap:14px;width:100%;padding:14px 12px;margin:0 0 8px;border:0;border-radius:20px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:background .25s,box-shadow .25s}
button.ss-row:hover{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ph3) 60%,transparent)}
.ss-row.is-still{cursor:default}
.ss-row>span:nth-child(2){flex:1;display:flex;flex-direction:column}
.ss-row b{font:500 16px var(--sans)}
.ss-row small{font:400 13px var(--sans);color:var(--soft);margin-top:2px}
.ss-row>.ic{width:16px;height:16px;color:var(--soft)}
.ss-ri .ic{width:38px;height:38px;padding:9px;border-radius:50%;color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent)}
.ss-sheet .ic{stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ss-mv .band .eyebrow .ic{width:13px;height:13px;vertical-align:-2px;margin-right:4px;color:var(--teal)}
.ss-acts{display:flex;gap:8px;padding:4px 20px 6px}
.ss-acts .sh-btn{flex:1;justify-content:center;border:0;cursor:pointer;font-family:var(--sans)}
.ss-acts .sh-btn .ic{width:16px;height:16px;margin-right:6px}
.ss-rule-w{padding:14px 20px 12px}
.ss-rule-w .ss-hk{margin-bottom:10px}
.ss-segs{display:flex;align-items:flex-start;gap:5px}
.ss-segs>span{display:flex;flex-direction:column;gap:6px;min-width:0;transition:flex-grow .9s var(--spring)}
.ss-segs>span i{display:block;height:6px;border-radius:4px;background:var(--c);box-shadow:0 0 12px color-mix(in srgb,var(--c) 40%,transparent)}
.ss-segs b{font:500 12.5px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-segs em{font:400 12px var(--sans);font-style:normal;color:var(--soft);white-space:nowrap}
.ss-flagend{flex:none;color:var(--gold);margin-top:-6px}
.ss-flagend .ic{width:18px;height:18px}
.ss-note{padding:2px 20px 18px;font:400 13px/1.5 var(--sans);color:var(--soft);min-height:20px}
/* race day, by night */
.ss-race-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(45% 60% at 80% 30%,rgba(255,200,107,.16),transparent 62%),radial-gradient(40% 50% at 6% 92%,rgba(160,140,255,.12),transparent 60%)}
.ss-race-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(32px,6vw,110px);align-items:center}
.tag-gold b{background:var(--gold);color:#1A1205}
.ss-after{margin-top:clamp(30px,4vw,48px);max-width:440px;padding:22px 22px 18px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08)}
.ss-at{font:400 30px/1.05 var(--serif)}
.ss-aq{margin-top:6px;font:400 15px var(--sans);color:var(--soft)}
.ss-opts{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:8px}
.ss-opts li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.ss-opts b{font:500 15px var(--sans)}
.ss-opts em{font:500 12px var(--sans);font-style:normal;color:var(--teal)}
.ss-opts li.on{box-shadow:inset 0 0 0 1.5px var(--teal),0 0 20px rgba(92,255,224,.15)}
.ss-gold-glow{background:radial-gradient(closest-side,rgba(255,200,107,.16),transparent)}
.s-cdn.ss-today{font-size:116px;background:linear-gradient(112deg,var(--ink) 20%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text}
.ss-goldi{background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold);box-shadow:0 0 22px color-mix(in srgb,var(--gold) 30%,transparent)}
@media (max-width:1180px){.ss-wk-grid{grid-template-columns:minmax(0,1fr)}.ss-wkcard{align-items:flex-start}}
@media (max-width:1100px){.ss-up [data-part]{grid-column:auto;grid-row:auto;width:100%;max-width:560px}}
@media (max-width:960px){
  .ss-hero{padding-bottom:clamp(220px,52vw,330px)}
  .ss-hero-grid,.ss-life-grid,.ss-race-grid{grid-template-columns:minmax(0,1fr)}
  .ss-count{justify-content:flex-start}
  .ss-race-phone{justify-self:center}
  .ss-wbw{width:auto;max-width:430px}
}
@media (max-width:640px){.ss-n{font-size:8.4rem}.ss-w9{--cw:26px}.ss-w9 .w7l .sg{width:20px}}
/* ---------- the way in (24 October 2026): five acts, each with its own screen ---------- */
.wi-hero{background:radial-gradient(40% 50% at 76% 42%,rgba(219,155,42,.12),transparent 70%),radial-gradient(40% 50% at 70% 80%,rgba(112,89,224,.10),transparent 70%),var(--bg)}
.wi-stage{position:relative}
.wi-lift{position:absolute;z-index:3;left:-120px;bottom:70px;transform:rotate(-6deg);filter:drop-shadow(0 30px 50px rgba(40,34,100,.25))}
.js .wi-lift{opacity:0;animation:wilift 1.2s 1.6s var(--spring) forwards}
@keyframes wilift{from{opacity:0;transform:translateY(30px) rotate(-2deg)}to{opacity:1;transform:rotate(-6deg)}}
.wi-act1 .assemble-stage{padding-block:clamp(90px,10vw,150px) 0}
.wi-act1 .assemble-copy .ch-t{font-size:clamp(2.8rem,1.6rem + 3.4vw,5rem);margin-bottom:clamp(26px,3vw,40px)}
.wi-or{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(56px,6vw,96px);padding:clamp(24px,3vw,40px) clamp(24px,3vw,44px);border-radius:34px;background:radial-gradient(60% 80% at 100% 0%,rgba(79,200,255,.14),transparent 60%),rgba(255,255,255,.7);border:1px solid #fff;box-shadow:inset 0 1px 0 #fff,0 30px 70px rgba(60,52,120,.10)}
.wi-or-t{margin-top:18px;font:400 clamp(1.8rem,1.3rem + 1.6vw,2.9rem)/1.1 var(--serif);letter-spacing:-.012em;max-width:16em;text-wrap:balance}
.wi-or-card{display:flex;justify-content:center}
/* Act II */
.wi-facts{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-direction:column;gap:14px;max-width:34em}
.wi-facts li{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.7);border:1px solid #fff;box-shadow:0 10px 26px rgba(60,52,120,.06)}
.wi-facts b{font:500 1rem var(--sans)}
.wi-facts span{font:400 .95rem/1.5 var(--sans);color:var(--ink-2)}
.wi-sign{margin-top:0;max-width:470px;justify-self:center;width:100%}
.wi-sig{padding:18px 22px 4px}
.wi-sigsvg{display:block;width:100%;height:auto;overflow:visible}
.wi-sigtext{font:400 104px var(--sign);fill:#F1F4F6}
.wi-penrect{transform-box:fill-box;transform-origin:0 50%;transform:scaleX(0)}
.wi-sign.on .wi-penrect{transform:scaleX(1);transition:transform 2.2s .2s cubic-bezier(.45,.05,.3,1)}
.js .wi-sigline{opacity:0}
.wi-sign.on .wi-sigline{opacity:1;transition:opacity .8s 2.2s}
.wi-sigline{margin:-6px 0 0 18px;font:500 10.5px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}
.wi-apple{padding:18px 20px 20px}
.wi-abtn{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border-radius:999px;background:#fff;color:#000;font:500 16px -apple-system,system-ui,var(--sans)}
.wi-abtn .ic{width:18px;height:18px;stroke:#000;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Act III: the card's back */
.wi-backstage{--k:1;position:relative;display:flex;justify-content:center;height:612px}
.wi-back{position:absolute;top:0;left:50%;width:362px;height:612px;margin-left:-181px;transform:scale(var(--k));transform-origin:50% 0;border-radius:30px;overflow:hidden;color:#F7FBFC;box-shadow:0 40px 90px rgba(0,0,0,.45),0 10px 24px rgba(0,0,0,.3)}
.wi-back>*{position:absolute}
.wb-bg{inset:0;background:linear-gradient(180deg,rgba(6,9,12,.20),rgba(6,9,12,.58)),linear-gradient(140deg,#12AE99 0%,#1B88DA 38%,#7059E0 70%,#DB9B2A 112%)}
.wb-frm{inset:9px;border-radius:22px;border:1px solid rgba(255,255,255,.26);pointer-events:none;z-index:3}
.wb-head{left:24px;right:24px;top:26px;display:flex;justify-content:space-between;align-items:baseline}
.wb-word{font:400 9px/1 var(--wide);letter-spacing:.44em;color:rgba(255,255,255,.8)}
.wb-ttl{font:italic 400 21px/1 var(--serif)}
.wb-box{padding:12px 13px;border-radius:18px;background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.wb-k{display:block;font:600 9px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.wb-week{left:20px;top:66px;width:206px;height:196px}
.wb-n{display:block;margin-top:8px;font:300 36px/1 var(--sans);letter-spacing:-.03em;background:linear-gradient(100deg,#fff 30%,#FFD68A 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.wb-bars{position:absolute;left:13px;right:13px;bottom:10px;height:86px;display:flex;justify-content:space-between;align-items:flex-end}
.wb-bars span{width:18px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.wb-bars i{display:block;width:12px;height:calc(var(--h) * .62);min-height:4px;border-radius:6px;background:rgba(255,255,255,.82);transform-origin:50% 100%}
.wb-bars span:nth-child(5) i{height:4px;background:rgba(255,255,255,.3)}
.wb-bars .gold i{background:linear-gradient(180deg,#FFE2A6,#FFC86B);box-shadow:0 0 14px rgba(255,200,107,.6)}
.wb-bars em{font:500 9px var(--sans);font-style:normal;color:rgba(255,255,255,.7)}
.wb-sports{left:234px;top:66px;width:108px;height:196px}
.wb-sp{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.wb-sp span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);color:#fff}
.wb-sp .ic{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.wb-pill{position:absolute;right:11px;bottom:12px;font:500 10px var(--sans);padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.18)}
.wb-str{left:20px;top:270px;width:102px;height:132px;background:rgba(255,255,255,.05);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.wb-bell{position:absolute;left:50%;top:56%;width:40px;height:40px;margin:-20px 0 0 -20px;stroke:rgba(255,255,255,.55);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.wb-ask{animation:wbask 2.6s ease-in-out infinite}
@keyframes wbask{50%{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55),0 0 26px rgba(255,255,255,.28)}}
.wb-kit{left:130px;top:270px;width:102px;height:132px}
.wb-kits{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.wb-kits .ic{width:34px;height:34px;padding:7px;border-radius:12px;background:rgba(255,255,255,.14);stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wb-pace{left:240px;top:270px;width:102px;height:132px}
.wb-dial{position:absolute;left:11px;right:11px;bottom:14px;width:80px;height:46px}
.wb-races{left:20px;top:410px;width:322px;height:176px}
.wb-wk{position:absolute;right:13px;top:10px;font:300 22px/1 var(--sans);letter-spacing:-.02em}
.wb-rule{position:absolute;left:13px;right:30px;top:84px;height:6px;display:flex;gap:4px}
.wb-rule i{height:6px;border-radius:4px;background:#fff;opacity:.9}
.wb-rule .r1{flex:154}.wb-rule .r2{flex:28;background:#4FC8FF}.wb-rule .r3{flex:26;background:#A08CFF}.wb-rule .r4{flex:8;background:#FFC86B}
.wb-rule .r1{background:#5CFFE0}
.wb-bib{position:absolute;right:-24px;top:-10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#FFC86B;box-shadow:0 0 18px rgba(255,200,107,.7)}
.wb-bib .ic{width:14px;height:14px;stroke:#2A1C05;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wb-months{position:absolute;left:13px;right:30px;top:106px;display:flex;justify-content:space-between;font:500 9.5px var(--sans);color:rgba(255,255,255,.72)}
.js .wi-back .wb-box{opacity:0;transform:translateY(12px) scale(.97)}
.wi-back.on .wb-box{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .7s var(--spring)}
.wi-back.on .wb-sports{transition-delay:.15s}.wi-back.on .wb-str{transition-delay:.3s}.wi-back.on .wb-kit{transition-delay:.45s}.wi-back.on .wb-pace{transition-delay:.6s}.wi-back.on .wb-races{transition-delay:.75s}
.js .wi-back .wb-bars i{transform:scaleY(0)}
.wi-back.on .wb-bars i{transform:none;transition:transform .7s calc(.4s + var(--i) * 70ms) cubic-bezier(.3,1.2,.5,1)}
/* Act IV */
.wi-build{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-direction:column;gap:10px;max-width:30em}
.wi-build li{position:relative;display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.7);border:1px solid #fff;font:400 1.1rem var(--serif);font-size:1.25rem;opacity:.35;transition:opacity .5s,box-shadow .5s}
.wi-build li::before{content:"";width:22px;height:22px;border-radius:50%;flex:none;border:1.4px solid var(--hair);background:no-repeat 50%/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5l9.5-10' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");transition:background-color .4s,border-color .4s}
.wi-build li.on{opacity:1;box-shadow:0 10px 26px rgba(60,52,120,.08)}
.wi-build li.on::before{background-color:var(--teal-vivid);border-color:transparent}
.wi-beat{margin-top:26px;font:italic 400 clamp(2rem,1.4rem + 2vw,3.2rem)/1 var(--serif);background:var(--silk-warm);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;transform:translateY(10px);transition:opacity .9s var(--ease),transform .9s var(--ease);padding-right:.1em}
.wi-beat.on{opacity:1;transform:none}
.wi-card4{display:flex;justify-content:center}
/* Act V */
.wi-eve{position:relative;min-height:460px;justify-content:center;padding:44px 32px 36px;border-radius:34px;background:radial-gradient(80% 60% at 100% 0%,rgba(255,200,107,.14),transparent 60%),radial-gradient(70% 60% at 0% 100%,rgba(120,100,255,.18),transparent 60%),linear-gradient(170deg,#121821,#0A0D12);box-shadow:0 40px 90px rgba(11,15,20,.28);display:flex;flex-direction:column;align-items:center;gap:22px}
.wi-note{width:100%;max-width:380px}
.wi-note .lk-note{background:rgba(255,255,255,.12)}
.wi-wheel{display:flex;align-items:center;gap:6px;padding:10px 26px;border-radius:24px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);position:relative}
.wi-wheel::before{content:"";position:absolute;left:12px;right:12px;top:50%;height:56px;margin-top:-28px;border-radius:12px;background:rgba(255,255,255,.08)}
.wi-col{position:relative;display:flex;flex-direction:column;align-items:center;font:300 26px/1.5 -apple-system,system-ui,var(--sans);color:var(--soft);font-variant-numeric:tabular-nums}
.wi-col span:first-child,.wi-col span:last-child{opacity:.35;font-size:18px}
.wi-col b{font-weight:400;font-size:40px;line-height:1.35;color:var(--ink)}
.wi-wheel i{position:relative;font:400 36px var(--sans);font-style:normal;color:var(--ink)}
.wi-eve-k{font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}
@media (max-width:960px){.wi-lift{left:auto;right:-10px;bottom:90px}.wi-or{grid-template-columns:minmax(0,1fr)}.wi-act3 .td-two{gap:40px}}
@media (max-width:640px){.wi-lift{display:none}}
/* ---------- Questions (24 October 2026): four chapters, one by night ---------- */
.qa-hero{background:radial-gradient(40% 50% at 78% 40%,rgba(112,89,224,.10),transparent 70%),radial-gradient(40% 50% at 66% 82%,rgba(15,160,144,.10),transparent 70%),var(--bg)}
.qa-hero .hero-line a{color:var(--violet)}
.qa-index{align-items:stretch;gap:0;padding:10px;border-radius:32px;background:rgba(255,255,255,.66);border:1px solid #fff;box-shadow:inset 0 1px 0 #fff,0 30px 70px rgba(60,52,120,.10)}
.qa-index a{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:16px;padding:20px 20px;border-radius:24px;text-decoration:none;color:var(--ink);transition:background .3s}
.qa-index a+a{border-top:1px solid var(--hair)}
.qa-index a:hover{background:#fff}
.qa-index span{font:500 .8rem/1 var(--sans);letter-spacing:.12em;color:var(--faint);font-variant-numeric:tabular-nums}
.qa-index b{font:400 clamp(1.7rem,1.2rem + 1.4vw,2.5rem)/1 var(--serif);font-weight:400}
.qa-index em{font:400 .875rem var(--sans);font-style:normal;color:var(--soft)}
.qa-ch{position:relative;overflow:hidden;padding:clamp(70px,8vw,120px) 0}
.qa-ch .faq-group{position:relative;border-top:0}
.qa-head h2{margin-top:18px;font:400 clamp(2.4rem,1.6rem + 2.4vw,3.8rem)/1 var(--serif);letter-spacing:-.02em}
.qa-ch .qa summary{padding:24px 0}
@media (min-width:961px){.qa-ch .faq-group>.qa-head{grid-column:1;grid-row:1 / span 40;align-self:start;position:sticky;top:110px}.qa-ch .faq-group>.qa{grid-column:2}.qa-ch .faq-group>.qa:first-of-type{border-top:1px solid var(--hair)}}
@media (max-width:960px){.qa-head{margin-bottom:12px}}
.qa-night .qa{border-color:rgba(255,255,255,.1)}
.qa-night .faq-group>.qa:first-of-type{border-top-color:rgba(255,255,255,.1)}
.qa-night .qa summary .pm{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);box-shadow:none}
.qa-night .qa summary .pm::before,.qa-night .qa summary .pm::after{background:#F1F4F6}
.qa-night .qa[open] summary .pm{background:var(--teal)}
.qa-night .qa[open] summary .pm::before,.qa-night .qa[open] summary .pm::after{background:#05110F}
.qa-night .qa .a,.qa-night .qa .a p{color:var(--ink-2)}
.qa-night .qa .a a{color:var(--teal)}
/* ---------- press kit (24 October 2026): the mark as the opening, three chapters ---------- */
.pr-hero{background:radial-gradient(40% 50% at 76% 46%,rgba(15,160,144,.12),transparent 70%),radial-gradient(36% 46% at 86% 80%,rgba(112,89,224,.10),transparent 70%),var(--bg)}
.pr-hero .hero-line a{color:var(--violet)}
.pr-lockup{position:relative;overflow:hidden;align-items:center;justify-content:center;gap:0;min-height:min(560px,62vh);padding:56px 40px;border-radius:36px;background:radial-gradient(70% 60% at 50% 40%,rgba(46,230,208,.16),transparent 64%),radial-gradient(60% 50% at 90% 100%,rgba(160,140,255,.16),transparent 60%),#0A0C0F;box-shadow:0 50px 100px rgba(11,15,20,.30),0 12px 30px rgba(11,15,20,.16)}
.pr-glow{position:absolute;left:50%;top:42%;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;background:radial-gradient(closest-side,rgba(92,255,224,.20),transparent);animation:breathe 6s ease-in-out infinite;pointer-events:none}
.pr-lockup img{position:relative;width:min(230px,52%);height:auto;filter:drop-shadow(0 0 30px rgba(92,255,224,.25))}
.pr-wm{position:relative;margin-top:30px;font:400 20px/1 var(--wide);letter-spacing:.5em;margin-right:-.5em;color:#F1F4F6}
.pr-tl{position:relative;margin-top:14px;font:italic 400 22px/1.1 var(--serif);color:rgba(241,244,246,.7)}
.pr-ch{padding-block:clamp(70px,8vw,120px)}
.pr-ch+.pr-ch{padding-top:0}
.pr-grid{margin-top:clamp(36px,4vw,56px)}
/* ---------- the reading pages and the 404 (24 October 2026): no silk; a labelled top and a quiet end ---------- */
.rd-top{background:radial-gradient(40% 90% at 84% 0%,rgba(112,89,224,.10),transparent 70%),radial-gradient(36% 80% at 10% 100%,rgba(15,160,144,.08),transparent 70%),var(--bg)}
.rd-top .reading-head .display-l{margin-top:22px}
.rd-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;margin-top:clamp(48px,6vw,80px);margin-bottom:clamp(60px,7vw,110px);padding:26px 30px;border-radius:28px;background:rgba(255,255,255,.7);border:1px solid #fff;box-shadow:inset 0 1px 0 #fff,0 24px 60px rgba(60,52,120,.08)}
.rd-end p{font:400 clamp(1.4rem,1.1rem + .9vw,2rem)/1.1 var(--serif)}
.lost{min-height:100vh}
.lost .wrap{position:relative;z-index:2}
.lost-t{margin-top:26px;font-size:clamp(4rem,1.6rem + 8vw,10rem)}
.js .hero.lost .hero-line,.js .hero.lost .hero-acts{opacity:1;animation:none}

/* ---------- the language switch (step 4, the founder's "flag with english and deutsch to switch from clearly visible") ---------- */
.lang{display:flex;gap:2px;padding:5px;border-radius:var(--r-pill);background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.75);box-shadow:var(--glass-hi),0 10px 30px rgba(60,52,120,.08);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}
.lang a{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border-radius:var(--r-pill);font:400 .9375rem/1 var(--sans);color:var(--soft);text-decoration:none;transition:color .25s,background .25s}
.lang a:hover{color:var(--ink);background:rgba(255,255,255,.75)}
.lang a[aria-current]{color:var(--ink);background:#fff;box-shadow:0 4px 14px rgba(60,52,120,.10)}
.flag{display:inline-block;width:22px;height:22px;border-radius:50%;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(22,24,29,.10)}
.flag svg{display:block;width:100%;height:100%}
.lang-menu{margin-top:28px}
.lang-menu .lang{display:inline-flex}
@media (max-width:900px){
  .site-header .lang a[aria-current]{display:none}
  .site-header .lang{padding:4px}
  .site-header .lang a{padding:6px}
  .site-header .lang .lang-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .site-header-in{gap:12px}
}

/* The German pages: German joins words into long ones (Datenschutzbeauftragten, Nutzungsbedingungen), and on a phone a
   few are wider than their column. There they break at a syllable, with a hyphen, as German print does; the English
   pages and wider screens are untouched. */
@media (max-width: 600px){html[lang="de"] body{-webkit-hyphens:auto;hyphens:auto}}

/* Phones (the founder's "A phone pass (Recommended)", then "One-screen opening (Recommended)", "Swipe rows, finished
   (Recommended)" and "Tighter rhythm (Recommended)", 24 October 2026; then, on 25 October, "Two phones, day and night",
   "The card stays put (Recommended)", "Part by part (Recommended)" and "Open, like the app (Recommended)"): each page
   made for a phone, wider screens untouched and no word changed. Home's opening is one screen: the title and its line,
   the app by day and by night as two phones fanned below them, and the status at the foot (its button left off a phone,
   where scrolling does its work). The two season cards and the engine and your data are rows to swipe, the item in
   front centred, the next peeking in, with dots below (site.js). Leo's week card, slimmer, holds under the header while
   his days pass beneath it (week.js). His session holds still while the phone moves in on one part at a time, that
   part's words beneath (week.js; with Reduce Motion, the phone and its parts one under the other). The season opens out
   as the app's Season screen does: the count, the race, the land edge to edge with the next race on it, every week, and
   the chapters (front.js). Less space between sections. */
.swipe-dots,.twin-crop,.sea-strip,.up-dots,.up-focus{display:none}
@keyframes fanl{from{transform:translateX(-50%) rotate(0deg)}}
@keyframes fanr{from{transform:translateX(-50%) translateY(30px) rotate(0deg)}}
@media (max-width: 600px){
  /* the opening: the title, its line, and the app by day and by night */
  .front-hero{height:100svh;min-height:540px;max-height:940px;padding:calc(76px + 6px) 0 0;overflow:hidden;display:flex;flex-direction:column}
  .front-hero>.hero-grid{flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:0}
  .front-hero .hero-copy{display:contents}
  .front-hero .hero-title{font-size:clamp(3.3rem,15.4vw,4rem)}
  .front-hero .hero-line{margin-top:14px;font-size:1rem;line-height:1.45;max-width:24em;-webkit-hyphens:manual;hyphens:manual}
  .front-hero .front-acts,.front-hero .switch,.front-hero .fs-card,.front-hero .front-land{display:none}
  .front-hero .hero-app{order:2;flex:1;min-height:0;display:block;margin:4px calc(var(--gutter) * -1) 0;-webkit-mask-image:linear-gradient(#000 72%,transparent 97%);mask-image:linear-gradient(#000 72%,transparent 97%)}
  .front-hero .front-status{order:3;margin:0 0 calc(20px + env(safe-area-inset-bottom))}
  .front-hero .hero-app .phone{--s:.5!important}
  .front-hero .phone-crop,.front-hero .twin-crop{display:block;position:absolute;top:24px;left:50%;margin:0;padding:0;overflow:visible;-webkit-mask-image:none;mask-image:none}
  .front-hero .phone-crop{z-index:2;transform:translateX(calc(-100% + 40px)) rotate(-4deg)}
  .front-hero .twin-crop{z-index:1;transform:translateX(-40px) translateY(30px) rotate(4deg)}
  .js .front-hero .phone-crop{animation:fanl 1.3s .95s var(--spring) backwards}
  .js .front-hero .twin-crop{animation:fanr 1.3s .95s var(--spring) backwards}
  .front-hero .phone-halo{width:140%;height:105%;top:44%;background:radial-gradient(closest-side,rgba(112,89,224,.17),rgba(0,190,165,.09) 55%,transparent 76%)}

  /* rows to swipe */
  .cards2,.yours-grid{position:relative;display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding:18px var(--gutter) 56px;margin-block:-12px -44px;scrollbar-width:none}
  .cards2::-webkit-scrollbar,.yours-grid::-webkit-scrollbar{display:none}
  .cards2>.card2,.yours-grid>*{flex:0 0 auto;scroll-snap-align:center}
  .cards2{margin-top:28px}
  .cards2>.card2{width:76%}
  .yours-grid{margin-top:28px;align-items:stretch}
  .yours-grid>*{width:86%}
  .swipe-dots{display:flex;justify-content:center;gap:7px;margin-top:12px}
  .swipe-dots i,.up-dots i{width:6px;height:6px;border-radius:3px;background:color-mix(in srgb,var(--ink) 22%,transparent);transition:width .3s var(--ease),background .3s}
  .swipe-dots i.on,.up-dots i.on{width:18px;background:var(--ink)}

  /* Leo's week: the card, slimmer, holds under the header while the days pass beneath it */
  .ws-grid{display:flex;flex-direction:column;gap:0;margin-top:26px}
  .ws-side{position:sticky;top:76px;z-index:3;margin-inline:calc(var(--gutter) * -1);padding:6px var(--gutter) 0;background:var(--bg)}
  .ws-side::after{content:"";position:absolute;left:0;right:0;top:100%;height:34px;background:linear-gradient(var(--bg),color-mix(in srgb,var(--bg) 0%,transparent));pointer-events:none}
  .ws-side.stuck::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:80px;background:var(--bg)}
  .ws-side .appwk-zoom{zoom:1}
  .ws-side .appwk{width:auto;max-width:none;padding:14px 16px 8px}
  .ws-side .w7nums,.ws-side .w7sp,.ws-side .w7det{display:none}
  .ws-side .w7plot{height:80px}
  .ws-days{display:block}
  .ws-days>.day{min-height:calc((100svh - 76px - var(--wk-h,250px)) * .84);padding:18px 0 24px;justify-content:flex-start}
  .js .ws-days>.day{opacity:.28}
  .js .ws-days>.day.is-on{opacity:1}
  .ws-days .day-t{font-size:1.7rem;margin-top:10px}
  .ws-days .sheet{margin-top:14px;max-width:none}
  .ws-days .sheet .band{padding:18px 18px 16px}
  .ws-days .sheet h4{font-size:28px;margin-top:10px}
  .ws-days .sheet .bsub{font-size:14px;margin-top:6px}
  .ws-days .sh-effort{height:40px;margin-top:10px}
  .ws-days .sh-chips{gap:5px;padding:14px 16px 16px}
  .ws-days .sh-chips span{font-size:12px;padding:6px 8px}
  .ws-days .sh-say{padding:14px 18px 16px;font-size:17px}
  .ws-days .sh-say.small{padding:0 18px 16px;font-size:13px}
  .ws-days .sh-row{padding:16px 18px}
  .ws-days .sh-note{margin:14px 16px 16px;padding:11px 13px}
  .ws-days .sh-days{padding:14px 16px 0}
  .ws-days .sh-days span{height:36px}
  .ws-days .sh-tiles{padding:16px 16px 0}
  .ws-days .sh-acts{padding:14px 16px 0}
  .ws-days .sh-btn{height:38px;padding:0 14px;font-size:14px}
  .ws-days .sh-legs{margin-top:12px}
  .ws-days .sh-legs span{white-space:nowrap}

  /* his session, up close: with Reduce Motion, the phone and its parts one under the other */
  .upclose{overflow:clip}
  .up-stage{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:30px}
  .up-stage>.up-links{display:none}
  .up-stage>.up-phone{order:-1;align-self:center;margin-bottom:16px}
  .up-phone .phone{--s:.6!important}
  .up-stage>.up-part{width:100%;max-width:none}
  /* and otherwise held still, the phone moving in on one part at a time (week.js) */
  .up-stage.scene{position:sticky;top:76px;display:block;height:calc(100svh - 76px);margin:14px calc(var(--gutter) * -1) 0;overflow:hidden}
  .up-stage.scene>.up-phone{position:absolute;inset:0;margin:0;align-self:stretch}
  .up-stage.scene .phone{--s:1!important;position:absolute;left:0;top:0;transform-origin:0 0;transform:translate(var(--tx,0px),var(--ty,0px)) scale(var(--k,.5));transition:transform 1.05s cubic-bezier(.3,.75,.15,1)}
  .up-stage.scene>.up-part{position:absolute;left:0;right:0;bottom:0;z-index:3;margin:0;padding:40px var(--gutter) 52px;border:0;border-radius:0;background:linear-gradient(transparent,var(--bg) 28px);opacity:0;transform:translateY(16px);transition:opacity .45s var(--ease),transform .7s var(--ease);pointer-events:none}
  .up-stage.scene>.up-part.on{opacity:1;transform:none;transition-delay:.25s}
  .up-stage.scene .up-effort .up-shape{display:none}
  .up-stage.scene .up-effort .up-steps-x{margin-top:0}
  .up-stage.scene .up-dots{display:flex;position:absolute;left:0;right:0;bottom:20px;z-index:4;justify-content:center;gap:7px}
  .upclose .up-dots i{background:rgba(255,255,255,.24)}
  .upclose .up-dots i.on{background:#F1F4F6}
  .up-stage.scene .up-focus{display:block;position:absolute;z-index:20;left:0;top:0;width:var(--fw,0px);height:var(--fh,0px);transform:translate(var(--fx,0px),var(--fy,0px));border-radius:24px;box-shadow:0 0 0 2px rgba(92,255,224,.8),0 0 44px rgba(92,255,224,.32);opacity:0;pointer-events:none;transition:opacity .5s,transform 1.05s cubic-bezier(.3,.75,.15,1),width 1.05s cubic-bezier(.3,.75,.15,1),height 1.05s cubic-bezier(.3,.75,.15,1)}
  .up-stage.scene .up-focus.on{opacity:1}
  .upclose.scene .wrap::after{content:"";display:block;height:200svh}

  /* the season, open, as the app's Season screen is */
  .sea-head{gap:20px}
  .sun-switch button{white-space:nowrap}
  .sea-board{margin-top:34px;padding:0;border-radius:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}
  .sea-top{position:static;display:block;padding:0}
  .sea-count{gap:16px}
  .sea-count .count-n{font-size:7.6rem}
  .sea-count .count-t b{font-size:2.5rem}
  .sea-race{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:24px}
  .sea-race span{padding:0;background:none;box-shadow:none;border-radius:0;font-size:.8125rem;gap:6px}
  .sea-race span .ic{width:16px;height:16px}
  .sea-top .sun-next{position:absolute;z-index:3;left:var(--nx,auto);top:var(--ny,auto);margin:0;padding:8px 14px 8px 8px;gap:10px;border-radius:18px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .sea-top .sun-next .sn-ic{width:32px;height:32px}
  .sea-top .sun-next .sn-ic .ic{width:16px;height:16px}
  .sea-top .sun-next .sn-t small{font-size:11px}
  .sea-top .sun-next .sn-t b{font-size:19px}
  .sea-top .sun-next .sn-t span{font-size:12px}
  .season-all .sun-land{margin:22px calc(var(--gutter) * -1) 0}
  .sea-weeks{padding:0;margin-top:10px}
  .sea-wk-head{flex-direction:column;gap:8px;margin-bottom:0}
  .sea-bars{height:166px;gap:2px;margin-inline:calc(var(--gutter) * -1);padding:34px 12px 0}
  .sb2 small{display:block}
  .sea-strip{display:flex;gap:3px;height:4px;margin:10px calc(var(--gutter) * -1 + 12px) 0}
  .sea-strip i{flex:var(--n) 1 0;border-radius:2px;background:var(--c)}
  .season-all .sun-chapters{display:block;padding:20px 0 0}
  .season-all .sc{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--hair)}
  .season-all .sc i{display:block;width:9px;height:9px;border-radius:50%;background:var(--c)}
  .season-all .sc b{font-size:1rem}
  .season-all .sc span{font-size:.875rem;white-space:nowrap}

  :root{--section:72px}
  .chapter-s,.week-story,.upclose,.season-all,.yours-s{padding:64px 0}
  .ch-t{font-size:clamp(2.5rem,11vw,3rem);margin-top:18px}
  .ch-more{margin-top:22px}
}
@media (max-width: 380px){.front-hero .hero-app .phone{--s:.46!important}}
@media (min-width: 414px) and (max-width: 600px){.front-hero .hero-app .phone{--s:.54!important}}
@media (max-width: 600px) and (prefers-reduced-motion: reduce){.js .front-hero .phone-crop,.js .front-hero .twin-crop{animation:none}}
@media (max-width: 600px){:root[data-motion=reduce] .front-hero .phone-crop,:root[data-motion=reduce] .front-hero .twin-crop{animation:none}}
