:root{--bg: #071017;--bg-2: #0a1620;--panel: rgba(11, 23, 31, .72);--panel-strong: rgba(15, 28, 38, .88);--text: #ecf4f7;--muted: #a7bcc7;--line: rgba(186, 220, 235, .16);--accent: #6ff0c7;--accent-2: #ffcf70;--accent-3: #76a9ff;--font-head: "Sora", sans-serif;--font-body: "Space Grotesk", sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:var(--font-body);background:radial-gradient(circle at 20% 10%,rgba(108,240,199,.12),transparent 28%),radial-gradient(circle at 80% 18%,rgba(118,169,255,.12),transparent 24%),radial-gradient(circle at 50% 90%,rgba(255,207,112,.08),transparent 30%),linear-gradient(160deg,#040a10 0%,var(--bg) 48%,#04070b 100%);min-height:100vh;overflow-x:hidden}a{color:inherit}::selection{background:#6ff0c747;color:var(--text)}.site-shell{max-width:1180px;margin:0 auto;padding:1.2rem 1.1rem 3.5rem;position:relative}.background-art,.aurora{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-2}.background-art{z-index:-1;opacity:.72;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:58px 58px;-webkit-mask-image:radial-gradient(circle at 50% 20%,black 18%,transparent 72%);mask-image:radial-gradient(circle at 50% 20%,black 18%,transparent 72%)}.aurora{filter:blur(32px);opacity:.5;transform:translateZ(0);animation:drift 16s ease-in-out infinite alternate}.aurora-one{background:radial-gradient(circle at 20% 30%,rgba(111,240,199,.22),transparent 30%),radial-gradient(circle at 70% 20%,rgba(118,169,255,.18),transparent 28%)}.aurora-two{background:radial-gradient(circle at 80% 70%,rgba(255,207,112,.16),transparent 26%),radial-gradient(circle at 30% 80%,rgba(111,240,199,.12),transparent 28%);animation-duration:22s;animation-direction:alternate-reverse}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--line);background:#050d129e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:.9rem 1.1rem;border-radius:1.35rem;margin-bottom:1.15rem;box-shadow:0 18px 50px #0000002e}.brand{letter-spacing:.18em;font-size:.74rem;font-weight:700;color:var(--muted)}.topbar-note{margin:.2rem 0 0;color:var(--text);font-size:.9rem}.nav-links{display:flex;flex-wrap:wrap;gap:.8rem;font-size:.9rem}.nav-links a{text-decoration:none;color:var(--muted);transition:.18s ease}.nav-links a:hover{color:var(--text)}.hero,.panel{border:1px solid var(--line);background:var(--panel);border-radius:1.35rem;box-shadow:0 22px 60px #0000003d}.intro-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:1rem;align-items:stretch}.profile-panel,.intro-side{position:relative;overflow:hidden}.profile-panel{display:flex;flex-direction:column;gap:.8rem;padding:1.1rem;background:linear-gradient(145deg,#12222ef0,#081016f0),radial-gradient(circle at 100% 0%,rgba(111,240,199,.1),transparent 28%)}.profile-panel h1{margin:0;font-family:var(--font-head);font-size:clamp(2.3rem,6vw,4.6rem);line-height:.98;letter-spacing:-.05em}.profile-panel h2{margin:0;font-family:var(--font-head);font-size:clamp(1.05rem,2.1vw,1.45rem);color:var(--accent);letter-spacing:.06em;text-transform:uppercase}.avatar-wrap{width:min(100%,22rem);margin-bottom:.25rem;border-radius:1.4rem;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 40px #00000047;aspect-ratio:1 / 1;background:#ffffff05}.profile-avatar{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.02)}.intro-side{padding:1.1rem;background:linear-gradient(180deg,#111f2ae6,#081118f0)}.intro-side h2{margin:.8rem 0 0;font-family:var(--font-head);line-height:1.18;font-size:clamp(1.25rem,2.4vw,1.9rem);max-width:16ch}.hero{padding:1.35rem;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.95fr);gap:1rem;overflow:hidden;position:relative;background:linear-gradient(145deg,#12222eeb,#081016eb),radial-gradient(circle at 100% 0%,rgba(111,240,199,.1),transparent 28%)}.hero:after{content:"";position:absolute;inset:auto -20% -35% auto;width:22rem;height:22rem;border-radius:50%;background:radial-gradient(circle,rgba(118,169,255,.16),transparent 65%);filter:blur(8px);animation:pulse 8s ease-in-out infinite}.hero-copy-block{position:relative;z-index:1}.kicker,.section-head p,.section-tag,.side-label,.project-tag{margin:0;font-size:.74rem;letter-spacing:.18em;font-weight:700}.kicker,.section-head p,.section-tag{color:var(--accent-2)}.hero h1{font-family:var(--font-head);font-weight:800;line-height:1.04;margin:.8rem 0 0;max-width:14ch;font-size:clamp(2rem,4.9vw,4.4rem);letter-spacing:-.04em}.hero-copy{margin-top:1rem;max-width:62ch;color:var(--muted);line-height:1.62;font-size:1.03rem}.hero-actions{display:flex;gap:.8rem;margin-top:1.45rem;flex-wrap:wrap}.btn,.link,.contact-links a,.mini-link{transition:.2s ease}.btn{text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:.68rem 1rem;background:#ffffff05}.btn:hover,.link:hover,.contact-links a:hover,.mini-link:hover{transform:translateY(-2px)}.btn:hover{border-color:#6ff0c799;box-shadow:0 10px 24px #6ff0c717}.btn.primary{background:linear-gradient(95deg,var(--accent),#b6ffe8);color:#05251d;border-color:transparent;font-weight:700}.hero-side{position:relative;overflow:hidden;padding:1.2rem;background:linear-gradient(180deg,#111f2ae6,#081118f0)}.profile-orb{position:absolute;top:-20px;right:-10px;width:9rem;height:9rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.9),transparent 14%),radial-gradient(circle at 50% 50%,rgba(111,240,199,.4),rgba(111,240,199,.08) 55%,transparent 68%);filter:blur(1px);animation:float 7s ease-in-out infinite}.side-label{color:var(--accent)}.hero-side h2{margin:.8rem 0 0;font-family:var(--font-head);line-height:1.18;font-size:clamp(1.2rem,2.3vw,1.85rem);max-width:16ch}.side-copy{color:var(--muted);line-height:1.6;margin-bottom:1rem}.mini-metrics{display:grid;gap:.7rem}.mini-metrics div{display:grid;gap:.2rem;padding:.85rem .95rem;border-radius:1rem;border:1px solid rgba(255,255,255,.06);background:#ffffff08}.mini-metrics strong{font-size:1rem}.mini-metrics span{color:var(--muted);font-size:.87rem}.journey-track{display:grid;gap:.7rem;margin-top:auto;padding-top:.4rem}.journey-step{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:center;padding:.85rem .95rem;border-radius:1rem;border:1px solid rgba(255,255,255,.06);background:#ffffff08;text-decoration:none}.journey-step strong,.journey-step small{display:block}.journey-step strong{font-size:.98rem}.journey-step small{color:var(--muted);margin-top:.15rem}.journey-index{font-family:var(--font-head);font-size:1rem;color:var(--accent-2);min-width:2.2rem}.stats-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.stat-card{background:linear-gradient(180deg,#0e1a24e6,#091219e6);min-height:8.8rem}.stat-card h3{margin:0;font-size:2rem;font-family:var(--font-head)}.stat-card p{margin:.4rem 0 0;color:var(--muted)}.section{margin-top:1rem;scroll-margin-top:1.2rem}.section-head{margin-bottom:.75rem}.section-head h2{margin:.4rem 0;font-size:clamp(1.25rem,2.5vw,2rem);line-height:1.2;max-width:36ch;font-family:var(--font-head)}.section-head span{color:var(--muted)}.skill-grid,.project-grid,.two-col{display:grid;gap:.8rem}.skill-grid,.project-grid,.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:1.1rem;background:var(--panel-strong)}.reveal-card,.topbar,.stats-grid,.section{position:relative}.panel h3{margin:.2rem 0 .7rem;font-size:1.12rem;font-family:var(--font-head)}.panel ul{margin:0;padding-left:1rem;color:var(--muted);line-height:1.55}.timeline ul li+li,.project-card ul li+li,.panel ul li+li{margin-top:.55rem}.project-tag{color:var(--accent)}.project-card{position:relative;overflow:hidden;min-height:100%}.project-card:before{content:"";position:absolute;inset:auto -15% -40% auto;width:11rem;height:11rem;border-radius:50%;background:radial-gradient(circle,rgba(111,240,199,.12),transparent 65%);opacity:0;transition:.24s ease}.project-card:hover:before{opacity:1}.link,.mini-link,.contact-links a{display:inline-flex;align-items:center;text-decoration:none;color:var(--accent-2)}.link{margin-top:.95rem}.mini-link{margin-left:.5rem}.contact-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.contact-links a{padding:.55rem .85rem;border:1px solid var(--line);border-radius:999px;background:#ffffff05}.reveal-card,.topbar,.stats-grid,.section,.hero{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.is-visible,.is-visible .reveal-card,.hero.is-visible,.topbar.is-visible,.stats-grid.is-visible,.section.is-visible{opacity:1;transform:translateY(0)}.section>.skill-grid .panel,.section>.project-grid .panel,.section>.two-col .panel{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.section.is-visible .panel{opacity:1;transform:translateY(0)}.section.is-visible .panel:nth-child(1){transition-delay:90ms}.section.is-visible .panel:nth-child(2){transition-delay:.17s}.section.is-visible .panel:nth-child(3){transition-delay:.25s}.section.is-visible .panel:nth-child(4){transition-delay:.33s}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,1%,0) scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}@media (max-width: 980px){.intro-grid,.hero,.stats-grid,.skill-grid,.project-grid,.two-col{grid-template-columns:1fr}.intro-grid{gap:.8rem}.profile-panel,.intro-side{padding:1.15rem}}@media (max-width: 760px){.topbar{border-radius:1rem;flex-direction:column;align-items:flex-start}.nav-links{gap:.65rem}.site-shell{padding-inline:.8rem}.hero h1{max-width:12ch}.avatar-wrap{width:100%}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-card,.topbar,.stats-grid,.section,.hero,.section>.skill-grid .panel,.section>.project-grid .panel,.section>.two-col .panel{opacity:1;transform:none}}
