@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}:root{--bg:#0a0b0d;--bg-2:#101216;--surface:#16181d;--line:#ffffff14;--line-strong:#ffffff29;--text:#f2f3f5;--muted:#9aa1a9;--accent:#c6ff4d;--accent-ink:#0a0b0d;--focus:#c6ff4d;--signal-soft:color-mix(in srgb, var(--accent) 12%, transparent);--signal-line:color-mix(in srgb, var(--accent) 32%, transparent);--signal-glow:color-mix(in srgb, var(--accent) 55%, transparent);--surface-2:#0d0f12;--font-display:"Space Grotesk", ui-sans-serif, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-body:"Manrope", ui-sans-serif, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--fs-display:clamp(2.75rem, 8vw, 7.5rem);--fs-hero:clamp(3rem, 11.5vw, 10rem);--fs-section:clamp(2.5rem, 5.5vw, 4.5rem);--fs-h1:clamp(2rem, 5vw, 3.5rem);--fs-h2:clamp(1.6rem, 3.4vw, 2.5rem);--fs-h3:clamp(1.25rem, 2.2vw, 1.6rem);--fs-body:clamp(1rem, .6vw + .9rem, 1.125rem);--fs-small:.875rem;--fs-caption:.8125rem;--fs-mono:.75rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-display:1.02;--lh-heading:1.12;--lh-body:1.65;--ls-display:-.03em;--ls-hero:-.045em;--ls-mono:.12em;--measure:65ch;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--content-width:75rem;--content-wide:82.5rem;--gutter:1.25rem;--border:1px solid var(--line);--nav-height:4.5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-pill:999px;--dur-fast:.15s;--dur-base:.25s;--dur-slow:.5s;--dur-reveal:.7s;--motion-scene:.9s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1)}@media (min-width:768px){:root{--gutter:2rem}}@media (min-width:1024px){:root{--gutter:3rem}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:1ms;--dur-base:1ms;--dur-slow:1ms;--dur-reveal:1ms}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + var(--space-4))}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}img,svg,video,canvas{max-width:100%;display:block}img,video{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);font-weight:var(--fw-bold);line-height:var(--lh-heading);letter-spacing:var(--ls-display);text-wrap:balance}p{text-wrap:pretty}ul,ol{padding:0;list-style:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--accent);color:var(--accent-ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:var(--content-width);padding-inline:var(--gutter);margin-inline:auto}.container--wide{max-width:var(--content-wide)}.section{padding-block:clamp(4rem,10vw,8rem)}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted)}.accent{color:var(--accent)}.measure{max-width:var(--measure)}.skip-link{left:var(--space-4);top:calc(-1 * var(--space-16));z-index:100;padding:var(--space-2) var(--space-4);background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);font-weight:var(--fw-semibold);transition:top var(--dur-fast) var(--ease-out);position:absolute}.skip-link:focus{top:var(--space-4)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reveal--armed,.reveal--in{transition:opacity var(--dur-reveal) var(--ease-out) var(--reveal-delay,0s), transform var(--dur-reveal) var(--ease-out) var(--reveal-delay,0s), clip-path var(--dur-reveal) var(--ease-out) var(--reveal-delay,0s)}.reveal--rise.reveal--armed{opacity:0;transform:translateY(24px)}.reveal--rise.reveal--in{opacity:1;transform:none}.reveal__mask{transition:clip-path var(--dur-reveal) var(--ease-out) var(--reveal-delay,0s);display:block}.reveal--mask.reveal--armed .reveal__mask{clip-path:inset(0 0 100%)}.reveal--mask.reveal--in .reveal__mask{clip-path:inset(-15% -5% -25%)}.reveal--scale.reveal--armed{opacity:0;transform:scale(.96)}.reveal--scale.reveal--in{opacity:1;transform:none}.reveal--rule{transform-origin:0}.reveal--rule.reveal--armed{opacity:1;transform:scaleX(0)}.reveal--rule.reveal--in{opacity:1;transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.reveal--rise.reveal--armed,.reveal--mask.reveal--armed,.reveal--scale.reveal--armed,.reveal--rule.reveal--armed{opacity:1;transform:none}.reveal--mask.reveal--armed .reveal__mask{clip-path:none}}.site-nav{z-index:50;background:var(--bg);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--border);position:sticky;top:0}.site-nav__inner{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:var(--nav-height);display:flex}.site-nav__brand{align-items:center;gap:var(--space-3);font-family:var(--font-display);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);display:inline-flex}.site-nav__monogram{border-radius:var(--radius-sm);background:var(--accent);width:2rem;height:2rem;color:var(--accent-ink);font-size:var(--fs-caption);letter-spacing:0;place-items:center;display:grid}.site-nav__brand-text{font-size:var(--fs-small)}.site-nav__desktop{display:none}.site-nav__list{gap:var(--space-6);display:flex}.site-nav__list a{font-size:var(--fs-small);color:var(--muted);transition:color var(--dur-fast) var(--ease-out);position:relative}.site-nav__list a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform var(--dur-base) var(--ease-out);position:absolute;bottom:-.4rem;left:0;right:0;transform:scaleX(0)}.site-nav__list a:hover,.site-nav__list a:focus-visible,.site-nav__list a[data-active]{color:var(--text)}.site-nav__list a:hover:after,.site-nav__list a:focus-visible:after,.site-nav__list a[data-active]:after{transform:scaleX(1)}.nav-toggle{border:var(--border);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.nav-toggle__bars,.nav-toggle__bars:before,.nav-toggle__bars:after{background:var(--text);width:1.25rem;height:2px;transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);display:block}.nav-toggle__bars{position:relative}.nav-toggle__bars:before,.nav-toggle__bars:after{content:"";position:absolute;left:0}.nav-toggle__bars:before{top:-6px}.nav-toggle__bars:after{top:6px}.nav-toggle[aria-expanded=true] .nav-toggle__bars{background:0 0}.nav-toggle[aria-expanded=true] .nav-toggle__bars:before{transform:translateY(6px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bars:after{transform:translateY(-6px)rotate(-45deg)}.mobile-menu{inset:var(--nav-height) 0 0 0;z-index:40;background:var(--bg);padding:var(--space-8) var(--gutter);position:fixed;overflow-y:auto}.mobile-menu__list{flex-direction:column;display:flex}.mobile-menu__list a{padding:var(--space-4) 0;font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-medium);border-bottom:var(--border);display:block}.mobile-menu__list a:hover,.mobile-menu__list a:focus-visible,.mobile-menu__list a[data-active]{color:var(--accent)}@media (min-width:768px){.site-nav__desktop{display:block}.mobile-nav{display:none}}.section--alt{background:var(--bg-2)}.section__block{gap:var(--space-6);display:grid;position:relative}.hero{align-items:center;min-height:min(86vh,50rem);padding-block:clamp(4rem,11vh,7.5rem) clamp(3rem,7vh,5rem);display:flex;position:relative;overflow:clip}.hero__grid{align-items:end;gap:clamp(2.5rem,6vw,4.5rem);width:100%;display:grid}.hero__lead{gap:var(--space-6);align-content:end;display:grid}.hero__eyebrow{align-items:center;gap:var(--space-3);color:var(--muted);display:inline-flex}.hero__eyebrow:before{content:"";background:var(--accent);width:1.75rem;height:1px}.hero__title{font-size:var(--fs-hero);line-height:var(--lh-display);letter-spacing:var(--ls-hero);text-transform:uppercase}@media (min-width:768px){.hero__title-line:nth-child(2){padding-inline-start:clamp(1rem,8vw,6rem)}}.hero__descriptor{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--fs-h3);max-width:34ch}.hero__intro{color:var(--muted)}.hero__actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.hero__chapters{gap:var(--space-4);align-content:end;list-style:none;display:grid}.chapter{align-items:center;gap:var(--space-4);grid-template-columns:auto auto 1fr;display:grid}.chapter:before{content:"";background:var(--line-strong);border-radius:50%;width:7px;height:7px}.chapter__word{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--fs-h3);letter-spacing:var(--ls-display);white-space:nowrap}.chapter__rule{background:var(--line);transform-origin:0;height:1px}.chapter:nth-child(2){margin-left:var(--space-6)}.chapter:nth-child(3){margin-left:var(--space-12)}.chapter:first-child:before{background:var(--accent)}.chapter:first-child .chapter__word{color:var(--accent)}.chapter:first-child .chapter__rule{background:var(--accent);opacity:.5}.hero__divider{background:var(--line);height:1px;display:block;position:relative}.hero__divider:before{content:"";inset-block:0;background:var(--accent);width:4rem;position:absolute;left:0}@media (min-width:1024px){.hero__grid{grid-template-columns:minmax(0,1.5fr) minmax(17rem,1fr);grid-template-areas:"lead chapters";column-gap:clamp(3rem,6vw,6rem)}.hero__lead{grid-area:lead}.hero__chapters{grid-area:chapters}.hero__divider{grid-column:1/-1}.chapter__rule{min-width:3rem}}.button{padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);background:var(--accent);color:var(--accent-ink);font-weight:var(--fw-semibold);font-size:var(--fs-small);transition:transform var(--dur-fast) var(--ease-out);align-items:center;display:inline-flex}.button:hover{transform:translateY(-1px)}.button--ghost{color:var(--text);border:1px solid var(--line-strong);background:0 0}.section-heading{gap:var(--space-4);margin-bottom:clamp(2rem,5vw,4rem);display:grid}.section-heading__eyebrow{align-items:baseline;gap:var(--space-3);display:flex}.section-heading__index{color:var(--muted)}.section-heading__rule{background:var(--line-strong);align-self:center;width:2.25rem;height:1px}.section-heading__title{font-size:var(--fs-section);line-height:var(--lh-display);letter-spacing:var(--ls-display);margin-top:var(--space-2)}.section-heading__lede{color:var(--muted)}@media (min-width:1024px){.section-heading--split{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;column-gap:clamp(2rem,6vw,5rem)}.section-heading--split .section-heading__eyebrow{grid-column:1/-1}.section-heading--split .section-heading__lede{margin-bottom:.35em}}.flag{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--muted);border-left:2px solid var(--line-strong);padding-left:var(--space-3);margin-top:var(--space-3)}.work-features{gap:clamp(3.5rem,9vw,8rem);display:grid}.project{gap:clamp(1.75rem,4vw,3rem);display:grid}.project__media{aspect-ratio:16/10;border:var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color var(--dur-base) var(--ease-out);position:relative;overflow:hidden}.project__shot-wrap{will-change:transform;display:block;position:absolute;inset:-8% 0}.project__shot{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out)}.project:hover .project__shot,.project:focus-within .project__shot{transform:scale(1.03)}.project:hover .project__media,.project:focus-within .project__media{border-color:color-mix(in srgb, var(--accent) 55%, var(--line-strong))}.project__field{z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.6;width:100%;height:100%;position:absolute;inset:0}.project__info{gap:var(--space-4);align-content:start;display:grid}.project__meta{align-items:baseline;gap:var(--space-4);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted);flex-wrap:wrap;display:flex}.project__index{color:var(--muted)}.project__ownership{white-space:nowrap;margin-left:auto}.project__name{font-size:var(--fs-h1);line-height:var(--lh-display)}.project__summary{color:var(--text)}.project__contribution{color:var(--muted);max-width:var(--measure)}.project__label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-1);display:block}.project__tags{align-items:center;gap:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--muted);flex-wrap:wrap;display:flex}.project__tags li{align-items:center;gap:var(--space-4);display:inline-flex}.project__tags li+li:before{content:"";background:var(--line-strong);border-radius:50%;width:2px;height:2px}.project__links{gap:var(--space-6);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.project__link{font-size:var(--fs-small);color:var(--accent);transition:border-color var(--dur-fast) var(--ease-out);border-bottom:1px solid #0000;padding-bottom:1px}.project__link:hover,.project__link:focus-visible{border-bottom-color:var(--accent)}@media (min-width:1024px){.project{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);align-items:center;column-gap:clamp(2.5rem,5vw,5rem)}.project--reverse .project__media{order:2}.project__name{font-size:var(--fs-display)}}.work-index{border-top:var(--border);margin-top:clamp(3rem,7vw,6rem);display:grid}.work-index__item{gap:var(--space-3);padding-block:var(--space-8);border-bottom:var(--border);display:grid}.work-index__meta{gap:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted);flex-wrap:wrap;display:flex}.work-index__name{font-size:var(--fs-h2)}.work-index__summary{color:var(--muted)}@media (min-width:768px){.work-index__item{grid-template-columns:minmax(8rem,12rem) minmax(0,1fr);align-items:start;column-gap:clamp(2rem,5vw,4rem)}.work-index__meta{gap:var(--space-1);flex-direction:column;grid-area:1/1/-1}.work-index__name,.work-index__summary,.work-index__ownership,.work-index__item .flag{grid-column:2}}.achievements{gap:clamp(2.75rem,7vw,5rem);display:grid}.achievement__meta{align-items:baseline;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted);flex-wrap:wrap;display:flex}.achievement__index{color:var(--muted)}.achievement__title{margin-top:var(--space-3);letter-spacing:var(--ls-display)}.achievement__scope{align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted);display:inline-flex}.achievement__scope:before{content:"";background:var(--line-strong);border-radius:50%;width:6px;height:6px}.achievement--team .achievement__scope:before{background:var(--accent)}.achievement__detail{max-width:var(--measure);color:var(--muted);margin-top:var(--space-4)}.achievement--lead{max-width:46rem}.achievement--lead .achievement__title{font-size:var(--fs-h1);line-height:var(--lh-heading)}.achievement--secondary{border-top:var(--border);max-width:46rem;padding-top:clamp(2rem,5vw,3rem)}.achievement--secondary .achievement__title{font-size:var(--fs-h2)}.achievement-minor{gap:var(--space-6);border-top:var(--border);padding-top:clamp(1.5rem,4vw,2.5rem);list-style:none;display:grid}.achievement--minor .achievement__title{font-size:var(--fs-h3);font-weight:var(--fw-medium)}.achievement--minor .achievement__detail{margin-top:var(--space-2)}.role-timeline{--rail-gap:clamp(1.5rem, 4vw, 2.75rem);padding-left:var(--rail-gap);border-left:var(--border);gap:clamp(2.5rem,6vw,4rem);list-style:none;display:grid;position:relative}.role-timeline__rail{background:var(--accent);transform-origin:top;width:2px;position:absolute;top:0;bottom:0;left:0;transform:scaleY(1)}.role-entry{gap:var(--space-2);display:grid;position:relative}.role-entry:before{content:"";top:.55em;left:calc(-1 * var(--rail-gap) - 4.5px);background:var(--line-strong);border-radius:50%;width:8px;height:8px;position:absolute}.role-entry--current:before{background:var(--accent)}.role-entry__meta{align-items:baseline;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted);flex-wrap:wrap;display:flex}.role-entry__sep{color:var(--line-strong)}.role-entry__title{font-size:var(--fs-h3);letter-spacing:var(--ls-display)}.role-entry__org{color:var(--muted)}.role-entry__detail{max-width:var(--measure);color:var(--muted);margin-top:var(--space-1)}.about-grid{gap:clamp(2.5rem,6vw,4.5rem);display:grid}.about__prose{gap:var(--space-4);max-width:var(--measure);color:var(--muted);display:grid}.about__lead{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--fs-h3);line-height:var(--lh-heading);letter-spacing:var(--ls-display);color:var(--text)}.about__facts{gap:var(--space-6);align-content:start;display:grid}.about__fact{gap:var(--space-1);border-top:var(--border);padding-top:var(--space-4);display:grid}.about__fact:first-child{border-top:0;padding-top:0}.about__fact dt{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted)}.about__fact dd{color:var(--text)}@media (min-width:900px){.about-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}}.skill-list{display:grid}.skill-group{gap:var(--space-3);border-top:var(--border);padding-block:clamp(1.5rem,3vw,2.25rem);display:grid}.skill-group:last-child{border-bottom:var(--border)}.skill-group__head{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.skill-group__label{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted)}.skill-group__stage{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--accent);display:inline-flex}.skill-group__stage:before{content:"";background:var(--accent);border-radius:50%;width:.4rem;height:.4rem}.skill-group__items{gap:var(--space-2) var(--space-6);flex-wrap:wrap;display:flex}.skill-group__items li{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--fs-h3);letter-spacing:var(--ls-display)}.skill-group__note{font-size:var(--fs-small);color:var(--muted)}@media (min-width:768px){.skill-group{gap:var(--space-6);grid-template-columns:minmax(0,14rem) minmax(0,1fr);align-items:baseline}.skill-group__note{grid-column:2}}.beyond-list{list-style:none;display:grid}.beyond-entry{gap:var(--space-2);border-top:var(--border);padding-block:clamp(1.75rem,4vw,3rem);display:grid}.beyond-entry:last-child{border-bottom:var(--border)}.beyond-entry__index{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-mono);color:var(--muted)}.beyond-entry__label{font-family:var(--font-display);font-size:var(--fs-display);font-weight:var(--fw-bold);line-height:var(--lh-display);letter-spacing:var(--ls-display)}.beyond-entry__note{max-width:var(--measure);color:var(--muted)}@media (min-width:768px){.beyond-entry{column-gap:var(--space-6);grid-template-columns:3rem minmax(0,1fr)}.beyond-entry__index{grid-area:1/1/span 2}.beyond-entry__label,.beyond-entry__note{grid-column:2}}.contact{border-top:var(--border);gap:clamp(2rem,5vw,3rem);padding-top:clamp(2rem,5vw,3rem);display:grid;position:relative}.contact__field{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.contact__signal{width:100%;height:100%;display:block}.contact__email{z-index:1;font-family:var(--font-display);font-size:clamp(1.9rem,6.5vw,5rem);font-weight:var(--fw-bold);line-height:var(--lh-heading);letter-spacing:var(--ls-display);color:var(--accent);overflow-wrap:anywhere;justify-self:start;position:relative}.contact__email:hover,.contact__email:focus-visible{text-underline-offset:.12em;text-decoration:underline}.contact__links{z-index:1;gap:var(--space-4) var(--space-8);flex-wrap:wrap;list-style:none;display:flex;position:relative}.contact__links a{color:var(--muted)}.contact__links a:hover,.contact__links a:focus-visible{color:var(--text)}.site-footer{border-top:var(--border);padding-block:var(--space-16);margin-top:var(--space-24)}.site-footer__inner{gap:var(--space-6);display:grid}.site-footer__concept{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h3);letter-spacing:var(--ls-display)}.site-footer__links{gap:var(--space-6);flex-wrap:wrap;display:flex}.site-footer__links a{color:var(--muted)}.site-footer__links a:hover,.site-footer__links a:focus-visible{color:var(--accent)}.marquee{border-block:var(--border);padding-block:clamp(1rem,2.5vw,1.75rem);overflow:hidden}.marquee__inner{will-change:transform}.marquee__track{width:max-content;animation:216s linear infinite marquee-scroll;display:flex}.marquee__group,.marquee__item{align-items:center;display:flex}.marquee__word{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h2);letter-spacing:var(--ls-display);text-transform:uppercase;white-space:nowrap;padding-inline:clamp(1.5rem,4vw,3rem)}.marquee__dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.marquee:hover .marquee__track,.marquee:focus-within .marquee__track{animation-play-state:paused}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee__track{justify-content:center;width:100%;animation:none}.marquee__group:last-child{display:none}}.scene-band{padding-block:clamp(2rem,6vw,4.5rem)}.scene-band__inner{align-items:center;gap:clamp(.75rem,2vw,1.5rem);display:flex}.scene-band__word{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-display);letter-spacing:var(--ls-display);text-transform:uppercase;color:#0000;-webkit-text-stroke:1px var(--line-strong);line-height:1}.scene-band__rule{background:var(--line-strong);transform-origin:0;flex:1;height:1px}.site-nav__progress{background:var(--accent);transform-origin:0;pointer-events:none;will-change:transform;width:100%;height:2px;position:absolute;bottom:0;left:0;transform:scaleX(0)}.hero__bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero__bg-grid{background-image:linear-gradient(to right, var(--line) 1px, transparent 1px), linear-gradient(to bottom, var(--line) 1px, transparent 1px);opacity:.65;will-change:transform;background-size:84px 84px;position:absolute;inset:-12% -6%;-webkit-mask-image:radial-gradient(120% 90% at 72% 18%,#000 0%,#0000 72%);mask-image:radial-gradient(120% 90% at 72% 18%,#000 0%,#0000 72%)}.hero__bg-glow{background:radial-gradient(38% 46% at 78% 22%, color-mix(in srgb, var(--accent) 22%, transparent) 0%, transparent 70%), radial-gradient(44% 52% at 10% 80%, #5b8cff26 0%, transparent 72%);filter:blur(8px);will-change:transform;animation:22s ease-in-out infinite alternate hero-glow-drift;position:absolute;inset:-30%}.hero__bg-grain{opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes hero-glow-drift{0%{transform:translate(-2%,-1%)scale(1)}to{transform:translate(3%,2%)scale(1.08)}}.hero__signal{opacity:.9;width:100%;height:100%;position:absolute;inset:0}.hero__grid{z-index:1;position:relative}.hero__title-line{display:block}.hero__title-mask{margin-block:-.06em -.12em;padding-block:.06em .12em;display:block;overflow:hidden}.hero__char{will-change:transform;display:inline-block}.hero__curtain{z-index:30;background:var(--bg);pointer-events:none;position:absolute;inset:0;transform:translateY(-100%)}.cursor{z-index:200;background:var(--accent);pointer-events:none;opacity:0;will-change:transform;width:10px;height:10px;transition:opacity var(--dur-fast) var(--ease-out), width var(--dur-base) var(--ease-out), height var(--dur-base) var(--ease-out);border-radius:50%;place-items:center;display:grid;position:fixed;top:0;left:0}html.has-cursor .cursor{opacity:1}html.has-cursor,html.has-cursor a,html.has-cursor button,html.has-cursor [role=button]{cursor:none}.cursor.is-active{width:70px;height:70px}.cursor__label{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--accent-ink);white-space:nowrap;opacity:0;transition:opacity var(--dur-base) var(--ease-out)}.cursor.is-active .cursor__label{opacity:1}@media (pointer:coarse){.cursor{display:none}}.sculpture{align-items:center;gap:clamp(1.25rem,3vw,2rem);display:grid}.sculpture__canvas{width:100%;max-width:36rem;margin-inline:auto;position:relative}.sculpture__stage{aspect-ratio:1;display:none;position:relative}.sculpture__stage-inner{will-change:transform;place-items:center;display:grid;position:absolute;inset:0}.sculpture__orbits{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sculpture__orbit ellipse{fill:none;stroke:var(--line-strong);stroke-width:.4px}.sculpture__orbit--b ellipse{stroke:var(--line)}.sculpture__link{stroke:var(--line-strong);stroke-width:.35px;transition:stroke var(--dur-base) var(--ease-out), stroke-width var(--dur-base) var(--ease-out)}.sculpture__link--lead{stroke-dasharray:1.5 1.6}.sculpture__link[data-active=true]{stroke:var(--accent);stroke-width:.7px}.sculpture__core{z-index:2;border:1px solid var(--line-strong);background:radial-gradient(circle at 50% 40%, var(--surface), var(--bg));width:5.5rem;height:5.5rem;box-shadow:0 0 70px -14px var(--signal-glow);border-radius:50%;place-items:center;gap:.1rem;display:grid;position:relative}.sculpture__core-mark{font-family:var(--font-display);letter-spacing:.08em;font-weight:700}.sculpture__core-label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted)}.sculpture__nodes{z-index:3;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sculpture__node{list-style:none}.sculpture__node-btn{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-small);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);align-items:center;gap:.5rem;padding:.5rem .85rem;display:inline-flex}.sculpture__node-btn:hover{border-color:var(--accent)}.sculpture__node-dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.sculpture__node--lead .sculpture__node-dot{background:var(--accent)}.sculpture__node.is-active .sculpture__node-btn{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.sculpture__node.is-active .sculpture__node-dot{box-shadow:0 0 0 4px var(--signal-soft)}.sculpture__panel{border-left:1px solid var(--line);min-height:8rem;padding-left:1.25rem}.sculpture__panel-kind{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--accent)}.sculpture__panel-title{font-size:var(--fs-h3);margin-top:.35rem}.sculpture__panel-org{color:var(--text)}.sculpture__panel-meta{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-mono);color:var(--muted);margin-top:.15rem}.sculpture__panel-detail,.sculpture__panel-hint{color:var(--muted);margin-top:.6rem}.sculpture__panel-link{color:var(--accent);gap:.35em;margin-top:.75rem;text-decoration:none;display:inline-flex}.sculpture__panel-link:hover{text-decoration:underline}@media (min-width:768px){.sculpture{grid-template-columns:minmax(0,1fr) minmax(15rem,21rem)}.sculpture__canvas{grid-column:1;max-width:none}.sculpture__stage{display:block}.sculpture__nodes{display:block;position:absolute;inset:0}.sculpture__node{left:var(--nx);top:var(--ny);position:absolute;transform:translate(-50%,-50%)}.sculpture__node-btn{font-size:var(--fs-caption);background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.35rem .7rem}.sculpture__node-btn:hover{background:var(--surface);transform:none}.sculpture__panel{grid-column:2}}.role-entry[data-active]:before{background:var(--accent);box-shadow:0 0 0 4px var(--signal-soft)}.role-entry[data-active] .role-entry__title{color:var(--accent)}.telemetry{display:none}@media (min-width:1024px){.telemetry{left:var(--gutter);bottom:var(--gutter);z-index:150;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted);pointer-events:none;flex-direction:column;gap:.15rem;display:flex;position:fixed}.telemetry__row{gap:.5rem;display:flex}.telemetry__key{color:var(--accent)}}.constellation{gap:clamp(1.5rem,4vw,2.5rem);display:grid}.constellation__stage{aspect-ratio:1;width:min(100%,34rem);margin-inline:auto;position:relative}.constellation__links{width:100%;height:100%;position:absolute;inset:0}.constellation__links line{stroke:var(--line-strong);stroke-width:.4px;transition:stroke .3s}.constellation__links line.is-active{stroke:var(--accent)}.constellation__hub{border:1px solid var(--signal-line);background:radial-gradient(circle at 50% 50%, var(--surface-2), var(--bg));width:5.5rem;height:5.5rem;box-shadow:0 0 44px -8px var(--signal-glow);border-radius:50%;place-items:center;gap:.15rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.constellation__hub-mark{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:1.35rem;line-height:1}.constellation__hub-label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted)}.constellation__nodes{margin:0;padding:0;list-style:none;position:absolute;inset:0}.constellation__node{left:var(--nx);top:var(--ny);position:absolute;transform:translate(-50%,-50%)}.constellation__node-btn{border-radius:var(--radius-pill);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.02em;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:.4rem;padding:.3rem .6rem;transition:background .25s,border-color .25s,color .25s;display:inline-flex}.constellation__node-dot{background:var(--line-strong);border-radius:50%;width:6px;height:6px;transition:background .25s,box-shadow .25s}.constellation__node--category .constellation__node-label{font-family:var(--font-display);font-size:var(--fs-mono);text-transform:uppercase;letter-spacing:var(--ls-mono);color:var(--muted)}.constellation__node--learning .constellation__node-dot{border:1px solid var(--accent);background:0 0}.constellation__node-btn:hover,.constellation__node-btn:focus-visible{border-color:var(--line-strong);background:color-mix(in srgb, var(--text) 6%, transparent)}.constellation__node-btn[aria-pressed=true]{border-color:var(--signal-line);background:color-mix(in srgb, var(--accent) 12%, var(--surface));color:var(--text)}.constellation__node-btn[aria-pressed=true] .constellation__node-dot{background:var(--accent);box-shadow:0 0 0 3px var(--signal-soft)}.constellation__panel{border-top:var(--border);padding-top:clamp(1rem,3vw,1.5rem)}.constellation__panel-kind{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--accent);margin:0 0 .4rem}.constellation__panel-title{font-family:var(--font-display);font-size:var(--fs-h3);margin:0}.constellation__panel-meta{color:var(--muted);margin:.25rem 0 0}.constellation__panel-note,.constellation__panel-hint{max-width:var(--measure);color:var(--muted);margin:.6rem 0 0}.constellation__panel-items{font-family:var(--font-mono);font-size:var(--fs-caption);flex-wrap:wrap;gap:.4rem .9rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.constellation__panel-items li:before{content:"· ";color:var(--accent)}html.has-cursor input,html.has-cursor textarea,html.has-cursor select{cursor:text}html.has-palette .cursor{opacity:0}html.has-palette,html.has-palette a,html.has-palette button,html.has-palette [role=button],html.has-palette input{cursor:auto}html.has-palette .palette__input{cursor:text}.site-nav__search{border:var(--border);border-radius:var(--radius-pill);color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;cursor:pointer;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:.5rem;padding:.4rem .7rem;display:none}.site-nav__search:hover,.site-nav__search:focus-visible{color:var(--text);border-color:var(--line-strong)}.site-nav__kbd{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--accent);background:var(--signal-soft);border-radius:var(--radius-sm);padding:.1rem .35rem}@media (min-width:768px){.site-nav__search{display:inline-flex}}@media (min-width:768px) and (max-width:1023px){.site-nav__list{gap:var(--space-4)}.site-nav__kbd{display:none}}.mobile-menu__search{width:100%;padding:var(--space-4) 0;border:0;border-bottom:var(--border);text-align:left;color:var(--muted);font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-medium);cursor:pointer;background:0 0;display:block}.mobile-menu__search:hover,.mobile-menu__search:focus-visible{color:var(--accent)}.palette{width:100%;max-width:min(38rem, calc(100vw - 2 * var(--gutter)));color:var(--text);background:0 0;border:0;margin:auto;padding:0}.palette::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000009e}.palette__box{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);flex-direction:column;max-height:min(30rem,72vh);display:flex;overflow:hidden;box-shadow:0 30px 80px -30px #000000d9}.palette__search{border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.palette__prompt{font-family:var(--font-mono);color:var(--accent)}.palette__input{min-width:0;color:var(--text);font-family:var(--font-body);background:0 0;border:0;outline:none;flex:1;font-size:1rem}.palette__input::placeholder{color:var(--muted)}.palette__kbd{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--muted);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.15rem .4rem}.palette__list{flex:1;margin:0;padding:.4rem;list-style:none;overflow-y:auto}.palette__item{border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .8rem;display:flex}.palette__item[data-active]{background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.palette__item-label{font-size:var(--fs-body)}.palette__item-meta{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted);align-items:center;gap:.6rem;display:flex}.palette__item-group{color:var(--accent)}.palette__empty{color:var(--muted);font-size:var(--fs-small);padding:1.2rem 1rem}.palette__footer{border-top:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--muted);gap:1rem;padding:.6rem 1rem;display:flex}.signal-dot{background:var(--line-strong);vertical-align:middle;cursor:pointer;width:9px;height:9px;transition:background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:0;border-radius:50%;margin-left:.6rem;padding:0;display:inline-block}.signal-dot:hover,.signal-dot:focus-visible{background:var(--accent);box-shadow:0 0 0 4px var(--signal-soft)}.egg{right:var(--gutter);bottom:var(--gutter);z-index:180;width:min(22rem, calc(100vw - 2 * var(--gutter)));background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:1rem 2rem 1rem 1.1rem;position:fixed;box-shadow:0 24px 60px -24px #000c}.egg__eyebrow{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--accent);margin:0 0 .4rem}.egg__text{font-size:var(--fs-small);color:var(--text);margin:0}.egg__close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 .35rem;font-size:1.15rem;line-height:1.4;position:absolute;top:.45rem;right:.5rem}.egg__close:hover,.egg__close:focus-visible{color:var(--text)}
