:root{--h-ink: oklch(.96 .01 245);--h-ink-dim: oklch(.78 .02 245);--h-ink-faint: oklch(.62 .02 245);--h-bg: oklch(.1 .04 260);--h-blue: oklch(.72 .2 258);--h-cyan: oklch(.84 .14 210);--h-magenta: oklch(.7 .22 330);--h-glass: rgba(255, 255, 255, .05);--h-glass-hi: rgba(255, 255, 255, .08);--h-border: rgba(255, 255, 255, .1);--h-border-hi: rgba(255, 255, 255, .18);--h-display: "Syne", sans-serif;--h-serif: "Instrument Serif", serif;--h-body: "Space Grotesk", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--h-mono: "JetBrains Mono", monospace;--h-pad-section-y: clamp(80px, 14vw, 160px);--h-pad-section-x: clamp(20px, 6vw, 120px);--h-pad-hero-top: clamp(120px, 16vw, 180px);--h-ease: cubic-bezier(.2, .7, .2, 1);--h-ease-out: cubic-bezier(.16, .84, .26, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--h-bg)}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) var(--h-bg)}body{font-family:var(--h-body);color:var(--h-ink);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:#27e3fd59;color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--h-bg)}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px;border:2px solid var(--h-bg)}::-webkit-scrollbar-thumb:hover{background:#ffffff29}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0;margin:0}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}:focus-visible{outline:2px solid oklch(.84 .14 210 / .85);outline-offset:3px}.halo-skip{position:fixed;top:14px;left:14px;z-index:120;padding:10px 20px;border-radius:999px;background:#040d1e;color:var(--h-ink);border:1px solid rgba(255,255,255,.22);font-family:var(--h-body);font-weight:600;font-size:13px;transform:translateY(-220%);transition:transform .3s var(--h-ease)}.halo-skip:focus-visible{transform:none}.halo-num{font-variant-numeric:tabular-nums}@keyframes halo-drift-a{0%,to{transform:translate(0) scale(1)}50%{transform:translate(80px,-60px) scale(1.15)}}@keyframes halo-drift-b{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-120px,80px) scale(1.2)}}@keyframes halo-drift-c{0%,to{transform:translate(0) scale(1)}50%{transform:translate(60px,100px) scale(.9)}}@keyframes halo-pulse{0%,to{opacity:.55}50%{opacity:.95}}@keyframes halo-shimmer{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes halo-marquee{to{transform:translate(-50%)}}@keyframes halo-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes halo-line-up{0%{transform:translateY(112%)}to{transform:none}}@keyframes halo-menu-in{0%{opacity:0}to{opacity:1}}@keyframes halo-menu-item{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.halo-enter{animation:halo-rise .95s var(--h-ease) both}html:not(.halo-ready) .halo-enter,html:not(.halo-ready) .halo-mask>.halo-line{animation-play-state:paused}.halo-mask{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.16em}.halo-mask>.halo-line{display:block;animation:halo-line-up 1.05s var(--h-ease-out) both}.halo-preloader{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--h-bg);overflow:hidden;clip-path:inset(0 0 0 0);transition:clip-path .8s cubic-bezier(.76,0,.24,1)}.halo-preloader:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 22% 28%,oklch(.72 .2 258) 0%,transparent 45%),radial-gradient(circle at 78% 72%,oklch(.84 .14 210) 0%,transparent 45%),radial-gradient(circle at 60% 15%,oklch(.7 .22 330) 0%,transparent 40%);filter:blur(90px);opacity:.22;pointer-events:none}.halo-preloader>*{position:relative}.halo-preloader.is-exit{clip-path:inset(0 0 100% 0)}.halo-preloader .halo-preloader-inner{display:flex;flex-direction:column;align-items:center;gap:18px;transition:opacity .4s ease,transform .5s var(--h-ease)}.halo-preloader.is-exit .halo-preloader-inner{opacity:0;transform:translateY(-26px)}.halo-reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--h-ease),transform .9s var(--h-ease)}.halo-reveal.is-visible{opacity:1;transform:translateY(0)}.halo-glass{background:#ffffff0d;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff38,inset 0 0 0 1px #ffffff05,0 30px 80px -20px #00000080,0 8px 20px -8px #00000059;position:relative;overflow:hidden}.halo-glass:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#ffffff1a,#fff0 35% 65%,#ffffff0a);pointer-events:none}.halo-glass-hi{background:#ffffff14}.halo-pill{background:#ffffff0f;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff2e,0 10px 30px -10px #00000073;border-radius:999px}a.halo-pill,button.halo-pill{transition:background .3s ease,border-color .3s ease,transform .3s var(--h-ease)}a.halo-pill:hover,button.halo-pill:hover{background:#ffffff1c;border-color:#ffffff3d;transform:translateY(-1px)}.halo-cta{background:linear-gradient(135deg,#73acff,#5ec3ff,#00dcf7);background:linear-gradient(135deg,color(xyz 0.424 0.399 1.363),color(xyz 0.42 0.486 1.173),color(xyz 0.419 0.581 0.989));color:#010515;border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1px #fff9,0 20px 50px -10px #006ae58c;box-shadow:inset 0 1px #fff9,0 20px 50px -10px oklch(.55 .22 258 / .55);transition:transform .25s var(--h-ease),box-shadow .25s}.halo-cta:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffffb3,0 26px 60px -10px #006ae5b3;box-shadow:inset 0 1px #ffffffb3,0 26px 60px -10px oklch(.55 .22 258 / .7)}.halo-card-hover{transition:transform .45s var(--h-ease),box-shadow .45s var(--h-ease),border-color .45s ease}.halo-card-hover:hover{transform:translateY(-4px);border-color:#fff3;box-shadow:inset 0 1px #ffffff42,inset 0 0 0 1px #ffffff08,0 40px 90px -24px #0009,0 12px 28px -10px #0006}@media(hover:hover)and (pointer:fine){.halo-spot:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%),rgba(255,255,255,.09),transparent 65%);opacity:0;transition:opacity .45s ease;pointer-events:none}.halo-spot:hover:after{opacity:1}.halo-magnetic{transform:translate3d(var(--mag-x, 0px),var(--mag-y, 0px),0);transition:transform .4s var(--h-ease),box-shadow .25s}.halo-cta.halo-magnetic:hover{transform:translate3d(var(--mag-x, 0px),var(--mag-y, 0px),0)}}.halo-arrow,.halo-arrow-up{display:inline-block;transition:transform .35s var(--h-ease)}a:hover .halo-arrow,.halo-card-hover:hover .halo-arrow{transform:translate(4px)}a:hover .halo-arrow-up,.halo-card-hover:hover .halo-arrow-up{transform:translate(3px,-3px)}.halo-art-window{transition:transform .6s var(--h-ease)}.halo-card-hover:hover .halo-art-window{transform:translateY(-6px) rotate(-.6deg)}.halo-holo{background-size:220% 100%;animation:halo-shimmer 9s ease-in-out infinite alternate}@keyframes halo-dash{to{stroke-dashoffset:-28}}.halo-art-dash{stroke-dasharray:5 9;animation:halo-dash 1.6s linear infinite}.halo-art-pulse{animation:halo-pulse 2.6s ease-in-out infinite}.halo-email-link{display:inline-block;transition:filter .35s ease,transform .35s var(--h-ease)}.halo-email-link:hover{filter:brightness(1.25);transform:translateY(-2px)}.halo-hero-grid{display:grid;grid-template-columns:1fr;gap:clamp(32px,6vw,100px);align-items:end}@media(min-width:880px){.halo-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}.halo-exp-grid{display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,48px);align-items:start}@media(min-width:920px){.halo-exp-grid{grid-template-columns:210px minmax(0,1.6fr) minmax(0,1fr)}}.halo-proj-grid{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,32px)}@media(min-width:980px){.halo-proj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.halo-proj-wide{grid-column:1 / -1}}.halo-proj-feature{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px);align-items:center}@media(min-width:980px){.halo-proj-feature{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}.halo-marquee-wrap{overflow:hidden;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff05;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.halo-marquee-track{display:flex;align-items:center;width:max-content;animation:halo-marquee 32s linear infinite}.halo-marquee-wrap:hover .halo-marquee-track{animation-play-state:paused}@media(max-width:768px){:root{--h-pad-section-y: clamp(60px, 14vw, 100px);--h-pad-section-x: clamp(16px, 5vw, 32px);--h-pad-hero-top: clamp(100px, 24vw, 140px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.halo-reveal{opacity:1;transform:none}.halo-marquee-track{animation:none}}
