:root{--color-bg:#24272a;--color-accent:#2b4ff8;--color-text:#e8eaed;--color-text-muted:#9aa0a8;--color-surface-hover:#2e3136;--color-accent-muted:color-mix(in srgb, var(--color-accent) 18%, transparent);--surface:var(--color-bg);--on-surface:var(--color-text);--primary:var(--color-text);--secondary:var(--color-text-muted);--tertiary:var(--color-accent);--font-sans:var(--font-noto-sans);--font-display:var(--font-noto-sans);--font-body:var(--font-noto-sans);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:32px;--space-xl:64px;--page-inline:clamp(1.5rem, 5vw, 4rem);--page-block:clamp(2rem, 8vh, 6rem);--radius-sm:4px;--radius-md:8px;--radius-full:9999px;--duration-stagger:40ms;--duration-micro:80ms;--duration-quick:.15s;--duration-fast:.25s;--duration-medium:.35s;--duration-slow:.4s;--duration-very-slow:.5s;--ease-smooth-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:ease-in-out;--stagger-dur:var(--duration-very-slow);--stagger-distance:12px;--stagger-stagger:var(--duration-stagger);--stagger-blur:3px;--stagger-ease:var(--ease-smooth-out);--grid-size:24px;--grid-line:color-mix(in srgb, var(--color-accent) 22%, transparent);--grid-line-focus:color-mix(in srgb, var(--color-accent) 32%, transparent);--grid-base-opacity:.22;--grid-energy:color-mix(in srgb, var(--color-accent) 48%, transparent);--mouse-x:50%;--mouse-y:50%}@property --grid-inner{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --grid-outer{syntax:"<length-percentage>";inherits:true;initial-value:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.125rem;font-weight:400;line-height:1.65}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}.page{min-height:100dvh;padding:var(--page-block) var(--page-inline);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.page:after{content:"";opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px;position:absolute;inset:0}.page.is-pointer-active{--grid-inner:4.75rem;--grid-outer:11.5rem}.page__grid{z-index:0;pointer-events:none;background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size);background-position:0 0;animation:28s linear infinite grid-drift;position:absolute;inset:-24px}.page__grid--base{opacity:var(--grid-base-opacity)}.page__grid--focus{--grid-line:var(--grid-line-focus);opacity:0;transition:opacity var(--duration-fast) var(--ease-smooth-out), --grid-inner var(--duration-fast) var(--ease-in-out), --grid-outer var(--duration-fast) var(--ease-in-out);-webkit-mask-image:radial-gradient(circle at var(--mouse-x) var(--mouse-y), #000 var(--grid-inner,0%), transparent var(--grid-outer,0%));mask-image:radial-gradient(circle at var(--mouse-x) var(--mouse-y), #000 var(--grid-inner,0%), transparent var(--grid-outer,0%));mask-repeat:no-repeat}.page__grid--focus.is-active{opacity:.55}.page__bolts{z-index:0;pointer-events:none;width:calc(100% + 48px);height:calc(100% + 48px);position:absolute;inset:-24px;overflow:visible}.page__bolt-path{fill:none;stroke:var(--grid-energy);stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;shape-rendering:crispedges;opacity:0}@keyframes grid-drift{0%{background-position:0 0}to{background-position:var(--grid-size) var(--grid-size)}}@media (pointer:coarse){.page__grid--focus,.page__bolts{display:none}}@media (prefers-reduced-motion:reduce){.page__grid{animation:none}.page__grid--focus,.page__bolts{display:none}}.hero{z-index:1;text-align:left;width:100%;max-width:62ch;position:relative}.hero__greeting{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-sm);font-size:.875rem;font-weight:500}.hero__name{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text);margin-bottom:var(--space-lg);font-size:clamp(3rem,10vw,5.5rem);font-weight:700;line-height:1.05}.hero__bio{color:var(--color-text-muted);margin-bottom:var(--space-xl);font-size:1.125rem;line-height:1.65}.stagger__line{opacity:0;transform:translateY(var(--stagger-distance));filter:blur(var(--stagger-blur));transition:opacity var(--stagger-dur) var(--stagger-ease), transform var(--stagger-dur) var(--stagger-ease), filter var(--stagger-dur) var(--stagger-ease);will-change:transform, opacity, filter;display:block}.stagger__line--name{transition-delay:var(--stagger-stagger)}.stagger__line--bio{transition-delay:calc(var(--stagger-stagger) * 2)}.stagger__line.is-shown{opacity:1;filter:blur();transform:translateY(0)}.stagger__line.is-hiding{opacity:0;filter:blur();transition:opacity .2s,transform linear,filter linear;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.stagger__line{opacity:1;filter:none;transform:none;transition:none!important}}.social{justify-content:flex-start;gap:var(--space-sm);list-style:none;display:flex}.social__link{border-radius:var(--radius-md);width:44px;height:44px;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-smooth-out), background-color var(--duration-fast) var(--ease-smooth-out), transform var(--duration-fast) var(--ease-smooth-out);justify-content:center;align-items:center;display:flex}.social__link:hover{color:var(--color-text);background-color:var(--color-surface-hover);transform:translateY(-2px)}.social__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;color:var(--color-accent)}.social__icon{fill:currentColor;width:22px;height:22px}@media (prefers-reduced-motion:reduce){.social__link{transition:none}.social__link:hover{transform:none}}
