@font-face{font-family:Inter;src:url(/portfolio-release-20261004-v15/assets/inter-400-latin.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/portfolio-release-20261004-v15/assets/inter-500-latin.woff2) format("woff2");font-weight:500;font-display:swap}:root{--ink:#203038;--muted:#52616a;--paper:#f1eee7;--sky:#d8dcdf;--night:#10191c;--night-deep:#0a1114;--light:#edece5;--light-muted:#c3cfd1;--blue:#13799c;--line:rgba(224,234,236,.2);--dark-line:rgba(32,48,56,.22);--beam:rgba(208,237,243,.12);--white:#fff;--black:#000;--font:Inter,Arial,sans-serif;--display:Georgia,"Times New Roman",serif;--gutter:clamp(24px,4vw,72px);--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--s8:128px;--radius:4px;--panel-shadow:0 32px 80px rgba(0,0,0,.4),0 2px 0 rgba(255,255,255,.16);--button-shadow:0 8px 24px rgba(22,39,46,.12)}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:auto;scroll-padding-top:100px}body{background:var(--night);color:var(--ink);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:8px}a:active,button:active{opacity:.75}button:disabled{opacity:.4;cursor:not-allowed}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{min-width:0;overflow-wrap:anywhere;font-weight:400}::selection{background:var(--ink);color:var(--paper)}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:16px;background:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{position:absolute;top:0;left:0;width:100%;height:112px;padding:0 var(--gutter);display:flex;align-items:center;gap:var(--s6);z-index:20}.wordmark{font-family:var(--display);font-size:49px;letter-spacing:-4px;line-height:1;white-space:nowrap}.wordmark span{color:var(--blue)}.header-note{font-size:10px;line-height:1.6;letter-spacing:.04em}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:var(--s5);font-size:12px}.eyebrow{font-size:9px;line-height:1.6;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.story{position:relative;background:var(--sky)}.sky-stage{position:relative;overflow:hidden;background:var(--sky);min-height:100svh}.sky-poster,#sky-canvas,.sky-shade{position:absolute;inset:0;pointer-events:none}.sky-poster{background:var(--sky) url(/portfolio-release-20261004-v15/assets/sky-poster.webp) center/cover no-repeat;height:100svh}.sky-shade{background:linear-gradient(90deg,rgba(225,229,230,.5),transparent 65%);opacity:1}#sky-canvas canvas{display:block;width:100%;height:100%}.story-copy{position:relative}.beat{min-height:0;padding:96px var(--gutter) 80px}.beat-intro{min-height:100svh;padding-top:180px}.beat h1,.beat h2{font-family:var(--display);letter-spacing:-.06em;line-height:1.03}.beat h1{font-size:clamp(60px,7.8vw,128px)}.beat h2{font-size:clamp(52px,6.2vw,100px)}.beat .eyebrow{margin-bottom:var(--s4)}.beat-intro h1 span{color:var(--muted)}.intro-footnote{font-size:12px;line-height:1.8;margin-top:var(--s4);color:var(--muted)}.beat-low,.beat-finale{text-align:center}.beat-finale h2{font-size:clamp(80px,11.5vw,180px);line-height:.95}.finale-caption{font-size:16px;line-height:1.65;margin:var(--s4) 0 var(--s3)}.story-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:var(--s4);display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.06em;z-index:8}.chapter-label{font-size:8px;letter-spacing:.15em}.story-progress{position:absolute;bottom:0;height:2px;width:100%;background:var(--dark-line)}.story-progress span{display:block;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:left}.journey-anchor{position:absolute;top:130svh;left:0}.sky-stage:after{content:"";position:absolute;bottom:0;left:0;right:0;height:38%;background:linear-gradient(transparent,var(--night));opacity:var(--exit,0);pointer-events:none;z-index:1}.story-copy,.story-bottom{z-index:3}html:not(.has-motion) .story-bottom{display:none}.has-motion .story{height:1200svh}.has-motion .sky-stage{position:sticky;top:0;height:100svh;min-height:0}.has-motion .story-copy{position:absolute;inset:0}.has-motion .beat{position:absolute;inset:0;min-height:0;padding:0;visibility:hidden;opacity:0;pointer-events:none}.has-motion .beat a{pointer-events:auto}.has-motion .beat-intro{padding-left:8vw;display:flex;flex-direction:column;justify-content:center;padding-bottom:3vh;visibility:visible;opacity:1}.has-motion .beat-intro .eyebrow{margin-bottom:var(--s4)}.has-motion .beat-low{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:13svh}.has-motion .beat-low .eyebrow{margin-bottom:var(--s2)}.has-motion .beat-finale{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:0 var(--gutter) 104px}.has-motion .beat-finale .eyebrow{margin-bottom:var(--s3)}.work{background:var(--night);color:var(--light);position:relative;padding-top:var(--s8);outline:none}.work-heading{padding:var(--s6) 8vw var(--s7);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--s5);align-items:end}.work-heading .eyebrow{grid-column:1/-1;color:var(--light-muted);margin-bottom:var(--s4)}.work-heading h2{font:400 clamp(50px,6vw,96px)/1.08 var(--display);letter-spacing:-.045em}.work-heading h2 span{color:var(--light-muted)}.work-heading>p:last-child{font-size:12px;line-height:1.8;color:var(--light-muted);justify-self:end;padding-bottom:8px}.project{position:relative;padding:0 8vw 100px;background:var(--night);border-bottom:1px solid var(--line)}.project-stage{position:relative;padding-top:100px;perspective:1600px}.project-meta{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.15em;color:var(--light-muted);position:relative;z-index:2;margin-bottom:var(--s4)}.project-figure{display:block;position:relative;width:min(100%,1000px);margin:0 auto;background:var(--night-deep);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--panel-shadow);transform:rotateX(3deg) rotateY(-3deg);transform-origin:center;overflow:hidden;backface-visibility:hidden}.project:nth-of-type(2) .project-figure{transform:rotateX(3deg) rotateY(3deg)}.project-figure img{display:block;width:100%;height:auto;aspect-ratio:1440/1000;object-fit:cover}.project-caption{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s4);margin-top:var(--s5);align-items:end}.project-caption .eyebrow{color:var(--light-muted);font-size:8px;margin-bottom:var(--s2)}.project-caption h3{font:400 clamp(42px,5vw,76px)/1.04 var(--display);letter-spacing:-.045em}.project-detail{justify-self:end;max-width:300px}.project-detail p{font-size:12px;line-height:1.8;color:var(--light-muted);margin-bottom:var(--s2)}.project-detail .text-link{font-size:11px}.spotlight{pointer-events:none;position:absolute;top:0;left:50%;width:130%;height:90%;transform:translate(-50%);background:radial-gradient(ellipse at 50% 0%,var(--beam),transparent 62%);opacity:.5}.spotlight i{position:absolute;top:12px;left:50%;width:80px;height:2px;background:var(--light);transform:translate(-50%);box-shadow:0 8px 40px 12px var(--beam)}.contact{background:var(--paper);color:var(--ink);padding:var(--s8) 8vw;text-align:center}.contact .eyebrow{margin-bottom:var(--s5)}.contact h2{font:400 clamp(80px,12vw,184px)/.95 var(--display);letter-spacing:-.065em}.contact>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);margin:var(--s4) 0 var(--s5)}.contact-note{display:block;font-size:9px;color:var(--muted);margin-top:var(--s3)}footer{background:var(--paper);color:var(--ink);padding:var(--s4) var(--gutter) var(--s5);display:flex;align-items:center;gap:var(--s5);border-top:1px solid var(--dark-line)}footer p{font-size:10px;line-height:1.8;color:var(--muted)}footer small{font-size:9px;color:var(--muted)}@media(min-width:1600px){.project-figure{width:min(76%,1150px)}}@media(max-width:700px){.site-header{height:88px;gap:var(--s2)}.wordmark{font-size:42px}.header-note{display:none}.site-header nav{gap:var(--s3);font-size:10px}.eyebrow{font-size:8px;letter-spacing:.15em}.has-motion .story{height:1100svh}.has-motion .beat-intro{padding:0 var(--gutter) 13svh;justify-content:flex-end}.beat h1{font-size:clamp(54px,12vw,80px);letter-spacing:-.06em}.beat .eyebrow{margin-bottom:var(--s3)}.intro-footnote{margin-top:var(--s3);font-size:11px}.has-motion .beat-low{padding:0 var(--gutter) 16svh}.beat h2{font-size:clamp(42px,10.2vw,70px)}.beat-finale h2{font-size:clamp(80px,19vw,130px)}.finale-caption{font-size:13px}.story-bottom{bottom:20px;flex-wrap:wrap;gap:8px}.chapter-label{display:none}.scroll-invite,.motion-toggle{font-size:8px}.work{padding-top:var(--s6)}.work-heading{padding:var(--s5) var(--gutter) var(--s6);grid-template-columns:minmax(0,1fr);row-gap:var(--s3)}.work-heading .eyebrow{margin-bottom:0}.work-heading h2{font-size:clamp(47px,11vw,68px)}.work-heading>p:last-child{justify-self:start;font-size:11px}.project{padding:0 var(--gutter) var(--s6)}.project-stage{padding-top:80px}.project-meta{font-size:7px;letter-spacing:.1em;margin-bottom:var(--s3)}.project-status{display:none}.project-caption{grid-template-columns:minmax(0,1fr);gap:var(--s3);margin-top:var(--s4)}.project-caption h3{font-size:46px}.project-detail{justify-self:start}.project-detail p{font-size:11px}.project-caption .eyebrow{font-size:7px}.project-figure{transform:none}.project:nth-of-type(2) .project-figure{transform:none}.contact{padding:var(--s7) var(--gutter)}.contact h2{font-size:clamp(73px,17vw,110px)}.contact .eyebrow{margin-bottom:var(--s4)}.contact>p:not(.eyebrow){font-size:12px}.contact-note{font-size:8px}footer{flex-wrap:wrap;gap:var(--s3)}footer p{font-size:9px}footer .back-top{font-size:10px}footer small{width:100%}.sky-shade{background:linear-gradient(0deg,rgba(226,232,233,.75),transparent 80%)}.beat{padding:100px var(--gutter) 60px}}@media(max-height:650px)and (min-width:701px){.site-header{height:76px}.has-motion .beat-intro{padding-top:40px}.beat h1{font-size:74px}.intro-footnote{margin-top:16px}.beat h2{font-size:60px}.beat-finale h2{font-size:90px}.finale-caption{margin:16px 0 8px}}@media(max-width:700px)and (max-height:700px){.beat h1{font-size:clamp(40px,11vw,50px)}.has-motion .beat-intro{padding-bottom:90px}.has-motion .beat-intro .eyebrow{margin-bottom:16px}.intro-footnote{margin-top:16px;font-size:10px}.site-header{height:76px}}@media(max-height:550px){.has-motion .beat-finale h2{font-size:clamp(44px,15svh,72px)}.has-motion .beat-finale .eyebrow{margin-bottom:12px}.has-motion .beat-finale .finale-caption{font-size:12px;margin:8px 0 4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.project-figure{transform:none!important}.sky-poster{opacity:.5}.beat{position:relative;z-index:1}.beat-intro{min-height:100svh}.story-bottom{display:none}.sky-stage{background:var(--sky)}}
