:root{--ink:#171717;--muted:#696969;--rule:#d9d9d6;--soft:#f7f7f5;--red:#a61f2b;--purple:#a61f2b;--max:1760px;--pad:clamp(22px,4.5vw,82px);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;line-height:1.5}
section[id],h2[id]{scroll-margin-top:82px}
a{color:inherit}
.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:#fff;border:1px solid var(--ink);padding:10px}
.skip-link:focus{top:12px}
.site-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid var(--rule);position:sticky;top:0;background:rgba(255,255,255,.97);z-index:20}
.wordmark{font-size:11px;letter-spacing:.17em;font-weight:700;text-decoration:none}
.desktop-nav{display:flex;gap:24px;font-size:11px}
.site-header nav a,.direct-links a,.methods a{text-decoration:none;border-bottom:1px solid transparent}
.site-header nav a:hover,.site-header nav a:focus-visible,.direct-links a:hover,.direct-links a:focus-visible,.methods a:hover,.methods a:focus-visible{border-color:currentColor;outline:none}
.mobile-menu{display:none;position:relative;font-size:11px}
.mobile-menu summary{cursor:pointer;list-style:none}
.mobile-menu nav{position:absolute;right:0;top:30px;background:#fff;border:1px solid var(--rule);padding:14px;min-width:150px;display:grid;gap:10px}
.section-pad{max-width:var(--max);margin:0 auto;padding:clamp(74px,9vw,148px) var(--pad)}
.ruled{border-top:1px solid var(--rule)}
.eyebrow,.section-number{font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--red)}
.hero{padding-top:clamp(48px,6vw,88px)}
.project-context{display:grid;grid-template-columns:.62fr .62fr 1.25fr 1.15fr;gap:clamp(24px,3vw,54px);margin:28px 0 62px;padding-top:14px;border-top:1px solid var(--rule)}
.project-context p{margin:0;display:grid;gap:8px;align-content:start}
.project-context span{font-size:9px;letter-spacing:.16em;color:var(--red);font-weight:700}
.project-context strong{font-size:12px;line-height:1.45;font-weight:400}
.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(350px,.7fr);gap:clamp(54px,8vw,140px);align-items:start;margin:30px 0 46px}
.hero h1{font-size:clamp(42px,4.2vw,72px);font-weight:400;line-height:.98;letter-spacing:-.048em;margin:0}
.hero-thesis{font-size:clamp(22px,2vw,34px);line-height:1.14;letter-spacing:-.025em;max-width:27ch;margin:32px 0 0}
.hero-copy{font-size:clamp(14px,.96vw,17px);line-height:1.6;max-width:60ch}
.hero-copy p:first-child{margin-top:0}
.hero-copy p{margin:0 0 1.15em}
.hero-copy p:last-child{margin-bottom:0}
.split{display:grid;grid-template-columns:minmax(220px,.62fr) minmax(360px,1.1fr);gap:9vw}
.section-number{margin-bottom:16px}
h2{font-size:clamp(27px,2.7vw,46px);font-weight:400;line-height:1.06;letter-spacing:-.03em;margin:0}
.body-copy{font-size:clamp(17px,1.2vw,21px);max-width:48em}
.body-copy p:first-child{margin-top:0}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:52px}
.section-head>p{max-width:31em;text-align:right;color:var(--muted);font-size:12px;margin:0}
.body-wide{font-size:clamp(16px,1.15vw,20px);max-width:62em;margin:34px 0}
.media-shell{--mw:78%;--mmax:1320px;--mar:16/9;--mh:auto;--fit:contain;--px:50%;--py:50%;--media-scale:1;--ox:0%;--oy:0%;--mt:0px;--mb:28px;--frame-x:0px;--frame-y:0px;--ct:0%;--cr:0%;--cb:0%;--cl:0%;--crop-origin-x:50%;--crop-origin-y:50%;position:relative;left:var(--frame-x);top:var(--frame-y);width:var(--mw);max-width:var(--mmax);margin-top:var(--mt);margin-bottom:var(--mb);margin-left:auto;margin-right:auto}
.media-shell[data-align="left"]{margin-left:0;margin-right:auto}
.media-shell[data-align="right"]{margin-left:auto;margin-right:0}
.media-viewport{position:relative;width:100%;height:var(--mh);aspect-ratio:var(--mar);overflow:hidden;background:#fff;border-top:1px solid var(--rule)}
.media-crop-window{position:absolute;inset:0;overflow:hidden}
.media-crop-window img,.media-crop-window video{display:block;width:100%;height:100%;object-fit:var(--fit);object-position:var(--px) var(--py);clip-path:inset(var(--ct) var(--cr) var(--cb) var(--cl));transform:translate(var(--ox),var(--oy)) scale(var(--media-scale));transform-origin:var(--crop-origin-x) var(--crop-origin-y)}
.media-crop-window iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.dark-media{background:#090909;border-color:#242424}
figcaption{font-size:11px;line-height:1.48;color:var(--muted);margin-top:9px;max-width:92ch}
.two-media,.three-media,.drawing-strip,.growth-strip{display:grid;gap:clamp(20px,2.6vw,44px);align-items:start}
.two-media{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:56px}
.three-media{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:60px}
.drawing-strip{grid-template-columns:1.1fr .9fr 1fr}
.growth-strip{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:34px}
.compact{margin-top:76px}
.note{font-size:13px;color:var(--muted);border-left:1px solid var(--red);padding:3px 0 3px 15px;max-width:78em;margin-top:38px}
.purple-rule{border-color:var(--purple)}
.scenario-intro{display:grid;grid-template-columns:.5fr 1fr;gap:8vw;margin-top:88px;padding-top:18px;border-top:1px solid var(--ink);font-size:13px}
.scenario-intro p{margin:0}
.scenario-intro p:last-child{color:var(--muted);max-width:52em}
.scenario-strip{margin-top:36px}
.method{background:#fff}
.method-intro{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(380px,.9fr);gap:9vw;align-items:start}
.method-copy{font-size:clamp(17px,1.18vw,21px);max-width:44em}
.method-copy p:first-child{margin-top:0;font-size:clamp(22px,1.8vw,30px);line-height:1.25}
.method-editorial{display:grid;grid-template-columns:minmax(260px,.52fr) minmax(520px,1.2fr);gap:clamp(64px,9vw,150px);margin-top:90px;align-items:start}
.method-rail{list-style:none;margin:0;padding:0 0 0 34px;position:relative}
.method-rail:before{content:"";position:absolute;left:7px;top:8px;bottom:12px;width:1px;background:var(--rule)}
.method-rail li{position:relative;padding:0 0 36px}
.method-rail li:before{content:"";position:absolute;left:-31px;top:5px;width:7px;height:7px;border-radius:50%;background:#fff;border:1px solid var(--red)}
.method-rail span{font-size:10px;letter-spacing:.15em;color:var(--red);font-weight:700}
.method-rail p{margin:7px 0 0;font-size:14px;max-width:30em;color:var(--muted)}
.method-media .media-shell{margin-left:0}
.method-media .secondary-method-media{margin-top:66px;width:min(var(--mw),82%)}
.research-status{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:88px;padding-top:16px;border-top:1px solid var(--ink)}
.research-status p{margin:0;display:grid;gap:8px}
.research-status b{font-size:10px;letter-spacing:.16em;color:var(--red)}
.research-status span{font-size:13px;color:var(--muted)}
.direct-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px}
.voice-profile-intro{font-size:clamp(24px,3vw,44px);line-height:1.18;letter-spacing:-.025em;max-width:1100px;margin:34px 0}
.voice-links{margin-bottom:24px}.voice-links a{border-bottom:1px solid currentColor;padding-bottom:4px}.voice-iframe .media-viewport{background:#fff}
.demo-section{padding-left:max(var(--pad),7vw);padding-right:max(var(--pad),7vw)}
.iframe-shell .media-viewport{border:1px solid var(--rule)}
.historical{background:#fbfbfa}
.development-head{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(430px,1fr);gap:9vw;align-items:end}
.development-head>p{font-size:clamp(20px,1.75vw,30px);line-height:1.28;letter-spacing:-.018em;max-width:34em;margin:0}
.development-blocks{display:grid;grid-template-columns:.92fr .92fr 1.26fr;gap:clamp(34px,4vw,72px);margin-top:86px}
.development-block{border-top:1px solid var(--ink);padding-top:17px}
.development-label{font-size:10px;line-height:1.35;letter-spacing:.15em;font-weight:700;color:var(--red);min-height:2.7em}
.development-block p{font-size:clamp(15px,1.05vw,18px);line-height:1.58;margin:24px 0 0}
.development-block p:first-of-type{font-size:clamp(18px,1.35vw,23px);line-height:1.42;letter-spacing:-.012em}
.development-status{display:grid;grid-template-columns:minmax(190px,.28fr) minmax(420px,1fr);gap:5vw;border-top:1px solid var(--rule);margin-top:76px;padding-top:18px}
.development-status span{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--red)}
.development-status p{font-size:14px;line-height:1.55;max-width:62em;margin:0;color:var(--muted)}
.limits,.methods{display:grid;grid-template-columns:.65fr 1.25fr;gap:8vw}
.limits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 62px}
.limits-grid p{margin:0;color:var(--muted)}
.limits-grid b{color:var(--ink);font-weight:500}
.site-footer{border-top:1px solid var(--rule);padding:28px var(--pad);display:grid;grid-template-columns:.7fr 1.1fr 1.1fr 1fr;gap:24px;font-size:9px;line-height:1.5;letter-spacing:.07em;color:var(--muted)}

/* The project index hands off a single-use entry flag. The destination is
   prepared before first paint, then its editorial layers emerge in sequence. */
html.case-entry,
html.case-entry body{background:#fff}
html.case-entry .site-header,
html.case-entry main,
html.case-entry .site-footer{
  opacity:0;
  transform:translateY(10px);
  filter:blur(1.5px);
  will-change:opacity,transform,filter;
}
html.case-entry.case-entry-ready .site-header,
html.case-entry.case-entry-ready main,
html.case-entry.case-entry-ready .site-footer{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}
html.case-entry .site-header{
  transition:opacity .7s ease .04s,transform .84s cubic-bezier(.22,1,.36,1) .04s,filter .68s ease .04s;
}
html.case-entry main{
  transition:opacity 1.05s ease .16s,transform 1.12s cubic-bezier(.22,1,.36,1) .16s,filter .88s ease .16s;
}
html.case-entry .site-footer{
  transition:opacity .82s ease .34s,transform .92s cubic-bezier(.22,1,.36,1) .34s,filter .78s ease .34s;
}
html.case-entry.case-entry-ready .site-header,
html.case-entry.case-entry-ready main,
html.case-entry.case-entry-ready .site-footer{will-change:auto}

@media(prefers-reduced-motion:reduce){
  html.case-entry .site-header,
  html.case-entry main,
  html.case-entry .site-footer{
    opacity:1;
    transform:none;
    filter:none;
    transition:none;
    will-change:auto;
  }
}
.authoring-preview .media-shell.is-authoring-target{outline:2px solid var(--red);outline-offset:6px}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}

.two-media,.three-media,.drawing-strip,.growth-strip,.method-media{gap:var(--group-gap,clamp(20px,2.6vw,44px));width:var(--group-width,100%);margin-left:auto;margin-right:auto}

@media(max-width:1100px){.hero-grid,.method-intro{grid-template-columns:1fr;gap:36px}
.project-context{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:48px}
.hero-thesis{max-width:29ch}
.hero-copy{max-width:72ch}
.split,.limits,.methods{grid-template-columns:1fr}
.section-head{align-items:start}
.method-editorial{grid-template-columns:1fr;margin-top:66px}
.method-media .media-shell{margin-left:auto}
.growth-strip{grid-template-columns:repeat(3,1fr)}
.development-head{grid-template-columns:1fr;gap:34px}
.development-blocks{grid-template-columns:1fr 1fr;margin-top:64px}
.development-block:last-child{grid-column:1/-1}
.site-footer{grid-template-columns:1fr 1fr}
}

@media(max-width:720px){.desktop-nav{display:none}
.mobile-menu{display:block}
.section-pad{padding-top:70px;padding-bottom:70px}
.hero{padding-top:52px}
.hero-grid{margin-top:24px;margin-bottom:34px}
.hero h1{font-size:clamp(42px,13vw,58px)}
.hero-thesis{font-size:clamp(22px,7vw,30px);margin-top:24px}
.hero-copy{font-size:15px;line-height:1.58;max-width:none}
.project-context{grid-template-columns:1fr 1fr;gap:24px 18px;margin-top:24px}
.section-head{display:block}
.section-head>p{text-align:left;margin-top:14px}
.two-media,.three-media,.drawing-strip{grid-template-columns:1fr;margin-top:38px}
.scenario-intro{grid-template-columns:1fr;gap:8px;margin-top:62px}
.method-editorial{gap:42px}
.method-rail{order:1}
.method-media{order:2}
.research-status{grid-template-columns:1fr}
.growth-strip{grid-template-columns:repeat(2,1fr)}
.development-blocks{grid-template-columns:1fr;gap:42px}
.development-block:last-child{grid-column:auto}
.development-label{min-height:0}
.development-status{grid-template-columns:1fr;gap:10px;margin-top:56px}
.limits-grid{grid-template-columns:1fr}
.site-footer{grid-template-columns:1fr;gap:8px}
}

@media(max-width:360px){.site-header{padding-left:18px;padding-right:18px}
.section-pad{padding-left:18px;padding-right:18px}
.growth-strip{grid-template-columns:1fr}
.hero-thesis{font-size:23px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
