:root {
  --violet: #5128e5;
  --violet-deep: #32128e;
  --night: #0a0910;
  --bone: #f2efe7;
  --paper: #fffefa;
  --ink: #111015;
  --muted: #68646d;
  --line: rgba(17,16,21,.18);
  --blue: #1747ff;
  --orange: #ff5c20;
  --green: #b9ef49;
  --yellow: #ffd447;
  --max: 1440px;
  --gutter: clamp(20px, 4.6vw, 76px);
  --section: clamp(88px, 10vw, 168px);
  --ease: cubic-bezier(.16,1,.3,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bone); }
body {
  margin: 0;
  color: var(--ink);
  background: var(--bone);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(16px, .94rem + .16vw, 18px);
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img, svg, video { display: block; max-width: 100%; }
img, video { width: 100%; height: 100%; object-fit: cover; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, p, dl, dd, figure { margin: 0; }
h1, h2, h3 { text-wrap: balance; }
.container { width: min(calc(100% - 2 * var(--gutter)), var(--max)); margin-inline: auto; }
.reading { max-width: 760px; }
.muted { color: var(--muted); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; left: 1rem; top: -5rem; padding: .8rem 1rem; color: white; background: black; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid #ffd447; outline-offset: 4px; }

.kicker, .eyebrow, .section-index, .signal-label, .meta-label, .status {
  display: block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.25;
  text-transform: uppercase;
}

/* Navigation */
.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 78px;
  color: var(--ink);
  background: rgba(242,239,231,.94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
  transition: color 240ms ease, background 240ms ease, border-color 240ms ease;
}
.home .site-header:not(.is-scrolled) { color: white; background: linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,0)); border-color: transparent; backdrop-filter: none; }
.nav-shell { height: 78px; display: flex; align-items: center; gap: clamp(22px,3vw,52px); }
.brand-link { position: relative; z-index: 2; width: clamp(150px,15vw,205px); flex: 0 0 auto; }
.brand-link img { width: 100%; height: auto; }
.primary-nav { margin-left: auto; display: flex; align-items: center; gap: clamp(1.25rem,2.4vw,2.7rem); }
.primary-nav a { padding: .45rem 0; font-size: .78rem; font-weight: 750; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.primary-nav a[aria-current="page"] { box-shadow: inset 0 -2px currentColor; }
.primary-nav .nav-action { padding: .72rem 1.1rem; color: white; background: var(--violet); box-shadow: none; }
.home .site-header:not(.is-scrolled) .primary-nav .nav-action { color: var(--night); background: white; }
.menu-button { display: none; margin-left: auto; padding: .55rem 0; color: inherit; background: transparent; border: 0; font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .82rem 1.2rem;
  border: 1px solid currentColor;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 180ms ease, color 180ms ease, background 180ms ease;
}
.button:hover { transform: translateY(-2px); }
.button-light { color: var(--night); background: white; border-color: white; }
.button-dark, .button-primary { color: white; background: var(--night); border-color: var(--night); }
.button-disabled { opacity: .55; pointer-events: none; }
.text-link { display: inline-flex; align-items: center; gap: .6rem; padding: .35rem 0 .25rem; border-bottom: 1px solid currentColor; font-weight: 700; text-decoration: none; }
.text-link span { transition: transform 200ms ease; }
.text-link:hover span { transform: translateX(4px); }
.text-link-light { color: white; }
.action-row, .button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1.15rem; }

/* Hero: a moving editorial collage */
.cinema { position: relative; height: 185svh; color: white; background: var(--night); }
.cinema-sticky { position: sticky; top: 0; height: 100svh; min-height: 680px; overflow: hidden; }
.cinema-media { position: absolute; inset: 0; overflow: hidden; }
.cinema-tile { position: absolute; overflow: hidden; background: #25222b; will-change: transform; }
.cinema-tile img, .cinema-tile video { filter: saturate(.82) contrast(1.06); }
.tile-campus { inset: 0; transform: scale(calc(1.08 - var(--scene-progress,0) * .035)); }
.tile-speaker { left: 5vw; bottom: 8vh; width: clamp(150px,21vw,360px); height: clamp(200px,29vw,480px); transform: translate3d(calc(var(--scene-progress,0) * -4vw),calc((1 - var(--scene-progress,0)) * 18vh),0); }
.tile-conference { right: 4vw; top: 13vh; width: clamp(180px,26vw,430px); height: clamp(120px,18vw,290px); transform: translate3d(calc(var(--scene-progress,0) * 5vw),calc((1 - var(--scene-progress,0)) * -16vh),0); }
.tile-video { right: 19vw; bottom: 4vh; width: clamp(120px,15vw,245px); height: clamp(210px,29vw,455px); transform: translate3d(0,calc((1 - var(--scene-progress,0)) * 22vh),0) rotate(calc((1 - var(--scene-progress,0)) * 3deg)); }
.cinema-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,3,7,.84) 0%,rgba(4,3,7,.5) 42%,rgba(4,3,7,.2) 70%),linear-gradient(0deg,rgba(4,3,7,.66),transparent 50%); }
.cinema-copy { position: relative; z-index: 3; height: 100%; display: grid; grid-template-columns: repeat(12,1fr); grid-template-rows: 1fr auto 1fr; gap: 20px; align-items: end; padding-top: 120px; padding-bottom: 82px; }
.cinema-copy > .kicker { grid-column: 1 / 6; grid-row: 1; align-self: end; margin-bottom: 1.6rem; }
.cinema h1 { grid-column: 1 / 10; grid-row: 2; font-size: clamp(5.5rem,14.7vw,15.6rem); font-weight: 800; letter-spacing: -.075em; line-height: .72; }
.hero-deck { grid-column: 8 / 13; grid-row: 3; align-self: start; padding-top: 2.3rem; }
.hero-deck > p { max-width: 31ch; margin-bottom: 1.8rem; font-size: clamp(1.1rem,1.55vw,1.45rem); line-height: 1.36; }
.cinema-foot { position: absolute; z-index: 4; left: var(--gutter); right: var(--gutter); bottom: 22px; display: flex; justify-content: space-between; font-size: .66rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }

/* Exchange */
.exchange { overflow: hidden; padding: var(--section) 0; background: var(--bone); }
.exchange-intro { display: grid; grid-template-columns: 1fr 3fr; gap: 3rem; align-items: start; margin-bottom: clamp(60px,8vw,120px); }
.exchange-intro h2 { max-width: 19ch; font-size: clamp(3rem,6.5vw,7rem); font-weight: 680; letter-spacing: -.06em; line-height: .93; }
.exchange-rail { width: max-content; display: grid; grid-template-columns: repeat(4,minmax(260px,31vw)); gap: clamp(10px,1.3vw,22px); padding: 0 var(--gutter); }
.exchange-rail article { position: relative; min-height: clamp(390px,46vw,670px); overflow: hidden; color: white; background: var(--night); }
.exchange-rail article::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.03) 46%,rgba(0,0,0,.7)); }
.exchange-rail article img { position: absolute; inset: 0; transition: transform 800ms var(--ease); }
.exchange-rail article:hover img { transform: scale(1.035); }
.exchange-rail article > span, .exchange-rail article > strong { position: relative; z-index: 2; }
.exchange-rail article > span { display: block; padding: 1.2rem; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.exchange-rail article > strong { position: absolute; left: 1.15rem; right: 1.15rem; bottom: 1.15rem; font-size: clamp(2rem,3.4vw,4.8rem); letter-spacing: -.06em; line-height: .86; }
.exchange-end { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-top: clamp(48px,6vw,90px); border-top: 1px solid var(--line); padding-top: 1.6rem; }
.exchange-end p { font-size: clamp(1.3rem,2.4vw,2.2rem); font-weight: 650; letter-spacing: -.035em; }

/* Labs */
.labs-home { padding: var(--section) 0; color: white; background: var(--night); }
.section-head { display: grid; grid-template-columns: 2fr 1fr; gap: 3rem; align-items: end; margin-bottom: clamp(54px,7vw,104px); }
.section-head h2 { margin-top: 1.2rem; font-size: clamp(4.2rem,9vw,10.5rem); font-weight: 750; letter-spacing: -.075em; line-height: .78; }
.section-head > p { max-width: 34ch; padding-bottom: .4rem; font-size: clamp(1.1rem,1.5vw,1.4rem); }
.section-head.dark-text { color: var(--ink); }
.lab-wall { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: minmax(340px,38vw); gap: 16px; }
.lab-card { position: relative; display: block; overflow: hidden; color: white; background: #25232b; text-decoration: none; }
.lab-feature { grid-column: 1 / 9; }
.lab-innovation { grid-column: 9 / 13; }
.lab-science { grid-column: 1 / 6; }
.lab-health { grid-column: 6 / 10; }
.lab-civic { grid-column: 10 / 13; }
.lab-card img { position: absolute; inset: 0; filter: grayscale(.1) saturate(.8); transition: transform 900ms var(--ease), filter 400ms ease; }
.lab-card:hover img { transform: scale(1.035); filter: grayscale(0) saturate(1); }
.lab-tint { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.08) 45%,rgba(0,0,0,.78)); }
.lab-climate .lab-tint { background: linear-gradient(180deg,rgba(6,47,28,.48),rgba(0,0,0,.06) 45%,rgba(2,38,18,.88)); }
.lab-innovation .lab-tint { background: linear-gradient(180deg,rgba(44,20,130,.45),rgba(0,0,0,.08),rgba(38,12,110,.9)); }
.lab-science .lab-tint { background: linear-gradient(180deg,rgba(0,40,98,.45),rgba(0,0,0,.08),rgba(0,29,78,.9)); }
.lab-health .lab-tint { background: linear-gradient(180deg,rgba(128,30,22,.42),rgba(0,0,0,.08),rgba(111,27,18,.9)); }
.lab-civic .lab-tint { background: linear-gradient(180deg,rgba(88,63,0,.35),rgba(0,0,0,.08),rgba(77,50,0,.9)); }
.lab-learning .lab-tint { background: linear-gradient(180deg,rgba(18,47,113,.4),rgba(0,0,0,.06) 42%,rgba(39,18,113,.92)); }
.lab-card-top { position: absolute; z-index: 2; top: 0; left: 0; right: 0; display: flex; justify-content: space-between; gap: 1rem; padding: 1.1rem; font-size: .63rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lab-card-top em { padding: .35rem .52rem; color: var(--night); background: white; font-style: normal; letter-spacing: .05em; }
.lab-card-copy { position: absolute; z-index: 2; left: 1.1rem; right: 1.1rem; bottom: 1.15rem; }
.lab-card h3 { font-size: clamp(2.4rem,4.4vw,6rem); font-weight: 800; letter-spacing: -.06em; line-height: .78; }
.lab-card:not(.lab-feature) h3 { font-size: clamp(2rem,3vw,4.1rem); }
.lab-card-copy p { max-width: 36ch; margin-top: 1.1rem; font-size: clamp(.9rem,1.1vw,1.08rem); line-height: 1.32; }
.labs-note { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding-top: 2.4rem; }
.labs-note p { font-size: clamp(1.1rem,1.5vw,1.35rem); }

/* Programs */
.programs-home { padding: var(--section) 0; background: var(--paper); }
.program-showcase { display: grid; grid-template-columns: 1fr 1fr; }
.program-film { min-height: min(850px,85svh); display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; color: white; }
.program-thrive { background: var(--blue); }
.program-stage { background: var(--orange); }
.program-visual { min-height: 500px; overflow: hidden; }
.program-visual img, .program-visual video { transition: transform 900ms var(--ease); }
.program-film:hover .program-visual img, .program-film:hover .program-visual video { transform: scale(1.025); }
.program-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: clamp(26px,3.4vw,58px); }
.program-copy > span { font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.program-copy h3 { margin-top: auto; padding-top: 3rem; font-size: clamp(3.5rem,5.6vw,8.8rem); font-weight: 800; letter-spacing: -.075em; line-height: .74; }
.program-copy p { max-width: 28ch; margin: 1.3rem 0 2rem; line-height: 1.35; }
.programs-more { display: flex; justify-content: flex-end; padding-top: 2.3rem; }

/* Network, origin, closing */
.network-home { padding: var(--section) 0; background: var(--green); }
.network-grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(40px,6vw,100px); align-items: center; }
.network-copy h2 { margin: 1.5rem 0 2.4rem; font-size: clamp(3.8rem,7.7vw,9rem); font-weight: 800; letter-spacing: -.075em; line-height: .76; }
.network-copy > p:not(.kicker) { max-width: 42ch; margin-bottom: 2rem; font-size: clamp(1.08rem,1.45vw,1.35rem); }
.home-map { min-width: 0; }
.home-map svg { width: 100%; overflow: visible; }
.home-map .land, .map-shell .land { fill: rgba(17,16,21,.12); stroke: rgba(17,16,21,.45); stroke-width: .6; }
.home-map .halo, .map-shell .halo { fill: none; stroke: var(--violet); stroke-width: 2; }
.home-map .anchor, .map-shell .anchor { fill: var(--violet); }
.home-map > p { display: flex; align-items: center; gap: .5rem; margin-top: 1rem; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.home-map > p span { width: .72rem; height: .72rem; border-radius: 50%; background: var(--violet); }
.origin-home { display: grid; grid-template-columns: 1.25fr .75fr; min-height: 760px; background: var(--bone); }
.origin-image { min-height: 620px; }
.origin-copy { display: flex; flex-direction: column; justify-content: center; padding: var(--section) var(--gutter); }
.origin-copy h2 { margin: 1.4rem 0 2rem; font-size: clamp(3rem,5.8vw,7rem); font-weight: 700; letter-spacing: -.065em; line-height: .88; }
.origin-copy > p:not(.kicker) { max-width: 36ch; margin-bottom: 2.1rem; font-size: clamp(1.05rem,1.35vw,1.28rem); }
.closing { padding: var(--section) 0; color: white; background: var(--violet); }
.closing-inner h2 { margin: 1.7rem 0 3rem; font-size: clamp(4.2rem,10.5vw,12rem); font-weight: 800; letter-spacing: -.08em; line-height: .74; }
.closing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }

/* Interior pages */
body:not(.home) main { padding-top: 78px; }
.page-hero, .program-hero { padding: clamp(110px,14vw,210px) 0 clamp(80px,10vw,150px); background: var(--bone); }
.page-hero h1, .program-hero h1 { max-width: 1200px; margin: 1.1rem 0 2rem; font-size: clamp(4.1rem,9.5vw,11.5rem); font-weight: 800; letter-spacing: -.078em; line-height: .78; }
.program-hero h1 { color: var(--violet); }
.lead, .program-promise { max-width: 760px; font-size: clamp(1.25rem,2.2vw,2rem); line-height: 1.35; }
.program-promise { margin-bottom: 2.5rem; }
.section { padding: var(--section) 0; }
.section.rule-top { border-top: 1px solid var(--line); }
.section.dark, .dark { color: white; background: var(--night); }
.two-column { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: clamp(40px,8vw,130px); }
.section-title h2, .section-heading h2 { margin-top: 1rem; font-size: clamp(2.6rem,5vw,6rem); font-weight: 700; letter-spacing: -.06em; line-height: .9; }
.content-stack > * + * { margin-top: 1.25rem; }
.content-stack { max-width: 760px; }
.lede-large { font-size: clamp(1.35rem,2.3vw,2.15rem); letter-spacing: -.025em; line-height: 1.28; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 3.4rem; }
.list-clean { list-style: none; margin: 1.8rem 0 0; padding: 0; }
.list-clean li { padding: .9rem 0; border-top: 1px solid currentColor; }
.numbered-list { counter-reset: item; }
.facts { display: grid; grid-template-columns: repeat(3,1fr); margin-top: clamp(55px,8vw,100px); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.fact { min-height: 145px; padding: 1.3rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fact strong { display: block; margin-top: .8rem; font-size: clamp(1rem,1.4vw,1.28rem); line-height: 1.25; }
.deadline-local { display: block; margin-top: .65rem; color: var(--muted); font-size: .75rem; }
.steps { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.step { min-height: 290px; padding: 1.3rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.step-number, .principle-number { font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.step h3 { margin-top: 5rem; font-size: clamp(2rem,3vw,3.4rem); letter-spacing: -.05em; }
.step p { margin-top: 1rem; }
.final-invite h2 { max-width: 1100px; margin: 1.2rem 0 2rem; font-size: clamp(3rem,6vw,7rem); letter-spacing: -.06em; line-height: .88; }
.selection-callout blockquote { max-width: 1080px; margin: 1.4rem 0 2rem; font-size: clamp(3.4rem,7.8vw,9rem); font-weight: 750; letter-spacing: -.07em; line-height: .82; }
.faq details { padding: 1.15rem 0; border-top: 1px solid var(--line); }
.faq summary { cursor: pointer; font-weight: 750; }
.faq details p { padding-top: .9rem; color: var(--muted); }
.principles { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 3rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.principle { min-height: 260px; padding: 1.25rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.principle h3 { margin: 4rem 0 1rem; font-size: 1.55rem; letter-spacing: -.03em; }
.founder-band { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px,8vw,130px); align-items: center; }
.founder-mark { min-height: 520px; display: flex; align-items: end; padding: 1.5rem; color: var(--night); background: var(--green); font-size: clamp(2.5rem,5vw,6rem); font-weight: 800; letter-spacing: -.06em; line-height: .82; }
.founder-band h2 { margin: .9rem 0 1.4rem; font-size: clamp(3rem,5vw,6rem); letter-spacing: -.06em; }
.founder-band p + p { margin-top: 1rem; }
.contribution { color: white; background: var(--violet); }
.contribution-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; }
.contribution-grid h2 { margin-top: 1rem; font-size: clamp(3rem,5vw,6rem); letter-spacing: -.06em; line-height: .9; }
.contribution-grid .lead { margin-bottom: 1.5rem; }
.legal { max-width: 820px; }
.legal h2 { margin: 2.5rem 0 .8rem; font-size: 1.7rem; }
.legal p + p { margin-top: 1rem; }

/* Programs and Labs directory */
.filter-row { display: flex; flex-wrap: wrap; gap: .7rem; margin-bottom: 3rem; }
.filter-button { padding: .7rem .9rem; color: var(--ink); background: transparent; border: 1px solid var(--ink); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.filter-button[aria-pressed="true"] { color: white; background: var(--ink); }
.program-grid { border-top: 1px solid var(--line); }
.program-row { display: grid; grid-template-columns: 70px 3fr 2fr 2fr; gap: 1.5rem; align-items: center; min-height: 180px; padding: 1.2rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.program-row:hover h3 { color: var(--violet); }
.program-index { font-size: .75rem; font-weight: 800; }
.program-row h3 { margin-top: .7rem; font-size: clamp(2rem,3.7vw,4.8rem); letter-spacing: -.06em; line-height: .85; transition: color 180ms ease; }
.program-promise-row { max-width: 30ch; }
.program-meta-row { display: grid; gap: .5rem; font-size: .78rem; }
.program-meta-row b { font-size: 1.5rem; }
.status { color: var(--muted); }
.labs-directory { padding-bottom: var(--section); }
.lab-directory-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.lab-directory-card { position: relative; min-height: 560px; overflow: hidden; color: white; text-decoration: none; }
.lab-directory-card img { position: absolute; inset: 0; }
.lab-directory-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.78)); }
.lab-directory-card > div { position: absolute; z-index: 2; inset: 1.3rem; display: flex; flex-direction: column; align-items: flex-start; }
.lab-directory-card h2 { margin-top: auto; font-size: clamp(3rem,5.7vw,7.4rem); font-weight: 800; letter-spacing: -.07em; line-height: .78; }
.lab-directory-card p { max-width: 35ch; margin-top: 1rem; }
.lab-directory-card .status-chip { padding: .38rem .55rem; color: var(--ink); background: white; font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lab-directory-card.lab-wide { grid-column: 1 / -1; min-height: 720px; }
.lab-manifesto { padding: var(--section) 0; color: var(--night); background: var(--green); }
.lab-manifesto h2 { max-width: 1100px; font-size: clamp(3.5rem,8vw,9rem); letter-spacing: -.07em; line-height: .82; }

/* Network */
.map-shell { padding: 1rem 0; }
.map-shell svg { width: 100%; }
.dark .map-shell .land { fill: rgba(255,255,255,.08); stroke: rgba(255,255,255,.3); }
.network-key { display: flex; justify-content: space-between; gap: 2rem; list-style: none; margin: 1.4rem 0 0; padding: 0; font-size: .78rem; }
.network-key li:first-child { display: flex; align-items: center; gap: .5rem; }
.network-key span { width: .7rem; height: .7rem; border-radius: 50%; background: var(--violet); }
.network-privacy-note { max-width: 760px; margin-top: 1.5rem; color: var(--muted); font-size: .82rem; }
.country-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.country-card { min-height: 210px; display: flex; flex-direction: column; justify-content: space-between; padding: 1.1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.country-card h3 { font-size: clamp(1.6rem,2.5vw,3rem); letter-spacing: -.045em; }
.country-card span { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.country-card p { margin-top: .7rem; font-weight: 700; }
.country-card small { color: var(--muted); font-size: .72rem; font-weight: 500; }
.profile-prompts { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: rgba(255,255,255,.2); }
.profile-prompts article { min-height: 230px; padding: 1.5rem; background: var(--night); }
.profile-prompts h3 { margin-top: 4rem; font-size: clamp(2rem,3.2vw,3.8rem); letter-spacing: -.05em; }
.profile-prompts p { margin-top: .8rem; color: rgba(255,255,255,.7); }

/* Join/support */
.participation-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.participation-card { min-height: 420px; display: flex; flex-direction: column; align-items: flex-start; padding: 1.4rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.participation-card h2 { margin: 4rem 0 1rem; font-size: clamp(2.3rem,3.4vw,4rem); letter-spacing: -.055em; line-height: .9; }
.participation-card .text-link { margin-top: auto; }

/* People and governance */
.governance-teaser { background: var(--yellow); }
.governance-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.governance-card { min-height: 360px; display: flex; flex-direction: column; padding: 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.governance-card { min-width: 0; }
.governance-card > span { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.governance-card h3 { max-width: 13ch; margin-top: auto; font-size: clamp(2.2rem,4vw,5rem); letter-spacing: -.06em; line-height: .86; }
.governance-card p { max-width: 48ch; margin-top: 1.3rem; }
.stewardship-section { color: white; background: var(--violet); }
.stewardship-intro { max-width: 42ch; }
.stewardship-list { border-top: 1px solid rgba(255,255,255,.35); }
.stewardship-row { display: grid; grid-template-columns: 54px 2.1fr 2.5fr 2fr; gap: clamp(18px,3vw,48px); align-items: start; padding: 1.7rem 0; border-bottom: 1px solid rgba(255,255,255,.35); }
.stewardship-row > span { font-size: .72rem; font-weight: 800; }
.stewardship-row h3 { margin-top: .55rem; font-size: clamp(1.6rem,2.6vw,3.2rem); letter-spacing: -.045em; line-height: .92; }
.stewardship-row > p { max-width: 48ch; }
.stewardship-row ul { list-style: none; margin: 0; padding: 0; color: rgba(255,255,255,.74); font-size: .83rem; }
.stewardship-row li { padding: .38rem 0; border-top: 1px solid rgba(255,255,255,.22); }
.stewardship-row li:last-child { border-bottom: 1px solid rgba(255,255,255,.22); }
.stewardship-section .status { color: rgba(255,255,255,.65); }
.public-council { margin-top: clamp(70px,9vw,130px); padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.35); }
.people-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 2rem; background: rgba(255,255,255,.28); }
.person-card { min-height: 400px; padding: 1.4rem; background: var(--violet); }
.person-card img { height: 220px; margin-bottom: 1.3rem; filter: saturate(.7); }
.person-card h3 { margin: .6rem 0 1rem; font-size: clamp(1.8rem,3vw,3.5rem); letter-spacing: -.05em; }
.page-hero-actions { margin-top: 2.2rem; }

/* Footer */
.site-footer { padding: clamp(68px,8vw,120px) 0 28px; color: white; background: var(--night); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3rem; }
.footer-logo { width: min(290px,80%); height: auto; margin-bottom: 1.8rem; }
.footer-grid p { color: rgba(255,255,255,.66); }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
.footer-links a { color: rgba(255,255,255,.8); text-decoration: none; }
.footer-links a:hover { color: white; }
.footer-small { display: flex; justify-content: space-between; gap: 2rem; margin-top: 5rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.5); font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }

/* Reveal */
.js .reveal { opacity: 0; transform: translateY(42px); transition: opacity 700ms ease, transform 900ms var(--ease); }
.js .reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .program-showcase { grid-template-columns: 1fr; }
  .program-film { min-height: 680px; }
  .lab-feature { grid-column: 1 / 9; }
  .lab-innovation { grid-column: 9 / 13; }
  .lab-science { grid-column: 1 / 7; }
  .lab-health { grid-column: 7 / 13; }
  .lab-civic { grid-column: 1 / 13; }
  .country-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 820px) {
  :root { --gutter: 20px; --section: 84px; }
  .site-header, .nav-shell { height: 68px; }
  body:not(.home) main { padding-top: 68px; }
  .brand-link { width: 154px; }
  .menu-button { min-width: 44px; min-height: 44px; display: block; }
  .primary-nav { position: fixed; inset: 0; z-index: 1; display: none; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1.25rem; padding: 90px var(--gutter) 40px; color: white; background: var(--night); }
  .primary-nav.open { display: flex; }
  .primary-nav a { font-size: clamp(1.8rem,8vw,3.4rem); letter-spacing: -.04em; text-transform: none; }
  .primary-nav .nav-action { color: var(--night); background: white; }
  .site-header:has(.primary-nav.open) { color: white; background: var(--night); border-color: transparent; }

  .cinema { height: auto; min-height: 100svh; }
  .cinema-sticky { position: relative; min-height: 760px; }
  .tile-campus { inset: 0; transform: none; }
  .tile-speaker { left: 18px; bottom: 80px; width: 34vw; height: 45vw; transform: none; }
  .tile-conference { right: 18px; top: 102px; width: 44vw; height: 30vw; transform: none; }
  .tile-video { display: none; }
  .cinema-shade { background: linear-gradient(0deg,rgba(4,3,7,.9),rgba(4,3,7,.15) 70%),linear-gradient(90deg,rgba(4,3,7,.35),transparent); }
  .cinema-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding-top: 120px; padding-bottom: 96px; }
  .cinema-copy > .kicker { margin: 0 0 1.2rem; }
  .cinema h1 { font-size: clamp(4.8rem,23vw,8rem); line-height: .73; }
  .hero-deck { padding-top: 1.8rem; }
  .hero-deck > p { max-width: 29ch; }
  .cinema-foot { left: 20px; right: 20px; }
  .cinema-foot span:last-child { display: none; }

  .exchange-intro, .section-head, .network-grid, .origin-home, .two-column, .founder-band, .contribution-grid { grid-template-columns: 1fr; }
  .exchange-intro { gap: 1.4rem; }
  .exchange-rail { width: auto; grid-template-columns: 1fr 1fr; padding: 0 20px; }
  .exchange-rail article { min-height: 54vw; }
  .exchange-rail article > strong { font-size: clamp(1.5rem,7vw,3rem); }
  .exchange-end { align-items: flex-start; flex-direction: column; }
  .section-head { gap: 1.5rem; }
  .section-head h2 { font-size: clamp(3.7rem,17vw,7rem); }

  .lab-wall { grid-template-columns: 1fr 1fr; grid-auto-rows: 56vw; }
  .lab-feature, .lab-innovation, .lab-science, .lab-health, .lab-civic { grid-column: auto; }
  .lab-feature, .lab-civic { grid-column: 1 / -1; }
  .lab-card h3, .lab-card:not(.lab-feature) h3 { font-size: clamp(2rem,8vw,4rem); }
  .labs-note { align-items: flex-start; flex-direction: column; }

  .program-film { grid-template-columns: 1fr 1fr; min-height: 620px; }
  .network-grid { gap: 4rem; }
  .origin-image { min-height: 55vw; }
  .origin-copy { padding: var(--section) 20px; }
  .facts { grid-template-columns: repeat(2,1fr); }
  .steps, .principles { grid-template-columns: repeat(2,1fr); }
  .program-row { grid-template-columns: 46px 1fr; }
  .program-promise-row, .program-meta-row { grid-column: 2; }
  .program-meta-row { grid-template-columns: 1fr 1fr auto; }
  .lab-directory-grid { grid-template-columns: 1fr; }
  .lab-directory-card, .lab-directory-card.lab-wide { grid-column: auto; min-height: 560px; }
  .country-grid { grid-template-columns: repeat(2,1fr); }
  .participation-grid { grid-template-columns: 1fr; }
  .participation-card { min-height: 330px; }
  .stewardship-row { grid-template-columns: 46px 1fr; }
  .stewardship-row > p, .stewardship-row > ul { grid-column: 2; }
  .people-grid { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .page-hero h1, .program-hero h1 { font-size: clamp(3.1rem,15vw,5.4rem); }
  .selection-callout blockquote { font-size: clamp(2.7rem,15vw,4rem); }
  .cinema-sticky { min-height: 700px; }
  .cinema h1 { font-size: clamp(4.25rem,22vw,6.3rem); }
  .action-row { align-items: flex-start; flex-direction: column; }
  .exchange-intro h2 { font-size: 2.9rem; }
  .exchange-rail { grid-template-columns: 1fr; }
  .exchange-rail article { min-height: 115vw; }
  .lab-wall { display: block; }
  .lab-card { min-height: 118vw; margin-bottom: 12px; }
  .lab-card h3, .lab-card:not(.lab-feature) h3 { font-size: 2.9rem; }
  .program-film { grid-template-columns: 1fr; min-height: auto; }
  .program-visual { min-height: 110vw; }
  .program-copy { min-height: 480px; }
  .program-copy h3 { font-size: 4rem; }
  .origin-image { min-height: 75vw; }
  .facts, .steps, .principles, .country-grid, .profile-prompts { grid-template-columns: 1fr; }
  .governance-grid { grid-template-columns: 1fr; }
  .people-grid { grid-template-columns: 1fr; }
  .governance-card { min-height: 320px; }
  .governance-card h3 { font-size: clamp(1.65rem,8.3vw,2.2rem); overflow-wrap: anywhere; }
  .fact, .step, .principle { min-height: auto; }
  .step h3, .principle h3 { margin-top: 2rem; }
  .program-row { grid-template-columns: 1fr; gap: .7rem; }
  .program-index, .program-promise-row, .program-meta-row { grid-column: 1; }
  .program-meta-row { grid-template-columns: 1fr; }
  .lab-directory-card, .lab-directory-card.lab-wide { min-height: 125vw; }
  .lab-directory-card h2 { font-size: 3rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-small { align-items: flex-start; flex-direction: column; }
  .footer-links a { min-height: 32px; display: inline-flex; align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .cinema { height: auto; min-height: 100svh; }
  .cinema-sticky { position: relative; }
  .cinema-tile { transform: none !important; }
  .js .reveal { opacity: 1; transform: none; }
}

/* Public experience v2 */
.system-intro { padding: var(--section) 0; background: var(--bone); }
.system-statement { display: grid; grid-template-columns: 1fr 3fr; gap: clamp(28px,6vw,100px); align-items: start; margin-bottom: clamp(56px,8vw,110px); }
.system-statement h2 { max-width: 18ch; font-size: clamp(3.2rem,7.2vw,8.4rem); font-weight: 750; letter-spacing: -.07em; line-height: .86; }
.system-statement > p:last-child { grid-column: 2; max-width: 42ch; font-size: clamp(1.15rem,1.7vw,1.55rem); line-height: 1.35; }
.system-steps { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.system-step { min-height: 360px; display: flex; flex-direction: column; padding: clamp(20px,2vw,34px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.system-step > span { font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.system-step h3 { max-width: 11ch; margin-top: auto; font-size: clamp(2rem,3.2vw,4.1rem); letter-spacing: -.055em; line-height: .9; }
.system-step p { max-width: 36ch; margin-top: 1rem; }
.system-steps.compact .system-step { min-height: 310px; }

.pathways { padding: var(--section) 0; color: white; background: var(--night); }
.pathway-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.pathway-card { position: relative; aspect-ratio: 4 / 5; overflow: hidden; color: white; background: #211f28; text-decoration: none; }
.pathway-card > img { position: absolute; inset: 0; transition: transform 900ms var(--ease), filter 500ms ease; }
.pathway-card:hover > img { transform: scale(1.035); filter: saturate(1.1); }
.pathway-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.05) 42%,rgba(0,0,0,.88)); }
.pathway-top { position: absolute; z-index: 2; top: 1.2rem; left: 1.2rem; font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.pathway-copy { position: absolute; z-index: 2; left: 1.2rem; right: 1.2rem; bottom: 1.3rem; }
.pathway-copy h3 { font-size: clamp(3rem,5vw,6.2rem); letter-spacing: -.07em; line-height: .82; }
.pathway-copy p { max-width: 34ch; margin: 1rem 0 1.25rem; line-height: 1.35; }
.pathway-copy strong { font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; }

.lab-wall { grid-template-columns: repeat(3,1fr); grid-auto-rows: auto; }
.lab-feature, .lab-innovation, .lab-science, .lab-health, .lab-civic { grid-column: auto; }
.lab-card { aspect-ratio: 4 / 5; min-height: 0; }
.lab-card h3, .lab-card:not(.lab-feature) h3 { font-size: clamp(2.25rem,3.3vw,4.6rem); }
.lab-card-copy p { font-size: clamp(.88rem,1vw,1.02rem); }

.network-home-image { margin: 0; overflow: hidden; }
.network-home-image img { aspect-ratio: 16 / 10; }
.network-home-image figcaption { padding-top: .9rem; font-size: .66rem; font-weight: 800; letter-spacing: .08em; line-height: 1.55; text-transform: uppercase; }

.network-photo-hero, .people-photo-hero { position: relative; min-height: min(850px,calc(100svh - 78px)); display: flex; align-items: end; overflow: hidden; color: white; background: var(--night); }
.network-photo-hero > img, .people-photo-hero > img { position: absolute; inset: 0; }
.network-photo-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(5,4,8,.84),rgba(5,4,8,.2) 72%),linear-gradient(0deg,rgba(5,4,8,.62),transparent 55%); }
.network-photo-copy, .people-photo-copy { position: relative; z-index: 2; padding-top: clamp(150px,18vw,260px); padding-bottom: clamp(70px,9vw,130px); }
.network-photo-copy h1, .people-photo-copy h1 { max-width: 1100px; margin: 1rem 0 2rem; font-size: clamp(4.6rem,10vw,12rem); font-weight: 800; letter-spacing: -.08em; line-height: .75; }
.network-photo-copy .lead, .people-photo-copy .lead { max-width: 650px; }
.section-side-copy { max-width: 38ch; padding-bottom: .3rem; font-size: clamp(1rem,1.25vw,1.2rem); }
.network-definition { background: var(--yellow); }

.representative-section { background: var(--paper); }
.representative-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.representative-card { display: flex; flex-direction: column; min-width: 0; color: var(--ink); background: var(--bone); border: 1px solid var(--line); text-decoration: none; }
.representative-image { aspect-ratio: 4 / 5; overflow: hidden; background: #d9d5cb; }
.representative-image img { filter: saturate(.72) contrast(1.02); transition: transform 700ms var(--ease), filter 300ms ease; }
.representative-card:hover .representative-image img { transform: scale(1.025); filter: saturate(.95); }
.representative-copy { min-height: 190px; display: flex; flex-direction: column; align-items: flex-start; padding: 1.15rem; }
.representative-copy > span { color: var(--muted); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.representative-copy h3 { margin-top: auto; padding-top: 2rem; font-size: clamp(1.75rem,2.4vw,3rem); letter-spacing: -.045em; line-height: .92; }
.representative-copy p { margin-top: .7rem; font-size: .86rem; }
.next-place { color: white; background: var(--violet); border-color: var(--violet); }
.next-place-mark { aspect-ratio: 4 / 5; display: grid; place-items: center; font-size: clamp(8rem,16vw,18rem); font-weight: 200; line-height: 1; }
.next-place .representative-copy > span { color: rgba(255,255,255,.7); }
.representative-note { max-width: 70ch; margin-top: 1.15rem; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.profile-intro { max-width: 34ch; margin-top: 1.5rem; color: rgba(255,255,255,.7); }
.network-rhythm { background: var(--green); }

.people-photo-hero .network-photo-shade { background: linear-gradient(90deg,rgba(49,18,142,.88),rgba(4,3,7,.15) 72%),linear-gradient(0deg,rgba(4,3,7,.58),transparent 60%); }
.founder-public { background: var(--paper); }
.council-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.32); border-left: 1px solid rgba(255,255,255,.32); }
.council-card { min-height: 390px; display: flex; flex-direction: column; padding: 1.35rem; border-right: 1px solid rgba(255,255,255,.32); border-bottom: 1px solid rgba(255,255,255,.32); }
.council-card > span { font-size: .68rem; font-weight: 800; }
.council-card .status { margin-top: auto; color: rgba(255,255,255,.6); }
.council-card h3 { margin: .7rem 0 1rem; font-size: clamp(2rem,3.2vw,4rem); letter-spacing: -.055em; line-height: .88; }
.council-card > p:last-child { max-width: 38ch; color: rgba(255,255,255,.82); }
.relationship-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: rgba(255,255,255,.2); }
.relationship-grid article { min-height: 250px; display: flex; flex-direction: column; justify-content: space-between; padding: 1.5rem; background: var(--night); }
.relationship-grid span { font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.relationship-grid p { max-width: 40ch; font-size: clamp(1.15rem,1.6vw,1.45rem); }

.lab-directory-grid { grid-template-columns: repeat(3,1fr); }
.lab-directory-card, .lab-directory-card.lab-wide { grid-column: auto; min-height: 0; aspect-ratio: 4 / 5; }
.lab-directory-card h2 { font-size: clamp(2.35rem,3.5vw,4.8rem); }

@media (max-width: 1100px) {
  .pathway-grid, .lab-wall, .lab-directory-grid, .council-grid { grid-template-columns: repeat(2,1fr); }
  .representative-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 820px) {
  .system-statement { grid-template-columns: 1fr; }
  .system-statement > p:last-child { grid-column: 1; }
  .system-steps { grid-template-columns: 1fr; }
  .system-step, .system-steps.compact .system-step { min-height: 280px; }
  .pathway-grid, .lab-wall, .lab-directory-grid { grid-template-columns: repeat(2,1fr); }
  .lab-card { min-height: 0; }
  .representative-grid { grid-template-columns: repeat(2,1fr); }
  .network-photo-hero, .people-photo-hero { min-height: 720px; }
  .network-photo-copy h1, .people-photo-copy h1 { font-size: clamp(4.2rem,16vw,7rem); }
  .council-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 560px) {
  .pathway-grid, .lab-wall, .lab-directory-grid, .representative-grid, .council-grid, .relationship-grid { grid-template-columns: 1fr; }
  .pathway-card, .lab-card, .lab-directory-card, .lab-directory-card.lab-wide { aspect-ratio: 4 / 5; min-height: 0; margin-bottom: 0; }
  .pathway-copy h3 { font-size: 3.7rem; }
  .lab-card h3, .lab-card:not(.lab-feature) h3 { font-size: 2.8rem; }
  .network-photo-hero, .people-photo-hero { min-height: 680px; }
  .network-photo-hero > img, .people-photo-hero > img { object-position: 58% center; }
  .network-photo-copy h1, .people-photo-copy h1 { font-size: clamp(4rem,20vw,5.8rem); }
  .representative-copy { min-height: 170px; }
  .council-card { min-height: 330px; }
}

/* Labs experience v3 */
.lab-page-hero { min-height: min(830px,calc(100svh - 78px)); display: flex; align-items: end; color: white; background: var(--night); }
.lab-page-hero .lead { max-width: 820px; }
.lab-page-hero .text-link { margin-top: 2rem; }
.lab-definition { background: var(--yellow); }
.labs-directory { padding-top: var(--section); background: var(--paper); }
.lab-directory-heading { margin-bottom: clamp(54px,7vw,100px); }
.lab-directory-heading h2 { max-width: 1100px; margin-top: 1.1rem; font-size: clamp(3.4rem,7.6vw,9rem); font-weight: 760; letter-spacing: -.07em; line-height: .82; }
.lab-directory-card { background: var(--night); }
.lab-directory-card .lab-card-category { margin-top: .75rem; color: rgba(255,255,255,.72); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lab-directory-card:hover img { transform: scale(1.025); }
.lab-directory-card img { transition: transform 800ms var(--ease); }
#learning-work-futures h2 { font-size: clamp(2.1rem,3vw,4.2rem); }

.lab-spotlight { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); color: white; background: var(--violet); }
.lab-spotlight-image { min-height: 100%; overflow: hidden; }
.lab-spotlight-image img { min-height: 100%; object-position: center 42%; filter: saturate(.78) contrast(1.04); }
.lab-spotlight-copy { padding: clamp(60px,7vw,120px) var(--gutter); }
.lab-spotlight-copy h2 { max-width: 15ch; margin: 1rem 0 2rem; font-size: clamp(3.3rem,6.3vw,7.7rem); font-weight: 760; letter-spacing: -.07em; line-height: .82; }
.lab-spotlight-copy > p:not(.eyebrow) { max-width: 690px; color: rgba(255,255,255,.82); }
.lab-spotlight-copy > p + p { margin-top: 1.25rem; }
.lab-spotlight-copy .lab-spotlight-lede { color: white; font-size: clamp(1.35rem,2.1vw,2rem); letter-spacing: -.025em; line-height: 1.3; }
.lab-spotlight-copy blockquote { max-width: 850px; margin: clamp(42px,5vw,78px) 0; padding: 1.2rem 0; border-top: 1px solid rgba(255,255,255,.45); border-bottom: 1px solid rgba(255,255,255,.45); font-size: clamp(1.8rem,3.5vw,4.3rem); font-weight: 650; letter-spacing: -.045em; line-height: 1.02; }
.lab-question-grid { display: grid; grid-template-columns: repeat(2,1fr); margin-bottom: 2.2rem; border-top: 1px solid rgba(255,255,255,.35); border-left: 1px solid rgba(255,255,255,.35); }
.lab-question-grid article { min-height: 260px; display: flex; flex-direction: column; padding: 1.15rem; border-right: 1px solid rgba(255,255,255,.35); border-bottom: 1px solid rgba(255,255,255,.35); }
.lab-question-grid span { font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.lab-question-grid h3 { margin-top: auto; font-size: clamp(1.8rem,2.7vw,3.5rem); letter-spacing: -.05em; line-height: .9; }
.lab-question-grid p { margin-top: .85rem; color: rgba(255,255,255,.72); font-size: .9rem; }

.lab-method { background: var(--bone); }
.lab-method-steps { grid-template-columns: repeat(4,1fr); }
.lab-method-steps .system-step { min-height: 390px; }
.lab-outputs { color: white; background: var(--night); }
.lab-output-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.25); border-left: 1px solid rgba(255,255,255,.25); }
.lab-output-grid article { min-height: 330px; display: flex; flex-direction: column; padding: clamp(20px,2vw,32px); border-right: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); }
.lab-output-grid span { color: rgba(255,255,255,.58); font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.lab-output-grid h3 { margin-top: auto; font-size: clamp(2rem,3vw,3.8rem); letter-spacing: -.055em; line-height: .9; }
.lab-output-grid p { max-width: 34ch; margin-top: 1rem; color: rgba(255,255,255,.7); }
.lab-living-portfolio { background: var(--yellow); }

@media (max-width: 1100px) {
  .lab-spotlight { grid-template-columns: 1fr; }
  .lab-spotlight-image { min-height: 62vw; max-height: 780px; }
  .lab-method-steps, .lab-output-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 700px) {
  .section-heading { align-items: flex-start; flex-direction: column; }
  .section-heading > p, .section-side-copy, .stewardship-intro { width: 100%; max-width: 42ch; padding-bottom: 0; }
  .lab-page-hero { min-height: 720px; }
  .lab-page-hero h1 { font-size: clamp(3.2rem,15.5vw,5.5rem); }
  .lab-page-hero .lead { font-size: clamp(1.08rem,5vw,1.4rem); }
  .lab-spotlight-image { min-height: 78vw; }
  .lab-spotlight-copy h2 { font-size: clamp(2.8rem,13.2vw,4.3rem); }
  .lab-question-grid, .lab-method-steps, .lab-output-grid { grid-template-columns: 1fr; }
  .lab-question-grid article, .lab-method-steps .system-step, .lab-output-grid article { min-height: 270px; }
  .lab-directory-card .lab-card-category { font-size: .6rem; }
  #learning-work-futures h2 { font-size: 2.5rem; }
}
