@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;700&display=swap";:root{--max-width: 1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block;max-width:100%}.container{width:min(100% - 56px,var(--max-width));margin:0 auto}.intro-overlay{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;border:none;border-radius:0;transition:opacity .65s ease,transform .65s ease}.intro-overlay-leaving{opacity:0;transform:scale(1.03)}.intro-background{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.scroll-mouse{width:54px;height:82px;border:2px solid rgba(0,216,160,.42);border-radius:999px;display:grid;place-items:start center;padding-top:12px;flex-shrink:0}.scroll-wheel{width:8px;height:18px;border-radius:999px;background:var(--accent);animation:scrollWheel 1.4s ease-in-out infinite}.typing-cursor{display:inline-block;width:.12em;height:1em;margin-left:4px;vertical-align:-.12em;background:var(--accent);animation:blinkCursor .8s steps(1) infinite}.intro-overlay-inner{position:relative;text-align:center}.intro-mouse{margin:0 auto 22px}.intro-kicker{margin:0;color:var(--accent);font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.intro-name{margin:18px 0 0;min-height:1.2em;color:var(--text);font-weight:800}.intro-helper{margin:16px 0 0;font-size:1rem;line-height:1.7}.intro-progress-track{width:min(100%,360px);height:10px;margin:24px auto 0;overflow:hidden;border-radius:999px}.intro-progress-fill{height:100%;border-radius:inherit;transition:width .15s ease-out}.intro-progress-text{display:inline-block;margin-top:12px;font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}@keyframes scrollWheel{0%{opacity:0;transform:translateY(0)}25%,70%{opacity:1}70%{transform:translateY(18px)}to{opacity:0;transform:translateY(26px)}}@keyframes blinkCursor{0%,50%{opacity:1}50.01%,to{opacity:0}}:root{--bg: #050505;--bg-soft: #0a0a0a;--panel: rgba(7, 7, 7, .94);--panel-soft: rgba(11, 11, 11, .82);--panel-border: rgba(58, 58, 58, .7);--panel-border-soft: rgba(34, 34, 34, .9);--text: #f4f4f2;--muted: #8f939d;--muted-soft: #666a72;--accent: #00d8a0;--accent-strong: #00f0c8;--accent-soft: rgba(0, 216, 160, .16);--accent-soft-strong: rgba(0, 216, 160, .28);--shadow: 0 20px 60px rgba(0, 0, 0, .32);--bg-grid-line: rgba(255, 255, 255, .015);--bg-gradient-start: #060606;--bg-gradient-end: #040404;--selection-text: #04100b;--header-border: rgba(255, 255, 255, .08);--header-bg: rgba(3, 3, 3, .82);--nav-mark: rgba(255, 255, 255, .42);--switcher-active-bg: rgba(0, 216, 160, .12);--switcher-active-border: rgba(0, 216, 160, .32);--surface-border: rgba(255, 255, 255, .08);--surface-glow: rgba(0, 216, 160, .08);--frame-text: rgba(255, 255, 255, .14);--text-strong: #fbfffd;--hero-role: #f0f0ec;--button-text: #05100c;--button-secondary-border: rgba(255, 255, 255, .14);--tag-border: rgba(255, 255, 255, .08);--tag-hover-text: rgba(244, 244, 242, .9);--panel-hover-shadow: 0 24px 64px rgba(0, 0, 0, .28), 0 0 0 1px rgba(0, 216, 160, .06);--inline-panel-bg: rgba(6, 6, 6, .92);--watermark: rgba(255, 255, 255, .035);--inline-link: rgba(255, 255, 255, .56);--section-divider: rgba(255, 255, 255, .08);--section-mark: rgba(255, 255, 255, .14);--subpanel-bg: rgba(10, 10, 10, .96);--track-bg: rgba(255, 255, 255, .08);--radar-grid: rgba(255, 255, 255, .12);--radar-grid-outer: rgba(0, 216, 160, .18);--radar-axis: rgba(255, 255, 255, .08);--radar-surface-border: rgba(255, 255, 255, .06);--radar-surface-line: rgba(255, 255, 255, .02);--radar-shape-fill: rgba(0, 216, 160, .16);--radar-shape-fill-strong: rgba(0, 216, 160, .22);--radar-shape-stroke: rgba(0, 216, 160, .82);--radar-shape-shadow: rgba(0, 216, 160, .22);--node-icon: rgba(255, 255, 255, .58);--timeline-line: rgba(255, 255, 255, .08);--timeline-dot-border: rgba(255, 255, 255, .18);--timeline-dot-bg: #151515;--contact-shell-divider: rgba(255, 255, 255, .08);--contact-field-border: rgba(255, 255, 255, .1);--site-footer-muted: rgba(255, 255, 255, .24);--intro-overlay-bg: linear-gradient(var(--bg-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--bg-grid-line) 1px, transparent 1px), linear-gradient(180deg, var(--bg-gradient-start) 0%, var(--bg-gradient-end) 100%);--intro-overlay-inner-bg: rgba(5, 5, 5, .92);--intro-overlay-inner-border: rgba(255, 255, 255, .08);--danger: #ff8181;--hero-section-pad-top: 4.75rem;--hero-section-pad-bottom: 2.5rem;--hero-surface-min-height: 540px;--hero-surface-gap: 1.75rem;--hero-surface-pad-y: 3rem;--hero-surface-pad-x: 1.5rem;--hero-title-size: 3.35rem;--hero-role-size: .9rem;--hero-text-size: .88rem;--hero-metric-min-height: 86px;--hero-metric-pad-y: .95rem;--hero-metric-pad-x: .95rem;--hero-metric-value-size: 1.65rem;--hero-watermark-size: 10.5rem;--button-min-height: 40px;--button-pad-y: .55rem;--button-pad-x: .95rem;--button-font-size: .68rem;--content-section-pad-top: 2.35rem;--section-shell-gap: 1.25rem;--section-shell-pad-bottom: 2.35rem;--section-title-size: 2.05rem;--card-pad: 1rem;--card-title-size: 1.12rem;--contact-title-size: 2.85rem;--intro-name-size: 3.15rem}html[data-theme=light]{--bg: #f3f1ea;--bg-soft: #e6e0d4;--panel: rgba(255, 255, 255, .86);--panel-soft: rgba(255, 255, 255, .78);--panel-border: rgba(24, 24, 24, .14);--panel-border-soft: rgba(24, 24, 24, .08);--text: #151515;--muted: #5e615f;--muted-soft: #757873;--shadow: 0 20px 60px rgba(58, 54, 46, .14);--bg-grid-line: rgba(17, 17, 17, .05);--bg-gradient-start: #faf8f2;--bg-gradient-end: #ece7dc;--selection-text: #ffffff;--header-border: rgba(20, 20, 20, .08);--header-bg: rgba(248, 244, 236, .88);--nav-mark: rgba(20, 20, 20, .28);--switcher-active-bg: rgba(0, 216, 160, .14);--switcher-active-border: rgba(0, 216, 160, .28);--surface-border: rgba(20, 20, 20, .08);--surface-glow: rgba(0, 216, 160, .1);--frame-text: rgba(20, 20, 20, .24);--text-strong: #151515;--hero-role: #242424;--button-text: #ffffff;--button-secondary-border: rgba(20, 20, 20, .14);--tag-border: rgba(20, 20, 20, .1);--tag-hover-text: #151515;--panel-hover-shadow: 0 24px 64px rgba(62, 54, 44, .16), 0 0 0 1px rgba(0, 216, 160, .1);--inline-panel-bg: rgba(255, 255, 255, .7);--watermark: rgba(20, 20, 20, .05);--inline-link: rgba(20, 20, 20, .58);--section-divider: rgba(20, 20, 20, .08);--section-mark: rgba(20, 20, 20, .12);--subpanel-bg: rgba(255, 255, 255, .68);--track-bg: rgba(20, 20, 20, .08);--radar-grid: rgba(20, 20, 20, .12);--radar-grid-outer: rgba(0, 216, 160, .22);--radar-axis: rgba(20, 20, 20, .1);--radar-surface-border: rgba(20, 20, 20, .08);--radar-surface-line: rgba(20, 20, 20, .04);--radar-shape-fill: rgba(0, 216, 160, .14);--radar-shape-fill-strong: rgba(0, 216, 160, .2);--radar-shape-stroke: rgba(0, 216, 160, .78);--radar-shape-shadow: rgba(0, 216, 160, .14);--node-icon: rgba(20, 20, 20, .48);--timeline-line: rgba(20, 20, 20, .1);--timeline-dot-border: rgba(20, 20, 20, .16);--timeline-dot-bg: #f6f2e8;--contact-shell-divider: rgba(20, 20, 20, .08);--contact-field-border: rgba(20, 20, 20, .12);--site-footer-muted: rgba(20, 20, 20, .34);--intro-overlay-inner-bg: rgba(255, 255, 255, .82);--intro-overlay-inner-border: rgba(20, 20, 20, .08);--danger: #c74a4a}html{background:var(--bg);scroll-padding-top:96px;-webkit-text-size-adjust:100%}body{min-width:320px;overflow-x:hidden;font-family:Inter,Segoe UI,sans-serif;font-size:15px;color:var(--text);background:linear-gradient(var(--bg-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid-line) 1px,transparent 1px),linear-gradient(180deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);background-size:48px 48px,48px 48px,100% 100%;transition:background .25s ease,color .25s ease}::selection{color:var(--selection-text);background:#00d8a0e6}a{transition:color .2s ease,border-color .2s ease,opacity .2s ease,background .2s ease,transform .2s ease}.app-shell{position:relative;min-height:100vh;overflow:clip}.container{width:min(100% - 56px,1240px);min-width:0}.site-header{position:fixed;inset:0 0 auto;z-index:40;border-bottom:1px solid var(--header-border);background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .25s ease,border-color .25s ease}.site-header-shell{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(190px,1fr);align-items:center;min-height:72px;gap:20px;min-width:0}.site-brand{position:relative;display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-width:0;width:clamp(120px,11vw,164px);height:54px;transform:translate(clamp(10px,2.2vw,34px))}.site-brand-logo{position:absolute;inset:50% auto auto 50%;width:100%;height:100%;transform:translate(-50%,-50%);object-fit:contain;object-position:center;transition:opacity .2s ease}.site-brand-logo-light,html[data-theme=light] .site-brand-logo-dark{opacity:0}html[data-theme=light] .site-brand-logo-light{opacity:1}.site-nav{display:flex;align-items:center;justify-content:center;justify-self:center;gap:28px;min-width:0}.site-nav-link,.language-button,.section-eyebrow,.hero-kicker,.hero-tag,.hero-metric-card span,.hero-inline-panel span,.stack-summary-title,.summary-card-title,.tech-node-title,.project-index,.project-card-label,.experience-card-topline span,.experience-entry-meta span,.contact-terminal-kicker,.contact-detail-item span,.contact-note-card span,.site-footer p{font-family:IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.site-nav-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.84rem}.site-nav-link span{color:var(--nav-mark)}.site-nav-link:hover,.hero-inline-link:hover{color:var(--accent)}.language-switcher{position:static;top:auto;right:auto;z-index:auto;display:inline-flex;align-items:center;justify-content:center;justify-self:end;gap:8px;padding:0;border:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.language-button{min-width:42px;min-height:34px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:.68rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.language-button:hover{transform:translateY(-1px)}.language-button.active{border-color:var(--switcher-active-border);background:var(--switcher-active-bg);color:var(--text)}.theme-toggle{min-width:72px;color:var(--text)}.hero-section{position:relative;min-height:100vh;padding:var(--hero-section-pad-top) 0 var(--hero-section-pad-bottom)}.hero-grid{display:grid}.hero-surface{position:relative;min-height:min(var(--hero-surface-min-height),calc(100vh - 128px));display:flex;flex-direction:column;justify-content:center;gap:var(--hero-surface-gap);width:100%;padding:var(--hero-surface-pad-y) var(--hero-surface-pad-x);border-top:1px solid var(--surface-border);border-bottom:1px solid var(--surface-border);animation:heroReveal .8s ease-out both}.hero-surface:before{content:"";position:absolute;inset:18% 8% auto;height:240px;background:radial-gradient(circle,var(--surface-glow),transparent 62%);filter:blur(36px);pointer-events:none}.hero-frame{display:flex;justify-content:space-between;gap:20px;color:var(--frame-text);font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;z-index:2}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(560px,1fr) minmax(320px,440px);gap:clamp(36px,5vw,64px);align-items:center;justify-content:space-between;width:100%;max-width:none;min-height:auto;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}.hero-content:before{display:none}.hero-copy{display:grid;align-content:center;max-width:none;animation:riseFade .8s ease-out .1s both}.hero-kicker,.section-eyebrow,.contact-terminal-kicker{margin:0;color:var(--accent);font-size:.82rem}.hero-title{margin:18px 0 0;max-width:none;position:relative;display:inline-block;isolation:isolate;font-family:Space Grotesk,sans-serif;font-size:var(--hero-title-size);line-height:.94;letter-spacing:-.06em;animation:titleSettle .85s cubic-bezier(.2,.8,.2,1) both;overflow-wrap:normal;word-break:normal}.hero-title:before{content:"";position:absolute;top:8%;right:-6%;bottom:8%;left:-6%;background:linear-gradient(105deg,transparent 20%,rgba(0,240,200,.18) 48%,transparent 76%);opacity:0;transform:translate(-26%) skew(-18deg);filter:blur(10px);pointer-events:none;transition:opacity .25s ease;z-index:-1}.hero-title span{display:inline}.hero-title-accent{position:relative;display:inline-block;margin-left:.22em;color:var(--accent);text-shadow:0 0 18px rgba(0,216,160,.3),0 0 44px rgba(0,216,160,.18);animation:accentPulse 4.4s ease-in-out infinite,accentFloat 5.8s ease-in-out infinite}.hero-title:hover:before{opacity:1;animation:heroTitleSweep .85s cubic-bezier(.19,1,.22,1) 1}.hero-title:hover .hero-title-accent{text-shadow:0 0 24px rgba(0,216,160,.52),0 0 60px rgba(0,216,160,.3)}.hero-title-accent:after{content:"";position:absolute;left:-2%;right:-2%;bottom:.08em;height:.16em;background:linear-gradient(90deg,transparent,rgba(0,240,200,.3),transparent);filter:blur(6px);opacity:.8;animation:accentScan 3.8s ease-in-out infinite;pointer-events:none}.hero-role{max-width:56ch;margin:24px 0 0;color:var(--hero-role);font-size:var(--hero-role-size);line-height:1.55}.hero-text{max-width:62ch;margin:18px 0 0;color:var(--muted);font-size:var(--hero-text-size);line-height:1.8}.hero-text-lead{margin-top:28px}.hero-actions,.project-links,.contact-links{display:flex;flex-wrap:wrap;gap:14px}.hero-actions{margin-top:34px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-min-height);padding:var(--button-pad-y) var(--button-pad-x);border:1px solid rgba(0,216,160,.45);background:linear-gradient(180deg,#14dca6,#0fc496);color:var(--button-text);font-family:IBM Plex Mono,monospace;font-size:var(--button-font-size);font-weight:600;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 24px #00d8a029}.button:hover{transform:translateY(-2px);box-shadow:0 0 34px #00d8a038}.button-secondary{border-color:var(--button-secondary-border);background:transparent;color:var(--text);box-shadow:none}.small-button{min-height:38px;padding:8px 14px}.hero-tag-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-tag{padding:8px 10px;border:1px solid var(--tag-border);color:var(--muted);font-size:.66rem;transition:border-color .2s ease,color .2s ease,transform .2s ease}.hero-tag:hover{border-color:#00d8a038;color:var(--tag-hover-text);transform:translateY(-1px)}.hero-metrics-shell{position:relative;display:grid;justify-self:end;width:min(100%,540px);gap:18px;animation:riseFade .8s ease-out .18s both}.hero-metrics-shell:before,.hero-metrics-shell:after{content:"";position:absolute;width:32px;height:32px;border-color:#00d8a099;border-style:solid;pointer-events:none}.hero-metrics-shell:before{top:-16px;left:-16px;border-width:2px 0 0 2px}.hero-metrics-shell:after{right:-16px;bottom:-16px;border-width:0 2px 2px 0}.hero-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hero-metric-card,.content-card,.profile-summary-card,.stack-summary-card,.stack-group-card,.project-card,.experience-card,.contact-panel,.contact-form{position:relative;overflow:hidden;border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow)}.hero-metric-card{min-height:var(--hero-metric-min-height);padding:var(--hero-metric-pad-y) var(--hero-metric-pad-x) calc(var(--hero-metric-pad-y) - .25rem);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.hero-metric-card:hover,.project-card:hover,.experience-card:hover,.stack-group-card:hover,.summary-card-item:hover,.focus-row:hover,.contact-detail-item:hover{transform:translateY(-4px);border-color:#00d8a033;box-shadow:var(--panel-hover-shadow)}.hero-metric-card strong,.hero-inline-panel strong{display:block;font-family:Space Grotesk,sans-serif;font-size:var(--hero-metric-value-size);line-height:.95;letter-spacing:-.06em;overflow-wrap:anywhere}.hero-metric-card span,.hero-inline-panel span{display:block;margin-top:10px;color:var(--muted-soft);font-size:.68rem}.hero-inline-panel{justify-self:end;width:100%;padding:14px 18px;border:1px solid var(--panel-border-soft);background:var(--inline-panel-bg)}.hero-inline-panel strong{margin-top:6px;font-size:1.02rem}.hero-watermark{position:absolute;inset:50% 0 auto;transform:translateY(-50%);font-family:Space Grotesk,sans-serif;font-size:var(--hero-watermark-size);font-weight:700;line-height:.8;letter-spacing:-.08em;color:var(--watermark);text-align:center;pointer-events:none;z-index:1;animation:watermarkFloat 10s ease-in-out infinite}.hero-inline-link{color:var(--inline-link)}.content-section{position:relative;z-index:1;padding:var(--content-section-pad-top) 0 0}.section-shell{display:grid;gap:var(--section-shell-gap);padding:0 0 var(--section-shell-pad-bottom);border-top:1px solid var(--section-divider);animation:riseFade .7s ease-out both}.section-shell-header{display:flex;justify-content:space-between;gap:20px;align-items:end;padding-top:32px}.section-shell-mark{width:120px;height:1px;flex-shrink:0;background:linear-gradient(90deg,transparent,var(--section-mark),transparent);animation:lineSweep 3.8s linear infinite}.section-title{max-width:880px}.section-title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px}.section-title h2{margin:0;font-family:Space Grotesk,sans-serif;font-size:var(--section-title-size);line-height:.95;letter-spacing:0;overflow-wrap:anywhere}.section-eyebrow{color:var(--accent);font-size:.94rem}.section-description{max-width:720px;margin:18px 0 0;color:var(--muted);line-height:1.8}.about-grid,.tech-core-layout,.contact-layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(280px,.98fr);gap:22px}.content-card,.profile-summary-card,.stack-summary-card,.project-card,.experience-card,.contact-panel,.contact-form{padding:var(--card-pad);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.about-copy-card{min-height:100%}.about-copy-card p,.contact-note-card p,.contact-terminal-description,.project-description,.experience-meta,.experience-note,.experience-bullets,.stack-summary-card p:last-child{color:var(--muted);line-height:1.88}.about-copy-card p:first-child,.contact-note-card p{margin-top:0}.about-copy-card p:last-child,.stack-summary-card p:last-child{margin-bottom:0}.bio-grid-shell,.contact-panel,.contact-form{display:grid;gap:18px}.summary-card-title,.stack-summary-title,.tech-node-title{margin:0;color:var(--accent);font-size:.72rem}.summary-card-list,.focus-panel,.contact-detail-list{display:grid;gap:12px}.summary-card-item,.focus-row,.contact-note-card,.contact-detail-item{padding:13px;border:1px solid var(--section-divider);background:var(--subpanel-bg)}.summary-card-item span,.focus-row-head span,.contact-detail-item span,.contact-note-card span{color:var(--muted-soft);font-size:.68rem}.summary-card-item strong,.focus-row-head strong,.contact-detail-item strong{display:block;margin-top:10px;color:var(--text);font-family:Space Grotesk,sans-serif;font-size:.9rem;overflow-wrap:anywhere}.focus-row-head{display:flex;justify-content:space-between;gap:14px}.focus-track{height:6px;margin-top:14px;background:var(--track-bg)}.focus-fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-strong))}.tech-visual-panel{display:grid;place-items:center;gap:18px;text-align:center}.tech-radar{position:relative;width:min(100%,340px);aspect-ratio:1;border:1px solid var(--radar-surface-border);background:linear-gradient(var(--radar-surface-line) 1px,transparent 1px),linear-gradient(90deg,var(--radar-surface-line) 1px,transparent 1px);background-size:24px 24px;overflow:hidden}.tech-radar:after{content:"";position:absolute;inset:-40% 0 auto;height:40%;background:linear-gradient(180deg,#00d8a000,#00d8a014,#00d8a000);animation:radarSweep 4.8s linear infinite}.tech-radar-svg{width:100%;height:100%;overflow:visible}.tech-radar-grid{fill:none;stroke:var(--radar-grid);stroke-dasharray:4 6}.tech-radar-grid-outer{stroke:var(--radar-grid-outer)}.tech-radar-axis-line{stroke:var(--radar-axis);stroke-width:1}.tech-radar-label{fill:var(--muted-soft);font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.tech-radar-shape-fill{fill:var(--radar-shape-fill);animation:graphPulse 4.6s ease-in-out infinite}.tech-radar-shape-stroke{fill:none;stroke:var(--radar-shape-stroke);stroke-width:2;filter:drop-shadow(0 0 10px var(--radar-shape-shadow))}.tech-node-grid,.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tech-node-card{min-height:142px;display:grid;align-content:start;gap:14px;padding:18px 20px;animation:riseFade .7s ease-out both}.tech-node-card:nth-child(2){animation-delay:.08s}.tech-node-card:nth-child(3){animation-delay:.16s}.tech-node-card:nth-child(4){animation-delay:.24s}.tech-node-title{color:var(--text)}.tech-node-head{display:flex;align-items:center;gap:10px;padding-right:4px}.tech-node-icon{width:18px;height:18px;flex-shrink:0;color:var(--node-icon)}.tech-node-list,.project-tags{display:flex;flex-wrap:wrap;gap:10px;padding-right:4px}.tech-node-list span,.project-tech,.experience-tech{padding:7px 9px;border:1px solid var(--section-divider);background:var(--subpanel-bg);color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.64rem;text-transform:uppercase;overflow-wrap:anywhere}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.project-card{display:flex;flex-direction:column;gap:14px;animation:riseFade .75s ease-out both}.project-card:nth-child(2){animation-delay:.08s}.project-card:nth-child(3){animation-delay:.16s}.project-card-topline,.experience-card-topline{display:flex;justify-content:space-between;gap:14px;align-items:center}.project-index,.experience-card-topline span{color:var(--accent);font-size:.72rem}.project-card-label,.experience-entry-meta span{color:var(--muted-soft);font-size:.68rem}.project-card h3,.experience-header h3{margin:0;font-family:Space Grotesk,sans-serif;font-size:var(--card-title-size);letter-spacing:0;overflow-wrap:anywhere}.project-description{margin:0;flex:1}.experience-timeline{position:relative;display:grid;gap:22px}.experience-timeline:before{content:"";position:absolute;top:0;bottom:0;left:240px;width:1px;background:var(--timeline-line)}.experience-entry{display:grid;grid-template-columns:34px 190px minmax(0,1fr);gap:24px;align-items:start;animation:riseFade .7s ease-out both}.experience-entry:nth-child(2){animation-delay:.08s}.experience-entry:nth-child(3){animation-delay:.16s}.experience-entry:nth-child(4){animation-delay:.24s}.experience-entry-rail{position:relative;min-height:100%}.experience-entry-dot{position:absolute;top:18px;left:50%;width:10px;height:10px;border:1px solid var(--timeline-dot-border);background:var(--timeline-dot-bg);border-radius:999px;transform:translate(-50%)}.experience-entry-meta{padding-top:14px}.experience-entry-meta strong{display:block;margin-top:10px;color:var(--text);font-family:Space Grotesk,sans-serif;font-size:1.35rem;line-height:1;letter-spacing:0;overflow-wrap:anywhere}.experience-card{box-shadow:none}.experience-card-topline strong,.experience-company{color:var(--text)}.experience-company{margin:8px 0 0;font-size:.86rem}.experience-meta,.experience-note{margin-top:18px}.experience-bullets{margin:20px 0 0;padding-left:18px}.experience-bullets li+li{margin-top:12px}.experience-tech-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.contact-section{padding-top:68px}.contact-terminal-shell{position:relative;padding:68px 0 58px;border-top:1px solid var(--contact-shell-divider);border-bottom:1px solid var(--contact-shell-divider);overflow:hidden}.contact-terminal-shell:before{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,216,160,.32),transparent);animation:lineSweep 4s linear infinite}.contact-terminal-copy{max-width:760px;margin:0 auto;text-align:center;animation:riseFade .8s ease-out both}.contact-terminal-title{margin:18px 0 0;font-family:Space Grotesk,sans-serif;font-size:var(--contact-title-size);line-height:.92;letter-spacing:0;overflow-wrap:anywhere}.contact-terminal-title span{display:block}.contact-terminal-accent{color:var(--accent);text-shadow:0 0 18px rgba(0,216,160,.24),0 0 40px rgba(0,216,160,.16)}.contact-terminal-description{max-width:680px;margin:20px auto 0}.contact-links-terminal{justify-content:center;margin-top:24px}.contact-layout{padding:28px 0 58px}.contact-note-card p{margin-bottom:0}.contact-form{gap:16px}.contact-form label{display:grid;gap:8px;color:var(--text);font-family:IBM Plex Mono,monospace;font-size:.7rem;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;min-width:0;border:1px solid var(--contact-field-border);background:var(--subpanel-bg);color:var(--text);padding:12px 14px}.contact-form textarea{resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted-soft)}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#00d8a057;box-shadow:0 0 0 3px #00d8a014}.submit-button:disabled{opacity:.7;cursor:wait}.form-status{margin:6px 0 0;font-family:IBM Plex Mono,monospace;text-transform:uppercase}.form-status.success{color:var(--accent)}.form-status.error{color:var(--danger)}.site-footer{border-top:1px solid var(--section-divider)}.site-footer-shell{display:flex;justify-content:space-between;gap:16px;padding:22px 0 30px}.site-footer p{margin:0;color:var(--site-footer-muted);font-size:.64rem}.intro-overlay{background:var(--intro-overlay-bg);background-size:48px 48px,48px 48px,100% 100%}.intro-overlay-inner{width:min(100% - 40px,720px);padding:44px 28px;border:1px solid var(--intro-overlay-inner-border);background:var(--intro-overlay-inner-bg);box-shadow:var(--shadow)}.intro-name{font-family:Space Grotesk,sans-serif;font-size:var(--intro-name-size);letter-spacing:0;text-shadow:none;overflow-wrap:anywhere}.intro-helper,.intro-progress-text{color:var(--muted)}.intro-progress-track{background:var(--track-bg)}.intro-progress-fill{background:linear-gradient(90deg,var(--accent),var(--accent-strong));box-shadow:none}.intro-orb,.scroll-mouse{display:none}@media (max-width: 1080px){:root{--hero-surface-min-height: auto;--hero-surface-gap: 1.4rem;--hero-surface-pad-y: 2.45rem;--hero-surface-pad-x: 0;--hero-title-size: 2.7rem;--hero-watermark-size: 5.8rem;--section-title-size: 1.95rem;--contact-title-size: 2.45rem}html{scroll-padding-top:88px}.site-header-shell{min-height:64px;align-items:center}.hero-content,.about-grid,.tech-core-layout,.contact-layout{grid-template-columns:1fr}.hero-metrics-shell{max-width:720px;justify-self:stretch;width:100%}.hero-title,.hero-role,.hero-text{max-width:none}.hero-title span{display:block}.hero-title-accent{margin-left:0}.hero-surface{min-height:auto;padding:var(--hero-surface-pad-y) var(--hero-surface-pad-x)}.experience-timeline:before{left:16px}.experience-entry{grid-template-columns:32px 1fr}.experience-entry-meta{grid-column:2;padding-top:0}.experience-card{grid-column:2}}@media (max-width: 760px){:root{--hero-section-pad-top: 6.35rem;--hero-section-pad-bottom: 2rem;--hero-surface-gap: 1rem;--hero-surface-pad-y: 1.65rem;--hero-surface-pad-x: 0;--hero-title-size: 2.12rem;--hero-role-size: .86rem;--hero-text-size: .84rem;--hero-metric-min-height: 76px;--hero-metric-pad-y: .8rem;--hero-metric-pad-x: .8rem;--hero-watermark-size: 3.9rem;--section-shell-gap: 1rem;--section-shell-pad-bottom: 2rem;--section-title-size: 1.7rem;--contact-title-size: 2rem;--intro-name-size: 2.12rem}html{scroll-padding-top:120px}.container{width:min(100% - 24px,1240px)}.site-header-shell{grid-template-columns:auto 1fr auto;min-height:64px;flex-wrap:wrap;align-items:center;row-gap:8px;column-gap:12px;padding-top:10px;padding-bottom:10px}.site-brand{grid-column:1;width:clamp(104px,22vw,136px);height:48px;transform:translate(clamp(6px,2vw,18px))}.language-switcher{grid-column:3;justify-self:end}.site-nav{grid-column:1 / -1;grid-row:2;gap:14px;overflow-x:auto;width:100%;padding:0 0 4px;scrollbar-width:thin}.site-nav-link{white-space:nowrap}.hero-section{padding-top:var(--hero-section-pad-top);padding-bottom:var(--hero-section-pad-bottom)}.hero-surface{gap:var(--hero-surface-gap);padding:var(--hero-surface-pad-y) var(--hero-surface-pad-x)}.hero-frame{flex-direction:column;align-items:flex-start;font-size:.68rem}.hero-title{letter-spacing:-.05em}.hero-role,.hero-text{max-width:none}.hero-watermark{inset:auto 0 14%;transform:none;animation:none}.hero-metrics-grid,.tech-node-grid{grid-template-columns:1fr}.hero-metric-card{min-height:var(--hero-metric-min-height);padding:var(--hero-metric-pad-y) var(--hero-metric-pad-x) calc(var(--hero-metric-pad-y) - .125rem)}.hero-inline-panel{justify-self:stretch;width:100%;padding:16px 18px}.section-shell{gap:var(--section-shell-gap);padding-bottom:var(--section-shell-pad-bottom)}.section-shell-header{flex-direction:column;align-items:flex-start}.section-title-row{flex-direction:column;align-items:flex-start;gap:8px}.projects-grid{grid-template-columns:1fr}.tech-radar{width:min(100%,300px)}.experience-timeline:before{display:none}.experience-entry{grid-template-columns:1fr;gap:14px}.experience-entry-rail{display:none}.experience-entry-meta,.experience-card{grid-column:auto}.site-footer-shell{flex-direction:column}}@media (max-width: 520px){:root{--hero-section-pad-top: 6.45rem;--hero-title-size: 1.82rem;--hero-watermark-size: 3.2rem;--section-title-size: 1.5rem;--contact-title-size: 1.68rem;--hero-metric-value-size: 1.45rem;--card-pad: .85rem;--intro-name-size: 1.72rem}html{scroll-padding-top:124px}.site-header-shell{row-gap:8px}.site-brand{width:104px;height:42px}.site-brand-logo{width:100%;height:100%}.site-nav{width:100%;gap:12px}.site-nav-link{font-size:.7rem}.hero-section{padding-top:var(--hero-section-pad-top)}.hero-actions,.project-links,.contact-links{flex-direction:column}.button,.button-secondary{width:100%}.hero-tag-row{gap:8px}.contact-terminal-shell{padding:54px 0 44px}.contact-layout{padding-bottom:56px}.hero-watermark{opacity:.05}.intro-overlay-inner{width:min(100% - 24px,720px);padding:34px 18px}}@media (max-width: 380px){:root{--hero-title-size: 1.5rem;--section-title-size: 1.4rem;--contact-title-size: 1.5rem;--intro-name-size: 1.48rem}.container{width:min(100% - 18px,1240px)}.language-button{min-width:40px;min-height:34px;font-size:.66rem}.site-nav-link{font-size:.66rem}.hero-surface{padding-bottom:38px}.hero-tag,.tech-node-list span,.project-tech,.experience-tech{font-size:.66rem}}@media (min-width: 1440px){:root{--hero-surface-min-height: 650px;--hero-title-size: 3.55rem;--hero-watermark-size: 11.5rem}.hero-surface{min-height:min(980px,calc(100vh - 136px))}.hero-title{max-width:14ch}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@keyframes heroReveal{0%{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes riseFade{0%{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes accentPulse{0%,to{text-shadow:0 0 18px rgba(0,216,160,.3),0 0 44px rgba(0,216,160,.18)}50%{text-shadow:0 0 24px rgba(0,216,160,.42),0 0 58px rgba(0,216,160,.24)}}@keyframes graphPulse{0%,to{fill:var(--radar-shape-fill)}50%{fill:var(--radar-shape-fill-strong)}}@keyframes radarSweep{0%{transform:translateY(-120%)}to{transform:translateY(360%)}}@keyframes watermarkFloat{0%,to{transform:translateY(-50%)}50%{transform:translateY(calc(-50% + 10px))}}@keyframes lineSweep{0%{opacity:.2;transform:translate(-8%)}50%{opacity:1}to{opacity:.2;transform:translate(8%)}}@keyframes titleSettle{0%{opacity:0;transform:translate3d(0,18px,0);letter-spacing:-.04em}to{opacity:1;transform:translateZ(0);letter-spacing:-.06em}}@keyframes heroTitleSweep{0%{transform:translate(-34%) skew(-18deg)}to{transform:translate(34%) skew(-18deg)}}@keyframes accentFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-2px,0)}}@keyframes accentScan{0%,to{opacity:.2;transform:translate(-8%)}50%{opacity:.95;transform:translate(8%)}}
