:root{--menu-ease:cubic-bezier(.16,1,.3,1);scroll-padding-top:88px}::selection{background:#d5efa6;color:#173428}a,button,input{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #708e32}input{caret-color:#c63c23}button,a{-webkit-tap-highlight-color:transparent}
.site-navigation.nav{position:fixed!important;inset:0 0 auto;height:72px;z-index:100;opacity:1!important;transform:none!important;pointer-events:auto!important;background:#14291ff5;color:#f7f6ed;padding:0 var(--gutter);border-bottom:1px solid #ffffff19;backdrop-filter:blur(12px);transition:background 180ms}
.site-navigation nav{gap:8px}.site-navigation nav>a{height:44px;padding:0 14px;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;border-radius:24px;font-size:14px}.site-navigation nav>a:hover,.site-navigation nav>a[aria-expanded=true]{background:#ffffff12}.site-navigation .nav-work{background:#e9f1d7!important;color:#14291f;border:0!important;padding:0 20px!important}.site-navigation svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}.site-navigation .menu-trigger svg{transition:transform 180ms}.site-navigation .menu-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.site-navigation a:focus-visible,.site-navigation button:focus-visible{outline-color:#deefb3}
.navigation-panel{position:absolute;right:var(--gutter);top:calc(100% + 8px);width:min(860px,calc(100vw - 2 * var(--gutter)));background:#14291f;color:#f7f6ed;border:1px solid #ffffff24;border-radius:14px;box-shadow:0 18px 36px #07130e2b;overflow:hidden;transition:height 220ms var(--menu-ease);transform-origin:top right;animation:menu-in 180ms var(--menu-ease) both}.navigation-panel:before{content:'';position:absolute;bottom:100%;left:0;right:0;height:12px}.menu-content{padding:12px}.menu-projects,.menu-studio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.menu-group{padding:12px}.menu-group>span{display:block;color:#b9c7ad;font-size:12px;margin:4px 10px 14px}.menu-projects a,.menu-studio>a{display:block;padding:12px 10px;border-radius:8px;min-height:72px}.menu-projects strong,.menu-studio strong{font-size:15px;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:8px;transition:transform 150ms var(--menu-ease)}.menu-projects small,.menu-studio>a>span{display:block;font-size:13px;line-height:1.5;color:#c2cdbc;margin-top:6px;max-width:24ch}.menu-projects a:hover,.menu-studio>a:hover{background:#ffffff09}.menu-projects a:hover strong,.menu-studio>a:hover strong{transform:translateX(2px)}.menu-projects svg{opacity:0;transition:opacity 150ms,transform 150ms}.menu-projects a:hover svg,.menu-projects a:focus-visible svg{opacity:1;transform:translateX(2px)}.menu-footer{border-top:1px solid #ffffff1b;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px;padding:16px 20px;font-size:12px;color:#c6d1c0}.menu-footer a{color:#f7f6ed;display:flex;gap:20px;min-height:44px;align-items:center}.menu-footer button{color:#f7f6ed;min-height:44px;padding:0 8px;font-size:12px}.menu-studio>a{padding:20px}.index-trigger{display:none!important}
@keyframes menu-in{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
/* A shared reading margin connects distinct visual worlds. */
.section-line{top:100px}.coast-chapter .van-heading{top:160px}.coast-chapter{height:550svh}.worlds{height:calc(320svh + var(--return-tail))}.world-projects{grid-template-columns:1fr;max-width:650px;right:auto;width:48%;bottom:5%}.worlds .model-toolbar{top:58%}.worlds h2{top:17%}.chapter-bridge{grid-column:1/-1;font-size:clamp(18px,2vw,26px);line-height:1.5;max-width:780px;margin-top:65px;color:#536052}.van-credit{display:block;font-size:11px;line-height:1.5;text-decoration:underline;text-underline-offset:3px;margin-top:15px}.poly-chapter{padding-top:110px;padding-bottom:90px;display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.poly-intro h2,.holistica-section h2{font-size:clamp(46px,5.5vw,88px);line-height:1.03;letter-spacing:-.04em;margin:25px 0}.poly-intro h2 em,.holistica-section h2 em{font-family:Georgia,serif;font-weight:400}.poly-intro>p:not(.eyebrow),.holistica-section>div>p:not(.eyebrow){font-size:19px;line-height:1.6;max-width:42ch}.poly-intro .text-link,.holistica-section .text-link{margin-top:24px}.product-evidence{margin:0;min-width:0}.product-evidence img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:top;border:1px solid #2038281f}.product-evidence figcaption{font-size:12px;line-height:1.5;color:#566456;padding:14px 0}.poly-evidence img{box-shadow:0 16px 35px #13251b15}.holistica-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:110px;padding-bottom:100px;background:#fff}.reflection-study{border-top:1px solid #abbba2;border-bottom:1px solid #abbba2;padding:42px 10px;color:#324b3c}.reflection-question{font:normal clamp(36px,4vw,62px)/1.15 Georgia,serif;letter-spacing:-.025em;margin-bottom:42px}.reflection-study>p:nth-child(2){font-size:20px;line-height:1.8}.reflection-study .fine{display:block;margin-top:35px}.living-projects{grid-template-columns:1fr;max-width:580px}.living-projects p{color:#e2ebd8}.living-caption{display:none}.systems{padding-top:90px}.system-case{grid-template-columns:45px .9fr 1.15fr;gap:45px;min-height:82svh}.case-copy p{color:#515b53}.proof-sequence{display:flex;gap:18px;justify-content:space-between;padding-top:18px;border-top:1px solid #cad1c5;font-size:13px;color:#34503c}.proof-sequence span+span:before{content:'→';margin-right:12px;color:#647b61}.justice-evidence img{object-position:top}.frequency-evidence img{object-position:top}.selfie-caption .fine{color:#59625d}
.factory-section{background:#fff;color:#24392d;padding:110px 0 95px}.factory-section h2{font-size:clamp(48px,6.8vw,104px);letter-spacing:-.04em;line-height:1;margin:35px 0}.factory-section h2 em{color:#b5412c;font-family:Georgia,serif;font-weight:400}.factory-mission{font-size:clamp(21px,2.3vw,32px);line-height:1.5;max-width:900px}.factory-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:70px}.factory-stories article{border-top:1px solid #a8b2a4;padding-top:20px}.factory-stories article>span{font-size:11px;letter-spacing:.07em}.factory-stories h3{font-size:28px;line-height:1.2;margin:20px 0}.factory-stories p{font-size:16px;line-height:1.6;max-width:40ch}.factory-stories small{display:block;margin-top:20px;font-size:13px;color:#52664f}.factory-section .chapter-bridge{margin-top:60px}.contact{position:relative}.contact:after{content:'';position:absolute;left:var(--gutter);right:var(--gutter);top:0;border-top:1px solid #ffffff40;pointer-events:none}
/* Fallback uses the same coast, never the obsolete canyon illustration. */
.coast-chapter .road-journey{inset:0;background:url('/assets/coast/topanga-coast-v2.webp') center/cover no-repeat;transform:none!important}.coast-chapter .road-journey svg,.coast-chapter .road-caption{display:none}.coast-handoff-pending .coast-copy{background:#07516a}.coast-handoff-pending #van-stage{visibility:hidden}.reference-film .site-navigation,.reference-film .reading-progress,.reference-film .index-trigger{display:none!important}.reference-film{scroll-behavior:auto!important}.reference-film .section-line{top:40px}.reference-film.js-enabled .reveal{opacity:1;transform:none}
@media(max-width:900px){.poly-chapter,.holistica-section{gap:35px}.system-case{grid-template-columns:.85fr 1.15fr;gap:28px}.factory-stories{gap:25px}.world-projects{width:60%}.site-navigation .brand{font-size:20px}.site-navigation .brand-icon{font-size:32px}}
@media(max-width:700px){:root{scroll-padding-top:76px}.site-navigation.nav{height:64px;padding:0 12px}.site-navigation .brand{font-size:17px;gap:5px}.site-navigation .brand-icon{font-size:27px}.site-navigation .brand-tm{display:none}.site-navigation nav{gap:0}.site-navigation nav>a{font-size:12px;padding:0 7px;gap:3px;min-width:44px}.site-navigation .nav-work{font-size:11px!important;padding:0 10px!important;margin-left:5px}.site-navigation .nav-work svg{display:none}.site-navigation nav>a:nth-child(2){display:flex!important}.navigation-panel{right:8px;left:8px;width:auto;top:calc(100% + 4px);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}.menu-projects,.menu-studio{grid-template-columns:1fr;gap:0}.menu-group{padding:7px}.menu-group>span{margin-bottom:4px}.menu-projects a{padding:10px;min-height:60px}.menu-projects small,.menu-studio>a>span{max-width:none;font-size:13px}.menu-footer{padding:8px;gap:14px}.menu-footer>span{display:none}.menu-studio>a{min-height:95px}.menu-projects strong{font-size:16px}.section-line{top:86px}.section-line .eyebrow{font-size:9px}.coast-chapter{height:600svh}.coast-chapter .van-heading{top:150px}.coast-chapter .van-heading h2{font-size:36px}.worlds{height:calc(290svh + var(--return-tail))}.worlds-sticky{min-height:840px}.worlds h2{top:130px;font-size:43px}.worlds .model-toolbar{top:235px;bottom:auto}.world-projects{width:100%;max-width:none;bottom:5%}.world-projects h3{font-size:26px}.world-projects p{font-size:15px}.poly-chapter,.holistica-section{grid-template-columns:1fr;gap:35px;padding-top:80px;padding-bottom:70px}.poly-intro h2,.holistica-section h2{font-size:54px}.poly-intro>p:not(.eyebrow),.holistica-section>div>p:not(.eyebrow){font-size:17px}.chapter-bridge{margin-top:15px;font-size:19px}.holistica-section .reflection-study{margin-top:0}.reflection-question{font-size:43px}.system-case{grid-template-columns:1fr;gap:32px;min-height:0;padding:50px 0}.case-copy p{font-size:17px}.product-evidence figcaption{font-size:12px}.proof-sequence{font-size:12px;gap:8px}.proof-sequence span+span:before{margin-right:8px}.factory-section{padding:80px 0 65px}.factory-section h2{font-size:52px}.factory-mission{font-size:21px}.factory-stories{grid-template-columns:1fr;gap:35px;margin-top:45px}.factory-stories h3{font-size:29px;margin:15px 0}.factory-stories h3 br{display:none}.factory-stories p{max-width:none;font-size:17px}.factory-section .chapter-bridge{margin-top:40px}.living-projects{max-width:none}.selfie-caption .fine{font-size:11px}.hero-top{top:120px}}
@media(prefers-reduced-motion:reduce){.navigation-panel{animation:none;transition:none}.menu-content,.menu-projects strong,.menu-projects svg,.site-navigation svg{animation:none!important;transition:none!important;transform:none!important}.coast-chapter,.worlds{height:auto}.coast-copy,.coast-clouds,.coast-flyby{display:none!important}}
/* Websites live in the concrete house as illuminated, recessed windows. */
.site-window{margin:0;overflow:hidden;width:100%}.wall-stage{position:relative;width:100%;aspect-ratio:3/2;background:#fff}.wall-backdrop{display:block;width:100%;height:100%;object-fit:fill}.wall-screen{position:absolute;left:31.38%;top:16.6%;width:60.35%;height:55%;padding:0;border:0;border-radius:0;background:#14201b;overflow:hidden;text-align:left;box-shadow:inset 0 6px 13px #0005;cursor:zoom-in}.window-evening .wall-screen{left:6.8%;top:16.9%;width:61%;height:50.55%}.wall-screen>img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:filter 200ms}.wall-screen:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 3px 12px #0005;border:1px solid #e9dbb654}.window-invitation{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;font-size:14px;background:#10261fe8;color:#fff;transform:translateY(100%);transition:transform 200ms var(--menu-ease)}.window-invitation svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none}.wall-screen:hover .window-invitation,.wall-screen:focus-visible .window-invitation{transform:none}.wall-screen:focus-visible{outline:3px solid #daecac;outline-offset:5px}.site-window>figcaption{padding:14px 0;display:flex;justify-content:space-between;gap:20px;font-size:16px;color:#223c2d}.site-window>figcaption>span{font-size:12px;color:#586956}.website-room{padding:0 var(--gutter) 80px;background:#fff}.website-room .site-window{max-width:1400px;margin:auto}.poly-chapter{grid-template-columns:1fr}.poly-intro{max-width:800px}.poly-intro>p:not(.eyebrow){max-width:58ch}.poly-evidence{grid-column:1/-1}.holistica-section .site-window{grid-column:1/-1}.system-case{grid-template-columns:45px 1fr;min-height:0}.system-case .case-copy{max-width:750px}.system-case [data-project-window]{grid-column:1/-1}.project-preview-link{margin-top:24px;min-height:44px}.preview-open{overflow:hidden}.project-lightbox{position:fixed;inset:72px 0 0;z-index:90;background:#071710ba;padding:20px;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(8px)}.preview-panel{width:min(1480px,100%);max-height:100%;background:#fff;color:#203629;box-shadow:0 24px 60px #0005;display:flex;flex-direction:column;border-radius:12px;overflow:hidden}.preview-panel>header{display:flex;justify-content:space-between;align-items:center;padding:22px 30px;border-bottom:1px solid #cad2c5;flex:none}.preview-panel h2{font-size:30px;line-height:1.1;letter-spacing:-.03em;margin-top:6px}.preview-panel>header span{font-size:12px;color:#566850}.preview-close{width:44px;height:44px;border:1px solid #adbbab;border-radius:50%;display:grid;place-items:center;flex:none}.preview-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.preview-scroll{overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:35px;padding:28px}.preview-scroll figure{margin:0;min-width:0;overflow:auto}.preview-image{display:block;max-width:100%;padding:0;border:0;cursor:zoom-in}.preview-image>img{display:block;width:100%;height:auto}.preview-image.is-zoomed{width:1440px;max-width:none;cursor:zoom-out}.preview-scroll figcaption{font-size:12px;margin-top:14px;color:#566850}.preview-spec h3{font-size:21px;margin-bottom:18px}.preview-spec p,.preview-spec dd{font-size:15px;line-height:1.6}.preview-spec dt{font-size:12px;font-weight:600;margin:24px 0 8px;color:#586950}.preview-spec dd{margin:0}.preview-close:hover{background:#dae5cc}.reference-film .window-invitation{display:none}
@media(max-width:700px){.website-room{padding:0 0 45px}.site-window{overflow:hidden}.wall-stage{width:145%;margin-left:-40%}.window-evening .wall-stage{margin-left:-3%}.site-window>figcaption{padding:14px 10px;display:block;font-size:16px}.site-window>figcaption>span{display:block;font-size:11px;margin-top:6px}.window-invitation{transform:none;padding:10px;font-size:11px}.project-lightbox{inset:64px 0 0;padding:9px}.preview-panel>header{padding:16px}.preview-panel h2{font-size:26px}.preview-scroll{grid-template-columns:1fr;gap:28px;padding:14px}.preview-spec p,.preview-spec dd{font-size:16px}.preview-image{min-width:0}.preview-scroll figure{max-width:100%}.system-case{grid-template-columns:1fr}.poly-chapter{padding-inline:0}.poly-intro,.poly-chapter .chapter-bridge{padding-inline:var(--gutter)}.holistica-section [data-project-window]{margin-inline:calc(-1 * var(--gutter))}.holistica-section .site-window{width:100%}.poly-chapter .site-window{width:100%}}
@media(prefers-reduced-motion:reduce){.window-invitation{transition:none;transform:none}}

.holistica-section{grid-template-columns:1fr}.holistica-section>div:first-child{max-width:850px}.holistica-section>div>p:not(.eyebrow){max-width:60ch}.van-heading p{font-size:16px;max-width:320px;line-height:1.5}.van-heading .van-credit{font-size:11px}.project-lightbox:has(.is-zoomed) .preview-scroll{grid-template-columns:minmax(0,1fr) 280px}
.studio-offerings{display:flex;flex-direction:column;gap:24px}.studio-offerings article{border-top:1px solid #b8c7ae;padding-top:18px}.studio-offerings h3{font-size:24px}.studio-offerings p{font-size:16px;margin-top:8px;color:#4c634b}.biz-band .studio-offerings p{color:#c6d6cb}.project-estimator{background:#fff}.project-estimator h2{font-size:clamp(40px,5vw,72px);line-height:1.04;letter-spacing:-.04em}.project-estimator h2 em{font-family:Georgia,serif;font-weight:400}.project-estimator>.biz-wrap>p{font-size:19px;max-width:65ch;margin-top:25px}.project-estimator form{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:50px}.estimate-inputs>label{display:block;font-size:18px}.estimate-inputs select{display:block;width:100%;font:inherit;padding:16px;background:#fff;border:1px solid #82987b;border-radius:8px;margin-top:15px}.estimate-inputs fieldset{border:0;padding:0;margin:30px 0 0}.estimate-inputs legend{font-size:20px;padding:0;margin-bottom:20px}.estimate-inputs fieldset>label{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;border-top:1px solid #bac7b1;font-size:16px}.estimate-inputs label>span{font-size:13px;color:#4f644c}.estimate-inputs input[type=number]{width:65px;padding:12px;font-size:18px;background:#fff;border:1px solid #82987b;border-radius:6px}.estimate-inputs input[type=checkbox]{accent-color:#23472e;width:22px;height:22px}.estimate-inputs .estimate-check{justify-content:flex-start}.estimate-check>span{font-size:16px!important}.estimate-check small{display:block;font-size:13px;margin-top:4px}.estimate-inputs fieldset:disabled{opacity:.45}.estimate-result{background:#173428;color:#fff;padding:32px;border-radius:12px}.estimate-result>p:first-child{font-size:14px;color:#d7e5cf}.estimate-result>strong{font-size:64px;line-height:1.2;font-weight:500;letter-spacing:-.04em}.estimate-result [data-estimate-lines]{margin:28px 0;border-top:1px solid #ffffff25;padding-top:18px}.estimate-result [data-estimate-lines]>div{display:flex;justify-content:space-between;gap:18px;margin:12px 0;font-size:15px}.estimate-note{font-size:14px;line-height:1.6;color:#d4e2c9;margin-bottom:25px}.estimate-result>small{display:block;font-size:12px;line-height:1.5;color:#c3d3bb;margin-top:20px}.biz-receipt-row span:last-child{max-width:65%;text-align:right}.project-estimator .biz-pill{font-size:14px;white-space:normal;text-align:center}
@media(max-width:700px){.project-estimator form{grid-template-columns:1fr;gap:28px}.project-estimator h2{font-size:46px}.estimate-inputs fieldset>label{flex-wrap:wrap;gap:8px}.estimate-inputs label>span{margin-left:auto}.estimate-result{padding:24px}.estimate-result>strong{font-size:54px}.studio-offerings{gap:22px}}

/* An early, concrete example of the studio's website work. */
.optiek-chapter{padding-top:100px;padding-bottom:80px;scroll-margin-top:100px}.optiek-intro{max-width:760px}.optiek-intro h2{font-size:clamp(48px,6.5vw,94px);line-height:.98;letter-spacing:-.045em;margin:24px 0}.optiek-intro h2 em{font-style:normal;background:linear-gradient(transparent 68%,#f1ec18 68%);padding-right:.08em}.optiek-intro>p:not(.eyebrow){max-width:590px;font-size:18px;line-height:1.6}.optiek-chapter .site-window{width:100%;margin:36px 0 0}.optiek-chapter .window-invitation{background:#f1ec18;color:#161713}.optiek-chapter .chapter-bridge{margin-top:30px}@media(max-width:700px){.optiek-chapter{padding-top:64px;padding-bottom:48px}.optiek-intro>p:not(.eyebrow){font-size:16px}.optiek-chapter .site-window{margin-top:28px}}

/* Chapter 06 opens the way chapter 01 does: the label in the narrow column, the statement and its lead in the wide one.
   Each case keeps that grid (its name on the left, its story on the right, the website below), so the chapter reads as one system.
   In the page flow numerals mark chapters only; projects are named, and numbered only in the project index.
   Side by side, each label's capitals line up with its headline's: a General Sans capital starts (line-height - 1.25)/2 + .292em
   into its line (ascent 1.01, descent .24, cap height .718), a 12px Plex Mono capital 5.7px into its 1.6 line. */
.systems{--systems-h2:clamp(48px,5.5vw,94px);--systems-h3:clamp(36px,3.8vw,62px)}
.systems .systems-heading{grid-template-columns:1fr 2fr;gap:48px 40px;margin-bottom:100px}
.systems .systems-heading h2{font-size:var(--systems-h2)}
.systems .systems-heading>.eyebrow{padding-top:calc(var(--systems-h2) * .187 - 5.7px)}
.systems .systems-lede{grid-column:2;max-width:22em;text-wrap:balance}
.systems .system-case{grid-template-columns:1fr 2fr;gap:45px 40px;align-items:start;min-height:0}
.systems .case-label{padding-top:calc(var(--systems-h3) * .192 - 5.7px)}
.systems .case-copy{max-width:750px}
.systems .case-copy h3{margin-top:0;font-size:var(--systems-h3)}
.systems .case-copy p:not(.fine){max-width:60ch;text-wrap:pretty}
.systems .system-case [data-project-window]{grid-column:1/-1}
@media(max-width:900px){
 .systems .systems-heading{grid-template-columns:1fr;row-gap:35px}
 .systems .systems-heading>.eyebrow{padding-top:0}
 .systems .systems-lede{grid-column:auto}
 .systems .system-case{grid-template-columns:1fr;row-gap:0}
 .systems .case-label{padding-top:0;margin-bottom:20px}
 .systems .system-case [data-project-window]{margin-top:35px}
}
@media(max-width:700px){
 .systems{padding-top:80px}
 .systems .system-case [data-project-window]{margin-top:32px}
}
@media(max-width:600px){
 .systems .systems-heading{row-gap:24px;margin-bottom:65px}
 .systems .systems-heading h2{font-size:42px}
 .systems .systems-lede{font-size:20px}
 .systems .case-label{font-size:10px}
 .systems .case-copy h3{font-size:34px}
}

/* A full-sized live aircraft has its own flight interval before the showcase. */
.coast-chapter{height:760svh}
#aircraft-stage.p51-flight-active{position:fixed!important;inset:0!important;width:100vw;height:100svh;z-index:46;pointer-events:none;min-height:0}
.p51-flight-controls{position:fixed!important;right:var(--gutter)!important;top:auto!important;bottom:28px!important;z-index:47}
.p51-flight-controls .model-credit,.p51-flight-controls>.eyebrow{display:none}
/* Press and hold: a long press is the trigger, never a text selection, a callout or a scroll. */
#fire-guns{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
#fire-guns:active,#fire-guns.is-firing{background:#ffe3a1;color:#172029;border-color:#ffcf7b;box-shadow:0 0 20px #e9b86738;transform:scale(.98)}
@media(max-width:700px){.coast-chapter{height:850svh}.p51-flight-controls{bottom:24px!important}}
@media(prefers-reduced-motion:reduce){.coast-chapter{height:auto}#aircraft-stage.p51-flight-active{display:none!important}}

/* Empathy Factory: a white editorial grid, with project status kept in plain view. */
.factory-section{background:#fff;color:#24392d;padding:clamp(80px,9vw,144px) 0 clamp(72px,8vw,120px)}
.factory-section>.wrap{max-width:1680px;margin:0 auto}
.factory-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);column-gap:clamp(36px,6vw,100px);align-items:end;padding-bottom:clamp(52px,6.4vw,100px)}
.factory-heading{min-width:0}
.factory-heading>.eyebrow{font-size:10px;line-height:1.7;letter-spacing:.08em;max-width:42ch;color:#526157}
.factory-section h2{margin:30px 0 0;font-weight:600;letter-spacing:-.06em;line-height:1.04}
.factory-section h2>span{display:block;font-size:clamp(38px,4.25vw,72px)}
.factory-section h2>em{display:block;margin-top:7px;font-family:Georgia,serif;font-size:clamp(68px,8.5vw,142px);font-weight:400;letter-spacing:-.065em;line-height:1;color:#b5412c}
.factory-section .factory-mission{font-size:clamp(18px,1.6vw,23px);line-height:1.6;letter-spacing:-.018em;max-width:34ch;padding-bottom:7px;color:#3d4941}
.factory-section .factory-stories{display:block;margin-top:0;border-bottom:1px solid #24392d}
.factory-stories article{display:grid;grid-template-columns:minmax(100px,.43fr) minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,64px);align-items:start;border-top:1px solid #24392d;padding:38px 0 42px}
.factory-story-label{display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding-top:3px}
.factory-story-number{font-size:clamp(34px,3.7vw,60px);font-weight:400;letter-spacing:-.07em;line-height:.9;color:#24392d}
.factory-story-label>span:last-child{font:500 10px/1.5 Mono,monospace;letter-spacing:.075em}
.factory-section .factory-stories h3{font-size:clamp(28px,2.85vw,45px);font-weight:400;letter-spacing:-.045em;line-height:1.13;margin:0;max-width:15ch}
.factory-section .factory-stories p{font-size:clamp(16px,1.35vw,19px);line-height:1.65;color:#3d4941;max-width:40ch}
.factory-section .factory-stories small{display:block;width:fit-content;margin-top:22px;padding:9px 0 0;border-top:1px solid #24392d35;font:500 10px/1.6 Mono,monospace;letter-spacing:.015em;color:#526157}
.factory-section .chapter-bridge{max-width:25ch;margin:54px 0 0 17.35%;font-size:clamp(25px,3.15vw,47px);line-height:1.23;letter-spacing:-.045em;color:#24392d}
.factory-section .chapter-bridge em{font-family:inherit;font-weight:400;font-style:normal;color:#b5412c}
@media(max-width:1000px){
 .factory-intro{grid-template-columns:1.25fr .9fr;gap:35px}
 .factory-section h2>span{font-size:clamp(34px,4.4vw,44px)}
 .factory-section h2>em{font-size:clamp(65px,8.5vw,90px)}
 .factory-stories article{grid-template-columns:90px minmax(0,1fr) minmax(0,1.1fr);gap:28px}
 .factory-section .chapter-bridge{margin-left:118px}
}
@media(max-width:700px){
 .factory-section{padding:72px 0}
 .factory-intro{grid-template-columns:1fr;gap:28px;padding-bottom:42px}
 .factory-heading>.eyebrow{font-size:9px;max-width:40ch}
 .factory-section h2{margin-top:27px}
 .factory-section h2>span{font-size:clamp(30px,7.8vw,48px)}
 .factory-section h2>em{font-size:clamp(56px,15.8vw,96px);margin-top:5px}
 .factory-section .factory-mission{font-size:18px;line-height:1.6;max-width:36ch;padding:0}
 .factory-stories article{grid-template-columns:48px minmax(0,1fr);column-gap:24px;row-gap:22px;padding:28px 0 32px}
 .factory-story-label{grid-column:1/-1;flex-direction:row;align-items:center;gap:24px;padding:0}
 .factory-story-number{width:48px;font-size:32px;flex:none}
 .factory-story-label>span:last-child{font-size:9px;letter-spacing:.09em}
 .factory-section .factory-stories h3{grid-column:2;font-size:30px;max-width:17ch}
 .factory-section .factory-stories h3 br{display:none}
 .factory-story-copy{grid-column:2}
 .factory-section .factory-stories p{font-size:16px;max-width:none}
 .factory-section .factory-stories small{font-size:9px;margin-top:18px;padding-top:10px}
 .factory-section .chapter-bridge{margin:38px 0 0;font-size:30px;max-width:24ch}
}

.worlds #aircraft-stage{height:100svh;bottom:auto}

/* One close-up orbit in daylight. Night arrives only after the complete turn. */
.worlds-sticky:before{content:'';position:absolute;inset:0;background:#d8e7f0 url('/assets/coast/cloudscape-strip-v1.webp') 0 0/auto 100% repeat-x;opacity:var(--flight-sky,1);pointer-events:none}
.worlds:not(.dark-sky) .section-line,.worlds:not(.dark-sky) h2,.worlds:not(.dark-sky) .world-projects,.worlds:not(.dark-sky) .world-projects p,.worlds:not(.dark-sky) .world-projects .eyebrow{color:#132331}
.worlds .section-line,.worlds h2,.worlds .world-projects{position:absolute;z-index:3}
.worlds:not(.dark-sky) .model-toolbar{color:#132331}
.worlds:not(.dark-sky) .dark-pill,.p51-flight-controls .dark-pill{background:#ffffffb8;color:#142634;border-color:#23384d66}
.p51-flight-controls .model-credit{display:none!important}

.factory-intro h2>span{letter-spacing:-.04em;word-spacing:.07em}

.coast-chapter .van-sticky{background:#fff}

[data-window="warbirds"] .wall-screen>img{object-fit:cover;object-position:57% 50%}
.warbirds-campaigns{position:absolute;inset:auto 0 0;display:flex;justify-content:center;gap:3%;padding:8% 3% 3%;background:linear-gradient(transparent,#06121bd9);color:#fff;font-size:clamp(7px,.72vw,12px);line-height:1.2;font-weight:600;text-shadow:0 1px 3px #000}
[data-window="warbirds"] .window-invitation{bottom:auto;top:12px}
@media(max-width:700px){.warbirds-campaigns{font-size:7px;gap:10px}[data-window="warbirds"] .window-invitation{top:8px}}
/* Clouds: both layers are the same seamless strip (the photograph and its mirror image, 3:1) at the same height,
   streaming together through --sky-px (set by aircraft.js on #coast-clouds and .worlds-sticky), so the hand-off
   between them cannot jump. The wipe's clip stays on #coast-clouds while the strip moves inside it. */
.coast-sky{position:absolute;will-change:transform}
.coast-sky,.worlds-sticky:before{top:0;right:auto;bottom:auto;left:0;height:100svh;width:calc(100% + 300svh);background:#d8e7f0 url('/assets/coast/cloudscape-strip-v1.webp') 0 0/auto 100% repeat-x;transform:translate3d(var(--sky-px,0px),0,0)}

/* The P-51's return flies through the middle of the stage: its controls wait for the showcase. */
.worlds .model-toolbar{transition:opacity .35s ease}.worlds.p51-returning .model-toolbar{opacity:0;pointer-events:none}
/* Live link in each project dialog: client work stays unlinked. */
.preview-spec .preview-live{margin:4px 0 6px}
