@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at top left,rgba(56,189,248,.2),transparent 34rem),linear-gradient(135deg,#0b1120,#0f172a 44%,#111827);color:#eef4ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid rgba(56,189,248,.55);outline-offset:4px}p,h1,h2,h3{margin-top:0}p{color:#a8b3c7}ul{margin:0;padding:0}li{list-style:none}.site-shell{min-height:100vh;overflow-x:hidden}.container{width:min(100% - 2rem,1120px);margin-inline:auto}.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;transform:translateY(-150%);border-radius:.75rem;background:#eef4ff;color:#0b1120;font-weight:800;padding:.75rem 1rem;transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.1);background:#0b1120e0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{color:#eef4ff;font-family:Space Grotesk,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.02rem;font-weight:800;letter-spacing:0;white-space:nowrap}.nav__links{display:none;align-items:center;gap:.25rem}.nav__links a{border-radius:999px;color:#a8b3c7;font-size:.93rem;font-weight:650;padding:.5rem .75rem;transition:background-color .18s ease,color .18s ease}.nav__links a:hover{background:#38bdf824;color:#eef4ff}@media(min-width:768px){.nav__links{display:flex}}.section{padding:clamp(4rem,8vw,7rem) 0}.section--muted{background:#ffffff08;border-block:1px solid rgba(255,255,255,.1)}.section--cta{padding-block:clamp(3rem,6vw,5rem);border-block:1px solid rgba(255,255,255,.08);background:#ffffff09}.hero{padding-top:clamp(5rem,10vw,8rem)}.hero__grid{display:grid;gap:clamp(1.75rem,4vw,3rem);align-items:start}@media(min-width:1024px){.hero__grid{grid-template-columns:minmax(0,1fr) minmax(390px,.95fr)}}.hero__content{display:grid;gap:1.25rem;padding-top:.25rem}.eyebrow{margin-bottom:.8rem;color:#22d3ee;font-family:Space Grotesk,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{color:#eef4ff;font-family:Space Grotesk,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:700;line-height:1.04}h1{max-width:880px;margin-bottom:1.25rem;font-size:clamp(2.35rem,7.3vw,5.1rem);letter-spacing:-.025em}.hero__role{display:flex;flex-wrap:wrap;flex-direction:column;align-items:center;gap:.25rem .7rem;max-width:1040px;margin-bottom:0;color:#22d3ee;font-size:clamp(1.85rem,4.45vw,3.55rem);letter-spacing:-.025em;line-height:1.04}.hero__role span{white-space:nowrap}.hero__role-divider{color:#a8b3c7}.hero__headline{max-width:720px;margin-bottom:0;color:#eef4ff;font-family:Space Grotesk,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:700;font-size:clamp(1.45rem,3.1vw,2.35rem);letter-spacing:-.01em;line-height:1.18}h2{margin-bottom:1rem;font-size:clamp(1.85rem,3.8vw,3rem);letter-spacing:-.015em}h3{margin-bottom:.75rem;font-size:1.25rem;letter-spacing:0}.hero__lead{max-width:760px;margin-bottom:.35rem;font-size:clamp(1.05rem,2vw,1.24rem);line-height:1.75}.hero-focus{display:grid;gap:.75rem}.hero-focus__label{margin-bottom:0;color:#a8b3c7;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.85rem;letter-spacing:.02em}.hero-focus ul{display:flex;flex-wrap:wrap;gap:.65rem}.hero-focus li{border:1px solid rgba(56,189,248,.28);border-radius:999px;background:#38bdf817;color:#eef4ff;font-size:.92rem;font-weight:700;padding:.45rem .72rem}.hero__actions,.project-card__actions{display:flex;flex-wrap:wrap;gap:.85rem}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;font-weight:800;padding:.78rem 1.1rem;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.button:hover{transform:translateY(-2px)}.button--primary{background:linear-gradient(135deg,#38bdf8,#22d3ee);color:#07111f}.button--secondary{border-color:#ffffff1a;background:#ffffff0f;color:#eef4ff}.button--secondary:hover{border-color:#38bdf873;background:#38bdf824}.skill-card,.project-card,.timeline-item,.resume-card,.contact-panel{border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;background:#172033c7;box-shadow:0 24px 80px #02061757}.hero__photo-wrap{position:relative;isolation:isolate;justify-self:center;width:min(100%,570px);margin-bottom:calc(clamp(4rem,8vw,7rem)*-1)}.hero__photo-wrap:before,.hero__photo-wrap:after{position:absolute;z-index:-1;border-radius:999px;content:"";filter:blur(30px);opacity:.42}.hero__photo-wrap:before{inset:16% 12% 12%;background:#22d3ee38}.hero__photo-wrap:after{inset:42% 8% 3% 22%;background:#34d3991f}.hero__photo{display:block;width:100%;aspect-ratio:4/5;border-radius:1.5rem;object-fit:cover;object-position:center top;filter:drop-shadow(0 26px 62px rgba(2,6,23,.44)) drop-shadow(0 0 14px rgba(34,211,238,.1))}.split-layout{display:grid;gap:2rem}@media(min-width:1024px){.split-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}}.content-stack{display:grid;gap:1rem}.content-stack p{margin-bottom:0;font-size:1.05rem}.section-heading{max-width:880px;margin-bottom:2.25rem}.section-heading--wide{max-width:900px}.skills-grid{display:grid;gap:1rem}@media(min-width:768px){.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.skill-card{padding:1.25rem;border-color:color-mix(in srgb,var(--skill-accent) 24%,transparent);transition:transform .18s ease,border-color .18s ease}.skill-card h3{display:flex;align-items:center;gap:.6rem}.skill-card h3:before{width:.65rem;height:.65rem;flex:0 0 auto;border-radius:999px;background:var(--skill-accent);box-shadow:0 0 18px color-mix(in srgb,var(--skill-accent) 52%,transparent);content:""}.skill-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--skill-accent) 52%,transparent)}.tag-list{display:flex;flex-wrap:wrap;gap:.6rem}.tag-list li{border:1px solid color-mix(in srgb,var(--tag-accent, #38bdf8) 34%,transparent);border-radius:999px;background:color-mix(in srgb,var(--tag-accent, #38bdf8) 13%,transparent);color:color-mix(in srgb,var(--tag-accent, #38bdf8) 44%,#eef4ff);font-size:.9rem;font-weight:700;padding:.4rem .68rem}.project-card--featured{display:grid;gap:1.5rem;overflow:hidden;padding:clamp(1rem,3vw,1.5rem)}@media(min-width:1024px){.project-card--featured{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}.project-card__visual{display:grid;min-height:330px;place-items:center;border-radius:1rem;background:radial-gradient(circle at top right,rgba(52,211,153,.3),transparent 17rem),linear-gradient(135deg,#38bdf82e,#1e293bd9);padding:1rem}.browser-frame{width:min(100%,430px);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:1rem;background:#020617b8}.browser-frame__bar{display:flex;gap:.4rem;border-bottom:1px solid rgba(255,255,255,.12);padding:.8rem}.browser-frame__bar span{width:.7rem;height:.7rem;border-radius:999px;background:#38bdf8;opacity:.75}.browser-frame__content{padding:clamp(1.25rem,4vw,2rem)}.short-url{margin-bottom:.7rem;color:#eef4ff;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(1.55rem,5vw,2.4rem);font-weight:900}.redirect-label{margin-bottom:1.5rem}.metric-row{display:grid;gap:.65rem}@media(min-width:768px){.metric-row{grid-template-columns:repeat(3,1fr)}}.metric-row span{border:1px solid rgba(56,189,248,.35);border-radius:.75rem;background:#38bdf824;color:#eef4ff;font-size:.85rem;font-weight:900;padding:.75rem;text-align:center}.project-card__content{padding:clamp(.5rem,2vw,1rem)}.feature-list{display:grid;gap:.8rem;margin:1.25rem 0 1.5rem}.feature-list li{position:relative;color:#a8b3c7;padding-left:1.6rem}.feature-list li:before{position:absolute;top:.58rem;left:0;width:.55rem;height:.55rem;border-radius:999px;background:#38bdf8;content:""}.feature-list--compact{gap:.65rem;margin:0}.feature-list--compact li{font-size:.95rem}.text-link{color:#22d3ee;font-weight:900;text-decoration:underline;text-decoration-color:#22d3ee59;text-underline-offset:.25rem}.text-link:hover{text-decoration-color:currentColor}.timeline{display:grid;gap:1rem}.timeline-item{display:grid;gap:.85rem;padding:1.25rem}.timeline-item p{margin-bottom:0}.timeline-item__meta{color:#22d3ee;font-size:.92rem;font-weight:800}.resume-card{display:grid;gap:1.5rem;align-items:center;border-color:#38bdf838;box-shadow:0 28px 90px #0206177a,0 0 0 1px #38bdf80f inset;padding:clamp(1.35rem,4vw,2rem)}.resume-card p{margin-bottom:0}@media(min-width:768px){.resume-card{grid-template-columns:minmax(0,1fr) auto}}.contact-panel{display:grid;gap:1.5rem;padding:clamp(1.25rem,4vw,2rem)}.contact-panel p{margin-bottom:0}.contact-list{display:grid;gap:.85rem}.contact-list li{display:grid;gap:.2rem;border-top:1px solid rgba(255,255,255,.1);padding-top:.85rem}@media(min-width:768px){.contact-list li{grid-template-columns:120px minmax(0,1fr)}}.contact-list span{color:#eef4ff;font-weight:900}.contact-list a{color:#22d3ee;overflow-wrap:anywhere}.contact-list a:hover{text-decoration:underline;text-underline-offset:.25rem}.site-footer{border-top:1px solid rgba(255,255,255,.1);padding:1.4rem 0}.footer__inner{display:flex;flex-direction:column;gap:.7rem}.footer__inner p{margin:0}.footer__inner a{color:#22d3ee;font-weight:900}@media(min-width:768px){.footer__inner{flex-direction:row;align-items:center;justify-content:space-between}}.back-to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:30;display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid rgba(56,189,248,.38);border-radius:999px;background:#0b1120eb;box-shadow:0 24px 80px #02061757;color:#22d3ee;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.back-to-top svg{width:1.25rem;height:1.25rem;fill:currentColor}.back-to-top:hover{transform:translateY(-3px);border-color:#38bdf8a6;background:#0f172afa}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
