:root{--primary-color: #2a2a72;--secondary-color: #009ffd;--accent-color: #ff7e5f;--text-color: #333;--light-bg: #f5f5f5;--card-shadow: 0 4px 6px rgba(0, 0, 0, .1);--transition: all .3s ease;--bg-page-start: #f8fbff;--bg-page-mid: #f4f6fb;--bg-page-end: #f6f5f8;--bg-card: rgba(255, 255, 255, .76);--bg-glass: rgba(255, 255, 255, .76);--border-card: rgba(42, 42, 114, .08);--text-secondary: #545471;--text-muted: #6571a6;--text-meta: #4c567d;--shimmer-base: rgba(42, 42, 114, .06);--shimmer-peak: rgba(42, 42, 114, .12);--nav-pill-bg: rgba(239, 244, 255, .84);--proof-card-bg: rgba(255, 255, 255, .78);--proof-card-shadow: 0 16px 42px rgba(20, 20, 60, .09);--uses-card-bg: rgba(255, 255, 255, .78);--contact-card-bg: rgba(255, 255, 255, .78);--footer-bg: linear-gradient(145deg, rgba(255,255,255,.98), rgba(243,246,255,.94));--footer-shadow: 0 16px 42px rgba(20,20,60,.09);--skill-card-bg: rgba(248, 250, 255, .92);--skill-featured-bg: linear-gradient(180deg, rgba(248, 251, 255, .98), rgba(255, 255, 255, .96));--capability-cat-bg: rgba(255, 255, 255, .76);--capability-copy-bg: radial-gradient(circle at top right, rgba(0, 159, 253, .14), transparent 34%), linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(247, 248, 255, .86));--capability-proof-bg: linear-gradient(180deg, rgba(245, 249, 255, .95), rgba(255, 255, 255, .9));--capability-representative-bg: rgba(42, 42, 114, .04);--capability-pill-bg: white;--capability-pill-color: #41486d;--capability-pill-border: 1px solid rgba(42, 42, 114, .08);--lens-chip-bg: rgba(243, 246, 255, .82);--lens-chip-color: #495277;--hero-metric-bg: rgba(255, 255, 255, .88);--hero-metric-shadow: 0 12px 30px rgba(20, 20, 60, .08);--hero-action-secondary-bg: rgba(255, 255, 255, .84);--modal-bg: white;--tag-bg: rgba(42, 42, 114, .06);--project-card-bg: white;--project-card-shadow: 0 16px 36px rgba(25, 25, 76, .09);--project-card-hover-shadow: 0 18px 44px rgba(25, 25, 76, .16);--project-icon-bg: radial-gradient(circle at top left, rgba(0, 159, 253, .18), transparent 38%), radial-gradient(circle at bottom right, rgba(42, 42, 114, .14), transparent 35%), rgba(245, 245, 255, .92);--contact-icon-gradient: linear-gradient(135deg, var(--primary-color), var(--secondary-color));--nav-cta-shadow: 0 14px 28px rgba(42, 42, 114, .2);--nav-shell-bg: rgba(255, 255, 255, .76);--nav-shell-shadow: 0 18px 40px rgba(42, 42, 114, .12), inset 0 1px 0 rgba(255, 255, 255, .7);--mobile-panel-bg: rgba(255, 255, 255, .94);--mobile-close-bg: rgba(17, 24, 39, .14);--mobile-link-active-bg: rgba(239, 244, 255, .92);--nav-link-active-bg: white}[data-theme=dark]{--primary-color: #7b8cff;--secondary-color: #4cc9f0;--accent-color: #ff8a73;--text-color: #d1d5e8;--light-bg: #1a1b2e;--card-shadow: 0 4px 6px rgba(0, 0, 0, .3);--bg-page-start: #0f1023;--bg-page-mid: #131429;--bg-page-end: #111226;--bg-card: rgba(26, 27, 46, .8);--bg-glass: rgba(26, 27, 46, .8);--border-card: rgba(123, 140, 255, .12);--text-secondary: #b0b5d4;--text-muted: #888db8;--text-meta: #9ba0c4;--shimmer-base: rgba(123, 140, 255, .06);--shimmer-peak: rgba(123, 140, 255, .12);--nav-pill-bg: rgba(26, 27, 46, .84);--proof-card-bg: rgba(26, 27, 46, .6);--proof-card-shadow: 0 16px 42px rgba(0, 0, 0, .3);--uses-card-bg: rgba(26, 27, 46, .6);--contact-card-bg: rgba(26, 27, 46, .6);--footer-bg: linear-gradient(145deg, rgba(26,27,46,.96), rgba(20,21,38,.94));--footer-shadow: 0 16px 42px rgba(0,0,0,.3);--skill-card-bg: rgba(26, 27, 46, .7);--skill-featured-bg: linear-gradient(180deg, rgba(30, 33, 58, .98), rgba(26, 27, 46, .96));--capability-cat-bg: rgba(26, 27, 46, .8);--capability-copy-bg: radial-gradient(circle at top right, rgba(76, 201, 240, .1), transparent 34%), linear-gradient(145deg, rgba(26, 27, 46, .92), rgba(20, 21, 38, .86));--capability-proof-bg: linear-gradient(180deg, rgba(26, 27, 46, .8), rgba(22, 23, 40, .7));--capability-representative-bg: rgba(123, 140, 255, .08);--capability-pill-bg: rgba(26, 27, 46, .9);--capability-pill-color: #c0c6e4;--capability-pill-border: 1px solid rgba(123, 140, 255, .12);--lens-chip-bg: rgba(26, 27, 46, .82);--lens-chip-color: #a5add6;--hero-metric-bg: rgba(26, 27, 46, .88);--hero-metric-shadow: 0 12px 30px rgba(0, 0, 0, .3);--hero-action-secondary-bg: rgba(26, 27, 46, .84);--modal-bg: #1a1b2e;--tag-bg: rgba(123, 140, 255, .1);--project-card-bg: #1a1b2e;--project-card-shadow: 0 16px 36px rgba(0, 0, 0, .3);--project-card-hover-shadow: 0 18px 44px rgba(0, 0, 0, .4);--project-icon-bg: radial-gradient(circle at top left, rgba(76, 201, 240, .12), transparent 38%), radial-gradient(circle at bottom right, rgba(123, 140, 255, .1), transparent 35%), rgba(20, 21, 38, .85);--contact-icon-gradient: linear-gradient(135deg, var(--primary-color), var(--secondary-color));--nav-cta-shadow: 0 14px 28px rgba(0, 0, 0, .4);--nav-shell-bg: rgba(26, 27, 46, .8);--nav-shell-shadow: 0 18px 40px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .05);--mobile-panel-bg: rgba(26, 27, 46, .96);--mobile-close-bg: rgba(0, 0, 0, .4);--mobile-link-active-bg: rgba(123, 140, 255, .12);--nav-link-active-bg: var(--nav-pill-bg)}html{scroll-behavior:smooth;scroll-padding-top:7rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-color);background:radial-gradient(circle at top left,rgba(0,159,253,.12),transparent 30%),radial-gradient(circle at top right,rgba(42,42,114,.1),transparent 32%),linear-gradient(180deg,var(--bg-page-start) 0%,var(--bg-page-mid) 48%,var(--bg-page-end) 100%);margin:0;transition:background .4s ease,color .4s ease}.app{max-width:1200px;margin:0 auto;padding:6.75rem 2rem 2rem}h1,h2,h3{margin:0;padding:0}.projects-section,.skills-section{padding:4rem 0}.projects-section h2,.skills-section h2{text-align:center;margin-bottom:2rem;font-size:2rem;color:var(--primary-color)}.section-heading{max-width:780px;margin:0 auto 2.5rem;text-align:center}.section-eyebrow,.section-kicker{letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;font-weight:700;color:var(--secondary-color)}.section-heading h2{margin-top:.8rem}.section-blurb{color:var(--text-secondary);max-width:640px;line-height:1.7}.portfolio-section-block{margin-bottom:3rem;scroll-margin-top:7rem}.portfolio-section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.25rem}.projects-section,.skills-section,.github-stats.card{scroll-margin-top:7rem}.top-nav{position:fixed;top:0;left:50%;transform:translate(-50%);width:min(1200px,calc(100% - 2rem));z-index:120;padding-top:1rem}.top-nav-shell{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem .85rem 1.2rem;border:1px solid var(--border-card);border-radius:26px;background:var(--nav-shell-bg);box-shadow:var(--nav-shell-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.top-nav-brand{display:inline-flex;flex-direction:column;gap:.2rem;color:var(--primary-color);text-decoration:none;min-width:fit-content}.top-nav-brand-name{font-size:.86rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.top-nav-brand-meta{font-size:.72rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.top-nav-primary,.top-nav-utilities,.top-nav-actions{display:flex;align-items:center}.top-nav-primary{gap:.45rem;padding:.3rem;border-radius:999px;background:var(--nav-pill-bg);border:1px solid var(--border-card)}.top-nav-link,.top-nav-utility-link,.top-nav-mobile-link{text-decoration:none;transition:var(--transition)}.top-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:0 1rem;border-radius:999px;color:var(--text-meta);font-size:.95rem;font-weight:700}.top-nav-link:hover,.top-nav-link:focus-visible,.top-nav-utility-link:hover,.top-nav-utility-link:focus-visible,.top-nav-cta:hover,.top-nav-cta:focus-visible,.top-nav-menu-button:hover,.top-nav-menu-button:focus-visible,.top-nav-mobile-link:hover,.top-nav-mobile-link:focus-visible{outline:none;transform:translateY(-1px)}.top-nav-link.active{color:var(--primary-color);background:var(--nav-link-active-bg);box-shadow:0 8px 20px #2a2a7217}[data-theme=dark] .top-nav-link.active{box-shadow:0 8px 20px #0000004d}.top-nav-actions{gap:.75rem}.top-nav-utilities{gap:.25rem}.top-nav-utility-link{padding:.6rem .8rem;border-radius:999px;color:var(--text-meta);font-size:.92rem;font-weight:600}.top-nav-cta,.top-nav-menu-button{min-height:2.8rem;border-radius:999px}.top-nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:0 1rem;color:#fff;background:var(--primary-color);box-shadow:0 14px 28px #2a2a7233;text-decoration:none;font-weight:700}.top-nav-menu-button{display:inline-flex;width:2.8rem;justify-content:center;align-items:center;border:1px solid var(--border-card);background:var(--bg-card);color:var(--primary-color);box-shadow:0 10px 24px #2a2a721a;cursor:pointer}.theme-toggle{display:inline-flex;width:2.6rem;height:2.6rem;justify-content:center;align-items:center;border:1px solid var(--border-card);border-radius:999px;background:var(--nav-pill-bg);color:var(--secondary-color);cursor:pointer;font-size:1rem;transition:var(--transition);flex-shrink:0}.theme-toggle:hover,.theme-toggle:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 8px 20px #2a2a721a}.top-nav-mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--mobile-close-bg);border:0}.top-nav-mobile-panel{position:absolute;top:calc(100% + .7rem);right:0;z-index:1;width:min(21rem,calc(100vw - 2rem));padding:1rem;border-radius:24px;border:1px solid var(--border-card);background:var(--mobile-panel-bg);box-shadow:0 20px 48px #2a2a7224;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.top-nav-mobile-group+.top-nav-mobile-group{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(42,42,114,.08)}.top-nav-mobile-label{margin-bottom:.55rem;color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.top-nav-mobile-link{display:flex;align-items:center;width:100%;min-height:2.8rem;padding:.7rem .9rem;border-radius:16px;color:var(--primary-color);font-weight:650}.top-nav-mobile-link.active{background:var(--mobile-link-active-bg)}.hero{min-height:62vh;display:flex;align-items:center;justify-content:center;position:relative;text-align:center;padding:4.5rem 0 3rem;color:#fff}.hero-content{max-width:920px;display:flex;flex-direction:column;gap:1.25rem;position:relative;z-index:1}.hero-eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:.85rem;font-weight:700;color:var(--secondary-color)}.description-container{min-height:auto;margin-top:.5rem;display:flex;flex-direction:column;gap:.9rem}.hero-content h1{font-size:clamp(3rem,6vw,4.5rem);line-height:1.05;color:var(--primary-color)}.tagline{font-size:1.3rem;color:var(--secondary-color);max-width:760px;margin:0 auto}.description{max-width:760px;margin:0 auto;font-size:1.08rem;color:var(--text-color)}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.hero-actions{display:flex;justify-content:center;gap:.9rem;flex-wrap:wrap}.hero-action{display:inline-flex;align-items:center;justify-content:center;min-width:160px;padding:.9rem 1.15rem;border-radius:999px;text-decoration:none;font-weight:700;transition:var(--transition)}.hero-action-primary{background:var(--primary-color);color:#fff;box-shadow:0 12px 28px #2a2a722e}.hero-action-secondary{background:var(--hero-action-secondary-bg);color:var(--primary-color);border:1px solid var(--border-card)}.hero-action:hover{transform:translateY(-2px)}.hero-metric{background:var(--hero-metric-bg);border:1px solid var(--border-card);border-radius:18px;box-shadow:var(--hero-metric-shadow);padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.45rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-metric-value{font-size:1.9rem;font-weight:800;color:var(--primary-color)}.hero-metric-label{font-size:.95rem;color:var(--text-meta)}@keyframes heroSceneFloat{0%,to{transform:translateZ(0) rotate(0) scale(1)}35%{transform:translate3d(calc(var(--token-drift-x) * .65),calc(var(--token-drift-y) * .65),0) rotate(2deg) scale(1.02)}70%{transform:translate3d(var(--token-drift-x),var(--token-drift-y),0) rotate(4deg) scale(1.04)}}@keyframes heroSceneTraverse{0%{opacity:.14;transform:translate3d(calc(var(--token-travel-x) * -.36),calc(var(--token-travel-y) * -.36),0) scale(.86)}10%{opacity:.62}30%{opacity:.98;transform:translate3d(calc(var(--token-travel-x) * .12),calc(var(--token-travel-y) * .12),0) scale(1.02)}68%{opacity:.94;transform:translate3d(calc(var(--token-travel-x) * .72),calc(var(--token-travel-y) * .72),0) scale(var(--token-travel-scale))}to{opacity:.18;transform:translate3d(var(--token-travel-x),var(--token-travel-y),0) scale(calc(var(--token-travel-scale) + .12))}}@keyframes heroScenePlaneDrift{0%,to{transform:translateZ(0)}40%{transform:translate3d(12px,-10px,0)}70%{transform:translate3d(-10px,12px,0)}}.github-stats.card{background:var(--footer-bg);border-radius:22px;padding:1.5rem;margin:2rem auto;box-shadow:var(--footer-shadow);border:1px solid var(--border-card)}.proof-header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-end;margin-bottom:1.4rem}.proof-header h2{text-align:left;margin-top:.7rem;margin-bottom:0}.proof-link{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1rem;border-radius:999px;background:var(--primary-color);color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}.proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.proof-card{background:var(--proof-card-bg);border-radius:18px;padding:1rem;border:1px solid var(--border-card);box-shadow:inset 0 1px #fff6}.proof-value{font-size:2rem;font-weight:800;color:var(--primary-color)}.proof-label{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--secondary-color);font-weight:700;margin-top:.15rem}.proof-description{margin-top:.7rem;color:var(--text-secondary);line-height:1.6}.github-mobile-row{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .75rem;border-radius:10px;background:var(--proof-card-bg);box-shadow:inset 0 0 0 1px var(--border-card)}.github-mobile-label{font-weight:700;color:var(--text-meta);font-size:.95rem}.github-mobile-value{font-weight:800;color:var(--secondary-color);font-size:1.1rem;text-align:right;min-width:70px}.cursor{display:inline-block;width:3px;height:1em;background-color:currentColor;margin-left:2px;vertical-align:text-bottom;opacity:0}.cursor.visible{opacity:1}.project-grid,.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem;padding:0}.project-card,.skill-item{background:var(--project-card-bg);border-radius:18px;overflow:hidden;box-shadow:var(--project-card-shadow);transition:var(--transition);border:1px solid var(--border-card)}.project-card{cursor:pointer}.project-card:hover,.project-card:focus-within,.skill-item:hover{transform:translateY(-6px);box-shadow:var(--project-card-hover-shadow)}.project-card-button{display:block;width:100%;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.project-card-button:focus{outline:none}.project-card-button:focus-visible{outline:3px solid rgba(0,159,253,.45);outline-offset:-3px}.project-image{height:200px;overflow:hidden}.project-image img,.project-card img{width:100%;height:100%;object-fit:cover}.project-info{padding:1.5rem}.project-meta-row{min-height:1.5rem;margin-bottom:.35rem}.project-info h3,.project-card h3{margin-bottom:.65rem;padding:0;font-size:1.35rem;line-height:1.2}.project-card p{padding:0}.project-card .project-impact{margin-top:.9rem}.project-status{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;background:var(--tag-bg);color:var(--primary-color);font-size:.75rem;font-weight:700}.project-impact{font-size:.95rem;line-height:1.6;color:var(--text-secondary);font-weight:600}.project-tags,.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tag{background:var(--tag-bg);padding:.25rem .75rem;border-radius:50px;font-size:.8rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}@keyframes footerTransformBounce{0%{transform:translateY(30px);opacity:0}60%{transform:translateY(-7px)}80%{transform:translateY(3px)}to{transform:translateY(0);opacity:1}}.modal-content{background:var(--modal-bg);padding:2rem;border-radius:18px;max-width:720px;width:90%;max-height:80vh;overflow-y:auto;position:relative;color:var(--text-color)}.project-modal-header{display:flex;flex-direction:column;gap:.8rem;margin:0 3rem 1rem 0}.project-role{color:var(--text-secondary);line-height:1.6}.close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer}.close-button:focus-visible{outline:3px solid rgba(0,159,253,.35);outline-offset:2px;border-radius:6px}.project-link{display:block;width:100%;margin-top:1rem;background:var(--primary-color);color:#fff;padding:.75rem 1rem;border-radius:4px;text-decoration:none;text-align:center;transition:var(--transition)}.project-link:hover{background:var(--secondary-color)}.skills-section{display:grid;gap:1.5rem}.capabilities-summary{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1.4rem;align-items:stretch}.capabilities-summary-copy,.capabilities-summary-panel,.capabilities-category{border:1px solid var(--border-card);border-radius:30px;background:var(--capability-cat-bg);box-shadow:0 24px 60px #2a2a721a,inset 0 1px #ffffffb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.capabilities-summary-copy{padding:2rem 2.1rem;background:var(--capability-copy-bg)}.capabilities-summary-copy h2{text-align:left;margin:.8rem 0 1rem;font-size:clamp(2rem,3.2vw,3rem);line-height:1.08}.capabilities-lead{max-width:40rem;color:var(--text-secondary);font-size:1.02rem;line-height:1.75}.capabilities-best-fit{margin-top:1.35rem;padding:1rem 1.1rem;border-radius:22px;background:var(--capability-representative-bg);color:var(--text-meta);line-height:1.7}.capabilities-best-fit span{color:var(--primary-color);font-weight:800}.capabilities-summary-panel{display:grid;gap:1rem;padding:1.6rem}.capabilities-lens-row{display:flex;flex-wrap:wrap;gap:.65rem}.capabilities-lens-chip{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-card);border-radius:999px;padding:.75rem 1rem;background:var(--lens-chip-bg);color:var(--lens-chip-color);font-size:.92rem;font-weight:700;cursor:pointer;transition:var(--transition)}.capabilities-lens-chip:hover,.capabilities-lens-chip:focus-visible,.capabilities-expand-all:hover,.capabilities-expand-all:focus-visible,.capabilities-summary-cta:hover,.capabilities-summary-cta:focus-visible,.capabilities-category-toggle:hover,.capabilities-category-toggle:focus-visible{transform:translateY(-1px);outline:none}.capabilities-lens-chip.is-active{background:var(--primary-color);color:#fff;border-color:transparent;box-shadow:0 14px 28px #2a2a722e}.capabilities-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.capabilities-proof-card{display:grid;gap:.35rem;min-height:7rem;padding:1rem;border-radius:22px;background:var(--capability-proof-bg);border:1px solid var(--border-card)}.capabilities-proof-value{color:var(--primary-color);font-size:1.65rem;font-weight:900}.capabilities-proof-label{color:var(--text-muted);font-size:.92rem;line-height:1.5}.capabilities-representative-block{display:grid;gap:.9rem;padding:1.1rem 1.15rem;border-radius:24px;background:var(--capability-representative-bg)}.capabilities-representative-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.capabilities-summary-cta{display:inline-flex;align-items:center;gap:.55rem;color:var(--primary-color);font-weight:800;text-decoration:none}.capabilities-representative-skills,.capabilities-category-preview{display:flex;flex-wrap:wrap;gap:.55rem}.capabilities-representative-pill,.capabilities-category-preview-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.45rem .8rem;font-size:.84rem;font-weight:700;background:var(--capability-pill-bg);color:var(--capability-pill-color);border:var(--capability-pill-border)}.capabilities-atlas-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:0 .35rem}.capabilities-atlas-copy{max-width:48rem;color:var(--text-muted);line-height:1.7;margin-top:.4rem}.capabilities-expand-all{flex-shrink:0;border:1px solid var(--border-card);border-radius:999px;padding:.9rem 1.15rem;background:var(--bg-card);color:var(--primary-color);font-weight:800;cursor:pointer;transition:var(--transition)}.capabilities-atlas{display:grid;gap:.95rem}.capabilities-category{overflow:hidden;transition:var(--transition)}.capabilities-category.is-best-match{border-color:#009ffd2e}.capabilities-category.is-open{box-shadow:0 30px 70px #2a2a721f,inset 0 1px #ffffffc7}.capabilities-category-toggle{width:100%;display:flex;justify-content:space-between;gap:1rem;padding:1.2rem 1.3rem;text-align:left;border:0;background:transparent;cursor:pointer;transition:var(--transition)}.capabilities-category-content{flex:1;min-width:0}.capabilities-category-heading{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.capabilities-category-heading h3{color:var(--primary-color);font-size:1.1rem}.capabilities-category-badge{border-radius:999px;padding:.35rem .7rem;background:var(--shimmer-peak);color:var(--secondary-color);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.capabilities-category-description{margin-top:.45rem;color:var(--text-muted);line-height:1.6}.capabilities-category-meta{display:flex;align-items:center;gap:.9rem}.capabilities-category-count{flex-shrink:0;color:var(--text-muted);font-size:.84rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.capabilities-category-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.7rem;height:2.7rem;border-radius:50%;background:var(--tag-bg);color:var(--primary-color)}.capabilities-category-panel{padding:0 1.3rem 1.3rem}.capabilities-skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.75rem}.capabilities-skill-card{display:flex;justify-content:space-between;gap:.8rem;min-height:5.25rem;padding:.95rem 1rem;border-radius:20px;background:var(--skill-card-bg);border:1px solid var(--border-card)}.capabilities-skill-card.is-featured{background:var(--skill-featured-bg);border-color:#009ffd1f}.capabilities-skill-copy{min-width:0;display:grid;gap:.55rem}.capabilities-skill-name{color:var(--primary-color);font-weight:800;line-height:1.35}.capabilities-skill-icon-wrapper{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:16px;background:var(--tag-bg)}.capabilities-skill-icon{font-size:1.2rem;color:var(--primary-color)}.skill-level{display:flex;gap:4px}.level-dot{width:9px;height:9px;border-radius:50%;background:#2a2a721f;display:inline-block}.level-dot.filled{background:var(--accent-color)}.project-icon,.modal-icon{display:flex;align-items:center;justify-content:center;color:var(--primary-color)}.project-icon{height:200px;background:var(--project-icon-bg)}.modal-icon{margin:1rem 0}.modal-image,.embedded-image{width:100%;margin:1rem 0}.modal-image img,.embedded-image{width:100%;height:auto;border-radius:4px}.project-description{margin:1.5rem 0}.project-highlights{background:var(--capability-representative-bg);border-radius:16px;padding:1rem 1.1rem;margin-bottom:1.35rem}.project-highlights h3{margin-bottom:.65rem;color:var(--primary-color)}.project-highlights ul{margin-left:1.25rem;display:grid;gap:.55rem}.project-description h1{font-size:1.8rem;margin-bottom:1rem;color:var(--primary-color)}.project-description h2{font-size:1.4rem;margin:1.5rem 0 1rem;color:var(--secondary-color)}.project-description p{margin-bottom:1rem}.project-description ul,.project-description ol{margin-left:1.5rem;margin-bottom:1rem}.project-description strong{font-weight:600}.project-description code{background:var(--light-bg);padding:.2rem .4rem;border-radius:3px;font-family:monospace}.project-description pre{background:var(--light-bg);padding:1rem;border-radius:4px;overflow-x:auto;margin-bottom:1rem}.background-animation{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden}.hero-scene{position:absolute;top:0;right:0;bottom:0;left:0;animation:heroScenePlaneDrift 18s ease-in-out infinite;transform:perspective(1400px) rotateX(var(--scene-rotate-x)) rotateY(var(--scene-rotate-y)) translate3d(var(--scene-shift-x),var(--scene-shift-y),0);transform-style:preserve-3d;will-change:transform}.hero-scene:before{content:"";position:absolute;top:10%;right:22%;bottom:18%;left:22%;border-radius:50%;background:radial-gradient(circle,#ffffffdb,#fff0 72%);filter:blur(20px)}.hero-scene-token{position:absolute;left:var(--token-x);top:var(--token-y);transform:translate3d(calc(-50% + var(--token-parallax-x)),calc(-50% + var(--token-parallax-y)),0) scale(calc(.9 + (var(--token-depth) * .3)));transform-style:preserve-3d;will-change:transform;backface-visibility:hidden}.hero-scene-token-orbit{animation:heroSceneFloat var(--token-duration) ease-in-out infinite;animation-delay:var(--token-delay)}.hero-scene-token-traveling{animation:heroSceneTraverse var(--token-travel-duration) linear infinite;animation-delay:var(--token-travel-delay)}.hero-scene-token-badge{min-width:var(--token-size);padding:.7rem .95rem;display:inline-flex;align-items:center;gap:.55rem;border-radius:999px;border:1px solid var(--border-card);background:var(--bg-glass);box-shadow:0 18px 40px #2022541f,inset 0 1px #ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--primary-color);opacity:.9}.hero-scene-token-icon{flex-shrink:0;font-size:clamp(1.1rem,1.8vw,1.4rem)}.hero-scene-token-text{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;white-space:nowrap}.background-animation[data-motion-mode=reduced] .hero-scene,.background-animation[data-motion-mode=reduced] .hero-scene-token,.background-animation[data-motion-mode=reduced] .hero-scene-token-traveling,.background-animation[data-motion-mode=reduced] .hero-scene-token-orbit{transition:none;animation:none}@media (max-width: 640px){.github-stats.card{padding:1rem}.proof-header{flex-direction:column;align-items:flex-start}.proof-grid{grid-template-columns:1fr}}@media (max-width: 768px){html{scroll-padding-top:6rem}.app{padding-top:5.8rem}.top-nav{width:calc(100% - 1.2rem);padding-top:.6rem}.top-nav-shell{gap:.8rem;padding:.75rem .85rem .75rem 1rem}.top-nav-brand-meta,.top-nav-primary,.top-nav-utilities{display:none}.top-nav-actions{margin-left:auto;gap:.55rem}.top-nav-cta{min-width:0;padding:0 .9rem}.top-nav-menu-button{display:inline-flex}.hero{min-height:auto;padding:5rem 0 2rem}.hero-scene{top:0;right:0;bottom:0;left:0}.hero-scene-token-badge{padding:.65rem .8rem}.hero-scene-token-text{font-size:.64rem}.hero-content h1{font-size:2.55rem}.tagline{font-size:1.1rem}.description{font-size:1rem}.hero-metrics{grid-template-columns:1fr}.hero-actions{flex-direction:column}.project-grid,.projects{grid-template-columns:1fr}.portfolio-section-header{align-items:flex-start}.capabilities-summary{grid-template-columns:1fr}.capabilities-summary-copy,.capabilities-summary-panel{padding:1.45rem}.capabilities-summary-copy h2{font-size:2.2rem}.capabilities-atlas-intro,.capabilities-category-toggle,.capabilities-category-meta,.capabilities-representative-header{flex-direction:column;align-items:flex-start}.capabilities-category-meta,.capabilities-category-preview{width:100%}.capabilities-expand-all{width:100%;justify-content:center}.capabilities-skill-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}@media (max-width: 480px){.app{padding:5.3rem 1rem 1.5rem}.top-nav{width:calc(100% - .8rem)}.top-nav-shell{padding:.7rem .75rem .7rem .9rem}.top-nav-brand-name{font-size:.78rem}.top-nav-cta span{display:none}.top-nav-cta{width:2.8rem;padding:0}.hero{padding-top:4rem}.hero-scene{top:0;right:0;bottom:0;left:0}.hero-scene-token-badge{padding:.55rem .72rem;gap:.4rem}.hero-scene-token-text{display:none}.hero-content h1{font-size:2.15rem}.hero-eyebrow{font-size:.78rem}.hero-metric{padding:.9rem 1rem}.hero-metric-value,.section-heading h2,.projects-section h2,.skills-section h2{font-size:1.7rem}.capabilities-summary-copy,.capabilities-summary-panel,.capabilities-category-toggle,.capabilities-category-panel{padding-left:1rem;padding-right:1rem}.capabilities-summary-copy h2{font-size:1.95rem}.capabilities-proof-grid,.capabilities-skill-grid{grid-template-columns:1fr}.capabilities-proof-card,.capabilities-skill-card{min-height:0}.capabilities-lens-chip,.capabilities-representative-pill,.capabilities-category-preview-pill{width:100%;justify-content:center}.capabilities-summary-cta{width:100%;justify-content:space-between}.project-info{padding:1.2rem}}@media (prefers-reduced-motion: reduce){.hero-scene,.hero-scene-token,.hero-scene-token-orbit,.github-row-center,.github-row-right{transition:none!important;animation:none!important}}.contact-section.card{scroll-margin-top:7rem;background:var(--footer-bg);border-radius:22px;padding:2rem;margin:2rem auto;box-shadow:var(--footer-shadow);border:1px solid var(--border-card)}.contact-header{text-align:center;margin-bottom:2rem}.contact-header h2{margin-top:.8rem;text-align:center}.contact-lead{color:var(--text-secondary);max-width:640px;margin:.8rem auto 0;line-height:1.7}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:2rem}.contact-card{display:flex;align-items:center;gap:1rem;padding:1.2rem;background:var(--contact-card-bg);border-radius:18px;border:1px solid var(--border-card);text-decoration:none;color:var(--text-color);transition:var(--transition);box-shadow:inset 0 1px #fff6}.contact-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #14143c14;border-color:#2a2a7226}.contact-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;flex-shrink:0}.contact-card-body{display:flex;flex-direction:column;min-width:0}.contact-card-label{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary-color)}.contact-card-value{font-size:.9rem;color:var(--text-meta);word-break:break-all}.contact-cta{text-align:center;margin-bottom:1rem}.contact-resume-link{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.5rem;border-radius:999px;background:var(--primary-color);color:#fff;text-decoration:none;font-weight:700;transition:var(--transition)}.contact-resume-link:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2a2a7233}.contact-footnote{text-align:center;font-size:.8rem;color:var(--text-muted);margin-top:1.5rem}@media (max-width: 768px){.contact-grid{grid-template-columns:1fr}.contact-card-value{font-size:.85rem}}.project-card{position:relative}.project-card-cta{position:absolute;top:.8rem;right:.8rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border-card);color:var(--primary-color);text-decoration:none;transition:var(--transition);z-index:2}.project-card-cta:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.project-card-cta-icon{display:flex;align-items:center;justify-content:center}.uses-section.card{scroll-margin-top:7rem;background:var(--footer-bg);border-radius:22px;padding:2rem;margin:2rem auto;box-shadow:var(--footer-shadow);border:1px solid var(--border-card)}.uses-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.uses-card{background:var(--uses-card-bg);border-radius:18px;padding:1.2rem;border:1px solid var(--border-card);box-shadow:inset 0 1px #fff6}.uses-value{font-size:1.1rem;font-weight:700;color:var(--primary-color);margin:.4rem 0}.uses-detail{font-size:.85rem;color:var(--text-meta);line-height:1.5}@media (max-width: 768px){.uses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 480px){.uses-grid{grid-template-columns:1fr}}.now-section{scroll-margin-top:7rem;margin:2rem auto;padding:0 2rem}.now-inner{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:22px;padding:2rem;color:#fff;box-shadow:0 16px 42px #14143c1f}.now-label{display:flex;align-items:center;gap:.6rem;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.9;margin-bottom:.6rem}.now-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#90ff90;animation:pulse 2s ease-in-out infinite}.now-body{font-size:1rem;line-height:1.7;opacity:.95;max-width:720px;margin:0}.now-body strong{color:#fff;font-weight:700}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.reveal-up,.reveal-down,.reveal-left,.reveal-right{opacity:0;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}.reveal-up{transform:translateY(36px)}.reveal-down{transform:translateY(-36px)}.reveal-left{transform:translate(-28px)}.reveal-right{transform:translate(28px)}.reveal-up.is-visible,.reveal-down.is-visible,.reveal-left.is-visible,.reveal-right.is-visible{opacity:1;transform:translate(0)}@media (prefers-reduced-motion: reduce){.reveal-up,.reveal-down,.reveal-left,.reveal-right{opacity:1;transform:none;transition:none}}.site-footer{margin:3rem 0 0;scroll-margin-top:7rem}.footer-inner{background:var(--footer-bg);border-radius:22px;padding:2rem 2rem 1.4rem;box-shadow:var(--footer-shadow);border:1px solid var(--border-card)}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.4rem}.footer-brand{display:flex;flex-direction:column;gap:.25rem}.footer-brand-name{font-size:1rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-color)}.footer-brand-tagline{font-size:.8rem;color:var(--text-muted)}.footer-nav{display:flex;gap:.5rem;align-items:center}.footer-link{display:inline-flex;align-items:center;padding:.5rem .9rem;border-radius:999px;font-size:.88rem;font-weight:600;color:var(--text-meta);text-decoration:none;transition:var(--transition)}.footer-link:hover,.footer-link:focus-visible{color:var(--primary-color);background:var(--tag-bg);outline:none}.footer-divider{height:1px;background:var(--border-card);margin-bottom:1rem}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem}.footer-social{display:flex;gap:.6rem}.footer-social-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;color:var(--text-meta);background:var(--tag-bg);transition:var(--transition)}.footer-social-link:hover,.footer-social-link:focus-visible{color:var(--primary-color);background:var(--capability-representative-bg);transform:translateY(-1px);outline:none}.footer-copyright{font-size:.8rem;color:var(--text-muted);margin:0}.footer-back-to-top{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border-radius:999px;font-size:.82rem;font-weight:700;color:var(--text-meta);text-decoration:none;transition:var(--transition);background:var(--tag-bg)}.footer-back-to-top:hover,.footer-back-to-top:focus-visible{color:var(--primary-color);background:var(--capability-representative-bg);transform:translateY(-1px);outline:none}@media (max-width: 768px){.footer-top{flex-direction:column;gap:1rem}.footer-nav{gap:.25rem;flex-wrap:wrap}.footer-bottom{flex-direction:column;align-items:flex-start;gap:.8rem}}.career-timeline.card{scroll-margin-top:7rem;background:var(--footer-bg);border-radius:22px;padding:2rem;margin:2rem auto;box-shadow:var(--footer-shadow);border:1px solid var(--border-card)}.timeline-header{text-align:center;margin-bottom:2.5rem}.timeline-header h2{margin-top:.8rem}.timeline-track{display:flex;flex-direction:column;gap:0;max-width:780px;margin:0 auto}.timeline-entry{display:grid;grid-template-columns:48px 1fr;gap:1.25rem}.timeline-marker{display:flex;flex-direction:column;align-items:center;padding-top:.3rem}.timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--secondary-color);box-shadow:0 0 0 4px var(--border-card);flex-shrink:0}.timeline-entry.is-current .timeline-dot{background:var(--accent-color);box-shadow:0 0 0 4px var(--border-card),0 0 12px #ff7e5f4d;animation:timelinePulse 2.5s ease-in-out infinite}@keyframes timelinePulse{0%,to{box-shadow:0 0 0 4px var(--border-card),0 0 12px #ff7e5f33}50%{box-shadow:0 0 0 8px var(--border-card),0 0 20px #ff7e5f66}}.timeline-line{width:2px;flex:1;min-height:2rem;background:var(--border-card);margin:.35rem 0}.timeline-card{padding:0 0 2rem}.timeline-card-header{margin-bottom:.75rem}.timeline-period{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary-color);margin-bottom:.35rem}.timeline-role{font-size:1.2rem;color:var(--primary-color);margin:.15rem 0}.timeline-org{font-size:.9rem;color:var(--text-muted);font-weight:600}.timeline-description{color:var(--text-secondary);line-height:1.7;margin-bottom:.8rem}.timeline-highlights{list-style:none;padding:0;display:grid;gap:.5rem;margin-bottom:1rem}.timeline-highlights li{position:relative;padding-left:1.1rem;color:var(--text-meta);font-size:.92rem;line-height:1.55}.timeline-highlights li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--secondary-color);opacity:.6}.timeline-stack{display:flex;flex-wrap:wrap;gap:.45rem}.timeline-tag{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--tag-bg);color:var(--text-meta)}@media (max-width: 768px){.timeline-entry{grid-template-columns:36px 1fr;gap:.9rem}.timeline-card{padding-bottom:1.5rem}.timeline-role{font-size:1.05rem}}.proof-value-skeleton{width:4rem;height:2rem;border-radius:8px;background:linear-gradient(90deg,var(--shimmer-base) 25%,var(--shimmer-peak) 50%,var(--shimmer-base) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.proof-card.is-loading{opacity:.7}.proof-error{font-size:.85rem;color:var(--accent-color);margin-top:.5rem}@keyframes modalEnter{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalBackdropEnter{0%{opacity:0}to{opacity:1}}.modal-overlay{animation:modalBackdropEnter .2s ease-out}.modal-content{animation:modalEnter .3s cubic-bezier(.16,1,.3,1)}.modal-cta-bar{display:flex;gap:.6rem;margin-top:1rem}.modal-cta-bar .project-link{margin-top:0}.modal-cta-bar .project-link-secondary{display:block;background:var(--tag-bg);color:var(--primary-color);border:1px solid var(--border-card);padding:.75rem 1rem;border-radius:4px;text-decoration:none;text-align:center;transition:var(--transition)}.modal-cta-bar .project-link-secondary:hover{background:var(--capability-representative-bg)}
