/* lastmonday.xyz — one sky from night to day. Tokens, then base, header, and one block per section.
   Motion writes only transform and opacity (plus a few classes); reduced motion shows every scene's final state. */

/* ------------------------------------------------------------------ fonts (self-hosted, OFL; latin + latin-ext) */
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-latin-ext-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-latin-ext-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-latin-ext-wght-normal.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ------------------------------------------------------------------ tokens */
:root{
  --ink:#1B1938;--ink-2:#4A4768;--ink-3:#6B6789;
  --cream:#F7F2E8;--cream-2:#C4BEDF;--cream-3:#9791BC;
  --sun:#FFC36B;--sun-hi:#FFD98F;--apricot:#FF9F7A;
  --need:#FF8A7A;--ready:#3FB8A0;--read:#9B8CFF;
  --need-ink:#A53A2C;--ready-ink:#1C735F;--read-ink:#5443C9;
  /* the sky, top to bottom of the page: each section starts where the one above ends */
  --night-0:#0B0C26;--night-1:#15163A;--night-2:#2B2452;
  --dawn-0:#F0A48A;--dawn-1:#FBE3CB;
  --day-0:#E3EEF6;--day-1:#D7E9F5;--day-2:#BFE0F5;--day-3:#B3D6EE;
  --f-d:"Instrument Serif",Georgia,"Times New Roman",serif;
  --f-t:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gut:max(16px,4vw);
  --max:1200px;
  --hdr:64px;
  --ease:cubic-bezier(.22,.8,.24,1);
  --soft:cubic-bezier(.45,0,.2,1);
  color-scheme:light;
}

/* ------------------------------------------------------------------ base */
*,*::before,*::after{box-sizing:border-box}
/* the canvas behind the page: night above (the top overscroll), day below (the bottom overscroll) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:linear-gradient(180deg,var(--night-0) 50%,var(--day-3) 50%);scroll-padding-top:80px}
body{margin:0;background:var(--night-0);color:var(--ink);font-family:var(--f-t);font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.6;font-weight:450;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;hyphens:auto;overflow-wrap:break-word;overflow-x:clip}
main{overflow-x:clip}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
:focus-visible{outline:2px solid var(--apricot);outline-offset:3px;border-radius:6px}
p,h1,h2,h3,ul,ol,figure{margin:0}
p{text-wrap:pretty}
ul,ol{padding:0;list-style:none}
h1,h2,h3{font-family:var(--f-d);font-weight:400;hyphens:manual;overflow-wrap:break-word;text-wrap:balance;letter-spacing:-.01em}
h2{font-size:clamp(2.5rem,1.5rem + 4vw,5rem);line-height:1}
h3{font-size:clamp(1.4rem,1.25rem + .5vw,1.7rem);line-height:1.1}
em{font-style:italic}
.wrap{width:min(var(--max),100% - 2 * var(--gut));margin-inline:auto}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.ic{width:1.1em;height:1.1em;flex:none}
.skip{position:fixed;left:12px;top:12px;z-index:100;padding:10px 14px;background:var(--ink);color:var(--cream);border-radius:10px;transform:translateY(-200%)}
.skip:focus{transform:none}
section{position:relative}
.gd{width:6px;height:6px;border-radius:50%;background:var(--sun);box-shadow:0 0 12px 2px rgba(255,195,107,.7);flex:none}
.kicker{font:700 .78rem/1.3 var(--f-t);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:18px}
.sub{color:var(--ink-2);font-size:clamp(1.02rem,.96rem + .3vw,1.2rem);max-width:36em;margin-top:20px}
.sec-head{text-align:center;max-width:46rem;margin:0 auto clamp(44px,6vw,80px)}
.sec-head .sub{margin-inline:auto}
.tag-ill{display:inline-flex;align-items:center;height:20px;padding:0 8px;border:1px solid currentColor;border-radius:999px;font:700 .66rem/1 var(--f-t);letter-spacing:.1em;text-transform:uppercase;opacity:.6;white-space:nowrap;flex:none}

/* ------------------------------------------------------------------ the mark + the wordmark */
.mark{width:34px;height:34px;flex:none;overflow:visible}
.mark .mk-line{fill:currentColor}
.lockup{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.wm{font:400 1.5rem/1 var(--f-d);letter-spacing:-.005em;white-space:nowrap;hyphens:none}
.wm em{font-style:italic}

/* ------------------------------------------------------------------ buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:44px;padding:.6em 1.15em;border-radius:999px;font:700 1rem/1.15 var(--f-t);text-decoration:none;text-align:center;
  transition:translate .35s var(--ease),box-shadow .35s var(--ease),background-color .3s,color .3s,border-color .3s;isolation:isolate}
.btn:hover{translate:0 -2px}
.btn:active{translate:0 1px}
.btn-lg{min-height:56px;padding:.8em 1.6em;font-size:1.05rem}
.btn-sun{color:#2A1830;background:linear-gradient(135deg,var(--sun-hi),var(--apricot));box-shadow:0 12px 40px -12px rgba(255,160,110,.75),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-sun:hover{box-shadow:0 18px 50px -12px rgba(255,170,110,.95),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-ink{color:var(--cream);background:var(--ink);box-shadow:0 16px 40px -16px rgba(27,25,56,.7)}
.btn-ink:hover{box-shadow:0 22px 50px -16px rgba(27,25,56,.85)}
.btn-ghost{min-height:40px;padding:.45em 1em;font-size:.92rem;border:1px solid color-mix(in srgb,currentColor 35%,transparent)}
.btn-ghost:hover{border-color:currentColor}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px;margin-top:clamp(28px,3.4vw,40px)}
.cta-note{font-size:.9rem;opacity:.75}

/* ------------------------------------------------------------------ header, progress, language menu */
.progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:70;pointer-events:none}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--sun),var(--apricot));transform:scaleX(0);transform-origin:left}
.hdr{position:fixed;left:0;right:0;top:0;z-index:50;height:var(--hdr);color:var(--cream);border-bottom:1px solid transparent;
  transition:transform .45s var(--ease),background-color .5s,border-color .5s,color .5s}
.hdr[data-tone="light"]{color:var(--ink)}
.hdr.solid{background:rgba(11,12,38,.5);border-bottom-color:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3)}
.hdr.solid[data-tone="light"]{background:rgba(255,252,246,.6);border-bottom-color:rgba(27,25,56,.08)}
.hdr.away{transform:translateY(-100%)}
.hdr-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.hdr-nav{display:flex;align-items:center;gap:10px}

.langmenu{position:relative}
.langmenu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px 0 11px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 35%,transparent);font-size:.92rem;font-weight:650;user-select:none}
.langmenu summary::-webkit-details-marker{display:none}
.langmenu summary:hover{border-color:currentColor}
.lm-caret{width:14px;height:14px;transition:transform .25s var(--ease)}
.langmenu[open] .lm-caret{transform:rotate(180deg)}
.lm-panel{background:#FFFCF7;border:1px solid rgba(27,25,56,.1);border-radius:18px;box-shadow:0 30px 70px -24px rgba(11,12,38,.45),0 2px 6px rgba(11,12,38,.08);color:var(--ink)}
.langmenu[open] .lm-panel{animation:lmIn .28s var(--ease) both}
@keyframes lmIn{from{opacity:0;transform:translateY(-6px)}}
.lm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 10px 18px;font-size:.76rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.lm-close{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(27,25,56,.14);background:transparent;color:var(--ink);cursor:pointer}
.lm-close .ic{width:16px;height:16px}
.lm-panel ul{display:grid;padding:0 8px 10px}
.lm-panel a{display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:10px;text-decoration:none;font-size:1rem}
.lm-panel a:hover{background:#F4EDE2}
.lm-panel a[aria-current]{font-weight:750}
.lm-panel a[aria-current]::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--apricot);margin-left:auto}
.lm-desk .lm-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(380px,calc(100vw - 32px))}
.lm-desk .lm-panel ul{grid-template-columns:1fr 1fr}
.lm-desk .lm-panel a{min-height:42px}
.lm-mob{display:none}

/* the language hint: a small note in the visitor's own language, under the header, only over the hero */
.hint{position:fixed;z-index:55;right:var(--gut);top:calc(var(--hdr) + 12px);max-width:340px;display:flex;align-items:flex-start;gap:12px;padding:14px 12px 14px 16px;background:#FFFCF7;color:var(--ink);border-radius:14px;box-shadow:0 20px 50px -20px rgba(11,12,38,.6);font-size:.95rem;line-height:1.4;
  transform:translateY(-10px);opacity:0;visibility:hidden;transition:transform .5s var(--ease),opacity .5s,visibility 0s .5s}
.hint.on{transform:none;opacity:1;visibility:visible;transition:transform .5s var(--ease),opacity .5s,visibility 0s}
body:has(.langmenu[open]) .hint{opacity:0;pointer-events:none;visibility:hidden}
.hint p{margin:0 0 4px}
.hint a{font-weight:750;text-decoration-color:var(--apricot)}
.hint button{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;border:1px solid rgba(27,25,56,.14);background:transparent;color:var(--ink);cursor:pointer}
.hint button .ic{width:14px;height:14px}

@media (max-width:899px){
  .lm-desk{display:none}
  .lm-mob{display:block;position:fixed;z-index:60;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));transition:transform .35s var(--ease),opacity .35s,visibility 0s}
  .lm-mob.lm-hide:not([open]){transform:translateY(90px);opacity:0;pointer-events:none;visibility:hidden;transition:transform .35s var(--ease),opacity .35s,visibility 0s .35s}
  .lm-mob summary{min-height:48px;padding:0 16px 0 14px;box-shadow:0 12px 30px -10px rgba(11,12,38,.55);background:var(--ink);color:var(--cream);border-color:rgba(255,255,255,.14)}
  .lm-mob[open] summary::before{content:"";position:fixed;inset:0;background:rgba(11,12,38,.45);z-index:0;animation:fade .25s both}
  .lm-mob .lm-panel{position:fixed;left:0;right:0;bottom:0;z-index:1;max-height:min(78vh,720px);overflow:auto;border-radius:22px 22px 0 0;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  .lm-mob[open] .lm-panel{animation:sheetIn .34s var(--ease) both}
  .lm-mob .lm-panel a{min-height:54px;font-size:1.05rem;border-bottom:1px solid rgba(27,25,56,.08);border-radius:0}
  .lm-mob .lm-panel li:last-child a{border-bottom:0}
  .hint{left:16px;right:16px;top:calc(var(--hdr) + 8px);max-width:none;padding:10px 8px 10px 14px;font-size:.9rem}
}
@media (max-width:520px){
  .hdr-cta{display:none}
}
@keyframes sheetIn{from{transform:translateY(40%);opacity:0}}
@keyframes fade{from{opacity:0}}

/* ------------------------------------------------------------------ 1 · night: the hero */
.hero{min-height:100vh;min-height:100svh;display:grid;align-items:center;padding:calc(var(--hdr) + 32px) 0 clamp(120px,20vh,220px);overflow:hidden;isolation:isolate;color:var(--cream);text-align:center;
  background:linear-gradient(180deg,var(--night-0) 0%,var(--night-1) 42%,#211D47 76%,var(--night-2) 100%)}
.sky{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.stars{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.glow{position:absolute;border-radius:50%;will-change:transform}
.glow-a{left:-22vw;top:4vh;width:max(70vw,520px);aspect-ratio:1;background:radial-gradient(closest-side,rgba(118,92,230,.26),rgba(118,92,230,0))}
.glow-b{right:-26vw;top:30vh;width:max(64vw,480px);aspect-ratio:1;background:radial-gradient(closest-side,rgba(255,150,120,.13),rgba(255,150,120,0))}
.moon-wrap{position:absolute;right:13%;top:17%;will-change:transform}
.moon{position:relative;width:clamp(58px,7.5vw,116px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 36% 34%,#FFFCF2 0,#F8EDD3 42%,#EAD7AB 100%);
  box-shadow:0 0 36px 6px rgba(255,236,190,.3),0 0 140px 48px rgba(255,222,165,.1)}
.moon::after{content:"";position:absolute;inset:0;border-radius:50%;opacity:.5;
  background:radial-gradient(circle at 62% 58%,rgba(196,170,120,.55) 0 7%,transparent 8%),radial-gradient(circle at 40% 70%,rgba(196,170,120,.45) 0 5%,transparent 6%),radial-gradient(circle at 70% 32%,rgba(196,170,120,.35) 0 4%,transparent 5%)}
.hills{position:absolute;left:-3%;right:-3%;bottom:0;height:clamp(170px,32vh,330px)}
.hill{position:absolute;left:0;right:0;bottom:-40px;width:100%;height:calc(100% + 40px);max-width:none;will-change:transform}
.hill-3 path{fill:#2C2860}
.hill-2 path{fill:#211E4B}
.hill-1 path{fill:#18173A}
.mist{position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(180deg,rgba(43,36,82,0) 0%,rgba(43,36,82,.75) 55%,var(--night-2) 100%)}
.mist::before,.mist::after{content:"";position:absolute;left:-30%;width:160%;height:70%;bottom:18%;border-radius:50%;background:radial-gradient(closest-side,rgba(190,180,240,.16),rgba(190,180,240,0))}
.mist::after{bottom:34%;left:-10%;width:120%;height:50%;background:radial-gradient(closest-side,rgba(255,200,180,.08),rgba(255,200,180,0))}
.play .mist::before{animation:drift 38s var(--soft) infinite alternate}
.play .mist::after{animation:drift 52s var(--soft) infinite alternate-reverse}
@keyframes drift{to{transform:translateX(14%)}}

.hero-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;will-change:transform}
.eyebrow{max-width:100%;display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);font:650 .82rem/1.2 var(--f-t);letter-spacing:.06em;color:var(--cream-2);margin-bottom:clamp(22px,3vw,34px)}
.hero h1{font-size:clamp(3.2rem,1.4rem + 6.6vw,8rem);line-height:.94;letter-spacing:-.018em;max-width:15ch}
.h1a,.h1b{display:block}
.h1b{font-style:italic;padding:0 .06em .06em;background:linear-gradient(95deg,#FFE7B0 5%,#FFC98F 45%,#FF9F7A 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{max-width:35em;margin-top:clamp(20px,2.6vw,30px);color:var(--cream-2);font-size:clamp(1.02rem,.95rem + .38vw,1.24rem)}
.hero .cta-note{color:var(--cream-2)}

/* the week: Monday is a paper lantern. hero.js lets it float away on scroll, and the week closes up behind it */
.week{display:flex;justify-content:center;gap:clamp(5px,1vw,9px);margin-top:clamp(34px,5vh,56px)}
.day{position:relative;display:grid;place-items:center;min-width:clamp(40px,5vw,54px);height:clamp(34px,4.2vw,40px);padding:0 9px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035);
  font:700 .78rem/1 var(--f-t);letter-spacing:.04em;color:var(--cream-3);will-change:transform}
.day-mon{color:#3A2230;border-color:transparent;background:linear-gradient(180deg,#FFE7AE,#FFB283);z-index:1}
.day-mon::before{content:"";position:absolute;inset:-18px -14px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,190,120,.55),rgba(255,170,110,0));z-index:-1}
.play .day-mon::before{animation:breathe 4.8s var(--soft) infinite}
@keyframes breathe{50%{opacity:.55;transform:scale(1.12)}}
.scroll-cue{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(22px,3.4vh,36px);font-size:.9rem;font-weight:650;color:var(--cream-2);text-decoration:none}
.scroll-cue .ic{width:30px;height:30px;padding:7px;border-radius:50%;border:1px solid rgba(255,255,255,.2)}
.play .scroll-cue .ic{animation:bob 2.6s var(--soft) infinite}
@keyframes bob{50%{transform:translateY(5px)}}

/* ------------------------------------------------------------------ 2 · pre-dawn to dawn: the pinned Monday */
.monday{height:330vh;background:var(--night-2);color:var(--cream)}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;align-items:center;isolation:isolate}
.monday .sky{background:linear-gradient(180deg,var(--night-2) 0%,#3A2F64 50%,#58427C 100%)}
.sky-dawn{position:absolute;inset:0;background:linear-gradient(180deg,#A7B2E3 0%,#D6C1DC 34%,#F5C7B0 66%,#F4B39A 86%,var(--dawn-0) 100%);will-change:opacity}
.sun{position:absolute;left:50%;bottom:0;width:min(76vw,680px);aspect-ratio:1;margin-left:calc(min(76vw,680px) / -2);will-change:transform;transform:translate3d(0,-18vh,0)}
.sun i{position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,#FFF6DD 0 17%,#FFDB94 25%,rgba(255,185,120,.55) 40%,rgba(255,160,120,.18) 60%,rgba(255,160,120,0) 100%)}
.ridge{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(80px,14vh,150px);max-width:none}
.ridge-night path{fill:#231D46}
.ridge-dawn path{fill:var(--dawn-0)}
.ridge-night{opacity:0}
.mo-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,80px);align-items:center;padding-top:calc(var(--hdr) + 8px);padding-bottom:clamp(40px,8vh,90px)}
.monday{transition:color .8s var(--soft)}
.monday.is-day{color:var(--ink)}
.clock{display:inline-grid;margin-bottom:22px}
.clock .ab{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;font:700 .82rem/1.2 var(--f-t);letter-spacing:.06em}
.clock .a{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:var(--cream-2)}
.clock .b{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);color:var(--ink)}
.clock .ab::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cream-3)}
.clock .b::before{background:var(--apricot);box-shadow:0 0 10px 2px rgba(255,159,122,.6)}
.swap,.clock{display:grid}
.clock{display:inline-grid}
.ab{grid-area:1/1;transition:opacity .7s var(--soft),transform .7s var(--ease)}
.monday:not(.is-day) .b,.monday.is-day .a{opacity:0;transform:translateY(12px);pointer-events:none}
.monday h2{font-size:clamp(2.3rem,1.4rem + 3.3vw,4.4rem);line-height:1.02}
.monday h2 .b{font-style:italic}
.mo-sub{margin-top:22px;font-size:clamp(1rem,.95rem + .3vw,1.18rem);max-width:30em;opacity:.85}

.panel{position:relative;padding:14px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);box-shadow:0 40px 90px -40px rgba(8,6,30,.7);
  transition:background-color .9s var(--soft),border-color .9s var(--soft),box-shadow .9s var(--soft)}
.is-day .panel{background:rgba(255,253,248,.62);border-color:rgba(255,255,255,.85);box-shadow:0 40px 90px -40px rgba(120,60,60,.45)}
.pn-head{display:flex;align-items:center;gap:10px;padding:6px 8px 12px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);margin-bottom:6px}
.pn-title{display:inline-flex;align-items:center;gap:8px;font-weight:750;font-size:.95rem}
/* a long localised chip gives way first (ellipsis), never the inbox title or the counter */
.pn-head .tag-ill{display:block;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;line-height:18px}
.pn-count{flex:none}
.pn-title{min-width:0;overflow-wrap:anywhere}
.pn-count{margin-left:auto;display:inline-flex;align-items:baseline;gap:8px;font-size:.8rem;font-weight:650;white-space:nowrap}
.pn-label{opacity:.75}
.pn-n{font:800 1.3rem/1 var(--f-t);font-variant-numeric:tabular-nums;min-width:2.2ch;text-align:right}
.rows{display:grid}
.row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;column-gap:12px;row-gap:1px;align-items:center;padding:9px 10px;border-radius:14px;transition:opacity .6s var(--soft),background-color .6s var(--soft)}
.dot{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:var(--kc);transition:background-color .5s,box-shadow .5s}
.r-from{font-weight:750;font-size:.92rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-sub{grid-column:2/4;font-size:.84rem;line-height:1.35;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip{grid-column:3;grid-row:1;justify-self:end;padding:4px 9px;border-radius:999px;font:750 .7rem/1.2 var(--f-t);letter-spacing:.02em;white-space:nowrap;background:color-mix(in srgb,var(--kc) 22%,transparent);color:var(--kt);
  transition:opacity .45s var(--soft),transform .5s var(--ease)}
.row[data-k="need"]{--kc:var(--need);--kt:#FFC7BD}
.row[data-k="reply"],.row[data-k="meeting"],.row[data-k="followup"]{--kc:var(--ready);--kt:#A7EBDD}
.row[data-k="read"]{--kc:var(--read);--kt:#D3CCFF}
.is-day .row[data-k="need"]{--kt:var(--need-ink)}
.is-day .row[data-k="reply"],.is-day .row[data-k="meeting"],.is-day .row[data-k="followup"]{--kt:var(--ready-ink)}
.is-day .row[data-k="read"]{--kt:var(--read-ink)}
.row[data-k="need"]:not(.wait){background:color-mix(in srgb,var(--need) 12%,transparent)}
.row[data-k="read"]:not(.wait){opacity:.5}
.row.wait .dot{background:var(--sun);box-shadow:0 0 8px 1px rgba(255,195,107,.6)}
.row.wait .chip{opacity:0;transform:scale(.85)}
.more{padding:8px 10px 4px 32px;font-size:.84rem;opacity:.65}
.panel.briefed .rows,.panel.briefed .more{opacity:.35;transition:opacity .6s var(--soft)}
.rows,.more{transition:opacity .6s var(--soft)}
.brief{position:absolute;right:clamp(-26px,-2vw,-12px);bottom:clamp(-40px,-3vw,-18px);width:min(340px,86%);padding:18px 20px 16px;border-radius:20px;background:#FFFDF8;color:var(--ink);
  box-shadow:0 40px 80px -24px rgba(90,40,50,.5),0 2px 8px rgba(90,40,50,.08);will-change:transform,opacity}
.br-head{display:flex;align-items:center;gap:8px;font:400 1.35rem/1.1 var(--f-d)}
.br-head .mark{width:28px;height:28px}
.br-hello{margin:6px 0 12px;font-size:.88rem;color:var(--ink-2)}
.br-list{display:grid;gap:8px;font-size:.9rem;font-weight:650}
.br-list li{display:flex;align-items:baseline;gap:10px}
.br-list li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;translate:0 -1px}
.br-need::before{background:var(--need)}
.br-ready::before{background:var(--ready)}
.br-read::before{background:var(--read)}
.br-cta{margin-top:14px}
.br-cta span{display:inline-flex;padding:8px 14px;border-radius:999px;background:var(--ink);color:var(--cream);font-size:.82rem;font-weight:750}

/* ------------------------------------------------------------------ 3 · dawn: how it works */
.how{padding:clamp(100px,15vh,170px) 0 clamp(90px,13vh,150px);color:var(--ink);background:linear-gradient(180deg,var(--dawn-0) 0%,#F5B99E 26%,#F9D3B7 64%,var(--dawn-1) 100%)}
.how .kicker{color:#6A3E3E}
.how .sub{color:#5B4057}
.graph{display:grid;grid-template-columns:minmax(0,1fr) minmax(40px,110px) 208px minmax(40px,110px) minmax(0,1fr);grid-template-rows:auto 76px auto;align-items:center}
.node{position:relative;padding:clamp(22px,2.4vw,30px);border-radius:24px;background:rgba(255,253,248,.62);border:1px solid rgba(255,255,255,.85);box-shadow:0 30px 70px -36px rgba(130,60,50,.45)}
.node h3{margin:18px 0 10px}
.node>p{color:var(--ink-2);font-size:.98rem}
.n-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--nb);color:var(--nt)}
.n-ic .ic{width:24px;height:24px}
.node-inbox{grid-column:1;grid-row:1;--nb:#FFE1DA;--nt:var(--need-ink)}
.node-ai{grid-column:5;grid-row:1;--nb:#E7E3FF;--nt:var(--read-ink)}
.node-yes{grid-column:2/5;grid-row:3;justify-self:center;width:min(100%,500px);--nb:#D6F2EB;--nt:var(--ready-ink)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.chips span{padding:5px 10px;border-radius:999px;background:rgba(27,25,56,.06);font-size:.8rem;font-weight:650;color:var(--ink-2);white-space:nowrap}
.n-note{margin-top:12px;font-size:.8rem;color:var(--ink-3)}
.node.armed>*{transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.node.armed:not(.on)>*{opacity:0;transform:translateY(12px)}

.hub{grid-column:3;grid-row:1;position:relative;justify-self:center;display:grid;justify-items:center;align-content:center;gap:4px;width:208px;aspect-ratio:1;border-radius:50%;text-align:center;
  background:radial-gradient(circle at 50% 38%,#FFFDF8 0,#FFF1E3 62%,#FCE0CB 100%);box-shadow:0 30px 70px -30px rgba(130,60,50,.55),0 0 0 10px rgba(255,255,255,.22)}
.hub .mark{width:58px;height:58px;color:var(--ink)}
.hub-name{font:400 1.45rem/1 var(--f-d);white-space:nowrap}
.hub-name em{font-style:italic}
.hub-verbs{display:grid;justify-items:center;margin-top:6px;font:700 .6rem/1.55 var(--f-t);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.hub-verbs span{white-space:nowrap}
.hub-ring{position:absolute;inset:-22px;border-radius:50%;border:1px dashed rgba(27,25,56,.18)}
/* each dot sits on the ring's top edge and turns about the ring's centre (radius 104 + 22 = 126px; 106px on phones) */
.hub-ring i{position:absolute;left:50%;top:-5px;width:10px;height:10px;margin-left:-5px;border-radius:50%;transform-origin:5px 131px}
.hub-ring i:nth-child(1){background:var(--need)}
.hub-ring i:nth-child(2){background:var(--ready);transform:rotate(120deg)}
.hub-ring i:nth-child(3){background:var(--read);transform:rotate(240deg)}
.play .hub-ring{animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* the wires: a dotted line with three sparks running along it (each spark is a full-length strip moved by its own width) */
.wire{position:relative;align-self:center;height:2px;background:repeating-linear-gradient(90deg,rgba(27,25,56,.26) 0 5px,transparent 5px 11px)}
.wire span{position:absolute;inset:0}
.wire i{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0}
.wire i::before{content:"";position:absolute;left:-5px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--spark,var(--sun));box-shadow:0 0 12px 3px color-mix(in srgb,var(--spark,var(--sun)) 70%,transparent)}
.w-in{grid-column:2;grid-row:1;--spark:var(--need)}
.w-ai{grid-column:4;grid-row:1;--spark:var(--read)}
.w-yes{grid-column:3;grid-row:2;justify-self:center;width:2px;height:100%;background:repeating-linear-gradient(180deg,rgba(27,25,56,.26) 0 5px,transparent 5px 11px);--spark:var(--ready)}
.w-yes i::before{left:50%;top:-5px;margin:0 0 0 -5px}
.play .wire i{animation:run 3s linear infinite}
.play .w-yes i{animation-name:runY}
.play .w-ai i:nth-child(2){animation-direction:reverse}
.play .wire i:nth-child(2){animation-delay:-1s}
.play .wire i:nth-child(3){animation-delay:-2s}
@keyframes run{0%{transform:translateX(0);opacity:0}12%,88%{opacity:1}100%{transform:translateX(100%);opacity:0}}
@keyframes runY{0%{transform:translateY(0);opacity:0}12%,88%{opacity:1}100%{transform:translateY(100%);opacity:0}}

/* the approve moment: a draft, a tap, sent */
.approve{display:flex;align-items:center;gap:14px;margin-top:18px;padding:12px 12px 12px 16px;border-radius:16px;background:rgba(255,255,255,.75);border:1px solid rgba(27,25,56,.06)}
.ap-lines{flex:1;display:grid;gap:6px}
.ap-lines i{height:6px;border-radius:3px;background:rgba(27,25,56,.1)}
.ap-lines i:nth-child(2){width:82%}
.ap-lines i:nth-child(3){width:56%}
.ap-btn{display:grid;flex:none}
.ap-a,.ap-b{grid-area:1/1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:999px;font-size:.86rem;font-weight:750;white-space:nowrap}
.ap-a{background:var(--ink);color:var(--cream)}
.ap-b{background:#D6F2EB;color:var(--ready-ink);opacity:0}
.ap-b .ic{width:15px;height:15px}
.play .ap-a{animation:apA 6s var(--soft) infinite}
.play .ap-b{animation:apB 6s var(--soft) infinite}
@keyframes apA{0%,38%{opacity:1;transform:none}42%{transform:scale(.94)}48%,92%{opacity:0;transform:scale(.96)}100%{opacity:1;transform:none}}
@keyframes apB{0%,44%{opacity:0;transform:translateY(6px)}52%,88%{opacity:1;transform:none}96%,100%{opacity:0}}

/* ------------------------------------------------------------------ 4 · morning: the prep work */
.ideas{padding:clamp(100px,15vh,170px) 0;overflow:hidden;isolation:isolate;color:var(--ink);background:linear-gradient(180deg,var(--dawn-1) 0%,#F6E7DA 30%,#EBEDEC 66%,var(--day-0) 100%)}
.clouds{position:absolute;inset:0;z-index:-1;pointer-events:none}
.cloud{position:absolute;will-change:transform}
.cloud i{display:block;width:100%;height:100%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0))}
.cloud i::before,.cloud i::after{content:"";position:absolute;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.9),rgba(255,255,255,0))}
.cloud i::before{left:18%;top:-45%;width:46%;height:120%}
.cloud i::after{left:48%;top:-25%;width:36%;height:100%}
.c1{left:-6%;top:6%;width:min(46vw,520px);height:min(11vw,130px)}
.c2{right:-8%;top:38%;width:min(40vw,460px);height:min(10vw,110px);opacity:.85}
.c3{left:26%;bottom:4%;width:min(52vw,600px);height:min(12vw,140px);opacity:.75}
.play .cloud i{animation:float 26s var(--soft) infinite alternate}
.play .c2 i{animation-duration:34s;animation-direction:alternate-reverse}
@keyframes float{to{transform:translateX(6vw)}}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.card{padding:24px 22px 26px;border-radius:22px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);box-shadow:0 24px 60px -36px rgba(60,50,100,.4);
  transition:translate .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{translate:0 -4px;box-shadow:0 30px 70px -34px rgba(60,50,100,.5)}
.card .ic{width:44px;height:44px;padding:10px;border-radius:14px;background:var(--cb);color:var(--ct);margin-bottom:18px}
.card h3{margin-bottom:10px}
.card p{font-size:.95rem;color:var(--ink-2);line-height:1.55}
.k-sun{--cb:#FFEBC6;--ct:#94590E}
.k-lilac{--cb:#E7E3FF;--ct:var(--read-ink)}
.k-teal{--cb:#D6F2EB;--ct:var(--ready-ink)}
.k-coral{--cb:#FFE1DA;--ct:var(--need-ink)}
.cards.armed>li{transition:opacity .8s var(--ease),transform .8s var(--ease),translate .5s var(--ease),box-shadow .5s var(--ease);transition-delay:calc(var(--i,0) * 70ms),calc(var(--i,0) * 70ms),0s,0s}
.cards.armed:not(.on)>li{opacity:0;transform:translateY(26px)}

/* ------------------------------------------------------------------ 5 · day: privacy */
.privacy{padding:clamp(100px,15vh,170px) 0;color:var(--ink);background:linear-gradient(180deg,var(--day-0) 0%,#DDEBF5 50%,var(--day-1) 100%)}
.pv-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,5vw,72px) clamp(32px,5vw,80px);align-items:center}
.pv-copy{grid-column:1;grid-row:1}
.pv-copy h2{font-size:clamp(2.7rem,1.5rem + 4.6vw,5.6rem);line-height:.98}
.pv-scene{grid-column:2;grid-row:1}
.steps{display:flex;justify-content:center;gap:8px;margin-bottom:22px;counter-reset:st}
.steps li{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(27,25,56,.08);font-size:.84rem;font-weight:750;color:var(--ink-3);transition:background-color .5s,color .5s,border-color .5s}
.steps li::before{counter-increment:st;content:counter(st);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(27,25,56,.08);font-size:.72rem}
.steps li.on{color:var(--ink);background:#fff;border-color:rgba(27,25,56,.14)}
.steps li.on::before{background:var(--ink);color:var(--cream)}
.pv-stage{position:relative;height:clamp(280px,30vw,340px)}
.mail,.draft,.dust{position:absolute;border-radius:20px}
.mail{left:0;top:0;width:78%;height:64%;padding:20px 22px;background:#fff;box-shadow:0 30px 60px -30px rgba(40,60,100,.35);overflow:hidden;will-change:opacity}
.dust{left:0;top:0;width:78%;height:64%;pointer-events:none}
.dust i{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:2px;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.8);opacity:0;will-change:transform,opacity}
.dust i:nth-child(3n){background:#D8E2F2}
.dust i:nth-child(5n){background:var(--sun-hi)}
.m-from{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.m-from i:first-child{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#C9D8F0,#E8D5F0)}
.m-from i:last-child{width:38%;height:9px;border-radius:5px;background:rgba(27,25,56,.18)}
.m-lines{display:grid;gap:9px}
.m-lines i{height:7px;border-radius:4px;background:rgba(27,25,56,.09)}
.m-lines i:nth-child(2){width:92%}.m-lines i:nth-child(3){width:84%}.m-lines i:nth-child(4){width:90%}.m-lines i:nth-child(5){width:48%}
.scan{position:absolute;left:0;right:0;top:0;height:46px;margin-top:-46px;background:linear-gradient(180deg,rgba(155,140,255,0),rgba(155,140,255,.28));border-bottom:2px solid rgba(155,140,255,.7);opacity:0}
.draft{right:0;bottom:0;width:72%;padding:18px 20px;background:#FFFDF8;box-shadow:0 36px 70px -28px rgba(40,60,100,.45);will-change:transform,opacity}
.d-head{display:flex;align-items:center;gap:8px;font-weight:750;font-size:.9rem;color:var(--ready-ink)}
.d-head .ic{width:18px;height:18px}
.d-lines{display:grid;gap:8px;margin:14px 0 16px}
.d-lines i{height:7px;border-radius:4px;background:color-mix(in srgb,var(--ready) 28%,#fff)}
.d-lines i:nth-child(2){width:86%}.d-lines i:nth-child(3){width:58%}
.d-kept{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 8px;border-radius:999px;background:#EEF2F8;font-size:.76rem;font-weight:750;color:var(--ink-2)}
.d-kept .ic{width:14px;height:14px}
/* the final state (reduced motion, before privacy.js runs): the email is gone, the draft waits */
.mail{opacity:0}
.js .mail{opacity:1}
.points{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,32px);padding-top:clamp(12px,2vw,24px);border-top:1px solid rgba(27,25,56,.1)}
.points li{padding-top:clamp(16px,2vw,24px)}
.points .ic{width:28px;height:28px;color:var(--ink-2)}
.points h3{margin:14px 0 8px}
.points p{font-size:.95rem;color:var(--ink-2)}
.points.armed>li{transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.points.armed:not(.on)>li{opacity:0;transform:translateY(18px)}
.guard{grid-column:1/-1;display:flex;align-items:flex-start;gap:clamp(16px,2.4vw,28px);padding:clamp(24px,3.4vw,40px);border-radius:28px;color:var(--cream);
  background:radial-gradient(120% 140% at 100% 0%,#3B3170 0%,rgba(59,49,112,0) 55%),linear-gradient(135deg,#1B1938,#262257);box-shadow:0 40px 90px -40px rgba(27,25,56,.7)}
.g-ic{width:52px;height:52px;flex:none;padding:10px;border-radius:16px;background:rgba(255,255,255,.08);color:var(--sun-hi)}
.guard h3{margin-bottom:10px}
.guard p{color:var(--cream-2);max-width:52em}
.guard a{color:var(--sun-hi);font-weight:750;white-space:nowrap}

/* ------------------------------------------------------------------ 6 · bright day: the finale */
.finale{padding:clamp(110px,15vh,180px) 0 clamp(80px,11vh,130px);overflow:hidden;isolation:isolate;text-align:center;color:var(--ink);background:linear-gradient(180deg,var(--day-1) 0%,#CCE6F7 55%,var(--day-2) 100%)}
.fin-sun{position:absolute;right:-16vw;top:-4vw;z-index:-1;width:max(62vw,460px);aspect-ratio:1;border-radius:50%;will-change:transform;
  background:radial-gradient(closest-side,rgba(255,246,220,1) 0 12%,rgba(255,226,160,.8) 24%,rgba(255,210,150,.35) 45%,rgba(255,210,150,0) 72%)}
.fin-in{display:flex;flex-direction:column;align-items:center}
.finale h2{font-size:clamp(2.6rem,1.3rem + 5vw,6rem);line-height:.98;max-width:15ch}
.fa,.fb{display:block}
.fb{font-style:italic;padding:0 .06em .06em;background:linear-gradient(95deg,#D96548,#E48A3C);-webkit-background-clip:text;background-clip:text;color:transparent}
.finale .sub{margin-inline:auto}
.finale .cta-note{color:var(--ink-2);opacity:1}
.tuesday{margin-top:clamp(44px,7vh,72px);font:italic 400 clamp(1.4rem,1.2rem + .8vw,2rem)/1.2 var(--f-d);color:var(--ink-2)}
.plane{position:absolute;right:14%;top:clamp(80px,13vh,140px);width:clamp(46px,5vw,64px);height:auto;overflow:visible;transform:rotate(-6deg)}
.pl-a{fill:#FFFDF8;stroke:#1B1938;stroke-width:1.6;stroke-linejoin:round}
.pl-b{fill:#E4ECF6;stroke:#1B1938;stroke-width:1.6;stroke-linejoin:round}
.plane.armed .pl{opacity:0}
.plane.armed.on .pl{animation:fly 5.2s var(--soft) .2s both}
@keyframes fly{0%{opacity:0;transform:translate(36vw,70px) rotate(10deg)}12%{opacity:1}58%{transform:translate(7vw,-26px) rotate(-12deg)}100%{opacity:1;transform:none}}

/* ------------------------------------------------------------------ footer */
.foot{padding:56px 0 calc(40px + env(safe-area-inset-bottom));color:var(--ink);background:linear-gradient(180deg,var(--day-2),var(--day-3));font-size:.86rem;line-height:1.55}
.foot-in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr);gap:28px 56px;padding-top:36px;border-top:1px solid rgba(27,25,56,.12)}
.foot-brand{display:grid;gap:10px;color:var(--ink-2)}
.foot-brand .lockup{color:var(--ink);margin-bottom:6px}
.foot-notes{display:grid;gap:10px;color:var(--ink-2);align-content:start}
.foot-nav{grid-column:1/-1}
.foot-langs{display:flex;flex-wrap:wrap;gap:6px 16px}
.foot-langs a{text-decoration:none;color:var(--ink-2)}
.foot-langs a:hover{color:var(--ink);text-decoration:underline}
.foot-langs a[aria-current]{color:var(--ink);font-weight:750}
.foot-copy{grid-column:1/-1;color:var(--ink-3)}

/* ------------------------------------------------------------------ 404 */
.is-lost{background:var(--night-0)}
.lost{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:48px 0;color:var(--cream);text-align:center;overflow:hidden;
  background:linear-gradient(180deg,var(--night-0),var(--night-1) 55%,var(--night-2))}
.lost-moon{position:absolute;right:14%;top:12%}
.lost-in{display:flex;flex-direction:column;align-items:center}
.lost .lockup{margin-bottom:32px}
.lost-code{font:italic 400 clamp(5rem,3rem + 10vw,11rem)/.9 var(--f-d);background:linear-gradient(95deg,#FFE7B0,#FF9F7A);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .08em}
.lost h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.4rem);line-height:1.05;margin:10px 0 30px}
.lost-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:760px}
.lost-list a{display:inline-flex;flex-direction:column;align-items:center;padding:8px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);text-decoration:none;font-size:.9rem;font-weight:650}
.lost-list a:hover{border-color:var(--sun)}
.lost-list small{font-size:.72rem;color:var(--cream-3);font-weight:600}
.lost-mail{margin-top:28px;color:var(--cream-2);font-size:.9rem}

/* ------------------------------------------------------------------ reveals */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
[data-reveal].in{opacity:1;transform:none}

/* ------------------------------------------------------------------ responsive */
@media (max-width:1080px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .points{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899px){
  :root{--hdr:60px}
  .moon-wrap{right:9%;top:calc(var(--hdr) + 14px)}
  .mo-in{grid-template-columns:minmax(0,1fr);gap:18px;align-content:center;padding-top:calc(var(--hdr) + 4px);padding-bottom:28px}
  .clock{margin-bottom:12px}
  .monday h2{font-size:clamp(1.9rem,1.2rem + 3.4vw,2.8rem)}
  .mo-sub{margin-top:10px;font-size:.95rem}
  .panel{padding:10px;border-radius:20px}
  .row{padding:7px 8px}
  .brief{left:12px;right:12px;bottom:12px;width:auto}
  .graph{grid-template-columns:minmax(0,1fr);grid-template-rows:none;justify-items:center}
  .node,.hub,.wire{grid-column:1;grid-row:auto}
  .node{width:min(100%,520px)}
  .node-yes{grid-column:1}
  .wire,.w-yes{width:2px;height:56px;background:repeating-linear-gradient(180deg,rgba(27,25,56,.26) 0 5px,transparent 5px 11px)}
  .wire i::before{left:50%;top:-5px;margin:0 0 0 -5px}
  .play .wire i{animation-name:runY}
  .hub{width:180px;margin:10px 0}
  .hub-ring{inset:-16px}
  .hub-ring i{transform-origin:5px 111px}
  .pv-grid{grid-template-columns:minmax(0,1fr)}
  .pv-copy,.pv-scene{grid-column:1;grid-row:auto}
  .foot-in{grid-template-columns:minmax(0,1fr)}
  .plane{right:8%}
}
@media (max-width:599px){
  .cards{grid-template-columns:minmax(0,1fr)}
  .card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;padding:20px 18px}
  .card .ic{grid-row:1/3;margin:0}
  .card h3{margin-bottom:6px}
  .points{grid-template-columns:minmax(0,1fr)}
  .points li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:14px}
  .points .ic{grid-row:1/3}
  .points h3{margin:0 0 6px}
  .guard{flex-direction:column}
  .pv-stage{height:270px}
  .steps li{padding:6px 11px 6px 6px;font-size:.8rem}
  .chips span{font-size:.76rem}
  .hero h1{font-size:clamp(2.9rem,1.2rem + 8.4vw,4rem)}
  .eyebrow{font-size:.76rem}
}
/* short phones: the pinned Monday must fit one screen */
@media (max-width:899px) and (max-height:800px){
  .mo-sub{display:none}
  .row:nth-child(n+7){display:none}
}
@media (max-width:899px) and (max-height:680px){
  .row:nth-child(n+6){display:none}
  .monday h2{font-size:1.75rem}
  .clock{margin-bottom:8px}
}
@media (max-height:620px){
  .scroll-cue{display:none}
}

/* ------------------------------------------------------------------ no script, reduced motion: the final composed state, still */
html:not(.js) .monday{height:auto}
html:not(.js) .stage{position:relative;height:auto;min-height:100vh;min-height:100svh}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .monday{height:auto}
  .stage{position:relative;height:auto;min-height:100svh}
  [data-reveal]{opacity:1;transform:none}
}
