:root{--bg: #0A0E14;--bg-deep: #070A0F;--surface: #0F141C;--elevated: #141B24;--elevated-hover: #16212E;--border: #1E2730;--border-bright: #2C3A47;--grid-line: #121A22;--code-bg: #0E1219;--scrim: rgba(7, 10, 15, .78);--text: #E6EDF3;--text-secondary: #A9B6C2;--muted: #7C8B99;--label: #7C8B99;--faint: #4C5764;--accent: #00E5FF;--accent-deep: #0FB6C9;--accent-soft: #7FF0FF;--accent-text: #5BE9F7;--accent-ink: #062A30;--accent-2: #7C8CFF;--trace: #16323D;--silkscreen: #3A4956;--glow: rgba(0, 229, 255, .18);--glow-strong: rgba(0, 229, 255, .34);--glow-soft: rgba(0, 229, 255, .1);--success: #3DD68C;--success-glow: rgba(61, 214, 140, .3);--led-on: #3DD68C;--led-ring: rgba(61, 214, 140, .18);--warn: #F2C14E;--danger: #FF6B6B;--selection-bg: rgba(0, 229, 255, .22);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 30px -12px rgba(0, 0, 0, .55);--shadow-lg: 0 24px 60px -20px rgba(0, 0, 0, .65);--shadow-card-hover: 0 0 0 1px var(--glow-strong), 0 12px 40px -14px var(--glow);--glow-ring: 0 0 0 1px var(--glow), 0 0 24px -4px var(--glow);--glow-text: 0 0 18px var(--glow-soft);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--section-gap: clamp(5rem, 10vh, 9rem);--maxw: 1180px;--maxw-spine: 720px;--measure: 68ch;--gutter: clamp(1.25rem, 5vw, 4rem);--nav-h: 60px;--border-w: 1px;--focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--font-display: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "Cascadia Code", Menlo, Consolas, "Liberation Mono", monospace;--fs-eyebrow: clamp(.72rem, .7rem + .1vw, .8rem);--fs-micro: clamp(.72rem, .7rem + .1vw, .78rem);--fs-small: clamp(.82rem, .79rem + .14vw, .875rem);--fs-body: clamp(.975rem, .93rem + .22vw, 1.0625rem);--fs-lead: clamp(1.15rem, 1.04rem + .55vw, 1.45rem);--fs-h3: clamp(1.2rem, 1.05rem + .7vw, 1.55rem);--fs-h2: clamp(1.7rem, 1.35rem + 1.6vw, 2.7rem);--fs-h1: clamp(2.6rem, 1.7rem + 3.6vw, 4.6rem);--fs-hero: clamp(2.9rem, 1.9rem + 4.4vw, 5.2rem);--fs-numeral: clamp(3.5rem, 2.5rem + 5vw, 7rem);--lh-tight: 1.06;--lh-snug: 1.2;--lh-body: 1.65;--lh-lead: 1.45;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-std: cubic-bezier(.4, 0, .2, 1);--ease-wipe: cubic-bezier(.7, 0, .2, 1);--t-fast: .16s;--t: .24s;--t-slow: .52s;--t-draw: .7s}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}ul{list-style:none;padding:0}:where(h1,h2,h3,h4){font-family:var(--font-display);font-weight:600;line-height:var(--lh-tight);letter-spacing:-.02em}::selection{background:var(--selection-bg);color:#fff}*{scrollbar-width:thin;scrollbar-color:var(--border-bright) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:repeating-linear-gradient(to right,var(--grid-line) 0 1px,transparent 1px 24px),repeating-linear-gradient(to bottom,var(--grid-line) 0 1px,transparent 1px 24px),repeating-linear-gradient(to right,var(--grid-line) 0 1px,transparent 1px 120px),repeating-linear-gradient(to bottom,var(--grid-line) 0 1px,transparent 1px 120px);opacity:.55;mask-image:radial-gradient(120% 90% at 50% 0%,#000 35%,transparent 92%)}body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(900px circle at 85% -8%,var(--glow),transparent 60%),radial-gradient(700px circle at -5% 105%,rgba(124,140,255,.07),transparent 55%)}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.spine{max-width:var(--maxw-spine)}.section{padding-block:var(--section-gap);position:relative}.measure{max-width:var(--measure)}.skip-link{position:absolute;left:var(--space-4);top:-120px;z-index:200;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-size:var(--fs-small);padding:.6rem 1rem;border-radius:var(--radius-sm);transition:top var(--t-fast) var(--ease-std)}.skip-link:focus{top:var(--space-4)}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);opacity:.85}.tnum{font-variant-numeric:tabular-nums}.accent{color:var(--accent-text)}.link{color:var(--accent-text);background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:background-size var(--t-fast) var(--ease-std),color var(--t-fast)}.link:hover,.link:focus-visible{background-size:100% 1px;color:var(--accent-soft)}.js .reveal{opacity:0;transform:translateY(16px);transition:opacity var(--t-slow) var(--ease-out),transform var(--t-slow) var(--ease-out);transition-delay:calc(var(--i, 0) * 60ms)}.js .reveal.in-view{opacity:1;transform:none}.js .fade{opacity:0;transition:opacity var(--t-slow) var(--ease-out);transition-delay:calc(var(--i, 0) * 60ms)}.js .fade.in-view{opacity:1}.section-head{position:relative;margin-bottom:var(--space-7)}.section-head__num{position:absolute;top:-.55em;left:-.1em;z-index:0;font-family:var(--font-display);font-weight:700;font-size:var(--fs-numeral);color:var(--border-bright);opacity:.85;pointer-events:none;line-height:1;letter-spacing:-.04em}.section-head__inner{position:relative;z-index:1}.section-head .rule{display:block;height:1px;width:clamp(48px,8vw,96px);background:var(--accent);margin-block:var(--space-3) var(--space-4);transform:scaleX(0);transform-origin:left;transition:transform var(--t-slow) var(--ease-out)}.section-head.in-view .rule{transform:scaleX(1)}.section-head__title{font-size:var(--fs-h2);color:var(--text);max-width:22ch}.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:var(--fs-small);letter-spacing:.04em;padding:.7rem 1.15rem;border-radius:var(--radius-sm);border:1px solid transparent;transform:translate(var(--tx, 0px),var(--ty, 0px));transition:background var(--t-fast) var(--ease-std),color var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t) var(--ease-out)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.btn-primary:hover{background:var(--accent-soft);box-shadow:var(--glow-ring)}.btn-primary:active{transform:translate(var(--tx, 0px),var(--ty, 0px)) scale(.97)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:before{content:"›";color:var(--accent);font-weight:700}.btn-ghost:hover{border-color:var(--border-bright);color:var(--accent-text);box-shadow:0 0 0 1px var(--glow-soft)}:where(a,button,input,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.pill{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.1em;padding:.2em .6em;border-radius:var(--radius-xs);border:1px solid var(--border);line-height:1;white-space:nowrap}.pill__dot{width:.5em;height:.5em;border-radius:50%;background:currentColor}.pill--deployed{color:var(--success);border-color:color-mix(in srgb,var(--success) 42%,transparent);background:color-mix(in srgb,var(--success) 10%,transparent)}.pill--deployed .pill__dot{box-shadow:0 0 0 3px var(--led-ring);animation:pulse-dot 2s ease-in-out infinite}.pill--production{color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 38%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.pill--oss{color:var(--muted);border-color:var(--border)}.pill--wip{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.7}}.badges{display:flex;flex-wrap:wrap;gap:.4rem}.badge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--text-secondary);background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-xs);padding:.28em .6em;line-height:1;transition:color var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.badge--core{border-color:var(--border-bright);color:var(--text)}.badge:hover{border-color:var(--accent);color:var(--accent-text);box-shadow:0 0 0 1px var(--glow-soft)}.spec{display:flex;flex-direction:column;gap:.55rem}.spec__row{display:flex;align-items:baseline;gap:.75rem}.spec__row dt{flex:0 0 auto;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--label);font-size:var(--fs-micro)}.spec__leader{flex:1 1 auto;border-bottom:1px dotted var(--border);transform:translateY(-.3em);min-width:1.5rem}.spec__row dd{flex:0 1 auto;text-align:right;color:var(--text);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.spec__row dd.is-active{color:var(--accent-text);font-weight:500}.spec__row.hoverable:hover dt{color:var(--text-secondary)}.spec__row.hoverable:hover .spec__leader{border-color:var(--border-bright)}.spec__row.hoverable:hover dd{color:var(--accent-text)}.spec-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(1.1rem,2.5vw,1.6rem);position:relative}.spec-card__label{font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:var(--space-4);display:flex;align-items:center;gap:.5em}.ticked{position:relative}.ticked:before,.ticked:after{content:"";position:absolute;width:10px;height:10px;transition:border-color var(--t) var(--ease-std);pointer-events:none}.ticked:before{top:8px;left:8px;border-top:1px solid var(--border-bright);border-left:1px solid var(--border-bright)}.ticked:after{bottom:8px;right:8px;border-bottom:1px solid var(--border-bright);border-right:1px solid var(--border-bright)}.ticked:hover:before,.ticked:hover:after{border-color:var(--accent)}.led{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.led__dot{width:8px;height:8px;border-radius:50%;background:var(--led-on);box-shadow:0 0 0 3px var(--led-ring),0 0 10px var(--success-glow);animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{0%,to{opacity:1}50%{opacity:.55}}.signal-rail{display:none}@media(min-width:1100px){.signal-rail{display:block;position:fixed;top:0;bottom:0;left:max(calc((100vw - var(--maxw)) / 2 + .5rem),.9rem);width:2px;z-index:1;pointer-events:none;mask-image:linear-gradient(transparent,#000 6%,#000 94%,transparent)}.signal-rail__line{position:absolute;inset:0;background:var(--trace);opacity:.7}.signal-rail__fill{position:absolute;top:0;left:0;width:100%;height:calc(var(--scrollp, 0) * 100%);background:linear-gradient(180deg,var(--accent-deep),var(--accent));box-shadow:0 0 8px var(--glow-strong)}.signal-rail__node{position:absolute;left:50%;top:calc(var(--scrollp, 0) * 100%);width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--glow-strong),0 0 26px var(--glow)}.signal-rail__node:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--accent);animation:ping 2.2s ease-out infinite}}@keyframes ping{0%{transform:scale(.55);opacity:.7}to{transform:scale(2.4);opacity:0}}.nav{position:sticky;top:0;z-index:100;height:var(--nav-h);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px)}@supports not (backdrop-filter: blur(2px)){.nav{background:var(--bg)}}.nav__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.masthead{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.14em;color:var(--text-secondary);text-transform:uppercase;white-space:nowrap}.masthead b{color:var(--accent);font-weight:600}.masthead .rev{color:var(--muted);margin-left:.5em}.nav__links{display:flex;align-items:center;gap:var(--space-5)}.nav__link{position:relative;font-size:var(--fs-small);color:var(--text-secondary);transition:color var(--t-fast);padding-block:.4rem}.nav__link:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--t-fast) var(--ease-std)}.nav__link:hover,.nav__link[aria-current=true]{color:var(--accent-text)}.nav__link:hover:after,.nav__link[aria-current=true]:after{transform:scaleX(1)}.nav__menu-btn{display:none}@media(max-width:720px){.nav__menu-btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:44px;padding:.4rem .7rem}.nav__links{position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--border);padding:var(--space-2) var(--gutter) var(--space-4);transform:translateY(-8px);opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--t-fast),transform var(--t-fast),visibility var(--t-fast)}.nav__links[data-open]{transform:none;opacity:1;pointer-events:auto;visibility:visible}.nav__link{padding-block:.8rem;border-bottom:1px solid var(--border)}.nav__link:after{display:none}.masthead{font-size:.66rem}.masthead .rev{display:none}}.boot{position:fixed;inset:0;z-index:300;background:var(--bg-deep);display:none;place-items:center}.js .boot{display:grid}.boot[hidden]{display:none}.boot.is-wiping{animation:boot-wipe .32s var(--ease-wipe) forwards}@keyframes boot-wipe{to{clip-path:inset(0 0 100% 0)}}.boot__panel{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--text-secondary);width:min(520px,86vw)}.boot__line{opacity:0;transform:translateY(6px);animation:boot-line .4s var(--ease-out) forwards;animation-delay:calc(var(--i) * .22s + .1s);white-space:pre-wrap}.boot__line .ok{color:var(--accent)}@keyframes boot-line{to{opacity:1;transform:none}}.caret{display:inline-block;width:.6em;height:1.05em;transform:translateY(.18em);background:var(--accent);margin-left:.15em;animation:blink 1.06s steps(2,start) infinite}@keyframes blink{50%{opacity:0}}.boot__skip{position:fixed;top:var(--space-5);right:var(--space-5);font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem .7rem}.boot__skip:hover{color:var(--accent-text);border-color:var(--border-bright)}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding-block:calc(var(--nav-h) + var(--space-6)) var(--space-8)}.hero__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;width:100%}.hero__titleblock{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--space-5)}.hero__titleblock b{color:var(--accent)}.hero__eyebrow{display:inline-flex;align-items:center;gap:.6em;margin-bottom:var(--space-4)}.hero h1{font-size:var(--fs-hero);font-weight:700;color:var(--text);margin-bottom:var(--space-4)}.hero h1 .end{text-shadow:var(--glow-text)}.hero__lead{font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--text-secondary);max-width:46ch;margin-bottom:var(--space-6)}.hero__lead .arrow{color:var(--accent);font-family:var(--font-mono);padding-inline:.15em}.hero__lead em{font-style:normal;font-weight:600;color:var(--text);position:relative}.hero__lead em:after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--t-fast) var(--ease-std)}.js .hero__lead em{--d: 0ms}.hero__lead em:hover:after{transform:scaleX(1)}.hero.lead-drawn .hero__lead em:after{animation:draw-underline .5s var(--ease-out) forwards;animation-delay:var(--d)}@keyframes draw-underline{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}.ticker{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted);letter-spacing:.04em}.ticker span{color:var(--muted);padding-inline:.5em}.hero__spec{position:relative}.hero__scroll{position:absolute;left:50%;bottom:var(--space-5);transform:translate(-50%);font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted);letter-spacing:.2em;text-transform:uppercase}.hero__scroll:before{content:"▼";display:block;text-align:center;margin-bottom:.3em;animation:nudge 2s ease-in-out infinite}@keyframes nudge{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(3px);opacity:1}}@media(max-width:900px){.hero__grid{grid-template-columns:1fr;gap:var(--space-6)}.hero__scroll{display:none}}.about__grid{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}.about__subhead{font-family:var(--font-display);font-size:var(--fs-h3);color:var(--text);margin-bottom:var(--space-5);max-width:18ch;line-height:var(--lh-snug)}.about__body p{color:var(--text-secondary);max-width:62ch;margin-bottom:var(--space-4)}.about__body p:last-child{margin-bottom:0}.annot{color:var(--accent-text);border-bottom:1px dotted var(--accent-deep)}@media(max-width:820px){.about__grid{grid-template-columns:1fr}}.projects__flagship{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.card-full{grid-column:1 / -1}@media(max-width:860px){.projects__flagship{grid-template-columns:1fr}}@media(max-width:600px){.pcard__params.cols{grid-template-columns:1fr}}.pcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(1.25rem,3vw,2rem);position:relative;overflow:hidden;transition:transform var(--t) var(--ease-std),border-color var(--t),box-shadow var(--t);display:flex;flex-direction:column;gap:var(--space-4)}.pcard:hover{transform:translateY(-3px);border-color:var(--border-bright);box-shadow:var(--shadow-card-hover)}.pcard__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.pcard__fig{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.14em;color:var(--label);text-transform:uppercase}.pcard__pills{display:flex;flex-wrap:wrap;gap:.4rem}.pcard__title{font-size:var(--fs-h3);color:var(--text)}.pcard__tagline{color:var(--accent-text);font-size:var(--fs-small);margin-top:-.4rem}.pcard__desc{color:var(--text-secondary);font-size:var(--fs-body)}.pcard__params{border-top:1px solid var(--border);padding-top:var(--space-4)}.pcard__params.cols{display:grid;grid-template-columns:1fr 1fr;gap:.55rem var(--space-5)}.pcard__params.cols .spec{display:contents}.pcard__details summary{font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-text);cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.5em;padding:.2rem 0}.pcard__details summary::-webkit-details-marker{display:none}.pcard__details summary:before{content:"▸";transition:transform var(--t-fast);display:inline-block}.pcard__details[open] summary:before{transform:rotate(90deg)}.pcard__details ul{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.pcard__details li{position:relative;padding-left:1.3em;color:var(--text-secondary);font-size:var(--fs-small);line-height:var(--lh-snug)}.pcard__details li:before{content:"›";position:absolute;left:0;color:var(--accent)}.pcard__foot{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.pcard__ref{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--text-secondary);display:inline-flex;align-items:center;gap:.4em}.pcard__ref .arrow{color:var(--accent);transition:transform var(--t-fast);display:inline-block}.pcard__ref:hover{color:var(--accent-text)}.pcard__ref:hover .arrow{transform:translate(4px)}.pcard__norepo{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted)}.star{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--warn);display:inline-flex;align-items:center;gap:.3em}.projects__more{margin-top:var(--space-8)}.projects__more-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.projects__more-head h3{font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:500}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:var(--space-4)}.gcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);transition:transform var(--t-fast) var(--ease-std),border-color var(--t-fast),box-shadow var(--t-fast)}.gcard:hover{transform:translateY(-2px);border-color:var(--border-bright);box-shadow:var(--shadow-md)}.gcard__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.gcard__title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text)}.gcard__date{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted);white-space:nowrap}.gcard__desc{color:var(--text-secondary);font-size:var(--fs-small);flex:1}.gcard__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:auto}.gcard__cat{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted)}.timeline{display:flex;flex-direction:column}.tl-item{position:relative;padding-left:var(--space-7);padding-bottom:var(--space-8)}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";position:absolute;left:5px;top:.55rem;bottom:-.3rem;width:1px;background:var(--trace)}.tl-item:last-child:before{display:none}.tl-item__node{position:absolute;left:0;top:.4rem;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--border-bright)}.tl-item--active .tl-item__node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px var(--glow-strong);animation:pulse-dot 2s ease-in-out infinite}.tl-item__meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}.tl-item__date{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted);letter-spacing:.04em;font-variant-numeric:tabular-nums}.tl-item__role{font-size:var(--fs-h3);color:var(--text)}.tl-item__company{color:var(--accent-text)}.tl-item__loc{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted)}.tl-item__summary{color:var(--text-secondary);max-width:64ch;margin-block:var(--space-3);font-size:var(--fs-small)}.tl-item__hl{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.tl-item__hl li{position:relative;padding-left:1.3em;color:var(--text-secondary);font-size:var(--fs-small);line-height:var(--lh-snug)}.tl-item__hl li:before{content:"›";position:absolute;left:0;color:var(--accent);opacity:.7}.exp-extra{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-top:var(--space-8)}@media(max-width:760px){.exp-extra{grid-template-columns:1fr}}.edu-row{display:flex;flex-direction:column;gap:.2rem;padding-block:var(--space-3);border-bottom:1px solid var(--border)}.edu-row:last-child{border-bottom:none}.edu-row__top{display:flex;justify-content:space-between;gap:var(--space-3);align-items:baseline}.edu-row__degree{color:var(--text);font-weight:500;font-size:var(--fs-small)}.edu-row__grade{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--accent-text);white-space:nowrap;font-variant-numeric:tabular-nums}.edu-row__school{color:var(--muted);font-size:var(--fs-micro)}.edu-row__period{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted)}.skills__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:var(--space-5) var(--space-6)}.skill-group__name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--text);margin-bottom:.35rem;display:flex;align-items:center;gap:.5em}.skill-group__name:before{content:"";width:6px;height:6px;border-radius:1px;background:var(--accent);box-shadow:0 0 6px var(--glow)}.skill-group__blurb{color:var(--muted);font-size:var(--fs-micro);margin-bottom:var(--space-3);line-height:var(--lh-snug)}.protocols{margin-top:var(--space-7);border-top:1px solid var(--border);padding-top:var(--space-5)}.protocols__label{font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:var(--space-3)}.protocols__line{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--text-secondary);line-height:2}.protocols__line b{color:var(--muted);font-weight:400;padding-inline:.4em}.certs__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media(max-width:700px){.certs__grid{grid-template-columns:1fr}}.cert{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);position:relative;display:flex;flex-direction:column}.cert__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.cert__issuer{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.cert__title{color:var(--text);font-weight:500;font-size:var(--fs-small);line-height:var(--lh-snug);margin-bottom:var(--space-4)}.gauge{display:flex;align-items:center;gap:var(--space-3);margin-top:auto}.gauge__track{flex:1;height:8px;background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-pill);overflow:hidden}.gauge__fill{height:100%;background:linear-gradient(90deg,var(--accent-deep),var(--accent));border-radius:var(--radius-pill);width:0;transition:width var(--t-draw) var(--ease-out)}.cert.in-view .gauge__fill{width:var(--w)}.gauge__val{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--accent-text);font-variant-numeric:tabular-nums}.cert__link{align-self:flex-start;margin-top:var(--space-4);font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--accent-text);display:inline-flex;align-items:center;gap:.4em;transition:color var(--t-fast)}.cert__link span{transition:transform var(--t-fast) var(--ease-std);display:inline-block}.cert__link:hover{color:var(--accent-soft)}.cert__link:hover span{transform:translate(2px,-2px)}.contact__panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(1.5rem,5vw,3rem);position:relative}.contact__title{font-family:var(--font-display);font-size:var(--fs-h2);color:var(--text);max-width:18ch;margin-block:var(--space-4) var(--space-5)}.contact__led,.contact__spec{margin-bottom:var(--space-6)}.contact__spec .spec__row dd a{color:var(--accent-text)}.copy-btn{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-xs);padding:.1em .45em;margin-left:.5em;transition:color var(--t-fast),border-color var(--t-fast)}.copy-btn:hover{color:var(--accent-text);border-color:var(--border-bright)}.copy-btn.copied{color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent)}.footer{background:var(--bg-deep);border-top:1px solid var(--border);padding-block:var(--space-8);margin-top:var(--space-9)}.footer__inner{display:flex;flex-direction:column;gap:var(--space-4)}.footer__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.footer__colophon{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted)}.footer__colophon .accent{color:var(--accent-text)}.footer__copy{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted)}.footer__links{display:flex;gap:var(--space-5);flex-wrap:wrap}.footer__links a{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--text-secondary);transition:color var(--t-fast)}.footer__links a:hover{color:var(--accent-text)}.trace-div{display:block;width:100%;height:24px;margin-block:var(--space-7);opacity:.6}.trace-div path{stroke:var(--trace);stroke-width:1;fill:none;stroke-dasharray:var(--len, 600);stroke-dashoffset:var(--len, 600)}.trace-div.in-view path{animation:trace-draw var(--t-draw) var(--ease-out) forwards}@keyframes trace-draw{to{stroke-dashoffset:0}}.trace-div circle{fill:var(--accent);opacity:0}.trace-div.in-view circle{animation:via-in .4s var(--ease-out) .5s forwards}@keyframes via-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.circuit{position:fixed;top:-6%;left:0;width:100%;height:112%;z-index:-1;pointer-events:none;opacity:.45;transform:translateY(calc(var(--scrollp, 0) * -60px))}.circuit__base path{fill:none;stroke:var(--trace);stroke-width:1}.circuit__via{fill:none;stroke:var(--trace);stroke-width:1}.circuit__pad{fill:var(--trace)}.circuit__pulse{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:26 4000;stroke-dashoffset:4000;filter:drop-shadow(0 0 5px var(--accent));animation:flow var(--dur, 9s) linear var(--delay, 0s) infinite}@keyframes flow{to{stroke-dashoffset:0}}.cursor-glow{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .5s ease;background:radial-gradient(440px circle at var(--mx, 50%) var(--my, 28%),rgba(0,229,255,.1),transparent 62%)}body.cursor-on .cursor-glow{opacity:1}.card-glow{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(320px circle at var(--cx, 50%) var(--cy, 50%),var(--glow-strong),transparent 60%);z-index:0}.pcard>*:not(.card-glow){position:relative;z-index:1}.pcard:hover .card-glow{opacity:.5}.hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.hero>.container,.hero__scroll{position:relative;z-index:1}.hero h1{white-space:nowrap}.hero__name{display:inline-block}.stats{padding-block:var(--space-7);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}.stat{text-align:center;position:relative}.stat+.stat:before{content:"";position:absolute;left:calc(var(--space-5) / -2);top:50%;transform:translateY(-50%);width:1px;height:58%;background:var(--border)}.stat__value{font-family:var(--font-display);font-weight:700;font-size:clamp(2.1rem,1.4rem + 2.6vw,3.4rem);line-height:1;color:var(--accent-text);text-shadow:0 0 24px var(--glow);font-variant-numeric:tabular-nums}.stat__label{margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}@media(max-width:640px){.stats__grid{grid-template-columns:1fr 1fr;gap:var(--space-6)}.stat:nth-child(odd):before{display:none}}.section-head__title{background:linear-gradient(100deg,var(--text) 38%,var(--accent-soft) 50%,var(--text) 62%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:shimmer 7s linear infinite}@keyframes shimmer{to{background-position:-220% center}}@media(pointer:coarse){.copy-btn{min-height:44px;display:inline-flex;align-items:center;padding:.5em .6em}.pcard__ref{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1!important;transform:none!important}.js .fade{opacity:1!important}.section-head .rule{transform:scaleX(1)!important}.gauge__fill{transition:none}.caret{animation:none}.trace-div path{stroke-dashoffset:0!important}.trace-div circle{opacity:1!important}.circuit__pulse{opacity:0!important}.circuit{transform:none!important}.cursor-glow,.card-glow{display:none!important}.signal-rail__node:after{display:none!important}.section-head__title{animation:none;-webkit-text-fill-color:var(--text);color:var(--text)}}
