:root {
  color-scheme: dark; --bg:#020307; --text:#f2f4f8; --muted:#7f8998; --soft:#bcc4cf; --line:rgba(255,255,255,.09); --accent:#a98bff; --experience-progress:0;
}
*{box-sizing:border-box}.apex-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important} html{min-width:320px;background:var(--bg);scroll-behavior:auto} body{margin:0;min-width:320px;min-height:100%;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:"Helvetica Neue",Helvetica,Arial,ui-sans-serif,system-ui,sans-serif;font-weight:300} a{color:inherit}.apex-page{position:relative;min-height:100vh}
.apex-is-calibrating{overflow:hidden}.apex-calibration{position:fixed;z-index:100;inset:0;display:grid;place-items:center;overflow:hidden;background:#010205;opacity:1;visibility:visible;transition:opacity 900ms cubic-bezier(.22,.75,.22,1),visibility 900ms}.apex-is-ready .apex-calibration{opacity:0;visibility:hidden;pointer-events:none}.apex-calibration::before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at center,rgba(118,91,191,.08),transparent 25%),repeating-linear-gradient(90deg,transparent 0 11vw,rgba(255,255,255,.012) 11vw calc(11vw + 1px));animation:calibration-drift 8s linear infinite}.apex-calibration-field{position:relative;width:min(42vw,27rem);aspect-ratio:1;opacity:.82}.apex-calibration-ring,.apex-calibration-point{position:absolute;border-radius:50%}.apex-calibration-ring{border:1px solid rgba(195,181,238,.12)}.apex-calibration-ring--outer{inset:0;animation:calibration-spin 12s linear infinite;border-top-color:rgba(205,191,246,.5);border-right-color:rgba(205,191,246,.03)}.apex-calibration-ring--inner{inset:29%;animation:calibration-spin 7s linear infinite reverse;border-left-color:rgba(205,191,246,.42)}.apex-calibration-point{inset:47.5%;background:rgba(236,231,250,.9);box-shadow:0 0 1.8rem rgba(169,139,255,.75),0 0 8rem rgba(169,139,255,.22);animation:calibration-pulse 1.8s ease-in-out infinite}.apex-calibration-readout{position:absolute;left:max(5vw,24px);bottom:max(5vh,28px);color:rgba(224,227,234,.76)}.apex-calibration-index{display:block;margin-bottom:.7rem;color:rgba(166,174,190,.38);font-size:.58rem;letter-spacing:.22em;font-variant-numeric:tabular-nums}.apex-calibration-readout p{margin:0;font-size:clamp(.62rem,.8vw,.76rem);font-weight:300;letter-spacing:.3em;text-transform:uppercase}
.apex-experience{position:fixed;z-index:10;inset:0;width:100%;height:100vh;height:100svh;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 43%,rgba(67,52,119,.18),transparent 23rem),linear-gradient(180deg,#04050a,#010205)}.apex-canvas-host,.apex-atmosphere{position:absolute;inset:0}.apex-canvas-host{z-index:1;overflow:hidden;pointer-events:none;background:#010207}.apex-webgl{display:block;width:100%;height:100%;opacity:0;transform:scale(1.012);transition:opacity 1.5s ease,transform 2.2s cubic-bezier(.22,.75,.22,1)}.apex-is-ready .apex-webgl{opacity:1;transform:scale(1)}.apex-atmosphere{z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 24%,transparent 66%,rgba(0,0,0,.48)),radial-gradient(ellipse at 50% 92%,rgba(103,89,147,.11),transparent 38%),radial-gradient(circle at 12% 20%,rgba(45,82,104,.07),transparent 30%);mix-blend-mode:screen}.apex-atmosphere::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 28%,rgba(0,0,0,.18) 68%,rgba(0,0,0,.55) 100%);mix-blend-mode:normal}.apex-webgl-fallback .apex-canvas-host{background:radial-gradient(circle at 50% 44%,rgba(157,130,218,.2) 0 2%,rgba(67,52,119,.11) 3% 11%,transparent 28%),radial-gradient(ellipse at 50% 78%,rgba(82,71,117,.14),transparent 34%),#010207}.apex-webgl-fallback .apex-canvas-host::after{content:"";position:absolute;width:min(34vw,24rem);aspect-ratio:1;left:50%;top:47%;transform:translate(-50%,-50%) rotate(24deg);border:1px solid rgba(195,181,238,.16);border-radius:44% 56% 61% 39%/52% 37% 63% 48%;box-shadow:inset 0 0 5rem rgba(169,139,255,.08),0 0 8rem rgba(169,139,255,.08)}.apex-webgl-fallback .apex-identity,.apex-webgl-fallback .apex-stage6-fx,.apex-webgl-fallback .apex-stage6-pointer,.apex-webgl-fallback .apex-stage6-vignette{display:none!important}.apex-fallback{position:absolute;z-index:8;inset:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,34rem);align-items:end;gap:clamp(2rem,6vw,7rem);padding:max(8vh,4rem) max(6vw,28px) max(7vh,3rem);background:linear-gradient(180deg,rgba(1,2,7,.18),rgba(1,2,7,.88));overflow:auto}.apex-fallback-intro{max-width:38rem}.apex-fallback-signal{margin:0 0 .9rem;color:rgba(187,196,211,.62);font-size:.61rem;letter-spacing:.24em;text-transform:uppercase}.apex-fallback h1{margin:0;font-size:clamp(3rem,7vw,7rem);font-weight:200;line-height:.86;letter-spacing:-.065em}.apex-fallback-intro>p:last-child{max-width:31rem;margin:1.2rem 0 0;color:rgba(189,198,211,.72);font-size:.92rem;line-height:1.6}.apex-fallback-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.apex-fallback-projects a{display:flex;align-items:center;gap:.85rem;min-height:3.4rem;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.09);background:rgba(8,10,17,.52);text-decoration:none;backdrop-filter:blur(10px);transition:border-color .2s ease,background .2s ease}.apex-fallback-projects a:hover,.apex-fallback-projects a:focus-visible{border-color:rgba(190,174,236,.46);background:rgba(22,19,35,.72);outline:none}.apex-fallback-projects span{color:rgba(187,196,211,.42);font-size:.58rem;letter-spacing:.16em}.apex-fallback-projects strong{color:rgba(244,246,250,.92);font-size:.78rem;font-weight:400;letter-spacing:.02em}
.apex-mark{position:absolute;z-index:5;top:max(22px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:rgba(5,7,12,.34);color:rgba(245,246,250,.92);font-size:.82rem;font-weight:400;letter-spacing:.04em;text-decoration:none;backdrop-filter:blur(12px)}.apex-mark:hover,.apex-mark:focus-visible{border-color:rgba(190,174,236,.48);outline:none}
.apex-identity{position:absolute;z-index:4;left:max(6vw,28px);bottom:max(8vh,40px);width:min(34rem,calc(100vw - 56px));text-shadow:0 1px 22px rgba(0,0,0,.7);opacity:.08;transform:translate3d(0,18px,0);filter:blur(5px);transition:opacity .65s ease,transform .85s cubic-bezier(.16,1,.3,1),filter .65s ease}.apex-identity.is-revealed{opacity:1;transform:none;filter:none}.apex-signal{margin:0 0 .85rem;color:rgba(187,196,211,.62);font-size:.61rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase}.apex-identity h1{margin:0;font-size:clamp(2.5rem,6.6vw,6.6rem);font-weight:200;line-height:.86;letter-spacing:-.065em}.apex-identity-copy{max-width:30rem;margin:1rem 0 0;color:rgba(189,198,211,.68);font-size:clamp(.78rem,1.2vw,.96rem);line-height:1.55}.apex-enter{display:inline-block;margin-top:1.3rem;padding-bottom:.2rem;border-bottom:1px solid rgba(255,255,255,.28);color:rgba(239,242,247,.86);font-size:.66rem;font-weight:400;letter-spacing:.18em;text-decoration:none;text-transform:uppercase;transition:opacity .45s ease,transform .55s ease}.apex-identity:not(.is-revealed) .apex-enter{opacity:0;transform:translateY(8px);pointer-events:none}.apex-enter:hover,.apex-enter:focus-visible{border-color:var(--accent);color:#fff;outline:none}.apex-scroll-driver{position:relative;z-index:0;height:800vh;pointer-events:none}.hub-footer{position:relative;z-index:20;min-height:28vh;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:5rem max(6vw,28px) max(2rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#05060a;color:var(--muted);font-size:.7rem}.hub-footer strong,.hub-footer span{display:block}.hub-footer strong{margin-bottom:.3rem;color:var(--text);font-weight:400;letter-spacing:.08em}.hub-footer nav{display:flex;flex-wrap:wrap;gap:1.4rem}.hub-footer a{color:var(--soft);text-decoration:none}.hub-footer a:hover,.hub-footer a:focus-visible{color:#fff;outline:none}
@keyframes calibration-spin{to{transform:rotate(360deg)}}@keyframes calibration-pulse{50%{transform:scale(1.7);opacity:.42}}@keyframes calibration-drift{to{transform:translate3d(4%,2%,0) rotate(.01deg)}}
@media(max-width:680px){.apex-identity{left:22px;bottom:42px;width:calc(100vw - 44px)}.hub-footer{min-height:34vh;align-items:flex-start;flex-direction:column;justify-content:flex-end;padding-inline:22px}.apex-calibration-field{width:min(72vw,23rem)}.apex-webgl-fallback .apex-canvas-host::after{width:min(68vw,20rem)}.apex-fallback{grid-template-columns:1fr;align-content:end;gap:2rem;padding:5rem 22px 2rem}.apex-fallback-projects{grid-template-columns:1fr}.apex-fallback h1{font-size:clamp(3rem,14vw,5rem)}}
@media(prefers-reduced-motion:reduce){.apex-calibration::before,.apex-calibration-ring,.apex-calibration-point{animation:none}.apex-calibration{transition-duration:120ms}.apex-webgl{transition-duration:120ms;transform:none}.apex-identity{transition-duration:120ms;filter:none;transform:none}}
