:root {
  --ink: #202322;
  --muted: #69716e;
  --line: #d8ddda;
  --paper: #f5f5f1;
  --white: #fff;
  --accent: #b9c4bd;
  --deep: #18211d;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
a { color: inherit; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:1.3rem clamp(1.2rem, 5vw, 5rem); border-bottom:1px solid var(--line); background:rgba(245,245,241,.94); }
.wordmark { display:flex; gap:.7rem; align-items:center; text-decoration:none; letter-spacing:.12em; font-size:.76rem; }
.wordmark strong,.wordmark small { display:block; line-height:1.45; }
.wordmark small { color:var(--muted); font-size:.63rem; letter-spacing:.28em; }
.mark { display:grid; place-items:center; width:2.5rem; height:2.5rem; border:1px solid #77837b; border-radius:50%; font-family:Georgia,serif; font-size:.85rem; letter-spacing:-.08em; }
nav { display:flex; gap:clamp(.8rem, 3vw, 2.2rem); }
nav a { text-decoration:none; font-size:.82rem; color:#4e5652; }
nav a:hover, footer a:hover { color:#000; }
.hero { min-height:78vh; padding:clamp(5rem, 12vw, 10rem) clamp(1.2rem, 10vw, 10rem) 2rem; display:flex; flex-direction:column; align-items:flex-start; background:linear-gradient(115deg, #e9ebe5 0%, #f5f5f1 58%, #e0e5df 100%); }
.eyebrow,.section-label { color:#68746c; font-size:.7rem; font-weight:650; letter-spacing:.18em; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(2.6rem, 7vw, 6rem); line-height:1.04; letter-spacing:-.055em; font-weight:500; margin:1.1rem 0 1.4rem; }
h1 em { font-family:Georgia,serif; font-weight:400; }
.hero-copy { max-width:38rem; color:#555e59; font-size:clamp(1rem, 1.7vw, 1.2rem); }
.button { display:inline-flex; align-items:center; gap:2rem; margin-top:1.3rem; padding:.9rem 1.15rem; border:1px solid var(--deep); background:var(--deep); color:white; text-decoration:none; font-size:.84rem; }
.button:hover { background:#34443b; }
.hero-foot { width:100%; margin-top:auto; padding-top:5rem; display:flex; justify-content:space-between; gap:1rem; color:#6c746f; font-size:.64rem; letter-spacing:.13em; }
.section { display:grid; grid-template-columns:minmax(7rem, .7fr) 2fr; gap:clamp(2rem, 7vw, 8rem); padding:clamp(4rem, 9vw, 8rem) clamp(1.2rem, 10vw, 10rem); border-top:1px solid var(--line); }
h2 { font-size:clamp(2rem, 4vw, 3.7rem); font-weight:500; line-height:1.1; letter-spacing:-.04em; margin-bottom:1.5rem; }
.section p { max-width:44rem; color:#5a625d; }
.services { background:#e9ece6; }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 2rem; margin-top:2rem; }
.service-grid article { border-top:1px solid #cbd2cc; padding:1.4rem 0 1.1rem; }
.service-grid article span { color:#7a857e; font-size:.7rem; letter-spacing:.1em; }
h3 { font-size:1.1rem; font-weight:550; margin:.6rem 0; }
.service-grid p { font-size:.9rem; margin-bottom:0; }
.note,.small { font-size:.82rem; }
.statement { padding:clamp(4rem, 10vw, 8rem) clamp(1.2rem, 15vw, 14rem); background:var(--deep); color:#f5f5f1; }
.statement p { font-family:Georgia,serif; font-size:clamp(1.8rem, 4vw, 3.5rem); line-height:1.2; max-width:50rem; margin:0; }
.contact { background:#f5f5f1; }
.contact .small { margin-top:1.4rem; }
footer { padding:2rem clamp(1.2rem, 5vw, 5rem); border-top:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 2rem; color:var(--muted); }
footer p { margin:0; font-size:.8rem; }
footer > small { font-size:.7rem; }
.footer-mark { color:var(--ink); }
@media (max-width:700px) {
  .site-header { align-items:flex-start; flex-direction:column; gap:1rem; }
  nav { width:100%; justify-content:space-between; gap:.5rem; }
  nav a { font-size:.76rem; }
  .hero { min-height:72vh; padding-top:5rem; }
  .hero-foot { flex-direction:column; gap:.4rem; }
  .section { grid-template-columns:1fr; gap:1.3rem; }
  .service-grid { grid-template-columns:1fr; }
  footer { align-items:flex-start; flex-direction:column; }
}
