@font-face{font-family:Satoshi;src:url('assets/fonts/satoshi-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url('assets/fonts/satoshi-medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Bodoni;src:url('assets/fonts/bodoni.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#090b0d;--paper:#f5f2e9;--muted:#a1a5a8;--amber:#f5c400;--t-caption:12px;--t-small:14px;--t-body:16px;--t-lede:20px;--t-sub:clamp(24px,2.3vw,32px);--t-heading:clamp(38px,4.8vw,72px);--t-hero:clamp(62px,7.8vw,116px);--t-display:clamp(66px,8.5vw,128px);--track:1.5px;--tight:-1.5px;--lh:1.55;--lh-head:1.06;--lh-label:1.4;--lh-display:.97}
*{box-sizing:border-box}html{background:var(--ink);scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font:400 var(--t-body)/var(--lh) Satoshi,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--amber);outline-offset:7px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2{font:400 var(--t-heading)/var(--lh-head) Bodoni,serif;letter-spacing:var(--tight);text-wrap:balance}h3{font:400 var(--t-sub)/var(--lh-head) Bodoni,serif;letter-spacing:0}img{display:block;width:100%;object-fit:cover}::selection{background:var(--amber);color:var(--ink)}.eyebrow,.caption{font-size:var(--t-caption);line-height:var(--lh-label)}.eyebrow{letter-spacing:var(--track)}.amber{color:var(--amber)}.muted{color:var(--muted)}.skip-link{position:fixed;top:-80px;left:20px;z-index:99;background:var(--amber);color:var(--ink);padding:12px}.skip-link:focus{top:12px}
.header{position:absolute;top:0;left:0;width:100%;height:108px;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;border-bottom:1px solid #ffffff16}.brand{display:flex;align-items:center;gap:13px}.brand img{width:55px;height:35px;filter:invert(1)}.brand>span{font-size:var(--t-small);font-weight:500;line-height:var(--lh-label);letter-spacing:var(--track)}.brand small{display:block;font-size:var(--t-caption);font-weight:400;letter-spacing:var(--track);color:var(--muted)}.header nav{display:flex;gap:38px;font-size:var(--t-small)}.header nav a{transition:color .2s}.header nav a:hover{color:var(--amber)}.header-contact{font-size:var(--t-small);border-bottom:1px solid #ffffff60;padding:10px 0}.header-contact span{margin-left:35px;color:var(--amber)}
.hero{position:relative;height:100svh;min-height:680px;overflow:hidden;background:#090b0d;isolation:isolate}.world,.world canvas,.finished,.hero-vignette{position:absolute;inset:0;width:100%;height:100%}.world{z-index:1}.world canvas{display:block}.finished{z-index:2;opacity:0;pointer-events:none;will-change:transform,opacity}.finished img{height:100%;object-position:center 52%}.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0009,transparent 75%),linear-gradient(0deg,#000b,transparent 45%,#0005)}.hero-vignette{z-index:3;pointer-events:none;background:linear-gradient(180deg,#090b0d77,transparent 25%,transparent 72%,#090b0daa)}.location{position:absolute;top:145px;left:4.5%;z-index:5;display:flex;gap:10px;align-items:center;color:#c8cbc9}.live-dot{width:5px;height:5px;background:var(--amber);border-radius:50%;box-shadow:0 0 14px #f5c400}.hero-heading,.chapter-copy,.finish-copy{position:absolute;z-index:5;left:7%;top:26%;pointer-events:none}.hero-heading .eyebrow,.chapter-copy .eyebrow,.finish-copy .eyebrow{display:block;margin-bottom:24px;color:#bcc4c8}.hero-heading h1{font-size:var(--t-hero);line-height:var(--lh-display)}.hero-heading h1 span{color:var(--amber)}.chapter-copy{top:31%;opacity:0;visibility:hidden}.chapter-copy h2{font-size:var(--t-hero);line-height:var(--lh-display)}.finish-copy{top:32%;opacity:0;visibility:hidden}.finish-copy h2{font-size:var(--t-hero);line-height:var(--lh-display)}.finish-copy .pill{margin-top:35px;pointer-events:auto}.side-note{position:absolute;right:4.5%;top:26%;z-index:5;text-align:right}.side-note .eyebrow{color:var(--amber)}.side-note p{font-size:var(--t-small);line-height:var(--lh);margin-top:14px;color:#bbc1c5}.hero-bottom{position:absolute;z-index:6;bottom:35px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;align-items:flex-end}.scroll-cue{padding:0;display:flex;align-items:center;gap:15px;text-align:left;font-size:var(--t-caption);line-height:var(--lh-label);letter-spacing:var(--track)}.scroll-cue small{font-size:var(--t-caption);letter-spacing:0;color:#aab1b5}.scroll-icon{display:grid;place-items:center;width:43px;height:56px;border:1px solid #ffffff50;border-radius:25px;font-size:var(--t-lede);transition:background .3s}.scroll-cue:hover .scroll-icon{background:#f5c40022}.stage-controls{display:flex;gap:32px}.stage-controls button{font-size:var(--t-caption);padding:12px 0;color:#747b80;position:relative;transition:color .25s}.stage-controls button span{margin-left:8px}.stage-controls button.active{color:var(--paper)}.stage-controls button.active:before{content:'';position:absolute;top:0;left:0;width:18px;height:2px;background:var(--amber)}.model-note{font-size:var(--t-caption);color:#aab1b5}.progress-track{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#ffffff10;z-index:7}.progress-track span{display:block;background:var(--amber);height:100%;transform:scaleX(0);transform-origin:left}
.section{padding:110px 7%}.section-top{display:flex;justify-content:space-between;gap:24px}.work{background:#101316}.work-heading{font-size:var(--t-heading);max-width:1050px;margin:55px 0 80px}.work-heading span{color:#a4a9ad}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.project-image{position:relative;overflow:hidden;aspect-ratio:1.15}.project-image img{height:115%;transition:filter .4s;will-change:transform}.project:hover .project-image img{filter:brightness(1.1)}.image-action{position:absolute;right:20px;bottom:20px;width:50px;height:50px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:var(--t-sub);transition:transform .3s}.project:hover .image-action{transform:rotate(45deg);background:var(--amber)}.project-meta{margin-top:26px}.project-meta .eyebrow{display:block;color:var(--muted);margin-top:14px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.approach-image{position:relative;overflow:hidden;height:760px}.approach-image img{height:115%;will-change:transform}.approach-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 30%)}.approach-image>.eyebrow{position:absolute;z-index:1;bottom:25px;left:25px}.approach-copy h2{margin:30px 0}.approach-copy>p:not(.eyebrow){max-width:48ch;color:var(--muted)}.step{display:flex;gap:25px;border-top:1px solid #ffffff23;padding:25px 0}.step:first-of-type{margin-top:38px}.step>span{font-size:var(--t-caption);color:var(--amber)}.step h3{margin-bottom:8px}.step p{font-size:var(--t-small);color:var(--muted);max-width:38ch}.services{background:#101316}.services h2{margin:30px 0 55px}.services>a{padding:28px 0;border-top:1px solid #ffffff26;display:grid;grid-template-columns:65px 1fr 24px;align-items:center;gap:15px;transition:color .25s}.services>a:hover{color:var(--amber)}.services>a>.eyebrow{color:var(--muted)}.contact{background:var(--amber);color:var(--ink);min-height:640px}.contact h2{font-size:var(--t-display);line-height:var(--lh-display);margin:32px 0 45px}.contact h2 span{color:#655700}.pill{display:inline-flex;align-items:center;gap:36px;padding:17px 26px;background:var(--paper);color:var(--ink);border-radius:40px;font-size:var(--t-small);line-height:var(--lh-label);transition:transform .25s,background .25s}.pill:hover{background:var(--amber);transform:translateY(-3px)}.contact .pill{background:var(--ink);color:var(--paper)}.contact .pill:hover{background:#303437}.contact-row{display:flex;align-items:center;gap:40px;margin-bottom:50px}.contact-row>a:not(.pill){font-size:var(--t-lede)}.footer{padding:55px 7% 35px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px}.footer .caption{color:var(--muted)}.credits{flex-basis:100%;max-width:90ch;margin-top:25px}.credits a{text-decoration:underline}.fallback .finished{opacity:1}.fallback .hero-heading,.fallback .chapter-copy,.fallback .side-note,.fallback .scroll-cue,.fallback .stage-controls,.fallback .model-note{display:none}.fallback .finish-copy{opacity:1;visibility:visible}.fallback .hero{height:100svh;min-height:650px}
.sjai-teaser{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:7%;padding-top:55px;padding-bottom:55px;background:#090b0d;overflow:hidden}.sjai-art{width:100%;max-width:510px;justify-self:center}.sjai-art img{height:auto;mask-image:radial-gradient(ellipse,black 45%,transparent 72%)}.sjai-copy{padding:25px 0}.sjai-rule{position:absolute;top:0;left:7%;right:7%;height:1px;background:var(--amber);transform-origin:left}.sjai-teaser h2{font-family:Satoshi,sans-serif;font-size:var(--t-heading);font-weight:500;margin-top:22px;letter-spacing:var(--tight)}.sjai-teaser h2 span{color:var(--muted);font-weight:400}.sjai-status{min-width:200px;margin-top:32px}.sjai-status .eyebrow{display:flex;align-items:center;gap:12px;color:var(--amber)}.sjai-status>p:last-child{margin-top:18px;color:var(--muted);font-size:var(--t-body)}.sjai-footer{display:flex;align-items:center;gap:10px;font-size:var(--t-small);line-height:var(--lh-label)}.sjai-footer img{width:56px;height:56px;mask-image:radial-gradient(ellipse,black 45%,transparent 72%)}.sjai-footer small{display:block;color:var(--muted);font-size:var(--t-caption);margin-top:5px}.sjai-footer:hover{color:var(--amber)}.finished img{object-position:50% 52%}.finish-copy .eyebrow{color:var(--paper)}
.commercial{background:var(--paper);color:var(--ink)}.commercial-intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:end;margin:50px 0}.commercial-intro h2{font-size:var(--t-heading)}.commercial-intro>p{font-size:var(--t-lede);max-width:42ch;color:#515754}.commercial-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding:32px 0 48px;border-top:1px solid #090b0d30}.commercial-services .eyebrow{color:#62645f}.commercial-services h3{margin:16px 0}.commercial-services p{font-size:var(--t-small);color:#515754;max-width:42ch}.school-case{margin-top:20px}.school-case-heading{display:flex;justify-content:space-between;align-items:end;gap:25px}.school-case-heading h3{margin-top:14px}.text-link{font-size:var(--t-small);text-decoration:underline;text-underline-offset:5px}.text-link span{margin-left:12px}.case-summary{margin:20px 0 28px;font-size:var(--t-small);max-width:85ch;color:#515754}.case-summary a{text-decoration:underline;text-underline-offset:3px}.school-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px}.school-gallery figure{margin:0;min-width:0}.school-photo{aspect-ratio:1.5;overflow:hidden;background:#dfdfd6}.school-photo img{height:112%;will-change:transform}.school-gallery figcaption{margin-top:14px;color:#515754;letter-spacing:var(--track)}.tender-band{display:grid;grid-template-columns:1.25fr 1fr;gap:8%;align-items:center;background:var(--ink);color:var(--paper);padding:40px;margin-top:48px}.tender-band h3{margin:20px 0 16px}.tender-band>div>p:not(.eyebrow){font-size:var(--t-small);color:var(--muted)}.tender-actions{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.tender-actions .pill{background:var(--amber);white-space:nowrap;gap:20px}.tender-actions .pill:hover{background:var(--paper)}.tender-actions p.caption{font-size:var(--t-caption);max-width:32ch}.commercial-proof{display:grid;grid-template-columns:1.5fr .75fr 1fr;gap:30px;padding-top:30px}.commercial-proof p{font-size:var(--t-small)}.commercial-proof .eyebrow{display:block;margin-bottom:10px;color:#62645f}.commercial-proof a:hover{text-decoration:underline}.commercial-proof p>span:last-child:not(.eyebrow){color:#515754}
@media(min-width:1600px){.hero-heading{top:30%}.world{inset:0}.approach-image{height:850px}}
@media(max-width:900px){.header{height:85px;padding:0 5%}.header nav{display:none}.hero{min-height:640px}.location{top:115px;left:5%}.hero-heading{top:21%;left:6%}.hero-heading .eyebrow{margin-bottom:18px}.side-note{top:auto;bottom:130px;right:5%}.side-note p{display:none}.hero-bottom{left:5%;right:5%;bottom:25px}.scroll-cue{display:none}.model-note{font-size:var(--t-caption)}.stage-controls{gap:20px}.stage-controls button span{margin-left:4px}.chapter-copy{left:6%;top:22%}.finish-copy{left:6%;top:32%}.section{padding:75px 6%}.work-grid{gap:24px}.work-heading{margin:35px 0 50px}.approach{gap:6%}.approach-image{height:650px}.contact{min-height:570px}.footer{padding:45px 6%}}
@media(max-width:600px){.header{height:78px}.brand{gap:8px}.brand img{width:42px;height:30px}.brand>span{font-size:var(--t-caption)}.brand small{font-size:var(--t-caption);letter-spacing:0}.header-contact{font-size:var(--t-caption)}.header-contact span{margin-left:15px}.location{top:101px;font-size:var(--t-caption)}.hero{height:100svh;min-height:640px}.hero-heading{top:21%}.hero-heading h1{font-size:var(--t-hero)}.hero-heading .eyebrow,.chapter-copy>.eyebrow{max-width:230px;font-size:var(--t-caption)}.side-note{display:none}.hero-bottom{display:block;bottom:22px}.stage-controls{justify-content:space-between;margin-bottom:13px}.model-note{display:block;opacity:.75}.finish-copy{top:30%}.finish-copy h2{font-size:var(--t-heading)}.finish-copy .pill{margin-top:26px;padding:16px 20px;gap:20px}.finished img{object-position:57% center}.section-top{display:block}.section-top .muted{display:none}.work-heading{font-size:var(--t-heading)}.work-grid{grid-template-columns:1fr;gap:48px}.project-image{aspect-ratio:1.1}.project-meta{margin-top:20px}.approach{display:flex;flex-direction:column;gap:45px}.approach-image{height:460px;width:100%}.approach-copy{width:100%}.approach-copy h2{font-size:var(--t-heading)}.step{padding:23px 0}.services>a{grid-template-columns:28px 1fr 18px;gap:12px;padding:25px 0}.services>a h3{font-size:var(--t-sub)}.contact{min-height:0;padding-top:70px;padding-bottom:70px}.contact h2{font-size:var(--t-heading);line-height:var(--lh-head)}.contact-row{align-items:flex-start;flex-direction:column;gap:25px}.footer{align-items:flex-start;flex-direction:column}.credits{margin-top:0}.footer .brand{margin-bottom:12px}}
@media(max-width:600px){.sjai-teaser{grid-template-columns:1fr;gap:0;padding-top:25px;padding-bottom:50px}.sjai-art{max-width:360px}.sjai-copy{padding:0 0 0 8px}.sjai-rule{left:6%;right:6%}.finished img{object-position:50% center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.world{display:none}.finished{opacity:1}.hero-heading,.chapter-copy,.side-note,.scroll-cue,.stage-controls,.model-note{display:none}.finish-copy{opacity:1;visibility:visible}.project-image img,.approach-image img{height:100%}}
.school-photo img{height:115%}
@media(max-width:900px){.commercial-intro{gap:6%}.commercial-services{gap:24px}.tender-band{grid-template-columns:1fr;padding:32px;gap:30px}.commercial-proof{grid-template-columns:1fr 1fr}.commercial-proof p:last-child{grid-column:1/-1}}
@media(max-width:600px){.commercial-intro{grid-template-columns:1fr;gap:26px;margin:34px 0}.commercial-intro h2 br{display:none}.commercial-intro>p{font-size:var(--t-body)}.commercial-services{grid-template-columns:1fr;gap:28px;padding-bottom:30px}.commercial-services h3{margin:10px 0}.school-case-heading{align-items:flex-start;flex-direction:column;gap:20px}.school-gallery{grid-template-columns:1fr;gap:27px}.school-photo{aspect-ratio:1.35}.school-gallery figcaption{letter-spacing:0}.tender-band{padding:28px 22px;margin-top:36px}.tender-actions .pill{padding:17px 18px;gap:12px;white-space:normal}.commercial-proof{grid-template-columns:1fr;gap:23px}.commercial-proof p:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.school-photo img{height:100%;transform:none!important}}
