:root{--ink:#4b4f58;--muted:#8d8e88;--line:#e4e3de;--bg:#fff;--soft:#f6f5f2;--accent:#6f7a6b;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Jost",system-ui,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:300 1.0625rem/1.7 var(--sans);min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration-color:var(--line);text-underline-offset:.25em}
a:hover{text-decoration-color:var(--ink)}
.site-header{text-align:center;padding:2.5rem 1rem 1.5rem}
.logo{display:inline-block;line-height:0}
.logo img{display:block;width:min(100%,38rem);height:auto;margin:0 auto}
nav{margin-top:1.6rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem 2rem}
nav a{font:400 .78rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;text-decoration:none;color:var(--ink);padding:.5rem 0;border-bottom:1px solid transparent}
nav a:hover{border-bottom-color:var(--muted)}
nav a[aria-current=page]{color:var(--muted);border-bottom-color:var(--muted)}
main{flex:1;width:100%;max-width:62rem;margin:0 auto;padding:1rem 1.25rem 4rem}
.hero{text-align:center;padding-top:1rem}
.hero img{display:block;width:100%;max-width:42rem;height:auto;margin:0 auto 2.5rem}
.tagline{font:400 clamp(1rem,2.6vw,1.25rem)/1.6 var(--serif);letter-spacing:.08em;margin:0;color:var(--ink)}
.tagline span{color:var(--muted);margin:0 .35em}
.since{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:1.2rem 0 0}
.content{padding-top:1.5rem}
h1{font:400 clamp(2rem,6vw,3rem)/1.1 var(--serif);letter-spacing:.3em;color:#7d7e78;margin:0 0 2rem;text-align:center}
.text,.content>.lead{max-width:40rem;margin-left:auto;margin-right:auto}
.lead{font:400 1.35rem/1.55 var(--serif);color:var(--ink)}
.mission{font:400 1.35rem/1.55 var(--serif)}
.content>.lead{text-align:center;margin-bottom:2.5rem}
.services{list-style:none;padding:0;margin:2.5rem 0 0;border-top:1px solid var(--line)}
.services li{padding:.9rem 0;border-bottom:1px solid var(--line);font:500 1.15rem/1.4 var(--serif);letter-spacing:.04em}
.clients{list-style:none;padding:0;margin:0;columns:3 14rem;column-gap:2.5rem}
.clients li{break-inside:avoid;padding:.3rem 0;border-bottom:1px solid var(--line);font:400 1.1rem/1.4 var(--serif)}
address{font-style:normal}
address .name{font:400 1.2rem/1.4 var(--serif);letter-spacing:.35em;text-transform:uppercase;margin:0 0 .5rem}
.button{display:inline-block;margin-top:.5rem;padding:.8rem 1.6rem;border:1px solid var(--ink);font:400 .75rem/1 var(--sans);letter-spacing:.25em;text-transform:uppercase;text-decoration:none}
.button:hover{background:var(--ink);color:#fff}
.site-footer{text-align:center;padding:2rem 1rem 2.5rem;border-top:1px solid var(--line);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.site-footer p{margin:.2rem 0}
@media (max-width:480px){nav{gap:.25rem 1.2rem}nav a{letter-spacing:.18em}.logo{letter-spacing:.3em;margin-right:-.3em}}
@media (prefers-reduced-motion:no-preference){a{transition:color .2s,border-color .2s,background .2s}}
