/* ==========================================================================
   Core Chiro Rehab — About Us Page Redesign
   Extends the shared `.chc-landing` design system from home-redesign.css
   (same colors/type/buttons) but every component below is purpose-built for
   this page — a distinct layout language from the home page (split hero
   instead of full-bleed, editorial stat bar instead of image+text repeat,
   an editorial service list instead of feature cards, a centered doctor
   spotlight instead of a two-column banner, a full-bleed closing band
   instead of a rounded CTA card).
   ========================================================================== */

/* ---------- split hero ---------- */
.chc-story-hero{
  position:relative; overflow:hidden;
  background:var(--c-mint);
  min-height:calc(100vh - var(--chc-total-header-h, 133px));
  min-height:calc(100svh - var(--chc-total-header-h, 133px));
  display:flex; align-items:center;
  padding:56px 0;
}
.chc-story-hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.chc-story-hero__crumbs{
  display:flex; align-items:center; gap:8px;
  font-size:13.5px; font-weight:600; color:var(--c-ink-soft);
  margin-bottom:20px;
}
.chc-story-hero__crumbs a{ color:var(--c-ink-soft); text-decoration:none; }
.chc-story-hero__crumbs a:hover{ color:var(--c-orange-dark); }
.chc-story-hero__crumbs i{ font-size:10px; color:var(--c-border); }
.chc-story-hero__crumbs span{ color:var(--c-ink); font-weight:700; }
.chc-story-hero h1{
  font-size:clamp(30px, 3.4vw, 44px); font-weight:800; line-height:1.18;
  letter-spacing:-.01em; margin-bottom:18px;
}
.chc-story-hero p.chc-lead{ color:var(--c-ink-soft); font-size:16.5px; line-height:1.8; max-width:540px; margin-bottom:26px; }
.chc-story-hero__trust{ display:flex; align-items:center; gap:14px; margin-bottom:30px; }
.chc-story-hero__trust .chc-hero__stars{ color:var(--c-gold); font-size:15px; display:flex; gap:3px; }
.chc-story-hero__trust span{ font-size:13.5px; font-weight:600; color:var(--c-ink-soft); }
.chc-story-hero__trust strong{ color:var(--c-ink); }
.chc-story-hero__cta{ display:flex; flex-wrap:wrap; gap:16px; }

.chc-story-hero__media{ position:relative; }
.chc-story-hero__media .chc-dotgrid{ width:200px; height:200px; top:-36px; right:-36px; border-radius:20px; }
.chc-story-hero__frame{ position:relative; border-radius:28px; overflow:hidden; box-shadow:var(--c-shadow-md); }
.chc-story-hero__frame img{ width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; display:block; }

/* ---------- narrative / stat bar ---------- */
.chc-narrative{ padding:100px 0 90px; background:#fff; }
.chc-narrative__inner{ max-width:760px; margin:0 auto; text-align:center; }
.chc-narrative p.chc-lead{ color:var(--c-ink-soft); font-size:18px; line-height:1.85; margin-top:14px; }
.chc-narrative p.chc-lead a{ color:var(--c-orange-dark); font-weight:700; text-decoration:none; }

.chc-stat-bar{
  display:grid; grid-template-columns:repeat(4, 1fr);
  margin:56px auto 0; max-width:920px;
  border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border);
}
.chc-stat-bar__item{
  text-align:center; padding:28px 16px;
  border-left:1px solid var(--c-border);
}
.chc-stat-bar__item:first-child{ border-left:none; }
.chc-stat-bar__item strong{ display:block; font-family:var(--f-head); font-size:clamp(26px, 2.8vw, 34px); font-weight:800; color:var(--c-orange-dark); }
.chc-stat-bar__item span{ font-size:13px; color:var(--c-ink-soft); font-weight:600; }

.chc-pill-list{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:56px !important; }
.chc-pill-list li{
  display:flex; align-items:center; gap:8px;
  background:var(--c-mint); border-radius:50px; padding:10px 20px 10px 14px;
  font-size:13.5px; font-weight:700; color:var(--c-ink);
}
.chc-pill-list li i{ color:var(--c-orange); font-size:11px; }

/* ---------- services offered — editorial list ---------- */
.chc-offer{ padding:100px 0; background:var(--c-mint); }
.chc-offer__list{ border-top:1px solid var(--c-border); }
.chc-offer__row{
  display:grid; grid-template-columns:64px 60px 1fr auto; align-items:center; gap:26px;
  padding:32px 20px; border-bottom:1px solid var(--c-border);
  transition:background .3s ease;
}
.chc-offer__row:hover{ background:rgba(255,255,255,.6); }
.chc-offer__num{ font-family:var(--f-head); font-size:15px; font-weight:800; color:var(--c-border); }
.chc-offer__icon{
  width:52px; height:52px; border-radius:14px;
  background:#fff; color:var(--c-orange); box-shadow:var(--c-shadow-sm);
  display:flex; align-items:center; justify-content:center; font-size:20px;
  transition:transform .35s ease, background .35s ease, color .35s ease;
}
.chc-offer__row:hover .chc-offer__icon{ background:var(--c-orange); color:#fff; transform:rotate(-6deg) scale(1.06); }
.chc-offer__body h3{ font-size:19px; font-weight:800; margin-bottom:6px; }
.chc-offer__body p{ color:var(--c-ink-soft); font-size:14.5px; line-height:1.7; max-width:560px; }
.chc-offer__link{
  width:44px; height:44px; border-radius:50%; flex-shrink:0;
  border:1.5px solid var(--c-border); color:var(--c-ink);
  display:flex; align-items:center; justify-content:center; font-size:13px;
  transition:.3s ease;
}
.chc-offer__row:hover .chc-offer__link{ background:var(--c-orange); border-color:var(--c-orange); color:#fff; transform:translateX(3px); }

/* ---------- meet the doctor — centered spotlight ---------- */
.chc-meet{ padding:110px 0; background:var(--c-ink); position:relative; overflow:hidden; text-align:center; }
.chc-meet__inner{ max-width:700px; margin:0 auto; position:relative; z-index:1; }
.chc-meet__avatar{
  width:130px; height:130px; border-radius:50%; overflow:hidden; margin:0 auto 24px;
  border:4px solid rgba(255,134,0,.5); box-shadow:0 20px 44px rgba(0,0,0,.5);
}
.chc-meet__avatar img{ width:100%; height:100%; object-fit:cover; object-position:center 12%; display:block; }
.chc-meet h2{ color:#fff; margin-bottom:18px; }
.chc-meet p.chc-lead{ color:rgba(255,255,255,.72); font-size:16.5px; line-height:1.85; margin-bottom:30px; }
.chc-meet__stars{ color:var(--c-gold); font-size:15px; display:flex; gap:3px; justify-content:center; margin-bottom:14px; }
.chc-meet__creds{ display:flex; justify-content:center; gap:40px; margin-bottom:34px; flex-wrap:wrap; }
.chc-meet__creds div strong{ display:block; font-family:var(--f-head); color:var(--c-orange); font-size:24px; }
.chc-meet__creds div span{ font-size:12.5px; color:rgba(255,255,255,.6); }
.chc-meet__cta{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }

/* ---------- visit / contact / map ---------- */
.chc-visit{ padding:110px 0; background:#fff; }
.chc-visit__grid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:56px; align-items:stretch; }
.chc-visit__info{ display:grid; gap:18px; align-content:start; }
.chc-visit__card{
  display:flex; gap:18px; align-items:flex-start;
  background:var(--c-mint); border-radius:20px; padding:26px 28px;
}
.chc-visit__card-icon{
  flex-shrink:0; width:48px; height:48px; border-radius:14px;
  background:#fff; color:var(--c-orange); box-shadow:var(--c-shadow-sm);
  display:flex; align-items:center; justify-content:center; font-size:18px;
}
.chc-visit__card h3{ font-size:17px; font-weight:800; margin-bottom:8px; }
.chc-visit__card p{ color:var(--c-ink-soft); font-size:14.5px; line-height:1.7; }
.chc-visit__card a{ color:var(--c-ink); text-decoration:none; }
.chc-visit__card a:hover{ color:var(--c-orange-dark); }
.chc-visit__hours{ display:grid; gap:8px; }
.chc-visit__hours li{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-size:14.5px; color:var(--c-ink); font-weight:600;
  padding:7px 0; border-bottom:1px dashed var(--c-border);
}
.chc-visit__hours li:last-child{ border-bottom:none; }
.chc-visit__hours li span{ color:var(--c-ink-soft); font-weight:500; }
.chc-visit__hours li strong{ color:var(--c-orange-dark); font-weight:600; }
.chc-visit__map{
  position:relative; border-radius:24px; overflow:hidden;
  box-shadow:var(--c-shadow-md); min-height:420px;
}
.chc-visit__map iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0; display:block;
}

/* ---------- closing band — solid gradient, no photo (matches the Provider page's CTA) ---------- */
.chc-cta-band{
  padding:90px 0; text-align:center;
  background:linear-gradient(120deg, var(--c-orange) 0%, #ff5f2e 60%, var(--c-orange-dark) 100%);
}
.chc-cta-band__inner{ max-width:620px; margin:0 auto; }
.chc-cta-band h2{ color:#fff; margin-bottom:14px; }
.chc-cta-band p{ color:rgba(255,255,255,.9); font-size:16.5px; line-height:1.8; margin-bottom:30px; }
.chc-cta-band__cta{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.chc-cta-band .chc-btn--primary{ background:#fff; color:var(--c-orange-dark); box-shadow:0 18px 38px -14px rgba(0,0,0,.35); }
.chc-cta-band .chc-btn--primary:hover{ background:var(--c-ink); color:#fff; }
.chc-cta-band .chc-btn--ghost-light:hover{ background:#fff; color:var(--c-orange-dark); border-color:#fff; }

@media (max-width:1199px){
  .chc-story-hero__grid{ grid-template-columns:1fr; }
  .chc-story-hero__media{ order:-1; max-width:460px; margin:0 auto; }
  .chc-visit__grid{ grid-template-columns:1fr; }
  .chc-visit__map{ min-height:340px; }
  .chc-offer__row{ grid-template-columns:44px 48px 1fr auto; gap:18px; }
}
@media (max-width:767px){
  .chc-story-hero{
    min-height:calc(100vh - var(--chc-total-header-h, 74px));
    min-height:calc(100svh - var(--chc-total-header-h, 74px));
    padding:56px 0;
  }
  .chc-story-hero__cta{ flex-direction:column; align-items:stretch; }
  .chc-story-hero__cta .chc-btn{ justify-content:center; }
  .chc-narrative{ padding:70px 0; }
  .chc-stat-bar{ grid-template-columns:repeat(2, 1fr); margin-top:40px; }
  .chc-stat-bar__item{ border-left:none; border-top:1px solid var(--c-border); padding:20px 10px; }
  .chc-stat-bar__item:nth-child(odd){ border-right:1px solid var(--c-border); }
  .chc-offer{ padding:70px 0; }
  .chc-offer__row{ grid-template-columns:1fr auto; grid-template-areas:"body body" "num link"; row-gap:14px; }
  .chc-offer__num{ grid-area:num; }
  .chc-offer__icon{ display:none; }
  .chc-offer__body{ grid-area:body; }
  .chc-offer__link{ grid-area:link; }
  .chc-meet{ padding:70px 0; }
  .chc-meet__creds{ gap:26px; }
  .chc-visit__card{ padding:22px; }
  .chc-cta-band{ padding:60px 0; }
  .chc-cta-band__cta{ flex-direction:column; align-items:stretch; }
  .chc-cta-band .chc-btn{ justify-content:center; }
}
