@layer reset,base,components,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,ul{margin:0}ul{padding:0}img{display:block;max-width:100%}button,a{font:inherit}}@layer base{:root{--bg: #070a0f;--bg-soft: #0a0f16;--panel: #0d131b;--panel-light: #111a24;--line: rgba(184, 206, 226, .14);--line-strong: rgba(184, 206, 226, .24);--text: #f1f6fa;--muted: #91a0af;--muted-dark: #63717f;--mint: #6cf5c2;--mint-dark: #32b98a;--violet: #8f83ff;--orange: #ff9f6c;--sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--serif: Georgia, "Times New Roman", serif;--shadow: 0 28px 80px rgba(0, 0, 0, .35);--radius: 22px;--pointer-x: 50vw;--pointer-y: 30vh}html{color-scheme:dark;scroll-padding-top:86px}body{min-width:320px;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 78% 15%,rgba(108,245,194,.07),transparent 28%),radial-gradient(circle at 15% 50%,rgba(143,131,255,.06),transparent 25%),var(--bg)}::selection{background:var(--mint);color:#06110d}a{color:inherit;text-decoration:none}button{color:inherit}:focus-visible{outline:2px solid var(--mint);outline-offset:4px}.page-noise{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.pointer-glow{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(460px circle at var(--pointer-x) var(--pointer-y),rgba(108,245,194,.055),transparent 60%)}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:10px 16px;border-radius:8px;background:var(--mint);color:#06110d;font-weight:700;transform:translateY(-150%);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}}@layer components{.section-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.content-section{padding-block:132px}.site-header{position:fixed;inset:0 0 auto;z-index:30;border-bottom:1px solid transparent;transition:background-color .24s ease,border-color .24s ease,backdrop-filter .24s ease}.site-header.is-scrolled{border-color:var(--line);background:#070a0fc2;backdrop-filter:blur(18px)}.header-shell{width:min(1320px,calc(100% - 48px));min-height:74px;margin-inline:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand{display:inline-flex;align-items:center;gap:11px;width:max-content}.brand-mark{width:34px;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--mint);border-radius:9px;color:var(--mint);font:700 11px var(--mono);transform:rotate(-4deg)}.brand-text{font-size:13px;font-weight:800;letter-spacing:.16em}.brand-text span{color:var(--mint)}.desktop-nav{display:flex;align-items:center;gap:36px}.desktop-nav a{position:relative;color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;transition:color .18s ease}.desktop-nav a:after{content:"";position:absolute;right:0;bottom:-8px;left:0;height:1px;background:var(--mint);transform:scaleX(0);transition:transform .18s ease}.desktop-nav a:hover,.desktop-nav a.is-active{color:var(--text)}.desktop-nav a:hover:after,.desktop-nav a.is-active:after{transform:scaleX(1)}.header-actions{justify-self:end;display:flex;align-items:center;gap:16px}.availability{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;letter-spacing:.04em}.availability>span,.status-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px #6cf5c214,0 0 18px #6cf5c2b3;animation:pulse 2.4s ease-in-out infinite}.menu-button{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel);cursor:pointer}.menu-button span{display:block;width:17px;height:1px;margin:5px auto;background:var(--text);transition:transform .18s ease}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-nav{padding:18px 24px 24px;border-top:1px solid var(--line);background:#070a0ff5}.mobile-nav a{display:block;padding:11px 0;color:var(--muted);font-size:14px;font-weight:650}.hero{min-height:100svh;padding-top:142px;padding-bottom:52px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);grid-template-rows:1fr auto;column-gap:clamp(40px,7vw,100px);align-items:center}.kicker{display:flex;align-items:center;gap:12px;color:var(--muted);font:600 11px/1 var(--mono);letter-spacing:.12em}.kicker span{color:var(--mint)}.kicker:after{content:"";width:48px;height:1px;background:var(--line-strong)}.hero h1,.section-heading h2,.contact-heading h2{font-size:clamp(3.7rem,7.2vw,7.35rem);line-height:.91;letter-spacing:-.065em;font-weight:760}.hero h1{max-width:780px;margin-top:28px}.hero h1 em,.section-heading h2 em,.contact-heading h2 em{color:var(--mint);font-family:var(--serif);font-weight:400}.hero-intro{max-width:610px;margin-top:32px;color:var(--muted);font-size:clamp(1rem,1.35vw,1.16rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.button{min-height:52px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--line-strong);border-radius:12px;font-size:12px;font-weight:750;letter-spacing:.035em;transition:transform .18s ease,border-color .18s ease,background .18s ease}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--mint);color:#06110d;border-color:var(--mint)}.button-primary:hover{background:#83ffd1}.button-secondary:hover{border-color:var(--mint);background:#6cf5c20a}.button span{font-size:17px}.hero-socials{display:flex;flex-wrap:wrap;gap:22px;margin-top:34px}.hero-socials a{color:var(--muted);font:600 11px var(--mono);transition:color .18s ease}.hero-socials a span{margin-left:3px;color:var(--mint)}.hero-socials a:hover{color:var(--text)}.hero-visual{position:relative;width:min(100%,460px);margin-top:68px;justify-self:end}.portrait-frame{position:relative;width:78%;margin-inline:auto;overflow:hidden;border:1px solid var(--line-strong);border-radius:32px 32px 16px 16px;background:var(--panel);box-shadow:var(--shadow)}.portrait-frame:before{content:"";position:absolute;inset:44px 0 auto;z-index:2;height:1px;background:var(--line)}.frame-label{height:44px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;color:var(--muted-dark);font:600 8px var(--mono);letter-spacing:.08em}.portrait-frame img{width:100%;height:clamp(300px,42vh,460px);object-fit:cover;object-position:center 8%;filter:saturate(.88) contrast(1.04)}.portrait-gradient{position:absolute;inset:44px 0 0;background:linear-gradient(to top,rgba(5,10,14,.92),transparent 38%);pointer-events:none}.portrait-caption{position:absolute;right:18px;bottom:17px;left:18px;display:flex;align-items:center;gap:13px}.portrait-caption div{display:grid}.portrait-caption strong{font-size:13px}.portrait-caption small{color:#f1f6faa6;font:500 9px var(--mono)}.portrait-orbit{position:absolute;inset:-25px -28px;z-index:-1;border:1px solid var(--line);border-radius:50%;animation:orbit-float 7s ease-in-out infinite}.portrait-orbit:before{content:"";position:absolute;inset:12%;border:1px dashed rgba(108,245,194,.13);border-radius:50%}.portrait-orbit span{position:absolute;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--muted);font:600 8px var(--mono)}.portrait-orbit span:nth-child(1){top:14%;left:-5%}.portrait-orbit span:nth-child(2){right:-6%;bottom:29%}.portrait-orbit span:nth-child(3){bottom:1%;left:19%}.hero-stats{grid-column:1 / -1;margin-top:58px;padding-top:24px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.hero-stats>div{display:flex;align-items:center;gap:16px}.hero-stats>div:not(:first-child){padding-left:32px;border-left:1px solid var(--line)}.hero-stats strong{color:var(--mint);font:500 2rem var(--serif)}.hero-stats span{color:var(--muted);font:500 10px/1.5 var(--mono);text-transform:uppercase}.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--bg-soft)}.marquee-track{width:min(1180px,calc(100% - 48px));margin-inline:auto;padding:20px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 28px;color:var(--muted-dark);font:600 11px var(--mono);letter-spacing:.08em}.marquee-track span{display:inline-flex;align-items:center;gap:28px;white-space:nowrap}.marquee-track i{color:var(--mint);font-style:normal}.section-heading{margin-bottom:60px}.section-heading h2,.contact-heading h2{margin-top:25px;font-size:clamp(3rem,5.8vw,5.7rem)}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:48px}.section-note{max-width:350px;padding-bottom:5px;color:var(--muted);font-size:14px}.about-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:14px}.panel{position:relative;min-height:360px;padding:32px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#111a24d1,#090e14d6)}.panel:after{content:"";position:absolute;right:-80px;bottom:-100px;width:230px;aspect-ratio:1;border:1px solid var(--line);border-radius:50%}.about-main{padding:clamp(30px,4vw,52px)}.about-main .lead{max-width:650px;font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.35;letter-spacing:-.03em}.about-main>p:not(.lead){max-width:620px;margin-top:26px;color:var(--muted);font-size:14px}.about-signature{position:absolute;right:36px;bottom:24px;color:#f1f6fa24;font:italic 2.6rem var(--serif);transform:rotate(-5deg)}.about-signature span{color:#6cf5c238}.panel-label{color:var(--mint);font:600 9px var(--mono);letter-spacing:.11em}.now-icon{width:56px;aspect-ratio:1;margin-top:45px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:15px;background:var(--panel-light);color:var(--mint);font:700 15px var(--mono)}.now-card h3,.education-card h3{margin-top:22px;font-size:1.2rem;line-height:1.3}.now-card p,.education-card p{margin-top:6px;color:var(--muted);font-size:13px}.now-card small{display:block;margin-top:16px;color:var(--muted-dark);font-size:11px}.date-chip{position:absolute;bottom:28px;left:30px;color:var(--muted);font:500 8px var(--mono)}.education-card{background:linear-gradient(145deg,#6cf5c21a,#090e14e6)}.education-year{margin-top:32px;color:#6cf5c221;font:500 4rem/1 var(--serif)}.education-meta{position:absolute;right:30px;bottom:28px;left:30px;display:flex;justify-content:space-between;color:var(--muted-dark);font:500 8px var(--mono)}.timeline{position:relative;border-top:1px solid var(--line)}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:226px;width:1px;background:var(--line)}.timeline-item{position:relative;display:grid;grid-template-columns:190px 1fr;gap:72px;padding:42px 0 52px;border-bottom:1px solid var(--line)}.timeline-marker{position:absolute;top:48px;left:221px;width:11px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--bg)}.timeline-marker span{width:5px;aspect-ratio:1;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint)}.timeline-date{color:var(--muted-dark);font:500 10px var(--mono)}.role-heading{display:flex;justify-content:space-between;gap:30px}.role-heading h3{font-size:clamp(1.35rem,2.2vw,2rem);letter-spacing:-.025em}.role-heading p{margin-top:4px;color:var(--mint);font:500 11px var(--mono)}.role-heading>span{height:max-content;padding:5px 8px;border:1px solid var(--line);border-radius:6px;color:var(--muted-dark);font:500 8px var(--mono)}.timeline-content ul{display:grid;gap:10px;margin:25px 0 26px;list-style:none}.timeline-content li{position:relative;padding-left:18px;color:var(--muted);font-size:14px}.timeline-content li:before{content:"↳";position:absolute;left:0;color:var(--mint-dark)}.tag-row{display:flex;flex-wrap:wrap;gap:7px}.tag-row span{padding:6px 9px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font:500 8px var(--mono);text-transform:uppercase}.projects-section{border-block:1px solid var(--line);background:var(--bg-soft)}.projects-list{display:grid;gap:28px}.project-card{position:relative;padding:26px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);align-items:center;gap:clamp(30px,5vw,70px);overflow:hidden;border:1px solid var(--line);border-radius:26px;background:var(--panel);transform-style:preserve-3d;transition:border-color .22s ease,transform .18s ease}.project-card:hover{border-color:#6cf5c257}.project-number{position:absolute;top:18px;right:22px;color:#f1f6fa1a;font:500 3rem var(--serif)}.project-card-reverse .project-visual{order:2}.project-visual{min-height:470px;padding:clamp(18px,3vw,38px);display:grid;place-items:center;overflow:hidden;border-radius:18px;background:radial-gradient(circle at 30% 20%,rgba(108,245,194,.24),transparent 35%),#0a2425}.project-visual-health{background:radial-gradient(circle at 70% 20%,rgba(143,131,255,.28),transparent 35%),#16152c}.browser-frame{width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:#f7f9fb;box-shadow:0 30px 70px #00000061;transform:rotate(-1.5deg);transition:transform .3s ease}.project-card:hover .browser-frame{transform:rotate(0) translateY(-5px)}.project-card-reverse .browser-frame{transform:rotate(1.5deg)}.project-card-reverse:hover .browser-frame{transform:rotate(0) translateY(-5px)}.browser-bar{height:25px;padding:0 10px;display:flex;align-items:center;gap:4px;border-bottom:1px solid #dde3e8;background:#eef2f5}.browser-bar span{width:5px;height:5px;border-radius:50%;background:#a9b4bf}.browser-bar small{margin-left:8px;color:#7d8b97;font:500 6px var(--mono)}.project-screenshot{width:100%;height:auto;object-fit:contain;object-position:top center;background:#f7f9fb}.project-copy{padding-right:20px}.project-type{color:var(--mint);font:600 9px var(--mono);letter-spacing:.1em}.project-copy h3{margin-top:16px;font-size:clamp(2rem,3.8vw,3.4rem);line-height:1;letter-spacing:-.05em}.project-copy>p:not(.project-type){margin-top:22px;color:var(--muted);font-size:14px}.project-highlights{display:grid;gap:8px;margin:24px 0}.project-highlights span{color:#bfccd5;font-size:11px}.project-highlights span:before{content:"+";margin-right:9px;color:var(--mint)}.project-links{display:flex;gap:22px;margin-top:30px}.project-links a{padding-bottom:4px;border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:700;transition:color .18s ease,border-color .18s ease}.project-links a span{color:var(--mint)}.project-links a:hover{color:var(--mint);border-color:var(--mint)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.skill-group{min-height:250px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .18s ease}.skill-group:hover{background:#6cf5c206}.skill-index{color:var(--mint);font:500 9px var(--mono)}.skill-group h3{margin:48px 0 20px;font-size:1.3rem}.skill-group>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.skill-group span{padding:5px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font:500 8px var(--mono)}.recognition-strip{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:15px;overflow:hidden}.recognition-strip>div{padding:25px;display:grid;grid-template-columns:105px 1fr auto;align-items:center;gap:22px}.recognition-strip>div+div{border-left:1px solid var(--line)}.recognition-strip span{color:var(--mint);font:600 8px var(--mono)}.recognition-strip strong{font-size:13px}.recognition-strip small{color:var(--muted-dark);font:500 8px var(--mono)}.contact-section{position:relative;padding:128px 0 34px;overflow:hidden;border-top:1px solid var(--line);background:#090e14}.contact-section:before{content:"LET'S BUILD";position:absolute;right:-20px;bottom:-5vw;color:#f1f6fa05;font-size:16vw;font-weight:900;letter-spacing:-.08em;white-space:nowrap}.contact-heading{margin-top:45px;display:flex;align-items:end;justify-content:space-between;gap:60px}.contact-heading p{max-width:390px;padding-bottom:8px;color:var(--muted);font-size:14px}.contact-actions{margin-top:76px;padding-block:24px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-block:1px solid var(--line)}.contact-email{font-size:clamp(1rem,2.2vw,1.8rem);font-weight:650;letter-spacing:-.03em;word-break:break-word}.contact-email span{color:var(--mint)}.copy-button{flex:0 0 auto;padding:10px 14px;border:1px solid var(--line-strong);border-radius:8px;background:transparent;color:var(--muted);font:600 9px var(--mono);cursor:pointer;transition:color .18s ease,border-color .18s ease}.copy-button:hover{color:var(--mint);border-color:var(--mint)}.contact-footer{position:relative;z-index:1;margin-top:80px;padding-top:28px;display:flex;justify-content:space-between;gap:40px;border-top:1px solid var(--line)}.footer-links{display:flex;flex-wrap:wrap;gap:24px}.footer-links a{color:var(--muted);font:600 10px var(--mono);transition:color .18s ease}.footer-links a:hover{color:var(--mint)}.contact-footer>p{color:var(--muted);font:500 9px/1.7 var(--mono);text-align:right}.contact-footer>p span{color:var(--muted-dark)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease var(--delay, 0ms),transform .7s cubic-bezier(.2,.75,.25,1) var(--delay, 0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}}@layer utilities{@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.78)}}@keyframes orbit-float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}@media (max-width: 1000px){.desktop-nav,.availability{display:none}.header-shell{grid-template-columns:1fr auto}.menu-button{display:block}.hero{grid-template-columns:1fr .78fr;column-gap:50px}.hero h1{font-size:clamp(3.4rem,7vw,5.6rem)}.about-grid{grid-template-columns:1fr 1fr}.about-main{grid-column:1 / -1}.project-card{grid-template-columns:1fr}.project-card-reverse .project-visual{order:initial}.project-visual{min-height:420px}.skills-grid{grid-template-columns:repeat(2,1fr)}.recognition-strip{grid-template-columns:1fr}.recognition-strip>div+div{border-top:1px solid var(--line);border-left:0}}@media (max-width: 760px){.section-shell,.header-shell{width:min(100% - 32px,1180px)}.content-section{padding-block:92px}.hero{min-height:auto;padding-top:120px;grid-template-columns:1fr}.hero h1{font-size:clamp(3.15rem,15vw,5.1rem)}.hero-intro{max-width:540px}.hero-visual{width:min(89%,440px);margin:92px auto 0;justify-self:center}.portrait-orbit{inset:-20px}.hero-stats{grid-template-columns:1fr;gap:0;margin-top:85px}.hero-stats>div{padding:17px 0;border-top:1px solid var(--line)}.hero-stats>div:not(:first-child){padding-left:0;border-left:0}.section-heading-row,.contact-heading{align-items:start;flex-direction:column}.section-heading{margin-bottom:42px}.about-grid{grid-template-columns:1fr}.about-main{grid-column:auto}.panel{min-height:330px}.timeline:before{left:5px}.timeline-item{grid-template-columns:1fr;gap:17px;padding-left:34px}.timeline-marker{left:0}.role-heading{flex-direction:column}.role-heading>span{align-self:start}.project-card{padding:14px;gap:30px}.project-visual{min-height:350px}.project-copy{padding:8px 10px 18px}.skills-grid{grid-template-columns:1fr}.recognition-strip>div{grid-template-columns:1fr;gap:7px}.contact-actions{align-items:start;flex-direction:column}.contact-footer{flex-direction:column}.contact-footer>p{text-align:left}}@media (max-width: 460px){.hero-actions{display:grid}.button{width:100%}.portrait-frame{width:94%}.portrait-orbit{display:none}.project-visual{min-height:290px}.browser-frame{width:92%}.project-links{align-items:start;flex-direction:column;gap:12px}.section-heading h2,.contact-heading h2{font-size:clamp(2.8rem,15vw,4rem)}}@media (hover: none),(pointer: coarse){.pointer-glow{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}.reveal{opacity:1;transform:none}}}
