@font-face{font-family:Cormorant;src:url('assets/cormorant-latin.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#edede6;--muted:#9a9e9d;--line:rgba(231,234,228,.16);--ink:#101619;--serif:Cormorant,'Times New Roman',serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif;--ease:cubic-bezier(.19,1,.22,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:1px solid var(--paper);outline-offset:7px}button{border:0;background:none}::selection{background:#c4c9c4;color:#172026}[hidden]{display:none!important}h1,h2,p{margin:0}button:disabled{cursor:default}svg{display:block}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:12px;background:var(--paper);color:var(--ink);transform:translateY(-200%)}.skip-link:focus{transform:none}
.header{position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;height:106px;padding:0 4.2%;transition:background .6s,border-color .6s,height .6s;border-bottom:1px solid transparent}.header.scrolled{height:82px;background:rgba(16,22,25,.94);border-color:var(--line);backdrop-filter:blur(14px)}.identity{display:flex;align-items:center;gap:18px}.identity>span{font-size:10px;letter-spacing:.26em;font-weight:400}.mark{width:34px;height:34px;stroke:currentColor;stroke-width:.8;opacity:.8}.desktop-nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:47px}.desktop-nav a{font-size:10px;letter-spacing:.18em;text-transform:uppercase;position:relative;padding:10px 0;color:#e6e7e1}.desktop-nav a::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{transform:scaleX(1)}.desktop-nav a span{margin-left:5px;color:var(--muted)}.header-controls{display:flex;gap:24px;align-items:center}.motion-toggle{width:34px;height:34px;border:1px solid rgba(240,240,233,.3);border-radius:50%;display:grid;place-items:center;transition:border-color .3s}.motion-toggle:hover{border-color:var(--paper)}.pause-icon{width:7px;height:9px;display:block;border-left:1px solid currentColor;border-right:1px solid currentColor;opacity:.75}.motion-paused .pause-icon{width:0;height:0;border:0;border-left:7px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:2px}.menu-toggle{display:none}.mobile-nav{display:none}
.hero{height:100svh;min-height:700px;position:relative;overflow:hidden;background:#252f35;isolation:isolate}.landscape{position:absolute;inset:-2.5%;z-index:-4;transform:translate3d(var(--pan-x,0px),var(--pan-y,0px),0);transition:transform 2.4s var(--ease);will-change:transform}.landscape img{height:100%;width:100%;object-fit:cover;object-position:center 55%;animation:breathe 36s ease-in-out infinite alternate;transform:scale(1.015)}@keyframes breathe{from{transform:scale(1.015)}to{transform:scale(1.055)}}.hero-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(4,11,17,.26) 0%,transparent 55%),linear-gradient(180deg,rgba(6,12,17,.36) 0%,transparent 30%,transparent 70%,rgba(6,12,17,.65) 100%)}.hero-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E")}.hero-title{position:absolute;left:10.5%;top:28%;animation:reveal 1.4s var(--ease) both}.eyebrow{font-size:9px;letter-spacing:.25em;margin-bottom:24px;color:#d5d9d6}.hero h1{font-family:var(--serif);font-size:clamp(82px,8.5vw,142px);font-weight:400;letter-spacing:-.045em;line-height:.86;text-shadow:0 2px 30px rgba(0,0,0,.15)}.hero h1>span{display:inline-block;margin-top:8px}.name-period{font-size:.8em;color:#c2cac9;margin-left:.035em}.hero-bottom{position:absolute;bottom:40px;left:4.2%;right:4.2%;display:flex;align-items:center;justify-content:space-between}.outline-link{display:flex;align-items:center;justify-content:space-between;gap:54px;padding:18px 22px;border:1px solid rgba(237,237,230,.4);font-size:10px;text-transform:uppercase;letter-spacing:.16em;transition:background .3s,border-color .3s}.outline-link:hover{background:rgba(237,237,230,.08);border-color:var(--paper)}.outline-link>span{font-size:18px;line-height:.7}.hero-caption{display:none}.scroll-link{display:flex;align-items:center;gap:17px;text-transform:uppercase;font-size:9px;letter-spacing:.15em;color:#d3d6d4}.scroll-line{height:32px;width:1px;background:rgba(237,237,230,.3);position:relative;overflow:hidden}.scroll-line::after{content:'';position:absolute;width:1px;height:12px;top:0;background:var(--paper);animation:scroll-tick 2.6s ease-in-out infinite}@keyframes scroll-tick{0%{transform:translateY(-12px)}70%,100%{transform:translateY(44px)}}
.scene-points{position:absolute;inset:0;pointer-events:none}.scene-point{position:absolute;display:flex;align-items:center;gap:11px;pointer-events:auto;padding:10px;text-align:left;animation:reveal 1.8s var(--ease) both}.point-editing{left:43%;top:58%;animation-delay:.15s}.point-vfx{left:64%;top:34%;animation-delay:.3s}.point-color{left:78%;top:61%;animation-delay:.45s}.point-camera{left:58%;top:78%;animation-delay:.6s}.point-ring{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(237,237,230,.45);border-radius:50%;transition:transform .5s var(--ease),border-color .3s,background .3s}.point-ring>span{width:3px;height:3px;border-radius:50%;background:#f6f4e9;box-shadow:0 0 9px rgba(237,237,230,.25)}.point-label{font-size:11px;font-weight:400;letter-spacing:.05em;text-shadow:0 1px 14px #111b20;transition:transform .5s var(--ease);color:#f0f1e9}.point-number{display:block;font-size:8px;letter-spacing:.1em;color:#bdc4c4;margin-bottom:4px}.scene-point:hover .point-ring,.scene-point:focus-visible .point-ring{transform:scale(1.3);border-color:var(--paper);background:rgba(237,237,230,.08)}.scene-point:hover .point-label{transform:translateX(5px)}@keyframes reveal{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
.section{padding:100px 8.3%;scroll-margin-top:0}.section-top{display:flex;justify-content:space-between;align-items:center}.section-title{display:flex;align-items:baseline;gap:24px}.section-index{font-size:9px;letter-spacing:.06em;color:var(--muted)}h2{font-family:var(--serif);font-size:clamp(34px,3.4vw,50px);font-weight:400;line-height:1.1;letter-spacing:-.02em}.fine-label{font-size:11px;color:var(--muted)}.work{background:#101619}.filters{display:flex;gap:30px;margin:40px 0 28px;flex-wrap:wrap}.filters button{padding:0 0 9px;font-size:11px;letter-spacing:.03em;color:#959d9f;position:relative;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}.filters button.active,.filters button:hover{color:var(--paper);border-bottom-color:var(--paper)}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:42px 28px}.empty-project{position:relative;grid-column:1/-1;aspect-ratio:2.39;background:#151c20;border:1px solid rgba(237,237,230,.07);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:#879093}.frame-corner{position:absolute;width:17px;height:17px;border-color:#586064;border-style:solid}.tl{top:22px;left:22px;border-width:1px 0 0 1px}.tr{top:22px;right:22px;border-width:1px 1px 0 0}.bl{bottom:22px;left:22px;border-width:0 0 1px 1px}.br{bottom:22px;right:22px;border-width:0 1px 1px 0}.frame-cross{font-size:24px;font-weight:200;color:#687378}.empty-project p{font-size:10px;letter-spacing:.1em}.frame-ratio{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.12em;color:#849093}.project-card{padding:0;text-align:left;display:block;width:100%}.project-cover{aspect-ratio:1.85;background:#1b2326;overflow:hidden;position:relative}.project-cover img{height:100%;width:100%;object-fit:cover;transition:transform 1s var(--ease),opacity .4s}.project-card:hover img{transform:scale(1.035);opacity:.85}.project-info{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:17px}.project-info h3{font:400 26px var(--serif);margin:0}.project-info span{font-size:9px;letter-spacing:.06em;color:var(--muted)}.project-cover-label{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:#889195}.project-play{position:absolute;right:20px;bottom:20px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(237,237,230,.6);font-size:12px}
.about{border-top:1px solid var(--line);padding-bottom:110px;background:#12191c}.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;margin-top:64px}.about-name{font-family:var(--serif);font-size:clamp(35px,4vw,58px);letter-spacing:-.02em}.empty-bio{display:block;font-family:var(--sans);font-size:15px;line-height:1.8;letter-spacing:0;color:var(--muted);margin-top:25px;max-width:470px;white-space:pre-line}.location{font-family:var(--sans);font-size:11px;color:var(--muted);letter-spacing:.05em;margin-top:30px}.disciplines{margin:0;padding:0;list-style:none}.disciplines li{display:flex;align-items:center;gap:28px;padding:18px 0;border-bottom:1px solid var(--line);font-size:16px;font-weight:300;letter-spacing:-.01em}.disciplines li:first-child{padding-top:0}.disciplines li>span{font-size:9px;color:var(--muted);letter-spacing:.05em}.contact{border-top:1px solid var(--line);padding-bottom:35px;background:#0d1316}.contact-main{display:flex;justify-content:space-between;align-items:center;margin-top:45px;min-height:95px}.contact-email{font-family:var(--serif);font-size:clamp(30px,4.4vw,68px);letter-spacing:-.03em;overflow-wrap:anywhere;color:#c5cdca}.contact-email a{border-bottom:1px solid transparent;transition:border-color .3s}.contact-email a:hover{border-bottom-color:var(--paper)}.contact-arrow{font-family:var(--sans);font-weight:200;font-size:58px;color:#7f8d91}.footer-bottom{margin-top:80px;border-top:1px solid var(--line);padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.15em;color:#a3aaa9}.back-top{letter-spacing:.05em;display:flex;gap:20px}.socials{display:flex;gap:25px}.socials a:hover,.back-top:hover{color:var(--paper)}
.project-dialog{border:1px solid var(--line);color:var(--paper);background:#101619;padding:0;width:min(1060px,92vw);max-height:92svh}.project-dialog::backdrop{background:rgba(5,10,12,.88);backdrop-filter:blur(8px)}.dialog-inner{padding:60px 40px 40px}.dialog-close{position:absolute;right:22px;top:17px;font-size:10px;letter-spacing:.1em;display:flex;align-items:center;gap:18px;padding:8px}.dialog-close span{font-size:22px;line-height:10px}.project-dialog h2{margin-top:30px}.project-dialog video,.project-dialog iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#080d0f}.project-dialog img{width:100%;max-height:60vh;object-fit:contain}.project-dialog #project-meta{font-size:11px;color:var(--muted);margin-top:18px}.project-dialog #project-description{font-size:14px;color:#b2bbb9;line-height:1.8;margin-top:25px;white-space:pre-line}.external-watch{display:inline-flex;padding:15px 20px;border:1px solid var(--line);margin-top:20px;font-size:12px}.motion-paused .landscape img,.motion-paused .point-ring::after,.motion-paused .underwater-particles span,.motion-paused .empty-project,.motion-paused .scroll-line::after{animation-play-state:paused!important}.motion-paused .portfolio-panel[open]{animation:none!important}.motion-paused .landscape{transform:none;transition:none}
@media(min-width:1600px){.hero-title{left:12%;top:29%}.hero-bottom{bottom:50px}.header{height:120px}.section{padding-left:12%;padding-right:12%}}
@media(max-width:900px){.header{padding:0 5%;height:88px}.desktop-nav{position:static;transform:none;gap:25px}.identity>span{font-size:9px;letter-spacing:.16em}.identity{gap:12px}.header-controls{gap:16px}.hero{min-height:680px}.hero-title{left:8%;top:30%}.hero h1{font-size:100px}.point-editing{left:43%;top:61%}.point-vfx{left:68%;top:40%}.point-color{left:76%;top:65%}.point-camera{left:54%;top:79%}.hero-bottom{left:5%;right:5%}.section{padding:75px 7%}.about-layout{gap:50px}.footer-bottom{margin-top:65px}.contact{padding-bottom:30px}}
@media(max-width:600px){html{scroll-padding-top:76px}.header{height:76px;padding:0 24px}.header.scrolled{height:70px}.identity>span{font-size:8px;letter-spacing:.16em}.mark{width:28px;height:28px}.desktop-nav{display:none}.motion-toggle{width:30px;height:30px}.menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:30px;height:40px;padding:0;z-index:2}.menu-toggle span{display:block;width:18px;height:1px;background:var(--paper);transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-nav{display:flex;position:absolute;top:100%;left:0;right:0;background:#12191c;padding:22px 28px 30px;border-bottom:1px solid var(--line);flex-direction:column;gap:25px;box-shadow:0 18px 25px rgba(0,0,0,.2)}.mobile-nav a{font:36px var(--serif)}.hero{height:100svh;min-height:680px;max-height:1100px}.landscape{inset:0 -38%;}.landscape img{object-position:80% center}.hero-shade{background:linear-gradient(180deg,rgba(9,17,23,.4),rgba(9,17,23,.1) 55%,rgba(9,17,23,.76))}.hero-title{left:9%;top:23%}.eyebrow{font-size:8px;letter-spacing:.2em;margin-bottom:22px}.hero h1{font-size:92px;line-height:.86}.scene-points{inset:auto 24px 118px;display:grid;grid-template-columns:1fr 1fr;gap:17px 6px}.scene-point{position:static;padding:4px 0;gap:10px}.point-ring{width:25px;height:25px}.point-number{font-size:7px;margin-bottom:3px}.point-label{font-size:10px}.hero-bottom{bottom:32px;left:24px;right:24px}.outline-link{font-size:9px;padding:17px 18px;gap:46px}.scroll-link{font-size:8px;gap:12px}.scroll-line{height:25px}.section{padding:62px 24px}.section-title{gap:18px}h2{font-size:38px}.filters{margin:30px 0 22px;gap:20px}.filters button{font-size:10px;padding-bottom:8px}.empty-project{aspect-ratio:1.6}.work-grid{grid-template-columns:1fr;gap:30px}.frame-corner{width:13px;height:13px}.tl{top:16px;left:16px}.tr{top:16px;right:16px}.bl{bottom:16px;left:16px}.br{bottom:16px;right:16px}.frame-ratio{bottom:18px;font-size:7px}.empty-project p{font-size:9px}.about-layout{grid-template-columns:1fr;gap:45px;margin-top:40px}.about-name{font-size:42px}.empty-bio{margin-top:16px;font-size:14px}.disciplines li{font-size:15px;padding:17px 0}.contact-main{margin-top:25px;min-height:85px}.contact-arrow{font-size:42px}.contact-email{font-size:33px}.footer-bottom{margin-top:40px;font-size:8px;flex-wrap:wrap;row-gap:25px}.footer-bottom .socials:empty{display:none}.contact{padding-bottom:28px}.dialog-inner{padding:58px 20px 28px}.project-info h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.landscape{transform:none!important}}

/* Immersive scene: the existing landscape stays visible during navigation. */
.scene-app{height:100svh;overflow:hidden}.scene-app .hero{height:100svh;min-height:0;max-height:none;touch-action:none;cursor:grab}.scene-app .hero.dragging{cursor:grabbing}.scene-app .hero-title,.scene-app .hero-grain,.scene-app .hero-shade{pointer-events:none}.scene-app .hero-title{user-select:none}.scene-app .landscape{inset:0;transform:none;transition:none}.scene-app .landscape img{animation:none;transform:scale(1.1);object-position:center;will-change:transform}.scene-app .landscape canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s}.scene-app .scene-ready .landscape canvas{opacity:1}.scene-app .scene-ready .landscape img{opacity:0}.scene-app .hero-shade{background:linear-gradient(90deg,rgba(4,11,17,.23),transparent 60%),linear-gradient(180deg,rgba(6,12,17,.28),transparent 28%,transparent 75%,rgba(6,12,17,.5))}.scene-app .hero-title{top:29%;transition:opacity .7s,filter .7s}.scene-app .scene-point{animation:none;transition:opacity .4s;white-space:nowrap;cursor:pointer}.scene-app .point-ring{width:28px;height:28px}.scene-app .point-ring::after{content:'';position:absolute;width:40px;height:40px;border:1px solid rgba(237,237,230,.13);border-radius:50%;animation:point-breathe 4.8s ease-in-out infinite}.scene-app .point-vfx .point-ring::after{animation-delay:-1.2s}.scene-app .point-color .point-ring::after{animation-delay:-2.4s}.scene-app .point-camera .point-ring::after{animation-delay:-3.6s}@keyframes point-breathe{0%,100%{transform:scale(.8);opacity:.3}50%{transform:scale(1.12);opacity:.8}}.scene-app .hero h1:focus{outline:none}.scene-hint{font-size:9px;letter-spacing:.07em;color:#b2bcbd;pointer-events:none}.scene-hint span{margin:0 10px;opacity:.5}.scene-reset{font-size:9px;letter-spacing:.06em;color:#c6cdcb;padding:14px 0 14px 15px}.scene-reset span{margin-left:13px;font-size:17px}.header-controls{gap:20px}.sound-toggle{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.sound-bars{height:13px;display:flex;align-items:center;gap:2px}.sound-bars i{width:1px;height:3px;background:currentColor;opacity:.8}.sound-playing .sound-bars i{animation:sound-meter 1.4s ease-in-out infinite alternate}.sound-playing .sound-bars i:nth-child(2){animation-delay:-.7s}.sound-playing .sound-bars i:nth-child(3){animation-delay:-1.1s}.sound-playing .sound-bars i:nth-child(4){animation-delay:-.4s}@keyframes sound-meter{to{height:12px}}.motion-paused .sound-bars i{animation-play-state:running!important}
.entry-screen{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:linear-gradient(180deg,rgba(9,15,19,.10),rgba(9,15,19,.20) 45%,rgba(9,15,19,.62));color:var(--paper)}.entry-name{margin-top:-60px}.entry-name .eyebrow{font-size:9px;letter-spacing:.3em;margin-bottom:23px}.entry-title{font:400 clamp(64px,8.1vw,132px)/1 var(--serif);letter-spacing:-.045em}.entry-title span{color:#b7c2c3}.entry-actions{position:absolute;bottom:10%;display:flex;align-items:center;flex-direction:column;gap:21px}.entry-button{border:1px solid rgba(237,237,230,.42);padding:21px 29px;display:flex;gap:52px;align-items:center;font-size:10px;letter-spacing:.17em;text-transform:uppercase;backdrop-filter:blur(5px);background:rgba(18,25,28,.12);transition:background .4s,border-color .4s}.entry-button:hover{background:rgba(237,237,230,.10);border-color:var(--paper)}.entry-button span{font-size:20px;line-height:1}.entry-sound{font-size:8px;letter-spacing:.15em;text-transform:uppercase;opacity:.7;padding:10px}.entry-sound span{margin-left:8px}.before-entry .header,.before-entry .hero-title,.before-entry .scene-points,.before-entry .hero-bottom{visibility:hidden;opacity:0}.entering .entry-screen{pointer-events:none;animation:entry-away .7s ease both}.entering .header,.entering .hero-title,.entering .scene-points,.entering .hero-bottom{visibility:visible;animation:scene-arrive 1.2s ease 1.65s both}.entering .scene-points{animation-delay:1.95s}.entered .header,.entered .hero-title,.entered .scene-points,.entered .hero-bottom{visibility:visible;opacity:1}.scene-app .hero-title{animation:none}.entered .hero-title{animation:scene-arrive .5s ease} .scene-app.entering .hero-title{animation:scene-arrive 1.2s ease 1.65s both}@keyframes entry-away{to{opacity:0;transform:translateY(-26px) scale(1.025)}}@keyframes scene-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
.portfolio-panel{position:fixed;inset:110px 4.2% 32px auto;margin:0;width:min(940px,86vw);max-width:none;max-height:none;height:auto;border:1px solid rgba(237,237,230,.18);padding:0;background:rgba(12,20,24,.88);color:var(--paper);backdrop-filter:blur(28px);box-shadow:0 25px 90px #0004;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#667174 transparent}.portfolio-panel[open]{animation:panel-arrive .7s var(--ease) both}.portfolio-panel::backdrop{background:rgba(5,10,13,.22)}@keyframes panel-arrive{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}.panel-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 36px;border-bottom:1px solid var(--line);background:rgba(15,23,27,.95);backdrop-filter:blur(10px)}.panel-toolbar nav{display:flex;gap:28px}.panel-toolbar a,.panel-toolbar button{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#a5b0b2}.panel-toolbar a[aria-current]{color:var(--paper)}.panel-toolbar button{display:flex;align-items:center;gap:16px;color:var(--paper)}.panel-toolbar button span{font-size:23px;font-weight:200;line-height:1}.panel-content .section{padding:44px 36px;border:0;background:transparent}.panel-content .section h2:focus{outline:none}.panel-content .filters{margin-top:32px}.panel-content .empty-project{background:rgba(141,159,165,.025);aspect-ratio:2.05}.panel-content .about-layout{gap:50px;margin-top:45px}.panel-content .about-name{font-size:45px}.panel-content .contact-main{margin-top:50px}.panel-content .footer-bottom{margin-top:70px}.panel-open .hero-title{opacity:.18;filter:blur(3px)}.panel-open .scene-points,.panel-open .hero-bottom{opacity:.1}.panel-open .header{opacity:.45}.project-dialog{z-index:70}.scene-app .skip-link:focus{z-index:100}
@media(max-width:900px){.scene-app .identity>span{display:none}.scene-app .desktop-nav{position:absolute;left:50%;transform:translateX(-50%)}.scene-app .hero-title{left:8%;top:27%}.scene-app .hero h1{font-size:90px}.scene-hint{display:none}.portfolio-panel{inset:100px 5% 25px;width:90vw}.header-controls{gap:15px}}
@media(max-width:600px){.scene-app .header{height:76px}.scene-app .identity>span{display:block;font-size:7px}.scene-app .identity{gap:8px}.scene-app .header-controls{gap:13px}.sound-toggle{gap:7px}.sound-label{font-size:8px}.scene-app .hero-title{left:9%;top:24%}.scene-app .hero h1{font-size:clamp(68px,18vw,96px)}.scene-app .eyebrow{font-size:7px;margin-bottom:19px}.entry-title{font-size:clamp(52px,13vw,80px)}.entry-name{margin-top:-80px}.entry-name .eyebrow{font-size:7px;letter-spacing:.24em}.entry-actions{bottom:12%;gap:16px}.entry-button{padding:19px 24px;font-size:9px;gap:42px}.scene-app .scene-points{bottom:125px;gap:21px 10px}.scene-app .point-ring{width:25px;height:25px}.scene-app .point-ring::after{width:34px;height:34px}.scene-app .point-label{font-size:10px}.scene-app .hero-bottom{bottom:30px}.scene-reset{font-size:8px}.portfolio-panel{inset:88px 12px 16px;width:calc(100vw - 24px)}.panel-toolbar{padding:20px}.panel-toolbar nav{gap:20px}.panel-toolbar a,.panel-toolbar button{font-size:9px}.panel-toolbar button{gap:8px}.panel-content .section{padding:30px 22px}.panel-content .empty-project{aspect-ratio:1.35}.panel-content .about-layout{gap:40px;margin-top:35px}.panel-content .about-name{font-size:38px}.panel-content .footer-bottom{margin-top:50px}.scene-app .project-dialog{width:94vw}.scene-app .landscape img{object-position:62% center}}
@media(max-height:620px) and (min-width:601px){.scene-app .header{height:76px}.scene-app .hero-title{top:25%}.scene-app .hero h1{font-size:80px}.scene-app .hero-bottom{bottom:22px}.portfolio-panel{inset:86px 4.2% 18px auto}.entry-name{margin-top:-55px}.entry-title{font-size:80px}.entry-actions{bottom:8%}}
@media(prefers-reduced-motion:reduce){.entering .header,.entering .hero-title,.entering .scene-points,.entering .hero-bottom{opacity:1}.scene-app .entry-screen{transition:none}.scene-app .sound-bars i{animation:none!important}.scene-app .landscape{transform:none!important}}

/* Scene-triggered environments. Content stays quiet within each world. */
.transition-skip{position:fixed;z-index:60;right:4.2%;top:40px;padding:12px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--paper);text-shadow:0 1px 12px #081115}.transition-skip span{margin-left:15px}.scene-app.transitioning .header,.scene-app.transitioning .hero-title,.scene-app.transitioning .scene-points,.scene-app.transitioning .hero-bottom{opacity:0;pointer-events:none;transition:opacity .5s}.scene-app.underwater-open .hero-title,.scene-app.underwater-open .scene-points,.scene-app.underwater-open .hero-bottom{opacity:0;pointer-events:none}.scene-app.underwater-open .hero-shade{opacity:.25}.underwater-particles{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:0;transition:opacity 1s}.underwater-open .underwater-particles{opacity:var(--submerge,0)}.underwater-particles span{position:absolute;left:var(--x);bottom:-40px;width:var(--size);height:calc(var(--size)*1.15);border:1px solid rgba(200,225,230,.27);border-top-color:rgba(224,239,240,.55);border-right-color:rgba(180,211,215,.08);border-radius:49% 51% 46% 54%;background:radial-gradient(ellipse at 32% 24%,rgba(218,239,243,.20),transparent 30%);box-shadow:inset 1px 1px 2px rgba(180,210,220,.14),0 0 3px rgba(120,165,175,.05);animation:underwater-rise var(--duration) linear var(--delay) infinite;animation-play-state:paused}.underwater-open .underwater-particles span{animation-play-state:running}.underwater-particles span:nth-child(9n){filter:blur(1.5px);opacity:.5}@keyframes underwater-rise{0%{transform:translate(0,0) rotate(-12deg);opacity:0}10%{opacity:.65}70%{opacity:.45}100%{transform:translate(var(--sway),calc(-100svh - 80px)) rotate(15deg);opacity:0}}.underwater-fallback{display:none;position:absolute;inset:0;z-index:-2;background:url('assets/underwater.webp') center/cover;opacity:var(--submerge,0);transition:opacity 1s}.scene-fallback .underwater-fallback{display:block}.underwater-open .portfolio-panel{inset:105px 9% 30px;width:82%;border:0;background:transparent;backdrop-filter:none;box-shadow:none}.underwater-open .portfolio-panel::backdrop{background:rgba(2,11,15,.16)}.underwater-open .panel-toolbar{background:rgba(2,14,20,.25);backdrop-filter:blur(10px);border-bottom-color:rgba(220,240,240,.12)}.underwater-open .panel-content .section{padding-top:52px}.underwater-open .filters{display:none}.underwater-open .panel-content .empty-project{margin-top:38px;min-height:260px;aspect-ratio:2.8;background:transparent;border:0;animation:content-drift 12s ease-in-out infinite alternate}.underwater-open .frame-corner,.underwater-open .frame-ratio,.underwater-open .frame-cross{display:none}.underwater-open .empty-project p{font-size:11px;letter-spacing:.13em;color:#adc3c8}.underwater-open .section-title h2{font-size:clamp(48px,6vw,80px)}.underwater-open .section-index{color:#b6cdd2}.underwater-open .project-cover{background:rgba(15,38,45,.4)}.panel-controls{display:flex;align-items:center;gap:28px}.panel-toolbar .panel-sound{font-size:8px;color:#a7b8bc}.underwater-open .panel-content .work-grid{margin-top:35px}@keyframes content-drift{to{transform:translateY(-7px)}}
@media(max-width:600px){.transition-skip{top:25px;right:17px}.underwater-open .portfolio-panel{inset:84px 12px 16px;width:calc(100vw - 24px)}.underwater-open .panel-content .section{padding-top:40px}.underwater-open .panel-content .empty-project{min-height:300px;margin-top:15px}.panel-controls{gap:14px}.panel-toolbar nav{gap:13px}.panel-toolbar button,.panel-toolbar a{font-size:8px}.panel-toolbar{padding:19px 17px}.panel-toolbar .panel-sound{font-size:7px;letter-spacing:.03em}.underwater-open .section-title h2{font-size:60px}}
@media(prefers-reduced-motion:reduce){.underwater-particles span{animation:none!important}.underwater-open .panel-content .empty-project{animation:none!important}}

.scene-app.panel-open .header{opacity:0;pointer-events:none}.scene-app.underwater-open .hero-title,.scene-app.underwater-open .scene-points,.scene-app.underwater-open .hero-bottom{visibility:hidden}.motion-paused .hero-title{animation:none!important}
@media(max-width:600px){.underwater-open .panel-content .empty-project{aspect-ratio:auto;min-width:0;width:100%;height:300px}.panel-toolbar a,.panel-toolbar button{font-size:9px}.panel-toolbar .panel-sound{font-size:8px}.panel-content .work-grid{grid-template-columns:minmax(0,1fr)}}
