.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap}:root{color-scheme:dark;--font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-heading: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--color-bg: #040814;--color-surface: #080f24;--color-card: #0d152e;--color-text: #dde6fb;--color-muted: #7b89a8;--color-accent: #58b7ff;--color-accent-soft: rgba(88, 183, 255, .18);--radius-lg: 18px;--radius-md: 14px;--radius-sm: 10px;--shadow-lg: 0 24px 48px rgba(4, 7, 16, .48);--shadow-md: 0 18px 38px rgba(6, 10, 22, .42);--header-height: 84px;background-color:var(--color-bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6}.muted{color:var(--color-muted)}a{color:inherit;text-decoration:none}a:hover,a:focus-visible{color:var(--color-accent)}.container{width:min(1100px,92vw);margin:0 auto}.site-header{position:sticky;top:0;z-index:10;backdrop-filter:blur(18px);background:#060a16eb;border-bottom:1px solid rgba(116,134,170,.18)}.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:1.65rem 0;gap:clamp(1.5rem,4vw,2.5rem)}.site-header .brand{font-family:var(--font-heading);font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:1.1rem;color:var(--color-text);text-decoration:none}.site-header nav ul{display:flex;gap:clamp(1.8rem,4vw,2.6rem);list-style:none;margin:0;padding:0}.site-header nav a{font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:.86rem;color:var(--color-muted);padding:.35rem 0;transition:color .2s ease,transform .2s ease}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--color-accent);transform:translateY(-1px)}.site-main{padding:0 0 clamp(5rem,8vw,6.5rem);display:flex;flex-direction:column;gap:clamp(4rem,6vw,6rem)}section{margin:0}.section-heading{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem}.section-heading h2{font-family:var(--font-heading);margin:0;font-size:clamp(1.75rem,3vw,2.5rem);letter-spacing:-.02em}.section-heading span{color:var(--color-muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.2em}.hero{position:relative;min-height:95vh;padding:clamp(2rem,4vw,3.4rem) 0 clamp(1.8rem,5vh,3rem);display:flex;align-items:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 25%,rgba(93,138,255,.35),transparent 55%),radial-gradient(circle at 80% 10%,rgba(10,237,255,.22),transparent 45%),linear-gradient(135deg,#090b1df5,#060817f5);z-index:0}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(80px,12vh,140px);background:linear-gradient(180deg,#0a0c1c00,#0a0c1cf2 70%,#0a0c1c);z-index:0}.hero-scale{position:relative;width:100%;z-index:1}.hero-scale .container{width:min(1200px,94vw)}.scroll-indicator{position:absolute;left:50%;bottom:clamp(-3.5rem,-10vh,-1.5rem);transform:translate(-50%);display:inline-flex;flex-direction:column;align-items:center;gap:.3rem;color:var(--color-muted);font-size:.72rem;letter-spacing:.4em;text-transform:uppercase;text-decoration:none;opacity:.85;transition:opacity .2s ease,transform .2s ease}.scroll-indicator svg{width:22px;height:22px;fill:currentColor;animation:scrollBounce 1.6s ease-in-out infinite}.scroll-indicator:hover,.scroll-indicator:focus-visible{opacity:1;transform:translate(-50%,-6px)}@keyframes scrollBounce{0%{transform:translateY(0)}50%{transform:translateY(6px)}to{transform:translateY(0)}}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:clamp(1.75rem,4vw,3.5rem);align-items:center}.hero-intro{display:flex;flex-direction:column;gap:clamp(1rem,2.4vw,1.75rem);max-width:46rem}.hero-overline{margin:0;text-transform:uppercase;lettering-spacing:.24em;font-size:.8rem;color:var(--color-muted);letter-spacing:.24em}.hero-title{display:flex;flex-direction:column;margin:0;font-size:clamp(3.6rem,9vw,6rem);line-height:1;letter-spacing:-.04em}.hero-greeting{font-size:clamp(1.1rem,2.4vw,1.4rem);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.4rem}.hero-name{color:var(--color-text);text-shadow:0 18px 38px rgba(12,20,50,.45)}.hero-tagline{margin:0;font-size:clamp(1.1rem,2.4vw,1.35rem);line-height:1.7;color:var(--color-text);max-width:46ch}.hero-secondary{margin:0;font-size:clamp(1.05rem,2.2vw,1.25rem);line-height:1.7;color:var(--color-text);font-weight:600;letter-spacing:.02em}.hero-rotator{display:inline-flex;position:relative;min-width:9ch;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--color-accent);transition:opacity .24s ease,transform .24s ease}.hero-rotator.is-changing{opacity:0;transform:translateY(-8px)}.hero-summary{margin:0;color:var(--color-muted);font-size:clamp(1rem,2.2vw,1.15rem);line-height:1.8;max-width:54ch}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.hero-portrait{display:grid;justify-items:center;gap:1.5rem;justify-self:center}.portrait-frame{width:clamp(280px,32vw,420px);aspect-ratio:1 / 1;margin:0;border-radius:28px;overflow:hidden;background:#58b7ff14;border:1px solid rgba(148,163,184,.24);box-shadow:0 24px 60px #030a1e8c,inset 0 0 0 1px #94a3b82e}.portrait-frame img{width:100%;height:100%;object-fit:cover}.hero-highlights{list-style:none;padding:0;margin:0;display:flex;justify-content:center;gap:.85rem;width:100%}.hero-highlights li{margin:0}.hero-socials{display:flex;justify-content:center;align-items:center;gap:.75rem;width:100%}.hero-socials a{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;transition:transform .2s ease,border-color .2s ease,background .2s ease}.hero-socials a:hover,.hero-socials a:focus-visible{transform:translateY(-2px);border-color:#5cc8ff99;background:#5cc8ff26}.hero-socials svg{width:22px;height:22px;fill:currentColor}.skills-section{margin-top:clamp(1.4rem,3vw,2.5rem);margin-bottom:clamp(2.5rem,5vw,3.5rem)}.skills-heading{display:flex;align-items:center;gap:1.25rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.35em;font-size:clamp(.95rem,2vw,1.2rem);font-weight:600}.skills-divider{flex:1;height:1px;background:#94a3b84d}.skills-marquee{margin-top:.85rem;overflow:hidden}.skills-track{display:flex;width:max-content;animation:skillsTicker 18s linear infinite;will-change:transform}.skills-loop{display:inline-flex;gap:.85rem;padding-right:.85rem;flex-shrink:0}.skill-pill{display:inline-flex;align-items:center;justify-content:center;padding:.4rem 1.2rem;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0f172abf;color:var(--color-text);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}@keyframes skillsTicker{0%{transform:translate(0)}to{transform:translate(-50%)}}.experience-page{margin-bottom:clamp(6rem,12vh,8rem)}.experience-timeline--page{margin-top:clamp(3rem,6vw,4rem)}.experience-timeline{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,6vw,5rem);row-gap:clamp(2.5rem,6vw,4.5rem);margin-top:clamp(2.5rem,5vw,3.5rem)}.experience-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#58b7ff73;transform:translate(-50%)}.experience-item{position:relative}.experience-item.left{grid-column:1}.experience-item.right{grid-column:2;margin-top:clamp(1.5rem,4vw,2.75rem)}.experience-item.right:first-of-type{margin-top:clamp(3rem,8vw,4.75rem)}.experience-dot{position:absolute;top:1.2rem;width:14px;height:14px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 16px #5cc8ff80}.experience-item.left .experience-dot{right:-7px}.experience-item.right .experience-dot{left:-7px}.experience-card{display:block;padding:clamp(1.5rem,3vw,2rem);background:#0a132deb;border:1px solid rgba(92,114,168,.26);border-radius:20px;box-shadow:0 24px 64px #03082373,inset 0 0 0 1px #94a3b824;color:var(--color-text);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.experience-card:hover,.experience-card:focus-visible{transform:translateY(-6px);border-color:#5cc8ff61;box-shadow:0 32px 80px #0308238c,inset 0 0 0 1px #5cc8ff33}.experience-card header{display:flex;flex-direction:column;gap:.35rem}.experience-card h3{margin:0;font-size:clamp(1.15rem,2.4vw,1.4rem);letter-spacing:-.01em}.experience-card h3 .experience-company{display:block;margin:0;margin-top:.2rem;color:var(--color-muted);font-size:.9rem;letter-spacing:.04em;text-transform:uppercase}.experience-date{display:flex;gap:.35rem;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted)}.experience-date .dash{opacity:.4}.experience-location{margin:0;font-size:.85rem;color:var(--color-muted)}.experience-summary{margin:.75rem 0 0;color:var(--color-text);font-size:.95rem;line-height:1.7}.experience-tags{margin:1rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}.experience-tags li{padding:.25rem .75rem;border-radius:999px;background:#94a3b829;color:var(--color-muted);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.experience-cta{margin-top:clamp(2.5rem,5vw,3.5rem);color:var(--color-muted);font-size:.95rem}.experience-cta a{color:var(--color-accent);text-decoration:none}.experience-cta a:hover,.experience-cta a:focus-visible{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.4rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button.primary{background:var(--color-accent);color:#031024;box-shadow:0 12px 28px #58b7ff52}.button.primary:hover,.button.primary:focus-visible{transform:translateY(-2px);background:#69c1ff;box-shadow:0 16px 34px #58b7ff6b}.button.secondary{background:#94a3b81f;color:var(--color-text);border:1px solid rgba(148,163,184,.2)}.button.secondary:hover,.button.secondary:focus-visible{border-color:#94a3b866;transform:translateY(-2px)}.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .9rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.1rem}.card{position:relative;padding:1.25rem;background:var(--color-card);border:1px solid rgba(148,163,184,.14);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:1.2rem;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.project-card{position:relative}.project-card-overlay{position:absolute;inset:0;border-radius:inherit;z-index:2;display:block;cursor:pointer}.project-card-content{display:flex;flex-direction:column;gap:1.2rem}.project-card-content h3 a,.project-links,.project-links a{position:relative;z-index:3;pointer-events:auto}.card-media{margin:0;margin-bottom:.35rem;border-radius:calc(var(--radius-lg) - .8rem);overflow:hidden;border:1px solid rgba(255,255,255,.06);background:#080e23e6;aspect-ratio:16 / 9;box-shadow:inset 0 0 0 1px #ffffff05}.card-media img{display:block;width:100%;height:100%;object-fit:cover}.card-body{display:flex;flex-direction:column;gap:1.2rem;flex:1}.card:hover,.card:focus-within{transform:translateY(-4px);border-color:#38bdf866;box-shadow:0 24px 48px #0f172a66}.card h3{margin:0;font-size:1.3rem;letter-spacing:-.01em}.card p{margin:0;color:var(--color-muted)}.tag-list{display:flex;flex-wrap:wrap;gap:.6rem}.tag{padding:.25rem .75rem;border-radius:999px;background:#94a3b824;color:var(--color-muted);font-size:.75rem;font-weight:500}.meta{display:flex;align-items:center;gap:1rem;color:var(--color-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.site-footer{padding:2.5rem 0;border-top:1px solid rgba(148,163,184,.12);background:#0f172ad9;backdrop-filter:blur(16px);color:var(--color-muted);font-size:.85rem}.site-footer .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}@media(max-width:720px){.site-header .container{flex-direction:column;gap:1rem}.site-header nav ul{gap:1rem}.hero{min-height:auto;padding:clamp(3rem,9vw,4.5rem) clamp(1.2rem,6vw,1.8rem) clamp(4rem,12vw,5rem)}.hero-grid{width:100%;padding-inline:clamp(1rem,4vw,2rem)}.hero-grid{grid-template-columns:1fr;gap:2.4rem}.hero-intro{align-items:center;text-align:center;gap:1.4rem}.hero-actions{justify-content:center}.portrait-frame{width:min(260px,68vw)}.scroll-indicator{display:none}.site-main{padding-top:2rem}.experience-timeline{grid-template-columns:1fr;row-gap:2.2rem}.experience-line{display:none}.experience-item.left,.experience-item.right{grid-column:1}.experience-item.right{margin-top:0}.experience-item.right:first-of-type{margin-top:0}.experience-dot{display:none}}.project-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto;position:relative;z-index:3}.project-link{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.1rem;border-radius:999px;background:#94a3b826;border:1px solid rgba(148,163,184,.4);color:var(--color-text);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.project-link:hover,.project-link:focus-visible{transform:translateY(-2px);border-color:#5cc8ffb3;background:#5cc8ff33;box-shadow:0 10px 22px #58b7ff40}
