/* 19 Everyday — Britt's 2026 refresh, rebuilt in code on the Florens system.
   Söhne + Söhne Mono only. Tokens follow the Florens v5 "Refresh" palette. */
@font-face{font-family:'Söhne';src:url('../webfonts/soehne-buch.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Söhne';src:url('../webfonts/soehne-kraftig.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Söhne';src:url('../webfonts/soehne-halbfett.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Söhne Mono';src:url('../webfonts/soehne-mono-buch.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Söhne Mono';src:url('../webfonts/soehne-mono-kraftig.woff2') format('woff2');font-weight:500;font-display:swap}

:root{
  --page:#f9f2e8;        /* Florens light sand */
  --sand:#f0e9df;        /* Florens sand */
  --sand-deep:#e9dfca;   /* Florens dark sand */
  --muted:#6d675c;       /* wet sand, darkened for small text on light sand */
  --wet:#847e72;         /* Florens wet sand */
  --ink:#33312c;         /* Florens stone */
  --night:#151515;       /* Florens obsidian */
  /* Accent: Florens refresh blue by default; data-accent on <html> swaps the family. */
  --accent:#151515;      /* black is the base accent; hues are applied per section and row */
  --accent-lift:#33312c;
  --on-accent:#ffffff;
  --accent-soft:#f0e9df; /* the accent as light, for dark sections */
  --on-dark:#f0e9df;
  --dim-dark:#aaa398;
  --line:#33312c26;
  --line-dark:#f0e9df24;
  --sans:'Söhne','Helvetica Neue',Helvetica,Arial,sans-serif;
  --mono:'Söhne Mono',ui-monospace,Menlo,monospace;
  --gutter:clamp(20px,4vw,56px);
  --max:1360px;
  --section:clamp(96px,12vw,184px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
/* ---------- The spectrum (Paul, 2026-09-23): one hue per section, client row, or capability.
   Each hue carries its fill, a lift for hover, the text color that passes AA on the fill, and a soft
   version for dark sections. Apply with data-hue on any element; children inherit. ---------- */
[data-hue=red]{--accent-text:#b3372d;--accent:#b3372d;--accent-lift:#c2443a;--on-accent:#fff;--accent-soft:#f2a99d}
[data-hue=orange]{--accent-text:#b24d17;--accent:#e0692a;--accent-lift:#ea7a3d;--on-accent:#151515;--accent-soft:#f6bd8f}
[data-hue=marigold]{--accent-text:#8a5f0c;--accent:#e3a230;--accent-lift:#eeb34d;--on-accent:#151515;--accent-soft:#f2cf86}
[data-hue=moss]{--accent-text:#4b6647;--accent:#4b6647;--accent-lift:#597856;--on-accent:#fff;--accent-soft:#bdd1b3}
[data-hue=teal]{--accent-text:#044056;--accent:#044056;--accent-lift:#055673;--on-accent:#fff;--accent-soft:#a9d3dc}
[data-hue=violet]{--accent-text:#5b44b2;--accent:#5b44b2;--accent-lift:#6a54c4;--on-accent:#fff;--accent-soft:#cbbff2}
[data-hue=rose]{--accent-text:#9c3d5a;--accent:#9c3d5a;--accent-lift:#ae4a68;--on-accent:#fff;--accent-soft:#e7bcc6}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
body{margin:0;background:var(--page);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,figure,blockquote,ol,ul{margin:0}
ol,ul{padding:0;list-style:none}
button{font:inherit;color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.dark a:focus-visible,.dark button:focus-visible{outline-color:var(--accent-soft)}
.skip{position:absolute;left:-999px;top:12px;z-index:200;background:var(--night);color:var(--on-dark);padding:10px 14px;border-radius:8px}
.skip:focus{left:12px}
.wrap{width:min(100% - 2 * var(--gutter),var(--max));margin-inline:auto}
.mono{font:500 12px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.display{font-weight:400;letter-spacing:-.045em;line-height:.98}
.h2{font-size:clamp(38px,5vw,72px);font-weight:400;letter-spacing:-.04em;line-height:1.02}
.lede{font-size:clamp(19px,1.6vw,22px);line-height:1.5;max-width:38ch}
.button{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:999px;background:var(--accent);color:var(--on-accent);font:500 15px/1 var(--sans);text-decoration:none;transition:background .2s var(--ease),box-shadow .2s var(--ease)}
.button:hover{background:var(--accent-lift);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 22%,transparent)}
.button.light{background:var(--accent-soft);color:var(--night)}
.button.light:hover{background:color-mix(in srgb,var(--accent-soft) 80%,#fff);box-shadow:none}
.text-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

/* ---------- Navigation ---------- */
.nav{position:absolute;z-index:20;inset:0 0 auto;color:#fff}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:92px}
.brand img{width:150px;filter:brightness(0) invert(1)}
.nav-links{display:flex;align-items:center;gap:30px;font-size:14px}
.nav-links a{text-decoration:none}
.nav-links a:not(.button):hover{text-decoration:underline;text-underline-offset:5px}
.nav-links .button{min-height:40px;padding:10px 18px;font-size:14px;background:#f9f2e8;color:var(--night)}
.nav-links .button:hover{background:#fff}

/* ---------- The day: hero film, dissolving into the ribbon ---------- */
.day{position:relative;height:150vh;height:150svh;background:var(--night)}
.day-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--night);color:#fff;--p:0;--film:1;--title:1;--ribbon:0}
.day-film{position:absolute;inset:0;opacity:var(--film);transform:scale(calc(1 + var(--p) * .08));transform-origin:50% 60%}
.day-film img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease}
.day-film img.on{opacity:1;animation:drift 9s linear both}
.motion-paused .day-film img.on{animation-play-state:paused}
@keyframes drift{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.1) translate3d(-1.2%,-1%,0)}}
.day-shade{position:absolute;inset:0;background:linear-gradient(180deg,#151515a6 0%,#15151526 30%,#15151540 62%,#151515d9 100%)}
.day-title{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:0 var(--gutter);opacity:var(--title);transform:translateY(calc((1 - var(--title)) * -10vh))}
.day-title h1{font-size:clamp(54px,9vw,142px);max-width:11ch;margin-inline:auto}
.day-title p{margin:28px auto 0;max-width:34ch;font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:#f0e9dfe6}
.day-clock{position:absolute;left:var(--gutter);bottom:calc(32px + env(safe-area-inset-bottom));display:flex;gap:14px;align-items:center;color:#f0e9dfcc;opacity:var(--title)}
.motion-toggle{position:absolute;z-index:3;right:var(--gutter);top:108px;min-height:36px;padding:8px 14px;border-radius:999px;border:1px solid #f0e9df55;background:#15151566;color:#f0e9df;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(8px)}
.motion-toggle:hover{background:#151515aa}
.motion-toggle[hidden]{display:none}
.day-clock .dot{width:7px;height:7px;border-radius:50%;background:var(--accent-soft);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-soft) 22%,transparent)}
.day-ribbon{position:absolute;inset:0;opacity:var(--ribbon);transform:translateY(calc((1 - var(--ribbon)) * 6vh));pointer-events:none}
.day-ribbon canvas{position:absolute;inset:0;width:100%;height:100%}
.orbit{position:absolute;left:0;right:0;top:50%;height:min(52vh,420px);transform:translateY(-50%)}
.orbit svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.orbit .path{fill:none;stroke:url(#orbit-color);stroke-opacity:.34}
.orbit .travel{fill:none;stroke:#f9f2e8;stroke-width:1.6;stroke-dasharray:30 1400;stroke-dashoffset:calc(1430 - var(--ribbon) * 1430)}
.orbit .sky{fill:none;stroke:#f0e9df52;stroke-width:1}
.orbit-word{position:absolute;font-size:clamp(20px,2vw,28px);letter-spacing:-.02em;color:var(--on-dark)}
.orbit-word .mono{display:block;margin-bottom:8px;font-size:11px;color:var(--dim-dark)}
.orbit-word.w1{left:7%;top:55%}
.orbit-word.w2{left:44%;top:78%}
.orbit-word.w3{right:7%;top:14%;text-align:right}

/* ---------- Behavior change method ---------- */
.dark{background:var(--night);color:var(--on-dark)}
.method{padding:clamp(40px,6vw,80px) 0 var(--section)}
.method-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:end;margin-bottom:clamp(48px,6vw,88px)}
.method-head p{color:var(--dim-dark);max-width:44ch;font-size:19px}
.routine{max-width:980px;margin-inline:auto;border-top:1px solid var(--line-dark)}
.routine-title{padding:22px 0 10px;color:var(--dim-dark)}
.routine li{display:grid;grid-template-columns:90px 150px 1fr;gap:20px;padding:26px 24px;border-bottom:1px solid var(--line-dark);align-items:start;transition:opacity .7s var(--ease),transform .7s var(--ease)}
.routine li.waiting{opacity:0;transform:translateY(16px)}
.rt-time{font:400 13px/1.9 var(--mono);color:var(--dim-dark)}
.rt-moment{font-size:18px}
.rt-brands{display:grid;gap:18px}
.rt-b{display:grid;grid-template-columns:36px 1fr;gap:16px;align-items:start}
.rt-mark{width:36px;height:36px;border-radius:50%;background:#f0e9df;display:grid;place-items:center;overflow:hidden}
.rt-mark img{width:36px;height:36px;object-fit:cover}
.rt-brand{font-weight:500;font-size:16px}
.rt-brand small{display:block;font-weight:400;font-size:15px;color:var(--dim-dark);margin-top:2px}
.routine li.open{background:color-mix(in srgb,var(--accent-soft) 7%,#151515);border:1px solid color-mix(in srgb,var(--accent-soft) 28%,transparent);border-radius:14px;margin:10px -1px;box-shadow:0 20px 60px #0006, inset 0 0 60px color-mix(in srgb,var(--accent-soft) 7%,transparent)}
.routine li.open .rt-brand{color:var(--accent-soft)}
.routine li.open .rt-brand small{color:var(--on-dark);max-width:44ch}
.rt-open-mark{background:transparent;border:1px dashed color-mix(in srgb,var(--accent-soft) 60%,transparent)}
.rt-open-mark:after{content:'';width:8px;height:8px;border-radius:50%;background:var(--accent-soft);box-shadow:0 0 18px var(--accent-soft)}
.routine .open .button{margin-top:18px}

/* ---------- Work: one row per client ---------- */
.work{padding:var(--section) 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:clamp(56px,7vw,104px)}
.section-head .lede{color:var(--muted)}
.client{padding:clamp(32px,3.4vw,48px) 0;border-top:1px solid var(--line)}
.client:last-child{border-bottom:1px solid var(--line)}
.client-meta{display:flex;gap:18px;color:var(--muted);margin-bottom:14px}
.client-meta .index{color:var(--ink)}
.client-main{min-width:0}
.client-head{display:flex;justify-content:space-between;gap:24px;align-items:start}
.client h3{font-size:clamp(30px,3.2vw,46px);font-weight:400;letter-spacing:-.035em;line-height:1.05}
.client-angle{margin-top:14px;max-width:52ch;color:var(--muted);font-size:18px;line-height:1.5}
.track-nav{display:flex;gap:8px;flex:none;padding-top:6px}
.track-nav button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;display:grid;place-items:center;transition:background .2s,border-color .2s}
.track-nav button:hover{background:var(--sand);border-color:#33312c55}
.track-nav button[disabled]{opacity:.3;cursor:default;background:transparent}
.track-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;margin-top:28px;padding-bottom:18px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#33312c40 transparent}
.track::-webkit-scrollbar{height:4px}
.track:focus-visible,.voice-track:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:6px}
.track::-webkit-scrollbar-thumb{background:#33312c40;border-radius:4px}
.frame{flex:none;scroll-snap-align:start;width:clamp(280px,40vw,600px)}
.frame:first-child{width:clamp(300px,48vw,720px)}
.frame img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:6px;background:var(--sand)}
.frame.tall{width:clamp(220px,22vw,340px)}
.frame.tall img{aspect-ratio:4/5}
.frame figcaption{margin-top:12px;color:var(--muted)}
.tile{flex:none;scroll-snap-align:start;width:clamp(260px,26vw,400px);aspect-ratio:auto;min-height:100%;background:var(--sand);border-radius:6px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.tile p{font-size:19px;line-height:1.45;letter-spacing:-.01em}
.tile blockquote{font-size:19px;line-height:1.45;letter-spacing:-.01em}
.tile .who{color:var(--muted)}
.tile .text-link{font-size:15px}
.tile.result{background:var(--accent);color:var(--on-accent)}
.tile.result .who{color:color-mix(in srgb,var(--on-accent) 72%,transparent)}
.tile-wrap{display:flex}

/* ---------- What we believe ---------- */
.beliefs{background:var(--accent);color:var(--on-accent);padding:var(--section) 0}
.beliefs-head{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(32px,6vw,96px);align-items:end}
.beliefs-title{font-size:clamp(40px,5.6vw,88px);font-weight:400;letter-spacing:-.045em;line-height:1}
.beliefs-lede{font-size:clamp(18px,1.5vw,21px);line-height:1.55;max-width:40ch;color:color-mix(in srgb,var(--on-accent) 82%,transparent)}
.beliefs-list{margin-top:clamp(64px,8vw,120px);display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid color-mix(in srgb,var(--on-accent) 22%,transparent)}
.beliefs-list li{padding:28px 28px 34px 0;border-bottom:1px solid color-mix(in srgb,var(--on-accent) 22%,transparent)}
.beliefs-list li:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid color-mix(in srgb,var(--on-accent) 22%,transparent)}
.beliefs-list .mono{display:block;margin-bottom:18px;color:color-mix(in srgb,var(--on-accent) 70%,transparent)}
.beliefs-list p{font-size:clamp(19px,1.6vw,23px);line-height:1.35;letter-spacing:-.015em;max-width:26ch}
.beliefs-list li:nth-child(2){transition-delay:80ms}.beliefs-list li:nth-child(3){transition-delay:160ms}
.beliefs-list li:nth-child(5){transition-delay:80ms}.beliefs-list li:nth-child(6){transition-delay:160ms}
.team-note{margin-top:22px;max-width:38ch;color:var(--muted);font-size:17px}

/* ---------- Programs: the problems we solve ---------- */
.programs{padding:var(--section) 0}
.program{display:grid;grid-template-columns:1fr minmax(240px,.36fr);gap:clamp(32px,6vw,110px);padding:clamp(48px,6vw,88px) 0;border-top:1px solid var(--line);align-items:start}
.program:last-child{border-bottom:1px solid var(--line)}
.program-label{display:flex;gap:14px;color:var(--muted)}
.program-label b{color:var(--ink);font-weight:500}
.program h3{margin-top:24px;font-size:clamp(24px,2.3vw,34px);font-weight:400;letter-spacing:-.02em;line-height:1.22;max-width:32ch;text-indent:-.4em}
.program p{margin-top:24px;max-width:48ch;font-size:18px;line-height:1.55}
.program .promise{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);max-width:48ch;display:flex;justify-content:space-between;gap:20px;align-items:baseline;font-size:15px}
.program .promise span{color:var(--muted)}
.program .promise a{white-space:nowrap}
.clip{position:relative;border-radius:12px;overflow:hidden;background:var(--sand-deep);aspect-ratio:4/5;box-shadow:0 10px 24px -14px #33312c59}
.clip video{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.clip:hover video{transform:scale(1.035)}
.clip:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#15151500 55%,#151515b3)}
.clip figcaption{position:absolute;z-index:1;left:18px;right:18px;bottom:16px;color:#fff;display:grid;gap:6px}
.clip figcaption span:first-child{font-size:15px;line-height:1.35}
.clip figcaption .mono{color:#f0e9dfbf;font-size:11px}
.clip .play{position:absolute;z-index:1;top:16px;left:16px;width:40px;height:40px;border-radius:50%;background:#f9f2e8e6;display:grid;place-items:center}
.clip .play svg{width:14px;height:14px;fill:var(--night);margin-left:2px}

/* ---------- What we bring ---------- */
.bring{padding:0 0 var(--section)}
.bring-list{border-top:1px solid var(--line)}
.bring details{border-bottom:1px solid var(--line)}
.bring summary{list-style:none;display:grid;grid-template-columns:80px 1fr 24px;gap:20px;align-items:baseline;padding:26px 0;cursor:pointer}
.bring summary::-webkit-details-marker{display:none}
.bring summary .name{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.025em}
.bring summary .mono{color:var(--muted)}
.bring summary .sign{justify-self:end;font:400 22px/1 var(--mono);transition:transform .3s var(--ease)}
.bring details[open] .sign{transform:rotate(45deg)}
.bring .detail{padding:0 0 30px 100px;display:grid;gap:18px;max-width:880px}
.bring .detail p{color:var(--ink);font-size:17px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags li{background:var(--sand-deep);border-radius:999px;padding:7px 14px;font-size:14px}

/* ---------- Team ---------- */
.team{padding:var(--section) 0;background:var(--sand)}
.team-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,96px);align-items:start}
.team-grid .lede{margin-top:24px;color:var(--ink)}
.people{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.person img{aspect-ratio:4/5;object-fit:cover;border-radius:10px;width:100%}
.person-name{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px}
.person-name b{font-weight:400;font-size:24px;letter-spacing:-.02em}
.person-name .mono{color:var(--muted);font-size:11px}
.person p{margin-top:10px;font-size:15px;line-height:1.55;color:var(--muted)}

/* ---------- Testimonials ---------- */
.voices{padding:var(--section) 0;background:var(--sand);border-top:1px solid var(--line)}
.voices .section-head{margin-bottom:48px}
.voice-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px var(--gutter) 22px;scroll-padding-inline:var(--gutter);scrollbar-width:none}
.voice-track::-webkit-scrollbar{display:none}
.voice{flex:none;scroll-snap-align:start;width:clamp(290px,30vw,420px);background:var(--page);border-radius:12px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:34px}
.voice blockquote{font-size:18px;line-height:1.5;letter-spacing:-.01em}
.voice.client-voice{background:var(--accent);color:var(--on-accent)}
.voice.client-voice .role{color:color-mix(in srgb,var(--on-accent) 72%,transparent)}
.voice figcaption a{display:flex;gap:14px;align-items:center;text-decoration:none}
.voice figcaption img,.voice .initials{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.voice .initials{display:grid;place-items:center;background:var(--accent-soft);color:var(--night);font:500 13px var(--mono)}
.voice .name{display:block;font-weight:500;font-size:15px}
.voice .role{display:block;font-size:14px;color:var(--muted)}
.voice-controls{display:flex;gap:8px}

/* ---------- Invitation + footer ---------- */
.invite{padding:clamp(140px,16vw,240px) 0 clamp(120px,14vw,200px)}
.invite-inner{max-width:1040px}
.invite h2{font-size:clamp(46px,7vw,112px)}
.invite p{margin-top:36px;max-width:44ch;font-size:clamp(19px,1.6vw,22px);line-height:1.5}
.invite .act{margin-top:44px;display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center}
.invite .act .mono{color:var(--muted)}
.invite .act .mono:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:10px;vertical-align:1px}
/* ---------- Entrances ---------- */
.rise{transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rise.waiting{opacity:0;transform:translateY(22px)}

/* ---------- Review bar (shared switcher) ---------- */
.review-bar{position:fixed;z-index:100;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:5px;width:calc(100% - 24px);max-width:440px;padding:8px 12px;background:#fffefaed;color:#241b15;border:1px solid #d9d4cc;border-radius:15px;box-shadow:0 6px 30px #0002;backdrop-filter:blur(16px);font:12px/1.2 var(--sans);white-space:nowrap}
.review-bar>a:not(.gallery-link){display:none}
.review-bar .gallery-link{padding:9px 12px 9px 0;border-right:1px solid #d9d4cc;text-decoration:none}
.review-bar label{font-size:11px;color:#6b6056;margin-left:auto}
.review-bar select{width:170px;border:0;background:transparent;color:#241b15;font:14px var(--sans);padding:9px 5px}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .method-head,.team-grid{grid-template-columns:1fr}
  .client{grid-template-columns:1fr;gap:18px}
  .client-meta{flex-direction:row;flex-wrap:wrap;gap:6px 18px;padding-top:0}
  .program{grid-template-columns:1fr}
  .program .clip{max-width:260px}
  .routine li{grid-template-columns:70px 1fr;gap:6px 16px;padding:22px 14px}
  .routine .rt-brands,.routine li>.rt-b{grid-column:1/-1;margin-top:10px}
  .orbit-word.w2{left:34%;top:80%}
}
@media(max-width:700px){
  body{font-size:16px}
  .nav .wrap{height:76px}
  .brand img{width:124px}
  .nav-links a:not(.button){display:none}
  .section-head{flex-direction:column;align-items:start}
  .track-nav{display:none}
  .frame{width:78vw}
  .frame.tall{width:58vw}
  .tile{width:78vw}
  .bring summary{grid-template-columns:44px 1fr 20px;gap:12px}
  .bring .detail{padding-left:56px}
  .people{grid-template-columns:1fr;gap:36px}
  .person img{max-width:320px}
  .day{height:170svh}
  .motion-toggle{top:84px}
  .person-name{flex-direction:column;gap:2px}
  .orbit{height:46vh}
  .orbit-word{font-size:19px}
  .orbit-word.w1{left:6%;top:62%}
  .orbit-word.w2{left:30%;top:86%}
  .orbit-word.w3{right:6%;top:6%}
  .day-clock{bottom:calc(96px + env(safe-area-inset-bottom))}
  .beliefs-head{grid-template-columns:1fr}
  .beliefs-list{grid-template-columns:1fr}
  .beliefs-list li,.beliefs-list li:not(:nth-child(3n+1)){padding:24px 0;border-left:0}
}
@media(prefers-reduced-motion:reduce){
  .day{height:auto}
  .day-stage{position:relative;height:auto;--film:1;--title:1;--ribbon:1;--p:0}
  .day-film{position:relative;height:100svh;transform:none}
  .day-film img{transition:none;animation:none!important}
  .day-shade{height:100svh}
  .day-title{height:100svh}
  .day-ribbon{position:relative;height:70vh;transform:none}
  .orbit .travel{stroke-dasharray:none;stroke-dashoffset:0}
  .rise.waiting,.routine li.waiting{opacity:1;transform:none}
  *,*:before,*:after{transition:none!important;scroll-behavior:auto!important}
}

/* ---------- Accent switcher (review tool, not part of the design) ---------- */
.accent-picker{position:fixed;z-index:101;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:6px;padding:7px 10px;background:#fffefaed;border:1px solid #d9d4cc;border-radius:999px;box-shadow:0 6px 30px #0002;backdrop-filter:blur(16px);font:11px/1 var(--sans);color:#6b6056}
.accent-picker span{margin-right:4px}
.accent-picker button{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #33312c33;background:var(--swatch);cursor:pointer;padding:0}
.accent-picker button[aria-pressed=true]{box-shadow:0 0 0 2px #151515}
@media(max-width:1100px){.accent-picker{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 62px);right:50%;transform:translateX(50%)}}

/* ======== Round three (2026-09-23): method concepts, program variants, alignment ======== */

/* ---------- Method concepts inside the hero stage (--ribbon fades them in, --c steps through) ---------- */
.concept{position:absolute;inset:0;opacity:var(--ribbon);transform:translateY(calc((1 - var(--ribbon)) * 6vh));pointer-events:none}
.concept:not(.day-ribbon){display:none;align-items:center}
.cx-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,110px);align-items:center;width:min(100% - 2 * var(--gutter),var(--max))}
.cx-kicker{color:var(--dim-dark)}
.cx-title{margin-top:18px;font-size:clamp(30px,3.6vw,54px);letter-spacing:-.035em;line-height:1.05;max-width:16ch;color:var(--on-dark)}
.cx-body{margin-top:22px;max-width:38ch;color:var(--dim-dark);font-size:18px}
.cx-steps{margin-top:34px;display:grid;gap:4px;max-width:44ch}
.cx-steps li{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:14px 0;border-top:1px solid var(--line-dark);opacity:.34;transition:opacity .5s var(--ease)}
.cx-steps li.on{opacity:1}
.cx-steps b{font-weight:500;color:var(--on-dark)}
.cx-steps b .mono{font-size:11px;color:var(--accent-soft)}
.cx-steps span{color:#f0e9dfd9;font-size:16px;line-height:1.5}
.cx-map .cx-steps li{grid-template-columns:1fr;gap:6px}
.cx-visual{position:relative;justify-self:center;width:min(100%,520px)}

/* The loop: the afternoon moment inside a ring that draws itself */
.cx-ring{aspect-ratio:1}
.cx-ring img{position:absolute;inset:16%;width:68%;height:68%;object-fit:cover;border-radius:50%;filter:saturate(.9)}
.cx-ring svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ring-track{fill:none;stroke:#f0e9df24;stroke-width:1.2}
.ring-run{fill:none;stroke:var(--accent-soft);stroke-width:2;stroke-linecap:round;stroke-dasharray:calc(var(--c,0) * 100) 100;transform:rotate(-90deg);transform-origin:200px 200px;filter:drop-shadow(0 0 8px var(--accent-soft))}
.ring-nodes circle{fill:var(--night);stroke:#f0e9df66;stroke-width:1.5;transition:fill .4s,stroke .4s}
.cx-ring[data-at="0"] .ring-nodes circle:nth-child(-n+1),.cx-ring[data-at="1"] .ring-nodes circle:nth-child(-n+2),.cx-ring[data-at="2"] .ring-nodes circle:nth-child(-n+3),.cx-ring[data-at="3"] .ring-nodes circle{fill:var(--accent-soft);stroke:var(--accent-soft)}
.ring-label{position:absolute;font-size:11px;color:var(--dim-dark)}
.ring-label.r0{top:-4%;left:50%;transform:translate(-50%,-100%)}.ring-label.r1{right:-3%;top:50%;transform:translate(100%,-50%)}
.ring-label.r2{bottom:-4%;left:50%;transform:translate(-50%,100%)}.ring-label.r3{left:-3%;top:50%;transform:translate(-100%,-50%)}

/* B = MAP: the action line, with each prompt carrying a moment across it */
.cx-chart svg{width:100%;overflow:visible}
.chart-zone{fill:color-mix(in srgb,var(--accent-soft) 8%,transparent)}
.chart-axis{fill:none;stroke:#f0e9df40;stroke-width:1}
.chart-line{fill:none;stroke:var(--accent-soft);stroke-width:2;stroke-dasharray:600;stroke-dashoffset:calc(600 - var(--ribbon) * 600)}
.chart-t{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;fill:var(--dim-dark)}
.chart-t.accent{fill:var(--accent-soft)}
.chart-dot{transition:transform .9s var(--ease),opacity .5s;opacity:.25}
.chart-dot circle{fill:#f0e9df}
.chart-dot .halo{fill:none;stroke:var(--accent-soft);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}
.chart-dot.on{opacity:1}
.chart-dot.done{opacity:.55}
.chart-dot.crossed circle:not(.halo){fill:var(--accent-soft)}
.chart-dot.on.crossed .halo{opacity:1;animation:halo 1.6s ease-out infinite}
@keyframes halo{from{transform:scale(.5);opacity:.9}to{transform:scale(1.6);opacity:0}}

/* Evidence: twelve weeks of small steps and down-shifts */
.days{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:6px}
.days i{aspect-ratio:1;border-radius:4px;background:#f0e9df14;transition:background .35s var(--ease),transform .35s var(--ease)}
.days i.full{background:var(--accent-soft)}
.days i.half{background:linear-gradient(135deg,var(--accent-soft) 50%,#f0e9df14 50%)}
.days-legend{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:10px;color:var(--dim-dark)}
.days-legend .k{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-2px}
.days-legend .k.full{background:var(--accent-soft)}.days-legend .k.half{background:linear-gradient(135deg,var(--accent-soft) 50%,#f0e9df24 50%)}
.cx-identity{margin-top:28px;display:grid;font-size:clamp(20px,2vw,26px);letter-spacing:-.02em}
.cx-identity span{grid-area:1/1;transition:opacity .6s var(--ease)}
.cx-identity .before{color:var(--dim-dark);opacity:calc(1 - var(--late,0))}
.cx-identity .after{color:var(--accent-soft);opacity:var(--late,0)}

/* ---------- Section heads: subcopy sits under the title ---------- */
.section-head:not(.voices .section-head){flex-direction:column;align-items:flex-start;gap:22px}
.section-head:not(.voices .section-head) .lede{max-width:52ch}
.beliefs-head{grid-template-columns:1fr;gap:26px;align-items:start}
.beliefs-lede{max-width:52ch}

/* ---------- Client rows: every frame the same height ---------- */
.frame,.frame:first-child{width:clamp(300px,44vw,640px)}

/* ---------- Programs: numbering, alignment, variants ---------- */
.programs .wrap{counter-reset:prog}
.program:not([hidden]){counter-increment:prog}
.program-label .n:before{content:counter(prog,decimal-leading-zero)}
.program-label{font-size:11px;letter-spacing:.18em}
@media(min-width:901px){
  .program>div:first-child>:not(.program-label){margin-left:16px}
}
/* Tighter rows and a smaller portrait now that the section carries six */
.program{padding:clamp(36px,4.5vw,64px) 0}
@media(min-width:901px){.program{grid-template-columns:1fr minmax(200px,.26fr)}.program .clip{max-width:300px;margin-left:auto}}

/* ---------- Review panel (a review tool, not part of the design) ---------- */
.review-panel{position:fixed;z-index:101;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:min(300px,calc(100vw - 28px));background:#fffefaf2;border:1px solid #d9d4cc;border-radius:16px;box-shadow:0 10px 40px #0003;backdrop-filter:blur(16px);font:12px/1.3 var(--sans);color:#33312c}
.review-panel summary{list-style:none;cursor:pointer;padding:11px 14px;display:flex;justify-content:space-between;align-items:center;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.review-panel summary::-webkit-details-marker{display:none}
.review-panel summary:after{content:'+';font-size:14px}
.review-panel[open] summary:after{content:'–'}
.review-panel .rows{padding:0 14px 12px;display:grid;gap:12px}
.review-panel .row{display:grid;gap:6px}
.review-panel .row>span{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#6b6056}
.review-panel .opts{display:flex;flex-wrap:wrap;gap:4px}
.review-panel .opts button{border:1px solid #d9d4cc;background:transparent;border-radius:999px;padding:5px 10px;cursor:pointer;font-size:12px}
.review-panel .opts button[aria-pressed=true]{background:#151515;color:#fff;border-color:#151515}
.review-panel .opts button.swatch{width:24px;height:24px;padding:0;border:2px solid #fff;box-shadow:0 0 0 1px #33312c33;background:var(--swatch)}
.review-panel .opts button.swatch[aria-pressed=true]{box-shadow:0 0 0 2px #151515}
.accent-picker{display:none}
@media(max-width:1100px){.review-panel{right:50%;transform:translateX(50%);bottom:calc(max(12px,env(safe-area-inset-bottom)) + 62px)}}

@media(max-width:900px){
  .cx-grid{grid-template-columns:1fr;gap:28px}
  .cx-visual{width:min(100%,300px);order:-1}
  .cx-title{font-size:clamp(26px,7vw,34px)}
  .cx-steps{margin-top:18px}
  .cx-steps li{display:none;grid-template-columns:1fr;gap:4px;border:0;padding:0}
  .cx-steps li.on{display:grid}
  .cx-body{font-size:16px}
  .path-steps{grid-template-columns:1fr}
  .path-steps li,.path-steps li+li{padding:24px 0}
  .path-steps li:after{content:none}
}
@media(prefers-reduced-motion:reduce){
  .cx-steps li{opacity:1;display:grid}
}

/* ---------- Spectrum placements ---------- */
.client .track-nav button:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.voice.client-voice{background:var(--accent);color:var(--on-accent)}


/* ---------- B = MAP dots become the behavior once they cross the line ---------- */
.chart-dot .emoji{font-size:26px;opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center;transition:opacity .4s var(--ease),transform .5s cubic-bezier(.2,.9,.3,1.4)}
.chart-dot .pt{transition:opacity .3s,transform .3s;transform-box:fill-box;transform-origin:center}
.chart-dot.crossed .emoji{opacity:1;transform:scale(1)}
.chart-dot.crossed .pt{opacity:0;transform:scale(.3)}
.chart-dot.crossed .halo{stroke-width:1.2}

/* ---------- Method: the paragraph is the title, centered, and a bridge leads to the work ---------- */
.method{padding-top:clamp(72px,9vw,140px)}
.method-title{max-width:26ch;margin:0 auto clamp(56px,7vw,100px);text-align:center;font-size:clamp(28px,3.4vw,50px);font-weight:400;letter-spacing:-.03em;line-height:1.12;color:var(--on-dark)}
.method-bridge{max-width:30ch;margin:clamp(64px,8vw,120px) auto 0;text-align:center;display:grid;justify-items:center;gap:26px}
.method-bridge p{font-size:clamp(22px,2.2vw,32px);letter-spacing:-.02em;line-height:1.25;color:var(--on-dark)}
.bridge-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:10px 20px;border-radius:999px;border:1px solid #f0e9df40;text-decoration:none;color:var(--on-dark);font-size:15px;transition:background .25s,border-color .25s}
.bridge-link span:last-child{display:inline-block;transition:transform .35s var(--ease)}
.bridge-link:hover{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--night)}
.bridge-link:hover span:last-child{transform:translateY(3px)}

.chart-dot.done{opacity:.8}

/* ---------- The playbook: three scroll scenes, each in its own hue ---------- */
.playbook{padding-top:var(--section)}
.pb-head{display:grid;gap:22px;justify-items:start;margin-bottom:clamp(20px,3vw,40px)}
.pb-head .lede{color:var(--dim-dark);max-width:48ch}
.pb-scene{position:relative;height:230vh;height:230svh}
.pb-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden}
.playbook .concept,.playbook .concept:not(.day-ribbon){position:relative;inset:auto;display:flex;width:100%;opacity:var(--ribbon,1);transform:translateY(calc((1 - var(--ribbon,1)) * 5vh));pointer-events:auto}
.playbook .cx-grid{margin-inline:auto}
@media(prefers-reduced-motion:reduce){
  .pb-scene{height:auto}
  .pb-sticky{position:relative;height:auto;padding:70px 0}
  .playbook .concept{opacity:1;transform:none}
}

/* ---------- Dawn: night to morning between the day timeline and the work ---------- */
.method{padding-bottom:clamp(40px,5vw,80px)}
.dawn{position:relative;height:190vh;height:190svh;background:var(--page);--dp:0}
.dawn-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}
.dawn-sky{position:absolute;inset:0;background:linear-gradient(180deg,var(--night) 0%,var(--night) 12%,#221f33 26%,#4a3b63 40%,#9a6f93 54%,#e2a9a3 66%,#f3cfb3 78%,#f7e6d4 88%,var(--page) 100%);background-size:100% 520%;background-position:0 calc(var(--dp) * 100%)}
.dawn-sun{position:absolute;left:50%;bottom:0;width:clamp(160px,18vw,260px);aspect-ratio:1;margin-left:calc(clamp(160px,18vw,260px) / -2);border-radius:50%;
  background:radial-gradient(circle at 50% 45%,#fff4dc 0%,#ffd99a 38%,#f4a86a 70%,#f4a86a00 71%);
  box-shadow:0 0 120px 40px #f6b77a55;opacity:min(calc(var(--dp) * 2.2 - .35),calc((1 - var(--dp)) * 5));transform:translateY(calc((1 - var(--dp)) * 70% + 30%))}
.dawn-copy{position:relative;z-index:1;display:grid;justify-items:center;gap:26px;text-align:center;color:var(--on-dark);transition:color .6s var(--ease)}
.dawn.lit .dawn-copy{color:var(--ink)}
.dawn-clock{display:flex;gap:12px;align-items:center;opacity:.8}
.dawn-clock .dot{width:7px;height:7px;border-radius:50%;background:#f4a86a;box-shadow:0 0 12px #f4a86a}
.dawn-line{max-width:30ch;font-size:clamp(26px,3vw,44px);letter-spacing:-.025em;line-height:1.18}
.dawn .bridge-link{color:inherit;border-color:color-mix(in srgb,currentColor 35%,transparent)}
.dawn .bridge-link:hover{background:var(--night);border-color:var(--night);color:var(--on-dark)}
.dawn:not(.lit) .bridge-link:hover{background:var(--on-dark);border-color:var(--on-dark);color:var(--night)}
@media(prefers-reduced-motion:reduce){
  .dawn{height:auto;--dp:1}
  .dawn-stage{position:relative;height:auto;padding:clamp(100px,14vw,180px) 0}
  .dawn-sky{background-size:100% 100%;background-position:0 0;background:linear-gradient(180deg,var(--night),#4a3b63 30%,#e2a9a3 60%,var(--page))}
  .dawn-sun{display:none}
  .dawn-copy{color:var(--ink)}
}

/* ---------- Work ↔ programs: each client row names the program it shows; each program points back ---------- */
.program-tag{display:inline-flex;align-items:center;gap:12px;color:var(--muted);text-decoration:none;margin-bottom:14px;transition:color .25s}
.program-tag span:first-child{color:var(--ink)}
.program-tag span:last-child{opacity:0;transform:translateY(-3px);transition:opacity .25s,transform .35s var(--ease)}
.program-tag:hover{color:var(--ink)}
.program-tag:hover span:last-child{opacity:1;transform:none}
.seen-in{margin-top:18px;font-size:14px;color:var(--muted)}
.seen-in a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.program h3,.client h3{scroll-margin-top:140px}
.program-tags{display:flex;flex-wrap:wrap;gap:0 28px}

/* ---------- The open slot sits inside Midday, aligned with the brands around it ---------- */
.routine .rt-slot{padding:18px 20px;margin:4px 0 0 -20px;border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 8%,#151515);border:1px solid color-mix(in srgb,var(--accent-soft) 28%,transparent);box-shadow:inset 0 0 50px color-mix(in srgb,var(--accent-soft) 6%,transparent)}
.routine .rt-slot .rt-brand{color:var(--accent-soft)}
.routine .rt-slot .rt-brand small{color:var(--on-dark);max-width:46ch}
.routine .rt-slot .button{margin-top:16px}
@media(max-width:900px){.routine .rt-slot{margin-left:0}}

/* ---------- Program pills: the same mark on a client row and on its program ---------- */
.program-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.program-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;letter-spacing:0;color:var(--ink);text-decoration:none;background:transparent;transition:background .25s,border-color .25s,color .25s}
a.program-pill span{display:inline-block;transition:transform .3s var(--ease)}
a.program-pill:hover{background:var(--ink);border-color:var(--ink);color:var(--page)}
a.program-pill:hover span{transform:translateY(2px)}
.program-label{display:block}
.program-pill.is-label{background:var(--sand);border-color:transparent}
@media(min-width:901px){.program>div:first-child>:not(.program-label){margin-left:0}}
.program h3{text-indent:-.4em}

/* ---------- The network ---------- */
.network{padding:var(--section) 0;background:var(--sand);border-top:1px solid var(--line)}
.network-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.network-list li{padding:28px 28px 32px 0;border-bottom:1px solid var(--line);display:grid;gap:8px;align-content:start}
.network-list li:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--line)}
.network-list b{font-weight:400;font-size:clamp(22px,2vw,28px);letter-spacing:-.02em}
.network-list span{color:var(--muted);font-size:16px;max-width:30ch}
@media(max-width:900px){.network-list{grid-template-columns:1fr}.network-list li,.network-list li:not(:nth-child(3n+1)){padding:22px 0;border-left:0}}

/* ---------- Heard in the work: a quilt of quotes ---------- */
.voices{background:var(--sand)}
.voice-quilt{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:12px}
.voice-quilt .voice{position:relative;width:auto;min-height:0;border-radius:14px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;overflow:hidden;isolation:isolate;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),opacity .8s var(--ease)}
.voice-quilt .voice:before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),color-mix(in srgb,currentColor 9%,transparent),transparent 60%)}
.voice-quilt .voice:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px #33312c66}
.voice-quilt .voice:hover:before{opacity:1}
.voice-quilt .voice.waiting{opacity:0;transform:translateY(18px) scale(.985)}
.voice-quilt .q-hero{grid-column:span 2;grid-row:span 2}
.voice-quilt .q-wide{grid-column:span 2}
.voice-quilt .q-tall{grid-row:span 2}
.voice-quilt .q-hero blockquote{font-size:clamp(24px,2.4vw,34px);line-height:1.2;letter-spacing:-.025em}
.voice-quilt .q-wide blockquote,.voice-quilt .q-tall blockquote{font-size:18px}
.voice-quilt .q-small blockquote{font-size:17px}
.voice-quilt .t-page{background:var(--page);color:var(--ink)}
.voice-quilt .t-deep{background:var(--sand-deep);color:var(--ink)}
.voice-quilt .t-night{background:var(--night);color:var(--on-dark)}
.voice-quilt .t-night .role{color:var(--dim-dark)}
.voice-quilt .voice figcaption img,.voice-quilt .voice .initials{transition:transform .5s var(--ease)}
.voice-quilt .voice:hover figcaption img,.voice-quilt .voice:hover .initials{transform:scale(1.08)}
@media(max-width:1000px){.voice-quilt{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.voice-quilt{grid-template-columns:1fr}.voice-quilt .q-hero,.voice-quilt .q-wide{grid-column:auto}.voice-quilt .q-hero,.voice-quilt .q-tall{grid-row:auto}}
@media(prefers-reduced-motion:reduce){.voice-quilt .voice.waiting{opacity:1;transform:none}}

/* Frames whose artwork isn't 3:2 (emails, recipe cards, square posts) sit whole on sand */
.frame.fit img{object-fit:contain;background:var(--sand-deep);padding:14px}
.voice-quilt blockquote strong{font-weight:500;color:inherit;background:linear-gradient(transparent 62%,color-mix(in srgb,currentColor 12%,transparent) 62%);padding:0 .08em}

/* ======== Launch (2026-09-24): work as image-left / text-right cases ======== */
.case{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,5vw,88px);align-items:start;padding:clamp(44px,5vw,80px) 0;border-top:1px solid var(--line)}
.case:last-child{border-bottom:1px solid var(--line)}
.case-stage{position:relative;aspect-ratio:3/2;border-radius:10px;overflow:hidden;background:var(--sand)}
.case-stage .slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility 0s .6s}
.case-stage .slide.on{opacity:1;visibility:visible;transition:opacity .6s var(--ease)}
.case-stage .slide>img{width:100%;height:100%;object-fit:cover}
.case-stage .slide.fit>img{object-fit:contain;background:var(--sand-deep);padding:clamp(10px,2vw,24px)}
.case-thumbs{display:flex;gap:12px;margin-top:14px}
.case-thumbs button{flex:0 0 clamp(76px,8vw,112px);display:grid;gap:8px;padding:0;border:0;background:none;cursor:pointer;text-align:left;color:var(--muted)}
.case-thumbs .th{display:block;aspect-ratio:3/2;border-radius:6px;overflow:hidden;background:var(--sand-deep);box-shadow:0 0 0 1px transparent;transition:box-shadow .25s,opacity .25s;opacity:.62}
.case-thumbs .th img{width:100%;height:100%;object-fit:cover}
.case-thumbs .th.card{display:grid;place-items:center;padding:6px;text-align:center;background:var(--night);color:var(--on-dark);font:500 clamp(7px,.7vw,10px)/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.case-thumbs button:hover .th{opacity:.9}
.case-thumbs button[aria-pressed=true] .th{opacity:1;box-shadow:0 0 0 1.5px var(--ink)}
.case-thumbs button[aria-pressed=true]{color:var(--ink)}
.case-thumbs .mono{font-size:9px;letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.case-text{display:grid;gap:18px;align-content:start;padding-top:4px}
.case h3{font-size:clamp(30px,3.2vw,46px);font-weight:400;letter-spacing:-.035em;line-height:1.05;scroll-margin-top:140px}
.case-angle{font-size:clamp(19px,1.6vw,22px);line-height:1.45;letter-spacing:-.01em;color:var(--ink)}
.case-text>p:not(.case-angle){color:var(--muted);font-size:17px;line-height:1.6;max-width:52ch}
.case-text>p.case-result{color:var(--ink);padding-left:16px;border-left:2px solid var(--ink)}
.case-quote{margin:4px 0 0;padding:20px 22px;background:var(--sand);border-radius:10px}
.case-quote p{font-size:17px;line-height:1.5}
.case-quote footer{margin-top:10px;color:var(--muted);font-size:11px}
.case-does{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.case-does li{padding:6px 13px;border-radius:999px;background:var(--sand-deep);font-size:13px}
.case-link{justify-self:start;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 20px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:15px;transition:background .25s,border-color .25s,color .25s}
.case-link span:last-child{transition:transform .3s var(--ease)}
.case-link:hover{background:var(--ink);border-color:var(--ink);color:var(--page)}
.case-link:hover span:last-child{transform:translate(2px,-2px)}

/* Coplay: three generated ads fanned out, with the path from idea to first buyers */
.adflow{position:absolute;inset:0;display:grid;grid-template-rows:1fr auto;background:radial-gradient(120% 90% at 50% 20%,#fff6ea,#f3e2cf)}
.adflow-ads{position:relative}
.adflow-ads img{position:absolute;top:9%;left:50%;width:27%;border-radius:8px;box-shadow:0 18px 40px -18px #33312c80;transition:transform .9s var(--ease)}
.adflow-ads img:nth-child(1){transform:translateX(-148%) rotate(-7deg) translateY(6%)}
.adflow-ads img:nth-child(2){transform:translateX(-50%);z-index:1}
.adflow-ads img:nth-child(3){transform:translateX(48%) rotate(7deg) translateY(6%)}
.case:hover .adflow-ads img:nth-child(1){transform:translateX(-160%) rotate(-9deg) translateY(4%)}
.case:hover .adflow-ads img:nth-child(3){transform:translateX(60%) rotate(9deg) translateY(4%)}
.adflow-steps{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);margin:0 clamp(12px,2vw,24px) clamp(12px,1.6vw,20px);padding:12px 14px;border-radius:999px;background:#fffdf9e6;backdrop-filter:blur(8px);font-size:10px;color:var(--muted);counter-reset:af}
.adflow-steps li{display:flex;align-items:center;gap:8px;white-space:nowrap}
.adflow-steps li:before{content:'';width:7px;height:7px;border-radius:50%;background:#33312c33;flex:none;transition:background .4s}
.adflow-steps li.on{color:var(--ink)}
.adflow-steps li.on:before{background:#b3372d;box-shadow:0 0 0 4px #b3372d22}

/* Kasane: the eval card, filling in persona by persona */
.evalcard{position:absolute;inset:0;padding:clamp(16px,2.4vw,30px);background:var(--night);color:var(--on-dark);display:grid;grid-template-rows:auto auto 1fr auto auto;gap:clamp(10px,1.4vw,18px);--ok:#bdd1b3}
.ec-head{display:flex;justify-content:space-between;align-items:baseline;color:var(--dim-dark);font-size:10px}
.ec-head b{font-weight:500;color:var(--on-dark)}
.ec-grid{display:grid;grid-template-columns:auto repeat(5,1fr);gap:clamp(3px,.5vw,6px);align-items:center}
.ec-grid .mono{font-size:clamp(7px,.62vw,9px);letter-spacing:.1em;color:var(--dim-dark);white-space:nowrap}
.ec-grid>span:nth-child(-n+6){text-align:center}
.ec-grid>span.mono:not(:nth-child(-n+6)){padding-right:6px}
.ec-grid i{height:clamp(12px,1.5vw,20px);border-radius:4px;background:#f0e9df14;transition:background .35s var(--ease),box-shadow .35s}
.ec-grid i.run{background:var(--ok);box-shadow:0 0 12px #bdd1b340}
.ec-log{display:grid;gap:0;align-content:start;border-top:1px solid var(--line-dark)}
.ec-log li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:clamp(5px,.7vw,9px) 0;border-bottom:1px solid var(--line-dark);font-size:clamp(11px,.95vw,14px);opacity:.25;transform:translateY(4px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.ec-log li.on{opacity:1;transform:none}
.ec-log b{flex:none;font:500 clamp(8px,.68vw,10px)/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:5px 8px;border-radius:999px;background:var(--ok);color:var(--night)}
.ec-log b.no{background:transparent;color:#e7bcc6;box-shadow:inset 0 0 0 1px #e7bcc666}
.ec-model{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:clamp(6px,.8vw,10px) 12px;border-radius:8px;background:#f0e9df0d;font-size:clamp(10px,.85vw,13px);color:var(--dim-dark);opacity:.25;transition:opacity .5s var(--ease)}
.ec-model.on{opacity:1}
.ec-model b{font:500 clamp(8px,.68vw,10px)/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#e7bcc6;white-space:nowrap}
.ec-foot{font-size:clamp(8px,.68vw,10px);color:var(--dim-dark)}

@media(max-width:900px){
  .case{grid-template-columns:1fr;gap:26px}
}
@media(max-width:700px){
  .case-stage{aspect-ratio:4/5}
  .case-stage .slide.fit>img{padding:10px}
  .adflow-ads img{width:40%;top:6%}
  .adflow-ads img:nth-child(1){transform:translateX(-122%) rotate(-7deg) translateY(10%)}
  .adflow-ads img:nth-child(3){transform:translateX(22%) rotate(7deg) translateY(10%)}
  .adflow-steps{grid-template-columns:1fr 1fr;row-gap:8px;border-radius:14px}
  .evalcard{padding:18px}
  .ec-grid .mono{font-size:8px;letter-spacing:.04em}
  .ec-log li{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.adflow-ads img{transition:none}}

/* Programs: an in-code picture of each challenge, turning into our approach as it scrolls up */
@media(min-width:901px){.program{grid-template-columns:1fr minmax(300px,.62fr)}}
.pv{margin:0;background:var(--night);color:var(--on-dark);border-radius:14px;padding:18px 20px 20px;--a:0;box-shadow:0 18px 40px -26px #151515aa}
.pv svg{display:block;width:100%;height:auto;margin:12px 0 14px}
.pv-top,.pv figcaption{display:grid}
.pv-top>span,.pv figcaption>span{grid-area:1/1;transition:opacity .45s var(--ease)}
.pv-top{font-size:10px;color:var(--dim-dark)}
.pv-top .pv-ap{color:var(--accent-soft)}
.pv figcaption{font-size:15px;line-height:1.45;color:var(--on-dark);min-height:2.9em}
.pv.ap .pv-c,.pv:not(.ap) .pv-ap{opacity:0}
.pv [style*="--s"]{opacity:clamp(0,calc(var(--a) * 10 - var(--s)),1)}
.pv .ch{opacity:clamp(0,calc(1 - var(--a) * 4),1)}
.pv-t{font:500 8.5px var(--mono);letter-spacing:.12em;fill:var(--dim-dark)}
.pv-t.accent{fill:var(--accent-soft)}
.pv-t.ink{fill:var(--night)}
.pv-dot{fill:#f0e9df40}
.pv-dot.on,.pv-fill,.pv-yes,.pv-card,.pv-note,.pv-cellon,.pv-usdot{fill:var(--accent-soft)}
.pv-link,.pv-link-us{fill:none;stroke:var(--accent-soft);stroke-width:1;stroke-opacity:.55}
.pv-rule{stroke:#f0e9df33;stroke-width:1;fill:none}
.pv-line{stroke:var(--accent-soft);stroke-width:1.5}
.pv-check{fill:none;stroke:var(--night);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pv-brand{fill:none;stroke:var(--accent-soft);stroke-width:1.2}
.pv-soft{fill:color-mix(in srgb,var(--accent-soft) 45%,transparent)}
.pv-screen{fill:#f0e9df0a;stroke:#f0e9df40}
.pv-old{fill:#f0e9df26}
.pv-heart{fill:#e7bcc6b3}
.pv-tick{stroke:#f0e9df40}
.pv-flag{stroke:#f0e9df66;stroke-dasharray:3 4}
.pv-flagp{fill:#f0e9df99}
.pv-bar-dim{fill:#f0e9df1f}
.pv-seat{fill:none;stroke:#f0e9df55;stroke-dasharray:3 3}
.pv-bar-track,.pv-cell{fill:#f0e9df12}
.pv-mile{fill:var(--night);stroke:var(--night);stroke-width:2}
.pv .pv-grow{fill:var(--accent-soft);opacity:1;transform-box:fill-box;transform-origin:left center;transform:scaleX(clamp(0,calc((var(--a) * 10 - 1.5) / 5),1))}
.pv-draw{fill:none;stroke:var(--accent-soft);stroke-width:2;stroke-dasharray:100;stroke-dashoffset:calc(100 - clamp(0,calc((var(--a) * 10 - 1) / 8.5),1) * 100)}
.pv-core{fill:#2a2825;stroke:#f0e9df55}
.pv-us{opacity:calc(1 - clamp(0,calc(var(--a) * 10 - 7),1) * .75)}
@media(max-width:900px){.pv{max-width:460px}}
@media(prefers-reduced-motion:reduce){.pv{--a:1}}

/* Team + network, one section with three layouts (?team=a|b|c) */
.team .team-head{display:grid;grid-template-columns:1fr;gap:26px;margin-bottom:clamp(40px,5vw,72px)}
.team .team-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}
.team .team-intro .lede{margin-top:0;color:var(--ink);max-width:44ch}
.team .team-note{margin-top:0;max-width:44ch}
.team .network{padding:0;background:none;border-top:0}
.network-head{display:grid;gap:12px;margin-bottom:24px}
.network-head h3{font-size:clamp(26px,2.6vw,38px);font-weight:400;letter-spacing:-.03em;line-height:1.1}
.network-head p{color:var(--muted);max-width:52ch}
.ledger{display:grid;gap:0;margin-top:18px;border-top:1px solid var(--line)}
.ledger li{display:grid;grid-template-columns:minmax(96px,auto) 1fr;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
.ledger b{font-weight:400;font-size:18px;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.variant-bar{position:fixed;z-index:120;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:4px;align-items:center;padding:6px;border-radius:999px;background:#151515ee;color:var(--on-dark);font-size:13px;box-shadow:0 10px 30px #0004;backdrop-filter:blur(10px)}
.variant-bar[hidden]{display:none}
.variant-bar span{padding:0 10px;color:var(--dim-dark);font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.variant-bar a{padding:8px 14px;border-radius:999px;text-decoration:none;white-space:nowrap}
.variant-bar a[aria-current=true]{background:var(--on-dark);color:var(--night)}

/* A · One room: title across the top, bios with room, the network in the same room below */
.team[data-variant=a] .people{grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px)}
.team[data-variant=a] .person img{aspect-ratio:4/3;object-position:50% 25%}
.team[data-variant=a] .network{margin-top:clamp(96px,11vw,168px)}
.team[data-variant=a] .network-list{grid-template-columns:repeat(3,1fr)}

/* B · Connectors: the two of us in the middle, the network wired out to either side */
.team[data-variant=b] .team-head{text-align:center;justify-items:center}
.team[data-variant=b] .team-intro{grid-template-columns:1fr;justify-items:center;gap:14px}
.team[data-variant=b] .team-body{display:grid;grid-template-columns:1fr minmax(0,1.5fr) 1fr;gap:0 clamp(20px,3vw,48px);align-items:center}
.team[data-variant=b] .people{grid-column:2;grid-row:1 / span 3;grid-template-columns:1fr 1fr;gap:20px}
.team[data-variant=b] .ledger{display:none}
.team[data-variant=b] .network{display:contents}
.team[data-variant=b] .network-head{grid-column:1 / -1;grid-row:4;text-align:center;justify-items:center;margin:48px 0 0}
.team[data-variant=b] .network-list{display:contents}
.team[data-variant=b] .network-list li{position:relative;padding:18px 0;border:0;border-bottom:1px solid var(--line)}
.team[data-variant=b] .network-list li:nth-child(-n+3){grid-column:1;text-align:right}
.team[data-variant=b] .network-list li:nth-child(n+4){grid-column:3}
.team[data-variant=b] .network-list li:nth-child(1),.team[data-variant=b] .network-list li:nth-child(4){grid-row:1;align-self:center}
.team[data-variant=b] .network-list li:nth-child(2),.team[data-variant=b] .network-list li:nth-child(5){grid-row:2;align-self:center}
.team[data-variant=b] .network-list li:nth-child(3),.team[data-variant=b] .network-list li:nth-child(6){grid-row:3;align-self:center}
.team[data-variant=b] .network-list li:nth-child(-n+3):after,.team[data-variant=b] .network-list li:nth-child(n+4):after{content:'';position:absolute;top:50%;width:clamp(20px,3vw,48px);height:1px;background:var(--line)}
.team[data-variant=b] .network-list li:nth-child(-n+3):after{right:calc(-1 * clamp(20px,3vw,48px))}
.team[data-variant=b] .network-list li:nth-child(n+4):after{left:calc(-1 * clamp(20px,3vw,48px))}
.team[data-variant=b] .network-list li:not(:nth-child(3n+1)){padding-left:0;border-left:0}
.team[data-variant=b] .network-list li:nth-child(-n+3) span{margin-left:auto}
.team[data-variant=b] .network-list b{font-size:20px}
.team[data-variant=b] .network-list span{font-size:14px}

/* C · Ledger: the title holds a sticky column, each founder reads as a row with their highlights */
.team[data-variant=c] .wrap{display:grid;grid-template-columns:minmax(260px,.8fr) 1.6fr;gap:clamp(32px,6vw,96px);align-items:start}
.team[data-variant=c] .team-head{position:sticky;top:40px;margin:0}
.team[data-variant=c] .team-intro{grid-template-columns:1fr;gap:18px}
.team[data-variant=c] .people{grid-template-columns:1fr;gap:clamp(36px,4vw,56px)}
.team[data-variant=c] .person{display:grid;grid-template-columns:minmax(140px,.55fr) 1fr;gap:clamp(20px,3vw,40px);align-items:start}
.team[data-variant=c] .person-name{margin-top:0}
.team[data-variant=c] .network{margin-top:clamp(56px,6vw,88px);padding:28px;background:var(--page);border-radius:14px}
.team[data-variant=c] .network-list{grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.team[data-variant=c] .network-list li,.team[data-variant=c] .network-list li:not(:nth-child(3n+1)){padding:18px 18px 18px 0;border-left:0}
.team[data-variant=c] .network-list li:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}
.team[data-variant=c] .network-list b{font-size:20px}

@media(max-width:900px){
  .team .team-intro{grid-template-columns:1fr}
  .team[data-variant=b] .team-body{display:block}
  .team[data-variant=b] .network{display:block;margin-top:48px}
  .team[data-variant=b] .network-head{margin:0 0 20px}
  .team[data-variant=b] .network-list{display:grid;grid-template-columns:1fr}
  .team[data-variant=b] .network-list li{text-align:left!important}
  .team[data-variant=b] .network-list li:after{content:none!important}
  .team[data-variant=c] .wrap{grid-template-columns:1fr}
  .team[data-variant=c] .team-head{position:static}
  .team[data-variant=c] .network-list{grid-template-columns:1fr}
  .team[data-variant=c] .network-list li:nth-child(even){padding-left:0;border-left:0}
  .team[data-variant=a] .network-list{grid-template-columns:1fr}
}
@media(max-width:700px){
  .team[data-variant=a] .people,.team[data-variant=b] .people{grid-template-columns:1fr}
  .team[data-variant=c] .person{grid-template-columns:1fr}
  .team .person img{max-width:none;aspect-ratio:4/3}
}

/* The whole text side of a case is the link (Paul, 2026-09-24) */
a.case-text{color:inherit;text-decoration:none;border-radius:12px;margin:-14px;padding:18px 14px 14px;transition:background .3s var(--ease)}
a.case-text:hover{background:color-mix(in srgb,var(--sand) 70%,transparent)}
a.case-text:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.case-go{display:inline-flex;align-items:center;gap:10px;margin-top:4px;font-size:15px;font-weight:500;color:var(--ink)}
.case-go span:first-child{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.case-go span:last-child{transition:transform .3s var(--ease)}
a.case-text:hover .case-go span:last-child{transform:translate(3px,-3px)}
a.case-text:hover h3{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px}

/* Kasane eval card v2: current model vs candidate, the differences, the recommendation */
.evalcard{grid-template-rows:auto auto 1fr auto auto;gap:clamp(8px,1.2vw,14px)}
.ec-q{font-size:clamp(16px,1.6vw,22px);letter-spacing:-.02em;line-height:1.2;color:var(--on-dark)}
.ec-table{display:grid;align-content:center;border-top:1px solid var(--line-dark)}
.ec-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px;align-items:center;padding:clamp(5px,.75vw,9px) 0;border-bottom:1px solid var(--line-dark);font-size:clamp(11px,.95vw,14px);color:var(--dim-dark)}
.ec-row.ec-cols span{font-size:clamp(8px,.68vw,10px);color:var(--dim-dark)}
.ec-row.ec-cols span:nth-child(2){color:var(--ok)}
.ec-row.ec-cols span:nth-child(3){color:#e7bcc6}
.ec-row [role=cell]{display:grid;gap:5px}
.ec-row b{font-weight:500;color:var(--on-dark);font-size:clamp(12px,1.05vw,15px)}
.ec-row i{display:block;height:4px;border-radius:4px;background:var(--ok);transform-origin:left;transform:scaleX(0);transition:transform 1s var(--ease)}
.ec-row i.hot{background:#e7bcc6}
.slide.on .ec-row i{transform:scaleX(var(--w))}
.slide.on .ec-row:nth-child(3) i{transition-delay:.25s}
.slide.on .ec-row:nth-child(4) i{transition-delay:.5s}
.slide.on .ec-row:nth-child(5) i{transition-delay:.75s}
.ec-verdict{display:grid;gap:6px;padding:clamp(8px,1vw,12px) 14px;border-radius:10px;background:#bdd1b31f;border:1px solid #bdd1b355;font-size:clamp(11px,.95vw,14px);line-height:1.4;color:var(--on-dark);opacity:0;transform:translateY(6px);transition:opacity .6s var(--ease) 1.1s,transform .6s var(--ease) 1.1s}
.ec-verdict b{font-size:clamp(8px,.68vw,10px);color:var(--ok);font-weight:500}
.slide.on .ec-verdict{opacity:1;transform:none}
@media(max-width:700px){.ec-row{grid-template-columns:1fr 1fr 1fr;gap:8px}.ec-q{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ec-row i{transition:none}.ec-verdict{opacity:1;transform:none;transition:none}}
@media(max-width:700px){.ec-head span:last-child{display:none}}

/* Programs: a timer line along the bottom of each picture, filling through the shared cycle */
.pv{position:relative;overflow:hidden}
.pv:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent-soft);transform-origin:left center;transform:scaleX(var(--t,0));opacity:.9}
.pv:before{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:color-mix(in srgb,var(--accent-soft) 18%,transparent)}
.pv.pv-still:after,.pv.pv-still:before{display:none}

/* ======== Work round 3 (2026-09-24): logo first, title as the link, no thumbnail captions ======== */
.case h3 a{color:inherit;text-decoration:none}
.case h3 a:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:8px}
.case-thumbs .mono{display:none}
.case-thumbs .th.logo{background:var(--page);box-shadow:inset 0 0 0 1px var(--line)}
.case-thumbs .th.logo img{object-fit:contain;padding:18% 14%}
.case-thumbs .th.card{font-size:clamp(8px,.72vw,10px)}

/* Logo slide: Britt's project-tile grammar (index, meta, mark, name, arrow) with hairline corner ticks */
.logo-slide{background:var(--page)}
.lg{position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:1fr auto;padding:clamp(16px,2vw,26px)}
.lg-i{font-size:10px;color:var(--muted)}
.lg-k{font-size:10px;color:var(--muted);text-align:right;letter-spacing:.12em}
.lg-mark{grid-column:1/-1;display:grid;place-items:center;min-height:0}
.lg-img{display:block;max-width:58%;max-height:clamp(70px,11vw,150px);width:auto;height:auto}
.lg-territory{max-width:62%}
.lg-apothekary{max-height:clamp(90px,13vw,180px)}
.lg-fitt{max-width:50%;max-height:none}
.lg-florens{max-width:44%;max-height:none;width:44%}
.lg-coplay{max-width:52%;max-height:none;width:52%}
.lg-lockup{display:inline-flex;align-items:center;gap:clamp(12px,1.4vw,20px)}
.lg-kasane{max-height:clamp(54px,6.5vw,92px)}
.lg-word{font-size:clamp(40px,5vw,72px);font-weight:500;letter-spacing:-.035em;color:var(--night)}
.lg-n{font-size:13px;color:var(--ink);align-self:end}
.lg-a{font-size:18px;color:var(--ink);align-self:end;text-align:right}
.lg-tick{position:absolute;width:10px;height:10px;border-color:#33312c55;border-style:solid;border-width:0}
.lg-tick.t1{left:50%;top:clamp(16px,2vw,26px);width:1px;height:8px;background:#33312c33}
.lg-tick.t2{left:50%;bottom:clamp(16px,2vw,26px);width:1px;height:8px;background:#33312c33}
.lg-tick.t3{top:50%;left:clamp(16px,2vw,26px);height:1px;width:8px;background:#33312c33}
.lg-tick.t4{top:50%;right:clamp(16px,2vw,26px);height:1px;width:8px;background:#33312c33}

/* Coplay: the GenAI ad process, four steps */
.adproc,.disc{position:absolute;inset:0;background:var(--page);box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;padding:clamp(16px,2vw,26px);display:grid;grid-template-rows:auto 1fr;gap:clamp(12px,1.4vw,18px)}
.ap-head{font-size:10px;color:var(--muted)}
.ap-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1vw,14px);min-height:0}
.ap-steps li{display:grid;grid-template-rows:1fr auto auto;gap:6px;min-height:0}
.ap-steps img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:top;border-radius:6px;box-shadow:0 10px 24px -16px #33312c80}
.ap-steps li:first-child img{filter:grayscale(.35) contrast(.95)}
.ap-steps .mono{font-size:9px;color:var(--muted)}
.ap-steps b{font-weight:500;font-size:clamp(11px,1vw,14px);line-height:1.25;letter-spacing:-.01em}
/* Coplay: early customer discovery, four dated steps */
.disc-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,20px);align-content:start;align-self:center}
.disc-steps:before{content:'';position:absolute;left:6px;right:6px;top:6px;height:1px;background:var(--line)}
.disc-steps li{position:relative;display:grid;gap:8px;padding-top:28px;align-content:start}
.disc-steps li:before{content:'';position:absolute;left:0;top:0;width:13px;height:13px;border-radius:50%;background:var(--page);box-shadow:inset 0 0 0 1.5px var(--ink)}
.disc-steps li:last-child:before{background:#ef4b4b;box-shadow:0 0 0 4px #ef4b4b26}
.disc-steps .mono{font-size:10px;color:var(--muted)}
.disc-steps b{font-weight:500;font-size:clamp(15px,1.5vw,21px);line-height:1.15;letter-spacing:-.02em}
.disc-steps li span:last-child{font-size:clamp(12px,1vw,14px);line-height:1.45;color:var(--muted)}
@media(max-width:700px){
  .lg-k{max-width:22ch}
  .ap-steps{grid-template-columns:repeat(2,1fr);grid-template-rows:1fr 1fr}
  .ap-steps b{font-size:11px}
  .disc-steps{grid-template-columns:1fr 1fr;row-gap:18px;align-content:start}
  .disc-steps:before{display:none}
  .disc-steps li{padding-top:22px}
  .disc-steps b{font-size:15px}
  .disc-steps li span:last-child{font-size:12px}
}

/* What we bring: a timer line under the open item; it holds still while paused */
.bring details{position:relative}
.bring details[open]:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform-origin:left center;transform:scaleX(var(--t,0))}
.bring-list.is-paused details[open]:after{opacity:.35}
@media(prefers-reduced-motion:reduce){.bring details[open]:after{display:none}}
/* Thumbnail strips shrink to fit narrow screens (Codex, PR #12) */
.case-thumbs{min-width:0}
.case-thumbs button{flex:1 1 0;min-width:0;max-width:112px}
/* Narrowest phones: the discovery slide keeps dates and headlines (Codex, PR #12) */
@media(max-width:420px){.disc-steps li span:last-child{display:none}.disc-steps{row-gap:14px}}
