
:root{
  --ink:#0f172a; --muted:#475569; --bg:#ffffff; --card:#f8fafc; --stroke:#e2e8f0;
  --blue:#1d4ed8; --red:#ef4444; --ring:#93c5fd;
  --cta: var(--red); --cta-ink:#ffffff; --cta-2: var(--blue);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:var(--blue);text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 20px}

/* Header + top actions */
.topbar{background:linear-gradient(90deg, var(--blue), var(--red)); color:#fff}
.topbar .container{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px 0}
@media(max-width:900px){.topbar .container{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.topbar .container{grid-template-columns:1fr}}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:14px;border:1px solid transparent;font-weight:700;cursor:pointer}
.btn-primary{background:var(--cta);color:var(--cta-ink)}
.btn-secondary{background:var(--cta-2);color:#fff}
.btn-outline{border:1px solid var(--stroke);background:#fff;color:var(--ink)}
.btn-small{padding:10px 14px;font-size:14px}
.btn:focus{outline:4px solid var(--ring)}

.site-header{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--stroke);z-index:10}
.header-grid{display:grid;grid-template-columns:auto 48px 1fr;gap:10px;align-items:center;padding:12px 0}
.brand{font-weight:800}
.menu-toggle{display:none;border:1px solid var(--stroke);border-radius:10px;padding:8px;background:#fff}
.nav{display:flex;gap:14px;justify-self:end;align-items:center}
.nav a{color:#0f172a}
@media(max-width:900px){
  .menu-toggle{display:inline-block}
  .nav{display:none;flex-direction:column;position:absolute;right:20px;top:64px;background:#fff;border:1px solid var(--stroke);border-radius:14px;padding:12px;min-width:220px}
  .nav.open{display:flex}
}

.badge{display:inline-block;border:1px solid var(--stroke);border-radius:999px;padding:6px 10px;font-size:12px;color:#334155;margin-right:8px;margin-bottom:8px}
.tag{display:inline-block;border:1px solid var(--stroke);border-radius:999px;padding:6px 10px;font-size:12px;color:#334155;margin-right:8px;margin-bottom:8px}
.section{padding:72px 0}
.section.alt{background:#f8fafc}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--stroke);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:10px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.center{text-align:center}
.micro{font-size:12px;color:var(--muted)}

/* Hero with slideshow beside */
.hero{background:linear-gradient(180deg,#f8fafc 0,#ffffff 100%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;padding:28px 0 48px}
.hero h1{font-size:48px;line-height:1.05;margin:16px 0}
.note{background:#fff7ed;border:1px dashed #fed7aa;border-radius:14px;padding:10px;font-size:14px;margin-top:12px}

/* Slideshow */
.slideshow{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--stroke)}
.slide{display:none;width:100%;height:auto}
.slide.active{display:block}
.slide-nav{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.slide-btn{pointer-events:auto;border:none;background:rgba(0,0,0,.35);color:#fff;font-size:22px;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:10px}
.dots{position:absolute;bottom:10px;left:0;right:0;display:flex;gap:6px;justify-content:center}
.dot{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.6)}
.dot.active{background:#fff}

.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.testimonials blockquote{background:#fff;border:1px solid var(--stroke);border-radius:16px;padding:16px;margin:0}
.testimonials cite{display:block;margin-top:10px;font-style:normal;font-weight:600;color:#0f172a}

.map-embed{border:0;width:100%;height:420px;border-radius:16px;box-shadow:0 0 0 1px var(--stroke) inset}
.site-footer{border-top:1px solid var(--stroke);background:#f8fafc;padding:40px 0}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

@media(max-width:900px){
  .cards{grid-template-columns:1fr 1fr}
  .hero-grid{grid-template-columns:1fr}
  .testimonials{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .cards{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero h1{font-size:36px}
}
