:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{color:#111827;background:#f8fafc;margin:0}#root{min-height:100svh}.button{min-height:48px;color:inherit;border:1px solid;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.button--primary{color:#fff;background:#111827}.button--secondary{background:0 0}a:focus-visible,.button:focus-visible{outline-offset:2px;outline:2px solid #111827}.site-header{padding:1.5rem}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;width:min(100%,1100px);margin-inline:auto;display:flex}.site-header__brand{color:inherit;font-size:1.125rem;font-weight:800;text-decoration:none}.site-header__nav{flex-wrap:wrap;justify-content:flex-end;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.site-header__nav a{min-height:44px;color:inherit;align-items:center;padding-inline:.125rem;font-weight:600;text-decoration:none;display:inline-flex}.site-header__nav a:hover{text-decoration:underline}@media (width<=480px){.site-header{padding:1rem}.site-header__inner{align-items:flex-start;gap:.75rem}.site-header__brand{font-size:1rem}.site-header__nav{gap:.75rem 1rem}}.site-footer{border-top:1px solid #cbd5e1;padding:2rem 1.5rem}.site-footer__inner{width:min(100%,1100px);margin-inline:auto}.site-footer p{margin:0;font-size:.875rem}.about{padding:clamp(4rem,12vw,7rem) 1.5rem}.about__inner{width:min(100%,1100px);margin-inline:auto}.about__eyebrow{letter-spacing:.12em;text-transform:uppercase;margin:0 0 1rem;font-size:.875rem;font-weight:700}.about h2{letter-spacing:-.04em;max-width:700px;margin:0;font-size:clamp(2.25rem,5vw,4rem);line-height:1.05}.about__body{max-width:720px;margin-top:2rem}.about__body p{margin:0;font-size:clamp(1.125rem,2vw,1.25rem);line-height:1.7}.about__body p+p{margin-top:1.5rem}.contact{padding:clamp(4rem,12vw,7rem) 1.5rem}.contact__inner{width:min(100%,1100px);margin-inline:auto}.contact__eyebrow{letter-spacing:.12em;text-transform:uppercase;margin:0 0 1rem;font-size:.875rem;font-weight:700}.contact h2{letter-spacing:-.04em;max-width:700px;margin:0;font-size:clamp(2.25rem,5vw,4rem);line-height:1.05}.contact__intro{max-width:720px;margin:2rem 0 0;font-size:clamp(1.125rem,2vw,1.25rem);line-height:1.7}.contact__actions{flex-wrap:wrap;gap:1rem;margin-top:2.5rem;display:flex}.hero{align-items:flex-start;min-height:calc(100svh - 80px);padding:clamp(5rem,10vh,8rem) 1.5rem 5rem;display:flex}.hero__inner{align-items:center;gap:2.5rem;width:min(100%,1100px);margin-inline:auto;display:grid}.hero__content{min-width:0}.hero__eyebrow{letter-spacing:.12em;text-transform:uppercase;margin:0 0 1rem;font-size:.875rem;font-weight:700}.hero h1{letter-spacing:-.06em;margin:0;font-size:clamp(3rem,9vw,7rem);line-height:.95}.hero__tagline{max-width:720px;margin:2rem 0 0;font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.6}.hero__actions{flex-wrap:wrap;gap:1rem;margin-top:2.5rem;display:flex}.hero__portrait{justify-self:center;width:min(100%,240px);margin:0}.hero__portrait img{aspect-ratio:1;object-fit:cover;border-radius:.5rem;width:100%;display:block}@media (width>=768px){.hero{min-height:clamp(32rem,60svh,42rem);padding-bottom:clamp(2.5rem,6vh,4rem)}.hero__inner{grid-template-columns:minmax(0,1fr) minmax(200px,280px);gap:clamp(2rem,4vw,4rem)}.hero__portrait{justify-self:end;width:100%;max-width:280px}}.project-card{border-top:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;grid-template-columns:auto 1fr;gap:2rem;margin-top:3rem;padding-block:2rem;display:grid}.project-card__number{margin:0;font-weight:700}.project-card h3{margin:0;font-size:clamp(1.75rem,3vw,2.5rem)}.project-card p{max-width:650px;line-height:1.7}.project-card__role{margin-top:1.5rem;font-weight:700}.project-card__stack{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.project-card__stack li{border:1px solid #cbd5e1;border-radius:999px;padding:.4rem .75rem;font-size:.875rem;font-weight:600}@media (width<=480px){.project-card{grid-template-columns:1fr;gap:1rem}}.projects{padding:clamp(4rem,12vw,7rem) 1.5rem}.projects__inner{width:min(100%,1100px);margin-inline:auto}.projects__eyebrow{letter-spacing:.12em;text-transform:uppercase;margin:0 0 1rem;font-size:.875rem;font-weight:700}.projects h2{letter-spacing:-.04em;max-width:700px;margin:0;font-size:clamp(2.25rem,5vw,4rem);line-height:1.05}
