/* ============================================================
   Sally's Home Healthcare — DESIGN: "Minimal single-column"
   Centered, airy, calm. One narrow column, lots of whitespace.
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;1,9..144,400&family=Nunito+Sans:wght@400;600;700;800&display=swap");

:root{
  --ink:#22251f; --muted:#71756c; --bg:#fdfcf9; --line:#e9e6dd;
  --accent:#7c9885; --accent-deep:#5c7563; --white:#fff;
  --serif:"Fraunces",Georgia,serif; --sans:"Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --col:720px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.75;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-.3px}
h1{font-size:clamp(2.4rem,6vw,3.6rem)}
h2{font-size:clamp(1.7rem,4vw,2.3rem)}
h3{font-size:1.15rem;font-weight:500}
.col{width:100%;max-width:var(--col);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--sans);font-weight:800;text-transform:uppercase;letter-spacing:3px;font-size:.7rem;color:var(--accent-deep)}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:800;font-size:1rem;padding:14px 30px;border-radius:100px;background:var(--accent);color:#fff;border:1.5px solid var(--accent);cursor:pointer;transition:.2s;white-space:nowrap}
.btn:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
.btn--ghost{background:transparent;color:var(--accent-deep)}
.btn--ghost:hover{background:var(--accent);color:#fff}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(253,252,249,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{max-width:var(--col);margin:0 auto;padding:16px 24px;display:flex;flex-direction:column;align-items:center;gap:10px}
.brand{font-family:var(--serif);font-size:1.3rem}
.nav-links{display:flex;gap:24px;list-style:none;flex-wrap:wrap;justify-content:center}
.nav-links a{font-weight:700;font-size:.92rem;color:var(--muted)}
.nav-links a:hover,.nav-links a.active{color:var(--accent-deep)}
.nav-toggle,.nav-cta,.nav-phone{display:none}

/* Sections */
section{padding:76px 0}
.hero{text-align:center;padding-top:64px}
.hero .eyebrow{display:block;margin-bottom:18px}
.hero p.lead{font-size:1.2rem;color:var(--muted);max-width:52ch;margin:22px auto 30px}
.avatar{width:180px;height:180px;border-radius:50%;object-fit:cover;margin:40px auto 0;box-shadow:0 24px 48px -22px rgba(60,80,66,.5)}
.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.center{text-align:center}
.divider{width:44px;height:2px;background:var(--accent);margin:0 auto 22px;border:0}
.prose{text-align:center}
.prose p{color:var(--muted);margin-top:16px}

/* Services — clean centered list */
.svc-list{list-style:none;margin-top:30px;border-top:1px solid var(--line)}
.svc-list li{padding:22px 4px;border-bottom:1px solid var(--line);text-align:center}
.svc-list h3{color:var(--ink)}
.svc-list p{color:var(--muted);font-size:.98rem;margin-top:4px}

.section--soft{background:#f4f1ea}

/* Quote */
.quote{text-align:center}
.quote .stars{color:var(--accent);letter-spacing:3px;margin-bottom:16px}
.quote blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.4}
.quote cite{display:block;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;font-size:.74rem;color:var(--muted);margin-top:18px}

/* Service area */
.area{text-align:center}
.area ul{list-style:none;margin:18px 0 26px;color:var(--muted)}
.area li{padding:7px 0}
#service-map{height:380px;width:100%;border-radius:16px;overflow:hidden;position:relative;z-index:0;isolation:isolate;box-shadow:0 24px 48px -26px rgba(60,80,66,.45)}
.leaflet-pane,.leaflet-top,.leaflet-bottom{z-index:1}
.map-label{background:rgba(255,255,255,.92);border:0;box-shadow:0 2px 8px -2px rgba(0,0,0,.35);border-radius:6px;padding:3px 9px;font-weight:800;font-size:.8rem;color:#22251f}
.map-label::before{display:none}
.leaflet-container{font-family:inherit}

/* CTA */
.cta{text-align:center;background:var(--accent);color:#fff}
.cta h2{color:#fff}
.cta p{margin:14px auto 26px;max-width:44ch;color:#eaf1ec}
.cta .btn{background:#fff;color:var(--accent-deep);border-color:#fff}
.cta .btn:hover{background:transparent;color:#fff}

/* Footer */
.site-footer{text-align:center;padding:56px 24px;color:var(--muted);border-top:1px solid var(--line);font-size:.9rem}
.site-footer .brand{font-family:var(--serif);font-size:1.15rem;color:var(--ink);margin-bottom:8px}
.site-footer a{color:var(--accent-deep)}

.mobile-callbar{display:none}
@media(max-width:640px){
  section{padding:56px 0}
  .avatar{width:140px;height:140px}
  .mobile-callbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:200;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(253,252,249,.97);box-shadow:0 -6px 20px -8px rgba(0,0,0,.25);border-top:1px solid var(--line)}
  .mobile-callbar .btn{flex:1;justify-content:center;padding:13px 10px}
  body{padding-bottom:76px}
}
