:root{--bg: #08090d;--fg: #e2e2ee;--fg-muted: #5c5c72;--fg-dim: #9191a8;--accent: #00e5ff;--accent-green: #00ff9c;--accent-dim: rgba(0, 229, 255, .1);--border: rgba(255, 255, 255, .07);--border-hover: rgba(0, 229, 255, .35);--font-display: "Space Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-serif: "Newsreader", Georgia, serif;--ease: cubic-bezier(.16, 1, .3, 1);--ease-back: cubic-bezier(.34, 1.56, .64, 1);--dur: .75s;--dur-slow: 1s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;font-size:16px}body{background:var(--bg);color:var(--fg);font-family:var(--font-display);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font:inherit;color:inherit}ul{list-style:none}.mono{font-family:var(--font-mono)}.word-mask{display:inline-block;overflow:hidden;vertical-align:bottom;line-height:1.05}.word-inner{display:inline-block;transform:translateY(110%);will-change:transform}.skip-link{position:fixed;top:-100%;left:1rem;z-index:9999;background:var(--accent);color:var(--bg);padding:.5rem 1rem;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;transition:top .2s}.skip-link:focus{top:1rem}.cursor{display:none;pointer-events:none;position:fixed;z-index:9000;top:0;left:0}.cursor-ring{position:absolute;top:-18px;left:-18px;width:36px;height:36px;border:1px solid rgba(255,255,255,.4);border-radius:50%;transform-origin:center;will-change:transform}.cursor-dot{position:absolute;top:-3px;left:-3px;width:6px;height:6px;background:var(--accent);border-radius:50%;will-change:transform}@media (hover: hover) and (pointer: fine){.cursor{display:block}}.scroll-rail{position:fixed;right:1.75rem;top:0;width:2px;height:100vh;background:var(--border);z-index:100}.scroll-progress{width:100%;height:0%;background:var(--accent);box-shadow:0 0 8px var(--accent);transition:height .05s linear}@media (max-width: 768px){.scroll-rail{display:none}}.loader{position:fixed;inset:0;z-index:8000;background:var(--bg);display:flex;align-items:center;justify-content:center;clip-path:inset(0 0 0 0)}.loader-inner{text-align:center}.loader-counter{font-family:var(--font-mono);font-size:clamp(3rem,8vw,6rem);font-weight:700;color:var(--fg);letter-spacing:-.04em;line-height:1;margin-bottom:1rem}.loader-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.3em;color:var(--fg-muted);margin-bottom:2rem;text-transform:uppercase}.loader-bar{width:200px;height:1px;background:var(--border);margin:0 auto}.loader-bar-fill{height:100%;width:0%;background:var(--accent);box-shadow:0 0 8px var(--accent)}#bg-canvas{position:fixed;inset:0;z-index:0;width:100vw;height:100vh;display:block}.bg-fallback{display:none;position:fixed;inset:0;z-index:0;background:var(--bg)}.bg-fallback:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 25% 40%,rgba(0,100,180,.08) 0%,transparent 55%),radial-gradient(ellipse at 75% 60%,rgba(0,229,255,.05) 0%,transparent 50%);animation:bgPulse 10s ease-in-out infinite alternate}@keyframes bgPulse{0%{opacity:.4;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.section{position:relative;z-index:1;min-height:100vh}.section-content{max-width:1380px;margin:0 auto;padding:9rem 5rem}.section-index{display:block;font-size:.7rem;letter-spacing:.25em;color:var(--fg-muted);text-transform:uppercase;margin-bottom:2.5rem}.section-header{margin-bottom:5rem}.section-title{font-family:var(--font-display);font-size:clamp(2.8rem,5.5vw,5.5rem);font-weight:700;line-height:.93;letter-spacing:-.025em;margin-bottom:1.5rem}.title-line{display:block}.title-line--indent{padding-left:8%}.section-sub{font-size:.95rem;color:var(--fg-dim);max-width:480px;margin-top:1.5rem;line-height:1.7}.section--hero{display:flex;align-items:flex-end;min-height:100vh}.hero-content{padding-top:6rem;padding-bottom:6rem;width:100%}.hero-top{display:flex;flex-direction:column;gap:.75rem;margin-bottom:3rem}.hero-kicker{font-size:.82rem;letter-spacing:.06em;color:var(--fg-muted)}.hero-name{font-family:var(--font-display);font-size:clamp(4rem,11vw,13rem);font-weight:700;line-height:.87;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:3rem}.hero-name__line{display:block;gap:.25em}.hero-name__line .word-mask{margin-right:.18em}.hero-name__line--indent{padding-left:6%}.hero-sub{display:grid;grid-template-columns:1fr 1fr;gap:1rem 4rem;margin-bottom:4rem;max-width:900px}.hero-title{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--fg-dim);letter-spacing:-.01em;align-self:center}.hero-title .word-mask{margin-right:.3em}.hero-bio{font-family:var(--font-serif);font-style:italic;font-size:1.25rem;font-weight:300;color:var(--fg-dim);line-height:1.55}.scan-panel{border-left:2px solid var(--border);padding-left:2rem;max-width:680px}.scan-panel__header{display:flex;align-items:center;gap:.75rem;font-size:.68rem;letter-spacing:.22em;color:var(--fg-muted);margin-bottom:1.75rem;text-transform:uppercase}.scan-live-pip{width:7px;height:7px;border-radius:50%;background:var(--accent-green);box-shadow:0 0 8px var(--accent-green);animation:pip-pulse 2.2s ease-in-out infinite}@keyframes pip-pulse{0%,to{opacity:1;box-shadow:0 0 8px var(--accent-green)}50%{opacity:.35;box-shadow:none}}.scan-row{display:flex;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--border);gap:.75rem}.scan-row__label{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;white-space:nowrap;flex-shrink:0}.scan-row__dots{flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--border) 0,var(--border) 3px,transparent 3px,transparent 7px)}.scan-row__status{font-family:var(--font-mono);font-size:.68rem;color:var(--accent-green);letter-spacing:.08em;white-space:nowrap;flex-shrink:0}.hero-scroll-hint{position:absolute;bottom:2.5rem;right:5rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;font-size:.62rem;letter-spacing:.22em;color:var(--fg-muted)}.scroll-hint-line{width:1px;height:52px;background:linear-gradient(to bottom,var(--accent),transparent);transform-origin:top}.section--declassified{background:var(--bg)}.declass-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem;margin-top:1rem}.declass-card:nth-child(1),.declass-card:nth-child(2){grid-column:span 6}.declass-card:nth-child(3),.declass-card:nth-child(4),.declass-card:nth-child(5){grid-column:span 4}.declass-card:nth-child(3){margin-top:1.5rem}.declass-card:nth-child(5){margin-top:-1.5rem}.declass-card__inner{position:relative;background:#ffffff06;border:1px solid var(--border);border-radius:2px;padding:2.5rem 2rem;transform-style:preserve-3d;overflow:hidden;cursor:default;transition:border-color .35s var(--ease),box-shadow .35s var(--ease)}.declass-card__inner:hover{border-color:var(--border-hover);box-shadow:0 0 48px #00e5ff12}.declass-card__label{font-family:var(--font-mono);font-size:.63rem;letter-spacing:.22em;color:var(--accent-green);text-transform:uppercase;margin-bottom:1.75rem}.declass-text{display:block;font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,3.2rem);font-weight:700;letter-spacing:-.02em;line-height:1.05;min-height:3rem;color:var(--fg)}.declass-card__year{display:block;font-family:var(--font-mono);font-size:.7rem;color:var(--fg-muted);margin-top:.5rem}.declass-card__tag{display:block;font-family:var(--font-mono);font-size:.63rem;letter-spacing:.14em;color:var(--fg-muted);text-transform:uppercase;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border)}.declass-card__glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(0,229,255,.07) 0%,transparent 65%);opacity:0;pointer-events:none;transition:opacity .4s}.declass-card__inner:hover .declass-card__glow{opacity:1}.section--research{background:var(--bg)}.terminal-wrapper{margin-top:3rem;max-width:880px}.terminal{background:#0c0d12;border:1px solid var(--border);border-radius:6px;overflow:hidden;box-shadow:0 32px 80px #0009,0 0 0 1px #ffffff0a}.terminal__bar{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;background:#131419;border-bottom:1px solid var(--border)}.terminal__dots{display:flex;gap:6px;flex-shrink:0}.terminal__dots span{display:block;width:11px;height:11px;border-radius:50%}.terminal__title{flex:1;font-size:.73rem;color:var(--fg-muted);text-align:center}.terminal__run-btn{font-size:.68rem;letter-spacing:.08em;border:1px solid rgba(0,229,255,.35);padding:.28rem .75rem;border-radius:3px;color:var(--accent);transition:background .2s,box-shadow .2s;flex-shrink:0}.terminal__run-btn:hover{background:var(--accent-dim);box-shadow:0 0 12px #00e5ff26}.terminal__run-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.terminal__body{padding:1.5rem 1.5rem 1.25rem;min-height:340px;overflow-y:auto;max-height:420px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.terminal__output{font-family:var(--font-mono);font-size:.79rem;line-height:1.75}.terminal__output .line{display:block}.terminal__output .line--cmd{color:var(--fg-dim)}.terminal__output .line--info{color:var(--fg-muted)}.terminal__output .line--med{color:#f0c040}.terminal__output .line--high{color:#ff8c42}.terminal__output .line--crit{color:#ff4545}.terminal__output .line--ok{color:var(--accent-green)}.terminal__output .line--blank{display:block;height:.5rem}.terminal__cursor-line{font-family:var(--font-mono);font-size:.79rem;color:var(--fg-muted);display:flex;align-items:center;gap:.3rem;margin-top:.25rem}.terminal__prompt{color:var(--accent-green)}.terminal__blink{color:var(--accent);animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.tools-strip{margin-top:3rem;max-width:880px}.tools-strip__label{font-size:.65rem;letter-spacing:.25em;color:var(--fg-muted);margin-bottom:1rem}.tools-strip__items{display:flex;flex-wrap:wrap;gap:.5rem}.tool-tag{font-family:var(--font-mono);font-size:.72rem;border:1px solid var(--border);padding:.3rem .75rem;color:var(--fg-dim);border-radius:2px;transition:border-color .2s,color .2s,box-shadow .2s;cursor:default}.tool-tag:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px #00e5ff1a}.arsenal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1rem}.arsenal-cell:nth-child(2){margin-top:1.5rem}.arsenal-cell:nth-child(5){margin-top:-1.5rem}.arsenal-cell{border:1px solid var(--border);padding:2rem;background:#ffffff05;border-radius:2px;transition:border-color .3s}.arsenal-cell:hover{border-color:#00e5ff33}.arsenal-cell__domain{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.22em;color:var(--accent);text-transform:uppercase;margin-bottom:1.25rem}.arsenal-items{display:flex;flex-wrap:wrap;gap:.45rem}.arsenal-item{font-family:var(--font-mono);font-size:.7rem;border:1px solid var(--border);padding:.28rem .6rem;color:var(--fg-dim);border-radius:2px;transition:border-color .2s,color .2s}.arsenal-item:hover{border-color:var(--accent);color:var(--accent)}.timeline-track{position:relative;margin-top:1rem;padding-left:2.5rem}.timeline-track__fill{position:absolute;left:0;top:0;width:2px;height:0%;background:linear-gradient(to bottom,var(--accent),var(--accent-green));box-shadow:0 0 10px var(--accent);pointer-events:none;z-index:1}.timeline-track__rail{position:absolute;left:0;top:0;width:2px;height:100%;background:var(--border)}.timeline-node{position:relative;margin-bottom:4.5rem;padding-left:2rem}.timeline-node:before{content:"";position:absolute;left:-2.1rem;top:.4rem;width:10px;height:10px;border-radius:50%;border:2px solid var(--fg-muted);background:var(--bg);z-index:2;transition:border-color .4s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease)}.timeline-node.is-active:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 14px var(--accent)}.timeline-period{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-muted);letter-spacing:.08em;margin-bottom:.4rem}.timeline-role{font-family:var(--font-display);font-size:1.45rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.2rem}.timeline-company{font-family:var(--font-display);font-size:.95rem;color:var(--fg-dim);margin-bottom:1.25rem}.timeline-bullets{display:flex;flex-direction:column;gap:.45rem}.timeline-bullets li{font-size:.875rem;color:var(--fg-dim);line-height:1.65;padding-left:1.4rem;position:relative}.timeline-bullets li:before{content:"—";position:absolute;left:0;color:var(--fg-muted)}.credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem 6rem;margin-top:1rem;max-width:1100px}.cred-group__label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.25em;color:var(--fg-muted);text-transform:uppercase;margin-bottom:2rem}.cert-item{display:flex;gap:1.25rem;padding:1.2rem 0;border-bottom:1px solid var(--border);align-items:flex-start}.cert-item:first-of-type{border-top:1px solid var(--border)}.cert-item__year{font-family:var(--font-mono);font-size:.72rem;color:var(--accent);width:3rem;flex-shrink:0;padding-top:.1rem}.cert-item__name{font-family:var(--font-display);font-size:.95rem;font-weight:500;margin-bottom:.2rem}.cert-item__issuer{font-size:.8rem;color:var(--fg-muted);font-family:var(--font-mono)}.section--contact{min-height:100vh;display:flex;align-items:center}.section--contact .section-content{width:100%}.contact-headline{font-family:var(--font-display);font-size:clamp(2.5rem,5.5vw,5rem);font-weight:700;letter-spacing:-.025em;line-height:.95;margin:1.5rem 0 3rem}.contact-headline .word-mask{margin-right:.2em}.contact-terminal{font-family:var(--font-mono);font-size:.85rem;line-height:2.1;max-width:580px}.ct-line{display:block}.ct-prompt{color:var(--accent-green)}.ct-response{color:var(--fg-dim)}.ct-key{color:var(--fg-muted);display:inline-block;width:9rem}.ct-val a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;transition:opacity .2s}.ct-val a:hover{opacity:.7}.ct-val a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:1px}.contact-cta{margin-top:3.5rem}.cta-btn{display:inline-flex;align-items:center;gap:1.25rem;border:1px solid var(--accent);padding:1.2rem 2.5rem;font-family:var(--font-mono);font-size:.82rem;letter-spacing:.1em;color:var(--accent);text-transform:uppercase;border-radius:2px;transition:background .28s var(--ease),color .28s var(--ease),box-shadow .28s var(--ease);will-change:transform}.cta-btn:hover{background:var(--accent);color:var(--bg);box-shadow:0 0 40px #00e5ff4d}.cta-btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.cta-btn__arrow{font-size:1rem;transition:transform .3s var(--ease)}.cta-btn:hover .cta-btn__arrow{transform:translate(4px)}.site-footer{display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.12em;color:var(--fg-muted);margin-top:6rem;padding-top:2rem;border-top:1px solid var(--border)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}@media (max-width: 1024px){.arsenal-grid{grid-template-columns:repeat(2,1fr)}.arsenal-cell:nth-child(2),.arsenal-cell:nth-child(5){margin-top:0}.declass-grid{grid-template-columns:repeat(2,1fr)}.declass-card:nth-child(1),.declass-card:nth-child(2),.declass-card:nth-child(3),.declass-card:nth-child(4),.declass-card:nth-child(5){grid-column:span 1;margin-top:0}}@media (max-width: 768px){.section-content{padding:6rem 1.5rem 5rem}.hero-content{padding-top:5rem;padding-bottom:4rem}.hero-name{font-size:clamp(3.2rem,15vw,7rem);margin-bottom:2rem}.hero-sub{grid-template-columns:1fr;gap:1rem;margin-bottom:3rem}.hero-scroll-hint{right:1.5rem;bottom:2rem}.section-title{font-size:clamp(2.2rem,9vw,3.5rem)}.declass-grid{grid-template-columns:1fr;gap:1rem}.declass-card:nth-child(n){grid-column:span 1;margin-top:0}.terminal-wrapper,.tools-strip{max-width:100%}.arsenal-grid{grid-template-columns:1fr}.arsenal-cell:nth-child(n){margin-top:0}.credentials-grid{grid-template-columns:1fr;gap:3rem}.contact-headline{font-size:clamp(2rem,8vw,3rem)}.site-footer{flex-direction:column;gap:.5rem}#bg-canvas{display:none}.bg-fallback{display:block}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.word-inner{transform:none!important}.loader,#bg-canvas{display:none}.bg-fallback{display:block}}
