:root{--bg: #0b0e13;--bg2: #07090d;--card: #10151c;--card2: #141b23;--border: #1d2731;--border2: #2b3742;--fg: #eef2f6;--dim: #9db0bd;--muted: #5f6c78;--accent: #37d6e8;--accent-bright: #6cecfa;--accent-dim: #1d7e8d;--accent-glow: rgba(55, 214, 232, .35);--blue: #6ea8ff;--silver: #c6d0d9;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--ease-out: cubic-bezier(.22, 1, .36, 1);--shell: 1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}::selection{background:var(--accent);color:#04151a}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--accent-dim)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.font-display{font-family:var(--font-display)}.shell{max-width:var(--shell);margin:0 auto;padding:0 clamp(1.25rem,4vw,4rem)}.grain{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none;z-index:900;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:overlay}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:radial-gradient(ellipse at 50% 42%,rgba(55,214,232,.07) 0%,transparent 55%),var(--bg2);display:flex;align-items:center;justify-content:center;transition:opacity .7s var(--ease-out),visibility .7s}.splash.done{opacity:0;visibility:hidden;pointer-events:none}.splash-inner{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem}.splash-mark-wrap{position:relative;margin-bottom:1.6rem}.splash-mark{width:148px;height:auto;position:relative;z-index:2;animation:mark-in 1.1s var(--ease-out) both;filter:drop-shadow(0 0 26px rgba(55,214,232,.28))}@keyframes mark-in{0%{opacity:0;transform:scale(.82) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}.splash-ring{position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;border:1px solid rgba(55,214,232,.25);border-radius:50%;animation:ring-spin 6s linear infinite}.splash-ring:before{content:"";position:absolute;top:-3px;left:50%;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent)}@keyframes ring-spin{to{transform:rotate(360deg)}}.splash-name{font-size:clamp(1.5rem,4vw,2.2rem);letter-spacing:.14em;animation:rise .9s var(--ease-out) .25s both}.splash-role{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.34em;color:var(--accent);margin-top:.35rem;animation:rise .9s var(--ease-out) .35s both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.splash-boot{margin-top:1.9rem;font-family:var(--font-mono);font-size:.78rem;color:var(--dim);min-height:1.4em;animation:rise .9s var(--ease-out) .45s both}.boot-caret{color:var(--accent);animation:blink .9s steps(1) infinite}@keyframes blink{50%{opacity:0}}.splash-progress{width:min(300px,70vw);height:2px;background:#ffffff14;margin-top:1.1rem;overflow:hidden;animation:rise .9s var(--ease-out) .55s both}.splash-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));box-shadow:0 0 12px var(--accent-glow)}.splash-skip{margin-top:1.6rem;background:transparent;border:1px solid var(--border2);color:var(--dim);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.26em;padding:.7rem 1.6rem;transition:border-color .3s,color .3s,background .3s;animation:rise .9s var(--ease-out) .65s both}.splash-skip:hover,.splash-skip:focus-visible{border-color:var(--accent);color:var(--accent);background:#37d6e80f}.site-header{position:fixed;top:0;left:0;right:0;z-index:800;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#07090db8;border-bottom:1px solid rgba(255,255,255,.06)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:76px}.brand{display:flex;align-items:center;gap:.7rem}.brand-mark{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(55,214,232,.25))}.brand-name{font-size:1.05rem;letter-spacing:.12em;line-height:1.1}.brand-sub{display:block;font-family:var(--font-mono);font-size:.56rem;letter-spacing:.3em;color:var(--muted);margin-top:2px}.main-nav{display:flex;gap:clamp(1.2rem,2.6vw,2.4rem)}.nav-link{position:relative;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);transition:color .25s;padding:.4rem 0}.nav-link:hover,.nav-link:focus-visible{color:var(--fg)}.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .3s var(--ease-out)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link.active{color:var(--fg)}.header-actions{display:flex;align-items:center;gap:.9rem}.icon-btn{width:38px;height:38px;border:1px solid var(--border2);display:inline-flex;align-items:center;justify-content:center;color:var(--dim);transition:color .25s,border-color .25s,background .25s}.icon-btn:hover,.icon-btn:focus-visible{color:var(--accent);border-color:var(--accent);background:#37d6e80f}.menu-toggle{display:none;flex-direction:column;gap:5px;background:transparent;border:1px solid var(--border2);padding:11px 10px}.menu-toggle span{width:20px;height:1.5px;background:var(--fg);transition:transform .3s,opacity .3s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-nav{display:none;flex-direction:column;background:#07090dfa;border-bottom:1px solid var(--border);padding:.6rem 1.25rem 1.4rem}.mobile-nav.open{display:flex}.mobile-nav .nav-link{padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.04);display:flex;gap:.9rem;align-items:baseline}.mobile-socials{display:flex;gap:1.5rem;padding:1rem 0 .2rem;flex-wrap:wrap}.mobile-socials a{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;padding:.85rem 1.5rem;border:1px solid transparent;transition:background .3s,color .3s,border-color .3s,transform .3s}.btn-accent{background:var(--accent);color:#031418;font-weight:700}.btn-accent:hover,.btn-accent:focus-visible{background:var(--accent-bright);transform:translateY(-2px)}.btn-ghost{border-color:var(--border2);color:var(--dim)}.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--accent);color:var(--accent);background:#37d6e80d}.btn-block{width:100%;justify-content:center}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding-top:76px;background:radial-gradient(ellipse at 78% 22%,rgba(55,214,232,.08) 0%,transparent 50%),radial-gradient(ellipse at 12% 78%,rgba(110,168,255,.05) 0%,transparent 45%),var(--bg)}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.2) 60%,transparent);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.2) 60%,transparent)}.frame-slot{opacity:0;transition:opacity 1.1s ease}.frame-slot.on{opacity:1}.hero-photo{position:absolute;top:0;right:0;width:58%;height:100%;pointer-events:none;z-index:1}.hero-photo img{width:100%;height:100%;object-fit:cover;opacity:.17;filter:contrast(1.12) brightness(.72) saturate(.85);mask-image:linear-gradient(90deg,transparent 0%,#000 45%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%)}.hero-glow{position:absolute;top:-180px;right:-120px;width:560px;height:560px;background:radial-gradient(circle,rgba(55,214,232,.1),transparent 65%);pointer-events:none}.hero-shell{position:relative;z-index:2;width:100%;padding-bottom:clamp(5.5rem,9vh,7.5rem)}.hero-meta{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.24em;color:var(--dim);margin-bottom:2rem}.hero-meta .sep{color:var(--muted)}.rec-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:rec-blink 1.6s ease-in-out infinite}@keyframes rec-blink{50%{opacity:.35}}.hero-title{font-family:var(--font-display);font-weight:700;font-size:clamp(2.1rem,10.5vw,8.5rem);line-height:.92;letter-spacing:-.01em;margin:0 0 2.6rem;text-transform:uppercase}.headline-line{display:block;overflow:hidden}.headline-line span{display:inline-block;transform:translateY(110%);transition:transform 1s var(--ease-out)}body.site-ready .headline-line span{transform:translateY(0)}body.site-ready .headline-line:nth-child(2) span{transition-delay:.12s}body.site-ready .headline-line:nth-child(3) span{transition-delay:.24s}.text-stroke{-webkit-text-stroke:1.5px var(--dim);color:transparent}.accent,.accent-dot{color:var(--accent)}.hero-grid-lower{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:end}.hero-role{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.3em;color:var(--accent);margin-bottom:1.1rem}.hero-intro p{color:var(--dim);font-size:clamp(1rem,1.35vw,1.15rem);max-width:560px;margin:0 0 2.2rem}.hero-intro .strong{color:var(--fg)}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.hero-terminal{border:1px solid var(--border2);background:#0a0e13d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:520px;justify-self:end;width:100%;box-shadow:0 30px 80px #00000073}.term-head{display:flex;align-items:center;gap:.8rem;border-bottom:1px solid var(--border);padding:.7rem 1rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;color:var(--muted)}.term-dots{display:flex;gap:5px}.term-dots i{width:9px;height:9px;border-radius:50%;background:var(--border2)}.term-dots i:nth-child(1){background:#ff5f57}.term-dots i:nth-child(2){background:#febc2e}.term-dots i:nth-child(3){background:#28c840}.term-body{padding:1.1rem 1.2rem;font-family:var(--font-mono);font-size:.8rem;line-height:1.9}.term-body p{margin:0}.term-prompt{color:var(--accent)}.term-out{color:var(--dim)}.term-caret{color:var(--accent);animation:blink 1s steps(1) infinite}.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:clamp(2.5rem,6vh,4.5rem);padding-top:1.8rem;border-top:1px solid var(--border)}.stat{border-left:1px solid var(--border2);padding-left:1.2rem}.stat-num{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1;color:var(--fg);font-variant-numeric:tabular-nums}.stat-num.accent{color:var(--accent)}.stat-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:.5rem}.ticker{border-top:1px solid var(--border);background:#07090d99;overflow:hidden;padding:.85rem 0;position:relative;z-index:2}.ticker-track{display:flex;gap:2.2rem;align-items:center;width:max-content;animation:marquee 36s linear infinite;font-family:var(--font-display);font-size:.8rem;letter-spacing:.3em;color:var(--dim);white-space:nowrap}.ticker-track i{color:var(--accent);font-style:normal;font-size:.7rem}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.section{position:relative;padding:clamp(5rem,10vw,8.5rem) 0}.section-alt{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(3rem,6vw,5rem)}.section-marker{display:inline-flex;align-items:center;gap:.8rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem}.section-marker:before{content:"";width:34px;height:1px;background:var(--accent)}.section-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem,6.4vw,4.8rem);line-height:.98;letter-spacing:-.01em;margin:0;text-transform:uppercase}.section-lede{color:var(--dim);font-size:1rem;margin:0;max-width:440px;justify-self:end}.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:var(--delay, 0s)}.reveal.in-view{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal-stagger.in-view>*{opacity:1;transform:translateY(0)}.reveal-stagger.in-view>*:nth-child(1){transition-delay:0s}.reveal-stagger.in-view>*:nth-child(2){transition-delay:.08s}.reveal-stagger.in-view>*:nth-child(3){transition-delay:.16s}.reveal-stagger.in-view>*:nth-child(4){transition-delay:.24s}.reveal-stagger.in-view>*:nth-child(5){transition-delay:.32s}.reveal-stagger.in-view>*:nth-child(6){transition-delay:.4s}.info-card{background:var(--card);border:1px solid var(--border);transition:border-color .35s,background .35s,transform .35s var(--ease-out)}.info-card:hover{border-color:#37d6e866;background:var(--card2)}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.cap-card{padding:1.7rem 1.6rem;display:flex;flex-direction:column;position:relative;overflow:hidden}.cap-card:after{content:"";position:absolute;top:0;left:0;width:0;height:2px;background:var(--accent);transition:width .5s var(--ease-out)}.cap-card:hover:after{width:100%}.cap-index{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.2em;color:var(--accent);margin-bottom:1rem}.cap-title{font-size:1.45rem;font-weight:700;letter-spacing:.06em;margin:0 0 .6rem;text-transform:uppercase}.cap-desc{color:var(--dim);font-size:.92rem;margin:0 0 1.1rem}.cap-list{list-style:none;margin:0 0 1.2rem;padding:0;font-size:.85rem;color:var(--dim);flex:1}.cap-list li{padding:.32rem 0 .32rem 1.1rem;position:relative}.cap-list li:before{content:"›";position:absolute;left:0;color:var(--accent)}.cap-tags{display:flex;flex-wrap:wrap;gap:.45rem}.cap-tags span,.foundation-tags span,.exp-stack span,.stack-chips span{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;color:var(--dim);border:1px solid var(--border2);padding:.28rem .6rem;transition:color .25s,border-color .25s}.cap-tags span:hover{color:var(--accent);border-color:var(--accent-dim)}.foundation{margin-top:1.25rem;border:1px dashed var(--border2);padding:1.3rem 1.6rem;display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.foundation-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.2em;color:var(--muted)}.foundation-tags{display:flex;flex-wrap:wrap;gap:.45rem}.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem}.filter-btn{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;background:transparent;border:1px solid var(--border2);color:var(--dim);padding:.6rem 1.1rem;transition:all .25s}.filter-btn:hover,.filter-btn:focus-visible{border-color:var(--accent);color:var(--fg)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#031418;font-weight:700}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.project-card{display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(24px);animation:card-in .55s var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 70ms)}@keyframes card-in{to{opacity:1;transform:translateY(0)}}.project-visual{position:relative;aspect-ratio:16 / 9.6;overflow:hidden;background:#0d1218;border-bottom:1px solid var(--border)}.project-visual svg{width:100%;height:100%;display:block;transition:transform .8s var(--ease-out)}.project-card:hover .project-visual svg{transform:scale(1.05)}.project-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:contrast(1.08) brightness(.82) saturate(1.05);transition:opacity .8s ease,transform .8s var(--ease-out)}.project-photo.loaded{opacity:1}.project-card:hover .project-photo.loaded{transform:scale(1.05)}.visual-scan{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.16) 3px 4px);pointer-events:none}.visual-tag{position:absolute;top:.8rem;right:.8rem;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.18em;background:#07090dd9;border:1px solid var(--border2);color:var(--accent);padding:.3rem .55rem}.project-body{padding:1.5rem 1.5rem 1.6rem;display:flex;flex-direction:column;flex:1}.project-top{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;margin-bottom:.7rem}.project-cat{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;color:var(--accent);text-transform:uppercase}.project-year{font-family:var(--font-mono);font-size:.62rem;color:var(--muted)}.project-title{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:.04em;margin:0 0 .55rem;text-transform:uppercase}.project-desc{color:var(--dim);font-size:.87rem;margin:0 0 1.1rem}.project-stack{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;margin-bottom:1.1rem}.project-stack span{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;color:var(--muted);border:1px solid var(--border);padding:.24rem .5rem}.project-foot{display:flex;justify-content:space-between;align-items:center;padding-top:.9rem;border-top:1px solid var(--border)}.project-link{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;color:var(--dim);transition:color .25s}.project-link:hover,.project-link:focus-visible{color:var(--accent)}.project-flag{font-family:var(--font-mono);font-size:.56rem;letter-spacing:.16em;color:var(--accent);border:1px solid var(--accent-dim);padding:.25rem .5rem}.project-none{grid-column:1 / -1;border:1px dashed var(--border2);padding:3rem;text-align:center;font-family:var(--font-mono);font-size:.8rem;color:var(--muted);letter-spacing:.2em}.github-strip{margin-top:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:1.8rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.12em;color:var(--dim)}.visual-band{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg2)}.band-frame{position:relative;height:clamp(360px,58vh,620px);overflow:hidden}.band-img{width:100%;height:100%;object-fit:cover;filter:contrast(1.06) brightness(.72) saturate(1.12)}.band-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#07090d99,#07090d33 42%,#07090de0),linear-gradient(90deg,rgba(7,9,13,.55) 0%,transparent 60%)}.band-content{position:absolute;left:0;right:0;bottom:clamp(2rem,7vh,4.5rem)}.band-statement{font-weight:700;font-size:clamp(1.5rem,4.6vw,4rem);line-height:1.02;text-transform:uppercase;margin:0 0 .8rem}.band-meta{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.26em;color:var(--dim)}.exp-photo{margin:0 0 1.1rem}.exp-photo img{width:100%;height:240px;object-fit:cover;border:1px solid var(--border2);filter:contrast(1.05) brightness(.88)}.exp-photo figcaption{font-family:var(--font-mono);font-size:.56rem;letter-spacing:.18em;color:var(--muted);margin-top:.5rem}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:linear-gradient(180deg,var(--accent),var(--border2) 70%)}.exp-item{position:relative;display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:clamp(1.5rem,4vw,4rem);padding:1.6rem 0 1.6rem 2.4rem}.exp-item>*{min-width:0}.exp-dot{position:absolute;left:-4.5px;top:2.4rem;width:10px;height:10px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 14px var(--accent-glow)}.exp-meta{padding-top:.35rem}.exp-date{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;color:var(--fg)}.exp-tag{margin-top:.6rem;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.2em;color:var(--accent)}.exp-body{padding:1.6rem 1.8rem}.exp-role{font-family:var(--font-display);font-weight:700;font-size:1.35rem;margin:0 0 .15rem;text-transform:uppercase;letter-spacing:.03em}.exp-org{color:var(--accent);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;margin-bottom:.9rem}.exp-desc{color:var(--dim);font-size:.9rem;margin:0 0 .9rem}.exp-points{list-style:none;margin:0 0 1rem;padding:0}.exp-points li{font-size:.86rem;color:var(--dim);padding:.22rem 0 .22rem 1.2rem;position:relative}.exp-points li:before{content:"—";position:absolute;left:0;color:var(--accent)}.exp-stack{display:flex;flex-wrap:wrap;gap:.45rem}.stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.stack-group{padding:1.5rem 1.6rem}.stack-title{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.26em;color:var(--accent);margin:0 0 1rem;text-transform:uppercase}.stack-chips{display:flex;flex-wrap:wrap;gap:.45rem}.edu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.edu-card{padding:1.6rem}.edu-when{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;color:var(--muted);margin-bottom:.8rem}.edu-title{font-family:var(--font-display);font-weight:700;font-size:1.15rem;margin:0 0 .25rem;text-transform:uppercase}.edu-org{color:var(--accent);font-size:.78rem;margin-bottom:.9rem}.edu-points{list-style:none;margin:0;padding:0}.edu-points li{font-size:.82rem;color:var(--dim);padding:.24rem 0 .24rem 1rem;position:relative}.edu-points li:before{content:"›";position:absolute;left:0;color:var(--accent)}.about-shell{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.about-mark{border:1px solid var(--border);background:radial-gradient(ellipse at 50% 45%,rgba(55,214,232,.1) 0%,transparent 60%),#0d1218;display:flex;align-items:center;justify-content:center;padding:clamp(2.5rem,6vw,5rem);position:relative;overflow:hidden}.about-mark:before,.about-mark:after{content:"";position:absolute;width:44px;height:44px;border:1px solid var(--accent);opacity:.6}.about-mark:before{top:10px;left:10px;border-right:none;border-bottom:none}.about-mark:after{bottom:10px;right:10px;border-left:none;border-top:none}.about-mark img{width:min(280px,60%);height:auto;filter:drop-shadow(0 0 34px rgba(55,214,232,.3))}.about-text p{color:var(--dim);font-size:.98rem;margin:0 0 1rem}.about-text .strong{color:var(--fg)}.about-photo-card{margin:0 0 1.6rem}.about-photo-frame{border:1px solid var(--border2);overflow:hidden}.about-photo-card img{width:100%;height:230px;object-fit:cover;filter:contrast(1.08) brightness(.85)}.about-photo-card figcaption{font-family:var(--font-mono);font-size:.56rem;letter-spacing:.2em;color:var(--muted);margin-top:.5rem}.about-principles{margin-top:1.8rem;border-top:1px solid var(--border);padding-top:1.2rem;display:grid;gap:.7rem}.principle{display:flex;gap:1rem;align-items:baseline;font-size:.9rem;color:var(--fg)}.p-num{font-family:var(--font-mono);font-size:.66rem;color:var(--accent);letter-spacing:.2em}.contact-title{font-size:clamp(1.9rem,8vw,5.5rem)}.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}.booking-frame{position:relative;border:1px solid var(--border2);background:linear-gradient(135deg,rgba(55,214,232,.04) 0%,transparent 45%,rgba(110,168,255,.03) 100%),var(--card);padding:clamp(1.8rem,4vw,3rem)}.booking-frame:before,.booking-frame:after{content:"";position:absolute;width:46px;height:46px;border:2px solid var(--accent);pointer-events:none}.booking-frame:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.booking-frame:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.form-note{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.2em;color:var(--accent);margin-bottom:1.6rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{margin-bottom:1.2rem}.field label{display:block;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.22em;color:var(--muted);margin-bottom:.35rem;text-transform:uppercase}.form-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border2);color:var(--fg);font-family:var(--font-mono);font-size:.9rem;padding:.7rem 0;transition:border-color .3s;border-radius:0}.form-input:focus{outline:none;border-color:var(--accent)}.form-input::placeholder{color:var(--muted);font-size:.78rem}textarea.form-input{resize:vertical;min-height:110px}.form-select{cursor:pointer}.form-select option{background:var(--card)}.contact-form .btn{margin-top:.6rem}.form-hint{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;color:var(--muted);text-align:center;margin:.9rem 0 0;text-transform:uppercase}.contact-info{display:grid;gap:1rem}.contact-block{padding:1.5rem 1.6rem}.contact-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.24em;color:var(--accent);margin-bottom:1rem;text-transform:uppercase}.contact-line{display:flex;align-items:center;gap:.8rem;padding:.55rem 0;color:var(--dim);font-family:var(--font-mono);font-size:.82rem;transition:color .25s}.contact-line:hover,.contact-line:focus-visible{color:var(--fg)}.contact-line svg{color:var(--accent);flex-shrink:0}.copy-btn{margin-left:auto;background:transparent;border:1px solid var(--border2);color:var(--muted);font-family:var(--font-mono);font-size:.55rem;letter-spacing:.16em;padding:.28rem .55rem;transition:all .25s}.copy-btn:hover,.copy-btn:focus-visible{color:var(--accent);border-color:var(--accent)}.copy-btn.copied{color:#031418;background:var(--accent);border-color:var(--accent)}.network-row{display:grid;gap:.5rem}.network-link{display:flex;align-items:center;gap:.7rem;font-family:var(--font-mono);font-size:.8rem;color:var(--dim);padding:.4rem 0;transition:color .25s}.network-link:hover,.network-link:focus-visible{color:var(--accent)}.n-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.n-user{color:var(--muted);font-size:.7rem}.site-footer{position:relative;background:var(--bg2);border-top:1px solid var(--border);padding:3.5rem 0 3rem;overflow:hidden}.footer-watermark{position:absolute;bottom:-.35em;left:0;right:0;text-align:center;font-family:var(--font-display);font-weight:700;font-size:clamp(6rem,18vw,15rem);line-height:1;letter-spacing:.02em;-webkit-text-stroke:1px rgba(255,255,255,.06);color:transparent;pointer-events:none;-webkit-user-select:none;user-select:none}.footer-row{position:relative;display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:2rem;align-items:center}.footer-brand{display:flex;align-items:center;gap:.8rem}.footer-brand img{width:34px;height:34px;object-fit:contain}.footer-name{font-size:1.05rem;letter-spacing:.12em}.footer-tag{font-family:var(--font-mono);font-size:.56rem;letter-spacing:.22em;color:var(--muted);margin-top:2px}.footer-nav{display:flex;gap:1.4rem;flex-wrap:wrap}.footer-nav a{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;color:var(--dim);transition:color .25s}.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--accent)}.footer-meta{text-align:right;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;color:var(--muted);display:grid;gap:.3rem}.pipeline-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem}.pipe-card{padding:1.4rem 1.3rem;position:relative;overflow:hidden}.pipe-card:after{content:"";position:absolute;top:0;left:0;width:0;height:2px;background:var(--accent);transition:width .5s var(--ease-out)}.pipe-card:hover:after{width:100%}.pipe-index{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.2em;color:var(--accent);margin-bottom:.9rem}.pipe-title{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:.08em;margin:0 0 .6rem}.pipe-desc{color:var(--dim);font-size:.82rem;margin:0 0 1rem;min-height:4.4em}.pipe-tags{display:flex;flex-wrap:wrap;gap:.4rem}.pipe-tags span{font-family:var(--font-mono);font-size:.56rem;letter-spacing:.08em;color:var(--muted);border:1px solid var(--border);padding:.22rem .45rem}.assistant-demo{margin-top:1.4rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}.demo-term{border:1px solid var(--border2);background:#0a0e13d1}.demo-body{padding:1.2rem 1.3rem;font-family:var(--font-mono);font-size:.76rem;line-height:1.9}.demo-body p{margin:0 0 .55rem;color:var(--dim)}.demo-body p:last-child{margin-bottom:0}.t-user,.t-assist,.t-guard{display:inline-block;min-width:62px;font-weight:700}.t-user{color:var(--silver)}.t-assist{color:var(--accent)}.t-guard{color:var(--blue)}.t-ok{color:#28c840;font-weight:700}.demo-note p{color:var(--dim);font-size:.9rem}.demo-meta{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.18em;color:var(--muted);margin-top:1rem}.assistant-fab{position:fixed;right:22px;bottom:22px;z-index:860;width:58px;height:58px;border-radius:50%;border:1px solid var(--border2);background:#131920;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 34px var(--accent-glow);transition:transform .35s var(--ease-out),background .3s,border-color .3s,bottom .45s var(--ease-out)}.assistant-fab:hover,.assistant-fab:focus-visible{background:var(--card2);border-color:var(--accent);transform:translateY(-3px)}.assistant-fab.raised{bottom:calc(96px + env(safe-area-inset-bottom,0px))}.assistant-fab[aria-expanded=true]{background:var(--card2);color:var(--accent);border-color:var(--accent)}.fab-sparkles{position:relative;z-index:1;transition:transform .4s var(--ease-out);filter:drop-shadow(0 0 7px rgba(55,214,232,.35))}.assistant-fab:hover .fab-sparkles,.assistant-fab:focus-visible .fab-sparkles{transform:scale(1.12)}.fab-stars i{position:absolute;top:50%;left:50%;width:6px;height:6px;margin:-3px 0 0 -3px;background:#fff;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);opacity:0;pointer-events:none}.assistant-fab:hover .fab-stars i,.assistant-fab:focus-visible .fab-stars i{animation:star-pop 1.4s ease-in-out infinite;animation-delay:var(--d, 0s)}@keyframes star-pop{0%{opacity:0;transform:translate(0) scale(.3) rotate(0)}35%{opacity:1}70%{opacity:.9;transform:translate(var(--dx, 0),var(--dy, 0)) scale(1) rotate(20deg)}to{opacity:0;transform:translate(var(--dx, 0),var(--dy, 0)) scale(.4) rotate(45deg)}}.fab-ring{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border:1px solid rgba(55,214,232,.4);border-radius:50%;pointer-events:none}.assistant-panel{position:fixed;right:22px;bottom:96px;z-index:870;width:min(392px,calc(100vw - 28px));height:min(600px,calc(100svh - 140px));min-height:420px;display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--border2);box-shadow:0 40px 100px #000000a6}.assistant-panel[hidden]{display:none}.ap-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:#10151c99}.ap-brand{display:flex;align-items:center;gap:.65rem}.ap-mark{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(55,214,232,.35))}.ap-name{font-size:.95rem;letter-spacing:.14em;line-height:1.1}.ap-badge{font-family:var(--font-mono);font-size:.52rem;color:#031418;background:var(--accent);padding:.1rem .35rem;vertical-align:middle}.ap-sub{font-family:var(--font-mono);font-size:.52rem;letter-spacing:.18em;color:var(--muted);margin-top:2px}.ap-close{background:transparent;border:1px solid var(--border2);color:var(--dim);width:30px;height:30px;font-size:.85rem;line-height:1;transition:color .25s,border-color .25s}.ap-close:hover,.ap-close:focus-visible{color:var(--accent);border-color:var(--accent)}.ap-log{flex:1;overflow-y:auto;padding:1rem 1rem .5rem;display:flex;flex-direction:column;gap:.7rem}.ap-msg{max-width:88%;padding:.6rem .85rem;font-size:.82rem;line-height:1.55;border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:break-word}.ap-msg.user{align-self:flex-end;background:#37d6e81a;border-color:#37d6e859;color:var(--fg)}.ap-msg.assistant{align-self:flex-start;background:var(--card);color:var(--dim)}.ap-msg.error{border-color:#ff5f57;color:#ff9d97}.ap-msg .note{display:block;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.14em;color:var(--accent);margin-top:.4rem}.ap-typing{align-self:flex-start;display:inline-flex;gap:4px;padding:.7rem .9rem;border:1px solid var(--border);background:var(--card)}.ap-typing i{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:blink 1s steps(1) infinite}.ap-typing i:nth-child(2){animation-delay:.2s}.ap-typing i:nth-child(3){animation-delay:.4s}.ap-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem 1rem .7rem;border-top:1px solid rgba(255,255,255,.04)}.ap-chips button{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;color:var(--dim);background:transparent;border:1px solid var(--border2);padding:.35rem .65rem;transition:all .25s}.ap-chips button:hover,.ap-chips button:focus-visible{border-color:var(--accent);color:var(--accent)}.ap-chips[hidden]{display:none}.ap-form{display:flex;gap:.5rem;padding:.7rem 1rem;border-top:1px solid var(--border)}.ap-form input{flex:1;min-width:0;background:var(--card);border:1px solid var(--border2);color:var(--fg);font-family:var(--font-body);font-size:.86rem;padding:.6rem .8rem;transition:border-color .25s}.ap-form input:focus{outline:none;border-color:var(--accent)}.ap-form button{width:40px;flex-shrink:0;background:var(--accent);border:none;color:#031418;display:flex;align-items:center;justify-content:center;transition:background .25s}.ap-form button:hover,.ap-form button:focus-visible{background:var(--accent-bright)}.ap-form button:disabled{opacity:.5;cursor:wait}.ap-foot{padding:.45rem 1rem;font-family:var(--font-mono);font-size:.52rem;letter-spacing:.18em;color:var(--muted);border-top:1px solid rgba(255,255,255,.04);text-align:center}.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:700;transform:translateY(110%);transition:transform .55s var(--ease-out);background:#07090deb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(55,214,232,.35)}.sticky-cta.visible{transform:translateY(0)}.sticky-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:.9rem;padding-bottom:calc(.9rem + env(safe-area-inset-bottom,0px))}.sticky-title{font-size:1.1rem;letter-spacing:.1em}.sticky-sub{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.22em;color:var(--muted);margin-top:2px}.toast{position:fixed;top:92px;right:20px;z-index:950;display:flex;gap:.8rem;align-items:flex-start;background:var(--card2);border:1px solid var(--accent);border-left:3px solid var(--accent);padding:.9rem 1.2rem;max-width:340px;transform:translate(120%);transition:transform .5s var(--ease-out)}.toast.visible{transform:translate(0)}.toast-icon{width:28px;height:28px;flex-shrink:0;background:var(--accent);color:#031418;display:flex;align-items:center;justify-content:center}.toast-title{font-family:var(--font-display);font-weight:700;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}.toast-msg{font-size:.78rem;color:var(--dim);margin-top:2px}.toast.error{border-color:#ff5f57}.toast.error .toast-icon{background:#ff5f57}@media(max-width:1180px){.cap-grid,.project-grid,.edu-grid,.stack-grid{grid-template-columns:repeat(2,1fr)}.hero-grid-lower{grid-template-columns:1fr}.hero-terminal{justify-self:start;max-width:560px}.pipeline-grid{grid-template-columns:repeat(3,1fr)}.assistant-demo{grid-template-columns:1fr}}@media(max-width:900px){.main-nav{display:none}.menu-toggle{display:flex}.header-actions .btn-ghost{display:none}.section-head{grid-template-columns:1fr;gap:1.2rem}.section-lede{justify-self:start}.hero-stats{grid-template-columns:repeat(2,1fr);row-gap:1.6rem}.exp-item{grid-template-columns:minmax(0,1fr);padding-left:2rem}.exp-meta{display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap}.contact-grid,.about-shell,.footer-row{grid-template-columns:1fr}.footer-meta{text-align:left}}@media(max-width:640px){.cap-grid,.project-grid,.stack-grid,.edu-grid{grid-template-columns:1fr}.pipeline-grid{grid-template-columns:1fr 1fr}.assistant-panel{right:12px;bottom:88px;width:calc(100vw - 24px);height:min(560px,calc(100svh - 120px))}.assistant-fab{right:14px;bottom:16px}.assistant-fab.raised{bottom:calc(88px + env(safe-area-inset-bottom,0px))}.pipe-desc{min-height:0}.form-row{grid-template-columns:1fr}.hero-meta{font-size:.58rem;gap:.5rem}.sticky-sub,.brand-sub{display:none}.splash-mark{width:116px}.form-input{font-size:16px}.contact-line{flex-wrap:wrap}.contact-line span{word-break:break-all;min-width:0}.band-frame{height:clamp(320px,52vh,460px)}.exp-photo img{height:200px}.about-photo-card img{height:190px}}@media(max-width:520px){.sticky-row{flex-direction:column;align-items:stretch;gap:.7rem;text-align:center;padding-top:.8rem}.sticky-title{font-size:.78rem;letter-spacing:.06em}.sticky-row .btn{justify-content:center}}@media(max-width:380px){.header-actions .icon-btn{display:none}.brand-mark{width:30px;height:30px}.brand-name{font-size:.88rem;letter-spacing:.08em}.header-row{gap:.8rem}.pipeline-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.fab-stars i{display:none}.reveal,.reveal-stagger>*{opacity:1;transform:none}.headline-line span{transform:none}.ticker-track,.splash-ring{animation:none}.splash-progress-fill{transition:none}}
