:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--scene-shift-x:0px;--scene-shift-y:0px;--scene-scale:1;--scene-warmth:0deg;--scene-index:0;--bg:#020403;--panel:#0812129e;--panel-strong:#0b1918d1;--line:#7fd8ff38;--line-warm:#f4d28a47;--text:#edfdf8;--muted:#edfdf8ad;--soft:#edfdf875;--cyan:#00f5d4;--blue:#7fd8ff;--gold:#f4d28a;--danger-dark:#170d05;font-synthesis:none;text-rendering:geometricprecision;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);overflow:hidden}body{min-width:320px;height:100svh;color:var(--text);background:radial-gradient(circle at 78% 12%,#f4d28a2e,#0000 32rem),radial-gradient(circle at 14% 22%,#00f5d42e,#0000 30rem),linear-gradient(145deg,#020403 0%,#061010 46%,#0a0905 100%);margin:0;overflow:hidden}body:before{z-index:-4;pointer-events:none;content:"";transform:translate3d(calc(var(--scene-shift-x) * -.18), calc(var(--scene-shift-y) * -.18), 0) scale(var(--scene-scale));filter:hue-rotate(var(--scene-warmth));background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:72px 72px;transition:transform .9s,filter .9s;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 22%,#000,#0000 78%);mask-image:radial-gradient(circle at 50% 22%,#000,#0000 78%)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}#app{isolation:isolate;min-height:100vh}#app.app-loading .site-header,#app.app-loading .content-track,#app.app-loading .music-control,#app.app-loading .scene-nav{opacity:0;visibility:hidden}#app.app-ready .site-header,#app.app-ready .content-track,#app.app-ready .music-control,#app.app-ready .scene-nav{opacity:1;visibility:visible;transition:opacity .22s}#particle-stage,#cursor-particle-stage,.video-reserve,.scanline,.burst-layer{pointer-events:none;position:fixed;inset:0}#particle-stage{z-index:-3;width:100%;height:100%}#cursor-particle-stage{z-index:90;mix-blend-mode:screen;width:100%;height:100%}.video-reserve{z-index:-5;opacity:.62;filter:blur(1px);transform:translate3d(var(--scene-shift-x), var(--scene-shift-y), 0) scale(var(--scene-scale));background:linear-gradient(110deg,#0000 0 20%,#00f5d414 24%,#0000 30%),linear-gradient(290deg,#0000 0 56%,#f4d28a14 61%,#0000 70%);transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .9s}.scanline{z-index:72;opacity:.23;mix-blend-mode:soft-light;background:repeating-linear-gradient(#ffffff0a 0 1px,#0000 1px 5px)}.burst-layer{z-index:100;overflow:hidden}.burst-particle,.burst-beam{pointer-events:none;transform-origin:50%;position:absolute;top:0;left:0}.burst-particle{opacity:0;background:color-mix(in srgb, var(--accent), white 20%);width:.46rem;height:.46rem;box-shadow:0 0 16px color-mix(in srgb, var(--accent), transparent 10%), 0 0 36px color-mix(in srgb, var(--accent), transparent 52%);border-radius:50%}.burst-particle:nth-child(3n){border-radius:999px;width:.24rem;height:1.1rem}.burst-particle:nth-child(4n){border-radius:0;width:.7rem;height:.7rem;transform:rotate(45deg)}.burst-beam{opacity:.75;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent), white 18%), transparent);width:120px;height:2px;box-shadow:0 0 18px color-mix(in srgb, var(--accent), transparent 20%)}.site-header{z-index:30;background:linear-gradient(#020403c2,#0000);justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,3vw,2.5rem);display:flex;position:fixed;top:0;left:0;right:0}.music-control{z-index:83;width:min(24rem,100vw - 2rem);color:var(--text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 0,#00f5d41f,#0000 58%),#02080894;border:1px solid #7fd8ff38;grid-template-columns:auto minmax(0,6.8rem) minmax(5rem,7.2rem);align-items:center;gap:.7rem;padding:.62rem .72rem;display:grid;position:fixed;top:4.65rem;right:clamp(1rem,2.5vw,2rem);box-shadow:0 18px 52px #00000052,inset 0 0 28px #00f5d40f}.music-toggle{cursor:pointer;background:radial-gradient(circle,#f4d28a2e,#0000 68%),#ffffff0b;border:1px solid #f4d28a52;border-radius:50%;place-items:center;width:2.35rem;height:2.35rem;display:grid;position:relative}.music-toggle:before,.music-toggle:after,.music-icon{content:"";position:absolute}.music-toggle:before{border:1px solid #00f5d447;border-radius:50%;inset:.42rem}.music-toggle:after{border-top:.38rem solid #0000;border-bottom:.38rem solid #0000;border-left:.58rem solid var(--text);width:0;height:0;margin-left:.12rem}.music-control.is-playing .music-toggle:after{background:linear-gradient(90deg, var(--text) 0 32%, transparent 32% 68%, var(--text) 68% 100%);border:0;width:.56rem;height:.72rem;margin-left:0}.music-icon{opacity:0;border:1px solid #00f5d457;border-radius:50%;inset:-.24rem}.music-control.is-playing .music-icon{opacity:1;animation:1.8s ease-out infinite music-ring}.music-meta{gap:.1rem;min-width:0;display:grid}.music-meta span,.volume-control span{color:var(--gold);font-size:.62rem;font-weight:900}.music-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.volume-control{gap:.25rem;display:grid}.volume-control input{width:100%;accent-color:var(--cyan);cursor:pointer}@keyframes music-ring{0%{opacity:.68;transform:scale(.84)}to{opacity:0;transform:scale(1.45)}}.scene-nav{z-index:82;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0208087a;border:1px solid #7fd8ff33;align-items:center;gap:.65rem;padding:.55rem;display:flex;position:fixed;bottom:clamp(1rem,4vh,2rem);right:clamp(1rem,2.5vw,2rem)}.dialog-open .scene-nav{opacity:0;pointer-events:none}.scene-step,.scene-dot{color:var(--muted);cursor:pointer;background:#ffffff0a;border:1px solid #edfdf824}.scene-step{text-transform:uppercase;min-height:2rem;padding:.42rem .62rem;font-size:.68rem;font-weight:800}.scene-dots{gap:.38rem;display:flex}.scene-dot{width:.68rem;height:.68rem;padding:0}.scene-dot.is-active{border-color:var(--gold);background:linear-gradient(135deg, var(--cyan), var(--gold));box-shadow:0 0 18px #00f5d457}.brand,.nav-links,.hero-actions,.dialog-actions{align-items:center;display:flex}.brand{color:var(--muted);text-transform:uppercase;gap:.7rem;font-size:.82rem}.brand-mark{color:#03110e;background:linear-gradient(135deg, var(--cyan), var(--gold));place-items:center;width:2.35rem;height:2.35rem;font-weight:900;display:grid;box-shadow:0 0 32px #00f5d447}.nav-links{color:var(--muted);text-transform:uppercase;gap:clamp(.7rem,2vw,1.4rem);font-size:.78rem}.nav-links a{padding:.55rem 0}.nav-links a:hover,.brand:hover,.contact-link:hover{color:var(--text)}.content-track{will-change:transform;width:max-content;height:100svh;display:flex}.section{overscroll-behavior:contain;flex:0 0 100vw;width:100vw;height:100svh;min-height:100svh;margin:0;padding:clamp(6rem,11vh,8rem) max(1rem,50vw - 590px);overflow:hidden}.hero-section{grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:center;gap:clamp(2rem,7vw,6rem);display:grid}.hero-copy{max-width:760px}.eyebrow{color:var(--gold);text-transform:uppercase;margin:0 0 .85rem;font-size:.72rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{max-width:12ch;margin-bottom:1.15rem;font-size:clamp(3rem,8.7vw,7.8rem);font-weight:900;line-height:.92}h2{margin-bottom:1rem;font-size:clamp(2.1rem,5vw,4.8rem);line-height:.98}h3{margin-bottom:.8rem;font-size:clamp(1.25rem,2vw,1.6rem)}p{color:var(--muted);line-height:1.75}.hero-subtitle{max-width:720px;font-size:clamp(1rem,1.9vw,1.18rem)}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2rem}.primary-action,.secondary-action,.dialog-actions a{border:1px solid var(--line);min-height:2.9rem;padding:.85rem 1.15rem;font-weight:800}.dialog-actions a[aria-disabled=true]{cursor:not-allowed;opacity:.46}.primary-action{color:#02110e;background:linear-gradient(135deg, var(--cyan), var(--gold));box-shadow:0 0 34px #00f5d438}.secondary-action,.dialog-actions a{background:#ffffff0a}.glass-panel{border:1px solid var(--line);background:linear-gradient(150deg, var(--panel), #060a086b);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 24px 80px #00000052}.signal-panel{border:1px solid var(--line-warm);isolation:isolate;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 18% 22%,#00f5d43d,#0000 28%),radial-gradient(circle at 88% 8%,#f4d28a2e,#0000 32%),linear-gradient(170deg,#f4d28a21,#0000 48%),#040c0c9e;padding:1.25rem;position:relative;overflow:hidden}.signal-panel:before,.signal-panel:after{pointer-events:none;content:"";z-index:-1;position:absolute}.signal-panel:before{opacity:.42;background:linear-gradient(#7fd8ff1f 1px,#0000 1px) 0 0/2.8rem 2.8rem,linear-gradient(90deg,#7fd8ff1f 1px,#0000 1px) 0 0/2.8rem 2.8rem,radial-gradient(circle,#00f5d4bf 0 1px,#0000 1.8px) 18% 74%/4.8rem 4.8rem,radial-gradient(circle,#f4d28ab3 0 1px,#0000 1.8px) 78% 20%/6rem 6rem;animation:9s linear infinite signal-grid-drift;inset:0;-webkit-mask-image:radial-gradient(circle at 54% 52%,#000,#0000 72%);mask-image:radial-gradient(circle at 54% 52%,#000,#0000 72%)}.signal-panel:after{background:radial-gradient(circle,#00f5d42e,#0000 62%);border:1px solid #00f5d438;border-radius:50%;width:12rem;height:12rem;animation:7s ease-in-out infinite alternate signal-orbit;bottom:-5rem;right:-4rem;box-shadow:0 0 48px #00f5d424,inset 0 0 32px #f4d28a1f}.panel-label{color:var(--soft);text-transform:uppercase;margin-bottom:4.5rem;font-size:.68rem;display:block}.signal-panel strong{text-shadow:0 0 22px #00f5d43d;margin-bottom:.45rem;font-size:1.7rem;display:block}.signal-bars{grid-template-columns:repeat(5,1fr);align-items:end;gap:.45rem;height:4.6rem;margin-top:1rem;display:grid}.signal-bars span{background:linear-gradient(to top, var(--cyan), var(--gold)), radial-gradient(circle at 50% 0, #ffffff9e, transparent 36%);min-height:20%;animation:1.4s ease-in-out infinite alternate level,2.8s ease-in-out infinite signal-glow;box-shadow:0 0 18px #00f5d429}.signal-bars span:nth-child(2){animation-delay:.2s}.signal-bars span:nth-child(3){animation-delay:.4s}.signal-bars span:nth-child(4){animation-delay:.1s}.signal-bars span:nth-child(5){animation-delay:.32s}@keyframes level{0%{height:28%}to{height:100%}}.split-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);display:grid}.profile-grid{align-items:stretch;gap:1rem;display:grid}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@keyframes signal-grid-drift{0%{transform:translate(0,0)}to{transform:translate(-2.8rem,-2.8rem)}}@keyframes signal-orbit{0%{opacity:.48;transform:translate(0,0)scale(.94)}to{opacity:.82;transform:translate(-1.2rem,-.8rem)scale(1.08)}}@keyframes signal-glow{0%,to{filter:saturate()}50%{filter:saturate(1.45)brightness(1.12)}}.empty-state{grid-column:1/-1;padding:clamp(1rem,3vw,1.5rem)}.empty-state h3{margin:0 0 .5rem;font-size:clamp(1.2rem,2vw,1.6rem)}.empty-state p{color:var(--muted);margin:0;line-height:1.7}.profile-card,.profile-grid .glass-panel{padding:clamp(1.1rem,3vw,1.7rem)}.profile-card{padding-top:clamp(1.7rem,4vw,2.2rem)}.avatar-orbit{background:radial-gradient(circle at 44% 36%,#f4d28a47,#0000 16%),radial-gradient(circle at 58% 62%,#00f5d46b,#0000 31%),linear-gradient(145deg,#071414eb,#030808c2);border:1px solid #7fd8ff47;border-radius:50%;place-items:center;width:8.8rem;height:8.8rem;margin:0 0 1.6rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 38px #00f5d41f,0 0 44px #00f5d42e}.avatar-core{z-index:3;width:5.45rem;height:5.45rem;color:var(--text);background:radial-gradient(circle at 35% 30%,#edfdf833,#0000 28%),#020808e0;border:1px solid #edfdf82e;border-radius:50%;place-items:center;font-size:1.5rem;font-weight:900;display:grid;position:relative;box-shadow:inset 0 0 24px #00f5d41f,0 0 28px #00f5d43d}.avatar-particles,.avatar-nameplate{pointer-events:none;position:absolute}.avatar-particles{opacity:.8;background-image:radial-gradient(circle,#00f5d4c7 0 1px,#0000 1.7px),radial-gradient(circle,#f4d28ab8 0 1px,#0000 1.5px),radial-gradient(circle,#7fd8ffb3 0 1px,#0000 1.6px);background-position:18% 30%,70% 26%,52% 78%;background-size:1.8rem 1.8rem,2.4rem 2.4rem,2rem 2rem;border-radius:50%;inset:.55rem;-webkit-mask-image:radial-gradient(circle,#0000 42%,#000 46%,#0000 78%);mask-image:radial-gradient(circle,#0000 42%,#000 46%,#0000 78%)}.avatar-nameplate{z-index:4;color:var(--gold);text-transform:uppercase;background:#020808bd;border:1px solid #f4d28a3d;padding:.18rem .5rem;font-size:.56rem;font-weight:800;bottom:.8rem}.tag-list{flex-wrap:wrap;gap:.55rem;display:flex}.tag-list span{color:var(--muted);background:#ffffff0b;border:1px solid #ffffff1f;padding:.48rem .62rem;font-size:.78rem}.works-section{flex-direction:column;justify-content:center;display:flex}.section-heading{max-width:700px;margin-bottom:2rem}.works-grid{perspective:1200px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.photo-wall{perspective:1200px;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.75rem,2vw,1.25rem);height:min(62vh,39rem);display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 12% 88%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 12% 88%,#0000 100%)}.interactive-card{--mx:50%;--my:30%;--dx:0px;--dy:0px;--rx:0deg;--ry:0deg;--lift:0px;cursor:pointer;transform:perspective(950px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift));transform-style:preserve-3d;will-change:transform;padding:1rem;transition:transform .22s,border-color .18s,background .18s,box-shadow .18s;position:relative;overflow:hidden}.interactive-card:before,.interactive-card:after{pointer-events:none;content:"";opacity:0;transition:opacity .18s;position:absolute;inset:0}.interactive-card:before{background:radial-gradient(circle at var(--mx) var(--my), color-mix(in srgb, var(--accent), transparent 48%), transparent 30%), linear-gradient(115deg, transparent 0 36%, #ffffff2e 44%, transparent 52% 100%);mix-blend-mode:screen;transform:translate(-24%)}.interactive-card:after{background-image:radial-gradient(circle, #ffffffc2 0 1px, transparent 1.6px), radial-gradient(circle, color-mix(in srgb, var(--accent), transparent 12%) 0 1.2px, transparent 2px), radial-gradient(circle, #f4d28ac7 0 1px, transparent 1.7px);-webkit-mask-image:radial-gradient(circle at var(--mx) var(--my), black, transparent 58%);mask-image:radial-gradient(circle at var(--mx) var(--my), black, transparent 58%);background-position:18% 22%,76% 66%,42% 82%;background-size:3.8rem 3.8rem,5.4rem 5.4rem,6.2rem 6.2rem}.interactive-card:hover,.interactive-card:focus-visible{border-color:color-mix(in srgb, var(--accent), white 18%);background:radial-gradient(circle at 50% 0, color-mix(in srgb, var(--accent), transparent 70%), transparent 55%), var(--panel-strong);box-shadow:0 34px 105px #0000007a, 0 0 42px color-mix(in srgb, var(--accent), transparent 58%), inset 0 0 32px color-mix(in srgb, var(--accent), transparent 86%)}.interactive-card:active{transform:perspective(950px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-4px) scale(.99)}.interactive-card:hover:before,.interactive-card:hover:after,.interactive-card:focus-visible:before,.interactive-card:focus-visible:after{opacity:1}.interactive-card:hover:before,.interactive-card:focus-visible:before{animation:1.25s ease-out both card-scan}.interactive-card:hover h3,.interactive-card:focus-visible h3{color:var(--text);text-shadow:0 0 18px color-mix(in srgb, var(--accent), transparent 52%);transform:translateZ(38px)translate(3px)}.interactive-card h3,.interactive-card .tag-list,.interactive-card .eyebrow,.interactive-card>p:not(.eyebrow){z-index:2;transition:transform .2s,color .2s,text-shadow .2s;position:relative}.interactive-card:hover .tag-list,.interactive-card:focus-visible .tag-list{transform:translateZ(28px)translateY(-2px)}@keyframes card-scan{0%{transform:translate(-42%)}to{transform:translate(42%)}}.work-card{min-height:24rem}.module-card{min-height:13.5rem}.article-card{aspect-ratio:1;min-height:0;animation:5.6s ease-in-out infinite alternate card-breathe;animation-delay:calc(var(--card-index,0) * -.7s);grid-template-rows:auto auto auto 1fr auto;padding:clamp(.68rem,1.5vw,.95rem);display:grid}.article-card .work-cover{height:clamp(4.2rem,13vh,6.2rem);margin-bottom:.72rem}.article-card .work-cover.has-image{background-position:50%;background-size:cover}.article-card .work-cover.has-image:after{pointer-events:none;content:"";background:linear-gradient(#0000 30%,#020505a8);position:absolute;inset:0}.article-card .work-cover span{font-size:clamp(2.2rem,6vw,4rem)}.article-card h3{margin-bottom:.36rem;font-size:clamp(.98rem,1.6vw,1.16rem)}.article-card>p:not(.eyebrow){-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.article-card .tag-list{display:none}.article-card:nth-child(2){--card-index:1}.article-card:nth-child(3){--card-index:2}.article-card:nth-child(4){--card-index:3}@keyframes card-breathe{0%{translate:0}to{translate:0 -5px}}.stack-card{align-content:end;display:grid}.stack-preview{height:clamp(3.8rem,10vh,5rem);margin-bottom:.72rem;position:relative;transform:translateZ(30px)}.stack-preview span{border:1px solid color-mix(in srgb, var(--stack-accent), white 12%);color:#edfdf8b8;background:radial-gradient(circle at 48% 28%, color-mix(in srgb, var(--stack-accent), transparent 52%), transparent 62%), #030e0edb;width:4.4rem;height:3.25rem;transform:translateX(calc(-50% + var(--stack-index) * .42rem)) translateY(calc(var(--stack-index) * -.42rem)) rotate(calc((var(--stack-index) - 1.5) * 2deg));place-items:center;font-size:1.15rem;font-weight:900;transition:transform .24s,opacity .2s,border-color .2s;display:grid;position:absolute;bottom:0;left:50%;box-shadow:0 16px 34px #00000057}.stack-card:hover .stack-preview span,.stack-card:focus-visible .stack-preview span{opacity:.94;transform:translateX(calc(-50% + (var(--stack-index) - 1.5) * 1.8rem)) translateY(calc(var(--stack-index) * -.75rem - .45rem)) rotate(calc((var(--stack-index) - 1.5) * 8deg))}.work-cover{background:radial-gradient(circle at var(--mx) var(--my), #ffffff3d, transparent 18%), linear-gradient(135deg, color-mix(in srgb, var(--accent), transparent 42%), transparent), radial-gradient(circle at 30% 20%, #ffffff38, transparent 30%), #ffffff0a;place-items:center;height:10.5rem;margin-bottom:1.2rem;transition:transform .22s,filter .22s;display:grid;position:relative;overflow:hidden;transform:translateZ(28px)}.interactive-card:hover .work-cover,.interactive-card:focus-visible .work-cover{filter:saturate(1.18)brightness(1.08);transform:translateZ(48px) translateY(-7px) translateX(var(--dx))}.work-cover span{z-index:2;color:#020403b8;text-shadow:0 0 22px #ffffff38;font-size:5rem;font-weight:950;position:relative}.cover-orb,.cover-line{pointer-events:none;position:absolute}.cover-orb{background:radial-gradient(circle, color-mix(in srgb, var(--accent), white 14%), transparent 66%);filter:blur(5px);opacity:.65;border-radius:50%;width:8rem;height:8rem;transition:transform .22s,opacity .22s;transform:translate(-10%,6%)}.interactive-card:hover .cover-orb,.interactive-card:focus-visible .cover-orb{opacity:.9;transform:translate(calc(-18% + var(--dx)), calc(4% + var(--dy))) scale(1.12)}.cover-line{opacity:.4;background:linear-gradient(90deg,#0000,#ffffff94,#0000);width:150%;height:1px;transform:rotate(-18deg)}.cover-line-a{top:24%;left:-25%}.cover-line-b{bottom:28%;right:-30%;transform:rotate(18deg)}.photo-column{min-height:100%;position:relative;overflow:hidden}.photo-column-track{will-change:transform;gap:clamp(.75rem,2vw,1.15rem);display:grid}.drift-up .photo-column-track{animation:24s linear infinite photo-drift-up}.drift-down .photo-column-track{animation:27s linear infinite photo-drift-down}.photo-column:hover .photo-column-track{animation-play-state:paused}.photo-card{background:radial-gradient(circle at var(--mx) var(--my), color-mix(in srgb, var(--accent), transparent 72%), transparent 36%), #030c0ca3;border:1px solid #7fd8ff29;min-height:15.8rem}.photo-plate{background:linear-gradient(145deg, color-mix(in srgb, var(--accent), transparent 28%), transparent 58%), radial-gradient(circle at 70% 24%, #ffffff38, transparent 20%), linear-gradient(180deg, #ffffff0a, #0000003d);place-items:end start;min-height:13.4rem;padding:1rem;display:grid;position:relative;overflow:hidden;transform:translateZ(32px)}.photo-plate.has-image{background-position:50%;background-size:cover}.photo-plate:before,.photo-plate:after{pointer-events:none;content:"";position:absolute}.photo-plate:before{background-image:radial-gradient(circle, #ffffff9e 0 1px, transparent 1.7px), radial-gradient(circle, color-mix(in srgb, var(--accent), white 18%) 0 1px, transparent 1.6px);opacity:.36;background-position:22% 18%,70% 62%;background-size:3.8rem 3.8rem,5.2rem 5.2rem;inset:-18%}.photo-plate:after{background:linear-gradient(#0000,#020505b3);height:42%;inset:auto -10% 0}.photo-plate span{z-index:2;color:#edfdf8e6;max-width:14ch;font-size:clamp(1.25rem,2.5vw,2rem);font-weight:900;line-height:1.04;position:relative}.photo-caption{padding-top:.85rem}.photo-caption h3{margin:0;font-size:1rem}@keyframes photo-drift-up{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes photo-drift-down{0%{transform:translateY(-50%)}to{transform:translateY(0)}}.contact-section{grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:center;gap:clamp(1.5rem,5vw,4rem);min-height:80vh;display:grid}.contact-links{gap:.8rem;display:grid}.contact-link{gap:.3rem;padding:1rem;transition:transform .18s,border-color .18s,background .18s;display:grid}.contact-link:hover{border-color:var(--gold);background:radial-gradient(circle at 0 50%, #f4d28a1f, transparent 48%), var(--panel);transform:translate(-6px)}.contact-link:active{transform:translate(-2px)scale(.99)}.contact-link span{color:var(--soft);text-transform:uppercase;font-size:.72rem}.contact-link strong{overflow-wrap:anywhere}.project-dialog{border:1px solid var(--line);width:min(860px,100% - 2rem);color:var(--text);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#030a0ae6}.project-dialog::backdrop{background:#000000b8}.project-dialog[open]{grid-template-columns:minmax(180px,.7fr) minmax(0,1fr);gap:1.4rem;padding:1.2rem;display:grid}.project-dialog[data-mode=detail][open],.project-dialog[data-mode=stack][open]{max-height:min(90svh,820px);overflow-y:auto}.project-dialog[data-mode=photo][open]{grid-template-columns:1fr;gap:.95rem;width:min(1040px,100% - 2rem);max-height:min(90svh,820px);padding:clamp(.8rem,2vw,1rem);overflow:hidden}.dialog-close{z-index:6;border:1px solid var(--line);width:2.3rem;height:2.3rem;color:var(--text);cursor:pointer;background:#ffffff0d;position:absolute;top:.75rem;right:.75rem}.photo-nav{z-index:5;aspect-ratio:1;color:#fff;width:clamp(2.7rem,4.8vw,3.6rem);box-shadow:0 0 0 1px #00000029, 0 0 28px color-mix(in srgb, var(--accent), transparent 72%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);touch-action:manipulation;cursor:pointer;background:#030a0a7a;border:1px solid #ffffff57;border-radius:50%;place-items:center;padding:0;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:none;position:absolute;top:50%;transform:translateY(-50%)}.project-dialog[data-mode=photo] .photo-nav:not([hidden]){display:grid}.photo-nav-prev{left:clamp(.65rem,2vw,1.35rem)}.photo-nav-next{right:clamp(.65rem,2vw,1.35rem)}.photo-nav span{text-shadow:0 0 12px #ffffff80;margin-top:-.08em;font-family:Arial,sans-serif;font-size:clamp(2.05rem,4vw,2.8rem);font-weight:300;line-height:.8;display:block}.photo-nav:hover,.photo-nav:focus-visible{border-color:var(--gold);box-shadow:0 0 0 1px #f4d28a33, 0 0 34px color-mix(in srgb, var(--accent), transparent 56%);background:#030a0ab8;outline:none;transform:translateY(-50%)scale(1.08)}.photo-nav[hidden]{display:none!important}.dialog-cover{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--accent), transparent 22%), transparent 36%), linear-gradient(135deg, #ffffff17, #ffffff05);background-position:50%;background-size:cover;min-height:18rem;position:relative;overflow:hidden}.project-dialog[data-mode=photo] .dialog-cover{border:1px solid color-mix(in srgb, var(--accent), transparent 62%);background:linear-gradient(180deg, transparent 58%, #020505b8), radial-gradient(circle at 72% 24%, #ffffff42, transparent 18%), radial-gradient(circle at 28% 36%, color-mix(in srgb, var(--accent), transparent 36%), transparent 34%), linear-gradient(135deg, color-mix(in srgb, var(--accent), transparent 54%), #040c0ceb);touch-action:pan-y;background-position:50%;background-size:cover;min-height:min(66svh,610px)}.project-dialog[data-mode=photo] .dialog-cover:before,.project-dialog[data-mode=photo] .dialog-cover:after{pointer-events:none}.project-dialog[data-mode=photo]>div:last-child{gap:.35rem;display:grid}.project-dialog[data-mode=photo] h3{margin:0;font-size:clamp(1.35rem,3vw,2.25rem)}.project-dialog[data-mode=photo] #dialog-description,.photo-body{max-width:78ch;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.photo-body{-webkit-line-clamp:1;margin:0}.dialog-cover:before,.dialog-cover:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent), white 12%), transparent 64%);filter:blur(12px);border-radius:50%;animation:3.2s ease-in-out infinite alternate dialog-pulse;position:absolute;inset:14%}.dialog-cover:after{animation-delay:.5s;inset:34% 8% 12% 42%}.project-dialog[data-mode=photo] .dialog-cover:before{background-image:radial-gradient(circle, #ffffff94 0 1px, transparent 1.7px), radial-gradient(circle, color-mix(in srgb, var(--accent), white 20%) 0 1px, transparent 1.8px);filter:none;opacity:.34;background-position:24% 18%,72% 54%;background-size:4.4rem 4.4rem,6.8rem 6.8rem;border-radius:0;animation:none;inset:-12%}.project-dialog[data-mode=photo] .dialog-cover:after{filter:none;opacity:1;background:linear-gradient(#0000,#010404d1);border-radius:0;height:46%;animation:none;inset:auto 0 0}@keyframes dialog-pulse{0%{opacity:.38;transform:translate(-8%,4%)scale(.85)}to{opacity:.72;transform:translate(8%,-6%)scale(1.12)}}.dialog-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.2rem}.dialog-actions[hidden]{display:none!important}.dialog-extra{margin-top:1rem}.dialog-body{color:var(--muted);white-space:pre-wrap;margin:0;line-height:1.75}.photo-detail-controls{flex-wrap:wrap;gap:.55rem;margin-top:.45rem;display:flex}.photo-detail-controls button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0b;padding:.48rem .75rem;font-size:.76rem;font-weight:900}.photo-detail-controls button:hover,.photo-detail-controls button:focus-visible{border-color:var(--gold);background:#f4d28a1a}.dialog-stack-list{gap:.65rem;display:grid}.dialog-stack-list button{border:1px solid color-mix(in srgb, var(--accent), transparent 66%);width:100%;color:var(--text);text-align:left;background:radial-gradient(circle at 0 50%, color-mix(in srgb, var(--accent), transparent 82%), transparent 46%), #ffffff09;cursor:pointer;grid-template-columns:auto 1fr;gap:.2rem .8rem;padding:.75rem;transition:transform .18s,border-color .18s,background .18s;display:grid}.dialog-stack-list button:hover,.dialog-stack-list button:focus-visible{border-color:color-mix(in srgb, var(--accent), white 18%);background:radial-gradient(circle at 0 50%, color-mix(in srgb, var(--accent), transparent 70%), transparent 52%), #ffffff0e;transform:translate(6px)}.dialog-stack-list span{color:var(--gold);grid-row:span 2;font-size:.78rem;font-weight:900}.dialog-stack-list strong{font-size:.95rem}.dialog-stack-list small{color:var(--muted);line-height:1.45}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@media (max-width:840px){html{height:100svh;overflow:hidden}body{overscroll-behavior:none;height:100svh;min-height:100svh;overflow:hidden}.content-track{touch-action:pan-y;will-change:transform;width:max-content;height:100svh;display:flex}#cursor-particle-stage,.scanline{display:none}.glass-panel,.signal-panel,.music-control,.project-dialog,.photo-nav{-webkit-backdrop-filter:none;backdrop-filter:none}.interactive-card{transform-style:flat;will-change:auto;transform:none}.article-card,.signal-bars span{animation:none}body:before,.video-reserve{transition:none}.music-control{grid-template-columns:auto minmax(0,5.8rem) minmax(4.6rem,6rem);width:min(20rem,100vw - 2rem);top:.72rem}.volume-control{grid-column:auto}.scene-nav{right:max(.75rem, env(safe-area-inset-right));bottom:max(.7rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:none;backdrop-filter:none;transform-origin:100% 100%;background:#020808b8;gap:.45rem;padding:.48rem;display:flex;transform:scale(.92)}.nav-links{display:none}.section,.hero-section,.split-section,.contact-section{display:block}.section{padding:4.8rem 1rem 5rem;overscroll-behavior-y:contain;scrollbar-width:none;content-visibility:visible;-webkit-overflow-scrolling:touch;flex:0 0 100vw;width:100vw;height:100svh;min-height:100svh;padding-inline:1rem;overflow:hidden auto}.section::-webkit-scrollbar{display:none}.hero-section{min-height:100svh;padding-top:8rem}h1{max-width:10ch}.signal-panel,.profile-grid,.contact-links{margin-top:1.1rem}.works-grid,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.photo-wall{height:min(62svh,34rem)}.work-card,.module-card{min-height:0;padding:.7rem}.work-card:nth-child(n+4){display:none}.module-card .work-cover{height:4.4rem}.stack-preview{height:4rem;margin-bottom:.6rem}.stack-preview span{width:3.5rem;height:2.7rem;font-size:.95rem}.work-card .work-cover{height:5.6rem}.module-card .work-cover span,.work-card .work-cover span{font-size:2.6rem}.interactive-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.interactive-card h3{margin-bottom:.45rem;font-size:1rem}.interactive-card .eyebrow{margin-bottom:.45rem}.interactive-card .tag-list{gap:.35rem}.interactive-card .tag-list span{padding:.3rem .42rem;font-size:.68rem}.section-heading{margin-bottom:1rem}.section-heading p{line-height:1.45}.avatar-orbit{width:7.4rem;height:7.4rem;margin-left:0}.avatar-core{width:4.7rem;height:4.7rem;font-size:1.25rem}.project-dialog[open]{grid-template-columns:1fr}.project-dialog[data-mode=photo][open]{width:calc(100% - 1rem);max-height:calc(100svh - 1rem);padding:.65rem;overflow-y:auto}.project-dialog[data-mode=photo] .dialog-cover{min-height:min(58svh,520px)}.photo-nav{width:3rem;box-shadow:0 0 18px color-mix(in srgb, var(--accent), transparent 72%);background:#030a0ab8}}@media (max-width:520px){.music-control{grid-template-columns:auto;width:auto;padding:.5rem;top:.7rem;right:.75rem}.volume-control,.music-meta{display:none}.music-meta strong{font-size:.72rem}.music-toggle{width:2rem;height:2rem}@media (max-width:420px){.music-control{grid-template-columns:auto;width:auto}.music-meta{display:none}}.scene-step{display:none}h1{max-width:10ch;font-size:clamp(2.45rem,11.5vw,2.85rem);line-height:1.04}.hero-actions{flex-direction:column;align-items:stretch}.primary-action,.secondary-action{text-align:center}.panel-label{margin-bottom:2rem}.work-cover{height:9rem}.works-grid,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card:nth-child(n+3){display:none}.module-card .work-cover,.work-card .work-cover{height:4.6rem}.photo-wall{gap:.55rem;height:min(64svh,30rem)}.photo-card{min-height:11.2rem;padding:.55rem}.photo-plate{min-height:8.4rem;padding:.65rem}.photo-caption{padding-top:.55rem}.photo-caption h3{font-size:.82rem}.project-dialog[data-mode=photo] .dialog-cover{min-height:min(54svh,430px)}.project-dialog[data-mode=photo]>div:last-child{padding-inline:.15rem}.photo-nav{width:2.85rem}.photo-nav-prev{left:.45rem}.photo-nav-next{right:.45rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
:is(html:has(.admin-page),body:has(.admin-page)){height:auto;min-height:100%;overflow:hidden auto}.admin-page{color:#17211f;overscroll-behavior:contain;background:radial-gradient(circle at 80% 0,#00f5d42e,#0000 32rem),radial-gradient(circle at 12% 18%,#f4d28a2e,#0000 28rem),#f4faf7;height:100svh;min-height:100svh;padding:clamp(1rem,3vw,2rem);overflow-y:auto}.admin-shell{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid #143a361f;border-radius:1rem;width:min(1180px,100%);margin:0 auto;padding:clamp(1rem,2vw,1.4rem);box-shadow:0 24px 80px #21343124}.admin-login-card{gap:.9rem;max-width:460px;margin-top:12vh;display:grid}.admin-header,.admin-header-actions{align-items:center;gap:.75rem;display:flex}.admin-header{justify-content:space-between;margin-bottom:1rem}.admin-header h1,.admin-shell h1{margin:0;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1}.admin-kicker{color:#9d7431;text-transform:uppercase;margin:0 0 .5rem;font-size:.75rem;font-weight:900}.admin-message{color:#17211fad;min-height:1.4rem}.admin-tabs{background:#f4faf7c7;border:1px solid #143a361a;border-radius:999px;flex-wrap:wrap;gap:.55rem;margin:.7rem 0 1rem;padding:.45rem;display:flex}.admin-tabs button{background:0 0;border-color:#0000;min-height:2.35rem}.admin-tabs button.is-active,.admin-tabs button[aria-pressed=true]{background:linear-gradient(135deg,#9ef5e8,#ffd889);box-shadow:0 10px 26px #1e554d29}.admin-section{background:#f4faf7b8;border:1px solid #143a361a;border-radius:.85rem;gap:.9rem;margin-top:1rem;padding:1rem;display:grid}.admin-section h2{margin:0;font-size:1.2rem}.admin-section-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-section-head p{color:#17211f94;margin:.35rem 0 0;line-height:1.6}.admin-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.admin-grid,.admin-repeat{gap:.8rem;display:grid}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-repeat{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.admin-repeat-wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}.admin-copy-groups{gap:.9rem;display:grid}.admin-card{background:#ffffffc7;border:1px solid #143a361f;border-radius:.85rem;gap:.65rem;padding:.85rem;display:grid}.admin-edit-card{align-content:start}.admin-edit-card h3{margin:0;font-size:1rem}.admin-full-field{grid-column:1/-1}.admin-preview{object-fit:cover;background:#143a360f;border:1px solid #143a361f;border-radius:.75rem;width:100%;max-height:14rem}.admin-page label{color:#17211fb3;gap:.35rem;font-size:.78rem;font-weight:800;display:grid}.admin-page input,.admin-page textarea{color:#17211f;width:100%;font:inherit;background:#ffffffdb;border:1px solid #143a3629;border-radius:.65rem;padding:.72rem .78rem}.admin-page textarea{resize:vertical}.admin-page button,.admin-link{color:#17211f;cursor:pointer;background:linear-gradient(135deg,#c9f7ee,#ffe4aa);border:1px solid #143a3629;border-radius:999px;min-height:2.6rem;padding:.72rem 1rem;font-weight:900}.admin-page button.admin-danger{color:#7c271f;background:linear-gradient(135deg,#ffe4dd,#fff0c4)}.admin-link{align-items:center;text-decoration:none;display:inline-flex}code{background:#143a3614;border-radius:.35rem;padding:.1rem .3rem}@media (max-width:760px){.admin-header{flex-direction:column;align-items:flex-start}.admin-grid{grid-template-columns:1fr}.admin-section-head{flex-direction:column}.admin-row-actions{justify-content:flex-start}.admin-tabs{border-radius:.85rem}}
