/* FRAME / 02 — original cinematic art direction: graphite, optical silver, pale cyan. */
:root{--bg:#070b0e;--ink:#e4eeec;--muted:#8a9d9d;--acid:#8bdcc9;--line:#243739;--gutter:clamp(28px,5.2vw,100px)}
body{background:var(--bg)}
.site-header{height:104px;gap:36px}.wordmark{font-size:23px;letter-spacing:-.07em;font-weight:600}.wordmark span{font-size:12px;letter-spacing:.04em;margin-left:13px;padding-top:4px;color:#b2c3c1}.header-role{font-family:Consolas,"Courier New",monospace;font-size:9px;line-height:1.7;letter-spacing:.08em;margin-right:auto;margin-left:24px;color:#94a9aa}nav{gap:0;padding:5px 10px;background:#091214a1;border:1px solid #8ab6ac40;border-radius:100px;backdrop-filter:blur(16px);box-shadow:0 2px 35px #79dfc208;font-size:12px;flex:none}nav a{position:relative;padding:12px 19px;color:#afc0be;transition:color 180ms ease,background 180ms ease;border-radius:30px}.contact-link{border:0}nav a span{color:inherit}nav a[aria-current="location"]{color:#edfaf5;background:#9fe8d70d}.site-header.is-scrolled{height:82px;background:#070e11e8;border-color:#809d991a;backdrop-filter:blur(18px)}
.hero{height:105svh;min-height:790px;max-height:1250px;padding-top:154px;padding-bottom:40px}.hero-stage{background:#070b0e}.hero:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(90deg,#050b0e44,transparent 64%),linear-gradient(0deg,#070b0e 0%,transparent 16%)}.hero-topline{font-family:Consolas,"Courier New",monospace;font-size:10px;letter-spacing:.08em;color:#799797;align-items:center}.hero-topline>span{display:flex;align-items:center;gap:10px}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--acid);box-shadow:0 0 12px #7efbd976;flex:none}.hero-copy{margin-top:7vh;max-width:100%;pointer-events:none}.hero-copy .eyebrow{font-size:12px;letter-spacing:.2em;color:#b6d5ce;margin-bottom:30px}h1{font-size:clamp(80px,10.5vw,182px);font-weight:400;letter-spacing:-.072em;line-height:.9;max-width:1200px}.second-line{margin-left:4.1vw;margin-top:7px}h1 em{color:transparent;background:linear-gradient(120deg,#e0f4ee 12%,#aac2c4 43%,#8ab5b0 64%,#e3efed 90%);background-clip:text;-webkit-background-clip:text}.hero-statement{margin:36px 0 0 4.5vw;font-size:15px;line-height:1.9;letter-spacing:.05em;color:#9bb5b2}.hero-bottom{margin-top:42px;position:relative;z-index:1}.hero-bottom>p{font-size:13px;line-height:1.9;letter-spacing:.04em;color:#93afac}.hero-reel-link{font-size:13px;gap:17px}.hero-reel-link small{font-family:Consolas,"Courier New",monospace;font-size:9px;letter-spacing:.04em;color:#789a95}.reel-play-mini{background:#caeee0;color:#0d2625;width:56px;height:56px;box-shadow:0 0 25px #99dfbc12}.round-link{font-size:12px;gap:12px}.round-link small{font-size:8px}.round-link .mini-cross{width:36px;height:36px;border-color:#81a09a55}.round-link .mini-cross:before,.round-link .mini-cross:after{left:12px;top:17px}.hero-coordinate{position:absolute;right:var(--gutter);top:40%;display:flex;align-items:center;gap:15px;writing-mode:vertical-rl;font:9px Consolas,"Courier New",monospace;letter-spacing:.12em;color:#7faaa7}.hero-coordinate i{height:80px;width:1px;background:#688c864f}.hero-reticle{position:absolute;width:16px;height:16px;pointer-events:none;opacity:.48}.hero-reticle:before,.hero-reticle:after{content:"";position:absolute;background:#a5c8bd}.hero-reticle:before{width:16px;height:1px;top:7px}.hero-reticle:after{height:16px;width:1px;left:7px}.reticle-one{right:33%;top:24%}.reticle-two{right:10%;bottom:24%}.chapter-strip{padding:26px var(--gutter);border-top:1px solid #90b9b21f;border-bottom:1px solid #90b9b21f;display:flex;align-items:center;gap:36px;font:10px Consolas,"Courier New",monospace;letter-spacing:.08em;color:#79908f}.chapter-line{height:1px;flex:1;background:#506e6929}.chapter-symbol{font-size:19px;color:#b1cbc0;margin-left:auto}
.section-pad{padding-top:125px;padding-bottom:125px}.reel{padding-bottom:65px;border-bottom:0;background:radial-gradient(ellipse at 40% 60%,#10252733,transparent 70%)}.reel-heading{gap:24px;margin-bottom:48px}.reel-heading h2{font-size:clamp(28px,3.15vw,54px)}.eyebrow,.dialog-kicker,.project-type,.project-image-top,.image-bottom,.reel-top,.reel-duration small,.lab-label,.lab-footnote{font-family:Consolas,"Courier New",monospace}.reel-stage{border:1px solid #76948c42;border-radius:2px;aspect-ratio:2.26}.reel-stage>img{filter:saturate(.55);opacity:.65}.reel-stage:after{background:linear-gradient(180deg,#03131633,transparent 35%,#030b0fd9)}.reel-play{background:#ccecdf13;color:#e5f8ef;border:1px solid #c6e3d37a;backdrop-filter:blur(8px);width:108px;height:108px;gap:15px}.reel-play>span{font-size:22px}.reel-play>small{font:9px Consolas,"Courier New",monospace;letter-spacing:.1em}.reel-bottom>strong{font-size:clamp(50px,7.4vw,120px);letter-spacing:-.07em;font-weight:400}.reel-duration{font-size:25px;color:#bfddd2}.reel-top>span:last-child{color:#a9c6c0;border-color:#a8c5bb40}.reel-caption{font-size:11px;color:#849d96}.works{padding-top:95px}.section-heading{grid-template-columns:1fr 1.9fr 1.1fr;margin-bottom:65px}.section-heading h2{font-size:clamp(36px,4.7vw,78px)}.section-heading .eyebrow{font-size:10px}.section-note{font-size:13px;color:#809590}.project-grid{gap:82px 38px}.project-image{border-radius:2px;border:1px solid #6a897222}.project-image .poster{transition:transform 900ms var(--ease-out),filter 250ms ease;will-change:auto}.project-image-top,.image-bottom{font-size:10px}.view-project{width:112px;height:112px;left:calc(50% - 56px);top:calc(50% - 56px);font-size:11px;background:#d8f0e9e8;color:#132b27;backdrop-filter:blur(8px)}.view-mark{font-size:30px}.project-caption{margin-top:25px}.project-caption h3{font-weight:400;font-size:clamp(22px,2.4vw,40px);color:#d6e4df}.featured .project-caption h3{letter-spacing:.04em;font-size:clamp(32px,3.6vw,60px)}.project-caption p{color:#779b91;font-size:12px}.project-type{font-size:9px;line-height:1.9;color:#839c98}.work-footnote{font-size:10px;color:#677e77}.sample-tag{font-size:9px;border-color:#aec8bc50}
.lab{position:relative;overflow:hidden;border-block:1px solid #547b7338;background:radial-gradient(ellipse at 90% 10%,#18373388,transparent 60%),#0a1317}.lab:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;background-image:linear-gradient(#7d9b881c 1px,transparent 1px),linear-gradient(90deg,#7d9b881c 1px,transparent 1px);background-size:90px 90px}.lab>*{position:relative}.lab-heading{display:flex;align-items:center;justify-content:space-between}.lab-heading .eyebrow{font-size:10px;color:#87a49c;margin:0}.lab-label{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.09em;color:#86a89e}.lab-intro{display:flex;justify-content:space-between;align-items:flex-end;margin:50px 0 65px;gap:40px}.lab-intro h2{font-size:clamp(42px,5.5vw,90px);letter-spacing:-.065em}.lab-intro h2 em{font-style:normal;color:#789f97}.lab-intro p{font-size:13px;line-height:2.1;color:#93aca5;max-width:400px;margin:0 5vw 8px 0}.lab-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:28px}.lab-card{display:block;border:1px solid #557c6c47;border-radius:2px;background:#070e1199;position:relative;overflow:hidden;transition:border-color 180ms ease,background 180ms ease}.lab-card:first-child{grid-row:span 2;display:flex;flex-direction:column}.lab-art{height:210px;position:relative;overflow:hidden;background:#0b171b;isolation:isolate}.lab-card:first-child .lab-art{height:auto;min-height:410px;flex:1}.lab-art img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 700ms var(--ease-out),opacity 250ms ease}.lab-art.portrait{background:radial-gradient(ellipse at center,#22423c66,transparent 75%),#080f12}.lab-art.portrait img{object-fit:contain;padding:18px}.lab-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,#080f1266);pointer-events:none}.lab-card:first-child .lab-art.portrait img{padding:26px}.lab-image-tag{position:absolute;top:18px;left:18px;background:#071310d1;border:1px solid #88b5a340;padding:7px 9px;border-radius:2px;color:#aec8bc;font:9px Consolas,"Courier New",monospace;letter-spacing:.05em;z-index:1}.lab-enter{position:absolute;right:20px;bottom:20px;border:1px solid #97c8b07a;background:#10251fd6;backdrop-filter:blur(8px);color:#e0f5e9;padding:11px 14px;border-radius:30px;font-size:11px;display:flex;gap:16px;align-items:center;z-index:2;transition:transform 180ms var(--ease-out),background 180ms ease}.lab-enter i{font-size:16px;font-style:normal}.lab-info{padding:25px 26px 24px;display:grid;grid-template-columns:1fr auto;gap:14px 20px}.lab-info .eyebrow{font-size:9px;margin:0;color:#779b91;grid-column:1/-1}.lab-info h3{font-size:25px;font-weight:400;letter-spacing:-.045em;margin:0;line-height:1.35}.lab-card:first-child .lab-info h3{font-size:34px}.lab-number{font:11px Consolas,"Courier New",monospace;color:#597e72;margin-top:8px}.lab-info>p{grid-column:1/-1;font-size:12px;line-height:1.9;color:#859e94;margin:0;max-width:470px}.lab-tags{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;font:9px Consolas,"Courier New",monospace;color:#b1c7ba;margin-top:7px}.lab-tags span{padding:6px 0;border-top:1px solid #6b938444}.lab-footnote{font-size:10px;color:#77958a;margin:27px 0 0;line-height:1.8}
.about{background:radial-gradient(ellipse at 10% 20%,#192d2b55,transparent 62%),#0b1114;color:var(--ink)}.about .eyebrow{color:#8eaaa0;font-size:10px}.about h2{font-size:clamp(42px,6.3vw,106px)}.about h2 em{color:#698c83}.about-body{font-size:15px;color:#a3bbb2;gap:4vw}.disciplines{border-color:#46685b5e}.disciplines>span{color:#688b7e}.disciplines strong{color:#c5d9cd;font-size:18px}.disciplines small{font:9px Consolas,"Courier New",monospace;color:#748f81}.profile-slot{color:#789788}.profile-name{color:#c7ded0;font-size:22px}.contact{background:radial-gradient(ellipse at 75% 70%,#1b40342b,transparent 58%)}.contact h2{font-size:clamp(65px,10.3vw,172px);font-weight:400}.contact h2 em{color:#9cbcaf}.contact-bottom>p{font-size:16px;color:#a2b9ac}.contact-bottom>span{font-size:12px;color:#708e7e}footer{border-color:#425f513b}footer p,footer>a:last-child{font-size:10px}.scroll-progress{height:2px;background:#84bea8}.motion-toggle{background:#0e1a17bd;color:#a8c4b5;border-color:#83aa9333;backdrop-filter:blur(14px);font-size:10px;padding:10px 14px}
#project-dialog{border-color:#66877655;background:#080f12;border-radius:3px}.dialog-shell{padding:22px}.dialog-story{padding:43px 18px 25px}.dialog-story h2{font-weight:400}.dialog-description{font-size:15px;color:#bdcfc5}.dialog-media{background:#060b0e}.dialog-media>video{background:#030605}.close-dialog,.close-certificate{color:#acccc0}.award-small{color:#a8d2bf}.media-note{background:#07130bd9;border-color:#a3c7b225}.reel-dialog-caption h2{font-size:29px}.reel-placeholder{background:#061111aa}.reel-placeholder .eyebrow{color:#a3d4bd}.reel-placeholder strong{font-weight:400}.reveal{transform:translateY(24px);transition:opacity 700ms var(--ease-out),transform 700ms var(--ease-out)}.project-card .project-image{clip-path:inset(0 0 0 0);transition:clip-path 900ms var(--ease-out)}.project-card.reveal:not(.visible) .project-image{clip-path:inset(10% 0 10% 0)}.lab-card.reveal{transition-delay:50ms}.lab-card:nth-child(3).reveal{transition-delay:100ms}.hero-copy h1>span{animation-duration:1300ms}.hero-copy h1>span:nth-child(2){animation-delay:100ms}
button:active,.lab-enter:active{transform:scale(.98)}.project-open:active{transform:scale(.995)}.reel-stage:active{transform:scale(.998)}
@media(hover:hover) and (pointer:fine){nav a:hover{color:#e1f7eb;background:#a4eadc0c}.reel-stage:hover .reel-play{background:#d8efe2;color:#142a20;box-shadow:0 0 0 10px #b3edd809}.lab-card:hover{border-color:#8dc3a68c;background:#101c18}.lab-card:hover .lab-art img{transform:scale(1.025)}.lab-card:hover .lab-enter{transform:translateY(-3px);background:#254b37e6}.round-link:hover .mini-cross{background:#d6ecdd}.project-open:hover .poster{transform:scale(1.018)}}
.motion-paused .project-card .project-image,.motion-paused .lab-art img,.motion-paused .lab-enter{transition:none}.motion-paused .lab-card:hover .lab-art img{transform:none}
@media(prefers-reduced-motion:reduce){.project-card.reveal:not(.visible) .project-image{clip-path:none}.lab-card:hover .lab-art img,.lab-card:hover .lab-enter{transform:none}.reveal{transform:none}}
/* One continuous model occupies the page's background, across every chapter. */
body{isolation:isolate}.world-stage{position:fixed;inset:0;z-index:-2;pointer-events:none;background:#070b0e}.world-stage #hero-canvas{height:100%;width:100%}.world-stage .scene-fallback{z-index:-1;background-position:70% center}.hero{background:transparent}.hero:after{background:linear-gradient(90deg,#050b0e36,transparent 70%),linear-gradient(0deg,#070b0e77,transparent 18%)}.chapter-strip{background:#070e119c}.reel{background:linear-gradient(90deg,#070b0ecc,#070b0e6b 75%,#070b0e33)}.works{background:linear-gradient(90deg,#070b0ef0 0%,#070b0ecc 65%,#070b0e40 100%)}.lab{background:linear-gradient(100deg,#071014ef,#0a1d1a99 76%,#0a131744)}.about{background:linear-gradient(90deg,#0a1114f5 10%,#0b1514bd 67%,#09131033)}.contact{background:linear-gradient(90deg,#070b0ed4,#070b0e66 65%,transparent)}footer{background:#070b0e85}.lab-grid{grid-template-columns:1fr 1fr}.lab-card:first-child{grid-row:auto;grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr}.lab-card:first-child .lab-art{min-height:0;height:100%;aspect-ratio:2.1;flex:none}.lab-card:first-child .lab-info{display:flex;flex-direction:column;justify-content:center;padding:35px 40px;gap:18px}.lab-card:first-child .lab-number{display:none}.lab-card:first-child .lab-info h3{font-size:38px}.lab-card:first-child .lab-tags{margin-top:8px}.lab-art{height:auto;aspect-ratio:2.1}.lab-art img{object-fit:contain}.lab-card:first-child .lab-art img{object-fit:cover}.lab-info{padding:25px 28px}.lab-enter{background:#0b1a16e6}.lab-image-tag{top:12px;left:12px;font-size:8px;padding:6px 8px;opacity:.9}
/* Keep the large reveal surface steady on press; the inner play control carries feedback. */
.reel-stage:active{transform:none}
/* Work remains the focus; the sculpture stays visible in the space around it. */
.lab-card{background:#091215}.lab-intro p{text-shadow:0 2px 10px #041011,0 0 22px #041011}
.hero-coordinate{display:none}.story-marker{position:fixed;right:var(--gutter);top:126px;z-index:8;text-align:right;pointer-events:none;color:#aec1cd;text-shadow:0 1px 14px #020910;display:flex;flex-direction:column;gap:11px}.story-marker-title{font:9px Consolas,"Courier New",monospace;letter-spacing:.12em}.story-marker-copy{font-size:10px;letter-spacing:.08em;color:#7e9aab}body:has(dialog[open]) .story-marker{visibility:hidden}
.hero-topline>span:last-child{display:none}
/* Leave the unfolding film visible beside the reel, in the same visual axis. */
.reel-stage{width:68%}.reel-caption{width:68%;gap:20px}.reel-bottom>strong{font-size:clamp(48px,5.8vw,94px)}.reel-bottom>strong>span{font-size:8px}.reel-duration{font-size:21px}.reel-duration small{font-size:8px}.reel-top{font-size:9px}.reel-top>span:last-child{font-size:9px}.reel-play{width:94px;height:94px}
.reel{background:linear-gradient(90deg,#070b0ed9,#070b0e99 55%,#070b0e12 76%,transparent)}.lab{background:linear-gradient(100deg,#071014ed,#0a1d1a33 76%,#0a131711)}
.reel-heading{max-width:68%;flex-wrap:wrap;gap:21px}.reel-heading h2{width:100%;order:3}.reel-heading .eyebrow,.reel-heading>p:last-child{margin:0}
