*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#e9e8e1;color:#171816;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ef5132;outline-offset:6px}::selection{background:#ef5132;color:white}header{position:absolute;z-index:10;top:0;left:0;width:100%;padding:27px 3.5%;display:flex;align-items:center;justify-content:space-between}.brand{font-size:42px;letter-spacing:-5px;font-weight:900}.brand span{font-size:13px;vertical-align:top;letter-spacing:0;margin-left:7px}.header-note,.tiny,.eyebrow,.section-bar,.portrait-caption,.footer-bottom,.archive-note,.project-meta{font-family:'Courier New',monospace;font-size:11px;letter-spacing:.06em;line-height:1.5}nav{display:flex;align-items:center;gap:28px;font-size:13px}nav sup{font-size:9px;color:#777}nav button{border:1px solid #b8b8ad;border-radius:30px;padding:9px 13px;background:transparent;font-size:11px}.journey{height:270vh}.stage{height:100vh;min-height:650px;position:sticky;top:0;overflow:hidden}.hero-copy{position:absolute;inset:170px 3.5% 0;z-index:2;pointer-events:none;transform-origin:50% 25%}.eyebrow{margin-bottom:25px}h1{font-size:clamp(60px,9.8vw,158px);line-height:.86;letter-spacing:-.075em;font-weight:600;margin:0}h1 span{-webkit-text-stroke:1px #171816;color:transparent}i{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1 i{letter-spacing:-.075em}.hero-bottom{display:flex;justify-content:space-between;width:43%;align-items:center;margin-top:35px}.hero-bottom p{font-size:15px;line-height:1.5}.round-link{pointer-events:auto;display:flex;gap:17px;align-items:center;font-size:12px}.round-link span{border:1px solid #777;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:22px}.portal{position:absolute;top:53%;left:56%;width:37%;height:35%;background:#191e1d;color:#eee;overflow:hidden;transform-origin:center;will-change:transform;box-shadow:0 12px 35px #0002}.orb{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 26%,#facd84 0%,#c8683a 24%,#673c2a 48%,#151d1b 69%);right:-10%;top:-16%;box-shadow:-25px 15px 70px #cd654a44;animation:float 9s ease-in-out infinite}.portal-lines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#0002 4px 5px);mix-blend-mode:overlay}.portal-title{position:absolute;bottom:22%;left:7%;font-size:clamp(23px,3.4vw,55px);font-weight:600;line-height:.92;letter-spacing:-.05em}.portal-title span{display:inline-block;margin-left:15px;color:#ee8760}.top-label{position:absolute;top:8%;left:7%;font-size:8px}.bottom-label{position:absolute;bottom:7%;left:7%;font-size:8px}.scroll-cue{position:absolute;left:3.5%;bottom:35px;font:10px 'Courier New';letter-spacing:.12em}.scroll-cue span{margin-left:30px}.work{background:#141614;color:#e8e8df;padding:35px 5% 90px;position:relative}.section-bar{display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:17px;gap:15px}.work-heading{display:flex;justify-content:space-between;align-items:end;padding:80px 0 60px}h2{font-weight:500;font-size:clamp(46px,6vw,90px);line-height:.98;letter-spacing:-.055em;margin:0}.work-heading p{font-size:13px;line-height:1.6;color:#b1b5ad}.projects{display:grid;grid-template-columns:1fr 1fr;gap:75px 30px}.project:nth-child(even){transform:translateY(90px)}.project{border:0;background:none;padding:0;text-align:left;display:block;width:100%}.screen{aspect-ratio:16/10;background:#292b28;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.screen::before,.viewer-screen::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#0002 4px 5px);z-index:2;pointer-events:none}.shape{width:58%;aspect-ratio:1;border-radius:50%;box-shadow:inset -25px -30px 35px #0009,20px 20px 60px #0005;transition:transform .8s cubic-bezier(.2,.8,.2,1);background:radial-gradient(circle at 30% 25%,#fbc7a1,#ac5630 40%,#32241c 75%)}.amber{background:#553b28}.blue{background:#132c38}.blue .shape{background:repeating-linear-gradient(30deg,#aacbc8 0 3px,#234e62 4px 12px);border-radius:2%;transform:rotate(-28deg);width:45%}.red{background:#592422}.red .shape{background:radial-gradient(circle at 35% 20%,#ff9764,#b73d25 45%,#340d15);border-radius:42% 58% 64% 36%}.green{background:#303a2e}.green .shape{background:repeating-radial-gradient(ellipse at center,#b1b99c 0 2px,#394e39 3px 12px);border-radius:3%;transform:rotate(18deg)}.silver{background:#303532}.silver .shape{background:conic-gradient(from 30deg,#777,#e8e4d3,#353d39,#c9cdbe,#777);border-radius:50%;width:48%;outline:15px solid #1f2622}.violet{background:#2c293d}.violet .shape{background:radial-gradient(ellipse at 25% 20%,#c1b9ee,#6d6497 35%,#272734 73%);border-radius:48% 24% 53% 36%;transform:rotate(25deg)}.project:hover .shape{transform:rotate(8deg) scale(1.12)}.screen-label{position:absolute;top:18px;left:20px;font:10px 'Courier New';letter-spacing:.1em;z-index:3}.screen-number{position:absolute;right:20px;bottom:15px;font-size:70px;letter-spacing:-.08em;opacity:.45}.play{position:absolute;border:1px solid #fff9;border-radius:50%;height:54px;width:54px;display:grid;place-items:center;font-size:20px;backdrop-filter:blur(8px);z-index:3}.project-meta{display:flex;justify-content:space-between;margin-top:14px;gap:10px;color:#aaa}.project h3{font-weight:400;font-size:25px;letter-spacing:-.04em;margin:8px 0}.archive-note{display:flex;justify-content:space-between;border-top:1px solid #fff3;margin-top:165px;padding-top:20px;color:#aaa}.about{background:#f2f1ea;padding:55px 5% 90px}.about .section-bar,footer .section-bar{border-color:#17181640}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:100px 0 65px;align-items:center}.portrait-wrap{max-width:480px}.portrait{width:100%;aspect-ratio:1;background-image:url('assets/portrait-grid.png');background-size:300% 300%;background-position:50% 50%;mix-blend-mode:multiply;image-rendering:auto}.portrait-caption{display:flex;justify-content:space-between;margin-top:20px;font-size:10px}.bio h2{font-size:clamp(40px,5vw,75px);margin-bottom:35px}.bio p{font-size:17px;line-height:1.6;max-width:440px}.disciplines{margin-top:35px;display:flex;flex-wrap:wrap;gap:10px}.disciplines span{padding:8px 12px;border:1px solid #bbbcb2;border-radius:30px;font-size:11px}.contact-sheet{border-top:1px solid #aaa;padding-top:18px}.contact-sheet summary{cursor:pointer;font-size:13px;list-style:none;display:flex;justify-content:space-between}.contact-sheet img{display:block;width:min(650px,100%);margin:35px auto;mix-blend-mode:multiply}footer{padding:40px 5% 30px;background:#e76846}footer h2{font-size:clamp(45px,8vw,125px);margin:80px 0;max-width:1100px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-bottom a{border-bottom:1px solid}.skip{position:fixed;top:-100px;left:20px;z-index:50;background:white;padding:15px}.skip:focus{top:10px}dialog{padding:60px 24px 24px;border:1px solid #ffffff40;background:#171b18;color:#eee;width:min(950px,92vw);max-height:90vh}dialog::backdrop{background:#000c;backdrop-filter:blur(10px)}#close{position:absolute;right:20px;top:15px;background:none;border:0;padding:8px}.viewer-screen{aspect-ratio:16/9;position:relative;display:flex;gap:20px;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#485247,#202720);font:12px 'Courier New';letter-spacing:.12em}.play-symbol{font-size:70px;opacity:.5}.viewer-copy{padding:25px 0 0}.viewer-copy h2{font-size:35px}.viewer-copy p{color:#bbb;font-size:14px}.viewer-screen video,.viewer-screen iframe{width:100%;height:100%;border:0}.still .journey{height:100vh}.still .hero-copy{transform:none!important;opacity:1!important}.still .portal{transform:none!important}.still .orb{animation:none}.still *{scroll-behavior:auto!important;transition:none!important}@keyframes float{50%{transform:translate(-5%,6%) rotate(10deg)}}
@media(max-width:700px){header{padding:20px 6%}.brand{font-size:32px}.header-note{display:none}nav{gap:15px;font-size:12px}.journey{height:190vh}.stage{min-height:640px}.hero-copy{inset:145px 6% 0}h1{font-size:13.8vw;line-height:.98}.eyebrow{font-size:9px}.hero-bottom{width:100%;margin-top:20px}.hero-bottom p{font-size:13px}.portal{left:14%;top:60%;width:72%;height:27%}.portal-title{font-size:30px}.scroll-cue{left:6%;bottom:25px}.section-bar{font-size:8px}.work-heading{padding:55px 0 35px;display:block}.work-heading p{margin-top:25px}.projects{grid-template-columns:1fr;gap:35px}.project:nth-child(even){transform:none}.archive-note{margin-top:50px;font-size:8px}.about-grid{grid-template-columns:1fr;gap:60px;padding:55px 0}.portrait-wrap{width:80%;margin:auto}.footer-bottom{flex-direction:column;align-items:start;font-size:10px}footer h2{margin:60px 0}.screen{aspect-ratio:16/10}.bio h2{font-size:50px}.about .section-bar span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orb{animation:none}.project .shape{transition:none}}
.cursor-lens{position:fixed;left:0;top:0;z-index:100;pointer-events:none;opacity:0;mix-blend-mode:difference;will-change:transform}.cursor-lens::before{content:'';position:absolute;width:28px;height:28px;left:-14px;top:-14px;border:1px solid #fff;border-radius:50%;transition:width .2s,height .2s,left .2s,top .2s,background .2s}.cursor-lens span{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font:10px 'Courier New',monospace;letter-spacing:.04em;color:#000}.cursor-lens.is-link::before{width:48px;height:48px;left:-24px;top:-24px;background:#fff}.cursor-lens.is-project::before{width:72px;height:72px;left:-36px;top:-36px}.cursor-active .cursor-lens{opacity:1}@media(hover:hover) and (pointer:fine){body.cursor-active,body.cursor-active a,body.cursor-active button,body.cursor-active summary{cursor:none}body:has(dialog[open]) .cursor-lens{opacity:0}body.cursor-active dialog,body.cursor-active dialog button{cursor:auto}}@media(max-width:700px){nav{gap:10px}nav button{padding:8px;font-size:10px}}

/* Edit 01 — annual video portal, desktop first. */
body{background:#080909}header{color:#eee}nav button{border-color:#ffffff50}.journey{height:310vh;background:#141614}.stage{min-height:0;background:#080909;opacity:var(--stage-opacity,1)}.flight-scene{position:absolute;inset:0;display:grid;place-items:center;opacity:var(--scene-opacity,1);transform:scale(var(--flight-scale,1));filter:blur(var(--flight-blur,0px));will-change:transform,filter,opacity}.intro-frame,.flight-echo{width:min(62vh,48vw);aspect-ratio:1;border-radius:11%;grid-area:1/1}.intro-frame{position:relative;z-index:2;background:#f5f4ef;border:1px solid #fff;box-shadow:0 0 4px 2px #ffffffc0,0 0 18px #ffffff38,inset 0 0 20px #0000000c;color:#171816;padding:32px;text-align:left;overflow:hidden}.intro-caption{position:absolute;left:7%;right:7%;bottom:7%;display:flex;justify-content:space-between;font:11px 'Courier New',monospace;letter-spacing:.12em}.intro-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:48px;font-weight:normal;opacity:.45}.flight-echo{pointer-events:none;border:3px solid #f5f4ef;opacity:var(--echo-opacity,0);box-shadow:0 0 24px #fff8;z-index:1}.echo-one{transform:scale(1.12);filter:blur(5px)}.echo-two{transform:scale(1.3);filter:blur(10px)}.echo-three{transform:scale(1.6);filter:blur(18px)}.scroll-cue{color:#eee;left:50%;transform:translateX(-50%);bottom:5vh;white-space:nowrap}.work{margin-top:-1px}.still .journey{height:100vh}.still .flight-scene{transform:none!important;filter:none!important;opacity:1!important}.still .stage{opacity:1!important}.still .flight-echo{display:none}@media(max-width:700px){.intro-frame,.flight-echo{width:min(72vw,58vh)}.intro-frame{padding:20px}.intro-caption{font-size:9px}.journey{height:250vh}.still .journey{height:100vh}}
.journey{position:relative;z-index:2;pointer-events:none}.intro-frame{pointer-events:auto}.work{margin-top:-100vh;z-index:1}.still .work{margin-top:0}
.journey{background:transparent}

/* Keep the flight on small composited surfaces; no viewport-sized blur pass. */
.flight-scene{transform:none;filter:none;will-change:opacity;contain:layout style}
.intro-frame{transform:translateZ(0) scale(var(--flight-scale,1));will-change:transform;backface-visibility:hidden}
.flight-echo{filter:none;box-shadow:0 0 16px 8px #f5f4ef40,0 0 38px 18px #f5f4ef18;will-change:transform,opacity}
.echo-one{transform:translateZ(0) scale(calc(var(--flight-scale,1) * 1.08))}
.echo-two{transform:translateZ(0) scale(calc(var(--flight-scale,1) * 1.2))}
.echo-three{display:none}.play{backdrop-filter:none;background:#ffffff0a}
.still .intro-frame{transform:none!important}

/* Restore the original warm introductory palette. */
body{background:#e9e8e1}header{color:#171816}nav button{border-color:#b8b8ad}.stage{background:#e9e8e1}.scroll-cue{color:#171816}

/* Camera flight: bounded cards travel through perspective, no animated filters. */
.stage{isolation:isolate;background:transparent;perspective:850px}
.stage::before{content:'';position:absolute;inset:0;background:#e9e8e1;opacity:calc(1 - var(--portal-open,0));z-index:-1}
.stage::after{content:'';position:absolute;inset:0;background:#141614;opacity:var(--portal-open,0);z-index:-2}
.flight-scene{z-index:2}.intro-frame{transition:none}.flight-echo{border-color:#f5f4ef;box-shadow:0 0 16px 8px #f5f4ef40}
.flight-tunnel{position:absolute;inset:0;perspective:850px;overflow:hidden;opacity:0;will-change:transform,opacity;pointer-events:none}
.flight-card{position:absolute;left:50%;top:50%;width:310px;height:210px;aspect-ratio:auto;border-radius:14px;backface-visibility:hidden;will-change:transform,opacity;box-shadow:0 12px 40px #0003}
.flight-card .shape{width:55%;box-shadow:inset -15px -15px 25px #0006}.flight-card::before{display:none}.flight-title{position:absolute;bottom:15px;left:18px;font:11px 'Courier New',monospace;color:#fff;letter-spacing:.08em}
.speed-lines{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:var(--speed,0);z-index:3}.speed-lines i{position:absolute;left:50%;top:50%;height:1px;width:65vmax;transform-origin:0 50%;transform:rotate(var(--angle));background:linear-gradient(90deg,transparent 25%,#e9e8e100 38%,#e9e8e15c 90%,transparent)}
.scroll-cue{z-index:4}.still .flight-tunnel,.still .speed-lines{display:none}.still .intro-frame{opacity:1!important}.still .stage::before{opacity:1}.still .stage::after{opacity:0}

/* Soft pink portal: pre-softened gradients move as a single bounded layer. */
.stage{perspective:none}.intro-frame{background:#f2cdd5;border-color:#f4d9df;box-shadow:0 0 9px 3px #f2cdd580,0 0 28px #f2cdd548;color:#69434e}
.intro-caption{inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:10%;font-family:Arial,Helvetica,sans-serif;font-size:clamp(28px,4.2vw,68px);font-weight:600;line-height:.95;letter-spacing:-.065em;text-align:center;filter:blur(var(--label-blur,0px));will-change:filter}
.intro-caption span{position:absolute;bottom:8%;font:12px 'Courier New',monospace;letter-spacing:.16em}.intro-play{display:none}.flight-echo{display:none}
.portal-mist{position:absolute;inset:-8%;z-index:5;pointer-events:none;opacity:var(--mist-opacity,0);transform:translateZ(0) scale(var(--mist-scale,1));background:radial-gradient(ellipse at 50% 48%,#f2d3da 0%,#efd2d9fa 18%,#eed6dce8 36%,#e9dedbb8 55%,#e9e8e145 76%,transparent 94%);will-change:transform,opacity}
.still .portal-mist{display:none}.still .intro-caption{filter:none}
/* Graphic title inspired by wide, heavy editorial wordmarks. */
.intro-frame{background:#090909;border-color:#111;box-shadow:none;color:#f2cdd5}
.intro-caption{padding:9%;filter:blur(var(--label-blur,0px))}
.intro-wordmark{display:block;width:100%;font-family:Arial Black,Arial,Helvetica,sans-serif;font-weight:1000;font-style:normal;text-align:left;line-height:.82;letter-spacing:-.07em}
.intro-caption .wordmark-top,.intro-caption .wordmark-bottom{position:static;display:flex;font-family:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit}
.intro-caption .wordmark-top{font-size:clamp(44px,7.6vw,112px);align-items:center;gap:.055em}
.wordmark-top i{display:block;flex:1;height:.64em;min-width:20px;background:linear-gradient(to bottom,#f2cdd5 0 26%,transparent 26% 37%,#f2cdd5 37% 63%,transparent 63% 74%,#f2cdd5 74% 100%)}
.intro-caption .wordmark-bottom{font-size:clamp(18px,3.05vw,46px);margin-top:.16em;letter-spacing:-.065em;justify-content:space-between}
.intro-caption .intro-year{position:absolute;bottom:8%;font:11px 'Courier New',monospace;letter-spacing:.16em}
/* The extended E is a letter, with a shared stem and three connected arms. */
.intro-caption .wordmark-top{gap:0;align-items:center;font-size:clamp(44px,7.6vw,112px);line-height:.82}
.intro-caption .wordmark-vid,.intro-caption .wordmark-o{position:static;display:block;font:inherit;letter-spacing:-.065em;line-height:inherit;flex:none}
.intro-caption .wordmark-e{position:relative;display:block;flex:1;align-self:center;height:.69em;min-width:.5em;margin:0 .035em 0 .045em;background:linear-gradient(to right,#f2cdd5 0 .13em,transparent .13em),linear-gradient(to bottom,#f2cdd5 0 23%,transparent 23% 38.5%,#f2cdd5 38.5% 61.5%,transparent 61.5% 77%,#f2cdd5 77% 100%);bottom:auto;font:inherit;letter-spacing:inherit}
.intro-caption .wordmark-bottom{font-size:clamp(18px,3.05vw,46px);letter-spacing:-.045em;margin-top:.28em}
/* Directional typographic trails, confined to the title. */
.focus-wordmark{display:flex;flex-direction:column;align-items:center;width:100%;color:#f2cdd5;font-family:Arial,Helvetica,sans-serif}
.intro-caption .focus-title{position:relative;bottom:auto;display:block;font-family:Arial,Helvetica,sans-serif;font-size:clamp(64px,11vw,154px);font-weight:750;line-height:1;letter-spacing:-.065em;isolation:isolate}
.focus-title::before,.focus-title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;z-index:-1;filter:blur(2px);font:inherit;letter-spacing:inherit;color:inherit}
.focus-title::before{transform:translateX(-.12em) scaleX(1.16);opacity:.48;text-shadow:-.06em 0 3px #f2cdd580,-.14em 0 5px #f2cdd550;mask-image:linear-gradient(90deg,#000,transparent 48%)}
.focus-title::after{transform:translateX(.13em) scaleX(1.16);opacity:.48;text-shadow:.07em 0 3px #f2cdd580,.15em 0 5px #f2cdd550;mask-image:linear-gradient(90deg,transparent 48%,#000)}
.intro-caption .focus-subtitle{position:static;font:10px 'Courier New',monospace;letter-spacing:.3em;margin-top:20px;opacity:.8}
/* Feather the full trail silhouette, including top and bottom edges. */
.focus-title::before,.focus-title::after{inset:-.25em -.38em;padding:.25em .38em;filter:blur(5px);background:none}
.focus-title::before{mask-image:radial-gradient(ellipse 48% 44% at 28% 50%,#000 12%,#0009 42%,transparent 78%);transform:translateX(-.10em) scaleX(1.18);text-shadow:-.07em 0 5px #f2cdd580,-.16em 0 10px #f2cdd540}
.focus-title::after{mask-image:radial-gradient(ellipse 48% 44% at 72% 50%,#000 12%,#0009 42%,transparent 78%);transform:translateX(.11em) scaleX(1.18);text-shadow:.07em 0 5px #f2cdd580,.16em 0 10px #f2cdd540}

/* Floating collection chooser, inspired by translucent UI and cutting-mat grids. */
[hidden]{display:none!important}.worlds{position:relative;z-index:1;margin-top:-100vh;min-height:100vh;padding:65px 7% 42px;background:radial-gradient(ellipse at 50% 40%,#cbd5c9,#a9b9ae 65%,#9eaea4);color:#233e35;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.worlds-heading{text-align:center;margin-bottom:48px}.worlds-heading .eyebrow{display:block;margin-bottom:18px}.worlds-heading h2{font-size:clamp(40px,4.5vw,70px)}.world-options{display:grid;grid-template-columns:1fr 1fr;gap:6%;max-width:1050px;width:100%;margin:0 auto;perspective:1200px}.world-window{display:block;position:relative;text-align:left;padding:0;border:1px solid #ffffffaa;border-radius:20px;background:linear-gradient(130deg,#ffffff40,#ffffff0c);color:#234237;box-shadow:0 24px 50px #213c3220,inset 0 1px 0 #fff9;overflow:hidden;animation:window-hover 7s ease-in-out infinite;transition:box-shadow .25s,border-color .25s}.world-window:nth-child(2){animation-delay:-3.5s}.world-window:hover{border-color:#fff;box-shadow:0 28px 65px #213c3233,inset 0 1px 0 #fff}.window-bar{display:flex;justify-content:space-between;padding:17px 21px;border-bottom:1px solid #ffffff70;font:10px 'Courier New',monospace;letter-spacing:.06em}.window-art{display:grid;place-items:center;height:190px;margin:18px;border:1px solid #ffffff70;border-radius:8px;background-color:#236c5d35;background-image:linear-gradient(#ffffff30 1px,transparent 1px),linear-gradient(90deg,#ffffff30 1px,transparent 1px);background-size:18px 18px;overflow:hidden}.ai-art span{display:block;width:115px;height:115px;border-radius:45% 55% 65% 35%;background:radial-gradient(circle at 30% 25%,#f6dbe2,#c694a7 40%,#477b6a 85%);box-shadow:14px 16px 25px #244f4233;transform:rotate(-20deg)}.film-art span{display:block;width:145px;height:90px;border:10px solid #e6eee4bb;border-left-width:18px;border-right-width:18px;box-shadow:12px 12px 0 #33594b44;background:linear-gradient(145deg,#9eb9a4,#355c4e);transform:rotate(-7deg)}.window-bottom{display:flex;flex-direction:column;gap:12px;padding:4px 25px 25px}.window-bottom strong{font-size:clamp(28px,3.2vw,48px);font-weight:500;letter-spacing:-.06em}.window-bottom>span{font:9px 'Courier New',monospace;letter-spacing:.07em}.window-bottom .window-enter{margin-top:18px;padding-top:15px;border-top:1px solid #ffffff80;display:block}.worlds-foot{text-align:center;font:9px 'Courier New',monospace;letter-spacing:.13em;margin-top:46px}.work{margin-top:0}.back-worlds{background:none;border:1px solid #ffffff50;color:#eee;border-radius:30px;padding:11px 18px;margin:0 0 28px;font-size:12px}.world-transition{position:fixed;inset:-10%;z-index:200;pointer-events:none;opacity:0;background:radial-gradient(ellipse,#efd6dc 8%,#d7ddd3 55%,#b8c7bb 95%)}.window-ghost{position:fixed;z-index:199;animation:none!important;pointer-events:none;will-change:transform,opacity}.still .worlds{margin-top:0}.still .world-window{animation:none}@keyframes window-hover{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(.6deg)}}@media(prefers-reduced-motion:reduce){.world-window{animation:none}}@media(max-width:700px){.world-options{gap:20px;grid-template-columns:1fr}.worlds{padding:45px 8%}.window-art{height:130px}.worlds-heading{margin-bottom:30px}}
/* Cutting mat backdrop with floating clear glass panels. */
.worlds{background-color:#096d63;background-image:linear-gradient(#d9eee287 1px,transparent 1px),linear-gradient(90deg,#d9eee287 1px,transparent 1px),linear-gradient(#d9eee233 1px,transparent 1px),linear-gradient(90deg,#d9eee233 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px;background-position:center;color:#f2f2df;border:14px solid #096d63;box-shadow:inset 0 0 0 1px #d9eee2aa}
.worlds::before{content:'CUTTING MAT / VISUAL WORKSPACE                                      NO. 2026';position:absolute;top:12px;left:22px;right:22px;padding:6px 9px;background:#096d63;font:italic bold 12px Arial, sans-serif;letter-spacing:.08em;color:#e2efda}
.worlds::after{content:'0    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17    18    19    20    21    22    23    24    25    26    27    28    29    30    31    32    33    34    35    36    37    38    39    40';position:absolute;bottom:5px;left:8px;right:8px;white-space:nowrap;overflow:hidden;font:9px 'Courier New',monospace;color:#d9eee2}
.worlds-heading{position:relative;background:#096d63eb;align-self:center;padding:15px 26px;border-radius:5px}.worlds-heading h2{font-size:clamp(36px,4vw,60px)}.world-options{gap:8%;max-width:1000px}
.world-window{background:linear-gradient(125deg,#ffffff20,#ffffff06 55%,#ffffff10);border:1px solid #ffffff66;color:#f6f3e9;box-shadow:0 25px 45px #002d2833,inset 0 1px 0 #ffffff70;backdrop-filter:blur(1.5px);border-radius:19px}
.world-window:hover{background:linear-gradient(125deg,#ffffff28,#ffffff0c 55%,#ffffff18);box-shadow:0 25px 45px #002d2844,inset 0 1px 0 #ffffff90}
.window-bar{border-bottom-color:#ffffff30}.window-art{background:none;border:0;height:145px;margin:20px 24px;place-items:start;align-items:center;overflow:visible}.ai-art span{width:100px;height:100px;opacity:.9}.film-art span{width:125px;height:80px;opacity:.85}.window-bottom{padding:5px 25px 25px}.window-bottom strong{font-size:clamp(28px,3vw,44px)}.window-bottom .window-enter{border-color:#ffffff50}.worlds-foot{background:#096d63e8;align-self:center;padding:10px 16px;border-radius:4px}
@keyframes window-hover{0%,100%{transform:translateY(0) rotateY(-7deg) rotateZ(-1deg)}50%{transform:translateY(-12px) rotateY(-4deg) rotateZ(.5deg)}}

/* Minimal collection choice on a quiet warm backdrop. */
.worlds{background:#e9e8e1;background-image:radial-gradient(ellipse at 18% 60%,#e2cfd14d,transparent 50%),radial-gradient(ellipse at 85% 20%,#c9d0c45c,transparent 55%);border:0;box-shadow:none;color:#353b36;padding:70px 8%;scroll-margin-top:-90px}.worlds::before,.worlds::after{display:none}.world-options{max-width:960px;gap:7%}.world-window{background:linear-gradient(135deg,#ffffff45,#ffffff12);backdrop-filter:none;border:1px solid #ffffffdc;color:#454b46;box-shadow:0 20px 35px #353e3610,inset 0 1px 0 #fff;min-height:360px}.world-window:hover{background:linear-gradient(135deg,#ffffff65,#ffffff25);box-shadow:0 24px 40px #353e3618}.window-art{height:180px;margin:25px 28px 10px;place-items:center}.window-bottom{padding:20px 30px 32px}.window-bottom strong{font-size:clamp(30px,3.4vw,49px);line-height:1.02;font-weight:500}.software-icons{display:grid;grid-template-columns:repeat(2,65px);gap:18px;transform:rotate(-6deg)}.software{width:65px;height:65px;border:1px solid #60696142;border-radius:15px;display:grid;place-items:center;background:#ffffff28;box-shadow:0 6px 12px #3441390a;color:#59645d}.software.adobe{font:500 29px Arial,sans-serif;letter-spacing:-.04em}.software svg{width:40px;height:40px}.software:last-child svg{width:25px;height:39px}.tools-art{overflow:visible}.work>.section-bar{display:none}.work-heading{padding-top:35px}.project h3{margin-top:16px}
/* Floating desktop windows over a contrasting sculptural background. */
.worlds{background:#173d36;background-image:radial-gradient(ellipse at 12% 85%,#527969 0,transparent 50%),linear-gradient(125deg,#102f2c,#31584b);isolation:isolate}
.worlds::before{content:'';display:block;position:absolute;z-index:-1;width:85vw;height:28vw;min-height:220px;left:-20vw;top:22%;border-radius:50%;background:linear-gradient(160deg,#f8e3e5,#dea6b7 60%,#a77892);transform:rotate(-35deg);box-shadow:inset 0 15px 35px #ffffff40,0 50px 75px #061e2938;padding:0}
.worlds::after{content:'';display:block;position:absolute;z-index:-1;width:60vw;height:60vw;left:auto;right:-30vw;top:-30vw;bottom:auto;border-radius:50%;border:9vw solid #becbad;background:transparent;box-shadow:inset 15px 15px 40px #071d2733,12px 25px 50px #071d2726}
.world-options{position:relative;z-index:1}.world-window{border-radius:13px;border:1px solid #ffffff80;background:linear-gradient(120deg,#ffffff25,#ffffff0b);color:#fff5f3;backdrop-filter:blur(3px);box-shadow:0 22px 50px #001c233d,inset 0 1px 0 #ffffff70;min-height:390px}.world-window:hover{background:linear-gradient(120deg,#ffffff30,#ffffff12);box-shadow:0 28px 60px #001c2350,inset 0 1px 0 #ffffff90}
.desktop-titlebar{display:flex;height:37px;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #ffffff40;background:#ffffff12}.desktop-appmark{width:12px;height:12px;border:1px solid #ffffffa0;border-radius:2px;box-shadow:3px 3px 0 #ffffff20}.desktop-controls{display:flex;align-items:center;gap:20px;color:#fff9}.desktop-controls i{font:16px Arial,sans-serif;font-style:normal}.window-art{height:180px;margin-top:18px}.window-bottom strong{text-shadow:0 1px 12px #10332a40}.software{border-color:#ffffff70;background:#ffffff17;color:#fff3ee;box-shadow:0 5px 15px #10332a1a}.ai-art span{box-shadow:14px 16px 25px #14372c30}
/* Brand-inspired colors for the creative tool icons. */
.software.adobe{background:#00005b;color:#9999ff;border-color:#9999ff99;font-weight:600}.software.adobe:nth-child(2){background:#00005b;color:#c5a4ff;border-color:#b499ff99}.software:nth-child(3){background:#172b36e8;border-color:#b4cbd57a}.software:nth-child(4){background:#f4f2efeb;border-color:#ffffffb0}.software:nth-child(4) svg path{fill:#f24e1e}.software:nth-child(4) svg rect{fill:#ff7262}.software:nth-child(4) svg circle{fill:#1abcfe}
/* Oversized typographic backdrop seen through the glass. */
.worlds::before,.worlds::after{display:none}.worlds{background:radial-gradient(ellipse at 50% 90%,#416755,#163b34 70%)}.worlds-wordmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font-family:Arial Black,Arial,Helvetica,sans-serif;font-weight:1000;font-size:15.4vw;line-height:.85;letter-spacing:-.085em;color:#efbfd0;pointer-events:none;z-index:0}.world-window{background:linear-gradient(120deg,#ffffff19,#ffffff06);backdrop-filter:blur(2px)}.window-bottom strong{text-shadow:0 2px 14px #102e27aa}
/* Experience ticker: fields of work rather than unprovided client names. */
.experience-marquee{overflow:hidden;margin:75px -5.56% 65px;padding:18px 0}.experience-track{display:flex;width:max-content;animation:experience-travel 32s linear infinite}.experience-track>div{display:flex;align-items:center;gap:48px;padding-right:48px;flex-shrink:0}.experience-track span{font-size:clamp(40px,6.5vw,100px);font-weight:700;letter-spacing:-.06em;white-space:nowrap;line-height:1.1}.experience-track i{font:normal 42px Georgia,serif;opacity:.65}.experience-marquee:hover .experience-track{animation-play-state:running}.still .experience-track{animation:none}@keyframes experience-travel{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.experience-track{animation:none}}
/* Clear convex cursor lens, with no inner arrow or label. */
.cursor-lens{mix-blend-mode:normal}.cursor-lens span{display:none}.cursor-lens::before{border:1px solid #ffffff9c;background:linear-gradient(135deg,#ffffff32,transparent 43%,#ffffff08 70%,#ffffff24);box-shadow:inset 1px 2px 3px #ffffff75,inset -1px -2px 3px #00000020,0 1px 4px #00000015;backdrop-filter:contrast(1.06) saturate(1.08);transition:width .22s,height .22s,left .22s,top .22s,box-shadow .22s}.cursor-lens.is-link::before,.cursor-lens.is-project::before{width:64px;height:64px;left:-32px;top:-32px;background:radial-gradient(ellipse at 30% 18%,#ffffff65,transparent 40%),radial-gradient(ellipse at 65% 85%,#ffffff25,transparent 55%);border-color:#ffffffb0;box-shadow:inset 2px 3px 5px #ffffff85,inset -2px -3px 5px #00000025,0 3px 9px #00000019;backdrop-filter:contrast(1.15) saturate(1.2) brightness(1.07)}
/* Restrained optical cursor: no glossy bubble highlights. */
.cursor-lens::before{background:transparent;border:1px solid #77777780;box-shadow:none;backdrop-filter:none}.cursor-lens.is-link::before,.cursor-lens.is-project::before{width:52px;height:52px;left:-26px;top:-26px;background:#ffffff04;border:1px solid #88888870;box-shadow:none;backdrop-filter:contrast(1.08) saturate(1.06)}

/* Hide native pointers consistently after custom pointer activation. */
@media(hover:hover) and (pointer:fine){html:has(body.cursor-active),body.cursor-active,body.cursor-active *{cursor:none!important}body.cursor-active:has(dialog[open]) .cursor-lens{opacity:1}}
/* Quiet archival footage beneath the original warm paper tone. */
.archive-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(.8) brightness(1.1);opacity:.24;pointer-events:none;z-index:0}.archive-wash{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#e9e8e17a,#e9e8e14d 45%,#e9e8e1a8);box-shadow:inset 0 0 140px #e9e8e1a0}.stage .flight-scene{z-index:2}.stage .scroll-cue{z-index:4}.still .archive-background{display:none}
/* Full-screen introduction with a single-gesture entry. */
.journey{height:200vh}.intro-frame{width:100%;height:100%;aspect-ratio:auto;border-radius:0;border:0;background:#080909d9;box-shadow:none;padding:0}.intro-caption{padding:12%;}.intro-caption .focus-title{font-size:clamp(100px,19vw,290px)}.intro-caption .focus-subtitle{font-size:12px;letter-spacing:.4em;margin-top:30px}.intro-caption .intro-year{bottom:12%}.archive-background{opacity:.45}.archive-wash{background:#e9e8e126;box-shadow:none}header{color:#f2cdd5}nav button{border-color:#f2cdd560}.stage .scroll-cue{color:#f2cdd5}.still .journey{height:100vh}
/* Project galleries as translucent projection panels. */
.work{isolation:isolate;background:#173d36;background-image:radial-gradient(ellipse at 0% 18%,#d7a7bb32,transparent 32%),radial-gradient(ellipse at 100% 55%,#adc8a438,transparent 36%),linear-gradient(150deg,#12352f,#244b41);color:#f4e9e7;padding:45px 6% 100px}.work-heading{padding:25px 0 55px}.work-heading h2{font-size:clamp(42px,6vw,84px)}.projects{gap:65px 38px;align-items:start}.project{position:relative;padding:13px 13px 20px;border:1px solid #ffffff58;border-radius:17px;background:linear-gradient(125deg,#ffffff19,#ffffff05 65%,#ffffff0d);box-shadow:0 18px 36px #001c2526,inset 0 1px 0 #ffffff50;transition:transform .35s ease,background .35s ease,box-shadow .35s ease;overflow:hidden}.project:nth-child(even){transform:translateY(65px)}.project:hover{transform:translateY(-7px);background:linear-gradient(125deg,#ffffff26,#ffffff0a);box-shadow:0 27px 44px #001c2538,inset 0 1px 0 #ffffff70}.project:nth-child(even):hover{transform:translateY(58px)}.project .screen{border-radius:9px;border:1px solid #ffffff25;background:#ffffff05;aspect-ratio:16/10}.project .screen::before{background:linear-gradient(135deg,#ffffff0d,transparent 45%);opacity:.6}.project .shape{opacity:.65;box-shadow:inset -20px -25px 35px #0005,15px 18px 32px #0002}.project .play{width:46px;height:46px;background:#ffffff0b;border-color:#ffffff65;color:#f6e5eb}.project h3{font-size:23px;letter-spacing:-.04em;margin:19px 10px 0;color:#f4e9e7;font-weight:400}.project .silver .shape{outline-color:#ffffff1a}.back-worlds{border-color:#ffffff50;background:#ffffff08;color:#f1e6e8}.work .projects{padding-bottom:65px}@media(max-width:700px){.projects{gap:25px}.project:nth-child(even){transform:none}.project:nth-child(even):hover{transform:translateY(-7px)}.work .projects{padding-bottom:0}}
/* Focused cinema window, framed in dark glass. */
#viewer{width:min(1120px,92vw);max-height:90vh;padding:54px 16px 0;border:1px solid #e4f0e357;border-radius:18px;background:linear-gradient(140deg,#243b36f5,#101c1afc);box-shadow:0 35px 100px #0008,inset 0 1px 0 #ffffff35;overflow:auto;color:#f1e7e8;animation:cinema-open .25s ease-out}#viewer::before{content:'';position:absolute;top:23px;left:21px;width:7px;height:7px;border-radius:50%;background:#efbfd0;box-shadow:15px 0 0 #efbfd050,30px 0 0 #efbfd025}#viewer::backdrop{background:#081611c9;backdrop-filter:blur(5px)}#close{top:9px;right:13px;width:34px;height:34px;padding:0;border:1px solid #ffffff30;border-radius:50%;color:#f1d4df;font-size:24px;line-height:1;background:#ffffff06}#close:hover{background:#efbfd020;border-color:#efbfd080}.viewer-screen{border:1px solid #ffffff20;border-radius:9px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#32483f,#111c19 80%);aspect-ratio:16/9;letter-spacing:.18em}.viewer-screen::before{display:none}.viewer-screen video,.viewer-screen iframe{display:block;object-fit:contain;background:#070b09}.viewer-screen .play-symbol{font-size:52px;color:#efbfd0;opacity:.65}.viewer-copy{padding:22px 9px 25px;display:flex;align-items:baseline;justify-content:space-between;gap:28px}.viewer-copy h2{font-size:clamp(23px,3vw,38px);letter-spacing:-.045em;line-height:1.1}.viewer-copy p{font-size:12px;line-height:1.6;color:#b6c4b9;max-width:370px;margin:0}.viewer-copy p:empty{display:none}.still #viewer{animation:none}@keyframes cinema-open{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){#viewer{animation:none}}@media(max-width:700px){.viewer-copy{display:block}.viewer-copy p{margin-top:12px}}
