:root { --ink:#1f2a2e; --muted:#5b6b70; --brand:#2f6f73; --brand-dark:#245559; --sand:#f5f1ea; --line:#e3e0da; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--ink); line-height:1.6; background:#fff; }
a { color:var(--brand); }
img { max-width:100%; height:auto; border-radius:10px; display:block; }
h1,h2,h3 { line-height:1.2; }
h1 { font-size:2.2rem; margin:.5rem 0 1rem; }
h2 { font-size:1.6rem; margin:0 0 .75rem; }
h3 { font-size:1.15rem; margin:.25rem 0 .5rem; }
main > section, .hero { max-width:1000px; margin:0 auto; padding:2.5rem 1.25rem; }
.band { background:var(--sand); max-width:none; }
.band > * { max-width:1000px; margin-left:auto; margin-right:auto; }
.band > h2, .band > p, .band > ul, .band > blockquote, .band > .cards { max-width:1000px; }
.site-header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.75rem; padding:1rem 1.25rem; border-bottom:1px solid var(--line); }
.site-header nav { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.site-header nav a { color:var(--ink); text-decoration:none; font-size:.95rem; }
.site-header nav a.active { color:var(--brand); font-weight:600; }
.brand { font-weight:700; color:var(--ink); text-decoration:none; font-size:1.1rem; }
.btn { display:inline-block; background:var(--brand); color:#fff !important; padding:.6rem 1.1rem; border-radius:6px; text-decoration:none; font-weight:600; margin:.25rem .25rem .25rem 0; }
.btn:hover { background:var(--brand-dark); }
.btn-alt { background:#fff; color:var(--brand) !important; border:2px solid var(--brand); }
.hero { display:grid; grid-template-columns:1.1fr 1fr; gap:2rem; align-items:center; }
.hero img { aspect-ratio: 4/3; object-fit:cover; }
.eyebrow { text-transform:uppercase; letter-spacing:.08em; color:var(--brand); font-weight:600; font-size:.85rem; margin:0; }
.muted, .small, .meta { color:var(--muted); }
.small { font-size:.85rem; }
.note { color:var(--muted); font-style:italic; }
.steps { padding-left:1.25rem; }
.steps li { margin-bottom:1rem; }
.checks { padding-left:1.1rem; }
.checks li { margin:.35rem 0; }
.two-col { columns:2; column-gap:2rem; }
blockquote { margin:1rem 0; padding:.75rem 1rem; border-left:4px solid var(--brand); background:#fff; }
blockquote cite { display:block; margin-top:.4rem; font-style:normal; color:var(--muted); font-size:.9rem; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; margin:1rem 0; }
.card { border:1px solid var(--line); border-radius:10px; padding:1.1rem; background:#fff; }
.price { font-size:1.4rem; font-weight:700; color:var(--brand); margin:.25rem 0; }
table.prices { width:100%; border-collapse:collapse; margin-top:1rem; }
table.prices th, table.prices td { text-align:left; padding:.7rem .5rem; border-bottom:1px solid var(--line); }
table.prices th { font-size:.9rem; color:var(--muted); }
.cta { text-align:center; }
.service img { margin:1rem 0; max-height:420px; width:100%; object-fit:cover; }
.site-footer { border-top:1px solid var(--line); padding:2rem 1.25rem; text-align:center; color:var(--muted); font-size:.95rem; }
.site-footer p { margin:.4rem 0; }
@media (max-width:700px) { .hero { grid-template-columns:1fr; } h1 { font-size:1.8rem; } .two-col { columns:1; } }
