:root{--accent:#2fb58c;--radius:14px;--bg:#faf9f7;--surface:#fff;--text:#1c1a17;--muted:#6d6961;--border:#1c1a1717;--chip:#1c1a170d;--nav:#faf9f7d1}[data-theme=dark]{--bg:#131211;--surface:#1c1a18;--text:#f1efea;--muted:#a29d93;--border:#f1efea1c;--chip:#f1efea12;--nav:#131211d1}html{scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:Manrope,system-ui,sans-serif;transition:background .35s,color .35s}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent);color:#fff}.container{max-width:960px;margin:0 auto;padding:0 28px}.reveal{transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal.is-hidden{opacity:0;transform:translateY(18px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.is-hidden{opacity:1;transition:none;transform:none}}.site-nav{z-index:50;-webkit-backdrop-filter:blur(14px);background:var(--nav);border-bottom:1px solid var(--border);position:sticky;top:0}.site-nav .container{align-items:center;gap:20px;padding-top:14px;padding-bottom:14px;display:flex}.brand{letter-spacing:-.02em;color:var(--text);font-family:Sora,sans-serif;font-size:15px;font-weight:700}.brand:hover{text-decoration:none}.brand span{color:var(--accent)}.nav-links{flex-wrap:wrap;align-items:center;gap:18px;margin-left:auto;display:flex}.nav-links a{color:var(--muted);font-size:13px;font-weight:500}.nav-links a:hover{color:var(--text);text-decoration:none}.nav-actions{align-items:center;gap:8px;display:flex}.lang-toggle{letter-spacing:.04em;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-family:Manrope,sans-serif;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.theme-toggle{border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border-radius:999px;place-items:center;padding:0;font-size:14px;display:grid}.lang-toggle:hover,.theme-toggle:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.theme-toggle .icon-sun,[data-theme=dark] .theme-toggle .icon-moon{display:none}[data-theme=dark] .theme-toggle .icon-sun{display:block}.theme-toggle svg,.btn-primary svg,.hero-meta svg,.contact-line svg{flex:none}.nav-burger{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:8px;display:none}.nav-burger span{background:var(--text);border-radius:2px;width:100%;height:2px;transition:transform .25s,opacity .2s;display:block}.site-nav.is-open .nav-burger span:first-child{transform:translateY(7px)rotate(45deg)}.site-nav.is-open .nav-burger span:nth-child(2){opacity:0}.site-nav.is-open .nav-burger span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=760px){.nav-burger{display:flex}.nav-actions{margin-left:auto}.nav-links{background:var(--nav);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:0;margin-left:0;padding:6px 28px 14px;display:none;position:absolute;top:100%;left:0;right:0}.site-nav.is-open .nav-links{display:flex}.nav-links a{border-bottom:1px solid var(--border);padding:13px 0;font-size:15px}.nav-links a:last-child{border-bottom:none}}.section{border-top:1px solid var(--border);padding:56px 0;scroll-margin-top:70px}.section-heading{align-items:baseline;gap:14px;margin-bottom:28px;display:flex}.section-heading .num{color:var(--accent);font-family:Sora,sans-serif;font-size:13px;font-weight:700}.section-heading h2{letter-spacing:-.02em;margin:0;font-family:Sora,sans-serif;font-size:28px;font-weight:700}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.chip{background:var(--chip);border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.hero{padding:96px 0 72px;scroll-margin-top:70px}.hero-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;font-size:13px;font-weight:700}.hero h1{letter-spacing:-.03em;margin:0 0 22px;font-family:Sora,sans-serif;font-size:clamp(38px,6vw,60px);font-weight:700;line-height:1.06}.hero-bio{max-width:640px;color:var(--muted);margin:0 0 30px;font-size:17px;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-primary{background:var(--accent);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary:hover{filter:brightness(1.1);color:#fff;text-decoration:none}.btn-outline{border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;padding:12px 22px;font-size:14px;font-weight:600;display:inline-flex}.btn-outline:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.hero-meta{color:var(--muted);flex-wrap:wrap;gap:22px;margin-top:34px;font-size:13px;display:flex}.hero-meta span,.hero-meta a{align-items:center;gap:7px;display:inline-flex}.hero-meta a{color:var(--muted)}.hero-meta a:hover{color:var(--accent)}.edu-card{flex-wrap:wrap;justify-content:space-between;gap:20px;padding:26px 28px;display:flex}.edu-card .edu-info{flex-direction:column;gap:6px;display:flex}.edu-card h3{margin:0;font-family:Sora,sans-serif;font-size:18px;font-weight:600}.edu-card p{color:var(--muted);margin:0;font-size:14px}.period-chip{color:var(--accent);background:var(--chip);border-radius:999px;align-self:flex-start;padding:6px 14px;font-size:13px;font-weight:600}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.skills-card{padding:24px}.skills-card.stacked{flex-direction:column;gap:22px;display:flex}.skills-card .group-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;font-size:12px;font-weight:700}.timeline{flex-direction:column;display:flex}.timeline[hidden]{display:none}.timeline-item{grid-template-columns:24px 1fr;gap:18px;padding-bottom:36px;display:grid}.timeline-marker{flex-direction:column;align-items:center;gap:6px;padding-top:6px;display:flex}.timeline-marker .dot{background:var(--accent);border-radius:999px;flex:none;width:11px;height:11px}.timeline-marker .line{background:var(--border);flex:1;width:2px}.job-card{padding:24px 26px}.job-card .job-header{flex-wrap:wrap;justify-content:space-between;gap:14px;margin-bottom:6px;display:flex}.job-card h3{margin:0;font-family:Sora,sans-serif;font-size:17px;font-weight:600}.job-card .period{color:var(--accent);font-size:13px;font-weight:600}.job-card .company{color:var(--muted);margin:0 0 14px;font-size:13.5px}.job-card ul{flex-direction:column;gap:7px;margin:0;padding-left:18px;display:flex}.job-card li{color:var(--text);font-size:14px;line-height:1.6}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.project-card{flex-direction:column;justify-content:space-between;gap:20px;padding:24px;display:flex}.project-card h3{margin:0 0 10px;font-family:Sora,sans-serif;font-size:17px;font-weight:600}.project-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.project-links{gap:14px;font-size:13px;font-weight:700;display:flex}.projects-empty{border:1.5px dashed var(--border);border-radius:var(--radius);text-align:center;place-items:center;gap:8px;padding:56px 28px;display:grid}.projects-empty .title{color:var(--muted);margin:0;font-family:Sora,sans-serif;font-size:16px;font-weight:600}.projects-empty .sub{color:var(--muted);opacity:.75;margin:0;font-size:13.5px}.section.contact{padding-bottom:88px}.contact-info{flex-direction:column;gap:14px;display:flex}.contact-info .blurb{color:var(--muted);margin:0 0 6px;font-size:15px;line-height:1.65}.contact-line{color:var(--text);align-items:center;gap:10px;font-size:14.5px;font-weight:600;display:flex}a.contact-line:hover{color:var(--accent);text-decoration:none}.contact-line .icon{background:var(--chip);border:1px solid var(--border);border-radius:10px;place-items:center;width:34px;height:34px;font-size:14px;display:grid}.contact-cta{align-self:flex-start;margin-top:10px}.site-footer{border-top:1px solid var(--border)}.site-footer .container{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:22px;padding-bottom:22px;font-size:12.5px;display:flex}@media (width<=640px){.container{padding:0 20px}.nav-links{padding-left:20px;padding-right:20px}.section{padding:44px 0}.section-heading h2{font-size:23px}.hero{padding:64px 0 52px}.hero-bio{font-size:15.5px}.hero-actions .btn-primary,.hero-actions .btn-outline{flex:1;justify-content:center}.hero-meta{flex-direction:column;gap:10px}.edu-card{padding:20px}.timeline-item{grid-template-columns:18px 1fr;gap:12px}.job-card{padding:18px 20px}.contact-cta{justify-content:center;align-self:stretch}}
