@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.56c1f21e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3b336396.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.e3369375.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.a40b9a8b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.fe42ddf4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.29207c2f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f6f5f2;--surface:#fff;--ink:#1a1d21;--muted:#5c6570;--accent:#0b4f6c;--accent-soft:#e7f1f5;--line:#e4e2dc;--radius:16px;--shadow:0 8px 24px rgba(26,29,33,.06);--max:1040px}body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3{color:var(--ink)}.site-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:rgba(246,245,242,.92);position:-webkit-sticky;position:sticky;top:0}.nav{max-width:var(--max);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin:0 auto;padding:.9rem 1.5rem;display:flex}.nav-name{letter-spacing:-.02em;font-weight:600}.nav-links{flex-wrap:wrap;gap:.35rem 1.25rem;list-style:none;display:flex}.nav-links a{color:var(--muted);font-size:.92rem}.nav-links a:hover{color:var(--ink)}.hero{max-width:var(--max);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:3rem;margin:0 auto;padding:4.5rem 1.5rem 1rem;display:grid}.hero h1{letter-spacing:-.03em;font-size:max(2.75rem,min(6vw,4.5rem));font-weight:700;line-height:1.05}.hero p{color:var(--muted);max-width:36rem;margin-top:1rem;font-size:1.15rem}.cta{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.btn{border:1px solid transparent;border-radius:8px;padding:.75rem 1.2rem;font-size:.95rem;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-block}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#083d54}.btn-outline{color:var(--ink);background:0 0;border-color:#cfcbc3}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.profile-pic{aspect-ratio:1;background:var(--surface);width:min(280px,100%);height:auto;box-shadow:var(--shadow);border-radius:50%;justify-self:end;display:block;overflow:hidden}section{max-width:var(--max);margin:0 auto;padding:3.5rem 1.5rem}section[id]{scroll-margin-top:5rem}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem;font-size:.75rem;font-weight:600}section h2{letter-spacing:-.02em;margin-bottom:1.25rem;font-size:1.85rem}.about p:last-child{max-width:42rem;font-size:1.05rem}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.skill-box{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);padding:1.25rem 1.35rem 1.4rem}.skill-box h3{margin-bottom:.9rem;font-size:1.05rem}.chips{flex-wrap:wrap;gap:.45rem;list-style:none;display:flex}.chips li{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:.28rem .65rem;font-size:.85rem;font-weight:500}.timeline-list{border-left:2px solid var(--line);margin-left:.45rem;padding-left:1.75rem;list-style:none}.timeline-item{margin-bottom:2.25rem;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-item:before{content:"";background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;position:absolute;top:.35rem;left:calc(-1.75rem - 6px)}.timeline-years{letter-spacing:.04em;color:var(--accent);margin-bottom:.2rem;font-size:.85rem;font-weight:600}.timeline-item h3{margin-bottom:.15rem;font-size:1.15rem}.timeline-item span{color:var(--muted);margin-bottom:.4rem;font-size:.9rem;display:block}.projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.35rem 1.4rem 1.45rem;transition:border-color .2s,box-shadow .2s}.project-card:hover{border-color:#c5d5de;box-shadow:0 10px 28px rgba(26,29,33,.08)}.project-card h3{margin-bottom:.45rem}.project-card p{color:var(--muted);margin-bottom:1rem}.project-card .chips li{background:var(--bg);color:var(--ink)}.contact-panel{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:640px;box-shadow:var(--shadow);margin:0 auto;padding:2.5rem 1.75rem}.contact-panel .eyebrow{color:var(--accent)}.contact-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.25rem;display:flex}footer{text-align:center;color:var(--muted);padding:.5rem 1.5rem 2.5rem;font-size:.9rem}@media (max-width:768px){.nav{flex-direction:column;align-items:flex-start}.hero{grid-template-columns:1fr;gap:2rem;padding-top:2.5rem}.profile-pic{justify-self:start}.skills-grid,.projects{grid-template-columns:1fr}}
