:root{--bg: #07080c;--bg-2: #0b0d13;--surface: rgba(255, 255, 255, .028);--surface-2: rgba(255, 255, 255, .055);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #eef0f6;--text-2: #a4aabb;--text-3: #7d8499;--a1: #8b7bff;--a1-rgb: 139, 123, 255;--a2: #3ee0ff;--a2-rgb: 62, 224, 255;--a3: #b4f25a;--a3-rgb: 180, 242, 90;--a4: #ffb547;--grad: linear-gradient(100deg, #a597ff 0%, #5fe3ff 50%, #c2f56e 100%);--ring-colors: #8b7bff, #3ee0ff, #b4f25a, #ffb547, #8b7bff;--p1: #8b7bff;--p2: #3ee0ff;--p3: #b4f25a;--p4: #ffb547;--on-accent: #07080c;--nav-bg: rgba(11, 12, 18, .72);--overlay-bg: rgba(7, 8, 12, .96);--chip-bg: rgba(13, 15, 23, .72);--card-base: rgba(8, 9, 14, .78);--card-top: #0d0f16;--card-bottom: #0a0b11;--hl-top: #11121b;--hl-bottom: #0c0d14;--portrait-1: #23264a;--portrait-2: #10121d;--portrait-3: #0a0b11;--pill-text: #d4f5a4;--soft-text: #cfc8ff;--stat-end: #a9aec2;--rotator-grad: linear-gradient(100deg, #fff 0%, #cfd3ff 60%, #9ff0ff 100%);--font-sans: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-serif: "Instrument Serif", Georgia, "Times New Roman", serif;--container: 1180px;--gutter: 24px;--ease: cubic-bezier(.2, .7, .2, 1);color-scheme:dark}@property --angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;overflow-x:clip}img{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}::selection{background:rgba(var(--a1-rgb),.4);color:#fff}:focus-visible{outline:2px solid var(--a2);outline-offset:3px;border-radius:6px}strong{color:var(--text);font-weight:600}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin:0 auto;padding:0 var(--gutter)}section,footer{scroll-margin-top:80px}.section{position:relative;padding:88px 0}.section-tight{padding-top:0}.gradient-text{background:var(--grad);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradient-pan 8s ease-in-out infinite alternate}.bg-fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden}.neural-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.bg-orb{position:absolute;width:70vmax;height:70vmax;border-radius:50%;animation:drift 26s ease-in-out infinite alternate;will-change:transform}.bg-orb-1{top:-35vmax;left:-20vmax;background:radial-gradient(circle,rgba(var(--a1-rgb),.3) 0%,transparent 62%)}.bg-orb-2{top:-10vmax;right:-35vmax;background:radial-gradient(circle,rgba(var(--a2-rgb),.16) 0%,transparent 62%);animation-delay:-9s;animation-duration:32s}.bg-orb-3{bottom:-45vmax;left:15vmax;background:radial-gradient(circle,rgba(var(--a3-rgb),.08) 0%,transparent 62%);animation-delay:-16s;animation-duration:38s}.bg-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-size:.95rem;font-weight:550;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}.btn i{font-size:.85em;transition:transform .25s var(--ease)}.btn-primary{background:var(--grad);background-size:160% auto;color:var(--on-accent);box-shadow:0 8px 24px -10px rgba(var(--a1-rgb),.7)}.btn-primary:hover{transform:translateY(-2px);background-position:right center;box-shadow:0 14px 34px -10px rgba(var(--a2-rgb),.6)}.btn-primary:hover .fa-arrow-right{transform:translate(3px)}.btn-ghost{background:#ffffff0a;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{background:#ffffff14;border-color:#ffffff47;transform:translateY(-2px)}.btn-lg{height:54px;padding:0 26px;font-size:1rem}.icon-btn{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--border-strong);background:#ffffff08;color:var(--text-2);font-size:1.05rem;text-decoration:none;transition:all .25s var(--ease)}.icon-btn:hover{color:var(--text);border-color:#ffffff4d;background:#ffffff14;transform:translateY(-2px)}.icon-btn-sm{width:38px;height:38px;font-size:.92rem}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{font-family:var(--font-mono);font-size:.74rem;padding:5px 10px;border-radius:8px;background:#ffffff0a;border:1px solid var(--border);color:var(--text-2)}.stat-card,.project-card,.timeline-card,.skill-card,.extra-skills,.edu-card,.cert-card{position:relative;isolation:isolate}.stat-card:before,.project-card:before,.timeline-card:before,.skill-card:before,.edu-card:before,.cert-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:radial-gradient(460px circle at var(--mx, 50%) var(--my, 50%),rgba(255,255,255,.06),transparent 45%);opacity:0;transition:opacity .35s var(--ease);pointer-events:none}.stat-card:hover:before,.project-card:hover:before,.timeline-card:hover:before,.skill-card:hover:before,.edu-card:hover:before,.cert-card:hover:before{opacity:1}.section-header{margin-bottom:56px;max-width:820px}.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--text-3)}.eyebrow-index{color:var(--a1)}.eyebrow-line{width:32px;height:1px;background:var(--border-strong)}.section-title{margin:18px 0 0;font-size:clamp(2.1rem,4.6vw,3.5rem);font-weight:600;line-height:1.05;letter-spacing:-.04em;text-wrap:balance}.section-title em,.contact-title em,.hero-headline em{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}.section-description{margin:18px 0 0;max-width:60ch;color:var(--text-2);font-size:1.05rem}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;transform-origin:0 50%;background:var(--grad)}.navbar{position:fixed;top:14px;left:0;right:0;z-index:100;pointer-events:none}.nav-container{pointer-events:auto;width:min(var(--container),calc(100% - 32px));height:60px;margin:0 auto;padding:0 10px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:999px;border:1px solid transparent;transition:background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}.navbar.scrolled .nav-container{background:var(--nav-bg);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border-color:var(--border);box-shadow:0 16px 40px -18px #000c}.nav-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;letter-spacing:-.02em}.nav-logo-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--grad);color:var(--on-accent);font-weight:800;font-size:1rem}.nav-logo-text{font-size:1.05rem}.nav-logo-text span{color:var(--a2)}.nav-links{display:flex;gap:2px;margin:0;padding:0;list-style:none}.nav-links a{display:block;padding:8px 14px;border-radius:999px;color:var(--text-2);font-size:.9rem;text-decoration:none;transition:color .2s,background .2s}.nav-links a:hover{color:var(--text)}.nav-links a.active{color:var(--text);background:#ffffff14}.nav-actions{display:flex;align-items:center;gap:8px}.nav-cta{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;background:var(--text);color:var(--on-accent);font-size:.88rem;font-weight:600;text-decoration:none;transition:transform .25s var(--ease),background .25s}.nav-cta i{font-size:.78rem}.nav-cta:hover{transform:translateY(-1px);background:#fff}.mobile-menu-toggle{display:none;position:relative;width:42px;height:42px;border-radius:50%;border:1px solid var(--border-strong);background:#ffffff0a;padding:0}.mobile-menu-toggle span{position:absolute;left:50%;width:16px;height:1.5px;margin-left:-8px;background:var(--text);border-radius:2px;transition:transform .3s var(--ease),top .3s var(--ease)}.mobile-menu-toggle span:first-child{top:16px}.mobile-menu-toggle span:last-child{top:24px}.mobile-menu-toggle.open span:first-child{top:20px;transform:rotate(45deg)}.mobile-menu-toggle.open span:last-child{top:20px;transform:rotate(-45deg)}.mobile-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;flex-direction:column;padding:104px var(--gutter) 36px;background:var(--overlay-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease),visibility .35s}.mobile-nav.open{opacity:1;visibility:visible;pointer-events:auto}.mobile-nav ul{list-style:none;margin:0;padding:0}.mobile-nav li{opacity:0;transform:translateY(14px);transition:opacity .4s var(--ease),transform .4s var(--ease)}.mobile-nav.open li{opacity:1;transform:none}.mobile-nav li a{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);color:var(--text-2);font-size:1.9rem;font-weight:600;letter-spacing:-.03em;text-decoration:none}.mobile-nav li a.active{color:var(--text)}.mobile-nav-index{font-family:var(--font-mono);font-size:.75rem;font-weight:400;letter-spacing:0;color:var(--a1)}.mobile-nav-cta{margin-top:auto;width:100%;height:54px}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:128px 0 96px;overflow:hidden;overflow:clip}.hero-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:56px}.status-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 11px;border-radius:999px;border:1px solid rgba(var(--a3-rgb),.25);background:rgba(var(--a3-rgb),.06);color:var(--pill-text);font-family:var(--font-mono);font-size:.78rem}.pulse-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--a3);flex-shrink:0}.pulse-dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--a3);animation:pulse-ring 2s ease-out infinite}.hero-name{margin:26px 0 0;font-size:clamp(2.9rem,7.4vw,5.9rem);font-weight:650;line-height:.96;letter-spacing:-.05em}.hero-headline{margin:26px 0 0;font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:450;line-height:1.35;letter-spacing:-.02em;color:var(--text-2)}.hero-headline em{font-size:1.12em}.rotator{display:inline-block;min-height:1.35em;vertical-align:top;color:var(--text);font-weight:600;white-space:nowrap}.rotator-word{display:inline-block;background:var(--rotator-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-description{margin:22px 0 0;max-width:60ch;color:var(--text-2);font-size:1.04rem;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:34px}.hero-socials{display:flex;gap:10px;margin-left:6px}.hero-meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin:34px 0 0;padding:0;list-style:none;font-family:var(--font-mono);font-size:.8rem;color:var(--text-3)}.hero-meta li{display:inline-flex;align-items:baseline;gap:9px}.hero-meta i{color:var(--a1)}.hero-meta strong{color:var(--a3);font-weight:500}.hero-visual{display:flex;justify-content:center;padding:0 44px}.portrait{position:relative;width:100%;max-width:380px;aspect-ratio:4 / 5}.portrait-ring{position:absolute;top:-1.5px;right:-1.5px;bottom:-1.5px;left:-1.5px;border-radius:34px;background:conic-gradient(from var(--angle),var(--ring-colors));animation:spin 8s linear infinite}.portrait-ring:after{content:"";position:absolute;top:10%;right:10%;bottom:10%;left:10%;border-radius:inherit;background:inherit;filter:blur(48px);opacity:.45;z-index:-1}.portrait-card{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:32px;overflow:hidden;background:radial-gradient(90% 70% at 50% 25%,var(--portrait-1) 0%,var(--portrait-2) 55%,var(--portrait-3) 100%)}.portrait-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 70%);mask-image:linear-gradient(180deg,#000 0%,transparent 70%);pointer-events:none}.portrait-glow{position:absolute;left:50%;top:32%;width:80%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(var(--a1-rgb),.55) 0%,rgba(var(--a2-rgb),.18) 40%,transparent 70%);filter:blur(10px)}.portrait-img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;object-fit:contain;object-position:bottom center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.float-chip{position:absolute;z-index:3;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:14px;border:1px solid var(--border-strong);background:var(--chip-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px -16px #000c;animation:float 6s ease-in-out infinite}.chip-value{font-size:1.25rem;font-weight:650;letter-spacing:-.03em;line-height:1.1}.chip-label{font-family:var(--font-mono);font-size:.68rem;color:var(--text-3)}.chip-a{top:12%;left:-16%}.chip-a .chip-value{color:var(--a1)}.chip-b{top:50%;right:-14%;animation-delay:-2s}.chip-b .chip-value{color:var(--a3)}.terminal-chip{flex-direction:row;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.76rem;color:var(--text-2);white-space:nowrap}.chip-c{bottom:6%;left:-12%;animation-delay:-4s}.term-prompt{color:var(--a2)}.term-ok{color:var(--a3)}.scroll-cue{position:absolute;left:50%;bottom:28px;width:1px;height:52px;transform:translate(-50%);background:var(--border);overflow:hidden}.scroll-cue-line{position:absolute;left:0;top:-40%;width:1px;height:40%;background:linear-gradient(180deg,transparent,var(--a2));animation:drop 2.2s var(--ease) infinite}.impact{padding:24px 0 40px}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;border-radius:24px;overflow:hidden;border:1px solid var(--border);background:var(--border)}.stat-card{display:flex;flex-direction:column;padding:30px 24px 26px;background:linear-gradient(180deg,var(--card-top) 0%,var(--card-bottom) 100%)}.stat-value{font-size:clamp(2.1rem,3.3vw,2.8rem);font-weight:650;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff 30%,var(--stat-end) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.stat-suffix{font-size:.6em;letter-spacing:-.02em}.stat-label{margin:12px 0 18px;color:var(--text-2);font-size:.88rem;line-height:1.5}.stat-source{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3)}.stat-source:before{content:"";width:6px;height:6px;border-radius:2px;background:var(--a1)}.marquee{margin-top:56px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.marquee-track{display:flex;width:max-content;animation:marquee 48s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-item{display:inline-flex;align-items:center;gap:10px;padding:0 28px;color:var(--text-3);font-size:1rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;transition:color .25s}.marquee-item:hover{color:var(--text)}.marquee-icon{font-size:1.3rem}.projects-list{display:grid;gap:24px}.project-card{display:grid;grid-template-columns:minmax(0,1fr) 310px;border-radius:28px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff09,#ffffff03);overflow:hidden;transition:border-color .35s var(--ease),transform .35s var(--ease)}.project-card:before{background:radial-gradient(640px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--accent) 13%,transparent),transparent 42%)}.project-card:after{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.7}.project-card:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--border))}.project-main{padding:40px 40px 34px;min-width:0}.project-top{display:flex;justify-content:space-between;gap:16px;font-family:var(--font-mono);font-size:.78rem}.project-index{color:var(--accent)}.project-date{color:var(--text-3)}.project-title{margin:20px 0 2px;font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:600;letter-spacing:-.035em;line-height:1.1}.project-kicker{margin:0;font-family:var(--font-serif);font-style:italic;font-size:1.3rem;color:var(--text-2)}.project-points,.timeline-points{list-style:none;margin:26px 0 30px;padding:0;display:grid;gap:12px}.project-points li,.timeline-points li{position:relative;padding-left:22px;color:var(--text-2);font-size:.98rem;line-height:1.68}.project-points li:before,.timeline-points li:before{content:"";position:absolute;left:2px;top:.68em;width:7px;height:7px;border-radius:2px;transform:rotate(45deg);background:var(--accent, var(--a1));opacity:.85}.project-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px dashed var(--border-strong)}.project-links{display:flex;gap:10px}.link-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--border-strong);font-size:.88rem;font-weight:550;text-decoration:none;white-space:nowrap;transition:all .25s var(--ease)}.link-btn i{font-size:.8em}.link-btn:hover{background:#ffffff12;border-color:#ffffff4d;transform:translateY(-1px)}.link-btn-accent{background:var(--accent);border-color:transparent;color:var(--on-accent)}.link-btn-accent:hover{background:var(--accent);border-color:transparent;filter:brightness(1.1);box-shadow:0 10px 26px -10px var(--accent)}.project-metrics{display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:40px 32px 34px;border-left:1px solid var(--border);background:radial-gradient(120% 70% at 100% 0%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 62%),#ffffff03}.metric-hero-value{display:block;font-size:clamp(2.8rem,4.8vw,4rem);font-weight:650;line-height:1;letter-spacing:-.055em;color:var(--accent);text-shadow:0 0 40px color-mix(in srgb,var(--accent) 35%,transparent)}.metric-hero-value.is-word{font-size:clamp(2.2rem,3.6vw,2.9rem);letter-spacing:-.04em}.metric-hero-label{display:block;margin-top:12px;color:var(--text-2);font-size:.92rem;line-height:1.5}.project-shot{display:block;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg-2);overflow:hidden;box-shadow:0 18px 40px -22px color-mix(in srgb,var(--accent) 55%,transparent);transition:transform .35s var(--ease),border-color .35s var(--ease)}.project-shot:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong))}.project-shot-bar{display:flex;gap:5px;padding:7px 9px;border-bottom:1px solid var(--border);background:#ffffff08}.project-shot-bar i{width:7px;height:7px;border-radius:50%;background:var(--border-strong)}.project-shot img{display:block;width:100%;height:auto;aspect-ratio:8 / 5;object-fit:cover;object-position:top}.metric-list{margin:0}.metric-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--border)}.metric-row dt{font-size:1.02rem;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.metric-row dd{margin:0;color:var(--text-3);font-size:.82rem;text-align:right;line-height:1.4}.timeline{--meta-w: 190px;--rail-gap: 48px;position:relative;list-style:none;margin:0;padding:0;display:grid;gap:28px}.timeline:before{content:"";position:absolute;top:10px;bottom:10px;left:calc(var(--meta-w) + var(--rail-gap) / 2);width:1px;background:linear-gradient(180deg,var(--a3),var(--a1) 35%,rgba(var(--a1-rgb),.15))}.timeline-item{position:relative;display:grid;grid-template-columns:var(--meta-w) minmax(0,1fr);gap:var(--rail-gap)}.timeline-dot{position:absolute;top:30px;left:calc(var(--meta-w) + var(--rail-gap) / 2 - 6px);width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--a1);z-index:1}.timeline-item.current .timeline-dot{border-color:var(--a3);box-shadow:0 0 0 5px rgba(var(--a3-rgb),.12),0 0 18px rgba(var(--a3-rgb),.5)}.timeline-meta{padding-top:24px;text-align:right}.timeline-date{display:block;font-family:var(--font-mono);font-size:.84rem;color:var(--text)}.timeline-location{display:block;margin-top:6px;font-size:.84rem;color:var(--text-3)}.timeline-card{padding:28px 30px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff09,#ffffff03);transition:border-color .3s var(--ease)}.timeline-card:hover{border-color:var(--border-strong)}.timeline-head{display:flex;align-items:center;gap:16px}.company-logo{display:grid;place-items:center;flex-shrink:0;width:50px;height:50px;border-radius:13px;overflow:hidden;border:1px solid var(--border);background:#ffffff0f}.company-logo img{width:100%;height:100%;object-fit:cover}.company-logo.on-light{width:104px;background:#fff;padding:8px 10px}.company-logo.on-light img{object-fit:contain}.timeline-role{margin:0;font-size:1.2rem;font-weight:600;letter-spacing:-.02em;line-height:1.3}.timeline-company{display:flex;align-items:center;gap:10px;margin:3px 0 0;color:var(--text-2);font-size:.95rem}.now-badge{padding:2px 8px;border-radius:999px;border:1px solid rgba(var(--a3-rgb),.3);background:rgba(var(--a3-rgb),.1);color:var(--a3);font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.timeline-points{margin:20px 0 22px}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.skill-card,.extra-skills{padding:26px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff09,#ffffff03);transition:border-color .3s var(--ease)}.skill-card:hover{border-color:var(--border-strong)}.skill-card.wide{grid-column:span 2}.skill-card.highlight{border:1px solid transparent;background:linear-gradient(180deg,var(--hl-top),var(--hl-bottom)) padding-box,var(--grad) border-box}.skill-card-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.skill-card-head h3{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.015em}.skill-card-icon{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:11px;background:rgba(var(--a1-rgb),.12);color:var(--a1);font-size:.95rem}.skill-card.highlight .skill-card-icon{background:rgba(var(--a3-rgb),.12);color:var(--a3)}.skill-note{margin-left:auto;padding:3px 9px;border-radius:999px;background:rgba(var(--a3-rgb),.1);color:var(--a3);font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:10px;border:1px solid var(--border);background:#ffffff09;color:var(--text-2);font-size:.86rem;line-height:1.3;transition:color .2s,border-color .2s,transform .2s var(--ease)}.chip:hover{color:var(--text);border-color:var(--border-strong);transform:translateY(-1px)}.chip-icon{font-size:1rem}.skill-card.highlight{display:flex;flex-direction:column}.skill-card-desc{margin:auto 0 0;padding-top:18px;color:var(--text-3);font-size:.88rem;line-height:1.55}.extra-skills{display:flex;flex-direction:column;gap:16px;border-style:dashed;border-color:var(--border-strong);background:transparent}.extra-label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}.extra-skills ul{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none}.extra-skills li{color:var(--text-2);font-size:.9rem}.edu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.edu-card{display:flex;flex-direction:column;padding:32px;border-radius:24px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff09,#ffffff03);transition:border-color .3s var(--ease)}.edu-card:hover{border-color:var(--border-strong)}.edu-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.edu-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,rgba(var(--a1-rgb),.25),rgba(var(--a2-rgb),.12));border:1px solid rgba(var(--a1-rgb),.3);color:var(--soft-text)}.edu-date{font-family:var(--font-mono);font-size:.78rem;color:var(--text-3)}.edu-degree{margin:26px 0 6px;font-size:1.5rem;font-weight:600;letter-spacing:-.03em;line-height:1.2}.edu-school{margin:0;color:var(--text-2)}.edu-desc{flex:1;margin:16px 0 28px;color:var(--text-3);font-size:.93rem;line-height:1.65}.edu-grade{display:flex;align-items:baseline;gap:12px;padding-top:20px;border-top:1px solid var(--border)}.edu-grade-value{font-size:2.6rem;font-weight:650;line-height:1;letter-spacing:-.045em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.edu-grade-label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3)}.subsection-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}.subsection-head h3{margin:0;font-family:var(--font-mono);font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.16em;color:var(--text-3)}.subsection-line{flex:1;height:1px;background:var(--border)}.cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cert-card{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:18px;border:1px solid var(--border);background:var(--surface);text-decoration:none;transition:border-color .3s var(--ease),transform .3s var(--ease)}.cert-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.cert-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:13px;border:1px solid var(--border);background:#ffffff0d;font-size:1.35rem}.cert-text{display:flex;flex-direction:column;min-width:0}.cert-title{font-weight:600;font-size:.97rem;letter-spacing:-.01em;line-height:1.35}.cert-issuer{margin-top:2px;color:var(--text-3);font-size:.84rem}.cert-arrow{margin-left:auto;color:var(--text-3);font-size:.85rem;transform:rotate(-45deg);transition:color .25s,transform .25s var(--ease)}.cert-card:hover .cert-arrow{color:var(--text);transform:rotate(-45deg) translate(3px)}.contact{padding:40px 0 0}.contact-card{position:relative;overflow:hidden;isolation:isolate;padding:clamp(40px,7vw,80px) clamp(22px,5vw,64px);border-radius:32px;border:1px solid var(--border);text-align:center;background:radial-gradient(80% 110% at 50% 0%,rgba(var(--a1-rgb),.16),transparent 62%),linear-gradient(180deg,#ffffff0a,#ffffff03)}.contact-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 0%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 50% 0%,#000,transparent 75%)}.contact-glow{position:absolute;z-index:-1;top:-260px;left:50%;width:640px;height:420px;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle,rgba(var(--a2-rgb),.28),rgba(var(--a1-rgb),.2) 45%,transparent 70%);filter:blur(30px);animation:breathe 7s ease-in-out infinite}.contact-card .eyebrow{justify-content:center}.contact-title{max-width:17ch;margin:22px auto 18px;font-size:clamp(2.2rem,5.4vw,4.2rem);font-weight:600;line-height:1.04;letter-spacing:-.045em;text-wrap:balance}.contact-text{max-width:58ch;margin:0 auto;color:var(--text-2);font-size:1.05rem}.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}.copy-btn{font-family:var(--font-mono);font-size:.9rem;font-weight:450}.copy-btn.copied{border-color:rgba(var(--a3-rgb),.5);color:var(--a3)}.contact-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:860px;margin:48px auto 0;padding-top:28px;border-top:1px solid var(--border)}.contact-info dt{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}.contact-info dd{margin:6px 0 0;font-size:.95rem}.contact-info a{text-decoration:none}.contact-info a:hover{text-decoration:underline;text-underline-offset:3px}.footer-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 24px;padding:32px 0 44px;color:var(--text-3);font-size:.85rem}.footer-bar p{margin:0}.footer-socials{display:flex;gap:8px}.project-card,.timeline-card,.skill-card,.extra-skills,.edu-card,.cert-card,.contact-card{background-color:var(--card-base)}@keyframes spin{to{--angle: 360deg}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(6vmax,4vmax,0) scale(1.08)}to{transform:translate3d(-4vmax,8vmax,0) scale(.95)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:.7}to{transform:scale(3);opacity:0}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes drop{0%{top:-40%}to{top:100%}}@keyframes gradient-pan{to{background-position:100% center}}@keyframes breathe{0%,to{opacity:.8;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.08)}}@media (max-width: 1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card:last-child{grid-column:span 2}.project-card{grid-template-columns:minmax(0,1fr) 270px}.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 960px){.nav-links{display:none}.mobile-menu-toggle{display:block}.hero{padding:112px 0 88px}.hero-inner{grid-template-columns:1fr;gap:40px}.hero-visual{order:-1;padding:0 36px}.portrait{max-width:290px}.project-card{grid-template-columns:1fr}.project-metrics{border-left:0;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:end;gap:28px}.project-shot{grid-column:1 / -1;order:-1}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline{--meta-w: 150px;--rail-gap: 40px}}@media (max-width: 720px){:root{--gutter: 16px}.section{padding:64px 0}.section-tight{padding-top:0}.section-header{margin-bottom:40px}.nav-container{width:calc(100% - 20px);height:56px;padding:0 7px 0 12px}.navbar{top:10px}.hero{padding:96px 0 72px}.hero-name{margin-top:20px}.hero-actions{gap:10px}.hero-actions .btn{flex:1 1 auto}.hero-socials{width:100%;margin-left:0}.hero-meta{flex-direction:column;gap:10px}.portrait{max-width:196px}.hero-visual{padding:0 40px}.float-chip{padding:8px 11px;border-radius:12px}.chip-value{font-size:1.02rem}.chip-label{font-size:.6rem}.chip-a{top:8%;left:-34%}.chip-b{top:auto;bottom:12%;right:-34%}.chip-c,.scroll-cue{display:none}.stat-card{padding:24px 18px 20px}.stat-label{font-size:.82rem}.marquee{margin-top:40px}.project-card{border-radius:22px}.project-main{padding:28px 22px 24px}.project-kicker{font-size:1.15rem}.project-points li,.timeline-points li{font-size:.94rem}.project-footer{flex-direction:column;align-items:stretch}.project-links .link-btn{flex:1;justify-content:center}.project-metrics{grid-template-columns:1fr;padding:26px 22px 20px;gap:18px}.timeline{--meta-w: 0px;--rail-gap: 0px;padding-left:26px;gap:22px}.timeline:before{left:6px}.timeline-item{grid-template-columns:1fr;gap:10px}.timeline-dot{top:4px;left:-26px}.timeline-meta{padding-top:0;text-align:left;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.timeline-location{margin-top:0}.timeline-card{padding:22px 20px;border-radius:18px}.skills-grid,.edu-grid,.cert-grid{grid-template-columns:1fr}.skill-card.wide{grid-column:auto}.skill-card,.extra-skills{padding:22px 20px}.edu-card{padding:26px 22px}.contact-card{border-radius:24px}.contact-actions .btn{width:100%}.contact-info{grid-template-columns:1fr;gap:16px}.footer-bar{flex-direction:column;text-align:center}}@media (max-width: 380px){.nav-logo-text{display:none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
