:root{--accent:#4cc9f0;--accent-glow:#4cc9f04d;--accent-tint:#4cc9f014;--accent-r:.298;--accent-g:.788;--accent-b:.941;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Outfit", "Inter", sans-serif;--font-serif:"Playfair Display", "Georgia", serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--transition-accent:all .6s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .2s ease;--transition-smooth:all .4s cubic-bezier(.4, 0, .2, 1);--heading-tracking:-.02em;--heading-weight:700;--body-tracking:0}[data-theme=dark]{--bg-primary:#08090f;--bg-secondary:#0f1118;--bg-tertiary:#171a25;--bg-card:#0f1118cc;--bg-card-hover:#171a25e6;--text-primary:#f0f0f5;--text-secondary:#8b92a8;--text-tertiary:#5a6180;--border-color:#ffffff0f;--border-hover:#ffffff1f;--glass-bg:#08090f73;--glass-border:#ffffff14;--shadow-card:0 4px 24px #0006;--shadow-hover:0 12px 48px #00000080}[data-theme=light]{--bg-primary:#faf9f7;--bg-secondary:#f0eeea;--bg-tertiary:#e5e3de;--bg-card:#ffffffd9;--bg-card-hover:#fffffff2;--text-primary:#14141f;--text-secondary:#555770;--text-tertiary:#8b8da3;--border-color:#00000012;--border-hover:#00000024;--glass-bg:#faf9f780;--glass-border:#00000012;--shadow-card:0 2px 16px #0000000f;--shadow-hover:0 8px 32px #0000001a}[data-theme=dark] [data-discipline=dev],[data-discipline=dev]{--accent:#9ed8ff;--accent-glow:#9ed8ff33;--accent-tint:#9ed8ff0d}[data-theme=dark] [data-discipline=automation],[data-discipline=automation]{--accent:#ffd8a8;--accent-glow:#ffd8a833;--accent-tint:#ffd8a80d}[data-theme=dark] [data-discipline="3d"],[data-discipline="3d"]{--accent:#d0c4ff;--accent-glow:#d0c4ff33;--accent-tint:#d0c4ff0d}[data-theme=dark] [data-discipline="2d"],[data-discipline="2d"]{--accent:#ffc9db;--accent-glow:#ffc9db33;--accent-tint:#ffc9db0d}[data-theme=light] [data-discipline=dev]{--accent:#74c0fc}[data-theme=light] [data-discipline=automation]{--accent:#ffa94d}[data-theme=light] [data-discipline="3d"]{--accent:#9775fa}[data-theme=light] [data-discipline="2d"]{--accent:#f06595}[data-discipline=dev]{--heading-tracking:-.03em;--heading-weight:600}[data-discipline=automation]{--heading-tracking:-.01em;--heading-weight:700}[data-discipline="3d"]{--heading-tracking:.02em;--heading-weight:500}[data-discipline="2d"]{--heading-tracking:-.02em;--heading-weight:800}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);letter-spacing:var(--body-tracking,0);min-height:100vh;line-height:1.6;transition:background-color .6s,color .4s;overflow-x:clip}a{color:var(--accent);transition:var(--transition-fast);text-decoration:none}a:hover{opacity:.85}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--heading-weight,700);letter-spacing:var(--heading-tracking,-.02em);color:var(--text-primary);line-height:1.1;transition:letter-spacing .6s,font-weight .3s,color .4s}h1{font-size:clamp(3.5rem,10vw,8rem);font-family:var(--font-heading);letter-spacing:-.04em;font-weight:700}h2{font-family:var(--font-serif);letter-spacing:-.01em;font-size:clamp(2rem,5vw,3.5rem);font-style:italic;font-weight:600}.section-heading{font-family:var(--font-serif);letter-spacing:-.01em;font-style:italic;font-weight:600}h3{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600}p{color:var(--text-secondary);font-size:1.05rem;line-height:1.7}.text-accent{color:var(--accent);transition:color .6s}.text-serif{font-family:var(--font-serif);font-style:italic}.section{width:100%;max-width:1200px;padding:var(--space-4xl) var(--space-xl);margin:0 auto}main{z-index:1;position:relative}.avatar-canvas-active{pointer-events:none}.avatar-canvas-active>:not(.hero__scroll-container){pointer-events:auto}.navbar,.disciplines__tabs{z-index:100;-webkit-backdrop-filter:blur(28px)saturate(1.8);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;justify-content:center;align-items:center;gap:12px;width:auto;min-width:fit-content;transition:all 1s cubic-bezier(.22,1,.36,1);display:flex;box-shadow:0 4px 20px #0000001a}.navbar{will-change:transform, width, max-width;width:318px;max-width:calc(100vw - 32px);padding:6px 14px;top:16px;left:50%;overflow:hidden;transform:translate(-50%);position:fixed!important}.disciplines__tabs{margin-bottom:var(--space-3xl);max-width:90vw;margin-left:auto;margin-right:auto;padding:8px 18px;position:relative}.navbar__logo-wrapper,.disciplines__logo-wrapper{color:var(--text-primary);flex-shrink:0;align-items:center;gap:12px;display:flex}.disciplines__heading-mini{font-family:var(--font-body);color:var(--text-primary);white-space:nowrap;font-size:.85rem;font-weight:700}.navbar__separator{background:var(--glass-border);opacity:.4;width:1px;height:18px}.navbar__links,.disciplines__links{align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex;position:relative}.navbar__hover-pill,.disciplines__hover-pill{background:var(--accent-glow);z-index:1;pointer-events:none;opacity:0;border-radius:6px;transition:all .5s cubic-bezier(.34,1.2,.7,1);position:absolute;top:1px;bottom:0}.navbar__glow,.disciplines__glow{background:linear-gradient(90deg, transparent 0%, var(--accent-glow) 25%, #fff 50%, var(--accent-glow) 75%, transparent 100%);height:1px;filter:drop-shadow(0 0 4px var(--accent-glow));border-radius:var(--radius-full);z-index:0;pointer-events:none;opacity:0;transition:all .6s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-.5em}[data-theme=light] .navbar__glow,[data-theme=light] .disciplines__glow{background:linear-gradient(90deg, transparent 0%, var(--accent) 50%, transparent 100%);filter:drop-shadow(0 0 4px var(--accent-glow))}.navbar__link,.disciplines__tab{font-family:var(--font-body);color:var(--text-secondary);z-index:2;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 12px;font-size:.78rem;font-weight:700;text-decoration:none;transition:color .3s;position:relative}.navbar__link:hover,.disciplines__tab:hover,.navbar__link--active,.disciplines__tab--active{color:var(--text-primary)}.theme-toggle{border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--border-color);height:32px;color:var(--text-secondary);flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;font-size:.85rem;transition:all .3s;display:flex}.theme-toggle:hover{background:var(--accent-tint);border-color:var(--accent);color:var(--accent)}.theme-toggle:active{transform:translateY(0)}.theme-toggle__icon{justify-content:center;align-items:center;transition:transform .5s cubic-bezier(.4,0,.2,1);display:flex}.theme-toggle:hover .theme-toggle__icon{transform:rotate(15deg)}.theme-toggle__text{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-size:.6rem}body{transition:background-color .8s cubic-bezier(.4,0,.2,1),color .6s cubic-bezier(.4,0,.2,1)}a,button,.project-card,.footer{transition:background-color .6s,border-color .6s,color .6s}.navbar,.disciplines__tabs{transition:width .74s cubic-bezier(.16,1,.3,1),max-width .74s cubic-bezier(.16,1,.3,1),padding .62s cubic-bezier(.16,1,.3,1),border-radius .62s cubic-bezier(.16,1,.3,1),background-color .6s,border-color .6s,box-shadow .6s}@keyframes glowPulse{0%,to{opacity:.5;filter:blur(1px)}50%{opacity:1;filter:blur(2px)}}.navbar__morph-container{z-index:2;align-items:center;transition:flex-basis .74s cubic-bezier(.16,1,.3,1),width .74s cubic-bezier(.16,1,.3,1),max-width .74s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.navbar__nav-links{pointer-events:none;align-items:center;gap:2px;max-width:0;margin:0;padding:0;list-style:none;transition:max-width .74s cubic-bezier(.16,1,.3,1),opacity .28s,filter .32s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.navbar__nav-links--visible{pointer-events:auto;max-width:400px;transition-delay:0s}.navbar__discipline-tabs{pointer-events:none;align-items:center;gap:2px;max-width:0;transition:max-width .74s cubic-bezier(.16,1,.3,1),opacity .28s,filter .32s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.navbar__discipline-tabs--visible{pointer-events:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;max-width:calc(100vw - 32px);transition-delay:0s;overflow-x:auto}.navbar__discipline-tabs--visible::-webkit-scrollbar{display:none}.navbar__morph-item{white-space:nowrap;opacity:0;filter:blur(6px);flex-shrink:0;transition:opacity .22s,filter .24s cubic-bezier(.22,1,.36,1),transform .24s;transform:translate(6px)}.navbar__nav-links--visible .navbar__morph-item,.navbar__discipline-tabs--visible .navbar__morph-item{opacity:1;filter:blur();transform:translate(0)}.navbar__nav-links--visible .navbar__morph-item:first-child{transition:opacity .22s 50ms,transform .24s 50ms,filter .24s cubic-bezier(.22,1,.36,1) 50ms}.navbar__nav-links--visible .navbar__morph-item:nth-child(2){transition:opacity .22s 80ms,transform .24s 80ms,filter .24s cubic-bezier(.22,1,.36,1) 80ms}.navbar__nav-links--visible .navbar__morph-item:nth-child(3){transition:opacity .22s .11s,transform .24s .11s,filter .24s cubic-bezier(.22,1,.36,1) .11s}.navbar__discipline-tabs--visible .navbar__morph-item--logo{transition:opacity .22s 40ms,transform .24s 40ms,filter .24s cubic-bezier(.22,1,.36,1) 40ms}.navbar__discipline-tabs--visible .navbar__morph-item--sep{transition:opacity .2s 70ms,transform .22s 70ms,filter .22s cubic-bezier(.22,1,.36,1) 70ms}.navbar__discipline-tabs--visible .navbar__morph-item--link:first-of-type{transition:opacity .2s .1s,transform .22s .1s,filter .22s cubic-bezier(.22,1,.36,1) .1s}.navbar__discipline-tabs--visible .navbar__morph-item--link:nth-of-type(2){transition:opacity .2s .13s,transform .22s .13s,filter .22s cubic-bezier(.22,1,.36,1) .13s}.navbar__discipline-tabs--visible .navbar__morph-item--link:nth-of-type(3){transition:opacity .2s .16s,transform .22s .16s,filter .22s cubic-bezier(.22,1,.36,1) .16s}.navbar__discipline-tabs--visible .navbar__morph-item--link:nth-of-type(4){transition:opacity .2s .19s,transform .22s .19s,filter .22s cubic-bezier(.22,1,.36,1) .19s}.navbar__discipline-label{font-family:var(--font-body);color:var(--text-primary);white-space:nowrap;padding:0 8px;font-size:.85rem;font-weight:700}.navbar__link--discipline{cursor:pointer;background:0 0;border:none;padding:6px 12px}.navbar--morphed{width:620px;max-width:calc(100vw - 32px);padding:6px 18px}.navbar--changing .navbar__morph-item{opacity:.7;filter:blur(4px);transition:opacity .18s,filter .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.16,1,.3,1);transform:translate(4px)}.avatar-canvas{z-index:0;pointer-events:none;position:fixed;inset:0}.avatar-canvas--contact-cutout{z-index:12;pointer-events:none}.avatar-canvas canvas{pointer-events:none;width:100%;height:100%;display:block}.avatar-canvas *{pointer-events:none!important}.landing-scrubber{z-index:90;pointer-events:none;cursor:ns-resize;touch-action:none;overscroll-behavior:contain;color:#89c;opacity:0;-webkit-user-select:none;user-select:none;background:0 0;border:0;outline:none;width:44px;height:32vh;transition:opacity .16s linear;position:fixed;top:10.5vh;left:124px;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 23% 77%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 23% 77%,#0000 100%)}.landing-scrubber--active{pointer-events:auto}.landing-scrubber--ready{opacity:calc((1 - var(--hero-transition,0)) * .92)}.landing-scrubber:focus-visible{outline-offset:5px;outline:1px solid #ffffffb8}.landing-scrubber__scale{transform:translateY(var(--scrubber-shift,18%));will-change:transform;grid-template-rows:repeat(101,1fr);align-items:center;display:grid;position:absolute;inset:-25% 0}.landing-scrubber__tick{opacity:.72;background:currentColor;width:6px;height:1px;display:block}.landing-scrubber__tick--major{opacity:.95;width:13px}.landing-scrubber__indicator{background:#fff;width:20px;height:2px;position:absolute;top:37%;left:0;transform:translateY(-50%)}@media (width<=899px){.landing-scrubber{display:none;pointer-events:none!important}}.avatar-canvas__clip-layer{will-change:clip-path;transition:clip-path .42s cubic-bezier(.22,1,.36,1)}.hero--3d{background:0 0;width:100%;height:100vh;min-height:100vh;padding:0;display:block;position:relative;overflow:hidden}.hero__canvas-wrapper{z-index:0;position:absolute;inset:0}.hero__canvas-wrapper canvas{width:100%;height:100%;display:block}.hero__overlay{z-index:10;pointer-events:none;position:absolute;bottom:8vh;left:20vw}.hero__title-3d{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-family:Instrument Serif,serif;font-size:3rem;font-weight:400;line-height:1}.hero__subtitle-3d{color:var(--text-secondary);letter-spacing:.01em;margin-top:.2em;font-family:Instrument Serif,serif;font-size:clamp(1.2rem,2.5vw,1rem);font-style:italic;font-weight:400}.hero__tech-label{z-index:10;pointer-events:none;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);opacity:.5;font-size:.65rem;position:absolute;top:6vh;right:5vw}@media (width<=768px){.hero__overlay{bottom:6vh;left:6vw}.hero__title-3d{font-size:clamp(2.5rem,12vw,4rem)}.hero__subtitle-3d{font-size:clamp(1rem,4vw,1.4rem)}}.hero__scroll-container--mobile{height:118vh;position:relative}.hero--mobile{justify-content:center;align-items:center;display:flex}.hero-mobile__fade-target{will-change:opacity;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:absolute;inset:0}.hero-mobile__description-layer{z-index:1;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero-mobile__description{opacity:0;will-change:opacity, transform;margin:0 auto;transform:translateY(18px)}.hero-mobile__blueprint{z-index:0;opacity:0;transform-origin:50%;background:radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--mobile-grid) 22%, transparent), transparent 28%), linear-gradient(color-mix(in srgb, var(--mobile-grid) 18%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--mobile-grid) 18%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--mobile-grid) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--mobile-grid) 7%, transparent) 1px, transparent 1px);background-position:50%;background-size:100% 100%,56px 56px,56px 56px,14px 14px,14px 14px;transition:opacity .1s linear,transform .1s linear;position:absolute;inset:-4%}.hero-mobile__loading-overlay{z-index:100;pointer-events:none;background:#08090f;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero-mobile__loading-text{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:.72rem}.hero-mobile__stage{z-index:4;aspect-ratio:320/420;opacity:0;perspective:920px;width:min(78vw,330px);transform-style:preserve-3d;will-change:transform, opacity, filter;position:relative}.hero-mobile__halo,.hero-mobile__portrait-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hero-mobile__halo{z-index:1;pointer-events:none;transform:translateZ(-118px) rotateZ(var(--gyro-ring-rot,0deg));transform-origin:50%;will-change:transform}.hero-mobile__ring{fill:none;stroke:var(--accent);stroke-width:1.2px;vector-effect:non-scaling-stroke;opacity:0}.hero-mobile__ring--outer{stroke-opacity:.36}.hero-mobile__ring--inner{stroke-opacity:.22;stroke-dasharray:9 12}.hero-mobile__hud-mark{fill:none;stroke:color-mix(in srgb, var(--accent) 75%, white);stroke-width:1px;stroke-linecap:round;stroke-dasharray:8 10;opacity:0}.hero-mobile__portrait-frame{z-index:2;transform:translate3d(var(--gyro-photo-x,0px), var(--gyro-photo-y,0px), 92px);transform-style:preserve-3d;will-change:transform;position:absolute;inset:5% 4% 0;overflow:visible}.hero-mobile__panel-piece{z-index:1;border:1px solid color-mix(in srgb, var(--accent) 62%, white);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 24%, transparent), transparent 68%);opacity:0;-webkit-backdrop-filter:blur(4px);border-radius:999px;display:block;position:absolute}.hero-mobile__portrait-svg{z-index:2;filter:saturate(1.04)contrast(1.04);transform-origin:50%;transform:translateZ(58px)}.hero-mobile__photo{opacity:0;transform-box:fill-box;transform-origin:50%;will-change:transform, opacity, filter}.hero-mobile__portrait-outline{fill:none;stroke:color-mix(in srgb, var(--accent) 76%, white);stroke-width:2.25px;vector-effect:non-scaling-stroke;opacity:0}.hero-mobile__photo-sheen{z-index:3;pointer-events:none;mix-blend-mode:screen;opacity:0;transform:translate3d(var(--gyro-sheen-x,0px), var(--gyro-sheen-y,0px), 148px);will-change:transform, opacity;background:linear-gradient(105deg,#0000 28%,#ffffff52 48%,#0000 68%);border-radius:55% 45% 36% 58%/48% 34% 64% 52%;position:absolute;inset:5% 2% 0}.hero-mobile__label{text-align:center;width:max-content;max-width:calc(100vw - 32px);top:7vh;left:50%;right:auto;transform:translate(-50%)}.hero--mobile .hero__overlay{text-align:center;z-index:10;bottom:6vh;left:50%;transform:translate(-50%)}.hero-mobile__copy{width:min(88vw,420px)}.hero-mobile__title,.hero-mobile__subtitle{opacity:0}@media (width<=420px){.hero-mobile__stage{width:min(84vw,300px)}.hero--mobile .hero__overlay{bottom:5vh}}.disciplines{padding-top:var(--space-3xl);z-index:1;padding-bottom:40vh;position:relative}.disciplines__header{text-align:center;margin-bottom:var(--space-2xl)}.disciplines__heading{font-family:var(--font-serif);margin-bottom:var(--space-lg);font-size:clamp(2rem,5vw,3.5rem);font-style:italic;font-weight:600}.disciplines__tab{border-radius:var(--radius-full);font-size:.8rem;font-weight:600;font-family:var(--font-body);color:var(--text-secondary);z-index:2;white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:8px 16px;transition:color .3s;position:relative}.disciplines__tab:hover,.disciplines__tab--active{color:var(--text-primary)}.disciplines__description{text-align:left;max-width:650px;margin:0 auto var(--space-4xl);font-size:1.15rem;font-family:var(--font-serif);color:var(--text-secondary);padding:0 var(--space-xl);font-weight:400;line-height:1.85}.disciplines__description:first-letter{font-family:var(--font-serif);float:left;color:var(--text-primary);padding-top:.1em;padding-right:.15em;font-size:4rem;font-style:italic;font-weight:600;line-height:.8}.disciplines__carousel-wrapper{width:100%;position:relative}.disciplines__carousel{gap:var(--space-xl);scroll-snap-type:x mandatory;padding:var(--space-xl) var(--space-xl) 60px var(--space-xl);margin:0 calc(-1 * var(--space-xl));scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;display:flex;overflow-x:auto}.disciplines__carousel::-webkit-scrollbar{display:none}.disciplines__carousel-slide{flex:0 0 calc(33.333% - (var(--space-xl) * 2 / 3));scroll-snap-align:start}.disciplines__card-link,.disciplines__card-link:hover,.moodboard__link:hover{color:inherit;opacity:1;text-decoration:none;display:block}@media (width<=900px){.disciplines__carousel-slide{flex:0 0 calc(50% - var(--space-xl) / 2)}}@media (width<=600px){.disciplines__carousel-slide{flex:0 0 85%}}.disciplines__carousel-btn{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);width:52px;height:52px;color:var(--text-primary);cursor:pointer;z-index:10;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 12px #00000026}.disciplines__carousel-btn:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.disciplines__carousel-btn--prev{left:-30px}.disciplines__carousel-btn--next{right:-30px}@media (width<=900px){.disciplines__carousel-btn{display:none}}.project-card{border-radius:var(--radius-lg);isolation:isolate;will-change:transform;transform-style:preserve-3d;cursor:pointer;aspect-ratio:3/4;background:0 0;border:none;transition:box-shadow .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}[data-theme=light] .project-card{box-shadow:0 4px 24px #00000014,0 1px 3px #0000000d,inset 0 .5px #ffffff80}.project-card:hover{box-shadow:0 8px 32px #00000059,inset 0 .5px #ffffff14}[data-theme=light] .project-card:hover{box-shadow:0 8px 24px #0000001f,inset 0 .5px #fff9}.project-card__specular{border-radius:var(--radius-lg);pointer-events:none;z-index:10;opacity:0;background:radial-gradient(circle at var(--specular-x,50%) var(--specular-y,50%), #ffffff0d 0%, transparent 60%);transition:opacity .3s;position:absolute;inset:0}.project-card:hover .project-card__specular{opacity:0}.project-card__balloon,.project-card__cursor-wake{border-radius:inherit;pointer-events:none;opacity:0;z-index:9;position:absolute;inset:0}.project-card__cursor-wake{display:none}.project-card__image-fill{border-radius:var(--radius-lg);z-index:1;transform:translate3d(calc(var(--card-nx,0) * -14px), calc(var(--card-ny,0) * -12px), 18px) scale(var(--image-scale,1.035));transform-origin:50%;transform-style:preserve-3d;will-change:transform;transition:transform .52s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;overflow:hidden}.project-card__image-fill img{object-fit:cover;will-change:transform;width:100%;height:100%;transition:transform .15s ease-out}.project-card__frost{z-index:5;pointer-events:none;height:100%;transform:translate3d(calc(var(--card-nx,0) * 10px), calc(var(--card-ny,0) * 8px), 44px);transform-style:preserve-3d;will-change:transform;flex-direction:column;justify-content:flex-end;transition:transform .52s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;inset:0}.project-card__frost-content{z-index:2;padding:var(--space-xl);border-radius:0 0 var(--radius-lg) var(--radius-lg);transform-style:preserve-3d;position:relative;transform:translateZ(36px)}.project-card__overlay-bg{z-index:0;border-radius:var(--radius-lg);background:var(--accent-tint);-webkit-backdrop-filter:blur(24px)saturate(1.8);backdrop-filter:blur(24px)saturate(1.8);border:1px solid var(--glass-border);pointer-events:none;border-top:1px solid #ffffff26;transition:opacity .8s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;box-shadow:0 4px 30px #0003}.project-card:hover .project-card__overlay-bg{opacity:1}.project-card__content{padding:var(--space-lg)}.project-card__thumbnail{background:var(--bg-tertiary);width:100%;height:220px;position:relative;overflow:hidden}.project-card__thumbnail img{object-fit:cover;will-change:transform;width:100%;height:100%;transition:transform .15s ease-out}.project-card__title{font-family:var(--font-display);color:#fff;text-shadow:0 1px 4px #0000004d;margin-bottom:0;font-size:1.05rem;font-weight:700;transition:font-size .8s cubic-bezier(.22,1,.36,1),color .3s,opacity .8s cubic-bezier(.22,1,.36,1),filter 1.2s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);animation:.8s cubic-bezier(.22,1,.36,1) title-blur-pulse-out;transform:translateY(10px)}@keyframes title-blur-pulse-in{0%{filter:blur()}30%{filter:blur(6px)}to{filter:blur()}}@keyframes title-blur-pulse-out{0%{filter:blur()}30%{filter:blur(6px)}to{filter:blur()}}.project-card:hover .project-card__title{font-size:1.25rem;animation:.8s cubic-bezier(.22,1,.36,1) title-blur-pulse-in;transform:translateY(0)}[data-discipline="3d"] .project-card__title,[data-discipline="2d"] .project-card__title{font-family:var(--font-serif);letter-spacing:-.01em;font-size:1.3rem;font-style:italic;font-weight:600}.project-card__subtext{opacity:0;filter:blur(8px);grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .8s cubic-bezier(.22,1,.36,1),opacity .8s cubic-bezier(.22,1,.36,1),margin-top .8s cubic-bezier(.22,1,.36,1),filter 1.2s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);display:grid;transform:translateY(10px)}.project-card__subtext-inner{flex-direction:column;display:flex;overflow:hidden}.project-card:hover .project-card__subtext{opacity:1;filter:blur();margin-top:var(--space-sm);grid-template-rows:1fr;transform:translateY(0)}.project-card__desc{color:#ffffffbf;margin-bottom:var(--space-md);text-shadow:0 1px 3px #0003;font-size:.85rem;line-height:1.55}.project-card__tags{gap:var(--space-sm);flex-wrap:wrap;display:flex}.project-card__tag{border-radius:var(--radius-full);color:var(--accent);font-size:.7rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.02em;-webkit-backdrop-filter:blur(8px);background:#ffffff1a;padding:3px 10px;transition:background .4s,color .4s}.disciplines__moodboard{width:100%}.disciplines__moodboard-heading{max-width:620px;margin:0 auto var(--space-xl);text-align:center}.disciplines__moodboard-heading h3{font-family:var(--font-serif);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,4vw,3.4rem);font-style:italic;font-weight:600}.disciplines__moodboard-heading p{max-width:520px;color:var(--text-secondary);margin:.8rem auto 0;font-size:.9rem;line-height:1.65}.moodboard-shell{width:100%}.moodboard-toolbar{min-height:44px;margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;padding:0 .25rem;display:flex}.moodboard-toolbar__hint{color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:.03em;align-items:center;gap:.65rem;margin:0;font-size:.68rem;display:flex}.moodboard-toolbar__count{border:1px solid var(--border-color);border-radius:var(--radius-full);min-width:2.75rem;color:var(--text-secondary);background:var(--bg-secondary);place-items:center;padding:.35rem .5rem;display:inline-grid}.moodboard-reset{border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);background:var(--bg-secondary);font-family:var(--font-mono);cursor:pointer;align-items:center;gap:.45rem;padding:.55rem .8rem;font-size:.68rem;transition:color .2s,border-color .2s,background .2s,transform .2s;display:inline-flex}.moodboard-reset:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border-color));color:var(--text-primary);background:var(--accent-tint);transform:translateY(-1px)}.moodboard-reset:disabled{cursor:wait;opacity:.6}.moodboard-reset svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:14px;height:14px}.moodboard{isolation:isolate;background:radial-gradient(circle at 18% 22%, var(--accent-tint), transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--bg-secondary) 92%, var(--accent) 8%), var(--bg-secondary));border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;border-radius:clamp(18px,3vw,32px);width:100%;height:clamp(570px,69vw,780px);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 24px 80px #0000001f}.moodboard:before{z-index:-1;background-image:linear-gradient(color-mix(in srgb, var(--border-color) 55%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--border-color) 55%, transparent) 1px, transparent 1px);content:"";opacity:.58;background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}.moodboard__ambient{aspect-ratio:1;background:var(--accent);filter:blur(110px);opacity:.06;pointer-events:none;border-radius:50%;width:28%;position:absolute;bottom:6%;right:5%}.moodboard__card{left:var(--board-x);top:var(--board-y);cursor:grab;touch-action:none;width:clamp(185px,24vw,290px);transform:translate3d(calc(var(--board-anchor-x,0px) + var(--board-offset-x)), var(--board-offset-y), 0) rotate(var(--board-rotate));transform-origin:50%;will-change:transform;transition:transform .18s cubic-bezier(.16,1,.3,1),opacity .2s,filter .2s;position:absolute}.moodboard__card--wide{width:clamp(210px,27vw,330px)}.moodboard__card--tall{width:clamp(175px,22vw,265px)}.moodboard__card--active{cursor:grabbing;transition:none}.moodboard__card--dismissed{opacity:0;filter:blur(3px);pointer-events:none;transition:transform .52s cubic-bezier(.2,.8,.2,1),opacity .34s,filter .34s}.moodboard__card--cycling-out{opacity:0;filter:blur(2px);pointer-events:none;transition:transform .26s cubic-bezier(.4,0,1,1),opacity .2s,filter .2s}.moodboard__card--cycling-in{opacity:0;pointer-events:none;transition:none}.moodboard--resetting .moodboard__card{transition:transform .62s cubic-bezier(.16,1,.3,1),opacity .3s,filter .3s}.moodboard__link{width:100%;color:inherit;-webkit-user-drag:none;text-decoration:none;display:block}.moodboard__link--button{border-radius:var(--radius-lg);height:auto;min-height:0;font:inherit;text-align:inherit;background:0 0;border:0;padding:0}.moodboard__link--button:hover,.moodboard__link--button:active{opacity:1;background:0 0}.moodboard__link .project-card{width:100%;box-shadow:0 16px 38px #0000003d,0 2px 7px #00000029}.moodboard__card img{-webkit-user-drag:none;pointer-events:none}.moodboard__link--disabled{cursor:default}.moodboard__source{z-index:20;border-radius:var(--radius-full);color:#ffffffdb;-webkit-backdrop-filter:blur(10px);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;background:#0c0e14bd;border:1px solid #ffffff38;padding:.35rem .55rem;font-size:.58rem;font-weight:700;position:absolute;top:-.7rem;right:.8rem}.moodboard__source--instagram{background:linear-gradient(120deg,#833ab4e0,#e1306ce0,#fcaf45e0)}.moodboard__card-title{z-index:20;border-radius:calc(var(--radius-lg) - 6px);color:#fff;font-family:var(--font-serif);text-shadow:0 1px 3px #00000073;pointer-events:none;background:linear-gradient(#07090e7a,#07090ed1);padding:.6rem .7rem;font-size:clamp(.78rem,1.5vw,1rem);font-style:italic;font-weight:600;line-height:1.2;position:absolute;bottom:.7rem;left:.7rem;right:.7rem}.moodboard-player{z-index:1000;-webkit-backdrop-filter:blur(14px);background:#05070cd1;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.moodboard-player__panel{border-radius:var(--radius-lg);background:#090b10;border:1px solid #ffffff24;width:min(920px,94vw);padding:.75rem;position:relative;box-shadow:0 30px 100px #0000008c}.moodboard-player__panel video{border-radius:calc(var(--radius-lg) - 6px);background:#000;width:100%;max-height:78vh;display:block}.moodboard-player__panel p{color:#ffffffc7;font-family:var(--font-mono);margin:.7rem .3rem .1rem;font-size:.7rem}.moodboard-player__close{z-index:2;color:#fff;cursor:pointer;background:#171a22;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:34px;height:34px;min-height:0;padding:0;font-size:1.25rem;line-height:1;display:grid;position:absolute;top:-.8rem;right:-.8rem}.moodboard__instruction{color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:.04em;pointer-events:none;margin:0;font-size:.6rem;position:absolute;bottom:1rem;right:1.25rem}.moodboard-empty{min-height:320px;padding:var(--space-2xl);border:1px dashed var(--border-color);color:var(--text-secondary);background:linear-gradient(var(--border-color) 1px, transparent 1px), linear-gradient(90deg, var(--border-color) 1px, transparent 1px), var(--bg-secondary);text-align:center;background-size:44px 44px;border-radius:clamp(18px,3vw,32px);align-content:center;place-items:center;display:grid}.moodboard-empty__mark{color:var(--accent);margin-bottom:.8rem;font-size:1.8rem}.moodboard-empty p{color:var(--text-primary);font-family:var(--font-serif);margin:0;font-size:clamp(1.35rem,3vw,2rem);font-style:italic}.moodboard-empty>span:last-child{margin-top:.55rem;font-size:.8rem}.contact{padding:0 0 calc(var(--space-4xl) * 1.5) 0;z-index:10;flex-direction:column;align-items:center;display:flex;position:relative}.contact__card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);gap:var(--space-2xl);grid-template-columns:1fr auto;align-items:center;max-width:800px;margin:0 auto;padding:clamp(2rem,5vw,3.5rem);display:grid;position:relative;overflow:hidden;box-shadow:0 8px 40px #00000026}.contact__content{gap:var(--space-lg);flex-direction:column;display:flex}.contact__heading{font-size:clamp(1.6rem,3vw,2.2rem);font-family:var(--font-serif);color:var(--text-primary);letter-spacing:-.02em;font-style:italic;font-weight:600;line-height:1.2}.contact__subtext{color:var(--text-secondary);font-size:.95rem;line-height:1.8}.contact__email-link{color:var(--accent);text-underline-offset:3px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;transition:color .3s,text-decoration-color .3s}.contact__email-link:hover{color:var(--text-primary);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.contact__socials{gap:var(--space-sm);display:flex}.contact__social-link{border-radius:var(--radius-md);border:1px solid var(--border-color);width:42px;height:42px;color:var(--text-secondary);will-change:transform;background:0 0;justify-content:center;align-items:center;transition:border-color .3s,color .3s,background .3s,box-shadow .3s;display:flex}.contact__social-link:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint);box-shadow:0 4px 16px var(--accent-glow)}.contact__avatar-wrapper{background:#00000040;border-radius:65% 45% 35% 60%/55% 40% 60% 45%;flex-shrink:0;justify-content:center;align-items:flex-end;width:clamp(140px,20vw,220px);height:clamp(180px,25vw,280px);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 8px 32px #0009}.contact__avatar-wrapper--3d-active{border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);background:0 0;box-shadow:inset 0 8px 32px #00000057,inset 0 1px #ffffff0f}.contact__avatar-inner{position:absolute;inset:0;overflow:visible}.contact__avatar-svg-container{justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0;overflow:visible}.contact__avatar-svg-container svg{width:130%;height:auto;margin-bottom:-15%;display:block}.contact__wave-heading{font-family:var(--font-sans);color:var(--text-primary);text-align:center;letter-spacing:-.04em;z-index:2;margin:0;font-size:clamp(4rem,10vw,8rem);font-weight:800;line-height:1;position:relative;transform:translateY(2.5rem)}.contact__footer{text-align:center;padding:var(--space-3xl) var(--space-md) var(--space-xl);color:var(--text-tertiary);font-size:.78rem;font-family:var(--font-mono);letter-spacing:.04em}@media (width<=640px){.contact__card{text-align:center;grid-template-columns:1fr}.contact__socials{justify-content:center}.contact__avatar-wrapper{width:160px;height:200px;margin:0 auto}}.magnetic{will-change:transform;transition:transform .15s ease-out}@keyframes heroFadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes heroScaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.hero__animate{opacity:0;animation-fill-mode:forwards}.hero__animate--1{animation:1s cubic-bezier(.4,0,.2,1) .2s forwards heroScaleIn}.hero__animate--2{animation:.9s cubic-bezier(.4,0,.2,1) .5s forwards heroFadeInUp}.hero__animate--3{animation:.8s cubic-bezier(.4,0,.2,1) .7s forwards heroFadeInUp}.hero__animate--4{animation:.7s cubic-bezier(.4,0,.2,1) .9s forwards heroFadeInUp}.hero__animate--5{animation:.6s cubic-bezier(.4,0,.2,1) 1.2s forwards heroFadeInUp}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);transform:translateY(30px)}.reveal--visible{opacity:1;transform:translateY(0)}.reveal--delay-1{transition-delay:.1s}.reveal--delay-2{transition-delay:.2s}.reveal--delay-3{transition-delay:.3s}.reveal--delay-4{transition-delay:.4s}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (width<=768px){.section{padding:var(--space-2xl) var(--space-md)}.hero__photo-wrapper{width:120px;height:120px}.contact__inner{gap:var(--space-2xl);grid-template-columns:1fr}.disciplines__tabs{border-radius:var(--radius-lg);flex-wrap:wrap}.disciplines__tab{padding:8px var(--space-sm);font-size:.75rem}.disciplines__grid{grid-template-columns:1fr}.navbar{width:318px;max-width:calc(100vw - 32px);top:max(10px, calc(env(safe-area-inset-top,0px) + 8px));border-radius:8px;justify-content:flex-start;padding:4px 6px;transition:width .74s cubic-bezier(.16,1,.3,1),max-width .74s cubic-bezier(.16,1,.3,1),padding .62s cubic-bezier(.16,1,.3,1),border-radius .62s cubic-bezier(.16,1,.3,1),background-color .6s,border-color .6s,box-shadow .6s;overflow:hidden}.navbar--morphed{border-radius:9px;width:360px;max-width:calc(100vw - 40px);padding:4px 8px}.navbar__links{flex:auto;gap:1px;width:100%;min-width:0}.navbar__morph-container{contain:paint;flex:auto;min-width:0;transition:flex-basis .74s cubic-bezier(.16,1,.3,1),width .74s cubic-bezier(.16,1,.3,1),max-width .74s cubic-bezier(.16,1,.3,1);overflow:clip}.navbar__nav-links,.navbar__discipline-tabs{min-width:0;transition:max-width .74s cubic-bezier(.16,1,.3,1),opacity .28s,filter .32s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.16,1,.3,1)}.navbar__nav-links--visible{justify-content:space-between;width:100%;max-width:220px}.navbar__discipline-tabs--visible{overscroll-behavior-x:contain;contain:paint;justify-content:space-between;width:100%;max-width:300px;overflow:auto hidden}.navbar--changing .navbar__morph-item{opacity:.7;filter:blur(4px);transition:opacity .18s,filter .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.16,1,.3,1);transform:translate(4px)}.hero--mobile,.hero-mobile__fade-target{overflow:hidden}.theme-toggle{flex:0 0 28px;justify-content:center;width:28px;height:28px;padding:0}.navbar>.navbar__links>.navbar__separator{margin:0 4px!important}.navbar__link{padding:6px 7px;font-size:.7rem}.navbar__section-label,.navbar__discipline-label,.navbar__discipline-tabs .navbar__separator{display:none}.navbar__link--discipline{white-space:nowrap;padding:6px 7px;font-size:.7rem}.moodboard{height:min(132vw,520px);box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.moodboard:before,.moodboard__ambient{display:none}.moodboard-toolbar__hint{max-width:170px;line-height:1.4}.moodboard__card,.moodboard__card--wide,.moodboard__card--tall{touch-action:pan-y;width:calc(100% - 16px)}.moodboard__card:nth-of-type(3n){width:calc(100% - 20px)}.moodboard__link .project-card{aspect-ratio:3/4!important}.moodboard__instruction{display:none}}@media (width<=480px){h1{font-size:clamp(2.5rem,15vw,4rem)}.hero__photo-wrapper{width:100px;height:100px}.navbar{width:312px;max-width:calc(100vw - 28px);padding:4px 5px}.navbar--morphed{width:348px;max-width:calc(100vw - 32px);padding:4px 6px}.navbar__nav-links--visible{max-width:214px}.navbar__discipline-tabs--visible{max-width:284px}.navbar__link{padding:6px;font-size:.68rem}}
