:root{--color-bg: #f2ede4;--color-surface: #faf8f4;--color-ink: #0c0c0c;--color-muted: #4a4a4a;--color-signal: #00c853;--color-signal-dim: #009624;--color-ember: #ff6b35;--color-ember-dim: #e55a2b;--color-slate: #2d3748;--color-rule: rgba(12, 12, 12, .12);--color-on-signal: #0c0c0c;--color-on-ember: #0c0c0c;--color-inverse-bg: #0c0c0c;--color-inverse-fg: #faf8f4;--color-marquee-bg: #0c0c0c;--color-marquee-fg: var(--color-signal);--color-nav-scrolled: rgba(242, 237, 228, .92);--color-progress-track: rgba(12, 12, 12, .06);--color-progress-glow: rgba(0, 200, 83, .45);--color-mesh-grid: var(--color-stroke);--color-mesh-grid-opacity: .35;--color-mesh-edge-glow: var(--color-signal);--color-mesh-edge-glow-opacity: .08;--color-mesh-edge-glow-width: 8;--color-mesh-edge: var(--color-stroke);--color-mesh-edge-width: 2.5;--color-mesh-node-fill: var(--color-raised);--color-mesh-node-edge-fill: var(--color-bg);--color-mesh-node-relay-fill: var(--color-surface);--color-mesh-node-stroke: var(--color-stroke-strong);--color-mesh-hub-glow: .35;--color-watermark: rgba(12, 12, 12, .08);--color-watermark-strong: rgba(12, 12, 12, .15);--color-drawer-scrim: rgba(12, 12, 12, .55);--color-hero-grad-signal: rgba(0, 200, 83, .08);--color-hero-grad-ember: rgba(255, 107, 53, .06);--color-signal-blink: rgba(0, 200, 83, .5);--color-grain-opacity: .028;--color-footer-border: rgba(250, 248, 244, .35);--color-footer-hover-bg: rgba(0, 200, 83, .15);--color-skills-bracket: rgba(250, 248, 244, .4);--color-skills-divider: rgba(250, 248, 244, .1);--color-skills-panel: rgba(250, 248, 244, .04);--color-skills-panel-border: rgba(250, 248, 244, .18);--color-skills-panel-shadow: 5px 5px 0 var(--color-signal-dim);--color-skills-panel-shadow-hover: 8px 8px 0 var(--color-signal-dim);--color-skills-tag-border: rgba(250, 248, 244, .22);--color-phone-caption: rgba(250, 248, 244, .85);--color-linkedin: #0a66c2;--color-stroke: var(--color-ink);--color-stroke-strong: var(--color-ink);--color-shadow: var(--color-ink);--color-raised: var(--color-bg);--border: 4px solid var(--color-stroke);--border-thick: 5px solid var(--color-stroke);--shadow: 6px 6px 0 var(--color-shadow);--shadow-hover: 10px 10px 0 var(--color-shadow);--shadow-signal: 6px 6px 0 var(--color-signal-dim);--font-display: "Syne", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--nav-h: 72px;--ease-out: cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--color-bg: #0a0c10;--color-surface: #12161e;--color-raised: #191e27;--color-ink: #ede9e1;--color-muted: #8b95a5;--color-signal: #00e676;--color-signal-dim: #00c853;--color-ember: #f0784a;--color-ember-dim: #e05a2a;--color-rule: rgba(237, 233, 225, .1);--color-on-signal: #0a0b0d;--color-on-ember: #0a0b0d;--color-inverse-bg: #060708;--color-inverse-fg: #ede9e1;--color-marquee-bg: #000000;--color-marquee-fg: #00e676;--color-nav-scrolled: rgba(10, 12, 16, .9);--color-progress-track: rgba(237, 233, 225, .06);--color-progress-glow: rgba(0, 230, 118, .55);--color-mesh-grid: rgba(237, 233, 225, .1);--color-mesh-grid-opacity: 1;--color-mesh-edge-glow: rgba(42, 49, 64, .45);--color-mesh-edge-glow-opacity: 1;--color-mesh-edge-glow-width: 5;--color-mesh-edge: #3d4656;--color-mesh-edge-width: 2;--color-mesh-node-fill: var(--color-raised);--color-mesh-node-edge-fill: var(--color-bg);--color-mesh-node-relay-fill: var(--color-surface);--color-mesh-node-stroke: var(--color-stroke);--color-mesh-hub-glow: .22;--color-watermark: rgba(237, 233, 225, .05);--color-watermark-strong: rgba(237, 233, 225, .1);--color-drawer-scrim: rgba(0, 0, 0, .75);--color-hero-grad-signal: rgba(0, 230, 118, .14);--color-hero-grad-ember: rgba(240, 120, 74, .1);--color-signal-blink: rgba(0, 230, 118, .55);--color-grain-opacity: .05;--color-footer-border: rgba(237, 233, 225, .18);--color-footer-hover-bg: rgba(0, 230, 118, .14);--color-skills-bracket: rgba(237, 233, 225, .3);--color-skills-divider: rgba(237, 233, 225, .08);--color-skills-panel: rgba(237, 233, 225, .03);--color-skills-panel-border: var(--color-stroke);--color-skills-panel-shadow: 5px 5px 0 #000000;--color-skills-panel-shadow-hover: 8px 8px 0 #000000;--color-skills-tag-border: rgba(237, 233, 225, .2);--color-phone-caption: rgba(10, 11, 13, .72);--color-stroke: #2a3140;--color-stroke-strong: #000000;--color-shadow: #000000;--shadow: 6px 6px 0 var(--color-shadow);--shadow-hover: 10px 10px 0 var(--color-shadow);--shadow-signal: 6px 6px 0 #000000}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-display);background:var(--color-bg);color:var(--color-ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:var(--color-grain-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:var(--color-signal);color:var(--color-on-signal)}a{color:inherit;text-decoration:none}a[href]:not(.btn):hover{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--color-signal);outline-offset:3px}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}.container{max-width:1160px;margin:0 auto;padding:0 24px}.skip-link{position:absolute;top:-100%;left:16px;z-index:1000;padding:.75rem 1.25rem;background:var(--color-signal);border:var(--border);font-family:var(--font-mono);font-weight:600;font-size:.85rem;text-transform:uppercase}.skip-link:focus{top:16px}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);display:flex;align-items:center;transition:background .25s var(--ease-out),border-color .25s;border-bottom:1px solid transparent}.nav--scrolled{background:var(--color-nav-scrolled);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--color-rule)}.nav__actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.nav__inner{width:100%;max-width:1160px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.nav__logo{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:800;font-size:1.15rem;letter-spacing:-.02em}.nav__logo-dot{width:10px;height:10px;background:var(--color-signal);border:2px solid var(--color-stroke);border-radius:50%;animation:signal-blink 2s ease-in-out infinite}@keyframes signal-blink{0%,to{opacity:1;box-shadow:0 0 0 0 var(--color-signal-blink)}50%{opacity:.7;box-shadow:0 0 0 6px #00c85300}}.nav__links{display:flex;gap:.25rem}.nav__link{font-family:var(--font-mono);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:.5rem .85rem;border:2px solid transparent;transition:border-color .2s,background .2s}.nav__link:hover,.nav__link--active{border-color:var(--color-stroke);background:var(--color-surface)}.nav__cta.btn--sm{padding:.55rem 1.25rem;font-size:.8rem;min-height:40px}.nav__toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:var(--border);background:var(--color-surface);box-shadow:3px 3px 0 var(--color-shadow)}.nav__drawer{display:none}.btn{padding:1rem 2rem;font-family:var(--font-mono);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;border:var(--border-thick);cursor:pointer;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),background .2s;display:inline-flex;align-items:center;justify-content:center;min-height:48px}.btn-primary{background:var(--color-ember);color:var(--color-on-ember);box-shadow:var(--shadow)}.btn-primary:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-hover);background:var(--color-ember-dim)}.btn-secondary{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow)}.btn-secondary:hover{background:var(--color-signal);color:var(--color-on-signal);transform:translate(-3px,-3px);box-shadow:var(--shadow-hover)}.manifesto-box--signal,.contact-card--email,.proud-card__icon,.exp-section h4,.project-card__year,.nav__drawer-link--active,.skip-link{color:var(--color-on-signal)}.section-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.section-head__index{font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--color-signal-dim);letter-spacing:.08em}.section-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-.03em;text-transform:uppercase;line-height:1}.section-title__bracket{color:var(--color-muted);font-weight:600;margin:0 .15em}.section-head__rule{flex:1;height:4px;background:var(--color-stroke);min-width:60px;align-self:center}.section-reveal{opacity:0;transform:translateY(24px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}.section-reveal.is-visible{opacity:1;transform:translateY(0)}.mesh-grid{position:absolute;inset:0;color:var(--color-mesh-grid);pointer-events:none}.marquee{overflow:hidden;border-top:var(--border-thick);border-bottom:var(--border-thick);background:var(--color-marquee-bg);color:var(--color-marquee-fg);padding:.85rem 0}.marquee__track{display:flex;width:max-content;animation:marquee-scroll 28s linear infinite}.marquee__item{font-family:var(--font-mono);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;gap:1.5rem;padding-right:1.5rem}.marquee__dot{width:6px;height:6px;background:var(--color-ember);border-radius:50%;flex-shrink:0}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee__track{animation:none;flex-wrap:wrap;width:100%;justify-content:center;gap:.5rem 1rem;padding:0 1rem}}.hero{position:relative;min-height:calc(100svh - var(--nav-h));margin-top:var(--nav-h);display:flex;align-items:center;padding:3rem 0 4rem;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 90% 20%,var(--color-hero-grad-signal) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 10% 80%,var(--color-hero-grad-ember) 0%,transparent 50%),var(--color-bg)}.hero__inner{position:relative;z-index:1;width:100%}.hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}.hero__eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);margin-bottom:1.25rem}.hero__signal{width:8px;height:8px;background:var(--color-signal);border:2px solid var(--color-stroke);border-radius:50%}.hero__name{font-size:clamp(3rem,9vw,6.5rem);font-weight:800;line-height:.95;letter-spacing:-.04em;margin-bottom:1rem}.hero__name-line{display:block}.hero__name-line--accent{color:var(--color-signal-dim);-webkit-text-stroke:2px var(--color-ink);paint-order:stroke fill}.hero__role{font-family:var(--font-mono);font-size:clamp(.9rem,2vw,1.05rem);font-weight:500;letter-spacing:.02em;color:var(--color-muted);margin-bottom:1.5rem}.hero__bio{font-size:clamp(1rem,2vw,1.15rem);max-width:520px;line-height:1.7;margin-bottom:2rem;padding-left:1rem;border-left:4px solid var(--color-signal)}.hero__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:2.5rem;max-width:520px}.hero__stat{padding:.85rem .75rem;background:var(--color-surface);border:var(--border);box-shadow:3px 3px 0 var(--color-shadow)}.hero__stat-value{display:block;font-family:var(--font-mono);font-size:1.25rem;font-weight:700;line-height:1.2}.hero__stat-label{font-family:var(--font-mono);font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);line-height:1.3}.hero__cta{display:flex;gap:1rem;flex-wrap:wrap}.hero__visual-wrap{display:flex;justify-content:center}.hero__visual-frame{position:relative;width:100%;max-width:380px;padding:2rem;background:var(--color-surface);border:var(--border-thick);box-shadow:var(--shadow)}.mesh-visual{position:relative;width:100%}.mesh-visual__svg{width:100%;height:auto;display:block}.mesh-visual__field-dot{fill:var(--color-mesh-grid);opacity:var(--color-mesh-grid-opacity)}.mesh-visual__edge-glow{stroke:var(--color-mesh-edge-glow);stroke-width:var(--color-mesh-edge-glow-width);stroke-linecap:round;opacity:var(--color-mesh-edge-glow-opacity)}.mesh-visual__edge{stroke:var(--color-mesh-edge);stroke-width:var(--color-mesh-edge-width);stroke-dasharray:5 5;stroke-linecap:round}.mesh-visual__packet{fill:var(--color-signal);filter:url(#mesh-signal-glow)}.mesh-visual__hub-glow{pointer-events:none;opacity:var(--color-mesh-hub-glow)}.mesh-visual__node{fill:var(--color-mesh-node-fill);stroke:var(--color-mesh-node-stroke);stroke-width:3}.mesh-visual__node--relay{fill:var(--color-mesh-node-relay-fill)}.mesh-visual__node--edge{fill:var(--color-mesh-node-edge-fill);stroke-width:2.5}.mesh-visual__node--hub.mesh-visual__node--primary{fill:var(--color-signal);stroke:var(--color-stroke-strong);stroke-width:3.5}.mesh-visual__node-core{fill:var(--color-on-signal);pointer-events:none}.mesh-visual__pulse{fill:none;stroke:var(--color-signal);stroke-width:1.5;opacity:.45;animation:mesh-pulse 2.4s ease-in-out infinite}@keyframes mesh-pulse{0%,to{r:27;opacity:.45}50%{r:34;opacity:0}}@media(prefers-reduced-motion:reduce){.mesh-visual__pulse{animation:none;opacity:.25}}.mesh-visual__hud-bg{fill:var(--color-bg)}.mesh-visual__hud-border{stroke:var(--color-stroke);stroke-width:3}.mesh-visual__hud-dot{fill:var(--color-signal);animation:hud-blink 1.6s ease-in-out infinite}@keyframes hud-blink{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.mesh-visual__hud-dot{animation:none}}.mesh-visual__label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;fill:var(--color-ink)}.mesh-visual__hud-meta{font-family:var(--font-mono);font-size:8px;font-weight:500;letter-spacing:.1em;fill:var(--color-muted)}.hero__badge{position:absolute;font-family:var(--font-mono);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.5rem 1rem;border:3px solid var(--color-stroke);white-space:nowrap}.hero__badge--status{bottom:-16px;left:1.5rem;background:var(--color-signal);color:var(--color-on-signal);box-shadow:4px 4px 0 var(--color-shadow)}.hero__badge--loc{bottom:-16px;right:1.5rem;background:var(--color-surface)}.scroll-cue{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.25rem;font-family:var(--font-mono);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);transition:color .2s;z-index:2}.scroll-cue:hover{color:var(--color-ink)}.scroll-cue__icon{font-size:1.25rem;animation:cue-bounce 2s ease-in-out infinite}@keyframes cue-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media(prefers-reduced-motion:reduce){.scroll-cue__icon{animation:none}}@media(max-width:768px){.scroll-cue{display:none}}.about{padding:5rem 0;background:var(--color-surface);border-top:var(--border-thick)}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.about-card{padding:2rem;border:var(--border-thick);box-shadow:var(--shadow);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out);background:var(--color-raised)}.about-card:hover{transform:translate(-4px,-4px);box-shadow:var(--shadow-hover)}.about-card--signal{border-top:8px solid var(--color-signal)}.about-card--ember{border-top:8px solid var(--color-ember)}.about-card--ink{border-top:8px solid var(--color-ink)}.about-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.about-card__num{font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--color-muted)}.about-card__icon{display:flex;font-size:1.25rem}.about-card h3{font-size:1.35rem;font-weight:800;margin-bottom:1rem;letter-spacing:-.02em}.about-card p{font-size:.95rem;margin-bottom:.35rem;line-height:1.6}.about-card strong{font-weight:700}.proud{padding:5rem 0;background:var(--color-bg)}.proud__quote{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;line-height:1.5;letter-spacing:-.02em;max-width:720px;margin-bottom:3rem;padding:0;border:none}.proud__quote-accent{display:block;color:var(--color-signal-dim);margin-top:.25rem}.proud__carousel{position:relative;width:min(100%,calc(100vw - 48px));max-width:1320px;margin:0 auto 3rem;padding:0 24px}.proud__carousel:before,.proud__carousel:after{content:"";position:absolute;top:2rem;bottom:.5rem;width:min(56px,8vw);z-index:2;pointer-events:none}.proud__carousel:before{left:24px;background:linear-gradient(to right,var(--color-bg) 20%,transparent)}.proud__carousel:after{right:24px;background:linear-gradient(to left,var(--color-bg) 20%,transparent)}.proud__hint{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;font-family:var(--font-mono);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin-bottom:.75rem;padding-right:.25rem}.proud__hint svg{font-size:.9rem;animation:hint-nudge 1.8s ease-in-out infinite}@keyframes hint-nudge{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@media(prefers-reduced-motion:reduce){.proud__hint svg{animation:none}}@media(max-width:768px){.proud__hint{justify-content:center}.proud__carousel:before,.proud__carousel:after{width:32px}}@media(min-width:1024px){.proud__carousel{max-width:1520px;padding:0 32px}}@media(min-width:1440px){.proud__carousel{max-width:1680px;padding:0 40px}}.proud__scroll{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-top:10px;padding-bottom:14px}.proud__scroll::-webkit-scrollbar{display:none}.proud__track{display:flex;gap:1.25rem;width:max-content;padding-left:4px;padding-right:4px}.proud-card{flex:0 0 min(340px,85vw);scroll-snap-align:start;padding:2rem;background:var(--color-surface);border:var(--border-thick);box-shadow:var(--shadow);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.proud-card:hover{transform:translate(-4px,-4px);box-shadow:var(--shadow-hover)}.proud-card__link{display:inline-block;margin-top:1rem;font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--color-ink);text-decoration:underline;text-underline-offset:3px;transition:color .2s}.proud-card__link:hover{color:var(--color-ember)}.proud-card__num{font-family:var(--font-mono);font-size:3rem;font-weight:700;line-height:1;color:var(--color-watermark);display:block;margin-bottom:.75rem}.proud-card__icon{display:inline-flex;font-size:1.5rem;margin-bottom:1rem;padding:.65rem;background:var(--color-signal);border:3px solid var(--color-stroke)}.proud-card h3{font-size:1.4rem;font-weight:800;margin-bottom:.35rem}.proud-card__meta{font-family:var(--font-mono);font-size:.8rem;font-weight:500;color:var(--color-ember);margin-bottom:.85rem}.proud-card__desc{font-size:.95rem;line-height:1.65;color:var(--color-muted);margin-bottom:1.25rem}.tech-pills{display:flex;flex-wrap:wrap;gap:.5rem}.tech-pills span{font-family:var(--font-mono);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.35rem .65rem;background:var(--color-bg);border:2px solid var(--color-stroke)}.proud__manifesto{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.manifesto-box{padding:2rem;border:var(--border-thick);box-shadow:var(--shadow)}.manifesto-box--signal{background:var(--color-signal)}.manifesto-box--ink{background:var(--color-inverse-bg);color:var(--color-inverse-fg)}.manifesto-box h4{font-family:var(--font-mono);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.85rem}.manifesto-box p{font-size:1.05rem;line-height:1.65}.manifesto-box strong{font-weight:800;text-decoration:underline;text-underline-offset:3px}.experience{padding:5rem 0;background:var(--color-surface);border-top:var(--border-thick)}.timeline__item{display:grid;grid-template-columns:48px 1fr;gap:1.5rem;margin-bottom:2.5rem}.timeline__item:last-child{margin-bottom:0}.timeline__rail{display:flex;flex-direction:column;align-items:center;padding-top:.5rem}.timeline__dot{width:16px;height:16px;background:var(--color-signal);border:3px solid var(--color-stroke);border-radius:50%;flex-shrink:0}.timeline__line{flex:1;width:3px;min-height:40px;background:var(--color-stroke);margin-top:.5rem}.timeline__body{padding:2rem;background:var(--color-bg);border:var(--border-thick);box-shadow:var(--shadow);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.timeline__body:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-hover)}.exp-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:3px solid var(--color-rule)}.exp-header h3{font-size:1.65rem;font-weight:800;letter-spacing:-.02em}.role{font-family:var(--font-mono);font-size:.95rem;font-weight:500;color:var(--color-ember);margin-top:.25rem}.exp-meta{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end}.location,.date{font-family:var(--font-mono);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.35rem .75rem;background:var(--color-surface);border:2px solid var(--color-stroke)}.exp-section{margin-bottom:1.25rem}.exp-section:last-child{margin-bottom:0}.exp-section h4{font-family:var(--font-mono);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;background:var(--color-signal);border:2px solid var(--color-stroke);margin-bottom:.85rem}.exp-section ul{list-style:none}.exp-section li{position:relative;padding-left:1.25rem;margin-bottom:.65rem;font-size:.95rem;line-height:1.65;color:var(--color-muted)}.exp-section li:before{content:"→";position:absolute;left:0;font-family:var(--font-mono);font-weight:700;color:var(--color-signal-dim)}.skills{position:relative;padding:5rem 0;background:var(--color-inverse-bg);color:var(--color-inverse-fg);border-top:var(--border-thick);overflow:hidden}.skills:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,var(--color-mesh-grid) 1px,transparent 1px);background-size:26px 26px;opacity:.45;pointer-events:none}.skills .container{position:relative;z-index:1}.skills .section-title{color:var(--color-inverse-fg)}.skills .section-title__bracket{color:var(--color-skills-bracket)}.skills .section-head__index{color:var(--color-signal)}.skills .section-head__rule{background:var(--color-signal)}.skills__lead{max-width:36rem;font-size:.95rem;line-height:1.55;color:var(--color-skills-bracket);margin:-1.25rem 0 2.25rem}.skills-columns{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem}.skills-col:nth-child(n){grid-column:span 2}.skills-col{padding:1.35rem 1.5rem;background:var(--color-skills-panel);border:3px solid var(--color-skills-panel-border);box-shadow:var(--color-skills-panel-shadow);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.skills-col:hover{transform:translate(-3px,-3px);box-shadow:var(--color-skills-panel-shadow-hover)}.skills-col__title{font-family:var(--font-mono);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;padding-bottom:.65rem;border-bottom:2px solid var(--color-signal);display:flex;align-items:center;gap:.5rem}.skills-col__index{color:var(--color-signal)}.skills-col__tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}.skills-col__tags li{display:contents}.skills-tag{display:inline-block;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.03em;padding:.35rem .65rem;border:2px solid var(--color-skills-tag-border);color:var(--color-inverse-fg);transition:background .15s,color .15s,border-color .15s}.skills-tag:hover{background:var(--color-signal);color:var(--color-on-signal);border-color:var(--color-stroke-strong)}@media(max-width:900px){.skills-columns{grid-template-columns:repeat(2,1fr)}.skills-col:nth-child(n){grid-column:span 1}}@media(max-width:560px){.skills-columns{grid-template-columns:1fr}.skills-col:nth-child(n){grid-column:span 1}}.projects-section{padding:5rem 0;background:var(--color-bg);border-top:var(--border-thick)}.projects__lead{max-width:40rem;font-size:1rem;line-height:1.55;color:var(--color-muted);margin:-1.25rem 0 2rem}.projects-stack{display:flex;flex-direction:column;gap:0;border:var(--border-thick);box-shadow:var(--shadow);background:var(--color-surface)}.project-card{display:grid;grid-template-columns:52px 1fr;gap:1.25rem;padding:1.5rem 1.75rem;background:transparent;border:none;border-bottom:3px solid var(--color-stroke);box-shadow:none;border-radius:0;transition:background .2s}.project-card:last-child{border-bottom:none}.project-card:hover{transform:none;box-shadow:none;background:var(--color-bg)}.project-card--featured{background:transparent;box-shadow:inset 4px 0 0 var(--color-signal)}.project-card__num{font-family:var(--font-mono);font-size:1.35rem;font-weight:700;line-height:1;color:var(--color-watermark-strong);padding-top:.2rem}.project-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;padding-bottom:0;border-bottom:none}.project-card__title{font-family:var(--font-display);font-size:1.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:.15rem}.project-card__context{font-family:var(--font-mono);font-size:.72rem;font-weight:500;color:var(--color-ember);letter-spacing:.02em}.project-card__year{font-family:var(--font-mono);font-size:.7rem;font-weight:600;padding:.25rem .5rem;background:var(--color-signal);color:var(--color-on-signal);border:2px solid var(--color-stroke);white-space:nowrap;flex-shrink:0}.project-card__desc{font-size:.92rem;line-height:1.6;color:var(--color-muted);max-width:none;margin-bottom:.75rem}.project-card__tech{margin-bottom:.75rem}.project-card__foot{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;padding-top:0}.project-card__badge{font-family:var(--font-mono);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.3rem .6rem;background:var(--color-bg);border:2px solid var(--color-stroke)}.project-card__link{font-family:var(--font-mono);font-size:.78rem;font-weight:600;color:var(--color-ink);text-decoration:underline;text-underline-offset:3px;transition:color .2s}.project-card__link:hover{color:var(--color-ember)}.contact{padding:5rem 0;background:var(--color-surface);border-top:var(--border-thick)}.contact__intro{margin-bottom:2.5rem}.contact__headline{font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.25;max-width:640px}.contact__headline-accent{color:var(--color-signal-dim)}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.contact-card{padding:2rem 1.25rem;border:var(--border-thick);box-shadow:var(--shadow);text-align:center;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out);min-height:44px}.contact-card:hover{transform:translate(-4px,-4px);box-shadow:var(--shadow-hover)}.contact-icon{font-size:1.75rem;margin-bottom:.85rem;display:flex;justify-content:center}.contact-card h3{font-size:1rem;font-weight:800;margin-bottom:.35rem}.contact-card p{font-family:var(--font-mono);font-size:.75rem;word-break:break-word;color:var(--color-muted)}.contact-card--email p{color:#0a0b0db8}.contact-card--linkedin{background:var(--color-bg);border-top:6px solid var(--color-linkedin)}.contact-card--github{background:var(--color-bg);border-top:6px solid var(--color-stroke)}.contact-card--email{background:var(--color-signal)}.contact-card--phone{background:var(--color-ember);color:var(--color-on-ember)}.contact-card--phone p{color:var(--color-phone-caption)}.footer{padding:2rem 0;background:var(--color-inverse-bg);color:var(--color-inverse-fg);border-top:var(--border-thick)}.footer__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem}.footer__copy{justify-self:start}.footer__top{font-family:var(--font-mono);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.5rem 1rem;border:2px solid var(--color-footer-border);transition:background .2s,border-color .2s;justify-self:center}.footer__top:hover{background:var(--color-footer-hover-bg);border-color:var(--color-signal)}.footer__tag{justify-self:end;text-align:right}.footer__copy,.footer__tag{font-family:var(--font-mono);font-size:.8rem;font-weight:500}.footer__tag{color:var(--color-signal)}@media(max-width:900px){.nav__links,.nav__cta{display:none}.nav__toggle{display:flex}.nav__drawer{display:block;position:fixed;inset:0;z-index:99;background:var(--color-drawer-scrim);opacity:0;pointer-events:none;transition:opacity .25s var(--ease-out)}.nav__drawer--open{opacity:1;pointer-events:auto}.nav__drawer-inner{position:absolute;top:var(--nav-h);left:0;right:0;background:var(--color-bg);border-bottom:var(--border-thick);padding:1rem 24px 1.5rem;display:flex;flex-direction:column;gap:.5rem}.nav__drawer-link{font-family:var(--font-mono);font-size:.85rem;font-weight:600;text-transform:uppercase;padding:.85rem 1rem;border:var(--border);background:var(--color-surface)}.nav__drawer-link--active{background:var(--color-signal)}.nav__drawer-inner .btn{margin-top:.5rem;width:100%}.hero__grid{grid-template-columns:1fr;gap:2.5rem}.hero__stats{grid-template-columns:repeat(2,1fr)}.about-grid,.proud__manifesto{grid-template-columns:1fr}.contact-grid{grid-template-columns:repeat(2,1fr)}.section-head__rule{display:none}}@media(max-width:600px){.hero__stats{grid-template-columns:1fr 1fr}.hero__visual-frame{max-width:100%}.timeline__item{grid-template-columns:32px 1fr;gap:1rem}.timeline__body{padding:1.25rem}.project-card{grid-template-columns:40px 1fr;gap:1rem;padding:1.25rem}.project-card__head{flex-direction:column;gap:.5rem}.project-card__year{align-self:flex-start}.contact-grid{grid-template-columns:1fr}.footer__inner{grid-template-columns:1fr;text-align:center}.footer__copy,.footer__tag{justify-self:center;text-align:center}.exp-meta{align-items:flex-start}}.theme-toggle{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:var(--border);background:var(--color-surface);box-shadow:3px 3px 0 var(--color-shadow);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),background .2s;flex-shrink:0}.theme-toggle:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--color-shadow)}.theme-toggle:active{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--color-shadow)}.theme-toggle svg{width:18px;height:18px}[data-theme=dark] body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse 70% 55% at 85% 5%,rgba(0,230,118,.08) 0%,transparent 55%),radial-gradient(ellipse 50% 45% at 5% 95%,rgba(240,120,74,.06) 0%,transparent 50%)}[data-theme=dark] .proud-card,[data-theme=dark] .timeline__body,[data-theme=dark] .hero__stat,[data-theme=dark] .hero__visual-frame,[data-theme=dark] .contact-card--linkedin,[data-theme=dark] .contact-card--github,[data-theme=dark] .projects-stack,[data-theme=dark] .theme-toggle,[data-theme=dark] .nav__toggle{background:var(--color-raised)}[data-theme=dark] .project-card:hover{background:var(--color-bg)}[data-theme=dark] .project-card--featured{background:transparent}[data-theme=dark] .project-card__badge{background:var(--color-surface)}[data-theme=dark] .btn-primary,[data-theme=dark] .btn-secondary:hover,[data-theme=dark] .contact-card--email,[data-theme=dark] .contact-card--phone,[data-theme=dark] .manifesto-box--signal,[data-theme=dark] .proud-card__icon,[data-theme=dark] .exp-section h4,[data-theme=dark] .project-card__year,[data-theme=dark] .nav__drawer-link--active,[data-theme=dark] .skip-link{border-color:var(--color-stroke-strong)}[data-theme=dark] .about-card--ink{border-top-color:#ede9e173}[data-theme=dark] .hero__name-line--accent{color:var(--color-signal);text-shadow:0 0 40px rgba(0,230,118,.28)}[data-theme=dark] .nav__logo-dot{box-shadow:0 0 8px #00e67666}[data-theme=dark] .mesh-visual__field-dot{fill:var(--color-mesh-grid);opacity:var(--color-mesh-grid-opacity)}[data-theme=dark] .mesh-visual__edge{stroke:var(--color-mesh-edge);stroke-width:var(--color-mesh-edge-width)}[data-theme=dark] .mesh-visual__edge-glow{stroke:var(--color-mesh-edge-glow);stroke-width:var(--color-mesh-edge-glow-width);opacity:var(--color-mesh-edge-glow-opacity)}[data-theme=dark] .mesh-visual__packet{filter:none;fill:var(--color-signal);opacity:.95}[data-theme=dark] .mesh-visual__pulse{opacity:.3;stroke:var(--color-signal-dim)}[data-theme=dark] .mesh-visual__hub-glow{opacity:var(--color-mesh-hub-glow)}[data-theme=dark] .mesh-visual__node{stroke:var(--color-mesh-node-stroke)}[data-theme=dark] .mesh-visual__node--hub.mesh-visual__node--primary{stroke:var(--color-stroke-strong)}[data-theme=dark] .mesh-visual__hud-bg{fill:var(--color-raised)}[data-theme=dark] .mesh-visual__hud-border{stroke:var(--color-stroke)}[data-theme=dark] .mesh-visual__label{fill:var(--color-ink)}[data-theme=dark] .mesh-visual__hud-meta{fill:var(--color-muted)}[data-theme=dark] .marquee{box-shadow:inset 0 1px #ede9e114,inset 0 -1px #ede9e114}[data-theme=dark] .skills{border-top-color:var(--color-stroke)}[data-theme=dark] .hero__signal{box-shadow:0 0 8px #00e67666}[data-theme=dark] .timeline__dot{border-color:var(--color-stroke-strong);box-shadow:0 0 6px #00e67659}[data-theme=dark] .footer{box-shadow:inset 0 1px #ede9e10f}[data-theme=dark] .about-card--signal{box-shadow:var(--shadow),inset 0 1px #00e67626}[data-theme=dark] .about-card--ember{box-shadow:var(--shadow),inset 0 1px #f0784a1f}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color .35s var(--ease-out),color .35s var(--ease-out),border-color .35s var(--ease-out),box-shadow .35s var(--ease-out),fill .35s var(--ease-out),stroke .35s var(--ease-out)!important}@media(prefers-reduced-motion:reduce){html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:none!important}}
