:root{--ink:#090b0c;--paper:#eeeee7;--muted:#aaa9a2;--orange:#ff7b36;--line:#ffffff26;--pad:clamp(22px,4.8vw,80px);--sans:'DM Sans',sans-serif;--display:'Space Grotesk',sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.7 var(--sans);overflow-x:clip}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:6px}::selection{background:var(--orange);color:var(--ink)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400}em{font-style:normal;color:var(--orange)}p{color:var(--muted)}.mono,.eyebrow,.section-label,.studio-notes,.tags{font:10px/1.5 var(--sans);letter-spacing:.15em;text-transform:uppercase}.eyebrow{font-size:10px;color:#d6d1c5;margin-bottom:24px;display:flex;align-items:center;gap:10px}.skip-link{position:fixed;top:10px;left:20px;z-index:100;background:var(--orange);color:#000;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}
#world,.scene-fallback,.atmosphere{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#world{z-index:0;opacity:0;transition:opacity 1.2s}.webgl-ready #world{opacity:1}.scene-fallback{background:radial-gradient(ellipse at 75% 48%,#482215 0,transparent 46%),linear-gradient(120deg,#090b0c,#121619)}.scene-fallback div{position:absolute;right:10%;top:22%;width:min(40vw,500px);aspect-ratio:1;border:2px solid #ff7b3677;border-radius:50%;box-shadow:0 0 80px #ff7b3626,inset 0 0 70px #ff7b3626;transform:rotateY(40deg) rotateX(20deg)}.atmosphere{z-index:1;background:linear-gradient(90deg,#090b0cce 0%,#090b0c55 43%,transparent 68%),linear-gradient(0deg,#090b0c66,transparent 25%,transparent 80%,#090b0c66)}main,footer{position:relative;z-index:2}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:30}.progress i{display:block;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left}.nav{position:fixed;z-index:20;inset:0 0 auto;height:100px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}.nav.scrolled{background:#090b0ced;backdrop-filter:blur(18px);border-bottom-color:var(--line)}.brand{display:flex;align-items:center;gap:13px;font:600 22px/1 var(--display);letter-spacing:.04em}.brand img{object-fit:contain}.brand-light{font-weight:400;color:#aaa}.brand small{display:block;font:8px/1.8 var(--sans);letter-spacing:.22em;margin-top:5px;color:var(--muted)}.nav nav{display:flex;align-items:center;gap:36px;font-size:12px}.nav nav>a:hover{color:var(--orange)}.nav-cta{border:1px solid #ffffff45;padding:10px 20px}.nav-cta span{margin-left:30px}.menu-toggle{display:none;background:none;color:var(--paper);border:0}
.hero{min-height:100svh;padding:130px var(--pad) 28px;display:flex;flex-direction:column;position:relative}.hero-topline{display:flex;justify-content:space-between;color:#aaa9a2;font-size:9px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 15px #ff7b36;vertical-align:middle;margin-right:8px}.hero-copy{padding-top:clamp(70px,12vh,140px);padding-bottom:110px;max-width:730px}.hero h1{font-size:clamp(68px,8.2vw,126px);line-height:.98;letter-spacing:-.065em;margin-bottom:30px}.hero-description{font-size:16px;line-height:1.8;margin-bottom:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:16px 24px;font-size:12px;border:1px solid transparent;transition:background .25s,transform .25s}.button:hover{transform:translateY(-2px)}.primary{background:var(--orange);color:#14110e}.primary:hover{background:#ff965d}.button span{font-size:22px;line-height:1}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:12px;padding:12px 0;border-bottom:1px solid #ffffff40}.text-link:hover{color:var(--orange);border-color:var(--orange)}.hero-copy>.text-link{margin-left:25px;border-bottom:0}.scene-caption{position:absolute;top:55%;right:var(--pad);font-size:9px;line-height:2;letter-spacing:.16em}.scene-caption>span:last-child{color:var(--muted)}.crosshair{position:absolute;left:-28px;top:-5px;font-size:25px;color:var(--orange)}.hero-bottom{margin-top:auto}.hero-bottom-label{display:flex;justify-content:space-between;color:#bdb9af;font-size:9px;margin-bottom:18px}.chapters{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);gap:30px;padding-top:22px}.chapters a{display:flex;gap:18px}.chapters a>span{font-family:var(--display);font-size:25px;color:#8a8981;line-height:1.3}.chapters b{display:block;font-size:11px;font-weight:500}.chapters small{font-size:10px;color:var(--muted)}.chapters a:hover>span{color:var(--orange)}
.chapter{padding:120px var(--pad);position:relative;background:#090b0cc9}.section-label{display:flex;align-items:center;gap:24px;color:#b2b0a7;font-size:9px;margin-bottom:75px}.section-label>span:first-child{color:var(--orange)}.section-label i{height:1px;background:var(--line);flex:1}.section-label>span:last-child{font-size:8px}.chapter h2{font-size:clamp(40px,4.6vw,70px);line-height:1.12;letter-spacing:-.05em}.studio{padding-top:150px;padding-bottom:160px;background:linear-gradient(#090b0c22,#090b0cda 25%,#090b0cc9)}.studio-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw}.studio-copy .lead{font-size:23px;line-height:1.5;color:var(--paper);margin-bottom:25px}.studio-copy p{font-size:14px;margin-bottom:22px}.studio-notes{display:flex;flex-wrap:wrap;gap:20px;margin-top:45px;font-size:8px;padding-top:22px;border-top:1px solid var(--line)}.section-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px;gap:40px}.section-intro>p{font-size:14px;max-width:360px}.services{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.service{border-top:1px solid var(--line);padding:32px 0;display:flex;gap:24px;align-items:baseline}.service>.mono{color:var(--orange)}.service h3{font-size:21px;margin-bottom:9px}.service p{font-size:13px;max-width:390px}.service .arrow{margin-left:auto;font-size:22px;transition:transform .2s}.service:hover .arrow{transform:translate(3px,-3px);color:var(--orange)}.service:hover h3{color:var(--orange)}.scene-break{height:75svh;min-height:400px;display:flex;align-items:center;justify-content:space-between;flex-direction:column;padding:65px 20px;text-align:center;background:linear-gradient(#090b0cc9,transparent 35%,transparent 65%,#090b0cc9)}.scene-break .mono{font-size:9px;color:var(--muted)}.scene-break-title{font:400 clamp(28px,5vw,75px)/1.1 var(--display);letter-spacing:-.04em;text-shadow:0 2px 30px #000}
.projects{display:grid;grid-template-columns:1fr 1fr;gap:65px 40px}.project:nth-child(even){padding-top:85px}.project-art{position:relative;aspect-ratio:1.5;overflow:hidden;background:radial-gradient(ellipse at center,#33271d,#101414 70%);border:1px solid #ffffff12;display:grid;place-items:center;perspective:800px}.project-art>.mono{position:absolute;bottom:18px;left:22px;font-size:8px;color:#9b8e7e}.artifact{width:50%;height:55%;position:relative;transform-style:preserve-3d;transform:rotateX(55deg) rotateZ(-35deg);transition:transform .8s}.artifact i{position:absolute;inset:0;border:1px solid #ffab6aaa;background:#e0691509;transform:translateZ(calc(var(--i)*22px));box-shadow:0 0 22px #ff7b3611}.artifact i:nth-child(1){--i:0}.artifact i:nth-child(2){--i:1}.artifact i:nth-child(3){--i:2}.artifact i:nth-child(4){--i:3}.artifact i:nth-child(5){--i:4}.project:hover .artifact{transform:rotateX(55deg) rotateZ(-20deg) translateY(-10px)}.art-2 .artifact i,.art-6 .artifact i{border-radius:50%}.art-3 .artifact{width:35%;height:40%;transform:rotateX(50deg) rotateZ(45deg)}.art-4 .artifact i{border-radius:45% 10%}.art-5 .artifact i{border-color:#b6c6bf80;background:#b6c6bf05}.project-meta{padding-top:23px}.project-meta>.mono{color:var(--orange);font-size:8px}.project h3{font-size:23px;letter-spacing:-.03em;margin:9px 0}.project p{font-size:13px}.tags{display:flex;gap:8px;margin-top:18px;font-size:8px;color:#aaa}.tags span{border:1px solid var(--line);padding:5px 9px}.process{background:#0a0c0de8}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:45px 50px}.steps li{padding-top:20px;border-top:1px solid var(--line)}.steps .mono{color:var(--orange)}.steps h3{font-size:22px;margin:16px 0 12px}.steps p{font-size:13px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.faq .text-link{margin-top:26px}.questions details{border-top:1px solid var(--line)}.questions details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:15px;padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{color:var(--orange);font-size:25px;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;padding:0 25px 25px 0}.contact{background:linear-gradient(#090b0cdd,#090b0c99)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.contact h2{font-size:clamp(55px,6.7vw,100px);margin-bottom:25px}.contact-grid>div>p:not(.eyebrow){font-size:14px;margin-bottom:30px}.contact-email{display:block;font-size:19px}.phone{font-size:13px;color:var(--muted)}form{padding-top:12px}form label{display:block;color:#c5c1b7;font-size:11px;margin-bottom:26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #ffffff45;border-radius:0;background:#090b0c55;color:var(--paper);padding:12px 0;outline:none;font-size:14px;margin-top:6px}input:focus,select:focus,textarea:focus{border-bottom-color:var(--orange)}textarea{resize:vertical}select{color-scheme:dark}form .button{width:100%}button:disabled{opacity:.6;cursor:wait}#form-status{font-size:13px;margin-top:14px}footer{padding:55px var(--pad) 85px;background:#090b0cf2;border-top:1px solid var(--line)}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;margin-top:40px;font-size:8px;color:var(--muted)}.socials{display:flex;gap:30px;font-size:11px}.socials a:hover{color:var(--orange)}.scene-controls{position:fixed;left:var(--pad);right:var(--pad);bottom:14px;z-index:15;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.scene-controls button{pointer-events:auto;background:#090b0ce6;border:1px solid #ffffff25;color:#b9b7af;padding:6px 12px;font:9px var(--sans);letter-spacing:.04em}.scene-controls button span{color:var(--orange);margin-left:12px}.scene-controls>.mono{font-size:8px;background:#090b0cc9;padding:6px 12px}.motion-paused *{animation-play-state:paused!important}.motion-paused .artifact{transition:none}
@media(min-width:1600px){.hero-copy{padding-top:15vh}.chapter{padding-left:max(var(--pad),calc((100vw - 1450px)/2));padding-right:max(var(--pad),calc((100vw - 1450px)/2))}}
@media(max-width:1000px){.nav nav{gap:22px}.hero h1{font-size:85px}.scene-caption{display:none}.hero-topline .edition{display:none}.studio-grid{gap:6vw}.services{column-gap:35px}.service{gap:15px}.service h3{font-size:19px}.contact-grid{gap:5vw}.chapters{gap:15px}.chapters small{font-size:9px}.chapters a{gap:10px}}
@media(max-width:700px){html{scroll-padding-top:80px}.nav{height:80px}.brand{font-size:19px}.brand img{width:32px;height:32px}.brand small{font-size:7px}.menu-toggle{display:flex;gap:20px;font-size:12px;align-items:center;padding:12px 0}.menu-toggle span{font-size:25px;color:var(--orange)}.nav nav{display:none;position:absolute;top:80px;left:0;right:0;background:#090b0cfa;padding:26px var(--pad) 35px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav nav.open{display:flex}.nav nav>a{padding:16px 0;font-size:18px}.nav nav .nav-cta{padding:12px 18px;margin-top:14px;font-size:14px}.hero{padding-top:106px;min-height:100svh}.hero-topline{font-size:7px;letter-spacing:.12em}.hero-copy{padding-top:65px;padding-bottom:190px}.hero h1{font-size:clamp(65px,13vw,90px);letter-spacing:-.065em}.hero-copy .eyebrow{font-size:8px;margin-bottom:20px}.hero-description{font-size:13px;margin-bottom:26px;max-width:290px}.hero-copy>.text-link{display:flex;width:fit-content;margin:12px 0 0;font-size:11px}.button{font-size:11px;padding:14px 20px;gap:45px}.atmosphere{background:linear-gradient(90deg,#090b0caa,transparent),linear-gradient(#090b0c33,#090b0c44)}.chapters{grid-template-columns:1fr 1fr;gap:18px 10px;padding-top:18px}.chapters a>span{font-size:20px}.chapters b{font-size:10px}.chapters small{font-size:8px}.hero-bottom-label{font-size:8px}.chapter{padding:80px var(--pad)}.section-label{margin-bottom:45px;font-size:8px;gap:15px}.section-label>span:last-child{display:none}.studio-grid,.contact-grid,.faq{grid-template-columns:1fr;gap:42px}.studio-copy .lead{font-size:20px}.chapter h2{font-size:45px}.studio-copy p{font-size:13px}.section-intro{display:block;margin-bottom:40px}.section-intro>p{margin-top:24px;font-size:13px}.services{grid-template-columns:1fr}.service{padding:24px 0;gap:20px}.service h3{font-size:19px}.service p{font-size:12px}.scene-break{height:65svh;min-height:350px}.projects{gap:40px;grid-template-columns:1fr}.project:nth-child(even){padding-top:0}.project-art{aspect-ratio:1.3}.project h3{font-size:21px}.steps{grid-template-columns:1fr 1fr;gap:30px 25px}.steps h3{font-size:18px}.steps p{font-size:12px}.faq{gap:30px}.faq .text-link{font-size:11px}summary{font-size:14px}.contact h2{font-size:65px}.contact-email{font-size:18px}.footer-top{align-items:start;flex-direction:column;gap:30px}.socials{gap:25px}.footer-bottom{flex-wrap:wrap;gap:16px}.footer-bottom>span:nth-child(2){display:none}.scene-controls{bottom:10px}.desktop{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Hide the page scrollbar without disabling native scrolling. */
html, body { scrollbar-width:none; -ms-overflow-style:none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { display:none; width:0; height:0; }

/* Refined typography and controls. */
:root { --sans:'Manrope',sans-serif; --display:'Outfit',sans-serif; }
body { font-weight:400; }
h1,h2,h3 { font-weight:500; }
.hero h1 { font-size:clamp(68px,7.8vw,120px); letter-spacing:-.045em; line-height:1.04; }
.hero h1:focus { outline:none; }
.chapter h2 { letter-spacing:-.035em; }
.hero-description { font-size:15px; line-height:1.85; }
.brand { letter-spacing:.02em; }
.nav nav { font-size:12px; font-weight:500; }
.button { min-height:56px; padding:8px 9px 8px 25px; gap:30px; border-radius:999px; font-size:14px; font-weight:800; letter-spacing:.015em; }
.button>span { flex-shrink:0; }
.nav nav .nav-cta { font-size:14px; font-weight:800; }
.menu-toggle { font-size:14px; font-weight:700; }
.primary { color:#23170e; background:linear-gradient(135deg,#ffe0ba,#f9b476); border:1px solid #ffdcac; box-shadow:inset 0 1px 0 #fff8,0 6px 30px #ff7b3610; }
.primary>span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#23170e; color:#ffce98; font-size:20px; transition:transform .25s,background .25s; }
.primary:hover { background:linear-gradient(135deg,#ffedcf,#ffca93); box-shadow:0 8px 35px #ff7b3628; transform:translateY(-2px); }
.primary:hover>span { transform:rotate(45deg); background:#4c2b17; }
.nav-cta { border-radius:999px; padding:9px 10px 9px 21px; border-color:#ffcc994d; background:#ffb86b09; display:flex; align-items:center; gap:20px; }
.nav-cta span { display:grid; place-items:center; width:30px; height:30px; margin:0; border-radius:50%; background:#ffcb96; color:#261a10; font-size:17px; }
.text-link { font-size:13px; font-weight:700; border-color:#ffffff26; }
.hero-copy>.text-link { gap:12px; margin-left:24px; }
.hero-copy>.text-link span { display:grid; place-items:center; width:34px; height:34px; border:1px solid #ffffff33; border-radius:50%; font-size:16px; }
.hero-copy>.text-link:hover span { border-color:var(--orange); }
.scene-controls { justify-content:flex-end; }
.service h3 { letter-spacing:-.015em; }
.scene-fallback div { border-color:#ffbc7140; box-shadow:0 0 100px #ff9d3226,inset 0 0 90px #ffb85c18; }
form .button { padding-left:24px; }

/* The entire opening screen is the entry button once the scene is ready. */
body.is-loading { overflow:hidden; }
.intro { position:fixed; inset:0; z-index:100; background:#090b0c; transition:opacity .65s ease,visibility .65s; }
.intro[hidden] { display:none; }
.intro.leaving { opacity:0; visibility:hidden; pointer-events:none; }
.intro-surface { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:0; display:grid; place-items:center; color:var(--paper); background:radial-gradient(ellipse at 50% 42%,#2a1c1255,transparent 52%); padding:28px; opacity:1; cursor:wait; }
.intro-surface:disabled { opacity:1; }
.intro-surface:enabled { cursor:pointer; }
.intro-surface:focus-visible { outline:1px solid #ffbb7855; outline-offset:-12px; }
.intro-content { display:flex; flex-direction:column; align-items:center; width:min(340px,85vw); }
#intro-logo { width:88px; height:88px; object-fit:contain; margin-bottom:26px; filter:drop-shadow(0 0 25px #ff9a4333); }
.intro-wordmark { font:500 37px/1 var(--display); letter-spacing:.055em; }
.intro-wordmark>span { font-weight:400; color:#bdb5ab; }
.intro-tagline { margin-top:16px; font:9px/1.8 var(--sans); letter-spacing:.24em; color:#9a9286; }
.loading-track { width:220px; max-width:100%; height:1px; background:#ffffff1a; margin:45px 0 18px; overflow:hidden; }
#loading-bar { display:block; width:15%; height:100%; background:#ffc380; box-shadow:0 0 15px #ffae63; transition:width .45s; }
#loading-label { font:9px/1.6 var(--sans); color:#958a7e; letter-spacing:.08em; }
#enter-label { font:700 16px/1.6 var(--sans); color:#9a9286; margin-top:40px; transition:color .3s; }
.ready #enter-label { color:#ffe0ba; }
.intro-enter-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid #ffcc9940; border-radius:50%; color:#ffcc99; font:22px var(--sans); margin-top:18px; opacity:0; transform:translateY(8px); transition:opacity .4s,transform .4s; }
.ready .intro-enter-icon { opacity:1; transform:none; }
.ready .intro-surface:hover .intro-enter-icon { background:#ffca921a; transform:translate(2px,-2px); }
.intro-footnote { position:absolute; bottom:32px; left:20px; right:20px; font:8px var(--sans); letter-spacing:.22em; color:#736d65; }
@media(max-width:700px) {
  .hero h1 { font-size:clamp(64px,12.8vw,88px); }
  .hero-description { font-size:13px; }
  .hero-copy>.text-link { margin:16px 0 0; font-size:13px; }
  .button { min-height:52px; padding:7px 8px 7px 22px; gap:28px; font-size:14px; }
  .primary>span { width:36px; height:36px; }
  .nav nav .nav-cta { padding:9px 10px 9px 20px; font-size:14px; }
  .nav-cta span { margin-left:auto; }
  .chapter h2 { font-size:43px; }
  .contact h2 { font-size:62px; }
}
@media(prefers-reduced-motion:reduce) {
  .intro,.intro *,.button,.button span { transition:none!important; }
}
