:root {
  --navy: #0f2744;
  --navy-soft: #1a3a5c;
  --gold: #c9a227;
  --ink: #142033;
  --muted: #5b6777;
  --cream: #f4f7fb;
  --card: #ffffff;
  --line: #dde5ef;
  --max: 1040px;
  --radius: 18px;
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
}
* { box-sizing: border-box; }
body { margin:0; color:var(--ink); background:var(--cream); line-height:1.55; }
a { color:var(--navy-soft); }
img { max-width:100%; height:auto; display:block; }
.wrap { width:min(var(--max), calc(100% - 2rem)); margin-inline:auto; }
.site-header { background:var(--navy); color:#fff; }
.site-header .wrap { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 0; }
.brand { display:flex; align-items:center; gap:.7rem; text-decoration:none; color:#fff; font-weight:700; }
.brand img { height:44px; width:auto; background:#fff; border-radius:8px; padding:4px; }
.phone { color:#fff; text-decoration:none; font-weight:700; font-size:1.15rem; }
.hero { display:grid; gap:1.5rem; grid-template-columns:1.1fr .9fr; align-items:center; padding:2.5rem 0; }
@media (max-width:860px){ .hero{grid-template-columns:1fr;} .hero-art{order:-1;} }
.pill { display:inline-block; background:#e8eef8; color:var(--navy); padding:.3rem .7rem; border-radius:999px; font-size:.85rem; font-weight:650; margin-bottom:.75rem; }
h1 { font-size:clamp(1.9rem,4vw,2.7rem); line-height:1.12; margin:0 0 .8rem; color:var(--navy); }
.lede { color:var(--muted); margin:0 0 1rem; font-size:1.05rem; }
.btn { display:inline-block; background:var(--gold); color:#1a1400; text-decoration:none; font-weight:700; padding:.75rem 1.15rem; border-radius:999px; margin-right:.4rem; }
.btn-ghost { background:transparent; border:1px solid var(--navy); color:var(--navy); }
.hero-art img { border-radius:18px; box-shadow:0 16px 36px rgba(15,39,68,.2); }
section { padding:2rem 0; }
h2 { margin:0 0 1rem; color:var(--navy); font-size:clamp(1.4rem,3vw,1.9rem); }
.cards { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:1.1rem; }
.card h3 { margin:0 0 .35rem; }
.card p { margin:0; color:var(--muted); }
.prices { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:1.25rem; overflow:auto; }
.prices table { width:100%; border-collapse:collapse; }
.prices th, .prices td { text-align:left; padding:.55rem .4rem; border-bottom:1px solid var(--line); }
.prices th { color:var(--navy); }
.mapgrid { display:grid; gap:1rem; grid-template-columns:1fr 1fr; }
@media (max-width:800px){ .mapgrid{grid-template-columns:1fr;} }
.site-footer { background:var(--navy); color:#d7e0ec; padding:1.5rem 0; margin-top:1rem; font-size:.95rem; }
.site-footer a { color:#fff; }
