@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=Syne:wght@600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#f4f1e8;background:#09090d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #09090d;--bg-soft: #101018;--panel: #15151d;--panel-2: #1b1b25;--ink: #f4f1e8;--muted: rgba(244, 241, 232, .64);--faint: rgba(244, 241, 232, .38);--line: rgba(255, 255, 255, .11);--accent: #ffd463;--accent-2: #b285ff;--accent-ink: #14120d;--shadow: 0 30px 90px rgba(0, 0, 0, .4);--radius: 28px}:root[data-theme=light]{color:#17161a;background:#eeeae0;--bg: #eeeae0;--bg-soft: #e3ded2;--panel: #faf7ef;--panel-2: #ffffff;--ink: #17161a;--muted: rgba(23, 22, 26, .67);--faint: rgba(23, 22, 26, .42);--line: rgba(23, 22, 26, .14);--accent: #e8b92f;--accent-2: #7b4acb;--accent-ink: #17130b;--shadow: 0 30px 90px rgba(43, 34, 16, .13)}:root[data-accent=violet]{--accent: #b58cff;--accent-2: #ff7edb}:root[data-accent=cyan]{--accent: #65e7e1;--accent-2: #4c8dff}:root[data-accent=coral]{--accent: #ff8a72;--accent-2: #ffd166}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:var(--bg)}body,button,input,textarea{font-family:inherit}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}main{overflow:hidden}::selection{color:#111;background:var(--accent)}.interactive-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.interactive-backdrop canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.74}.backdrop-orb{position:absolute;width:46vw;height:46vw;border-radius:50%;opacity:.11;filter:blur(80px);mix-blend-mode:screen;animation:backdropDrift 18s ease-in-out infinite alternate}.backdrop-orb.orb-a{top:-20%;left:-14%;background:var(--accent)}.backdrop-orb.orb-b{right:-18%;bottom:-24%;background:var(--accent-2);animation-delay:-7s;animation-duration:23s}.backdrop-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.cursor-glow{position:fixed;top:var(--cursor-y, 50vh);left:var(--cursor-x, 50vw);z-index:0;width:340px;height:340px;border-radius:999px;pointer-events:none;background:radial-gradient(circle,rgba(178,133,255,.08),transparent 68%);transform:translate(-50%,-50%)}.liquid-cursor,.cursor-dot{position:fixed;top:var(--cursor-y, -100px);left:var(--cursor-x, -100px);z-index:100;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}.liquid-cursor{width:34px;height:34px;border:1px solid color-mix(in srgb,var(--accent) 75%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent);box-shadow:0 0 28px color-mix(in srgb,var(--accent) 20%,transparent);transition:width .18s ease,height .18s ease,background .18s ease,border-color .18s ease}.cursor-dot{width:4px;height:4px;background:var(--accent)}.cursor-is-active .liquid-cursor{width:58px;height:58px;border-color:transparent;background:color-mix(in srgb,var(--accent) 22%,transparent)}.scroll-progress{position:fixed;top:0;right:0;z-index:80;width:3px;height:100vh;background:color-mix(in srgb,var(--line) 50%,transparent)}.scroll-progress span{display:block;width:100%;height:calc(var(--scroll-progress, 0) * 100%);background:linear-gradient(var(--accent),var(--accent-2));box-shadow:0 0 18px var(--accent)}.is-safari .liquid-cursor,.is-safari .cursor-dot,.is-safari .cursor-glow{display:none}.is-safari .backdrop-orb{opacity:.075;filter:blur(36px);mix-blend-mode:normal;animation:none}.is-safari .site-nav,.is-safari .accent-menu,.is-safari .hover-note-card,.is-safari .tech-pill:after,.is-safari .keycap-hint,.is-safari .rag-core,.is-safari .rag-satellite,.is-safari .voice-visual span,.is-safari .story-world,.is-safari .story-card{-webkit-backdrop-filter:none;backdrop-filter:none}.is-safari .site-nav{background:color-mix(in srgb,var(--bg) 94%,var(--panel))}.is-safari .keycap-scene{-webkit-mask-image:none;mask-image:none;opacity:.86}.is-safari .keycap-haze{opacity:.55;filter:blur(14px);animation:none}.is-safari .keycap{background:linear-gradient(145deg,#231c35e6,#09080ff5);box-shadow:0 8px #030307d1,0 10px 17px #00000052,0 0 16px color-mix(in srgb,var(--key-neon) 18%,transparent);will-change:auto}.is-safari .keycap:before{background:color-mix(in srgb,var(--key-neon) 30%,transparent);opacity:calc(.04 + var(--key-glow) * .58)}.is-safari .keycap:after{box-shadow:none}.is-safari .section,.is-safari .projects-section,.is-safari .spotlight-section{content-visibility:auto;contain-intrinsic-size:auto 900px}[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}[data-reveal].in-view{opacity:1;transform:translateY(0)}.site-nav{position:fixed;top:16px;left:50%;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;width:min(1240px,calc(100% - 28px));align-items:center;transform:translate(-50%);border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--bg) 78%,transparent);padding:9px 12px;box-shadow:0 16px 50px #0003;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.brand-orb{display:grid;width:44px;height:44px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 65%,transparent);border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff7c8,var(--accent) 32%,#8d6412 73%);box-shadow:0 0 30px color-mix(in srgb,var(--accent) 25%,transparent);color:#151109;font-family:Syne,sans-serif;font-size:.74rem;font-weight:800}.nav-links{display:flex;gap:4px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 82%,transparent);padding:5px}.nav-links a{border-radius:999px;padding:10px 16px;color:var(--muted);font-size:.88rem;font-weight:700;transition:.18s ease}.nav-links a:hover{color:var(--accent-ink);background:var(--accent)}.nav-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.icon-button,.menu-button{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--panel);cursor:pointer}.accent-picker{position:relative}.accent-menu{position:absolute;top:50px;right:0;display:flex;gap:8px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel-2) 92%,transparent);padding:9px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.accent-swatch{width:24px;height:24px;border:2px solid transparent;border-radius:50%;cursor:pointer}.accent-swatch.gold{background:#ffd463}.accent-swatch.violet{background:#b58cff}.accent-swatch.cyan{background:#65e7e1}.accent-swatch.coral{background:#ff8a72}.accent-swatch.active{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--panel) 80%,transparent)}.menu-button{display:none}.nav-contact{display:inline-flex;align-items:center;gap:9px;border-radius:999px;background:var(--accent);padding:12px 18px;color:var(--accent-ink);font-weight:800}.status-dot{width:8px;height:8px;border-radius:50%;background:#60db8b;box-shadow:0 0 0 5px #60db8b21;animation:pulse 2s infinite}.hero{position:relative;display:grid;min-height:100vh;grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);gap:clamp(30px,5vw,78px);align-items:center;width:min(1240px,calc(100% - 40px));margin:0 auto;padding:130px 0 74px}.particle-field{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:.9}.keycap-scene{position:absolute;top:-3%;right:-4%;bottom:-3%;left:-4%;z-index:0;overflow:hidden;pointer-events:none;perspective:1300px;-webkit-mask-image:radial-gradient(ellipse at 50% 48%,#000 35%,rgba(0,0,0,.92) 67%,transparent 100%);mask-image:radial-gradient(ellipse at 50% 48%,#000 35%,rgba(0,0,0,.92) 67%,transparent 100%)}.keycap-field{position:absolute;top:1%;left:-3vw;display:grid;width:max(980px,106vw);grid-template-columns:repeat(7,minmax(80px,1fr));gap:clamp(11px,1.2vw,19px);transform:rotateX(47deg) rotate(-8deg) rotateY(2deg);transform-origin:center 42%;transform-style:preserve-3d;pointer-events:none}.keycap-haze{position:absolute;top:3%;right:-4%;bottom:3%;left:-4%;transform:rotate(-5deg);border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent-2) 32%,transparent),color-mix(in srgb,var(--accent) 12%,transparent) 48%,transparent 73%);filter:blur(30px);animation:keyHaze 7s ease-in-out infinite alternate}.keycap{--key-lift: 0px;--key-glow: 0;--key-tilt-x: 0deg;--key-tilt-y: 0deg;--key-neon: #ff4fc3;position:relative;display:grid;aspect-ratio:1.17;place-items:center;transform:translateZ(var(--key-lift)) rotateX(var(--key-tilt-x)) rotateY(var(--key-tilt-y));transform-style:preserve-3d;border:1px solid color-mix(in srgb,var(--key-neon) calc(16% + var(--key-glow) * 80%),rgba(255,255,255,.13));border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--key-neon) calc(var(--key-glow) * 19%),rgba(35,28,53,.84)),#09080ff0);box-shadow:0 9px #030307d1,0 12px 22px #00000061,0 0 calc(8px + var(--key-glow) * 42px) color-mix(in srgb,var(--key-neon) calc(var(--key-glow) * 84%),transparent);color:color-mix(in srgb,#fff calc(54% + var(--key-glow) * 46%),var(--key-neon));cursor:default;font-family:Space Grotesk,monospace;font-size:clamp(.55rem,.78vw,.72rem);font-weight:700;letter-spacing:.04em;pointer-events:none;will-change:transform;animation:keyIdle 5s ease-in-out infinite;animation-delay:calc(var(--key-index) * -90ms)}.keycap:nth-child(3n){--key-neon: #7468ff}.keycap:nth-child(5n){--key-neon: #43d9ff}.keycap:before{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent);content:""}.keycap:after{position:absolute;right:13%;bottom:13%;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 calc(3px + var(--key-glow) * 15px) var(--accent);content:"";opacity:calc(.2 + var(--key-glow))}.keycap span{position:relative;z-index:1}.keycap i{position:absolute;inset:auto 10% 4px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 65%,transparent),transparent);opacity:calc(.1 + var(--key-glow))}.keycap:active,.keycap.pressed{transform:translateZ(2px) translateY(7px) scale(.97);border-color:var(--accent);box-shadow:0 2px #030307e6,0 0 34px color-mix(in srgb,var(--accent) 72%,transparent);color:#fff}.keycap.pressed:before{background:color-mix(in srgb,var(--accent) 22%,transparent)}.keycap:nth-child(7n+1),.keycap:nth-child(7n+7){opacity:.48}.keycap.wide-label{font-size:clamp(.48rem,.65vw,.62rem)}.keycap-hint{position:absolute;right:7%;bottom:7%;display:flex;align-items:center;gap:6px;margin:0;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:999px;background:#0a09109e;padding:7px 10px;color:#ffffff8f;font-size:.62rem;font-weight:800;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.keycap-hint svg{color:var(--accent)}.hero:before{position:absolute;inset:0 auto 0 62%;width:45vw;content:"";background:radial-gradient(circle at center,rgba(117,68,204,.22),transparent 62%);filter:blur(18px)}.hero-grid{position:absolute;top:0;right:49%;bottom:0;left:-20vw;opacity:.28;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:linear-gradient(to bottom,transparent 5%,#000 35%,transparent 94%);mask-image:linear-gradient(to bottom,transparent 5%,#000 35%,transparent 94%);transform:perspective(800px) rotateY(-17deg)}.hero-copy,.build-console{position:relative;z-index:1}.eyebrow,.section-kicker{display:flex;align-items:center;gap:12px;margin:0;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.intro-code{margin:56px 0 8px;color:var(--accent);font-family:Space Grotesk,monospace;font-size:clamp(1.1rem,2vw,1.7rem)}.hero h1{max-width:800px;margin:0;font-family:Syne,sans-serif;font-size:clamp(4.8rem,10.5vw,9.6rem);font-weight:800;letter-spacing:-.075em;line-height:.78}.hero h1 span{color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--ink) 72%,transparent)}.hero-script{margin:22px 0 0;color:var(--accent);font-family:Georgia,serif;font-size:clamp(1.45rem,3vw,2.6rem);font-style:italic}.hero-summary{max-width:690px;margin:24px 0 0;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:15px;padding:13px 18px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #00000040}.button.primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.button.secondary{background:var(--panel)}.hero-socials{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;color:var(--faint);font-size:.88rem}.hero-socials a,.hero-socials span{display:inline-flex;align-items:center;gap:7px}.hero-socials a:hover{color:var(--accent)}.build-console{--tilt-x: 0deg;--tilt-y: 0deg;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 92%,transparent),color-mix(in srgb,var(--accent-2) 9%,var(--panel)));box-shadow:var(--shadow);transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotate(1.2deg);transition:transform .16s ease,border-color .2s ease}.build-console:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.console-bar{display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 72%,transparent);padding:15px 18px}.console-bar span{width:10px;height:10px;border-radius:50%;background:#ff756d}.console-bar span:nth-child(2){background:var(--accent)}.console-bar span:nth-child(3){background:#60db8b}.console-bar strong{margin-left:8px;color:var(--faint);font-family:Space Grotesk,monospace;font-size:.78rem}.console-body{padding:clamp(24px,4vw,40px)}.console-label{margin:0 0 16px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.console-body h2{margin:0;font-family:Syne,sans-serif;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.04em;line-height:1}.console-body>p:not(.console-label){color:var(--muted);line-height:1.6}.pipeline{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:25px 0}.pipeline span{position:relative;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,transparent);padding:8px 9px;color:var(--accent);font-family:Space Grotesk,monospace;font-size:.69rem;animation:consoleIn .6s both;animation-delay:var(--delay)}.pipeline span:not(:last-child):after{position:absolute;right:-7px;content:">";color:var(--faint)}.console-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--line)}.console-stats div{display:grid;gap:6px;background:color-mix(in srgb,var(--panel) 95%,transparent);padding:17px 12px}.console-stats strong{font-family:Syne,sans-serif;font-size:1.35rem}.console-stats span{color:var(--faint);font-size:.65rem;text-transform:uppercase}.console-body>a{display:inline-flex;align-items:center;gap:7px;margin-top:25px;color:var(--accent);font-weight:800}.ai-orb{position:absolute;right:clamp(330px,33vw,455px);bottom:92px;z-index:4;display:grid;width:104px;height:104px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;filter:drop-shadow(0 16px 28px rgba(0,0,0,.42))}.orb-ring{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid color-mix(in srgb,var(--accent) 65%,transparent);border-radius:50%;animation:orbOrbit 7s linear infinite}.orb-ring:after{position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--accent);content:"";box-shadow:0 0 16px var(--accent)}.ring-two{top:0;right:0;bottom:0;left:0;border-style:dashed;animation-direction:reverse;animation-duration:11s;opacity:.5}.orb-core{position:relative;display:flex;width:58px;height:58px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:radial-gradient(circle at 34% 25%,#fff,var(--accent) 26%,color-mix(in srgb,var(--accent-2) 80%,#111) 72%);box-shadow:inset -8px -12px 22px #00000059,0 0 32px color-mix(in srgb,var(--accent) 35%,transparent)}.orb-core i{width:6px;height:10px;border-radius:50%;background:#17131d;animation:orbBlink 4s infinite}.ai-orb small{position:absolute;top:calc(100% + 9px);width:max-content;border:1px solid var(--line);border-radius:999px;background:var(--panel);padding:6px 9px;color:var(--muted);font-size:.62rem;font-weight:800}.ai-orb:hover .orb-core{transform:scale(1.08)}.ai-orb.mood-1 .orb-core{animation:orbPulse .7s infinite alternate}.ai-orb.mood-2 .orb-core{background:radial-gradient(circle at 34% 25%,#fff,#65e7e1 26%,#246ecf 72%)}.ai-orb.mood-3 .orb-core{background:radial-gradient(circle at 34% 25%,#fff,#60db8b 26%,#217245 72%)}.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--accent);color:var(--accent-ink);transform:rotate(-1deg) scale(1.02)}.marquee>div{display:flex;width:max-content;animation:marquee 30s linear infinite}.marquee span{display:inline-flex;align-items:center;gap:22px;padding:14px 20px;font-family:Syne,sans-serif;font-size:.86rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.marquee i{font-style:normal}.section{position:relative;z-index:1;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(100px,12vw,170px) 0}.section+.section{border-top:1px solid var(--line)}.section-intro{display:grid;grid-template-columns:180px 1fr auto;gap:34px;align-items:start;margin-bottom:64px}.section-intro>div{display:flex;align-items:center;gap:14px}.section-intro>div span{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent);font-family:Space Grotesk,monospace;font-size:.74rem}.section-intro p{margin:0;color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.section-intro h2,.credentials-copy h2{max-width:860px;margin:0;font-family:Syne,sans-serif;font-size:clamp(2.35rem,5.3vw,5rem);letter-spacing:-.055em;line-height:.98}.section-intro>svg{color:var(--accent)}.about-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,8vw,110px)}.about-statement>p{margin:0;font-family:Syne,sans-serif;font-size:clamp(1.75rem,3vw,3.1rem);letter-spacing:-.04em;line-height:1.15}.about-statement em{color:var(--accent);font-family:Georgia,serif;font-weight:400}.about-statement a{display:inline-flex;align-items:center;gap:8px;margin-top:28px;color:var(--accent);font-weight:800}.about-copy{display:grid;gap:18px}.about-copy p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.75}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:64px}.principle-grid article{border:1px solid var(--line);border-radius:22px;background:var(--panel);padding:28px}.principle-grid span{color:var(--accent);font-family:Space Grotesk,monospace;font-size:.74rem}.principle-grid h3{margin:36px 0 12px;font-family:Syne,sans-serif;font-size:1.3rem}.principle-grid p{margin:0;color:var(--muted);line-height:1.6}.hover-concepts{position:relative;z-index:8;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:46px}.hover-concepts>span:first-child{margin-right:5px;color:var(--faint);font-family:Space Grotesk,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.hover-note{position:relative;display:inline-flex}.hover-note>button{display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 7%,var(--panel));padding:10px 13px;color:var(--ink);cursor:help;font-weight:800}.hover-note>button svg{color:var(--accent)}.hover-note-card{position:absolute;left:50%;bottom:calc(100% + 14px);z-index:20;display:grid;width:min(290px,78vw);gap:8px;transform:translate(-50%,10px) scale(.96);transform-origin:bottom center;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--panel-2) 94%,transparent);padding:16px;box-shadow:0 22px 55px #0000005c;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:.18s ease}.hover-note-card strong{font-family:Syne,sans-serif;font-size:.96rem}.hover-note-card small{color:var(--muted);font-size:.76rem;line-height:1.5}.hover-note-card i{position:absolute;bottom:-5px;left:calc(50% - 5px);width:10px;height:10px;transform:rotate(45deg);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-2)}.hover-note:hover .hover-note-card,.hover-note:focus-within .hover-note-card{transform:translate(-50%) scale(1);opacity:1}.tech-pill{position:relative;cursor:help}.tech-pill:after{position:absolute;left:50%;bottom:calc(100% + 9px);z-index:30;width:220px;transform:translate(-50%,7px) scale(.96);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--panel-2) 96%,transparent);padding:10px 11px;box-shadow:0 16px 38px #00000052;color:var(--ink);content:attr(data-tooltip);font-family:DM Sans,sans-serif;font-size:.68rem;line-height:1.45;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:.16s ease}.tech-pill:hover:after,.tech-pill:focus:after{transform:translate(-50%) scale(1);opacity:1}.interactive-lab{width:min(1240px,calc(100% - 40px))}.lab-shell{display:grid;grid-template-columns:260px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:color-mix(in srgb,var(--panel) 90%,transparent);box-shadow:var(--shadow)}.lab-tabs{display:grid;align-content:start;gap:8px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg) 56%,transparent);padding:18px}.lab-tabs button{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;border:1px solid transparent;border-radius:14px;background:transparent;padding:14px 12px;color:var(--muted);cursor:pointer;text-align:left}.lab-tabs button span{color:var(--faint);font-family:Space Grotesk,monospace;font-size:.68rem}.lab-tabs button strong{font-size:.82rem}.lab-tabs button.active{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink)}.lab-tabs button.active svg{color:var(--accent)}.lab-stage{position:relative;min-height:500px;overflow:hidden;background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--accent-2) 14%,transparent),transparent 38%);animation:labSwap .45s ease both}.lab-terminal-bar{display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--line);padding:14px 18px}.lab-terminal-bar>span{width:9px;height:9px;border-radius:50%;background:#ff756d}.lab-terminal-bar>span:nth-child(2){background:var(--accent)}.lab-terminal-bar>span:nth-child(3){background:#60db8b}.lab-terminal-bar code{margin-left:8px;color:var(--faint);font-size:.72rem}.lab-copy{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start;padding:34px 36px 18px}.lab-copy p{margin:0 0 9px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.lab-copy h3{max-width:670px;margin:0;font-family:Syne,sans-serif;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.05em;line-height:.98}.lab-copy>div:first-child>span{display:block;max-width:650px;margin-top:14px;color:var(--muted);line-height:1.58}.lab-metric{display:grid;min-width:120px;gap:4px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel-2) 85%,transparent);padding:17px}.lab-metric strong{color:var(--accent);font-family:Syne,sans-serif;font-size:1.7rem}.lab-metric span{color:var(--faint);font-size:.68rem;text-transform:uppercase}.lab-pipeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:44px 36px 28px}.signal-line{position:absolute;top:70px;left:9%;right:9%;height:1px;overflow:hidden;background:var(--line)}.signal-line i{display:block;width:28%;height:100%;transform:translate(-110%);background:linear-gradient(90deg,transparent,var(--accent),transparent)}.lab-pipeline.is-running .signal-line i{animation:signalRun 1.6s ease-in-out infinite}.lab-node{position:relative;z-index:1;display:grid;min-height:82px;place-items:center;gap:7px;border:1px solid var(--line);border-radius:15px;background:var(--panel-2);padding:10px;text-align:center}.lab-node>span{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font-size:.63rem}.lab-node strong{font-size:.7rem}.lab-node i{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--accent);border-radius:inherit;opacity:0}.lab-pipeline.is-running .lab-node{animation:nodeRun .35s ease both;animation-delay:calc(var(--step) * .34s)}.lab-pipeline.is-running .lab-node i{animation:nodePing .6s ease both;animation-delay:calc(var(--step) * .34s)}.run-pipeline{display:inline-flex;align-items:center;gap:9px;margin:0 36px 30px;border:0;border-radius:999px;background:var(--accent);padding:12px 16px;color:var(--accent-ink);cursor:pointer;font-weight:850}.run-pipeline:disabled{cursor:wait}.spotlight-section{position:relative;z-index:1;width:min(1240px,calc(100% - 24px));margin:0 auto;border:1px solid var(--line);border-radius:32px;background:color-mix(in srgb,var(--panel-2) 83%,transparent);padding:clamp(24px,5vw,58px);box-shadow:var(--shadow)}.spotlight-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.spotlight-heading p{margin:0 0 9px;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.spotlight-heading h2{max-width:720px;margin:0;font-family:Syne,sans-serif;font-size:clamp(2.2rem,4.5vw,4.5rem);letter-spacing:-.055em;line-height:.98}.spotlight-controls{display:flex;align-items:center;gap:10px}.spotlight-controls button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--panel);cursor:pointer}.spotlight-controls span{color:var(--faint);font-family:Space Grotesk,monospace;font-size:.7rem}.spotlight-window{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);min-height:560px;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--bg);animation:spotlightIn .55s cubic-bezier(.2,.8,.2,1) both}.project-visual{position:relative;min-height:560px;overflow:hidden;background-position:center;background-size:cover;isolation:isolate}.project-visual:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(135deg,#04040829,#05050ca6),radial-gradient(circle at 50% 50%,transparent,rgba(4,4,8,.62));content:""}.project-visual.visual-0{background-image:url(/assets/projects/dog-v1-excavator.jpg)}.project-visual.visual-1{background-image:url(/assets/projects/voice-studio.jpg)}.project-visual.visual-2{background-image:url(/assets/projects/story-world.jpg)}.project-visual.visual-3{background-image:url(/assets/projects/nexo-city.jpg)}.visual-scan{position:absolute;inset:-30% 0 auto;height:32%;background:linear-gradient(transparent,color-mix(in srgb,var(--accent) 18%,transparent),transparent);mix-blend-mode:screen;animation:visualScan 5s linear infinite}.spotlight-copy{display:flex;flex-direction:column;border-left:1px solid var(--line);background:color-mix(in srgb,var(--panel-2) 94%,transparent);padding:clamp(27px,4vw,46px)}.spotlight-copy>p{margin:0 0 12px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.spotlight-copy h3{margin:0;font-family:Syne,sans-serif;font-size:clamp(2rem,4vw,3.8rem);letter-spacing:-.055em;line-height:.92}.spotlight-copy>span{margin:22px 0;color:var(--muted);line-height:1.65}.spotlight-copy details{margin-top:22px;border-top:1px solid var(--line)}.spotlight-copy summary{display:flex;justify-content:space-between;padding:16px 0 0;color:var(--muted);cursor:pointer;list-style:none;font-weight:800}.spotlight-copy details p{color:var(--muted);line-height:1.55}.spotlight-copy>a{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin-top:auto;border-radius:999px;background:var(--accent);padding:11px 14px;color:var(--accent-ink);font-weight:850}.spotlight-dots{display:flex;justify-content:center;gap:9px;margin-top:22px}.spotlight-dots button{width:44px;height:8px;overflow:hidden;border:0;border-radius:999px;background:var(--line);padding:0;cursor:pointer}.spotlight-dots span{display:block;width:0;height:100%;background:var(--accent)}.spotlight-dots button.active span{width:100%;animation:dotFill 5s linear}.rag-visual,.voice-visual,.story-visual,.world-visual{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.rag-core,.rag-satellite{display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 75%,transparent);border-radius:50%;background:#08080fa3;color:#fff;box-shadow:0 0 34px color-mix(in srgb,var(--accent) 28%,transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.rag-core{width:118px;height:118px;font-family:Syne,sans-serif;font-size:1.6rem;font-weight:800;animation:coreFloat 4s ease-in-out infinite}.rag-satellite{position:absolute;width:62px;height:62px;font-family:Space Grotesk,monospace;font-size:.64rem;animation:satelliteFloat 4s ease-in-out infinite}.sat-0{top:16%;left:18%}.sat-1{top:16%;right:18%;animation-delay:-.8s}.sat-2{top:47%;left:11%;animation-delay:-1.4s}.sat-3{top:47%;right:11%;animation-delay:-2s}.sat-4{bottom:14%;left:24%;animation-delay:-2.7s}.sat-5{right:24%;bottom:14%;animation-delay:-3.2s}.voice-visual{align-content:center;grid-template-columns:repeat(28,6px);gap:5px}.voice-visual>svg{position:absolute;top:24%;left:calc(50% - 24px);color:var(--accent);filter:drop-shadow(0 0 16px var(--accent))}.voice-visual i{height:calc(var(--bar) * 10px);border-radius:999px;background:linear-gradient(var(--accent),var(--accent-2));animation:waveBounce calc(.5s + var(--bar) * 35ms) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -35ms)}.voice-visual span{position:absolute;bottom:22%;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#08080e9e;padding:9px 12px;color:#fff;font-family:Space Grotesk,monospace;font-size:.68rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.story-world{display:grid;width:145px;height:145px;place-items:center;border:1px solid var(--accent);border-radius:50%;background:#0a081280;color:#fff;font-family:Syne,sans-serif;font-size:1.3rem;box-shadow:0 0 70px color-mix(in srgb,var(--accent-2) 38%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.story-orbit{position:absolute;width:360px;height:240px;transform:rotate(-12deg);border:1px solid rgba(255,255,255,.35);border-radius:50%;animation:orbitTilt 7s ease-in-out infinite alternate}.story-card{position:absolute;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:#0a0812ad;padding:14px;color:#fff;font-weight:800;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);animation:satelliteFloat 4s ease-in-out infinite}.card-a{top:19%;left:17%}.card-b{top:27%;right:14%;animation-delay:-1.5s}.card-c{bottom:17%;left:28%;animation-delay:-2.5s}.world-grid{position:absolute;top:20%;right:8%;bottom:7%;left:8%;transform:perspective(700px) rotateX(62deg) rotate(-8deg);background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:52px 52px}.world-visual>i{position:absolute;top:calc(26% + var(--y) * 105px);left:calc(24% + var(--x) * 145px);width:62px;height:calc(36px + var(--i) * 3px);transform:skewY(-11deg);background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:12px 12px #00000047,0 0 24px color-mix(in srgb,var(--accent) 18%,transparent);animation:cityPulse 2.5s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.18s)}.world-label{position:absolute;bottom:7%;left:7%;color:#fff;font-family:Syne,sans-serif;font-size:clamp(2rem,5vw,4.8rem);font-weight:800;letter-spacing:-.06em;text-shadow:0 8px 30px #000}.projects-section{width:min(1240px,calc(100% - 40px))}.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.filter-row button{border:1px solid var(--line);border-radius:999px;background:var(--panel);padding:10px 14px;color:var(--muted);cursor:pointer;font-size:.78rem;font-weight:800}.filter-row button.active,.filter-row button:hover{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.project-search{display:flex;min-width:260px;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;background:var(--panel);padding:11px 14px;color:var(--faint)}.project-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent}.project-search input::placeholder{color:var(--faint)}.result-count{margin:20px 0;color:var(--faint);font-size:.78rem}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-card{position:relative;display:flex;min-height:480px;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--panel);padding:24px;transition:transform .22s ease,border-color .22s ease;animation:projectCardIn .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(min(var(--card-index),8)*38ms)}.project-card:before{position:absolute;top:-90px;right:-80px;width:210px;height:210px;border-radius:50%;content:"";opacity:.14;filter:blur(12px);background:var(--accent)}.project-card.tone-1:before{background:#7f6bff}.project-card.tone-2:before{background:#51d7ba}.project-card.tone-3:before{background:#ff7b71}.project-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.project-topline{position:relative;display:flex;justify-content:space-between;gap:15px;color:var(--faint);font-family:Space Grotesk,monospace;font-size:.7rem;text-transform:uppercase}.project-category{margin:54px 0 10px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.project-card h3{margin:0;font-family:Syne,sans-serif;font-size:clamp(1.55rem,2.4vw,2.25rem);letter-spacing:-.04em;line-height:1}.project-summary{flex:1;margin:18px 0 24px;color:var(--muted);line-height:1.58}.tech-row{display:flex;flex-wrap:wrap;gap:6px}.tech-row span{border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--bg) 45%,transparent);padding:6px 8px;color:var(--muted);font-family:Space Grotesk,monospace;font-size:.66rem}.project-card details{margin-top:20px;border-top:1px solid var(--line)}.project-card summary,.experience-main summary{display:flex;align-items:center;justify-content:space-between;padding:17px 0 0;cursor:pointer;color:var(--muted);font-weight:700;list-style:none}.project-card summary::-webkit-details-marker,.experience-main summary::-webkit-details-marker{display:none}.project-card details[open] summary span,.experience-main details[open] summary span{transform:rotate(45deg)}.project-notes{display:grid;gap:12px;padding-top:16px}.project-notes p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.6}.project-notes strong{display:block;margin-bottom:5px;color:var(--ink);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.project-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.project-links a{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--accent);padding:9px 11px;color:var(--accent-ink);font-size:.72rem;font-weight:800}.show-all{display:flex;align-items:center;gap:10px;margin:34px auto 0;border:1px solid var(--line);border-radius:999px;background:var(--panel);padding:13px 18px;cursor:pointer;font-weight:800}.experience-list{border-top:1px solid var(--line)}.experience-list>article{display:grid;grid-template-columns:70px 230px 1fr;gap:28px;border-bottom:1px solid var(--line);padding:36px 0}.experience-number{color:var(--accent);font-family:Space Grotesk,monospace}.experience-when{display:grid;align-content:start;gap:8px}.experience-when strong{font-size:.82rem}.experience-when span{color:var(--faint);font-size:.78rem}.experience-main>p:first-child{margin:0 0 5px;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.experience-main h3{margin:0;font-family:Syne,sans-serif;font-size:clamp(1.7rem,3vw,2.8rem);letter-spacing:-.045em}.experience-main>p:nth-of-type(2){max-width:780px;color:var(--muted);line-height:1.65}.experience-main details{border-top:1px dashed var(--line)}.experience-main ul{display:grid;gap:9px;color:var(--muted);line-height:1.55}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.skills-grid article{border:1px solid var(--line);border-radius:24px;background:var(--panel);padding:28px}.skill-heading{display:flex;align-items:center;gap:14px;margin-bottom:28px}.skill-heading span{color:var(--accent);font-family:Space Grotesk,monospace;font-size:.75rem}.skill-heading h3{margin:0;font-family:Syne,sans-serif;font-size:1.55rem}.skills-grid article>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.skills-grid article>div:last-child span{border:1px solid var(--line);border-radius:999px;padding:9px 12px;color:var(--muted);font-size:.78rem}.credentials-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,8vw,110px)}.credentials-copy{position:sticky;top:120px;align-self:start}.credentials-copy h2{margin-top:22px}.credential-stack{display:grid;gap:14px}.credential-stack article{border:1px solid var(--line);border-radius:24px;background:var(--panel);padding:28px}.credential-stack article>span{color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.credential-stack h3{margin:36px 0 6px;font-family:Syne,sans-serif;font-size:1.65rem}.credential-stack p,.credential-stack small{margin:0;color:var(--muted)}.credential-stack small{display:block;margin-top:6px}.credential-stack .achievements{background:var(--accent);color:var(--accent-ink)}.credential-stack .achievements>span{color:inherit}.achievements ul{display:grid;gap:12px;margin:26px 0 0;padding-left:20px;line-height:1.5}.contact-section{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:clamp(28px,6vw,70px);width:min(1240px,calc(100% - 24px));margin:0 auto 12px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(135deg,var(--panel-2),color-mix(in srgb,var(--accent-2) 13%,var(--panel)));padding:clamp(32px,6vw,76px)}.contact-copy>p:first-child{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.contact-copy h2{margin:30px 0 22px;font-family:Syne,sans-serif;font-size:clamp(3rem,6vw,6rem);letter-spacing:-.065em;line-height:.88}.contact-copy>p:last-child{max-width:650px;color:var(--muted);line-height:1.65}.contact-note{position:relative;align-self:center;min-height:300px;transform:rotate(-1deg);border-radius:8px;background:#fff2bd;padding:clamp(30px,5vw,55px);box-shadow:0 24px 70px #00000047;color:#2a2417}.note-tape{position:absolute;top:-12px;left:42%;width:86px;height:28px;background:#ffffff94;transform:rotate(2deg)}.note-label{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.contact-note>a{display:block;margin-top:52px;border-bottom:1px solid rgba(42,36,23,.24);padding-bottom:13px;font-family:Syne,sans-serif;font-size:clamp(1.2rem,2.4vw,2rem);font-weight:700}.contact-note>p:not(.note-label){border-bottom:1px solid rgba(42,36,23,.24);padding-bottom:13px}.contact-note button{display:inline-flex;align-items:center;gap:7px;margin-top:20px;border:0;border-radius:999px;background:#211c14;padding:11px 14px;color:#fff2bd;cursor:pointer;font-weight:800}.contact-band{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:9px;border-radius:999px;background:var(--accent);padding:12px 14px 12px 24px;color:var(--accent-ink)}.contact-band strong{margin-right:auto;font-family:Syne,sans-serif;font-size:clamp(1.2rem,2vw,2rem)}.contact-band a{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#0000001f;padding:10px 13px;font-size:.75rem;font-weight:800}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:28px 0 34px;color:var(--faint);font-size:.78rem}.site-footer a{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}.chat-launcher{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;min-height:50px;align-items:center;gap:9px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;background:var(--accent);padding:13px 17px;box-shadow:0 16px 45px #00000059;color:var(--accent-ink);cursor:pointer;font-weight:850}.chat-launcher.is-open{width:48px;min-height:48px;justify-content:center;padding:0}.chat-panel{position:fixed;right:22px;bottom:84px;z-index:59;display:flex;width:min(420px,calc(100vw - 32px));height:min(650px,calc(100vh - 110px));flex-direction:column;overflow:hidden;transform:translateY(20px) scale(.97);transform-origin:bottom right;border:1px solid var(--line);border-radius:24px;background:var(--panel-2);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.18s ease}.chat-panel.is-open{transform:none;opacity:1;pointer-events:auto}.chat-header{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:14px}.chat-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink)}.chat-title{display:grid;flex:1}.chat-title strong{font-size:.9rem}.chat-title small{color:var(--faint);font-size:.65rem}.chat-header button{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--panel);cursor:pointer}.chat-scroll{display:flex;flex:1;flex-direction:column;gap:10px;overflow-y:auto;padding:16px}.chat-bubble{max-width:88%;border-radius:16px;padding:11px 13px;font-size:.82rem;line-height:1.55}.chat-bubble.assistant{align-self:flex-start;border:1px solid var(--line);background:var(--panel)}.chat-bubble.user{align-self:flex-end;background:var(--accent);color:var(--accent-ink)}.chat-bubble p{margin:0 0 8px}.chat-bubble p:last-child{margin-bottom:0}.chat-bullet{padding-left:15px}.chat-bullet:before{margin-left:-12px;margin-right:7px;content:"•";color:var(--accent)}.chat-sources{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.chat-sources summary{cursor:pointer;color:var(--faint);font-size:.7rem}.chat-sources ul{margin:7px 0 0;padding-left:17px;color:var(--faint)}.chat-typing{display:flex;align-items:center;gap:8px;color:var(--faint);font-size:.74rem}.chat-spin{animation:spin 1s linear infinite}.chat-error{border:1px solid rgba(255,100,100,.3);border-radius:12px;background:#ff646414;padding:10px;color:#ff8a84;font-size:.75rem}.chat-suggestions{display:grid;gap:7px}.chat-suggestions button{border:1px solid var(--line);border-radius:12px;background:transparent;padding:10px;color:var(--muted);cursor:pointer;text-align:left;font-size:.75rem}.chat-suggestions button:hover{border-color:var(--accent);color:var(--accent)}.chat-input{display:flex;gap:8px;border-top:1px solid var(--line);padding:12px}.chat-input textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:12px;outline:0;background:var(--panel);padding:11px;color:var(--ink)}.chat-input button{display:grid;width:42px;place-items:center;border:0;border-radius:12px;background:var(--accent);color:var(--accent-ink);cursor:pointer}.chat-input button:disabled{opacity:.45}@keyframes marquee{to{transform:translate(-50%)}}@keyframes pulse{50%{opacity:.45;transform:scale(.83)}}@keyframes consoleIn{0%{opacity:0;transform:translateY(8px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes backdropDrift{to{transform:translate(10vw,8vh) scale(1.12)}}@keyframes keyHaze{to{transform:rotate(-6deg) scale(1.12);opacity:.82}}@keyframes keyIdle{50%{filter:brightness(1.07)}}@keyframes orbOrbit{to{transform:rotate(360deg)}}@keyframes orbBlink{0%,46%,50%,to{transform:scaleY(1)}48%{transform:scaleY(.08)}}@keyframes orbPulse{to{transform:scale(1.1);box-shadow:inset -8px -12px 22px #00000059,0 0 50px var(--accent)}}@keyframes labSwap{0%{opacity:0;transform:translate(18px)}}@keyframes signalRun{0%{transform:translate(-110%)}to{transform:translate(470%)}}@keyframes nodeRun{50%{transform:translateY(-8px);border-color:var(--accent)}}@keyframes nodePing{40%{opacity:.85;transform:scale(1.08)}to{opacity:0;transform:scale(1.18)}}@keyframes spotlightIn{0%{opacity:0;transform:translate(28px) scale(.99)}}@keyframes projectCardIn{0%{opacity:0;transform:translateY(18px) scale(.985)}}@keyframes visualScan{to{transform:translateY(520%)}}@keyframes dotFill{0%{width:0}to{width:100%}}@keyframes coreFloat{50%{transform:translateY(-12px) rotate(3deg)}}@keyframes satelliteFloat{50%{transform:translateY(-9px)}}@keyframes waveBounce{to{height:12px;opacity:.55}}@keyframes orbitTilt{to{transform:rotate(8deg) scale(1.06)}}@keyframes cityPulse{to{filter:brightness(1.35);transform:skewY(-11deg) translateY(-8px)}}@media(max-width:1040px){.hero{grid-template-columns:1fr;padding-top:150px}.hero:before{top:40%;right:-20%;bottom:0;left:10%;width:auto}.hero-copy{max-width:830px}.build-console{max-width:680px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-intro{grid-template-columns:150px 1fr}.section-intro>svg{display:none}.project-toolbar{align-items:stretch;flex-direction:column}.project-search{width:min(100%,440px)}.keycap-scene{top:-2%;right:-14%;bottom:-2%;left:-14%;opacity:.62}.ai-orb{right:30px;bottom:52%}.lab-shell{grid-template-columns:210px 1fr}.spotlight-window{grid-template-columns:1fr}.project-visual{min-height:470px}.spotlight-copy{min-height:390px;border-top:1px solid var(--line);border-left:0}}@media(max-width:760px){.site-nav{grid-template-columns:1fr auto}.nav-links{position:absolute;top:62px;left:0;right:0;display:none;align-items:stretch;flex-direction:column;border-radius:18px;padding:10px;background:var(--panel-2);box-shadow:var(--shadow)}.nav-links.is-open{display:flex}.nav-links a{border-radius:12px}.menu-button{display:grid}.nav-contact{display:none}.hero{width:min(100% - 28px,680px);padding-top:130px}.intro-code{margin-top:40px}.hero h1{font-size:clamp(3.55rem,18vw,6rem);letter-spacing:-.08em}.keycap-scene{top:0;right:-80%;bottom:20%;left:-80%;opacity:.4;-webkit-mask-image:radial-gradient(ellipse at center,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 25%,transparent 78%)}.keycap-field{top:4%;left:8%;width:920px;grid-template-columns:repeat(7,112px);gap:14px;transform:rotateX(48deg) rotate(-8deg)}.keycap-hint{display:none}.ai-orb{right:17px;bottom:42%;transform:scale(.78)}.hero-socials{align-items:flex-start;flex-direction:column}.console-stats{grid-template-columns:1fr}.section,.projects-section{width:min(100% - 28px,680px);padding:90px 0}.section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:42px}.about-layout,.credentials-section,.principle-grid,.skills-grid,.project-grid{grid-template-columns:1fr}.project-card,.project-summary{min-height:0}.filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.filter-row button{flex:0 0 auto}.project-search{min-width:0}.hover-concepts{align-items:flex-start}.hover-note-card{position:fixed;right:14px;bottom:88px;left:14px;width:auto;transform:translateY(12px) scale(.97)}.hover-note-card i{display:none}.hover-note:hover .hover-note-card,.hover-note:focus-within .hover-note-card{transform:translateY(0) scale(1)}.lab-shell{grid-template-columns:1fr}.lab-tabs{grid-template-columns:repeat(3,1fr);border-right:0;border-bottom:1px solid var(--line)}.lab-tabs button{grid-template-columns:1fr;justify-items:center;padding:11px 5px;text-align:center}.lab-tabs button span,.lab-tabs button svg{display:none}.lab-tabs button strong{font-size:.66rem}.lab-stage{min-height:590px}.lab-copy{grid-template-columns:1fr;padding:27px 20px 8px}.lab-metric{justify-self:start}.lab-pipeline{grid-template-columns:1fr;gap:8px;padding:24px 20px}.signal-line{display:none}.lab-node{min-height:54px;grid-template-columns:25px 1fr;justify-items:start}.run-pipeline{margin:0 20px 24px}.spotlight-section{width:calc(100% - 16px);padding:24px 14px}.spotlight-heading{align-items:flex-start;flex-direction:column}.spotlight-window{min-height:0}.project-visual{min-height:390px}.spotlight-copy{min-height:430px;padding:28px 22px}.voice-visual{grid-template-columns:repeat(20,5px)}.voice-visual i:nth-of-type(n+21){display:none}.world-visual>i{left:calc(18% + var(--x) * 105px)}.experience-list>article{grid-template-columns:42px 1fr}.experience-when{grid-column:2;grid-row:1}.experience-main{grid-column:2}.credentials-copy{position:static}.contact-section{grid-template-columns:1fr;width:calc(100% - 16px);border-radius:24px;padding:28px 20px}.contact-band{align-items:stretch;border-radius:18px}.contact-band strong{width:100%;margin-bottom:4px}.site-footer{align-items:flex-start;flex-direction:column}.site-footer span:nth-child(2){display:none}.chat-launcher{right:14px;bottom:14px}.chat-panel{right:8px;bottom:76px;width:calc(100vw - 16px);height:calc(100vh - 92px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cursor-glow,.liquid-cursor,.cursor-dot,.interactive-backdrop,.particle-field{display:none}}@media(pointer:coarse){.liquid-cursor,.cursor-dot{display:none}}
