@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--color-bg: #07080c;--color-bg-deep: #050609;--color-bg-alt: #0b0d13;--color-bg-elevated: #10131b;--color-surface: rgba(255, 255, 255, .03);--color-surface-2: rgba(255, 255, 255, .05);--color-surface-hover: rgba(255, 255, 255, .07);--color-text: #eceef4;--color-text-secondary: #9aa2b4;--color-text-muted: #646b7d;--color-accent: #7c8cff;--color-accent-hover: #98a4ff;--color-accent-2: #c084fc;--color-accent-light: rgba(124, 140, 255, .14);--accent-grad: linear-gradient(120deg, #6d8bff 0%, #8b7bff 45%, #c084fc 100%);--accent-grad-text: linear-gradient(120deg, #9db2ff 0%, #b9a3ff 50%, #e2b6ff 100%);--color-border: rgba(255, 255, 255, .09);--color-border-light: rgba(255, 255, 255, .06);--color-border-strong: rgba(255, 255, 255, .16);--color-success: #34d399;--color-error: #f87171;--color-white: #ffffff;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: clamp(2.5rem, 6vw, 4.5rem);--text-hero: clamp(3rem, 9vw, 7rem);--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 800;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 26px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 30px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .55);--shadow-xl: 0 32px 90px rgba(0, 0, 0, .6);--glow-accent: 0 0 0 1px rgba(124, 140, 255, .35), 0 12px 40px -8px rgba(124, 140, 255, .45);--inset-top: inset 0 1px 0 rgba(255, 255, 255, .08);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .26s cubic-bezier(.4, 0, .2, 1);--transition-slow: .42s cubic-bezier(.4, 0, .2, 1);--transition-spring: .52s cubic-bezier(.34, 1.4, .5, 1);--max-width: 1180px;--max-width-text: 680px;--nav-height: 68px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{position:relative;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:1.65;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-2;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 35%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 35%,transparent 100%);pointer-events:none}body:after{content:"";position:fixed;top:-25%;left:50%;transform:translate(-50%);width:1100px;height:800px;z-index:-2;background:radial-gradient(closest-side,rgba(124,140,255,.16),transparent 70%),radial-gradient(closest-side,rgba(192,132,252,.1),transparent 70%);background-position:30% 0,70% 20%;background-repeat:no-repeat;filter:blur(20px);pointer-events:none}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,textarea{font:inherit;color:inherit}ul{list-style:none}::selection{background:#7c8cff59;color:#fff}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding-inline:var(--space-6)}.section{padding-block:clamp(var(--space-16),9vw,var(--space-32))}.page-hero{padding-top:calc(var(--nav-height) + var(--space-20))}.page-enter{animation:pageEnter .55s cubic-bezier(.22,1,.36,1) both}@keyframes pageEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.reveal,.reveal-left,.reveal-right,.reveal-fade{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal{transform:translateY(28px)}.reveal-left{transform:translate(-36px)}.reveal-right{transform:translate(36px)}.reveal.visible,.reveal-left.visible,.reveal-right.visible,.reveal-fade.visible{opacity:1;transform:none}.section-header{margin-bottom:var(--space-12);max-width:720px}.section-label,.availability-badge,.nav-open-badge,.cert-issuer-badge,.tech-strip-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.18em;text-transform:uppercase}.section-label{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-accent);margin-bottom:var(--space-4)}.section-label:before{content:"";width:24px;height:1px;background:linear-gradient(90deg,var(--color-accent),transparent)}.section-title{font-size:var(--text-5xl);font-weight:var(--weight-bold);line-height:1.05;letter-spacing:-.03em;color:var(--color-text)}.section-subtitle{margin-top:var(--space-5);font-size:var(--text-lg);color:var(--color-text-secondary);max-width:var(--max-width-text);line-height:1.7}.section-cta-center{margin-top:var(--space-12);text-align:center}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.85rem 1.6rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.01em;cursor:pointer;border:1px solid transparent;transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base),border-color var(--transition-base)}.btn-primary{position:relative;color:#fff;background:var(--accent-grad);box-shadow:0 10px 30px -10px #7c8cff99,var(--inset-top)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px #7c8cffbf,var(--inset-top)}.btn-secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{transform:translateY(-2px);border-color:var(--color-border-strong);background:var(--color-surface-2)}.btn-sm{padding:.55rem 1.1rem;font-size:var(--text-xs)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--radius-full);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);transition:var(--transition-base)}.btn-icon:hover{color:#fff;border-color:var(--color-accent);box-shadow:var(--glow-accent);transform:translateY(-2px)}.btn-icon svg{width:20px;height:20px}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-accent);font-weight:var(--weight-medium);font-size:var(--text-sm);transition:var(--transition-fast)}.text-link:hover{color:var(--color-accent-hover);gap:var(--space-3)}.tag{display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.02em;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border-light)}.card,.card-glass{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--inset-top);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.card-featured:after,.card-glass:after,.card:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(124,140,255,.35),transparent 40%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--transition-base);pointer-events:none}.card:hover,.card-glass:hover{transform:translateY(-4px);border-color:var(--color-border-strong);background:var(--color-surface-2);box-shadow:var(--shadow-lg),var(--inset-top)}.card:hover:after,.card-glass:hover:after{opacity:1}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--accent-grad);z-index:1100;box-shadow:0 0 12px #7c8cffb3;transition:width 80ms linear}.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-height);display:flex;align-items:center;transition:background var(--transition-base),border-color var(--transition-base),backdrop-filter var(--transition-base);border-bottom:1px solid transparent}.site-nav.scrolled{background:#07080cb8;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom-color:var(--color-border)}.nav-inner{width:100%;max-width:var(--max-width);margin:0 auto;padding-inline:var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.nav-logo{display:inline-flex;align-items:center}.nav-logo-img{height:38px;width:auto;border-radius:var(--radius-sm)}.nav-logo-monogram{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);font-family:var(--font-mono);font-weight:var(--weight-bold);letter-spacing:.04em;color:#fff;background:var(--accent-grad)}.nav-links{display:flex;align-items:center;gap:var(--space-2)}.nav-link{position:relative;padding:.5rem .9rem;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);border-radius:var(--radius-full);transition:var(--transition-fast)}.nav-link:hover{color:var(--color-text);background:var(--color-surface)}.nav-link.active{color:var(--color-text)}.nav-link.active:after{content:"";position:absolute;left:50%;bottom:2px;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 8px var(--color-accent)}.nav-actions{display:flex;align-items:center;gap:var(--space-4)}.nav-open-badge{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary)}.nav-open-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success);box-shadow:0 0 #34d39999;animation:pulse 2.4s infinite}@keyframes pulse{0%{box-shadow:0 0 #34d39980}70%{box-shadow:0 0 0 8px #34d39900}to{box-shadow:0 0 #34d39900}}.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.menu-toggle span{display:block;height:2px;width:100%;background:var(--color-text);border-radius:2px;transition:var(--transition-base)}.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-overlay{position:fixed;inset:0;background:#03040799;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:var(--transition-base);z-index:998}.nav-overlay.open{opacity:1;visibility:visible}.nav-mobile-panel{position:fixed;top:0;right:0;height:100dvh;width:min(82vw,340px);z-index:999;display:flex;flex-direction:column;gap:var(--space-2);padding:calc(var(--nav-height) + var(--space-6)) var(--space-6) var(--space-8);background:var(--color-bg-alt);border-left:1px solid var(--color-border);transform:translate(100%);transition:transform var(--transition-slow)}.nav-mobile-panel.open{transform:translate(0)}.nav-mobile-panel .nav-link{font-size:var(--text-lg);padding:var(--space-3) var(--space-4)}.home-hero{position:relative;padding-top:calc(var(--nav-height) + clamp(var(--space-16),10vw,var(--space-32)));padding-bottom:clamp(var(--space-16),8vw,var(--space-24));overflow:hidden}.home-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(var(--space-8),5vw,var(--space-20));align-items:center}.availability-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:.4rem .85rem;margin-bottom:var(--space-6);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full)}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success);animation:pulse 2.4s infinite}.hero-title{display:flex;flex-direction:column;font-weight:var(--weight-black);line-height:.95;letter-spacing:-.04em}.hero-title-light{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:var(--weight-medium);letter-spacing:-.01em;color:var(--color-text-secondary)}.hero-title-accent{font-size:var(--text-hero);background:var(--accent-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.05em}.hero-tagline{margin-top:var(--space-6);min-height:2.2em;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:var(--weight-semibold);color:var(--color-text)}.hero-tagline-text{display:inline-block;position:relative;padding-left:var(--space-5);animation:taglineIn .5s ease}.hero-tagline-text:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:2px;background:var(--accent-grad)}@keyframes taglineIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero-bio{margin-top:var(--space-6);max-width:38rem;font-size:var(--text-lg);color:var(--color-text-secondary);line-height:1.75}.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-8)}.hero-visual{position:relative;display:flex;justify-content:center}.hero-blob{position:absolute;inset:-20% -10% auto auto;width:320px;height:320px;background:var(--accent-grad);filter:blur(90px);opacity:.35;border-radius:50%;z-index:0}.hero-stats{position:relative;z-index:1;display:grid;gap:var(--space-4);width:100%}.stat-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--inset-top);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition-base)}.stat-card:nth-child(2n){transform:translate(var(--space-6))}.stat-card:hover{border-color:var(--color-border-strong);transform:translateY(-3px);box-shadow:var(--shadow-md),var(--inset-top)}.stat-card:nth-child(2n):hover{transform:translate(var(--space-6),-3px)}.stat-value{font-size:var(--text-4xl);font-weight:var(--weight-bold);letter-spacing:-.03em;background:var(--accent-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.stat-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.tech-strip{padding-block:var(--space-12);border-block:1px solid var(--color-border-light);background:var(--color-bg-deep)}.tech-strip-label{text-align:center;color:var(--color-text-muted);margin-bottom:var(--space-6)}.tech-strip-outer{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.tech-strip-track{display:flex;gap:var(--space-4);width:max-content;animation:marquee 32s linear infinite}.tech-strip-pill{flex:none;padding:.55rem 1.2rem;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border-light)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-6)}.project-card{position:relative;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--inset-top);transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.project-card:hover{transform:translateY(-6px);border-color:var(--color-border-strong);box-shadow:var(--shadow-lg),var(--inset-top)}.project-card-image-wrap{position:relative;aspect-ratio:16 / 10;overflow:hidden}.project-card-image{width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.82);transition:transform var(--transition-slow),filter var(--transition-slow)}.project-card:hover .project-card-image{transform:scale(1.06);filter:saturate(1.05) brightness(.95)}.project-card-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,8,12,.85),transparent 55%);pointer-events:none}.project-card-image-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:var(--space-3);opacity:0;background:#0506098c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity var(--transition-base)}.project-card:hover .project-card-image-overlay{opacity:1}.project-card-overlay-btn{padding:.55rem 1.1rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:#fff;background:var(--color-surface-2);border:1px solid var(--color-border-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:var(--transition-fast)}.project-card-overlay-btn:hover{background:var(--accent-grad);border-color:transparent}.project-featured-badge{position:absolute;top:var(--space-4);left:var(--space-4);z-index:3;padding:.3rem .7rem;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#7c8cff40;border:1px solid rgba(124,140,255,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.project-card-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6)}.project-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.project-card-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;color:var(--color-text)}.project-card-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}.project-card-desc-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.project-card-links{display:flex;align-items:center;gap:var(--space-4);margin-top:auto;padding-top:var(--space-2)}.project-card-arrow{margin-left:auto;color:var(--color-accent);transition:var(--transition-fast)}.project-card:hover .project-card-arrow{transform:translate(4px)}.project-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--color-border-light);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.project-card-meta .text-link{font-family:var(--font-sans)}.project-card-full{height:100%}.stats-row{display:flex;flex-wrap:wrap;gap:var(--space-10);margin-top:var(--space-10)}.stats-row-item{display:flex;flex-direction:column;gap:var(--space-1)}.stats-row-value{font-size:var(--text-4xl);font-weight:var(--weight-bold);letter-spacing:-.03em;background:var(--accent-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.stats-row-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.projects-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-10)}.filter-pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-pill{padding:.5rem 1.1rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;transition:var(--transition-fast)}.filter-pill:hover{color:var(--color-text);border-color:var(--color-border-strong)}.filter-pill.active{color:#fff;background:var(--accent-grad);border-color:transparent;box-shadow:0 8px 24px -10px #7c8cffb3}.search-wrap{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--space-4);color:var(--color-text-muted);pointer-events:none}.search-input{width:min(280px,60vw);padding:.65rem 1rem .65rem 2.6rem;border-radius:var(--radius-full);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);transition:var(--transition-fast)}.search-input::placeholder{color:var(--color-text-muted)}.search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.empty-state{text-align:center;color:var(--color-text-muted);padding-block:var(--space-20)}.highlights-strip{padding-block:clamp(var(--space-16),8vw,var(--space-24));background:var(--color-bg-deep);border-block:1px solid var(--color-border-light)}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-8)}.highlight-item{text-align:center}.highlight-item-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--space-5);font-size:1.7rem;border-radius:var(--radius-lg);background:var(--color-accent-light);border:1px solid var(--color-border)}.highlight-item-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-bottom:var(--space-3)}.highlight-item-desc{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.7}.about-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(var(--space-10),6vw,var(--space-24));align-items:center}.about-photo-wrap{position:relative;display:flex;justify-content:center}.about-photo-frame{position:relative;border-radius:var(--radius-xl);padding:6px;background:linear-gradient(140deg,var(--color-border-strong),transparent);box-shadow:var(--shadow-xl)}.about-photo{width:100%;max-width:360px;border-radius:calc(var(--radius-xl) - 6px);object-fit:cover;filter:saturate(.95)}.about-photo-badge{position:absolute;bottom:var(--space-5);left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--space-2);padding:.5rem 1rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-text);background:#07080ccc;border:1px solid var(--color-border);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap}.drives-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-6)}.drive-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;font-size:1.5rem;border-radius:var(--radius-md);background:var(--color-accent-light);border:1px solid var(--color-border);margin-bottom:var(--space-5)}.drive-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-bottom:var(--space-3)}.drive-desc{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.7}.timeline{position:relative;max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-8)}.timeline:before{content:"";position:absolute;left:110px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--color-border-strong),transparent)}.timeline-item{position:relative;display:grid;grid-template-columns:90px 32px 1fr;align-items:start;gap:var(--space-4)}.timeline-period{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-accent);text-align:right;padding-top:2px}.timeline-track{display:flex;justify-content:center;padding-top:4px}.timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--accent-grad);box-shadow:0 0 0 4px #7c8cff26,0 0 14px #7c8cff99}.timeline-content-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.timeline-content-desc{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.7}.skills-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-6)}.skill-category-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--inset-top);transition:var(--transition-base)}.skill-category-card:hover{border-color:var(--color-border-strong);transform:translateY(-3px)}.skill-category-header{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.skill-row{margin-bottom:var(--space-5)}.skill-row:last-child{margin-bottom:0}.skill-row-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2);font-size:var(--text-sm)}.skill-level-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-text-muted)}.skill-bar-track{height:6px;border-radius:var(--radius-full);background:var(--color-surface-2);overflow:hidden}.skill-bar-fill{height:100%;width:0;border-radius:var(--radius-full);background:var(--accent-grad);box-shadow:0 0 10px #7c8cff80;transition:width 1.1s cubic-bezier(.22,1,.36,1)}.skill-bar-fill.animated{width:var(--skill-level)}.learning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-6)}.learning-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:var(--transition-base)}.learning-card:hover{border-color:var(--color-border-strong);transform:translateY(-3px)}.learning-ring svg{transform:rotate(-90deg)}.learning-ring-bg{fill:none;stroke:var(--color-surface-2);stroke-width:7}.learning-ring-progress{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.22,1,.36,1)}.learning-ring-text{fill:var(--color-text);font-size:1rem;font-weight:var(--weight-bold);font-family:var(--font-mono)}.learning-name{text-align:center;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.certs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.cert-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:var(--transition-base)}.cert-card-link:hover{border-color:var(--color-accent);transform:translateY(-3px);box-shadow:var(--glow-accent)}.cert-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.cert-issuer-badge{color:var(--color-accent)}.cert-year-badge{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.cert-name{font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:1.4}.cert-link-label{margin-top:auto;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-accent)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-6);margin-top:var(--space-12)}.metric-box{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--inset-top)}.metric-value{display:block;font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:-.03em;background:var(--accent-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.metric-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.experience-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);margin-bottom:var(--space-6);box-shadow:var(--inset-top);transition:var(--transition-base)}.experience-card:hover{border-color:var(--color-border-strong)}.experience-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.experience-role{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.02em}.experience-company{color:var(--color-accent);font-weight:var(--weight-medium);margin-top:2px}.experience-period{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.experience-desc{color:var(--color-text-secondary);line-height:1.7}.experience-group-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-light)}.experience-company-name{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.02em}.experience-roles{position:relative;margin-top:var(--space-6);padding-left:30px;display:flex;flex-direction:column;gap:var(--space-8)}.experience-roles:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:linear-gradient(to bottom,var(--color-border-strong),var(--color-border-light))}.experience-role-item{position:relative}.experience-role-dot{position:absolute;left:-30px;top:5px;width:13px;height:13px;border-radius:50%;background:var(--accent-grad);box-shadow:0 0 0 4px var(--color-bg-deep),0 0 12px #7c8cff99}.experience-role-top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.experience-role-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}.experience-achievements-static{overflow:visible;padding-top:var(--space-3)}.experience-expandable{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition-slow)}.experience-expandable.expanded{grid-template-rows:1fr}.experience-achievements{overflow:hidden}.experience-expandable.expanded .experience-achievements{padding-top:var(--space-5)}.experience-achievements li{display:flex;gap:var(--space-3);margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.experience-achievements li:before{content:"";flex:none;width:6px;height:6px;margin-top:9px;border-radius:2px;background:var(--accent-grad)}.experience-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.expand-toggle{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-5);padding:0;background:none;border:none;color:var(--color-accent);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.expand-chevron{transition:transform var(--transition-base)}.expand-chevron.rotated{transform:rotate(180deg)}.leadership-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-6)}.leadership-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;font-size:1.4rem;border-radius:var(--radius-md);background:var(--color-accent-light);border:1px solid var(--color-border);margin-bottom:var(--space-4)}.leadership-role{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.leadership-org{color:var(--color-accent);font-size:var(--text-sm);margin-top:2px}.leadership-period{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);margin:var(--space-2) 0 var(--space-3)}.leadership-desc{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.7}.skills-developed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-6)}.skills-developed-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:var(--space-4)}.skills-developed-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}.contact-info-list{display:flex;flex-direction:column;gap:var(--space-3)}.contact-info-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:var(--transition-base)}a.contact-info-card:hover{border-color:var(--color-accent);transform:translate(4px);box-shadow:var(--glow-accent)}.contact-info-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:var(--radius-md);color:var(--color-accent);background:var(--color-accent-light);border:1px solid var(--color-border)}.contact-info-icon svg{width:20px;height:20px}.contact-info-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.contact-info-value{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-medium);color:var(--color-text)}.contact-info-arrow{color:var(--color-accent);opacity:0;transition:var(--transition-fast)}a.contact-info-card:hover .contact-info-arrow{opacity:1;transform:translate(2px)}.contact-form-wrap{padding:clamp(var(--space-6),4vw,var(--space-10));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--inset-top),var(--shadow-lg)}.contact-form{display:flex;flex-direction:column;gap:var(--space-6)}.form-field-float{position:relative}.form-input-float,.form-textarea-float{width:100%;padding:1.25rem 1rem .5rem;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:var(--transition-fast);resize:vertical}.form-input-float:focus,.form-textarea-float:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form-float-label{position:absolute;left:1rem;top:.9rem;font-size:var(--text-base);color:var(--color-text-muted);pointer-events:none;transition:var(--transition-fast)}.form-input-float:focus+.form-float-label,.form-input-float:not(:placeholder-shown)+.form-float-label,.form-textarea-float:focus+.form-float-label,.form-textarea-float:not(:placeholder-shown)+.form-float-label{top:.4rem;font-size:var(--text-xs);color:var(--color-accent)}.form-submit{width:100%}.form-submit-gradient{background:var(--accent-grad)}.form-error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:#f871711a;border:1px solid rgba(248,113,113,.4);color:var(--color-error);font-size:var(--text-sm)}.form-success{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;padding:var(--space-16) var(--space-8)}.form-success-icon{width:56px;height:56px;color:var(--color-success)}.form-success-text{font-size:var(--text-xl);font-weight:var(--weight-medium)}.site-footer{border-top:1px solid var(--color-border-light);background:var(--color-bg-deep);padding-block:var(--space-16) var(--space-8)}.footer-cta{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);text-align:center;padding-bottom:var(--space-16);margin-bottom:var(--space-12);border-bottom:1px solid var(--color-border-light)}.footer-cta-title{font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:-.03em}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--space-10);margin-bottom:var(--space-12)}.footer-brand-name{font-size:var(--text-xl);font-weight:var(--weight-bold)}.footer-brand-tagline{color:var(--color-text-secondary);margin-top:var(--space-2)}.footer-col-title{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-4)}.footer-links{display:flex;flex-direction:column;gap:var(--space-3)}.footer-link{color:var(--color-text-secondary);font-size:var(--text-sm);transition:var(--transition-fast);width:fit-content}.footer-link:hover{color:var(--color-accent)}.footer-social{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.footer-social-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);transition:var(--transition-base)}.footer-social-link:hover{color:#fff;border-color:var(--color-accent);box-shadow:var(--glow-accent)}.footer-social-link svg{width:18px;height:18px}.footer-bottom{text-align:center;padding-top:var(--space-8);border-top:1px solid var(--color-border-light);font-size:var(--text-sm);color:var(--color-text-muted)}.back-to-top{position:fixed;bottom:var(--space-8);right:var(--space-8);z-index:900;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--radius-full);color:#fff;background:var(--accent-grad);border:none;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);box-shadow:0 10px 30px -8px #7c8cffb3;transition:var(--transition-base)}.back-to-top.visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{transform:translateY(-3px)}.back-to-top svg{width:20px;height:20px}.icon-sm{width:18px;height:18px}.icon-md{width:24px;height:24px}@media (max-width: 900px){.home-hero-grid{grid-template-columns:1fr}.hero-visual{justify-content:flex-start}.hero-stats{grid-template-columns:repeat(2,1fr);max-width:420px}.stat-card:nth-child(2n){transform:none}.stat-card:nth-child(2n):hover{transform:translateY(-3px)}.about-hero-grid{grid-template-columns:1fr}.about-photo-wrap{order:-1}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.nav-desktop-only{display:none}.menu-toggle{display:flex}.section-title{font-size:var(--text-4xl)}.timeline:before{left:7px}.timeline-item{grid-template-columns:16px 1fr}.timeline-period{grid-column:1 / -1;text-align:left;padding-left:var(--space-8)}.timeline-track{grid-column:1}}@media (min-width: 769px){.nav-mobile-only{display:none}}@media (max-width: 560px){.container{padding-inline:var(--space-4)}.hero-stats,.footer-grid{grid-template-columns:1fr}.projects-toolbar{flex-direction:column;align-items:stretch}.search-input{width:100%}.form-success{padding:var(--space-12) var(--space-4)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.reveal-left,.reveal-right,.reveal-fade{opacity:1;transform:none}.tech-strip-track{animation:none}}
