/* Standard Care Hospice — styles v6 · evolved from Webflow staging design
   Tokens: peach/cream warmth · charcoal ink · deep green action · rounded headings
   Accessibility: 18px base, 1.6 leading, 48px tap targets, AA contrast */
:root {
  --cream:#FDF6EC; --peach:#F6DDBE; --peach-soft:#FBEBD7;
  --ink:#22252A; --ink-soft:#575D65; --line:#E6DFD4;
  --green:#256644; --green-soft:#EAF3EE; --charcoal:#1F1F1F; --white:#FFFFFF;
  --radius:10px; --max:1140px;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Nunito Sans', system-ui, 'Segoe UI', sans-serif; font-size:18px;
  line-height:1.6; color:var(--ink); background:var(--white); }
h1,h2,h3 { font-family:'Quicksand', 'Nunito Sans', sans-serif; font-weight:600; line-height:1.2; }
h1 { font-size:2.6rem; } h2 { font-size:1.9rem; margin-bottom:.5rem; } h3 { font-size:1.2rem; }
p { margin-bottom:1rem; } a { color:var(--green); }
img { max-width:100%; display:block; }
.wrap { max-width:var(--max); margin:0 auto; padding:0 20px; }
.eyebrow { font-size:.78rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:.6rem; }
.confirm { outline:2px dashed #C9A227; outline-offset:2px; position:relative; }
.confirm::after { content:"TO CONFIRM"; position:absolute; top:-10px; right:-2px; background:#C9A227;
  color:#fff; font-size:10px; font-weight:700; padding:1px 6px; border-radius:3px; letter-spacing:1px; }

/* Header */
.topbar { background:var(--white); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50; }
.topbar .wrap { display:flex; align-items:center; gap:18px; min-height:72px; flex-wrap:wrap; padding-top:8px; padding-bottom:8px; }
.brand { text-decoration:none; color:var(--ink); line-height:1.1; }
.brand strong { font-family:'Quicksand',sans-serif; font-size:1.15rem; display:block; }
.brand span { font-size:.7rem; letter-spacing:1.5px; text-transform:uppercase; color:var(--ink-soft); }
.brand img { height:52px; display:block; }
nav.main { display:flex; gap:16px; flex-wrap:wrap; margin-left:auto; }
nav.main a { color:var(--ink); text-decoration:none; font-size:.95rem; font-weight:600; padding:12px 2px; }
nav.main a:hover, nav.main a[aria-current] { color:var(--green); }
.btn { display:inline-block; min-height:48px; padding:12px 22px; border-radius:8px; font-weight:700;
  text-decoration:none; text-align:center; font-size:1rem; }
.btn-call { background:var(--green); color:#fff; }
.btn-call:hover { background:#1d5236; }
.btn-dark { background:var(--charcoal); color:#fff; }
.btn-line { border:2px solid var(--green); color:var(--green); }
.langs { font-size:.85rem; color:var(--ink-soft); }
.langs a { text-decoration:none; font-weight:700; }
.langs .soon { color:#b9b0a2; }
.nav-toggle { position:absolute; opacity:0; width:1px; height:1px; }
.burger { display:none; }
.nav-toggle:focus-visible ~ .burger { outline:2px solid var(--green); outline-offset:3px; border-radius:6px; }

/* Hero */
.hero { background:linear-gradient(160deg, var(--charcoal), #3A3F45); color:#fff; text-align:center;
  padding:84px 20px; position:relative; }
.hero.photo-slot { background:linear-gradient(160deg,#2E3238,#4A4237); }
.hero.hero-photo { background:
  radial-gradient(120% 105% at 50% 42%, rgba(15,20,15,.62) 30%, rgba(15,20,15,.72) 72%, rgba(15,20,15,.88) 100%),
  url('assets/hero-home.webp') center/cover no-repeat; }
.band.photo-fade { background:url('assets/hero-services-faded.webp') center/cover no-repeat; }
.band.photo-fade.pf-careers { background-image:url('assets/careers-faded.webp'); }
.band.photo-fade.pf-contact { background-image:url('assets/contact-faded.webp'); }
.band.photo-fade.pf-groceries { background-image:url('assets/groceries-faded.webp'); }
.team-photo { border-radius:10px; margin:1.2rem 0; width:100%; }
.hero .eyebrow { color:var(--peach); }
.hero h1 { color:#fff; margin-bottom:.7rem; }
.hero p.lead { font-size:1.2rem; max-width:640px; margin:0 auto 1.5rem; color:#EDE6DA; }
.hero .actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.photo-note { font-size:.72rem; color:#b8ad9c; letter-spacing:1px; text-transform:uppercase; margin-top:2rem; }

/* Sections */
section.band { padding:64px 0; }
.band.peach { background:linear-gradient(180deg, var(--peach) 0%, var(--cream) 85%, #fff 100%); }
.band.cream { background:var(--cream); }
.band.green-cta { background:linear-gradient(160deg,#1d3d2c,var(--green)); color:#fff; text-align:center; }
.band.green-cta h2 { color:#fff; } .band.green-cta p { color:#DDEBE2; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; margin-top:1.6rem; }
.card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; }
.card h3 { margin-bottom:.5rem; }
.card .go { font-weight:700; text-decoration:none; }
.card.tint { background:var(--peach-soft); border-color:transparent; }
.card.quote { border-top:4px solid var(--green); }
.stars { color:var(--green); letter-spacing:2px; font-size:.9rem; margin-bottom:.6rem; }
.attrib { display:flex; align-items:center; gap:10px; margin-top:.8rem; font-size:.9rem; }
.attrib .who strong { display:block; }
.avatar { width:40px; height:40px; border-radius:50%; background:var(--peach); display:flex;
  align-items:center; justify-content:center; font-weight:700; color:var(--green); }

/* Founder block */
.founder { display:grid; grid-template-columns:120px 1fr; gap:22px; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; margin-top:1.6rem; }
.founder .photo { width:120px; height:120px; border-radius:50%; background:var(--peach);
  display:flex; align-items:center; justify-content:center; text-align:center; font-size:.7rem;
  color:var(--ink-soft); padding:8px; }

/* Steps / lists */
.steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-top:1.4rem; }
.step { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px; }
.step .num { font-family:'Quicksand',sans-serif; font-weight:700; color:var(--green); font-size:1.4rem; }
.checklist { list-style:none; margin:1rem 0; }
.checklist li { padding:10px 0 10px 34px; position:relative; border-bottom:1px solid var(--line); }
.checklist li::before { content:"→"; position:absolute; left:4px; color:var(--green); font-weight:700; }

/* FAQ */
.faq { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:8px 40px; margin-top:1.4rem; }
.faq h3 { margin:1.1rem 0 .4rem; font-size:1.05rem; }
.faq p { font-size:.98rem; color:var(--ink-soft); }

/* Direct answer */
.answer { background:var(--green-soft); border-left:4px solid var(--green); border-radius:0 var(--radius) var(--radius) 0;
  padding:20px 24px; margin:1.4rem 0; font-size:1.08rem; }

/* Footer */
footer { background:var(--charcoal); color:#CFC9BF; padding:48px 0 90px; font-size:.92rem; }
footer .wrap { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:28px; }
footer h4 { color:#fff; font-size:.85rem; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:.7rem; }
footer a { color:var(--peach); text-decoration:none; }
footer .phone-big { font-size:1.15rem; font-weight:700; color:#fff; }

/* Sticky mobile call bar */
.callbar { position:fixed; bottom:0; left:0; right:0; background:var(--green); text-align:center;
  padding:12px; z-index:60; display:none; }
.callbar a { color:#fff; font-weight:800; text-decoration:none; font-size:1.05rem; }
@media (max-width:960px) {
  .callbar { display:block; }
  h1 { font-size:2rem; }
  .founder { grid-template-columns:1fr; text-align:center; }
  .founder .photo { margin:0 auto; }
  /* mobile menu */
  .burger { display:flex; flex-direction:column; justify-content:center; gap:5px; margin-left:auto;
    width:48px; height:48px; padding:10px 11px; cursor:pointer; }
  .burger span { display:block; width:26px; height:3px; background:var(--ink); border-radius:2px;
    transition:transform .3s ease, opacity .25s ease; }
  .nav-toggle:checked ~ .burger span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
  .nav-toggle:checked ~ .burger span:nth-child(2) { opacity:0; }
  .nav-toggle:checked ~ .burger span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
  nav.main { display:none; flex-basis:100%; flex-direction:column; gap:0; margin-left:0;
    border-top:1px solid var(--line); padding-top:6px; }
  nav.main a { padding:14px 4px; border-bottom:1px solid var(--line); font-size:1.05rem; }
  .nav-toggle:checked ~ nav.main { display:flex; }
  .topbar .btn-call { display:none; }
  .topbar .langs { display:none; }
  .nav-toggle:checked ~ .langs { display:block; flex-basis:100%; padding:10px 4px 4px; }
}
