:root { --ink:#102a43; --muted:#52616b; --line:#d8dee4; --paper:#fffdf8; --sand:#f6f1e7; --gold:#a7742a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.65 Georgia, "Times New Roman", serif; }
a { color:inherit; text-underline-offset:3px; }
.wrap { width:min(1120px, calc(100% - 48px)); margin:auto; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:1rem; top:1rem; z-index:3; background:white; padding:.5rem 1rem; }
.site-header { border-bottom:1px solid var(--line); background:rgba(255,253,248,.96); position:sticky; top:0; z-index:2; }
.nav-wrap { min-height:86px; display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.wordmark { text-decoration:none; line-height:1.1; display:grid; letter-spacing:.01em; }
.wordmark span { font-size:1.2rem; font-weight:700; }.wordmark small { font-size:1rem; }.wordmark em,.eyebrow { color:var(--gold); font:700 .68rem/1.3 Arial,sans-serif; text-transform:uppercase; letter-spacing:.18em; font-style:normal; }.wordmark em { margin-top:.5rem; font-size:.56rem; }
nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:1.4rem; font:600 .78rem Arial,sans-serif; } nav a { text-decoration:none; }
.hero { background:var(--ink); color:#fff; padding:7.5rem 0; }.hero-grid,.contact-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:5rem; align-items:center; }.hero .eyebrow { color:#d6ae69; }.hero h1 { font-size:clamp(3rem,7vw,6rem); line-height:.95; margin:.75rem 0; letter-spacing:-.045em; }.hero h1 span { font-weight:400; }.hero-role { margin:1.6rem 0; font:600 .78rem Arial,sans-serif; letter-spacing:.2em; text-transform:uppercase; color:#e4c38a; }.intro { max-width:42rem; font-size:1.2rem; }.contact-link { display:inline-block; margin-top:1rem; color:#fff; font-weight:bold; }
.facts { margin:0; border-top:1px solid #496075; }.facts div { border-bottom:1px solid #496075; padding:1rem 0; }.facts dt { font:600 .68rem Arial,sans-serif; text-transform:uppercase; letter-spacing:.14em; color:#c3cfda; }.facts dd { margin:.25rem 0 0; font-size:1.45rem; }
.section { padding:6.5rem 0; }.split { display:grid; grid-template-columns:1fr 2fr; gap:4rem; }.section h2 { font-size:clamp(2rem,4vw,3.2rem); line-height:1.05; margin:0 0 1.5rem; letter-spacing:-.035em; }.section p { max-width:48rem; }.shaded { background:var(--sand); }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:2rem; background:#ded8cd; border:1px solid #ded8cd; }.service-grid article { padding:2rem; background:var(--sand); }.service-grid h3 { font-size:1.15rem; margin:0 0 .5rem; }.service-grid p { margin:0; color:var(--muted); font-size:.95rem; }.locations { font-size:1.1rem; color:var(--muted); }
.contact { border-top:1px solid var(--line); }.contact-grid { align-items:start; }.contact address { font-style:normal; border-left:1px solid var(--line); padding-left:2rem; }.contact address p { margin:0 0 1.5rem; }.contact address a { color:var(--ink); font-weight:bold; }
footer { background:var(--ink); color:#dae4ec; font:500 .73rem Arial,sans-serif; letter-spacing:.06em; }.footer {} footer .wrap { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
@media (max-width:760px) { .wrap { width:min(100% - 32px,1120px); }.nav-wrap { padding:1rem 0; align-items:flex-start; }.nav-wrap nav { gap:.75rem 1rem; padding-top:.2rem; }.hero { padding:5rem 0; }.hero-grid,.contact-grid,.split { grid-template-columns:1fr; gap:2.5rem; }.section { padding:4.5rem 0; }.service-grid { grid-template-columns:1fr; }.contact address { border-left:0; border-top:1px solid var(--line); padding:2rem 0 0; } footer .wrap { padding:1.25rem 0; align-items:flex-start; flex-direction:column; }.hero h1 { font-size:3.5rem; } }
