@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@300;400;500;600&display=swap";:root{color:#f7f5f0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#03060d;font-family:DM Sans,system-ui,sans-serif}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}button,a{font:inherit}:focus-visible{outline-offset:4px;outline:2px solid #dc9a63}::selection{color:#fff;background:#cd7b3da6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}.site{background:#03060d}.experience{color:#f7f5f0;isolation:isolate;background:#03060d;height:100svh;min-height:620px;position:relative;overflow:hidden}.experience:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#02060dfa 0%,#02060dc7 25%,#0000 55%),radial-gradient(circle at 72% 48%,#0000 20%,#02050b1a 56%,#010307b8 100%);position:absolute;inset:0}.experience:after{content:"";z-index:8;pointer-events:none;opacity:.14;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' 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' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");position:absolute;inset:0}.scene{z-index:0;position:absolute;inset:0}.scene canvas{touch-action:none}.cosmic-haze{z-index:1;pointer-events:none;filter:blur(22px);background:radial-gradient(circle,#e7742b1c,#3a4b7f0d 42%,#0000 70%);width:52vw;height:52vw;position:absolute;top:13%;left:46%}.topbar{z-index:20;align-items:center;height:112px;padding:0 clamp(30px,4.2vw,76px);display:flex;position:absolute;top:0;left:0;right:0}.wordmark{color:#fff;letter-spacing:-.04em;margin-right:clamp(44px,6.5vw,116px);font:600 1rem/1 Manrope,sans-serif;text-decoration:none}.wordmark span{color:#d68d51}.nav{gap:clamp(28px,3.4vw,58px);display:flex}.nav a{color:#eeeff285;letter-spacing:.06em;padding:16px 0;font:400 .82rem/1 DM Sans,sans-serif;text-decoration:none;transition:color .18s;position:relative}.nav a:hover,.nav a:focus-visible,.nav a.active{color:#f7f5f0}.nav a.active:after{content:"";background:#d89a61;height:1px;position:absolute;bottom:5px;left:0;right:0}.menu-toggle{display:none}.hero-copy{z-index:10;width:min(480px,40vw);position:absolute;top:50%;left:clamp(30px,4.2vw,76px);transform:translateY(-43%)}.eyebrow{color:#dfe0e57a;letter-spacing:.2em;text-transform:uppercase;margin:0 0 24px;font:500 .69rem/1 DM Sans,sans-serif}.eyebrow span{color:#db945c;margin-right:14px}.hero-copy h1{color:#f5f4f0;letter-spacing:-.068em;text-shadow:0 14px 42px #00000052;margin:0;font:400 clamp(3.7rem,6vw,6.8rem)/.91 Manrope,sans-serif}.role{color:#efeff19e;letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:13px;margin:28px 0 0;font:400 clamp(.68rem,.9vw,.82rem)/1 DM Sans,sans-serif;display:flex}.role i{background:#cb8853;border-radius:50%;width:3px;height:3px}.work-link{color:#f3f0ea;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #da935bb3;align-items:center;gap:12px;margin-top:28px;padding-bottom:6px;font:500 .76rem/1 DM Sans,sans-serif;text-decoration:none;display:inline-flex}.work-link span{color:#dc9a63;font-size:1rem}.scene-controls{z-index:10;text-align:right;position:absolute;bottom:42px;right:clamp(28px,4vw,72px)}.scene-controls p{color:#dfe0e561;letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px;font:500 .64rem/1 DM Sans,sans-serif}.scene-controls div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.scene-controls button{color:#f6f4f0b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#070c178c;border:1px solid #ffffff21;border-radius:999px;min-height:38px;padding:0 14px;font:500 .68rem/1 DM Sans,sans-serif;transition:border-color .18s,background .18s,color .18s}.scene-controls .focus-exit{border-color:#df99607a}.scene-controls button:hover,.scene-controls button:focus-visible,.scene-controls button[aria-pressed=true]{color:#fff;background:#3723199e;border-color:#df996094}.drag-hint{z-index:10;color:#e4e5e961;letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;font:500 .62rem/1 DM Sans,sans-serif;display:flex;position:absolute;bottom:44px;right:50%}.drag-hint span{background:#da935bb3;width:24px;height:1px}.planet-label{color:#ffffffdb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;background:#03060d9e;border:1px solid #ffffff1f;border-radius:999px;padding:5px 8px;font:500 9px/1 DM Sans,sans-serif;display:block}.projects-section{color:#f5f4f0;background:#080b11;border-top:1px solid #ffffff17;scroll-margin-top:0;position:relative}.about-section{color:#f5f4f0;background:#0b0f16;border-top:1px solid #ffffff1f}.about-inner{width:min(100%,1120px);margin:0 auto;padding:clamp(100px,9vw,140px) clamp(30px,4.2vw,76px) clamp(110px,10vw,150px)}.about-content h2{letter-spacing:-.075em;margin:0 0 34px;font:400 clamp(3.7rem,5.4vw,5.5rem)/1 Manrope,sans-serif}.about-content h2 span{color:#d68d51}.about-lead{color:#f5f4f0;letter-spacing:-.035em;max-width:900px;margin:0;font:300 clamp(1.5rem,2.2vw,2.15rem)/1.5 Manrope,sans-serif}.about-more{border-top:1px solid #ffffff29;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,100px);margin-top:clamp(54px,6vw,82px);padding-top:28px;display:grid}.about-more h3{color:#d68d51;letter-spacing:.17em;text-transform:uppercase;margin:0 0 16px;font:500 .72rem/1.4 DM Sans,sans-serif}.about-more p{color:#dfe1e7b0;max-width:440px;margin:0;font:300 1.05rem/1.8 Manrope,sans-serif}.projects-inner{width:min(100%,1600px);margin:0 auto;padding:clamp(90px,9vw,152px) clamp(30px,4.2vw,76px) 140px}.projects-intro{margin-bottom:clamp(70px,8vw,126px)}.projects-intro .eyebrow{margin-bottom:30px}.projects-intro-row{justify-content:space-between;align-items:end;gap:48px;display:flex}.projects-intro h2{letter-spacing:-.075em;margin:0;font:400 clamp(3.7rem,6.2vw,6.6rem)/.94 Manrope,sans-serif}.projects-intro h2 span{color:#d68d51}.projects-intro-row>p{color:#dfe1e78f;max-width:290px;margin:0 0 7px;font:300 .97rem/1.65 Manrope,sans-serif}.projects-list{border-top:1px solid #ffffff29}.project-entry{border-bottom:1px solid #ffffff29}.project-main{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:clamp(40px,6vw,110px);padding:clamp(70px,7vw,110px) 0;display:grid}.project-featured:nth-child(2n) .project-main{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)}.project-featured:nth-child(2n) .project-main .project-preview{order:2}.project-featured:nth-child(2n) .project-main .project-copy{order:1}.project-preview{aspect-ratio:1.64;background:#10141c;min-width:0;overflow:hidden}.project-preview img{object-fit:cover;width:100%;height:100%;display:block}.project-image-button{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.project-image-button:focus-visible{outline-offset:-2px;outline:2px solid #d68d51}.project-image-button:hover img{filter:brightness(1.08)}.project-preview-placeholder{color:#f2f0ea4d;background:#11151d;border:1px solid #ffffff14;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.project-preview-placeholder:before{content:"";pointer-events:none;border:1px solid #ffffff0e;position:absolute;inset:18px}.preview-corner,.preview-status{z-index:1;color:#edece766;letter-spacing:.17em;text-transform:uppercase;font:500 .58rem/1 DM Sans,sans-serif;position:absolute}.preview-corner{top:38px;left:38px}.preview-status{bottom:38px;right:38px}.preview-title{letter-spacing:-.075em;white-space:nowrap;max-width:90%;font:400 clamp(2.7rem,5vw,6rem)/1 Manrope,sans-serif}.project-number{color:#c18555;letter-spacing:.18em;text-transform:uppercase;font:500 .64rem/1 DM Sans,sans-serif}.project-copy h3{letter-spacing:-.068em;margin:23px 0 16px;font:400 clamp(2.5rem,4.5vw,5.2rem)/1.02 Manrope,sans-serif}.project-copy>p{color:#e1e2e68a;max-width:330px;margin:0;font:300 1rem/1.65 Manrope,sans-serif}.project-toggle{color:#f3f0ea;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid #da935bb3;align-items:center;gap:16px;min-height:44px;margin-top:30px;padding:0 0 5px;font:500 .73rem/1 DM Sans,sans-serif;transition:color .18s,border-color .18s;display:inline-flex}.project-toggle span{color:#dc9a63;font-size:1.1rem}.project-toggle:hover{color:#dc9a63;border-color:#dc9a63}.project-languages{max-width:460px;margin-top:28px}.project-languages h4{color:#c18555;letter-spacing:.17em;text-transform:uppercase;margin:0 0 13px;font:500 .64rem/1 DM Sans,sans-serif}.language-bar{background:#ffffff1a;border-radius:999px;width:100%;height:8px;display:flex;overflow:hidden}.language-bar span{flex:none;height:100%}.language-list{flex-wrap:wrap;gap:9px 18px;margin:13px 0 0;padding:0;list-style:none;display:flex}.language-list li{color:#f4f4f1e0;white-space:nowrap;align-items:center;gap:7px;font:500 .75rem/1.4 DM Sans,sans-serif;display:inline-flex}.language-dot{border-radius:50%;flex:none;width:9px;height:9px}.language-list small{color:#e1e2e68a;font:inherit}.project-compact .project-main{grid-template-columns:minmax(160px,.28fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);padding:70px 0}.project-compact .project-preview{aspect-ratio:1.7}.project-compact .preview-title{font-size:clamp(1.3rem,2.3vw,2.4rem)}.project-compact .preview-corner{top:24px;left:24px}.project-compact .preview-status{font-size:.45rem;bottom:24px;right:24px}.project-compact .project-copy{grid-template-columns:minmax(0,1fr) minmax(180px,.8fr) auto;align-items:center;column-gap:30px;display:grid}.project-compact .project-number{grid-column:1/-1;margin-bottom:10px}.project-compact .project-copy h3{margin:0;font-size:clamp(2rem,3vw,3.2rem)}.project-compact .project-toggle{white-space:nowrap;margin:0}.project-compact .project-languages{grid-column:1/-1;margin-top:22px}.project-details{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(40px,6vw,110px);padding:14px 0 clamp(54px,6vw,92px);animation:.26s both details-enter;display:grid}.project-details-content{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:35px 50px;display:grid}.project-details-single-copy{grid-template-columns:1fr}.detail-block h4{color:#c18555;letter-spacing:.17em;text-transform:uppercase;margin:0 0 12px;font:500 .64rem/1 DM Sans,sans-serif}.detail-block p,.detail-block li{color:#e1e2e6a3;margin:0;font:300 .95rem/1.7 Manrope,sans-serif}.detail-block ul{margin:0;padding-left:18px}.project-links{align-items:start;gap:26px;display:flex}.project-links a{color:#f3f0ea;text-underline-offset:6px;text-transform:uppercase;letter-spacing:.06em;font:500 .75rem/1.5 DM Sans,sans-serif;text-decoration-color:#c18555}.project-preview-detail{aspect-ratio:1.4}.project-preview-detail .preview-title{font-size:clamp(2rem,3.5vw,4.5rem)}.project-detail-gallery{align-content:start;gap:20px;display:grid}.project-preview-detail-image{aspect-ratio:auto}.project-preview-detail-image img,.project-preview-detail-image .project-image-button{height:auto}.project-details-explained{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:start;gap:clamp(48px,7vw,120px)}.project-details-explained .project-details-content{display:block}.project-overview p{color:#f4f4f1d1;max-width:57ch;font-size:1.04rem;line-height:1.65}.project-workflow,.project-features{margin-top:38px}.project-workflow>h4,.project-features>h4{color:#c18555;letter-spacing:.17em;text-transform:uppercase;margin:0 0 16px;font:500 .64rem/1 DM Sans,sans-serif}.project-workflow ol{margin:0;padding:0;list-style:none}.project-workflow li{border-top:1px solid #ffffff1f;grid-template-columns:36px minmax(0,1fr);gap:16px;padding:14px 0;display:grid}.workflow-number{color:#c18555;letter-spacing:.08em;padding-top:2px;font:500 .7rem/1.5 DM Sans,sans-serif}.project-workflow h5{color:#f3f0ea;margin:0 0 4px;font:500 .92rem/1.4 Manrope,sans-serif}.project-workflow p,.project-origin{color:#e1e2e69e;margin:0;font:300 .86rem/1.6 Manrope,sans-serif}.project-features ul{margin:0;padding:0;list-style:none}.project-features li{color:#e1e2e6c2;border-top:1px solid #ffffff1f;gap:14px;padding:14px 0;font:300 .9rem/1.6 Manrope,sans-serif;display:flex}.project-features li:before{content:"•";color:#c18555;flex:none}.project-origin{border-top:1px solid #ffffff1f;margin-top:18px;padding-top:18px}.gallery-caption{color:#e1e2e67a;margin:0;font:300 .78rem/1.5 Manrope,sans-serif}.image-lightbox{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#02050bf0;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.image-lightbox-dialog{flex-direction:column;align-items:center;gap:12px;width:min(100%,1600px);max-height:calc(100dvh - 32px);display:flex}.image-lightbox-close{color:#f5f4f0;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#141a23e6;border:1px solid #ffffff3d;border-radius:999px;align-self:flex-end;min-height:38px;padding:0 14px;font:500 .75rem/1 DM Sans,sans-serif}.image-lightbox-close span{vertical-align:-1px;margin-left:8px;font-size:1.2rem}.image-lightbox-close:hover,.image-lightbox-close:focus-visible{border-color:#d68d51}.image-lightbox-dialog img{object-fit:contain;max-width:100%;min-height:0;max-height:calc(100dvh - 114px);display:block}.image-lightbox-dialog p{color:#f5f4f0b3;text-align:center;margin:0;font:400 .78rem/1.4 Manrope,sans-serif}@keyframes details-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.experience:before{background:linear-gradient(#02060d4d 0%,#02060d14 45%,#02060dfa 77%)}.topbar{justify-content:space-between;height:84px;padding:0 24px}.wordmark{margin:0;font-size:1.05rem}.menu-toggle{z-index:2;background:0 0;border:0;place-content:center;gap:6px;width:42px;height:42px;display:grid;position:relative}.menu-toggle span{background:#fff;width:22px;height:1px;display:block}.nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;visibility:hidden;background:#02050bf0;flex-direction:column;gap:3px;padding:80px 24px 24px;transition:opacity .18s,transform .18s,visibility .18s;display:flex;position:absolute;inset:0 0 auto;transform:translateY(-10px)}.nav-open{opacity:1;visibility:visible;transform:none}.nav a{padding:13px 0;font-size:.88rem}.nav a.active:after{width:24px;bottom:5px;right:auto}.hero-copy{width:auto;inset:auto 24px 105px;transform:none}.hero-copy h1{font-size:clamp(3.2rem,14vw,5.5rem)}.eyebrow{margin-bottom:15px}.role{letter-spacing:.15em;margin-top:18px}.work-link{margin-top:20px}.scene-controls{bottom:25px;right:20px}.scene-controls p,.drag-hint{display:none}.cosmic-haze{width:100vw;height:100vw;top:10%;left:10%}.projects-inner{padding:100px 24px}.about-inner{padding:100px 24px 130px}.about-more{gap:36px}.projects-intro-row{flex-direction:column;align-items:start;gap:24px}.project-main,.project-featured:nth-child(2n) .project-main{grid-template-columns:1fr;gap:30px;padding:60px 0}.project-featured:nth-child(2n) .project-main .project-preview,.project-featured:nth-child(2n) .project-main .project-copy{order:initial}.project-copy h3{margin-top:16px}.project-details{grid-template-columns:1fr;gap:32px}.project-preview-detail{max-width:620px}.project-compact .project-main{grid-template-columns:minmax(140px,.5fr) 1fr;padding:60px 0}.project-compact .project-copy{display:block}.project-compact .project-copy h3{margin:14px 0 8px}.project-compact .project-toggle{margin-top:12px}.project-compact .project-languages{margin-top:24px}}@media (width<=520px){.hero-copy{bottom:116px}.hero-copy h1{font-size:clamp(3rem,15.7vw,4.6rem)}.role{gap:8px;font-size:.6rem}.scene-controls{text-align:left;left:24px;right:24px}.scene-controls div{justify-content:flex-start}.experience{min-height:560px}.projects-inner{padding:80px 24px 100px}.about-inner{padding:80px 24px 110px}.about-content h2{margin-bottom:26px;font-size:clamp(3.2rem,13vw,4.5rem)}.about-lead{font-size:1.35rem}.about-more{grid-template-columns:1fr;gap:32px;margin-top:48px}.projects-intro{margin-bottom:60px}.projects-intro h2{font-size:clamp(3.2rem,13vw,4.5rem)}.project-main,.project-featured:nth-child(2n) .project-main,.project-compact .project-main{grid-template-columns:1fr;gap:24px;padding:50px 0}.project-preview,.project-compact .project-preview{aspect-ratio:1.45}.project-compact .preview-title{font-size:clamp(2rem,8vw,3.8rem)}.project-copy h3{font-size:clamp(2.5rem,12vw,4.2rem)}.project-compact .project-copy h3{font-size:clamp(2.3rem,10vw,3.4rem)}.project-details-content{grid-template-columns:1fr;gap:26px}.preview-corner{top:28px;left:28px}.preview-status{bottom:28px;right:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
