@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.ba7d7329.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0c27b1b4.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.ad37b9d9.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_a0610f6d-module__zt62-W__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_a0610f6d-module__zt62-W__variable{--font-fraunces:"Fraunces","Fraunces Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_40885674-module__nT10SG__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_40885674-module__nT10SG__variable{--font-grotesk:"Space Grotesk","Space Grotesk Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3efe8;--bg-alt:#e7decd;--ink:#141311;--muted:#3f3a33;--accent:#e0482f;--accent-strong:#b73321;--edge:#b9a992;--card:#fff;--shadow:#14131124;--radius:28px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-grotesk),system-ui,sans-serif;background:radial-gradient(circle at top left,#fff6ea 0%,var(--bg)52%,#e6d8c5 100%);color:var(--ink);line-height:1.6}a{color:inherit;text-decoration:none}.page{flex-direction:column;min-height:100vh;display:flex}.hero{padding:48px 6vw 80px}.hero.compact{padding-bottom:56px}.projects-hero{max-width:760px}.nav{justify-content:space-between;align-items:center;padding-bottom:48px;display:flex}.logo{font-family:var(--font-fraunces),serif;letter-spacing:.02em;align-items:center;gap:10px;font-size:1.4rem;display:inline-flex}.logo-mark{object-fit:cover;width:22px;height:22px;box-shadow:0 8px 18px -12px var(--shadow);border-radius:6px}.nav-links{color:var(--muted);gap:24px;font-weight:500;display:flex}.nav-links a{position:relative}.nav-links a:after{content:"";background:var(--accent);width:0;height:2px;transition:width .2s;position:absolute;bottom:-6px;left:0}.nav-links a:hover:after{width:100%}.hero-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center;gap:48px;display:grid}.hero-copy h1{font-family:var(--font-fraunces),serif;margin-bottom:20px;font-size:clamp(2.4rem,3.5vw,4rem);line-height:1.1}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-bottom:16px;font-size:.7rem}.subhead{color:var(--muted);max-width:520px;margin-bottom:28px;font-size:1.05rem}.hero-cta{flex-wrap:wrap;gap:16px;display:flex}.btn{border:1px solid var(--edge);border-radius:999px;padding:12px 20px;font-weight:600;transition:transform .2s,box-shadow .2s}.btn.primary{background:var(--ink);color:#fdfbf8;border-color:var(--ink)}.btn.ghost{background:0 0}.btn:hover{box-shadow:0 16px 24px -20px var(--shadow);transform:translateY(-2px)}.hero-panel{gap:18px;display:grid}.panel-card{border-radius:var(--radius);border:1px solid var(--edge);background:var(--card);box-shadow:0 18px 36px -28px var(--shadow);padding:24px}.panel-card.alt{background:#f9e2d8;border-color:#e4b6a9}.panel-title{text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-bottom:12px;font-size:.72rem}.panel-body{font-weight:500}.section{padding:80px 6vw}.section-header{max-width:680px;margin-bottom:40px}.section-header h2{font-family:var(--font-fraunces),serif;margin-bottom:16px;font-size:clamp(2rem,3vw,3rem)}.section-lede{color:var(--muted)}.projects{background:var(--bg-alt)}.projects-page .section{padding-top:40px}.projects-stack{gap:24px;display:grid}.project-detail{border:1px solid var(--edge);background:var(--card);box-shadow:0 20px 40px -32px var(--shadow);border-radius:26px;gap:20px;padding:28px;display:grid}.project-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.project-detail-head h2{font-size:1.5rem}.project-status{color:var(--muted);font-size:.85rem}.project-detail-body{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.detail-label{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:8px;font-size:.68rem}.project-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.project-card{background:var(--card);border:1px solid var(--edge);box-shadow:0 18px 36px -30px var(--shadow);border-radius:22px;flex-direction:column;gap:16px;padding:24px;display:flex}.project-head{justify-content:space-between;align-items:center;display:flex}.project-head h3{font-size:1.2rem}.pill{color:#6b3a2d;background:#f1dbcf;border:1px solid #e3bfb1;border-radius:999px;padding:4px 12px;font-size:.75rem}.project-desc{color:var(--muted)}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--edge);color:var(--muted);background:#faf6f1;border-radius:999px;padding:4px 10px;font-size:.75rem}.project-link{color:var(--accent-strong);font-weight:600}.about{background:linear-gradient(135deg,#fefcf9 0%,#f1e6dc 100%)}.about-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.about-card{background:#fff6ee;border:1px solid #ebd6c8;border-radius:20px;padding:22px}.about-label{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:8px;font-size:.7rem}.about-value{font-weight:500}.contact{background:var(--bg)}.contact-card{border:1px solid var(--edge);background:#fffdf9;border-radius:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;padding:28px;display:grid}.contact-label{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:8px;font-size:.7rem}.contact-link{color:var(--ink);font-weight:600}.contact-links{gap:16px;display:flex}.footer{color:var(--muted);padding:40px 6vw 60px;font-size:.9rem}@media (max-width:760px){.nav{flex-direction:column;align-items:flex-start;gap:16px}.nav-links{flex-wrap:wrap}.hero{padding-top:32px}}
