:root{--ink:#1b1a17;--paper:#f3efe6;--paper-2:#ebe5d8;--muted:#6f6a5f;--line:#d8d1c2;--accent:#3d5a45;--accent-ink:#2b3f31}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Inter",system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent-ink);text-underline-offset:3px}
h1,h2{font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.08;letter-spacing:-.01em}
.top{display:flex;align-items:center;justify-content:space-between;max-width:1040px;margin:0 auto;padding:26px 24px}
.mark{font-family:"Fraunces",serif;font-weight:900;font-size:22px;text-decoration:none;color:var(--ink);border:1.5px solid var(--ink);border-radius:8px;padding:4px 10px}
.top nav{display:flex;gap:26px}.top nav a{text-decoration:none;color:var(--muted);font-weight:500}.top nav a:hover{color:var(--ink)}
main{max-width:1040px;margin:0 auto;padding:0 24px}
.kicker{color:var(--muted);font-size:14px;margin:0 0 14px;letter-spacing:.02em}
.hero{padding:56px 0 40px;max-width:760px}.hero h1{font-size:clamp(34px,5.4vw,58px);margin:0 0 22px}
.lead{font-size:19px;color:#403c34;max-width:60ch;margin:0 0 30px}
.cta{display:inline-block;background:var(--accent);color:#f4f0e6;text-decoration:none;font-weight:500;padding:13px 24px;border-radius:10px}.cta:hover{background:var(--accent-ink)}
.work{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:24px 0 8px}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:26px}
.card h2{font-size:21px;margin:0 0 10px}.card p{margin:0;color:#4a463d;font-size:15.5px}
.numbers{display:flex;flex-wrap:wrap;gap:40px;padding:44px 0 64px;border-top:1px solid var(--line);margin-top:44px}
.numbers div{display:flex;flex-direction:column}.numbers b{font-family:"Fraunces",serif;font-size:38px;font-weight:600;line-height:1}
.numbers span{color:var(--muted);font-size:14px;margin-top:6px}
.page{max-width:680px;padding:48px 0 64px}.page h1{font-size:clamp(30px,4.6vw,46px);margin:0 0 26px}
.page h2{font-size:23px;margin:34px 0 10px}.prose{color:#403c34;margin:0 0 16px}
.contact-list{list-style:none;padding:0;margin:30px 0 0;border-top:1px solid var(--line)}
.contact-list li{display:flex;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.contact-list span{color:var(--muted);min-width:90px;font-size:15px}
footer{border-top:1px solid var(--line);margin-top:20px}
footer p{max-width:1040px;margin:0 auto;padding:26px 24px;color:var(--muted);font-size:14px}
@media (max-width:720px){.work{grid-template-columns:1fr}.top{padding:20px}.top nav{gap:18px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
