@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.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/7178b3e590c64307-s.11.cyxs5p-0z~.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-20C0,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.16t1db8_9y2o~.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/4fa387ec64143e14-s.0q3udbd2bu5yp.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/bbc41e54d2fcbd21-s.0gw~uztddq1df.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-20C0,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.0.q-h669a_dqa.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"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f9f7f4;--ink:#1a1916;--ink-light:#6b6860;--accent:#c8a96e;--accent-light:#f0e8d8;--border:#e2ddd6;--card-bg:#fff;--font-display:"Cormorant Garamond", Georgia, serif;--font-mono:"DM Mono", "Courier New", monospace}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-display);min-height:100vh;font-weight:300;line-height:1.7}.container{max-width:760px;margin:0 auto;padding:0 2rem}nav{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#f9f7f4e0;padding:1.25rem 0;position:fixed;top:0;left:0;right:0}nav .inner{justify-content:space-between;align-items:center;max-width:760px;margin:0 auto;padding:0 2rem;display:flex}.nav-logo{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink);font-size:1.1rem;font-weight:400;text-decoration:none}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-light);font-size:.72rem;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--ink)}.hero{text-align:center;flex-direction:column;align-items:center;gap:1.75rem;padding-top:7rem;padding-bottom:5rem;display:flex}.profile-ring{background:linear-gradient(135deg, var(--accent), var(--accent-light), var(--accent));border-radius:50%;flex-shrink:0;width:148px;height:148px;padding:3px;box-shadow:0 8px 32px #c8a96e38}.profile-placeholder{background:var(--accent-light);width:100%;height:100%;font-family:var(--font-display);color:var(--accent);letter-spacing:.05em;border-radius:50%;justify-content:center;align-items:center;font-size:2.5rem;font-weight:300;display:flex}.hero-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:clamp(2.4rem,6vw,3.6rem);font-weight:300;line-height:1.1}.hero-name em{color:var(--accent);font-style:italic}.hero-tagline{font-family:var(--font-display);color:var(--ink-light);max-width:480px;font-size:1.2rem;font-weight:300;line-height:1.6}.divider{background:var(--accent);width:40px;height:1px;margin:0 auto}section{border-top:1px solid var(--border);padding:4rem 0}.section-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:2rem;font-size:.68rem}.social-list{flex-wrap:wrap;gap:.75rem;list-style:none;display:flex}.social-link{font-family:var(--font-mono);letter-spacing:.05em;color:var(--ink);border:1px solid var(--border);border-radius:2px;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.78rem;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.social-link:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.projects-grid{flex-direction:column;gap:1.25rem;display:flex}.project-card{background:var(--card-bg);border:1px solid var(--border);color:inherit;border-radius:2px;padding:1.75rem;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s;display:block}.project-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #c8a96e1f}.project-title{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.25rem;font-weight:400}.project-desc{color:var(--ink-light);margin-bottom:1rem;font-size:1rem;line-height:1.65}.project-tags{flex-wrap:wrap;gap:.4rem;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--accent-light);color:var(--accent);border-radius:2px;padding:.25rem .65rem;font-size:.65rem}.contact-intro{color:var(--ink-light);max-width:460px;margin-bottom:2rem;font-size:1.1rem}.form-group{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-field{flex-direction:column;gap:.4rem;display:flex}label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-light);font-size:.66rem}input,textarea{font-family:var(--font-display);color:var(--ink);background:var(--card-bg);border:1px solid var(--border);resize:none;border-radius:2px;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:300;transition:border-color .2s}input:focus,textarea:focus{border-color:var(--accent)}.btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bg);background:var(--ink);cursor:pointer;border:none;border-radius:2px;margin-top:.5rem;padding:.9rem 2.2rem;font-size:.72rem;transition:background .2s;display:inline-block}.btn:hover{background:var(--accent)}.success-msg{font-family:var(--font-mono);letter-spacing:.06em;color:var(--accent);margin-top:1rem;font-size:.78rem}footer{border-top:1px solid var(--border);text-align:center;padding:2rem 0}footer p{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-light);font-size:.68rem}@media (max-width:520px){.form-row{grid-template-columns:1fr}.nav-links{gap:1.2rem}}
