@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600&display=swap');
:root{--paper:#ecece8;--ink:#20221d;--grey:#777970;--line:#c9cbc2;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}body{margin:0}body[data-page="work"]{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,.stage:focus-visible{outline:1px solid var(--ink);outline-offset:7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:110px;padding:0 4%;position:absolute;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.site-header>*{pointer-events:auto}.wordmark{font-size:25px;letter-spacing:-1.15px;font-weight:550;display:flex;align-items:center;gap:13px}.brand-dot{display:block;width:7px;height:7px;border-radius:50%;background:var(--ink)}nav{display:flex;gap:42px;align-items:center;font-size:15px}nav a{padding:10px 0;position:relative}nav a:after{content:'';position:absolute;bottom:4px;left:0;height:1px;background:var(--ink);width:100%;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}nav a:hover:after,nav a[aria-current]:after{transform:scaleX(1)}.nav-arrow{margin-left:5px}.back-link{display:flex;gap:15px;font-size:18px;align-items:center}.back-link span{font-size:14px}.work-page{height:100svh;min-height:580px;position:relative;isolation:isolate}.gallery{position:absolute;inset:100px 0 112px}.stage{position:absolute;inset:0;cursor:grab;touch-action:pan-y;overflow:hidden;perspective:1500px}.stage.dragging{cursor:grabbing}.stage:focus-visible{outline-offset:-18px}.world{width:100%;height:100%;transform-style:preserve-3d;will-change:transform}.track{width:100%;height:100%;transform-style:preserve-3d}.panel{position:absolute;left:50%;top:50%;width:clamp(300px,35vw,640px);height:clamp(280px,48vh,570px);padding:0;transform-style:preserve-3d;will-change:transform;user-select:none;cursor:inherit;opacity:0;animation:panel-in 1.2s var(--ease) .1s forwards}.panel-face{position:absolute;inset:0;box-shadow:18px 28px 40px #1c271b14;overflow:hidden;background:#a0a98e;transform:translateZ(0);transition:box-shadow .6s}.panel:hover .panel-face{box-shadow:25px 40px 55px #1c271b25}.panel .art{height:100%;width:100%}.art{height:100%;width:100%;overflow:hidden;position:relative;background:#adb49c}.art img{height:100%;width:100%;object-fit:cover;display:block;pointer-events:none;user-select:none}.panel-gloss{position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,#fff0 20%,#fff2 55%,#fff0 80%);mix-blend-mode:soft-light;opacity:0;transition:opacity .4s}.panel:hover .panel-gloss{opacity:1}.art-1{background:#d2c2b8}.art-1 img{display:none}.orb{position:absolute;border-radius:50%;width:58%;aspect-ratio:1;left:21%;top:16%;background:radial-gradient(circle at 31% 25%,#fff4dc,#d8ad8c 38%,#805347 68%,#34251e);box-shadow:23px 42px 50px #412c2833,inset -12px -10px 20px #30131033}.orb:after{content:'';position:absolute;inset:37% 0 31%;border-top:1px solid #fff6;border-bottom:1px solid #4d30252a;border-radius:50%;transform:rotate(-25deg)}.art-2{background:#102b30}.art-2 img{filter:hue-rotate(125deg) saturate(.6) brightness(.65);transform:rotate(90deg) scale(1.35)}.art-3{background:#b6b6ad}.art-3 img{filter:grayscale(1) contrast(1.25);transform:rotate(-25deg) scale(1.3)}.gallery-footer{position:absolute;left:4%;right:4%;bottom:36px;z-index:10;display:flex;justify-content:space-between;align-items:end;pointer-events:none}.gallery-footer>*{pointer-events:auto}.project-label{display:flex;flex-direction:column;gap:10px;min-width:240px}.project-number{font-size:11px;font-variant-numeric:tabular-nums;color:var(--grey)}.project-name{display:flex;align-items:center;gap:25px;font-size:25px;letter-spacing:-.7px;width:max-content}.project-name>span{font-size:20px;transition:transform .35s var(--ease)}.project-name:hover>span{transform:translate(4px,-4px)}.gallery-hint{font-size:12px;color:var(--grey);position:absolute;left:50%;bottom:8px;transform:translateX(-50%);transition:opacity .4s}.gallery-controls{display:flex;gap:40px;align-items:center}.step-controls{display:flex;gap:22px}.step-controls button{font-size:24px;width:32px;height:42px;padding:0}.view-toggle{display:flex;align-items:center;gap:16px}.view-toggle button{padding:8px;opacity:.35;transition:opacity .3s,transform .3s}.view-toggle button:hover,.view-toggle button[aria-pressed="true"]{opacity:1}.view-toggle svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round}.concept-note{position:absolute;left:4%;top:110px;font-size:10px;color:var(--grey);opacity:.7;z-index:3}.index-view{padding:40px 4% 100px;display:grid;grid-template-columns:1fr 1fr;gap:44px 24px}.index-view[hidden]{display:none}.index-card{display:block}.index-card .art{height:auto;aspect-ratio:1.5;transition:clip-path .8s var(--ease);clip-path:inset(0)}.index-card .art img{transition:transform 1s var(--ease)}.index-card:hover .art{clip-path:inset(7px)}.index-card:hover .art-0 img{transform:scale(1.045)}.index-caption{display:flex;justify-content:space-between;margin-top:13px;align-items:center}.index-caption h2{font-size:19px;font-weight:400;letter-spacing:-.5px;margin:0}.index-caption>span{font-size:18px}.index-mode .stage{visibility:hidden;pointer-events:none}.index-mode{overflow:auto!important}.index-mode .work-page{height:auto;min-height:100svh}.index-mode .gallery{position:relative;inset:auto;padding-top:115px}.index-mode .gallery-footer{position:fixed;background:linear-gradient(0deg,var(--paper) 65%,#ecece800);padding-top:30px;padding-bottom:25px;bottom:0;left:0;right:0;padding-left:4%;padding-right:4%;align-items:center}.index-mode .project-label,.index-mode .gallery-hint,.index-mode .step-controls,.index-mode .concept-note{display:none}.index-mode .gallery-controls{margin-left:auto}.pointer{position:fixed;top:0;left:0;width:62px;height:62px;z-index:100;border:1px solid #f5f5eb99;border-radius:50%;background:#ecece80f;backdrop-filter:blur(8px);color:white;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .25s;will-change:transform}.pointer span{font-size:22px}.identity-page,.contact-page{min-height:100svh;position:relative;overflow:hidden;padding:170px 7% 75px;display:flex;align-items:flex-end}.identity-heading{position:relative;z-index:2}.identity-heading h1{font-size:clamp(100px,14.6vw,240px);font-weight:400;line-height:.86;letter-spacing:-.075em;margin:0}.identity-heading h1 span{display:block}.profession{font-size:20px;font-weight:400;margin:40px 0 0;letter-spacing:-.4px}.page-next{position:absolute;right:4%;bottom:45px;display:flex;gap:50px;align-items:center;font-size:23px}.page-next span{font-size:14px}.about-object{position:absolute;top:28%;right:14%;width:26vw;height:30vw;perspective:800px;transform-style:preserve-3d;pointer-events:none;will-change:transform}.object-orbit{position:absolute;width:90%;height:90%;left:5%;top:5%;border:1px solid #b5b9ad;border-radius:50%;backface-visibility:visible}.orbit-a{transform:rotateY(55deg) rotateX(20deg);animation:orbit-a 28s linear infinite}.orbit-b{transform:rotateY(-55deg) rotateX(20deg);animation:orbit-b 32s linear infinite}.orbit-c{transform:rotateX(70deg) rotateZ(-25deg);animation:orbit-c 35s linear infinite}.contact-page{align-items:center}.contact-heading{width:100%;padding-top:70px}.contact-heading h1{font-size:clamp(75px,13.5vw,230px);font-weight:400;letter-spacing:-.075em;line-height:1;margin:0 0 90px;display:flex;align-items:center;justify-content:space-between}.contact-arrow{font-size:.8em;display:inline-block;will-change:transform}.contact-line{display:flex;justify-content:space-between;max-width:600px;border-top:1px solid var(--line);padding-top:21px;font-size:17px}.unavailable{color:var(--grey)}.page-signature{position:absolute;left:4%;bottom:44px;font-size:13px;color:var(--grey)}.project-page{padding:160px 4% 60px;min-height:100svh}.project-top{display:flex;align-items:end;justify-content:space-between;padding-bottom:35px}.project-top h1{font-size:clamp(50px,7vw,110px);font-weight:400;letter-spacing:-.065em;margin:0;line-height:1}.project-top>span{font-size:12px;color:var(--grey);padding-bottom:5px}.project-art{height:70svh;min-height:400px;overflow:hidden;view-transition-name:project-image}.project-art>.art{height:100%}.next-project{display:flex;justify-content:space-between;align-items:center;padding-top:65px;font-size:35px}.next-project>span:first-child{font-size:13px;color:var(--grey)}.next-project strong{font-size:clamp(28px,5vw,70px);font-weight:400;letter-spacing:-.05em;margin-left:auto;margin-right:60px}.page-leaving{animation:page-out .28s ease both}.page-arriving{animation:page-in .7s var(--ease) both}.panel-instant{animation:none;opacity:1}.project-label.changing .project-name{animation:label-in .4s var(--ease)}@keyframes label-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes panel-in{to{opacity:1}}@keyframes page-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes page-out{to{opacity:0;transform:translateY(-10px)}}@keyframes orbit-a{to{transform:rotateY(415deg) rotateX(20deg)}}@keyframes orbit-b{to{transform:rotateY(305deg) rotateX(20deg)}}@keyframes orbit-c{to{transform:rotateX(70deg) rotateZ(335deg)}}
@media(max-width:750px){.site-header{height:85px;padding:0 6%}.wordmark{font-size:21px;gap:9px}.brand-dot{width:5px;height:5px}nav{font-size:12px;gap:21px}.nav-arrow{display:none}.back-link{gap:10px;font-size:20px}.back-link span{font-size:12px}.work-page{min-height:530px}.gallery{inset:100px 0 150px}.panel{width:70vw;height:49vh;max-height:420px;min-height:250px}.gallery-footer{left:6%;right:6%;bottom:30px}.project-label{min-width:0;gap:12px}.project-name{font-size:21px;gap:18px}.project-number{font-size:10px}.gallery-hint{bottom:84px;font-size:10px;width:max-content}.gallery-controls{gap:20px;align-items:end}.step-controls{gap:10px}.step-controls button{width:24px;font-size:21px;height:32px}.view-toggle{gap:7px}.view-toggle button{padding:5px}.view-toggle svg{width:17px;height:17px}.concept-note{left:6%;top:102px;font-size:9px}.index-view{padding:25px 6% 100px;grid-template-columns:1fr;gap:34px}.index-mode .gallery{padding-top:90px}.index-caption h2{font-size:18px}.identity-page,.contact-page{padding:140px 7% 100px;min-height:100svh}.identity-heading h1{font-size:27vw}.profession{font-size:17px;margin-top:32px}.about-object{width:42vw;height:46vw;right:9%;top:22%}.page-next{bottom:35px;right:6%;gap:25px}.page-next span{font-size:13px}.contact-heading{padding:0}.contact-heading h1{font-size:19vw;letter-spacing:-.07em;margin-bottom:65px}.contact-line{font-size:15px;padding-top:18px}.page-signature{left:7%;bottom:35px;font-size:12px}.project-page{padding:140px 6% 40px}.project-top{display:block;padding-bottom:25px}.project-top h1{font-size:13vw;margin-bottom:20px}.project-top>span{font-size:10px}.project-art{height:55svh;min-height:300px}.next-project{padding-top:40px;font-size:22px}.next-project strong{margin-right:25px}.pointer{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.panel{opacity:1}.pointer{display:none}}
@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .25s both}::view-transition-new(root){animation:page-in .55s var(--ease) both}::view-transition-group(project-image){animation-duration:.7s;animation-timing-function:var(--ease)}
/* Project edges fade before their loop position wraps. */
.stage{mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
.panel{animation:none;opacity:1}.panel-face{cursor:pointer}
body[data-page="about"] .identity-page{align-items:center;padding-top:150px;padding-bottom:120px}
.identity-heading{width:100%}
.identity-heading h1{font-size:clamp(65px,9.5vw,155px);line-height:1;white-space:nowrap;letter-spacing:-.065em}
.identity-info{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:65px;max-width:1040px}
.profession{font-size:21px;margin:0;letter-spacing:-.4px}
.location{font-size:14px;color:var(--grey);margin:12px 0 0;line-height:1.5}
.biography{max-width:460px;font-size:17px;line-height:1.65;letter-spacing:-.15px}
.biography p{margin:0 0 20px}.biography .bio-thanks{font-size:13px;color:var(--grey);margin-top:26px;margin-bottom:0}
.about-object{width:17vw;height:18vw;right:10%;top:15%;opacity:.5;z-index:-1}
.contact-heading h1{font-size:clamp(65px,9.5vw,155px);margin-bottom:65px}
.contact-links{width:min(100%,650px)}
.contact-line{max-width:none;padding:20px 0;font-size:16px;gap:20px}
.contact-line:last-child{border-bottom:1px solid var(--line)}
.contact-value{position:relative;text-align:right;overflow-wrap:anywhere}
.contact-value:hover{text-decoration:underline;text-underline-offset:5px}
.unavailable{font-size:13px;align-self:center}
@media(max-width:750px){
 .stage{mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
 body[data-page="about"] .identity-page{padding:160px 7% 120px;align-items:center}
 .identity-heading h1{font-size:14.5vw;letter-spacing:-.065em}
 .identity-info{grid-template-columns:1fr;gap:38px;margin-top:38px}
 .profession{font-size:19px}.location{font-size:12px;margin-top:8px}
 .biography{font-size:15px;line-height:1.65;max-width:430px}.biography p{margin-bottom:17px}
 .biography .bio-thanks{font-size:12px;margin-top:21px}
 .about-object{width:24vw;height:26vw;top:15%;right:10%;opacity:.4}
 .contact-heading h1{font-size:16vw;margin-bottom:50px}
 .contact-line{font-size:14px;padding:19px 0}.unavailable{font-size:12px}
}
/* Two-part home: full-screen reel, then the spatial work gallery. */
html{scroll-behavior:smooth;scroll-snap-type:y proximity}
body[data-page="work"]{overflow-x:hidden;overflow-y:auto}
body[data-page="work"] .site-header{position:fixed;transition:color .5s,background .5s}
.reel{position:relative;height:100svh;min-height:580px;overflow:hidden;background:#1a211b;color:#ecece8;scroll-snap-align:start}
.reel-poster{position:absolute;inset:-8%;overflow:hidden;background:#17201c}
.reel-poster img{width:100%;height:100%;object-fit:cover;filter:brightness(.6) saturate(.65);animation:reel-drift 24s ease-in-out infinite alternate;transform:scale(1.1)}
#showreel{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}
.film-ready #showreel{opacity:1}.film-ready .reel-poster{opacity:0;transition:opacity 1s}
.reel-shade{position:absolute;inset:0;background:linear-gradient(180deg,#050c0730,transparent 35%,#07100980);pointer-events:none}
.reel-bottom{position:absolute;left:4%;right:4%;bottom:45px;display:flex;align-items:end;justify-content:space-between}
.reel-bottom h1{font-size:clamp(60px,8vw,145px);font-weight:400;letter-spacing:-.07em;line-height:1;margin:0}
.reel-down{position:absolute;left:50%;bottom:0;font-size:35px;transform:translateX(-50%);padding:15px}
#reelStatus{font-size:11px;letter-spacing:.025em;opacity:.65;margin-bottom:10px}#reelPause{position:absolute;right:0;bottom:40px;color:inherit;font-size:12px}
.on-reel .site-header{color:#f2f2e9}.on-reel .brand-dot{background:currentColor}.on-reel nav a:after{background:currentColor}
.work-page{height:100svh;min-height:580px;scroll-snap-align:start;scroll-margin-top:0}
.gallery{inset:115px 0 115px}.stage{perspective:1600px;mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}
.world,.track{pointer-events:none}.panel{pointer-events:auto;width:clamp(260px,29vw,530px);height:clamp(290px,48vh,560px)}
.panel-face,.panel-face *{pointer-events:none}.panel{cursor:pointer}.dragging .panel{cursor:grabbing}
.side-arrows{position:absolute;inset:0 2%;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:20}
.side-arrows button{pointer-events:auto;width:48px;height:64px;font-size:31px;background:#ecece8aa;backdrop-filter:blur(10px);border-radius:50%;transition:background .3s}
.side-arrows button:hover{background:#ecece8}.gallery-controls .step-controls{display:none}
.index-mode .side-arrows{display:none}.index-mode .gallery-footer{position:absolute;padding-top:0;background:none;bottom:0}.index-mode .gallery{padding-top:115px}.index-mode .reel{display:block}
.art-4{background:#c3b7ce}.art-4 img{filter:hue-rotate(220deg) saturate(.55);transform:rotate(32deg) scale(1.15)}
@keyframes reel-drift{from{transform:scale(1.1) translate(-1%,1%) rotate(-3deg)}to{transform:scale(1.3) translate(2%,-2%) rotate(4deg)}}
@media(max-width:750px){.reel{min-height:530px}.reel-bottom{left:6%;right:6%;bottom:36px;align-items:start}.reel-bottom h1{font-size:13vw}.reel-down{bottom:80px;font-size:28px}#reelStatus{position:absolute;right:0;bottom:65px;font-size:9px}.panel{width:58vw;height:43vh;min-height:260px;max-height:420px}.gallery{inset:115px 0 130px}.side-arrows{inset:0 1%}.side-arrows button{width:34px;height:47px;font-size:25px}.stage{mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.gallery-controls{gap:0}.index-mode .gallery{padding-top:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reel-poster img{animation:none}}
/* All-project composition: no clipping masks, edge fading, blur or carousel. */
.stage{mask-image:none!important;-webkit-mask-image:none!important;perspective:1800px;overflow:visible}
.gallery{overflow:hidden;inset:105px 0 110px}.panel{filter:none;animation:none}
.panel-face{overflow:hidden;box-shadow:14px 24px 35px #1c271b15}
.hover-project-name{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:55px 22px 22px;background:linear-gradient(transparent,#111a138a);color:#fff;font-size:clamp(14px,1.5vw,24px);letter-spacing:-.5px;opacity:0;transform:translateY(10px);transition:opacity .35s,transform .5s var(--ease);pointer-events:none}
.is-spotlit .hover-project-name{opacity:1;transform:none}
.is-spotlit .panel-face{box-shadow:20px 35px 50px #1c271b30}
.gallery-footer{align-items:center;height:42px}.gallery-controls{margin-left:auto}
.gallery-hint{bottom:12px}.side-arrows{display:none}
@media(max-width:750px){.gallery{inset:105px 0 110px}.hover-project-name{font-size:12px;padding:30px 10px 13px;letter-spacing:-.2px}.gallery-hint{bottom:12px;font-size:10px}.stage{perspective:1200px}}
/* Long-lens projection: distant vanishing point, retained artwork ratios. */
.stage{perspective:40000px!important;perspective-origin:50% 50%}
.panel{transform-style:preserve-3d}.panel-face{overflow:hidden}
.hover-project-name{inset:auto 0 calc(100% + 15px);padding:0 2px;background:none;color:var(--ink);font-size:clamp(12px,1.2vw,19px);text-shadow:none;transform:translateY(6px);line-height:1.3;white-space:nowrap}
.is-spotlit .hover-project-name{transform:none}.index-card .art{aspect-ratio:var(--project-ratio,1.333)}
/* Fade the reel as the next scene arrives. White begins at exactly 25%. */
.reel{background:#fff;color:#000;--reel-fade:1;--reel-shift:0px;--reel-scale:1}
.reel-poster,#showreel{opacity:var(--reel-fade);transform:translateY(var(--reel-shift)) scale(var(--reel-scale));transform-origin:50% 0;will-change:transform,opacity}
.reel-poster img{filter:saturate(.65)}
#showreel{opacity:0}.film-ready #showreel{opacity:var(--reel-fade)}.film-ready .reel-poster{opacity:0}
.reel-shade{background:linear-gradient(to bottom,rgba(255,255,255,0) 25%,rgba(255,255,255,.18) 44%,rgba(255,255,255,.62) 72%,#fff 100%)}
.reel-bottom{color:#000;opacity:var(--reel-fade);transform:translateY(var(--reel-shift));will-change:opacity,transform}
.on-reel .site-header{color:#20221d}.on-reel nav a:after{background:#20221d}
#reelStatus{color:#35392e}.reel-down{color:#20221d}.reel{isolation:isolate}
.latest-section{padding:100px 6% 110px;scroll-snap-align:start}
.latest-heading{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin-bottom:35px}
.latest-heading>span{font-size:13px;color:var(--grey)}.latest-heading h2{font-weight:400;font-size:clamp(35px,5vw,76px);line-height:1;letter-spacing:-.055em;margin:0}
.latest-link{display:block}.latest-art{width:100%;overflow:hidden}.latest-art .art{width:100%;height:100%;min-height:0}.latest-art .art img{transition:transform 1.2s var(--ease)}.latest-link:hover .art-4 img{transform:rotate(32deg) scale(1.2)}
.latest-caption{display:flex;justify-content:space-between;font-size:13px;margin-top:18px}.latest-caption>span{font-size:23px}
.home-info{padding:110px 6% 35px;display:grid;grid-template-columns:1fr 1fr;gap:70px 50px;scroll-snap-align:start;background:#e4e5de}
.info-title h2{font-weight:400;font-size:clamp(40px,5vw,78px);letter-spacing:-.06em;margin:0 0 22px;line-height:1}.info-title>span{font-size:16px}
.info-text{max-width:490px}.info-text p{font-size:clamp(23px,2.5vw,38px);letter-spacing:-.035em;line-height:1.25;margin:0 0 35px}.info-text>a{font-size:14px;border-bottom:1px solid;padding-bottom:5px}
.info-bottom{grid-column:1/-1;border-top:1px solid #c8cbbf;padding-top:25px;display:flex;justify-content:space-between;font-size:12px;color:#5d6355;gap:25px}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s var(--ease),transform 1.2s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
.project-art{min-height:0!important}.project-art>.art{position:absolute;inset:0}.project-art{position:relative}
@media(max-width:750px){.stage{perspective:25000px!important}.hover-project-name{inset:auto 0 calc(100% + 11px);font-size:10px;padding:0}.latest-section{padding:75px 6%}.latest-heading{display:block;margin-bottom:24px}.latest-heading>span{font-size:11px}.latest-heading h2{margin-top:20px;font-size:39px}.latest-caption{font-size:12px}.home-info{grid-template-columns:1fr;padding:75px 6% 30px;gap:40px}.info-title h2{font-size:47px}.info-title>span{font-size:14px}.info-text p{font-size:27px}.info-bottom{font-size:10px;gap:15px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

.panel{min-height:0!important;max-height:none!important;min-width:0!important}
.latest-section{scroll-margin-top:85px}
body[data-page="work"]:not(.on-reel) .site-header{background:linear-gradient(var(--paper) 50%,#ecece800)}
/* Free native scrolling, with entrance reveals instead of snap points. */
html{scroll-snap-type:none!important}.reel,.work-page,.latest-section,.home-info{scroll-snap-align:none!important;scroll-snap-stop:normal!important}
nav{font-size:17px;gap:42px}
.concept-note{font-size:12px;opacity:.8}.gallery-hint{font-size:14px}
.latest-heading>span{font-size:15px}.latest-caption{font-size:15px}
#reelStatus{font-size:13px}.info-bottom{font-size:14px}.info-text>a{font-size:16px}
.reel-bottom .hero-greeting{display:flex;flex-direction:column;gap:12px;font-size:clamp(32px,4.2vw,72px);line-height:1.08;letter-spacing:-.055em;animation:greeting-in 1.1s var(--ease) both}
.hero-greeting>span:first-child{font-size:1.25em}.hero-greeting>span:last-child{white-space:nowrap}
.reel-down{left:auto;right:0;bottom:72px;transform:none;padding:10px}
.info-text .copyright-copy{font-size:clamp(25px,3vw,43px);line-height:1.2;letter-spacing:-.04em}
.contact-channel{display:flex;align-items:center;gap:15px;flex-shrink:0}
.contact-channel svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.6;display:block;transition:transform .35s var(--ease)}
.contact-channel:hover svg{transform:translateY(-3px)}.contact-channel:hover span{text-decoration:underline;text-underline-offset:5px}
.contact-channel .behance-icon{width:28px;margin-left:-2px;margin-right:-2px}
.contact-line{align-items:center}.contact-value{font-size:15px}
@keyframes greeting-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(max-width:750px){
 nav{font-size:14px;gap:18px}.wordmark{font-size:20px}
 .concept-note{font-size:11px}.gallery-hint{font-size:12px}.latest-heading>span{font-size:13px}.latest-caption{font-size:13px}
 #reelStatus{font-size:11px}.info-bottom{font-size:12px}.info-text>a{font-size:14px}
 .reel-bottom .hero-greeting{font-size:6.3vw;gap:10px;line-height:1.12;letter-spacing:-.05em}
 .hero-greeting>span:first-child{font-size:1.7em}.reel-down{bottom:120px;right:0}
 #reelStatus{bottom:100px}.info-text .copyright-copy{font-size:30px}
 .contact-channel{gap:10px;font-size:14px}.contact-channel svg{width:21px;height:21px}.contact-channel .behance-icon{width:25px}
 .contact-line{gap:12px}.contact-value{font-size:13px}
}
@media(max-width:350px){nav{gap:12px;font-size:13px}.wordmark{font-size:18px}.contact-channel{gap:7px}.contact-value{font-size:11px}}
/* Slightly larger navigation and supporting labels. */
nav{font-size:19px}
.concept-note{font-size:14px}.gallery-hint{font-size:15px}
.latest-heading>span{font-size:17px}.latest-caption{font-size:16px}
#reelStatus{font-size:14px}.info-bottom{font-size:15px}
.reel-bottom{bottom:85px}
.reel-bottom .hero-greeting{font-size:clamp(36px,4.7vw,80px);gap:14px}
@media(max-width:750px){nav{font-size:15px;gap:17px}.concept-note{font-size:12px}.gallery-hint{font-size:13px}.latest-heading>span{font-size:15px}.latest-caption{font-size:14px}#reelStatus{font-size:12px}.info-bottom{font-size:13px}.reel-bottom{bottom:64px}.reel-bottom .hero-greeting{font-size:6.8vw;gap:12px}}
@media(max-width:350px){nav{font-size:14px;gap:11px}.reel-bottom .hero-greeting{font-size:6.7vw}}
/* Home is always available above Back on the subpages. */
.header-home-stack{position:relative;align-self:stretch;display:flex;align-items:center;pointer-events:none}
.header-home-stack .wordmark{pointer-events:auto}
.header-home-stack .back-link{position:absolute;top:calc(50% + 36px);left:0;white-space:nowrap;pointer-events:auto;font-size:18px}
.header-home-stack .back-link span{font-size:14px}
/* Featured art shares the thumbnail's ratio, including portrait formats. */
.latest-link{width:min(100%,calc(72svh * var(--project-ratio,1)));margin-inline:auto}
.latest-art{position:relative;aspect-ratio:var(--project-ratio,1);height:auto}
.latest-art>.art{position:absolute;inset:0;min-height:0}
@media(max-width:750px){.header-home-stack .back-link{top:calc(50% + 30px);font-size:17px}.header-home-stack .back-link span{font-size:12px}.latest-link{width:min(100%,calc(62svh * var(--project-ratio,1)))}}
body:not([data-page="work"]) .site-header{position:fixed;background:linear-gradient(var(--paper) 65%,#ecece800)}
/* Real portfolio imagery is never tinted, transformed or cropped. */
.uploaded-art{background:#e3e4df}
.uploaded-art img{width:100%;height:100%;object-fit:contain;transform:none!important;filter:none!important}
.project-film{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#10120f}
.project-page .project-art:has(.project-film){max-width:100%;background:#10120f}
.project-art{width:min(100%,calc(65svh * var(--project-ratio,1)));margin-inline:auto}

/* A quiet editorial sequence beneath each film. Original frames stay uncropped. */
.project-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:100px auto 80px;max-width:1600px}
.story-frame{margin:0;min-width:0;align-self:center;overflow:hidden}.story-wide{grid-column:1/-1}
.story-frame img{display:block;width:100%;height:auto}.project-story[hidden]{display:none}
@media(max-width:750px){.project-story{gap:8px;margin:60px auto}.story-frame{grid-column:1/-1}}

.project-art[hidden]{display:none!important}.gallery-project .project-story{margin-top:45px;max-width:1100px;gap:55px}.gallery-project .story-frame{max-width:100%;width:min(100%,1100px);margin-inline:auto}@media(max-width:750px){.gallery-project .project-story{gap:28px}}

/* Refined hierarchy and restrained horizontal gallery movement. */
.concept-note{font-size:16px}.gallery-hint{font-size:17px}
.latest-heading>span{font-size:19px}.latest-caption{font-size:18px}
#reelStatus{font-size:16px}.info-bottom{font-size:17px}.info-text>a{font-size:18px}
.reel-bottom{bottom:120px}.reel-bottom .hero-greeting{font-size:clamp(40px,5.2vw,88px)}
.home-info .info-text{justify-self:start;text-align:left;width:100%}.home-info .copyright-copy{text-align:left}
@media(max-width:750px){.concept-note{font-size:14px}.gallery-hint{font-size:15px}.latest-heading>span{font-size:17px}.latest-caption{font-size:16px}#reelStatus{font-size:14px}.info-bottom{font-size:15px}.info-text>a{font-size:16px}.reel-bottom{bottom:90px}.reel-bottom .hero-greeting{font-size:7.2vw}}

.home-info .info-title{grid-column:1/-1}.home-info .info-text{grid-column:1}.home-info{row-gap:38px}

.concept-note{font-size:18px}.gallery-hint{font-size:19px}.latest-heading>span{font-size:21px}.latest-caption{font-size:20px}#reelStatus{font-size:18px}.info-bottom{font-size:19px}.info-text>a{font-size:20px}
.home-info .info-text{grid-column:2;justify-self:end;text-align:right}.home-info .copyright-copy{text-align:right}
@media(max-width:750px){.concept-note{font-size:16px}.gallery-hint{font-size:17px}.latest-heading>span{font-size:19px}.latest-caption{font-size:18px}#reelStatus{font-size:16px}.info-bottom{font-size:17px}.info-text>a{font-size:18px}.home-info .info-text{grid-column:1;justify-self:end}}

/* Align the name and copyright on the same top row. */
.home-info{align-items:start}.home-info .info-title{grid-column:1;grid-row:1}.home-info .info-text{grid-column:2;grid-row:1}.home-info .copyright-copy{margin-top:0}
@media(max-width:750px){.home-info .info-title{grid-column:1;grid-row:auto}.home-info .info-text{grid-column:1;grid-row:auto}}
