/* Spero Hospice & Palliative Care */
:root{--purple:#6d2d82;--deep:#5b2d6e;--lilac:#a855c8;--lav:#d8b4fe;--amber:#f09018;--bg:#fbf9fd;--paper:#fff;--ink:#241a2a;--mid:#46394e;--mute:#75687d;--rule:#e6deed;--rule-soft:#f0eaf5;--dark:#2c1535;--tint:#f4ecfa;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Public Sans','Segoe UI',-apple-system,sans-serif;font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--purple);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(109,45,130,.35)}
a:hover{color:var(--deep);text-decoration-color:var(--deep)}
h1,h2{font-family:'Source Serif 4',Georgia,serif;font-weight:330;text-transform:uppercase;letter-spacing:.05em;line-height:1.14;margin:0;color:var(--ink)}
h3,h4{font-family:'Source Serif 4',Georgia,serif;font-weight:500;line-height:1.3;margin:0;color:var(--ink)}
p{margin:0 0 16px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);font-weight:400;margin-bottom:20px}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--amber)}
.quietline{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);margin-top:44px;padding-top:24px;border-top:1px solid var(--rule)}

/* Buttons: one fill + one ghost */
.btn{display:inline-block;padding:14px 26px;background:var(--purple);color:#fff;border:1px solid var(--purple);text-decoration:none;font-size:12.5px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;transition:background .2s,border-color .2s;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:transparent;color:var(--purple);border-color:var(--purple)}
.on-dark .btn-ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.on-dark .btn-ghost:hover{color:#fff;border-color:#fff}
.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* Top bar */
.topbar{background:var(--deep);color:#ecdff5}
.tb-row{display:flex;justify-content:space-between;gap:16px;padding:9px 32px;max-width:var(--max);margin:0 auto;font-size:11.5px;text-transform:uppercase;letter-spacing:.14em}
.tb-row a{color:#fff;text-decoration:none}
.tb-row a:hover{color:var(--lav)}

/* Header */
header.site{background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:50}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:var(--max);margin:0 auto;padding:16px 32px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:40px;width:auto;display:block}
nav.primary{display:flex;gap:24px;align-items:center;font-size:14px;font-weight:500}
nav.primary a{color:var(--ink);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent}
nav.primary a:hover{border-bottom-color:var(--purple);color:var(--purple)}
nav.primary a.active{border-bottom-color:var(--amber)}
nav.primary a.btn{color:#fff;border-bottom:1px solid var(--purple);padding:10px 18px}
nav.primary a.btn:hover{color:#fff;border-color:var(--deep)}
.menu-btn{display:none}

/* Hero */
.hero{background:var(--tint);border-bottom:1px solid var(--rule);padding:96px 0 80px}
.hero h1{font-size:clamp(34px,4.6vw,62px);max-width:20ch;margin-bottom:26px}
.lead{font-size:18.5px;color:var(--mid);max-width:58ch;margin:0 0 34px;line-height:1.6}
.page-hero{background:var(--tint);border-bottom:1px solid var(--rule);padding:72px 0 60px}
.page-hero h1{font-size:clamp(28px,3.6vw,46px);max-width:24ch;margin-bottom:18px}
.page-hero .lead{margin-bottom:0}

section{padding:96px 0}
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:52px}
.sec-head h2{font-size:clamp(26px,3.2vw,40px);max-width:24ch}
.sec-head p{color:var(--mute);max-width:40ch;margin:0;font-size:15.5px}

/* Service grid */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.svc{padding:32px 28px;border-top:1px solid var(--rule);border-right:1px solid var(--rule);background:var(--paper);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:background .2s}
.svc:nth-child(3n){border-right:none}
.svc:nth-last-child(-n+3){border-bottom:1px solid var(--rule)}
.svc:hover{background:var(--tint)}
.svc-cat{font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--lilac);margin-bottom:12px;font-weight:400}
.svc h3{font-size:23px;margin-bottom:10px}
.svc p{font-size:15px;color:var(--mid);line-height:1.6;margin:0 0 20px;flex-grow:1}
.svc .more{font-size:13px;color:var(--purple);text-decoration:none;border-bottom:1px solid var(--lilac);padding-bottom:2px;align-self:flex-start}

/* Dark band */
.band{background:var(--dark);color:#e9ddf2;padding:96px 0}
.band .eyebrow{color:var(--lav)}
.band h2{color:#fff;font-size:clamp(26px,3.2vw,42px);margin-bottom:24px}
.band p{color:#cfc0da;font-size:17px;max-width:62ch}
.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.band .mission{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(21px,2.2vw,27px);line-height:1.45;color:#f3eafa;font-weight:380}

/* Counties */
.county-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.county{background:var(--paper);border:1px solid var(--rule);padding:26px 26px 22px}
.county h3{font-size:20px;margin-bottom:4px}
.county .tag{font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--amber);margin-bottom:12px;font-weight:400}
.county p{font-size:14.5px;color:var(--mid);margin:0;line-height:1.6}

/* Quotes */
.quotes{background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.quote{border-top:2px solid var(--lav);padding-top:24px}
.quote blockquote{margin:0 0 18px;font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:17.5px;line-height:1.55;color:var(--mid)}
.quote cite{font-style:normal;font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute)}

/* CTA band */
.cta-band{background:var(--purple);color:#fff;padding:88px 0;text-align:center}
.cta-band h2{color:#fff;font-size:clamp(26px,3.4vw,44px);max-width:24ch;margin:0 auto 20px}
.cta-band p{color:#e6d6f0;max-width:54ch;margin:0 auto 32px;font-size:17px}
.cta-band .actions{justify-content:center}
.cta-band .btn{background:#fff;color:var(--purple);border-color:#fff}
.cta-band .btn:hover{background:var(--lav);border-color:var(--lav);color:var(--deep)}
.cta-band .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.cta-band .btn-ghost:hover{border-color:#fff;color:#fff;background:transparent}

/* Prose / rows */
.prose{max-width:760px}
.prose p{font-size:17px;color:var(--mid)}
.prose h3{font-size:24px;margin:40px 0 14px}
.prose ul{color:var(--mid);font-size:16.5px;padding-left:22px;margin:0 0 18px}
.prose li{margin-bottom:8px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.svc-row{display:grid;grid-template-columns:300px 1fr;gap:48px;padding:36px 0;border-top:1px solid var(--rule)}
.svc-row:last-of-type{border-bottom:1px solid var(--rule)}
.svc-row h3{font-size:24px}
.svc-row .num{font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--lilac);margin-bottom:8px}
.svc-row p{font-size:16px;color:var(--mid);margin:0}

/* Values */
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 48px}
.value{border-top:1px solid var(--rule);padding-top:20px}
.value h3{font-size:20px;margin-bottom:8px}
.value p{font-size:15px;color:var(--mid);margin:0}

/* FAQ */
.faq-list{max-width:820px}
details{border-top:1px solid var(--rule)}
details:last-of-type{border-bottom:1px solid var(--rule)}
summary{cursor:pointer;list-style:none;padding:22px 36px 22px 0;font-family:'Source Serif 4',Georgia,serif;font-size:20px;font-weight:500;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:18px;font-size:24px;color:var(--lilac);font-family:'Public Sans',sans-serif;font-weight:300}
details[open] summary::after{content:"\2013"}
details .a{padding:0 0 24px;color:var(--mid);font-size:16px;max-width:70ch}

/* Blog */
.post{border-top:1px solid var(--rule);padding:48px 0}
.post:last-of-type{border-bottom:1px solid var(--rule)}
.post .eyebrow{margin-bottom:14px}
.post h2{font-size:clamp(22px,2.6vw,32px);margin-bottom:18px;max-width:30ch}
.post p{color:var(--mid);font-size:16.5px;max-width:72ch}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.info-card{background:var(--paper);border:1px solid var(--rule)}
.info-card .field{padding:20px 26px;border-bottom:1px solid var(--rule-soft)}
.info-card .field:last-child{border-bottom:none}
.info-card .k{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);margin-bottom:5px;font-weight:400}
.info-card .v{font-family:'Source Serif 4',Georgia,serif;font-size:20px;color:var(--ink)}
.info-card .v a{color:var(--ink);text-decoration:none}
.info-card .v a:hover{color:var(--purple)}
form.std{background:var(--paper);border:1px solid var(--rule);padding:32px}
form.std label{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);margin:0 0 6px;font-weight:400}
form.std input,form.std select,form.std textarea{width:100%;padding:12px 14px;border:1px solid var(--rule);background:var(--bg);font-family:inherit;font-size:15px;color:var(--ink);margin-bottom:18px}
form.std input:focus,form.std select:focus,form.std textarea:focus{outline:2px solid var(--lilac);outline-offset:-1px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.form-success{background:var(--tint);border:1px solid var(--lav);padding:28px;font-size:16px;color:var(--deep)}
.form-success b{font-family:'Source Serif 4',Georgia,serif;font-size:20px;display:block;margin-bottom:6px}

/* Social */
.socials{display:flex;gap:14px;align-items:center;margin-top:6px}
.socials a{display:inline-flex;text-decoration:none}
.socials svg{width:22px;height:22px;display:block}

/* Footer */
footer.site{background:var(--dark);color:#b9a6c6;padding:72px 0 40px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:48px;max-width:var(--max);margin:0 auto;padding:0 32px}
.foot-brand img{height:44px;width:auto;display:block;margin-bottom:18px;background:#fff;padding:6px 10px}
.foot-brand p{font-size:14px;color:#9d89ab;max-width:280px;line-height:1.6;margin:0 0 14px}
footer h4{font-family:'Public Sans',sans-serif;font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:#fff;font-weight:500;margin:0 0 16px}
footer ul{list-style:none;padding:0;margin:0;font-size:14.5px;line-height:2}
footer ul a{color:#b9a6c6;text-decoration:none}
footer ul a:hover{color:#fff}
.foot-meta{margin:56px auto 0;padding:22px 32px 0;max-width:var(--max);border-top:1px solid #432852;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:#847092}

@media (max-width:960px){
 section{padding:64px 0}
 .hero{padding:64px 0 56px}
 .svc-grid{grid-template-columns:1fr}
 .svc{border-right:none;border-bottom:1px solid var(--rule)}
 .county-grid,.value-grid,.quote-grid{grid-template-columns:1fr}
 .band-grid,.split,.contact-grid{grid-template-columns:1fr;gap:40px}
 .svc-row{grid-template-columns:1fr;gap:12px}
 .sec-head{flex-direction:column;align-items:flex-start;gap:14px}
 .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
 .tb-row span{display:none}
 nav.primary{display:none}
 nav.primary.open{display:flex;flex-direction:column;align-items:flex-end;gap:14px;width:100%}
 .menu-btn{display:inline-block;background:none;border:1px solid var(--rule);padding:8px 14px;font-family:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
 .head-row{flex-wrap:wrap}
}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}.f2{grid-template-columns:1fr}}
