.service-hero{color:#fff;background:linear-gradient(90deg,rgba(23,43,55,.97),rgba(23,43,55,.88) 55%,rgba(23,43,55,.65)),url('../images/hero-bg.jpg') center 38%/cover}.service-hero__inner{max-width:var(--width-wide);margin:auto;padding:var(--space-16) var(--gutter);display:grid;gap:var(--space-10);align-items:center}.service-hero h1{max-width:760px;color:#fff;font-size:clamp(2.6rem,4vw,4.5rem);line-height:1.04;letter-spacing:-.035em}.service-hero__subhead{max-width:680px;margin:var(--space-6) 0 var(--space-8);color:rgba(255,255,255,.84);font-size:var(--font-size-large)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-8);color:rgba(255,255,255,.65)}.breadcrumbs a{color:#fff}.service-hero__card{padding:var(--space-8);background:rgba(23,43,55,.74);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-xl);backdrop-filter:blur(12px)}.service-hero__card>span{width:56px;height:56px;display:grid;place-items:center;color:#fff;background:var(--color-primary);border-radius:50%;font-size:1.3rem}.service-hero__card h2{margin:var(--space-5) 0;color:#fff;font-size:var(--font-size-large)}.service-hero__card ul{display:grid;gap:var(--space-3)}.service-hero__card li{color:rgba(255,255,255,.82)}.service-hero__card li:before{content:'✓';margin-right:var(--space-3);color:var(--color-primary);font-weight:700}
.service-intro,.service-team{max-width:var(--width-wide);margin:auto;display:grid;gap:var(--space-10);align-items:center}.service-intro>div>p,.service-team>div>p:not(.eyebrow){color:var(--color-muted)}.service-intro figure{position:relative;margin:0}.service-intro img,.service-team>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-xl)}.service-intro figcaption{position:absolute;left:var(--space-5);right:var(--space-5);bottom:var(--space-5);padding:var(--space-4);color:#fff;background:rgba(23,43,55,.92);border-radius:var(--radius-lg);font-weight:700}.service-intro figcaption i{color:var(--color-primary);margin-right:var(--space-2)}
.service-explainer{display:grid;gap:var(--space-10)}.service-explainer>div:last-child{max-width:760px}.service-explainer>div:last-child p{color:var(--color-muted);font-size:1.08rem;line-height:1.75}.service-explainer>div:last-child p:first-child{color:var(--color-navy)}
.service-feature-grid,.condition-link-grid,.visit-steps,.service-location-grid{max-width:var(--width-wide);margin:auto;display:grid;gap:var(--space-4)}.service-feature-grid article{padding:var(--space-6);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg)}.service-feature-grid article>i{width:44px;height:44px;display:grid;place-items:center;margin-bottom:var(--space-5);color:var(--color-primary);background:rgba(242,95,45,.13);border-radius:50%}.service-feature-grid h3{color:#fff}.service-feature-grid p{color:rgba(255,255,255,.72)}
.condition-link-grid a{min-height:145px;padding:var(--space-5);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition)}.condition-link-grid a:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.condition-link-grid strong,.condition-link-grid small{display:block}.condition-link-grid strong{margin-bottom:var(--space-2);color:var(--color-navy);font:700 var(--font-size-large)/1.2 var(--font-heading)}.condition-link-grid small{color:var(--color-muted);line-height:1.4}.condition-link-grid i{color:var(--color-primary)}
.visit-steps li{padding:var(--space-6);background:#fff;border-top:3px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.visit-steps span{color:var(--color-primary);font:700 2rem/1 var(--font-heading)}.visit-steps h3{margin:var(--space-4) 0 var(--space-2)}.visit-steps p{color:var(--color-muted)}.visit-notes{max-width:var(--width-content);margin:var(--space-8) auto 0;padding:var(--space-6);background:var(--color-primary-tint);border-radius:var(--radius-lg)}.visit-notes p{margin:0;padding:var(--space-3) 0}.visit-notes p+p{border-top:1px solid rgba(242,95,45,.18)}.service-team>div>p:not(.eyebrow){margin:var(--space-5) 0 var(--space-7)}
.service-location-grid a{min-height:130px;padding:var(--space-5);display:grid;grid-template-columns:1fr auto;align-content:center;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.service-location-grid strong{color:var(--color-navy);font:700 var(--font-size-large)/1.2 var(--font-heading)}.service-location-grid span{grid-column:1;margin-top:var(--space-2);color:var(--color-muted)}.service-location-grid i{grid-row:1/3;grid-column:2;align-self:center;color:var(--color-primary)}.locations-phone{text-align:center;margin-top:var(--space-8);font-size:var(--font-size-large);font-weight:700}.locations-phone i,.locations-phone a{color:var(--color-primary)}.faq__list{max-width:860px;margin:auto}.closing-cta{text-align:center}.closing-cta .btn-group{justify-content:center}
@media(min-width:768px){.service-feature-grid,.condition-link-grid,.visit-steps,.service-location-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.service-hero__inner{grid-template-columns:minmax(0,3fr) minmax(0,2fr);padding-block:var(--space-20)}.service-intro,.service-team{grid-template-columns:1.05fr .95fr}.service-explainer{max-width:var(--width-wide);margin:auto;grid-template-columns:.75fr 1.25fr}.service-feature-grid,.condition-link-grid{grid-template-columns:repeat(3,1fr)}.visit-steps,.service-location-grid{grid-template-columns:repeat(4,1fr)}}@media(prefers-reduced-motion:reduce){.condition-link-grid a{transition:none}}

/* Compact service trust panel */
.service-hero__card {
  padding: var(--space-6);
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(23,43,55,.62);
  border-radius: var(--radius-xl);
  backdrop-filter: blur(10px);
}
.service-hero__card h2 {
  margin: 0 0 var(--space-4);
  color: var(--color-white);
  font-size: 1.2rem;
  line-height: 1.25;
}
.service-hero__card ul {
  display: grid;
  gap: 0;
}
.service-hero__card li {
  padding: var(--space-3) 0;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: rgba(255,255,255,.82);
  line-height: 1.35;
}
.service-hero__card li + li {
  border-top: 1px solid rgba(255,255,255,.12);
}
.service-hero__card li::before {
  content: '✓';
  margin: 0;
  flex: 0 0 auto;
  color: var(--color-primary);
  font-weight: 700;
}
.service-team__description { margin: var(--space-5) 0 var(--space-6) !important; }
.faq__item summary { width: 100%; justify-content: space-between; }
.faq__item summary > span { flex: 1; min-width: 0; }
.faq__item summary::after { margin-left: auto; }

/* Osteopathy page refinements */
.service-hero .eyebrow { color: var(--color-primary); }
.service-explainer__heading { align-self: stretch; }
.service-explainer__concept { margin-top: var(--space-10); padding: var(--space-5); display: flex; align-items: flex-start; gap: var(--space-4); background: var(--color-white); border-left: 3px solid var(--color-primary); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.service-explainer__concept > i { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; color: var(--color-primary); background: var(--color-primary-tint); border-radius: 50%; }
.service-explainer__concept strong, .service-explainer__concept small { display: block; }
.service-explainer__concept strong { color: var(--color-navy); font-family: var(--font-heading); }
.service-explainer__concept small { margin-top: var(--space-2); color: var(--color-muted); line-height: 1.45; }
.service-condition-grid .condition-card { min-height: 118px; align-items: center; }
.condition-card__content { min-width: 0; flex: 1; }
.service-condition-grid .condition-card__label, .service-condition-grid small { display: block; }
.service-condition-grid small { margin-top: var(--space-1); color: var(--color-muted); line-height: 1.35; }
.visit-steps { list-style: none; padding-left: 0; }
.visit-notes { display: grid; gap: var(--space-4); max-width: var(--width-wide); background: transparent; padding: 0; }
.visit-notes article { padding: var(--space-5); display: flex; gap: var(--space-4); background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.visit-notes article > i { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; color: var(--color-primary); background: var(--color-primary-tint); border-radius: 50%; }
.visit-notes h3 { margin: 0 0 var(--space-2); font-size: 1rem; }
.visit-notes article p { margin: 0; padding: 0; color: var(--color-muted); }
.visit-notes article + article { border-top: 1px solid var(--color-border); }
.service-team .btn-group { margin-top: 0; }
@media (min-width: 768px) { .visit-notes { grid-template-columns: repeat(3, 1fr); } }

/* Long-form copy blocks (Shockwave Therapy) */
.service-prose { max-width: 760px; margin: 0 auto; }
.service-prose p { margin: 0 0 var(--space-4); line-height: 1.7; }
.section--navy .service-prose a { color: var(--color-white); text-decoration: underline; }
.service-intro a, .service-explainer a, .service-team a:not(.btn), .condition-card a { color: var(--color-primary); text-decoration: underline; }
.service-note { max-width: 760px; margin: var(--space-6) auto 0; text-align: center; color: var(--color-muted); }
.service-note i { color: var(--color-primary); margin-right: var(--space-1); }
.service-team__description + .service-team__description { margin-top: var(--space-3); }
.service-references ol { max-width: 900px; margin: 0; padding-left: 1.25rem; color: var(--color-muted); font-size: 0.9rem; line-height: 1.6; }
.service-references a { color: var(--color-foreground); }
/* Non-link condition cards: no arrow or hover lift */
div.condition-card::after { content: none; }
div.condition-card { cursor: default; }
