:root{
  --c-brand:#47697d; --c-brand-600:#5a8096; --c-brand-700:#3e5c6e; --c-accent:#d97757;
  --c-bg:#fff; --c-surface:#f5f8f9; --c-border:#e0e6e8; --c-text:#222; --c-muted:#555;
  --fs-400:1rem; --fs-500:1.125rem; --fs-600:1.25rem; --fs-700:1.5rem; --fs-800:2rem; --fs-900:2.5rem;
  --radius:1rem; --shadow:0 10px 30px rgba(0,0,0,.08); --shadow-sm:0 6px 18px rgba(0,0,0,.06);
  --container:72rem; --space-1:.5rem; --space-2:1rem; --space-3:1.5rem; --space-4:2rem; --space-5:3rem;
}
*{box-sizing:border-box} body{margin:0;color:var(--c-text);background:var(--c-bg);line-height:1.6}
img{max-width:100%;height:auto}
.container{max-width:var(--container);margin-inline:auto;padding:0 var(--space-2)}
.grid{display:grid;gap:var(--space-2)}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
h1{font-size:var(--fs-900);margin:.5rem 0 1rem} h2{font-size:var(--fs-800);margin:1rem 0} h3{font-size:var(--fs-700);margin:.75rem 0}
.lead{font-size:var(--fs-600);color:var(--c-muted)}
.header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--c-border);z-index:10}
.header .bar{display:flex;align-items:center;justify-content:space-between;height:4rem}
.brand{display:flex;gap:.75rem;align-items:center;text-decoration:none;color:inherit}
.brand img{height:36px}
.nav{display:flex;gap:1rem;align-items:center}
.nav a{color:#111;text-decoration:none;padding:.5rem .75rem;border-radius:.6rem}
.nav a:hover{background:var(--c-surface)}
.hero{position:relative;background:url('assets/img/hero-bg.svg') center/cover no-repeat}
.hero .inner{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center;padding:var(--space-5) 0}
.hero .card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}
.btn{display:inline-block;border:0;border-radius:.8rem;padding:.8rem 1rem;font-weight:600;cursor:pointer;text-decoration:none;transition:transform .15s ease,filter .15s ease}
.btn:focus{outline:2px solid var(--c-brand);outline-offset:2px}
.btn-primary{background:var(--c-brand);color:#fff;box-shadow:var(--shadow-sm)}
.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}
.btn-secondary{background:#fff;color:var(--c-brand);border:2px solid var(--c-brand)}
.btn-secondary:hover{background:var(--c-brand);color:#fff}
.services .card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);transition:transform .15s ease, box-shadow .15s ease}
.services .card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.band{background:var(--c-surface);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);padding:var(--space-4) 0}
.quote{font-size:var(--fs-600);color:#0f2a35}
.location{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.location .card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius);padding:1rem}
@media (max-width:900px){.hero .inner{grid-template-columns:1fr}.location{grid-template-columns:1fr}}
details{background:#fff;border:1px solid var(--c-border);border-radius:.8rem;padding:.75rem}
details+details{margin-top:.75rem}
summary{cursor:pointer;font-weight:600;list-style:none}
summary::-webkit-details-marker{display:none}
.footer{border-top:1px solid var(--c-border);margin-top:var(--space-5)}
.footer .grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:var(--space-4) 0}
.reveal{opacity:0;transform:translateY(8px)}
.reveal.is-visible{opacity:1;transform:none;transition:opacity .6s ease, transform .6s ease}
@media (prefers-reduced-motion: reduce){.reveal,.reveal.is-visible{opacity:1;transform:none;transition:none}}
.notice{font-size:.92rem;color:var(--c-muted)}
.map-2click{display:grid;gap:.5rem;justify-items:start}
.map-2click img{border:1px solid var(--c-border);border-radius:var(--c-radius)}
