:root{--bg: #07060d;--surface: rgba(20, 22, 38, .6);--border: rgba(160, 180, 220, .16);--text: #eef4ff;--muted: #a9b8d8;--blue: #9fc1ff;--orange: #ff9a52;--font: "Helvetica Neue", Arial, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);font-weight:300;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3{font-weight:200}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease var(--delay, 0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--delay, 0ms)}.reveal.is-visible{opacity:1;transform:none}.hero{position:relative;min-height:100vh;display:grid;place-items:center;text-align:center;overflow:hidden;padding:0 1rem}.hero-scene{position:absolute;top:0;right:0;bottom:0;left:0}.aurora{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(90px);opacity:.35;animation:drift 18s ease-in-out infinite alternate}.aurora-a{background:radial-gradient(circle,#ff9a52,transparent 65%);top:-20vmax;left:-10vmax}.aurora-b{background:radial-gradient(circle,#4464b4,transparent 65%);bottom:-25vmax;right:-15vmax;animation-delay:-9s}.grid-floor{position:absolute;left:-50%;right:-50%;bottom:0;height:55%;background-image:linear-gradient(rgba(159,193,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(159,193,255,.25) 1px,transparent 1px);background-size:60px 60px;transform:perspective(500px) rotateX(62deg);transform-origin:bottom;mask-image:linear-gradient(to top,#000 10%,transparent 90%);-webkit-mask-image:linear-gradient(to top,#000 10%,transparent 90%);animation:gridMove 3s linear infinite}.hero-content{position:relative;z-index:1}.hero-title{font-size:clamp(2rem,10vw,5rem);letter-spacing:.2em;overflow-wrap:anywhere;text-shadow:0 0 40px rgba(255,154,82,.4),0 2px 10px rgba(0,0,0,.8)}.hero-tagline{margin-top:.75rem;font-size:clamp(.95rem,4.2vw,1.5rem);letter-spacing:.25em;color:#cbd9f5}.scroll-hint{position:absolute;bottom:2.5rem;left:0;right:0;z-index:1;font-size:.85rem;letter-spacing:.35em;color:#cbd9f5;animation:scrollHint 2.2s ease-in-out infinite}.scroll-hint span{display:block;margin-top:.4rem;font-size:1.1rem;letter-spacing:0}.section{padding:clamp(4rem,10vw,8rem) 1.25rem;position:relative}.section:nth-of-type(2n):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,transparent,rgba(68,100,180,.07),transparent)}.container{max-width:1000px;margin:0 auto}.section-heading{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem}.section-index{font-size:.9rem;letter-spacing:.2em;color:var(--orange);font-variant-numeric:tabular-nums}.section-heading h2{font-size:clamp(1.6rem,5vw,2.4rem);letter-spacing:.15em;text-transform:uppercase}.section-rule{flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.25rem}.cert-card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 1rem;text-align:center;font-size:.85rem;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cert-card.is-visible{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.cert-card.is-visible:hover{transform:translateY(-6px);border-color:#ff9a5280;box-shadow:0 12px 40px -12px #ff9a5259}.cert-card img{width:140px;height:140px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(255,154,82,.3))}.resume-row{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2rem}.social-row{display:flex;align-items:center;gap:1.25rem}.social-row img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(159,193,255,.3));transition:transform .25s ease}.social-row a:hover img{transform:scale(1.15) rotate(-4deg)}.btn{display:inline-block;padding:.7rem 1.4rem;border-radius:999px;border:1px solid rgba(159,193,255,.4);color:#dbe9ff;background:linear-gradient(135deg,#9fc1ff26,#ff9a521f);letter-spacing:.08em;font-size:.9rem;transition:box-shadow .3s ease,transform .3s ease}.btn:hover{box-shadow:0 0 30px #9fc1ff59;transform:translateY(-2px)}.timeline{list-style:none;position:relative;margin-top:3rem;padding-left:2rem}.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--orange),var(--blue),transparent)}.timeline-item{position:relative;margin-bottom:1.5rem}.timeline-dot{position:absolute;left:calc(-2rem + 1px);top:1.6rem;width:11px;height:11px;border-radius:50%;background:var(--orange);box-shadow:0 0 14px var(--orange)}.timeline-card{padding:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted)}.timeline-card h3{font-size:1.25rem;font-weight:400;color:var(--text)}.timeline-dates{float:right;margin-left:1rem;font-size:.8rem;letter-spacing:.1em;color:var(--orange)}.timeline-role{font-size:.85rem;opacity:.7;margin-bottom:.6rem}.project-grid{display:flex;flex-direction:column;gap:1.5rem}.project-card{--mx: 50%;--my: 50%;position:relative;display:block;width:100%;padding:clamp(1.5rem,4vw,2.5rem);overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;transition:border-color .3s ease,transform .3s ease}.project-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s ease;background:radial-gradient(360px circle at var(--mx) var(--my),rgba(159,193,255,.18),transparent 60%)}.project-card:hover{border-color:#9fc1ff80;transform:translateY(-4px)}.project-card:hover:before{opacity:1}.project-card>*{position:relative}.project-card h3{font-size:1.8rem;letter-spacing:.08em}.project-blurb{color:var(--muted);margin:.4rem 0 1.25rem}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.chips li{padding:.2rem .75rem;font-size:.75rem;letter-spacing:.05em;border-radius:999px;border:1px solid var(--border);color:var(--blue);background:#9fc1ff0f}.project-body{margin-bottom:1.5rem}.project-body p{color:var(--muted)}.project-body p+p{margin-top:1rem}.project-link{color:var(--orange);font-size:.9rem;letter-spacing:.05em}.edu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.edu-card{position:relative;padding:1.75rem;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:1rem}.edu-card h3{font-size:1.25rem;font-weight:400}.edu-card p{color:var(--muted);font-size:.9rem}.edu-year{position:absolute;right:1rem;top:-.3rem;font-size:4.5rem;font-weight:200;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(159,193,255,.25)}.footer{margin-top:6rem;text-align:center;color:var(--muted);font-size:.8rem}.footer a{color:var(--blue);font-size:1rem;letter-spacing:.1em}.footer p{margin-top:.5rem;opacity:.6}@keyframes scrollHint{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(6px);opacity:1}}@keyframes drift{to{transform:translate(8vmax,6vmax) scale(1.15)}}@keyframes gridMove{to{background-position:0 60px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.aurora,.grid-floor,.scroll-hint{animation:none}}.badges img{display:block;width:100%;height:auto}.job-details{margin-top:1rem}.job-group{margin-top:1.25rem}.job-group h4{font-size:.95rem;font-weight:400;letter-spacing:.06em;color:var(--text);margin-bottom:.5rem}.job-group ul{list-style:none}.job-group li{position:relative;padding-left:1.1rem;font-size:.9rem}.job-group li+li{margin-top:.6rem}.job-group li:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--orange)}.job-group strong{font-weight:400;color:var(--text)}
