:root { --paper:#f3eee4; --ink:#173b33; --muted:#5a6a64; --line:#cfc7b9; --accent:#c9593d; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; background:var(--paper); color:var(--ink); font-size:16px; line-height:1.55; }
a { color:inherit; text-underline-offset:4px; }
.nav, main, footer { width:min(1140px, calc(100% - 40px)); margin-inline:auto; }
.nav { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.brand { font-size:1.2rem; font-weight:800; text-decoration:none; }
.contact { font-weight:700; }
.hero { min-height:590px; display:flex; flex-direction:column; justify-content:center; padding:72px 0; max-width:980px; }
.eyebrow { color:var(--accent); font-size:.82rem; font-weight:850; letter-spacing:.13em; }
h1 { margin:15px 0 26px; font-family:Georgia, "Times New Roman", serif; font-size:clamp(3.2rem, 8vw, 7.3rem); line-height:.88; letter-spacing:-.055em; font-weight:500; }
.lead { max-width:780px; color:var(--muted); font-size:clamp(1.1rem, 2vw, 1.35rem); }
.button { align-self:flex-start; margin-top:28px; padding:14px 19px; background:var(--ink); color:var(--paper); border-radius:3px; font-weight:750; text-decoration:none; }
.button:focus-visible, a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); margin-bottom:96px; }
.grid article { min-height:175px; display:flex; flex-direction:column; gap:16px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.grid span { color:var(--muted); font-size:.78rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.grid strong { font-size:1.1rem; }
footer { display:flex; justify-content:space-between; gap:20px; padding:28px 0 44px; border-top:1px solid var(--line); color:var(--muted); }
@media (max-width:720px) { .nav { align-items:flex-start; flex-direction:column; justify-content:center; padding:18px 0; } .hero { min-height:auto; padding:78px 0; } .grid { grid-template-columns:1fr; } footer { flex-direction:column; } }
