/* Fixed to Flow · shared styles for /, /studio, /playground, /about, legal pages and 404
   Taste pass, 1 Oct 2026. Design record: docs/business/fixedtoflow/mockups/website-prototype/*-taste.html (claude base)
   Audit: docs/business/fixedtoflow/redesign-sep-2026/taste-audit-2026-10-01.md
   Dials: variance 5, motion 4, density 3. Light and dark themes (data-theme + prefers-color-scheme). */
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(/assets/fonts/schibsted-grotesk-latin.woff2) format("woff2");
  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:"Schibsted Grotesk";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(/assets/fonts/schibsted-grotesk-latin-ext.woff2) format("woff2");
  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:"Schibsted Grotesk";font-style:italic;font-weight:400 600;font-display:swap;
  src:url(/assets/fonts/schibsted-grotesk-italic-latin.woff2) format("woff2");
  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:"Schibsted Grotesk";font-style:italic;font-weight:400 600;font-display:swap;
  src:url(/assets/fonts/schibsted-grotesk-italic-latin-ext.woff2) format("woff2");
  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}
:root{
  /* Neutral monochrome + one red. The cream base (#f7f6f2) is gone. */
  --paper:#f3f3f2;--surface:#ffffff;--surface-line:transparent;--ink:#171717;--muted:#5b5b59;--faint:#878784;--line:#d4d4d1;--wash:#e8e8e6;
  --red:#d63026;--on-red:#fff;
  --font:"Schibsted Grotesk",ui-sans-serif,system-ui,sans-serif;
  --page:1360px;--gutter:64px;
  --ease:cubic-bezier(.16,1,.3,1);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--paper:#131313;--surface:#1f1f1e;--surface-line:#2e2e2c;--ink:#ececea;--muted:#a2a29f;--faint:#73736f;--line:#2b2b2a;--wash:#1c1c1b;--red:#ea4a3e}
}
:root[data-theme="dark"]{--paper:#131313;--surface:#1f1f1e;--surface-line:#2e2e2c;--ink:#ececea;--muted:#a2a29f;--faint:#73736f;--line:#2b2b2a;--wash:#1c1c1b;--red:#ea4a3e}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
h1,h2,h3,p{text-wrap:pretty}
h1,h2{text-wrap:balance}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--line);transition:color .2s,text-decoration-color .2s}
a:hover{color:var(--red);text-decoration-color:currentColor}
a:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px;border-radius:2px}
::selection{background:var(--red);color:var(--on-red)}
.page{max-width:var(--page);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;top:8px;left:8px;transform:translateY(-160%);background:var(--paper);padding:10px 14px;z-index:9}
.skip:focus{transform:none}
figcaption{font-size:13px;color:var(--faint);margin-top:10px;line-height:1.5}

/* Header: 72px, one line (was 112px) */
header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{width:228px}
nav{display:flex;align-items:center;gap:34px;font-size:17px}
header nav{margin-left:auto}
.menu-btn{display:none;position:relative;width:44px;height:44px;margin:0 -10px 0 0;padding:0;background:none;border:0;color:var(--ink);cursor:pointer}
.menu-btn span{position:absolute;left:10px;right:10px;height:1.5px;background:currentColor;border-radius:1px;transition:transform .35s var(--ease)}
.menu-btn span:first-child{top:17px}
.menu-btn span:last-child{top:25px}
header.open .menu-btn span:first-child{transform:translateY(4px) rotate(45deg)}
header.open .menu-btn span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu-btn:focus-visible{outline:2px solid var(--red);outline-offset:6px;border-radius:2px}
.theme{display:inline-grid;place-items:center;width:40px;height:40px;margin:0 -8px 0 4px;padding:0;color:var(--ink);background:none;border:0;border-radius:2px;cursor:pointer;transition:color .2s}
.theme svg{width:22px;height:22px;transition:transform .5s var(--ease)}
:root[data-theme="dark"] .theme svg{transform:rotate(180deg)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme svg{transform:rotate(180deg)}}
.theme:hover{color:var(--red)}
.theme:active{transform:translateY(1px)}
.theme:focus-visible{outline:2px solid var(--red);outline-offset:4px}
nav a{text-decoration:none;padding:8px 0;white-space:nowrap}
nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:8px}
nav .talk{color:var(--red);font-weight:500}

/* One contact label everywhere: "Let's talk". Sharp corners match the 2px system. */
.btn{display:inline-flex;align-items:center;gap:10px;background:#d63026;color:var(--on-red);text-decoration:none;font-weight:500;font-size:17px;padding:14px 22px;border-radius:2px;transition:transform .25s var(--ease),background .2s}
.btn:hover{color:var(--on-red);background:#b8271f}
.btn:active{transform:translateY(1px) scale(.98)}
.btn span{transition:transform .3s var(--ease)}
.btn:hover span{transform:translateX(4px)}

/* HOME HERO: type-only manifesto (no photos on home, Gus 1 Oct). One sentence, one CTA. */
.hero{padding:64px 0 104px}
.hero h1{font-weight:500;font-size:clamp(56px,11vw,176px);line-height:.98;letter-spacing:-.05em;margin:0}
.hero h1 em{font-style:italic;font-weight:400;display:block;padding-bottom:.08em;color:var(--red)}
.hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-top:56px;padding-top:28px;border-top:1px solid var(--ink)}
.hero-foot p{font-size:clamp(20px,1.9vw,26px);line-height:1.35;letter-spacing:-.015em;max-width:32ch;margin:0}

/* DOORS: 3 items, 3 cells, colour carries the variation (no images) */
.doors{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;align-items:stretch;gap:16px;padding-bottom:120px}
.door{display:flex;flex-direction:column;justify-content:space-between;gap:48px;text-decoration:none;color:inherit;background:var(--wash);padding:36px;border-radius:2px;min-height:240px;transition:transform .25s var(--ease),background .25s}
.door:active{transform:scale(.99)}
.door .t{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.door h2{font-weight:500;font-size:clamp(36px,4vw,64px);letter-spacing:-.045em;line-height:1;margin:0}
.door .arrow{font-size:24px;color:var(--faint);transition:transform .35s var(--ease),color .2s}
.door:hover .arrow{transform:translateX(8px);color:var(--red)}
.door b{display:block;font-weight:500;font-size:21px;letter-spacing:-.02em;margin-bottom:6px}
.door p{margin:0;color:var(--muted);max-width:42ch;font-size:17px}
.door-studio{grid-row:span 2;background:#d63026;color:var(--on-red);min-height:520px}
.door-studio h2{font-size:clamp(56px,7vw,120px)}
.door-studio .arrow{color:color-mix(in srgb,var(--on-red) 82%,transparent)}
.door-studio p{color:var(--on-red)}
.door-studio:hover .arrow{color:var(--on-red)}
.door-studio:hover{background:#b8271f}
/* Tiles are links: keep their own text colour on hover (the global a:hover turns text red, invisible on the red tile) */
.door:hover{color:var(--ink)}
.door-studio:hover{color:var(--on-red)}
.door-play:hover,.door-about:hover{background:color-mix(in srgb,var(--wash) 80%,var(--line))}
.door-play:hover h2,.door-about:hover h2{color:var(--red)}
.door-about{background:transparent;border:1px solid var(--line)}

/* CONTACT: stacked, full width, no grid */
.contact{padding:96px 0 112px;border-top:1px solid var(--ink)}
.contact h2{font-weight:500;font-size:clamp(56px,9vw,148px);letter-spacing:-.05em;line-height:.95;margin:0 0 32px}
.contact p{font-size:clamp(19px,1.6vw,22px);color:var(--muted);margin:0 0 28px;max-width:40ch}
.email{font-size:clamp(22px,2.6vw,36px);letter-spacing:-.02em;color:var(--red);text-decoration:none;font-weight:500}
.email:hover{text-decoration:underline}

footer{border-top:1px solid var(--line);padding:24px 0 64px;font-size:13px;color:var(--faint)}
footer .row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap}
footer nav{font-size:13px;gap:10px 22px;flex-wrap:wrap}
footer .theme{display:none}
footer nav a{padding:0}
footer .legal{display:flex;gap:22px}

/* STUDIO */
.head{padding:72px 0 64px;max-width:900px}
.head h1{font-weight:500;font-size:clamp(46px,6.4vw,96px);line-height:1;letter-spacing:-.045em;margin:0 0 28px}
.head .lead{font-size:clamp(19px,1.7vw,23px);line-height:1.45;letter-spacing:-.015em;color:var(--muted);max-width:60ch;margin:0}
.bleed{margin:0 calc(var(--gutter) * -1)}
.bleed img{width:100%;aspect-ratio:21/9;object-fit:cover}
.bleed figcaption{padding:0 var(--gutter)}

.familiar{padding:120px 0 104px}
.familiar h2,.how h2,.lines h2{font-weight:500;font-size:clamp(28px,2.6vw,38px);letter-spacing:-.03em;line-height:1.1;margin:0 0 40px}
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:40px 56px}
.qgrid blockquote{margin:0;font-size:clamp(21px,1.9vw,26px);line-height:1.35;letter-spacing:-.02em}
.qgrid blockquote:first-child{grid-column:1 / -1;font-size:clamp(30px,3.6vw,54px);line-height:1.12;letter-spacing:-.035em;font-weight:500;max-width:22ch}
.qgrid blockquote:nth-child(3){margin-top:64px}

.lines{display:grid;grid-template-columns:1fr 2fr;gap:52px;padding:0 0 104px}
.lines .side{position:sticky;top:28px;align-self:start}
.lines .side p{color:var(--muted);margin:0;max-width:30ch}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:24px;cursor:pointer;padding:22px 0;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.03em;line-height:1.15;font-weight:500}
summary::-webkit-details-marker{display:none}
summary .gist{font-size:15px;font-weight:400;letter-spacing:0;color:var(--faint);margin-left:auto;text-align:right;max-width:300px;line-height:1.4}
summary:after{content:"+";font-size:26px;font-weight:400;color:var(--faint);width:18px;text-align:center;flex:none;transition:transform .3s var(--ease)}
details[open] summary:after{transform:rotate(45deg)}
summary:hover,summary:hover:after{color:var(--red)}
.detail{padding:0 0 28px;max-width:620px;color:var(--muted)}
.detail p{margin:0 0 12px}

.belief{background:var(--wash);margin:0 calc(var(--gutter) * -1);padding:112px var(--gutter)}
.belief p{margin:0 auto;max-width:1100px;font-size:clamp(30px,4vw,60px);line-height:1.12;letter-spacing:-.035em;font-weight:500}
.belief p em{font-weight:400}

.how{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;padding:120px 0}
.how h2{margin-bottom:20px}
.how .step{font-size:clamp(36px,4.4vw,68px);line-height:1.02;letter-spacing:-.045em;font-weight:500;margin:0;color:var(--ink);max-width:12ch}
.how p{font-size:clamp(19px,1.6vw,22px);line-height:1.45;color:var(--muted);margin:0 0 32px;max-width:40ch}


/* PLAYGROUND */
.events-s{padding:120px 0 104px}
.events-head{display:flex;align-items:baseline;justify-content:space-between;gap:32px;margin-bottom:40px}
.events-head h2,.alive h2,.past h2,.shelf h2,.orgs-head h2,.voices-s h2,.meet h2{font-weight:500;font-size:clamp(28px,2.6vw,38px);letter-spacing:-.03em;line-height:1.1;margin:0}
.events-head p{margin:0;color:var(--muted);font-size:clamp(18px,1.5vw,21px)}
.ev-groups{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.ev-group .group{font-size:15px;font-weight:500;color:var(--red);letter-spacing:.01em;margin:0 0 8px;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.ev{padding:26px 0 8px}
.ev h3{font-weight:500;font-size:clamp(24px,2.2vw,32px);letter-spacing:-.03em;line-height:1.1;margin:0 0 10px}
.ev p{margin:0 0 6px;color:var(--muted);font-size:17px;line-height:1.55;max-width:46ch}
.ev .note{font-size:15px;color:var(--faint)}
.ev .note a,.ev .credit a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.ev .credit{font-size:14px;color:var(--faint);margin:-4px 0 8px}
.yours{display:grid;grid-template-columns:1fr 2fr;gap:52px;align-items:start;margin-top:72px;padding-top:36px;border-top:1px solid var(--ink)}
.yours h3{font-weight:500;font-size:clamp(32px,3.4vw,52px);letter-spacing:-.04em;line-height:1;margin:0 0 8px}
.yours .on{margin:0;color:var(--faint)}
.yours p{margin:0 0 24px;max-width:52ch;color:var(--muted)}

.alive{padding:120px 0 0}
.alive h2,.past h2,.shelf h2,.voices-s h2{margin-bottom:40px}
.gallery{display:grid;gap:16px}
.g-row{display:grid;gap:16px}
.g-2{grid-template-columns:1fr 1fr}
.g-3{grid-template-columns:repeat(3,1fr)}
.gallery img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:2px;display:block}

.past{padding:120px 0 0}
.past-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.past-pair img{aspect-ratio:3/2;object-fit:cover;border-radius:2px}
.past-pair figcaption{display:flex;justify-content:space-between;gap:16px;font-size:15px}
.past-pair figcaption a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}

.shelf{padding:120px 0}
.shelf-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.shelf h3{font-weight:500;font-size:clamp(22px,2vw,28px);letter-spacing:-.025em;margin:0 0 10px}
.shelf p{margin:0 0 14px;color:var(--muted);max-width:46ch}
.more{color:var(--red);text-decoration:none;font-weight:500}
.more:hover{text-decoration:underline}
.shelf .links{display:flex;flex-wrap:wrap;gap:8px 24px}

/* ABOUT */
.meet{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:start;padding:24px 0 120px}
.portrait{position:sticky;top:28px}
.portrait img{aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.portrait figcaption a{color:var(--muted);text-decoration:none}
.portrait figcaption a:hover{color:var(--red)}
.bio h2{margin-bottom:28px}
.bio p{font-size:18px;line-height:1.6;color:var(--muted);max-width:58ch;margin:0 0 18px}
.bio p.first{color:var(--ink);font-size:clamp(22px,2vw,27px);line-height:1.35;letter-spacing:-.02em}
.bio .partner{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);color:var(--ink)}

.orgs-s{padding:120px 0}
.orgs-head{display:grid;grid-template-columns:1fr 2fr;gap:52px;margin-bottom:48px}
.orgs-head p{margin:0;color:var(--muted);font-size:18px;max-width:58ch}
.logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px 32px}
.logos li{display:flex;align-items:center;justify-content:center;min-height:112px}
.logos img{max-width:100%;height:auto;opacity:.85}
:root[data-theme="dark"] .logos img{filter:invert(1)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logos img{filter:invert(1)}}

.voices-s{padding:0 0 120px}
.voices{columns:2;column-gap:56px}
.voices blockquote{break-inside:avoid;margin:0 0 48px}
.voices p{font-size:19px;line-height:1.45;letter-spacing:-.01em;margin:0 0 12px}
.voices .v-lead p{font-size:clamp(24px,2.3vw,32px);line-height:1.25;letter-spacing:-.025em;font-weight:500}
.voices cite{font-style:normal;font-size:14px;color:var(--faint)}
.voices cite b{font-weight:500;color:var(--ink)}
.more-voices{margin:0}

@media (max-width:900px){
  .events-s{padding:72px 0 64px}
  .events-head{flex-direction:column;gap:8px;margin-bottom:28px}
  .ev-groups{grid-template-columns:1fr;gap:48px}
  .yours{grid-template-columns:1fr;gap:20px;margin-top:56px}
  .alive,.past{padding-top:72px}
  .g-2{grid-template-columns:1fr}
  .g-3{grid-template-columns:1fr 1fr}
  .g-3 figure:last-child{grid-column:span 2}
  .past-pair{grid-template-columns:1fr}
  .shelf{padding:72px 0}
  .shelf-cols{grid-template-columns:1fr;gap:36px}
  .meet{grid-template-columns:1fr;gap:28px;padding-bottom:72px}
  .portrait{position:static;max-width:320px}
  .orgs-s{padding:72px 0}
  .orgs-head{grid-template-columns:1fr;gap:12px;margin-bottom:28px}
  .logos{grid-template-columns:repeat(2,1fr);gap:0 24px}
  .logos li{min-height:80px}
  .voices{columns:1}
  .voices-s{padding-bottom:72px}
}

/* Motion: motivated only. Hero enters in reading order; sections rise once on scroll. */
@media (prefers-reduced-motion:reduce){.menu-btn span{transition:none}}
@media (prefers-reduced-motion:no-preference){
  .rise{animation:rise .9s var(--ease) both}
  .d1{animation-delay:.08s}.d2{animation-delay:.2s}.d3{animation-delay:.32s}.d4{animation-delay:.44s}
    @supports (animation-timeline:view()){
    .reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
  }
}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

@media (max-width:900px){
  :root{--gutter:20px}
  header{height:76px;gap:8px}
  .logo{width:176px}
  header > a:first-child{margin-right:auto}
  .menu-btn{display:block}
  .theme{margin:0}
  header nav{display:none}
  header.open nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:fixed;left:0;right:0;top:76px;bottom:0;z-index:20;margin:0;background:var(--paper);padding:8px var(--gutter) 40px;border-top:1px solid var(--line);font-size:40px;font-weight:500;letter-spacing:-.04em;line-height:1.1;overflow-y:auto}
  header.open nav a{padding:18px 0;border-bottom:1px solid var(--line)}
  header.open nav a[aria-current="page"]{text-underline-offset:10px;text-decoration-thickness:3px}
  .hero{padding:32px 0 72px}
  .hero-foot{flex-direction:column;align-items:flex-start;gap:28px;margin-top:36px}
  .doors{grid-template-columns:1fr;grid-template-rows:none;gap:12px;padding-bottom:80px}
  .door{padding:24px;min-height:0;gap:32px}
  .door-studio{grid-row:auto;min-height:320px}
  .contact{padding:64px 0 80px}
  .head{padding:40px 0 40px}
  .bleed img{aspect-ratio:4/3}
  .familiar{padding:72px 0 64px}
  .qgrid{grid-template-columns:1fr;gap:28px}
  .qgrid blockquote:nth-child(3){margin-top:0}
  .lines{grid-template-columns:1fr;gap:12px;padding-bottom:72px}
  .lines .side{position:static}
  summary .gist{display:none}
  .belief{padding:72px var(--gutter)}
  .how{grid-template-columns:1fr;gap:28px;padding:72px 0}
  .how .step{max-width:none}
}

/* LEGAL + 404 (privacy, event terms) */
.page-head{padding:72px 0 48px;max-width:900px}
.page-head .label{font-size:15px;font-weight:500;color:var(--red);margin:0 0 16px}
.page-head h1{font-weight:500;font-size:clamp(40px,5.2vw,80px);line-height:1;letter-spacing:-.045em;margin:0}
.page-head .lead{font-size:clamp(19px,1.7vw,23px);line-height:1.45;color:var(--muted);max-width:60ch;margin:24px 0 0}
.page-head .updated{font-size:14px;color:var(--faint);margin:20px 0 0}
section.legal{border-top:1px solid var(--line);padding:48px 0 96px}
section.legal > span[aria-hidden]{display:none}
.prose{max-width:680px;font-size:17px;line-height:1.65}
.prose h2{font-weight:500;font-size:24px;line-height:1.25;letter-spacing:-.02em;margin:48px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 16px}
.prose ul{margin:0 0 20px;padding-left:1.2em}
.prose li{margin:0 0 6px}
.prose strong{font-weight:600}
.prose a{text-decoration:underline;text-decoration-color:var(--line)}
.prose a:hover{text-decoration-color:currentColor}
.prose .note{margin:32px 0;padding:22px 24px;background:var(--wash);border-left:2px solid var(--red)}
.prose .note p{margin:0}
.prose .footnote{margin-top:40px;font-size:13px;line-height:1.55;color:var(--faint)}
.lost{list-style:none;margin:0 0 120px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.lost a{display:block;text-decoration:none}
.lost b{display:block;font-weight:500;font-size:clamp(28px,2.6vw,40px);letter-spacing:-.035em;line-height:1.05;margin-bottom:8px}
.lost span{color:var(--muted);font-size:16px}
.lost a:hover b{color:var(--red)}
@media (max-width:900px){
  .page-head{padding:40px 0 32px}
  section.legal{padding:36px 0 64px}
  .prose{font-size:16px}
  .lost{grid-template-columns:1fr 1fr;margin-bottom:72px}
}

/* Reinvention Stories (/stories, /stories/<slug>) */
.page-head .label a{color:inherit;text-decoration:none}
.page-head .label a:hover{text-decoration:underline}
.page-head .label small{display:block;margin-top:6px;font-size:14px;font-weight:400;color:var(--faint)}
.stories{list-style:none;margin:0 0 120px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 40px}
.stories a{display:block;text-decoration:none;color:inherit}
.stories img{aspect-ratio:1;object-fit:cover;border-radius:2px;filter:grayscale(1);transition:filter .7s var(--ease)}
.stories a:hover img,.stories a:focus-visible img{filter:none}
.stories h2{font-weight:500;font-size:26px;letter-spacing:-.03em;line-height:1.15;margin:22px 0 10px;transition:color .2s}
.stories a:hover h2{color:var(--red)}
.stories p{margin:0 0 12px;font-size:16px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.stories small{font-size:13px;color:var(--faint)}
@media (hover:none){.stories img{filter:none}}
.story{display:grid;grid-template-columns:260px minmax(0,680px);gap:72px;padding:16px 0 96px}
.story .portrait{position:sticky;top:32px;align-self:start}
.story .portrait img{border-radius:2px}
.interview{font-size:18px}
.interview > p:first-child{margin-top:0}
.interview h2{font-size:30px;font-weight:500;line-height:1.15;letter-spacing:-.03em;color:var(--red);margin:88px 0 28px}
.interview .intro{font-style:italic;color:var(--muted)}
.interview .intro em{font-style:normal}
.interview .intro blockquote{color:var(--ink)}
.interview .intro .sign{font-style:normal;font-weight:500;color:var(--ink);margin-top:24px}
.interview .intro + h2{margin-top:72px}
.interview h2:first-child{margin-top:0}
.interview h3,.interview h4,.interview .q{font-weight:500;font-size:23px;line-height:1.3;letter-spacing:-.02em;color:var(--ink);margin:48px 0 16px}
.interview :is(h3,h4,.q) strong{font-weight:inherit}
.interview h2 + h3,.interview h2 + h4,.interview h2 + .q{margin-top:0}
.interview blockquote{margin:28px 0;padding:2px 0 2px 22px;border-left:2px solid var(--red);font-size:21px;line-height:1.45;letter-spacing:-.015em}
.interview blockquote p{margin:0}
.interview figure{margin:36px 0}
.interview img{border-radius:2px}
.interview hr{border:0;border-top:1px solid var(--line);margin:48px 0}
.interview ol{margin:0 0 20px;padding-left:1.4em}
.interview p.qa > strong:first-child{display:block;font-weight:500;font-size:23px;line-height:1.3;letter-spacing:-.02em;margin:48px 0 16px}
.interview p.qa > strong:first-child br{display:none}
.story-steps{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:end;border-top:1px solid var(--line);padding:32px 0 96px}
.story-steps a{text-decoration:none;color:inherit;font-size:clamp(20px,2vw,26px);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.story-steps a small{display:block;font-size:13px;font-weight:400;letter-spacing:0;color:var(--faint);margin-bottom:6px}
.story-steps .older{text-align:right}
.story-steps .all{font-size:15px;font-weight:400;letter-spacing:0;color:var(--muted);padding-bottom:3px}
.story-steps a:hover,.story-steps a:hover small{color:var(--red)}
@media (max-width:1100px){.stories{grid-template-columns:repeat(2,minmax(0,1fr))}.story{grid-template-columns:200px minmax(0,1fr);gap:48px}}
@media (max-width:900px){
  .stories{gap:44px 22px;margin-bottom:72px}
  .stories h2{font-size:22px;margin-top:16px}
  .story{grid-template-columns:1fr;gap:32px;padding-bottom:64px}
  .story .portrait{position:static;max-width:200px}
  .interview{font-size:17px}
  .interview h3,.interview h4,.interview .q,.interview p.qa > strong:first-child{font-size:20px;margin-top:40px}
  .interview h2{font-size:25px;margin-top:64px}
  .story-steps{grid-template-columns:1fr 1fr;padding-bottom:56px}
  .story-steps .all{grid-column:1 / -1;grid-row:2}
}
@media (max-width:560px){.stories{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.stories img,.stories h2{transition:none}}

/* GARDEN SESSIONS, private editions (/garden-sessions). 7 Oct 2026, taste pass 2.
   One layout family per section: typographic run, stacked act rows, two plain lists, band, quote, split steps. */
.gs-head .label{font-size:15px;font-weight:500;color:var(--red);margin:0 0 20px}
.gs-head .label a{text-decoration:none}
.gs-head .label a:hover{text-decoration:underline}
.gs-head .cta{margin:36px 0 0}
.gs-themes h2,.gs-day h2,.gs-same h2,.gs-steps h2{font-weight:500;font-size:clamp(28px,2.6vw,38px);letter-spacing:-.03em;line-height:1.1;margin:0 0 20px}
.gs-themes{padding:0 0 120px}
.gs-run{margin:8px 0 32px;font-weight:500;font-size:clamp(40px,6.4vw,104px);line-height:1.04;letter-spacing:-.05em;max-width:15ch}
.gs-run em{font-weight:400;color:var(--red);display:inline-block;padding-bottom:.08em}
.gs-run-note{margin:0;color:var(--muted);font-size:clamp(19px,1.7vw,23px);line-height:1.45;letter-spacing:-.015em;max-width:44ch}
.gs-problem{padding:120px 0 104px}
.gs-problem h2{font-weight:500;font-size:clamp(44px,6.4vw,104px);line-height:1;letter-spacing:-.05em;margin:0 0 48px;max-width:14ch}
.gs-problem .cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:1100px}
.gs-problem .cols p{margin:0;font-size:clamp(19px,1.7vw,23px);line-height:1.45;letter-spacing:-.015em;color:var(--muted)}
.gs-gains{padding:0 0 120px}
.gs-gains h2,.gs-people h2{font-weight:500;font-size:clamp(28px,2.6vw,38px);letter-spacing:-.03em;line-height:1.1;margin:0 0 40px}
.gains{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gains li{background:var(--wash);border-radius:2px;padding:32px 32px 36px;color:var(--muted);font-size:17px;line-height:1.55;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.gains b{font-weight:500;color:var(--ink);font-size:clamp(28px,2.8vw,42px);letter-spacing:-.04em;line-height:1.05;display:block}
.gains li:last-child{background:#d63026;color:var(--on-red)}
.gains li:last-child b{color:var(--on-red)}
.gs-people{padding:0 0 120px}
.people{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,220px));gap:40px}
.people img{width:100%;max-width:220px;aspect-ratio:1;object-fit:cover;border-radius:2px;margin-bottom:18px;filter:grayscale(1);transition:filter .7s var(--ease)}
.people li:hover img{filter:none}
.people b{display:block;font-weight:500;font-size:clamp(19px,1.6vw,22px);letter-spacing:-.02em;line-height:1.2;margin-bottom:6px}
.people span{display:block;color:var(--muted);font-size:15px;line-height:1.5}
.people-note{margin:40px 0 0;color:var(--faint);font-size:15px}
@media (hover:none){.people img{filter:none}}
@media (prefers-reduced-motion:reduce){.people img{transition:none}}
.gs-day{padding:0 0 120px}
.gs-intro{margin:0 0 48px;color:var(--muted);font-size:clamp(18px,1.5vw,21px);max-width:52ch}
.act{display:grid;grid-template-columns:1.1fr 1.6fr 1fr;gap:48px;align-items:baseline;padding:36px 0 40px;border-top:1px solid var(--ink)}
.act h3{font-weight:500;font-size:clamp(40px,5vw,80px);letter-spacing:-.05em;line-height:1.05;margin:0}
.act h3 em{font-weight:400;color:var(--red)}
.act p{margin:0;color:var(--muted);font-size:clamp(17px,1.4vw,19px);line-height:1.55;max-width:48ch}
.act ul{list-style:none;margin:0;padding:0;font-size:15px;color:var(--ink)}
.act ul li{padding:3px 0}
.gs-same{padding:0 0 120px}
.gs-same h2{margin-bottom:40px}
.gs-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.gs-list li{font-size:clamp(18px,1.5vw,21px);letter-spacing:-.01em;line-height:1.35}
.gs-proof{padding:120px 0;max-width:1100px}
.gs-proof blockquote{margin:0}
.gs-proof p{font-weight:500;font-size:clamp(28px,3.4vw,50px);line-height:1.15;letter-spacing:-.035em;margin:0 0 28px}
.gs-proof cite{font-style:normal;font-size:15px;color:var(--faint);line-height:1.6}
.gs-proof cite b{font-weight:500;color:var(--ink)}
.gs-steps{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;padding:0 0 120px}
.gs-steps .side p{margin:0;color:var(--muted);font-size:clamp(19px,1.6vw,22px);line-height:1.45;max-width:40ch}
.gs-steps ol{list-style:none;margin:0;padding:0;counter-reset:s}
.gs-steps li{counter-increment:s;display:grid;grid-template-columns:48px 1fr;padding:22px 0;border-top:1px solid var(--line);color:var(--muted);font-size:17px;line-height:1.55}
.gs-steps li:first-child{border-top:1px solid var(--ink)}
.gs-steps li:before{content:counter(s);font-weight:500;color:var(--red);font-size:17px}
.gs-steps b{font-weight:500;color:var(--ink)}
@media (max-width:900px){
  .gs-themes{padding:0 0 72px}
  .gs-run{margin-bottom:24px}
  .gs-day,.gs-same,.gs-steps{padding-bottom:72px}
  .gs-intro{margin-bottom:32px}
  .act{grid-template-columns:1fr;gap:14px;padding:28px 0 32px}
  .gs-proof{padding:72px 0}
  .gs-steps{grid-template-columns:1fr;gap:28px}
  .gs-problem{padding:72px 0 64px}
  .gs-problem h2{margin-bottom:28px}
  .gs-problem .cols{grid-template-columns:1fr;gap:20px}
  .gs-gains,.gs-people{padding-bottom:72px}
  .gains{grid-template-columns:1fr;gap:12px}
  .gains li{min-height:0;padding:24px}
  .people{grid-template-columns:1fr 1fr;gap:28px 16px}
}
