/* ============================================================
   Sally's Home Healthcare — CONCEPT: "A Day at Home"
   The light shifts dawn -> dusk as you scroll; each moment of
   the day carries the real care services.
   Display: Bricolage Grotesque · Body: Source Serif 4
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;1,8..60,400&display=swap");

:root{
  --ink:#2f2a2b; --muted:#6d6560; --paper:#fdf6ea; --line:#ece1cf;
  --sun:#e79a4c; --sun-deep:#cf7f34; --sage:#7c9a7e; --sage-deep:#5f7d61;
  --dusk:#4c4b6b; --night:#322f52; --light:#f5eff9; --light-mut:#cdc7de;
  --disp:"Bricolage Grotesque",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Source Serif 4",Georgia,serif;
  --max:1080px; --shadow:0 34px 66px -32px rgba(60,45,40,.5);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--serif);color:var(--ink);background:var(--night);line-height:1.7;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(--disp);font-weight:700;line-height:1.05;letter-spacing:-.5px}
h1{font-size:clamp(2.7rem,6.5vw,4.8rem)}
h2{font-size:clamp(2rem,4.4vw,3rem)}
h3{font-size:1.15rem;font-weight:700;letter-spacing:-.2px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 32px}
.eyebrow{font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:2.5px;font-size:.72rem;color:var(--sun-deep)}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:700;font-size:1rem;padding:15px 30px;border-radius:100px;background:var(--sun);color:#3a2410;border:2px solid var(--sun);cursor:pointer;transition:.2s;white-space:nowrap}
.btn:hover{background:var(--sun-deep);border-color:var(--sun-deep);color:#fff;transform:translateY(-2px)}
.btn--ghost{background:transparent;color:inherit;border-color:currentColor}
.btn--ghost:hover{background:currentColor;color:var(--paper)}

/* Reveal-on-scroll (respects reduced motion) */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Header */
.site-header{position:sticky;top:0;z-index:60;backdrop-filter:blur(8px);background:rgba(253,246,234,.72)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{font-family:var(--disp);font-weight:800;font-size:1.25rem;color:var(--ink)}
.brand small{display:block;font-family:var(--serif);font-weight:400;font-style:italic;font-size:.72rem;color:var(--sun-deep);letter-spacing:0;text-transform:none}
.nav-links{display:flex;gap:26px;list-style:none}
.nav-links a{font-family:var(--disp);font-weight:600;font-size:.92rem;color:var(--ink)}
.nav-links a:hover,.nav-links a.active{color:var(--sun-deep)}
.nav-cta{display:flex;align-items:center;gap:16px}
.nav-phone{font-family:var(--disp);font-weight:800;color:var(--ink)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}

/* Time-of-day backgrounds (the signature) */
.hero{background:linear-gradient(180deg,#f7ddc6 0%,#fdf3e4 100%)}
.t-morning{background:linear-gradient(180deg,#fdf3e4,#fdf6ea)}
.t-midday{background:linear-gradient(180deg,#fdf6ea,#fdefda)}
.t-afternoon{background:linear-gradient(180deg,#fdefda,#f6d795)}
.t-evening{background:linear-gradient(180deg,#e2c69b 0%,#b596ab 42%,#4c4b6b 100%);color:var(--light)}
.t-night{background:#3b3860;color:var(--light)}
.t-deepnight{background:var(--night);color:var(--light)}
/* dark-section element colors */
.t-evening .eyebrow,.t-night .eyebrow,.t-deepnight .eyebrow{color:#f2b877}
.t-evening h1,.t-evening h2,.t-evening h3,.t-night h2,.t-night h3,.t-deepnight h2,.t-deepnight h3{color:#fff}

/* Hero */
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center;padding:70px 0 92px}
.hero .sun-arc{display:block;margin-bottom:22px}
.hero h1{margin:6px 0 0}
.hero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--sun-deep)}
.hero p{font-size:1.2rem;color:var(--muted);max-width:46ch;margin:22px 0 30px}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap}
.hero .note{margin-top:22px;font-family:var(--disp);font-weight:700;font-size:.82rem;letter-spacing:1px;text-transform:uppercase;color:var(--sage-deep)}
.hero-photo{position:relative}
.hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:200px 200px 26px 26px;box-shadow:var(--shadow)}
.hero-photo::after{content:"";position:absolute;inset:-24px -24px auto auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(231,154,76,.5),transparent 68%);z-index:-1}

/* Intro statement */
.intro{padding:84px 0;text-align:center}
.intro p{font-family:var(--serif);font-size:clamp(1.4rem,3vw,2.05rem);line-height:1.4;max-width:26ch;margin:16px auto 0;color:var(--ink)}

/* Day rows */
.day{padding:90px 0}
.day-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.day--rev .media{order:2}
.media{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:5/4}
.media img{width:100%;height:100%;object-fit:cover}
.time{display:inline-flex;align-items:baseline;gap:12px}
.time .glyph{font-size:1.6rem;line-height:1}
.time b{font-family:var(--disp);font-weight:800;font-size:1.05rem;letter-spacing:2px;text-transform:uppercase}
.time span{font-family:var(--disp);font-weight:600;font-size:.82rem;opacity:.7}
.day h2{margin:14px 0 6px}
.day .lead{color:var(--muted);font-size:1.08rem;max-width:44ch}
.t-evening .day .lead{color:var(--light-mut)}
.moments{list-style:none;margin-top:22px;display:grid;gap:14px}
.moments li{position:relative;padding-left:30px;font-weight:500}
.moments li::before{content:"";position:absolute;left:2px;top:.55em;width:12px;height:12px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px rgba(231,154,76,.22)}
.moments b{font-family:var(--disp);font-weight:700;display:block;font-size:1rem}
.moments p{font-size:.95rem;color:var(--muted)}
.t-evening .moments p{color:var(--light-mut)}
.t-evening .moments li::before{background:#f2b877;box-shadow:0 0 0 4px rgba(242,184,119,.2)}

/* Testimonial */
.testi{padding:96px 0;text-align:center}
.testi .stars{color:var(--sun);letter-spacing:4px;margin-bottom:18px}
.testi blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3.4vw,2.3rem);line-height:1.4;max-width:22ch;margin:0 auto;color:#fff}
.testi cite{display:block;font-family:var(--disp);font-style:normal;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:.76rem;color:#c9b6d6;margin-top:22px}

/* Service area */
.area{padding:90px 0}
.area-inner{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}
.area ul{list-style:none;margin-top:18px}
.area li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.16);font-weight:600}
#service-map{height:440px;width:100%;border-radius:22px;overflow:hidden;position:relative;z-index:0;isolation:isolate;box-shadow:var(--shadow)}
.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:.82rem;color:#2f2a2b}
.map-label::before{display:none}
.leaflet-container{font-family:inherit}

/* CTA */
.cta{padding:110px 0;text-align:center}
.cta .moon{font-size:2rem;display:block;margin-bottom:6px}
.cta p{color:var(--light-mut);font-size:1.18rem;max-width:42ch;margin:14px auto 30px}

/* Footer */
.site-footer{background:#252247;color:#a49fc0;padding:52px 0 30px}
.site-footer .wrap{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;align-items:center}
.site-footer .brand{color:#fff}
.site-footer a{color:#f2b877;font-family:var(--disp);font-weight:700}

.mobile-callbar{display:none}

@media(max-width:860px){
  .nav-links,.nav-phone{display:none}
  .nav-toggle{display:block}
  .site-header.open .nav-links{display:flex;flex-direction:column;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:18px 32px;gap:14px;z-index:60;box-shadow:0 20px 40px -24px rgba(0,0,0,.4)}
  .hero-inner,.day-inner,.area-inner{grid-template-columns:1fr;gap:34px}
  .hero-photo{max-width:400px}
  .day--rev .media{order:0}
}
@media(max-width:640px){
  .day,.area{padding:60px 0}.intro,.testi{padding:56px 0}.cta{padding:72px 0}
  .hero-inner{padding:48px 0 64px}
  .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(50,47,82,.97);border-top:1px solid rgba(255,255,255,.12)}
  .mobile-callbar .btn{flex:1;justify-content:center;padding:13px 10px}
  body{padding-bottom:78px}
}
