#root{min-height:100vh}:root{color-scheme:dark;--bg: #050505;--panel: rgba(12, 12, 12, .82);--text: #f4f2ed;--muted: #8e8e86;--line: rgba(244, 242, 237, .16);--line-strong: rgba(244, 242, 237, .42);--ease: cubic-bezier(.76, 0, .24, 1)}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:auto}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.07),transparent 24rem),linear-gradient(180deg,#080808 0%,#050505 48%,#070707 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:none}body:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none;content:"";opacity:.13;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 50% 35%,black 0%,transparent 74%);mask-image:radial-gradient(circle at 50% 35%,black 0%,transparent 74%)}a{color:inherit}button,a{cursor:none}button{font:inherit}button:focus-visible,a:focus-visible{outline:1px solid var(--text);outline-offset:5px}.site-shell{position:relative;overflow-x:clip}.site-header{position:fixed;inset:0 0 auto;z-index:40;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:1rem;padding:1.1rem 1.25rem;mix-blend-mode:difference}.brand-mark{display:inline-flex;width:fit-content;flex-direction:column;gap:.2rem;text-decoration:none;text-transform:lowercase}.brand-mark span{font-size:clamp(1rem,1.5vw,1.45rem);letter-spacing:.03em}.brand-mark small,.eyebrow,.audio-state,.project-index,.project-category,.project-year,.floating-preview span,.menu-meta,.project-overlay dt,.project-pagination button,.spiral-hint{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}.mode-toggle{display:flex;gap:.35rem;padding:.25rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.mode-toggle button,.menu-button,.overlay-close,.intro-actions button,.project-pagination button{border:0;color:var(--text);background:transparent}.mode-toggle button{min-width:4.6rem;padding:.48rem .9rem;border-radius:999px;color:var(--muted);letter-spacing:.12em;text-transform:lowercase;transition:color .24s var(--ease),background .24s var(--ease),transform .24s var(--ease)}.mode-toggle button:hover,.mode-toggle button.is-active{color:var(--bg);background:var(--text);transform:translateY(-1px)}.menu-button{justify-self:end;padding:.45rem 0;color:var(--text);letter-spacing:.16em;text-transform:lowercase}.hero-section{display:grid;min-height:31vh;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;padding:7.5rem 1.25rem 1.5rem}.hero-copy{max-width:68rem}.hero-copy h1{max-width:64rem;margin:.8rem 0 0;font-size:clamp(2.2rem,6.8vw,8.8rem);font-weight:300;letter-spacing:-.03em;line-height:.9;text-transform:lowercase}.audio-state{align-self:end;text-align:right}.browser-transition{min-height:100vh}.browser-transition.is-spiral{min-height:100svh}.spiral-stage{position:relative;height:100svh;min-height:40rem;overflow:hidden;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 48% 50%,rgba(255,255,255,.045),transparent 38rem),#050505;background-size:56px 56px,56px 56px,100% 100%,100% 100%;overscroll-behavior:contain;touch-action:none}.spiral-stage canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0}.spiral-hint{position:absolute;right:1.25rem;bottom:1.25rem;color:#f4f2ed6b}.project-list-section{position:relative;min-height:100vh;padding:9vh 1.25rem 12vh}.project-list{display:flex;flex-direction:column;animation:listDrift 26s ease-in-out infinite alternate}.project-row{position:relative;display:grid;width:100%;grid-template-columns:4.5rem minmax(0,1fr) 12rem 5rem;align-items:baseline;gap:1.5rem;padding:clamp(1rem,1.55vw,1.45rem) 0;border:0;border-bottom:1px solid var(--line);color:var(--text);background:transparent;text-align:left;overflow:hidden}.project-row:after{position:absolute;inset:auto 0 -1px;height:1px;content:"";background:var(--text);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}.project-title{display:block;font-size:clamp(2rem,6.25vw,7.2rem);font-weight:300;letter-spacing:-.04em;line-height:.82;text-transform:lowercase;transition:transform .55s var(--ease),opacity .35s ease}.project-category,.project-year,.project-index{transition:opacity .35s ease,transform .55s var(--ease)}.project-row:hover:after,.project-row:focus-visible:after{transform:scaleX(1)}.project-row:hover .project-title,.project-row:focus-visible .project-title{transform:translate(.82rem) skew(-3deg)}.project-row:hover .project-category,.project-row:focus-visible .project-category{opacity:.45;transform:translate(-.35rem)}.floating-preview{position:fixed;top:0;left:0;z-index:30;width:clamp(17.5rem,22vw,23rem);pointer-events:none;opacity:0;transform-origin:24% 72%;transition:opacity .3s ease,scale .52s var(--ease);scale:.9}.floating-preview.is-visible{opacity:1;scale:1}.floating-preview-media{aspect-ratio:1.55;border:1px solid rgba(255,255,255,.22);border-radius:.25rem;box-shadow:0 2rem 5rem #0000007a}.floating-preview span{display:block;padding-top:.55rem}.about-section,.contact-section{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:2rem;padding:9rem 1.25rem;border-top:1px solid var(--line)}.about-section h2{max-width:62rem;margin:0;font-size:clamp(2.2rem,5.4vw,6rem);font-weight:300;letter-spacing:-.04em;line-height:.95;text-transform:lowercase}.about-section p:not(.eyebrow){max-width:38rem;margin:1.6rem 0 0;color:#c7c5bd;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.65}.contact-section{min-height:52vh;align-items:end}.contact-section a{font-size:clamp(2rem,6vw,7.5rem);font-weight:300;letter-spacing:-.05em;line-height:.9;text-decoration:none}.contact-section span{color:var(--muted)}.intro-overlay,.menu-overlay,.project-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.08),transparent 30rem),rgba(5,5,5,.96)}.intro-overlay{display:grid;place-items:center;padding:1.25rem}.intro-card{position:relative;width:min(58rem,100%);text-align:center}.showreel-frame{position:relative;width:min(40rem,80vw);max-height:38vh;aspect-ratio:16 / 9;margin:0 auto 1rem;overflow:hidden;border:1px solid var(--line-strong);border-radius:.35rem;background:linear-gradient(135deg,#eaf7ff,#516bff 48%,#050505);box-shadow:0 2rem 6rem #00000094}.showreel-glow{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border-radius:50%;background:rgba(255,255,255,.55);filter:blur(60px);animation:pulseGlow 4s ease-in-out infinite alternate}.showreel-scan{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(255,255,255,.06) 13px);mix-blend-mode:overlay}.intro-marquee{overflow:hidden;color:var(--muted);font-size:.72rem;letter-spacing:.18em;white-space:nowrap}.intro-marquee span{display:inline-block;animation:marquee 12s linear infinite}.intro-card h1{margin:.7rem 0 0;font-size:clamp(2.8rem,8vw,7rem);font-weight:300;letter-spacing:-.06em;line-height:.9;text-transform:lowercase}.intro-card p{max-width:30rem;margin:.7rem auto 1.1rem;color:#cfcdc4;line-height:1.6}.intro-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}.intro-actions button{padding:.78rem 1rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--text);letter-spacing:.05em;transition:background .24s var(--ease),color .24s var(--ease),transform .24s var(--ease)}.intro-actions button:hover{color:var(--bg);background:var(--text);transform:translateY(-2px)}.menu-overlay{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:1.25rem}.overlay-close{position:absolute;top:1.25rem;right:1.25rem;z-index:2;color:var(--text);letter-spacing:.13em;text-transform:uppercase}.menu-nav{display:flex;flex-direction:column}.menu-nav a{width:fit-content;font-size:clamp(4rem,12vw,13rem);font-weight:300;letter-spacing:-.07em;line-height:.86;text-decoration:none;transition:opacity .26s ease,transform .5s var(--ease)}.menu-nav a:hover{opacity:.62;transform:translate(1.1rem) skew(-4deg)}.menu-meta{display:flex;max-width:20rem;flex-direction:column;gap:.65rem;text-align:right}.project-overlay{z-index:70;overflow-y:auto;background:rgba(5,5,5,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.project-overlay-panel{min-height:100vh;padding:5.5rem 1.25rem 1.25rem;background:#070707}.project-detail-grid{display:grid;grid-template-columns:minmax(18rem,.7fr) minmax(0,1.3fr);gap:2rem;align-items:end}.project-detail-copy h2{margin:.8rem 0 1rem;font-size:clamp(3.2rem,8vw,10rem);font-weight:300;letter-spacing:-.07em;line-height:.82;text-transform:lowercase}.project-detail-copy p:not(.eyebrow){max-width:31rem;color:#cac8c0;line-height:1.7}.project-detail-copy dl{display:grid;max-width:35rem;grid-template-columns:1fr 1.4fr;gap:1rem;margin:2rem 0 0}.project-detail-copy dt,.project-detail-copy dd{margin:0}.project-detail-copy dd{color:#dcdad2}.project-hero-media{display:flex;min-height:68vh;align-items:end;justify-content:space-between;padding:1rem;border:1px solid var(--line);border-radius:.35rem;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d}.project-hero-media span{max-width:14rem;color:#ffffffb8;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}.project-media-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.project-still{min-height:28rem;border:1px solid var(--line);border-radius:.35rem}.project-still span{display:inline-block;padding:1rem;color:#ffffffa6}.project-pagination{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.project-pagination button{padding:0;text-align:left;transition:color .2s ease}.project-pagination button:last-child{text-align:right}.project-pagination button:hover{color:var(--text)}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:120;pointer-events:none;will-change:transform}.cursor-dot{width:.38rem;height:.38rem;border-radius:50%;background:var(--text);transform:translate3d(50vw,50vh,0)}.cursor-ring{display:grid;width:3.8rem;height:3.8rem;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:50%;color:#ffffffad;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;translate:-50% -50%}@keyframes marquee{0%{transform:translate(-10%)}to{transform:translate(-55%)}}@keyframes pulseGlow{0%{opacity:.55;transform:scale(.84)}to{opacity:.9;transform:scale(1.15)}}@keyframes listDrift{0%{transform:translateY(0)}to{transform:translateY(-.42rem)}}@media (max-width: 820px){body,button,a{cursor:auto}.site-header{grid-template-columns:1fr auto}.mode-toggle{grid-column:1 / -1;justify-self:center;order:3}.hero-section,.about-section,.contact-section,.project-detail-grid{grid-template-columns:1fr}.hero-section{min-height:44vh;padding-top:8.5rem}.audio-state{text-align:left}.project-row{grid-template-columns:3rem minmax(0,1fr) 4rem;gap:.75rem}.project-category{display:none}.spiral-stage{min-height:34rem}.about-section,.contact-section{padding:5rem 1.25rem}.menu-overlay{grid-template-columns:1fr;align-content:end;gap:2rem}.menu-meta{text-align:left}.project-hero-media{min-height:26rem}.project-media-strip{grid-template-columns:1fr}.project-still{min-height:18rem}.intro-actions{flex-direction:column;align-items:stretch;width:min(100%,18rem);margin-inline:auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
