/* Grayscale theme + layout */
:root{
  --bg:#0a0a0a;
  --ink:#121212;
  --card:#ffffff;
  --muted:#6b7280;
  --brand:#111111;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;line-height:1.6;color:var(--ink);background:#f7f7f7}
img{max-width:100%;height:auto;display:block}
.container{width:min(1100px,92%);margin-inline:auto}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;border-radius:.5rem;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #ededed;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0}
.brand{display:flex;gap:.8rem;align-items:center}
.brand-text small{color:var(--muted)}
.nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.nav a{color:var(--ink);text-decoration:none;font-weight:600}
.nav a:hover{color:#000}
.btn{display:inline-block;padding:.8rem 1rem;border-radius:.6rem;border:1px solid #e5e7eb;text-decoration:none;font-weight:700;color:#111;background:#fff}
.btn.primary{background:#111;color:#fff;border-color:#111}
.btn.secondary{background:#fff;color:#111;border-color:#111}
.btn.outline{background:#fff;border-color:#e5e7eb;color:#111;font-weight:700}
.btn.call{background:#111;color:#fff;border-color:#111}
.btn.sms{background:#1f2937;color:#fff;border-color:#1f2937}

/* Hero */
.hero{position:relative;isolation:isolate}
.hero-img{object-fit:cover;width:100%;height:clamp(420px,70vh,720px);filter:brightness(.65)}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.55));z-index:0}
.hero-inner{position:absolute;inset:0;display:grid;place-content:center;gap:1rem;text-align:center;color:#fff;padding:2rem;z-index:1}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);margin:0}

/* Sections */
.section{padding:4rem 0}
.section.alt{background:#fff}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1rem}
.card{background:var(--card);padding:1rem;border:1px solid #ededed;border-radius:.8rem;box-shadow:0 4px 12px rgba(2,6,23,.04)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;align-items:start}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{padding-left:1.6rem;position:relative;margin:.4rem 0}
.checklist li::before{content:'✓';position:absolute;left:0;top:0;color:#111;font-weight:900}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}
blockquote{background:#fff;border-left:4px solid #111;padding:1rem;border-radius:.4rem;margin:0}
blockquote cite{display:block;color:var(--muted);margin-top:.5rem}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-top:1rem}
.muted{color:var(--muted);font-size:.95rem}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form label{display:grid;gap:.4rem;font-weight:600}
.contact-form input,.contact-form textarea{padding:.7rem;border:1px solid #e5e7eb;border-radius:.5rem;font:inherit;background:#fff}
.contact-form button{grid-column:1/-1}
.info{background:#fff;border:1px solid #ededed;border-radius:.8rem;padding:1rem}
.lead{font-size:1.1rem}
.site-footer{background:#0b0b0b;color:#e5e7eb;margin-top:2rem;position:relative}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0}
.legal{display:flex;flex-direction:column;gap:.35rem}
.mobile-call{display:none;position:sticky;bottom:0;left:0;right:0;background:#111;color:#fff;text-align:center;padding:1rem;font-weight:800;text-decoration:none}

/* Fade-in animation (staggered) */
.fade{opacity:0;transform:translateY(10px);animation:fadeUp .8s ease forwards}
.fade.d1{animation-delay:.2s}
.fade.d2{animation-delay:.5s}
.fade.d3{animation-delay:.8s}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}

@media (max-width:720px){
  .nav a:not(.btn){display:none}
  .contact-form{grid-template-columns:1fr}
  .mobile-call{display:block}
}
