:root{--ink:#3d3d3d;--paper:#f7f5f0;--white:#fff;--gray:#6d6d6d;--line:#d3d5d5;--charcoal:#3d3d3d;--accent:#d3b57c;--sand:#e8e8e8;--bluegray:#b9c2c4;--blue:#4c6978}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}
a{color:inherit}
img{max-width:100%;display:block}
.site-header{height:100px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:rgba(247,245,240,.94);border-top:6px solid var(--accent);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand img{width:min(360px,42vw)}
nav{display:flex;align-items:center;gap:30px}
nav a{text-decoration:none;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}
.nav-cta{border-bottom:1px solid;padding-bottom:5px}
.menu{display:none;background:none;border:1px solid var(--ink);padding:8px 12px;text-transform:uppercase;letter-spacing:.1em}
.hero{min-height:620px;padding:clamp(70px,9vw,120px) clamp(24px,7vw,108px);display:flex;align-items:center;background:var(--paper);border-bottom:12px solid var(--blue)}
.hero-copy{max-width:820px}
.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.76rem;font-weight:700;margin:0 0 26px;color:var(--gray)}
.hero .eyebrow{color:var(--blue)}
.hero h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,6rem);font-weight:400;letter-spacing:-.055em;line-height:.92;margin:0 0 35px;color:var(--charcoal)}
.intro{font-size:clamp(1.05rem,1.5vw,1.35rem);max-width:700px;color:var(--ink)}
.actions{display:flex;align-items:center;gap:30px;margin-top:42px}
.button{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;padding:17px 24px;border:1px solid}
.button.dark{background:var(--accent);border-color:var(--accent);color:var(--charcoal);font-weight:700}
.text-link{text-decoration:none;border-bottom:1px solid;padding:8px 0}
.statement{padding:85px 7vw;background:var(--charcoal);color:white}
.statement p{font-family:Georgia,serif;font-size:clamp(2.1rem,5vw,5.4rem);line-height:1.1;margin:0;max-width:1200px}
.statement em{color:var(--accent);font-weight:400}
.services,.about{padding:110px 7vw}
.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:6vw;margin-bottom:70px}
.section-heading h2,.approach h2,.about h2,.contact h2{font-family:Georgia,serif;font-size:clamp(2.4rem,4.6vw,5rem);line-height:1.05;font-weight:400;letter-spacing:-.035em;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink)}
.service-grid article{padding:38px 40px 55px 0;border-bottom:1px solid var(--line)}
.service-grid article:nth-child(odd){border-right:1px solid var(--line)}
.service-grid article:nth-child(even){padding-left:40px}
.service-grid span{font-family:monospace;font-size:.72rem;color:#786138}
.service-grid h3{font-size:1.4rem;font-weight:500;margin:35px 0 16px}
.service-grid p{color:var(--gray);max-width:540px}
.approach{background:var(--blue);color:white}
.approach-copy{padding:100px 7vw;max-width:1000px}
.approach .eyebrow{color:var(--accent)}
.approach-copy>p:not(.eyebrow){font-size:1.1rem;color:#f0f3f4;max-width:680px}
.about-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}
.about-layout>div{font-size:1rem;color:var(--ink);max-width:620px;line-height:1.65}
.contact{background:var(--charcoal);color:white;padding:110px 7vw}
.contact .eyebrow{color:var(--accent)}
.contact>p:not(.eyebrow){color:#e8e8e8;font-size:1.1rem;margin:30px 0}
.button.light{background:var(--accent);color:var(--charcoal);border-color:var(--accent);font-weight:700}
footer{background:var(--charcoal);color:#d7d9d7;padding:48px 7vw;display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:end;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
footer img{width:270px}
footer p{margin:0}
@media(max-width:800px){.site-header{height:80px}
.brand img{width:230px;max-width:68vw}
.menu{display:block}
nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
nav.open{display:flex}
.hero{min-height:auto;padding-top:70px;padding-bottom:70px}
.section-heading,.about-layout{grid-template-columns:1fr}
.service-grid{grid-template-columns:1fr}
.service-grid article:nth-child(odd){border-right:0}
.service-grid article:nth-child(even){padding-left:0}
.approach-copy{padding:80px 7vw}
footer{grid-template-columns:1fr;align-items:start;gap:20px}
.actions{align-items:flex-start;flex-direction:column;gap:16px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}
