/* Local service pages: the original clinical text in the shared visual system. */
.service-page-main { color: var(--paper); padding-top: 24px; }
.service-page-main h1, .service-page-main h2, .service-page-main h3, .service-page-main p { margin: 0; }
.service-page-main h1, .service-page-main h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; }
.service-page-main a { text-underline-offset: 5px; }
.service-page-main a:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
.service-page-main .breadcrumbs { color: var(--muted); font: 400 12px/1.65 var(--sans); }
.breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 7px; }
.breadcrumbs li:not(:last-child)::after { content: '/'; margin-left: 7px; color: var(--gold); opacity: .65; }
.breadcrumbs a { display: inline-block; padding-block: 12px; color: inherit; text-decoration: none; }
.breadcrumbs li[aria-current] { padding-block: 12px; }
.breadcrumbs a:hover { color: var(--paper); }
.service-page-hero { padding-block: 32px 56px; border-bottom: 1px solid #ffffff18; }
.service-page-hero-grid { display: grid; grid-template-columns: 1.16fr .84fr; align-items: center; gap: 54px; }
.service-page-kicker { display: block; margin-bottom: 18px; font: 600 10px/1.65 var(--sans); letter-spacing: .15em; text-transform: uppercase; color: var(--pink); }
.service-page-hero h1 { margin-bottom: 22px; font-size: clamp(36px, 4.4vw, 58px); line-height: 1.1; overflow-wrap: anywhere; }
.service-page-lead { color: var(--muted); font: 400 15px/1.85 var(--sans); max-width: 42em; }
.service-page-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 26px; }
.service-page-actions .button { font-size: 12px; }
.service-hero-image { align-self: start; overflow: hidden; border-radius: 4px 4px 24px 4px; border: 1px solid #ffffff24; background: var(--surface); margin-top: 12px; }
.service-hero-image img { display: block; width: 100%; height: auto; }
.service-facts { display: grid; grid-template-columns: 1fr 1.3fr 1fr; gap: 16px; margin-top: 30px; padding-top: 20px; border-top: 1px solid #ffffff24; }
.service-fact strong, .service-fact span { display: block; }
.service-fact strong { color: var(--gold); margin-bottom: 7px; font: 600 10px/1.5 var(--sans); letter-spacing: .07em; text-transform: uppercase; }
.service-fact span { color: var(--muted); font: 400 12px/1.7 var(--sans); }
.service-content-section { padding-block: 64px; background: var(--surface); }
.service-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 278px; gap: 82px; align-items: start; }
.service-article { min-width: 0; max-width: 760px; }
.service-article section + section { margin-top: 36px; padding-top: 36px; border-top: 1px solid #ffffff1c; }
.service-article h2 { margin-bottom: 18px; font-size: clamp(26px, 2.6vw, 35px); line-height: 1.25; }
.service-article h3 { color: var(--paper); font: 600 17px/1.5 var(--sans); margin-block: 25px 12px; }
.service-article p, .service-article li { color: var(--muted); font: 400 14px/1.9 var(--sans); }
.service-article p + p { margin-top: 16px; }
.service-checklist { display: grid; gap: 13px; list-style: none; padding: 0; margin-block: 18px 0; }
.service-checklist li { position: relative; padding-left: 22px; }
.service-checklist li::before { content: ''; position: absolute; left: 1px; top: .8em; width: 5px; height: 5px; border-radius: 50%; background: var(--pink); }
.info-note { margin-top: 25px; padding: 18px 20px; border-left: 2px solid var(--gold); color: var(--muted); background: var(--bg); font: 400 13px/1.9 var(--sans); }
.service-sidebar { position: sticky; top: 110px; display: grid; gap: 20px; }
.service-sidebar-card { padding: 24px; border: 1px solid #ffffff24; border-radius: 8px; background: var(--bg); }
.service-sidebar-card h2 { margin-bottom: 13px; font-size: 25px; line-height: 1.25; }
.service-sidebar-card p { color: var(--muted); font: 400 12px/1.85 var(--sans); }
.service-sidebar-card .button { display: flex; width: 100%; justify-content: center; margin-top: 17px; font-size: 12px; }
.related-services { list-style: none; padding: 0; margin: 0; }
.related-services a { display: block; padding-block: 14px; border-bottom: 1px solid #ffffff1c; color: var(--muted); font: 400 12px/1.75 var(--sans); text-decoration: none; }
.related-services a:hover { color: var(--paper); }
.related-services li:last-child a { border-bottom: 0; padding-bottom: 0; }
.faq-list { display: grid; gap: 0; margin-top: 20px; }
.faq-item { padding-block: 22px; border-bottom: 1px solid #ffffff1c; }
.faq-item:first-child { padding-top: 0; }
.faq-item h3 { margin: 0 0 10px; color: var(--paper); font: 600 14px/1.65 var(--sans); }
.service-article .medical-disclaimer { margin-top: 30px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.doctor-trust { padding-block: 44px; }
.doctor-trust-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center; }
.doctor-trust-mark { display: grid; width: 56px; height: 56px; flex: 0 0 56px; place-items: center; border: 1px solid #ffffff24; border-radius: 50%; color: var(--pink); font: 400 22px/1 var(--serif); }
.doctor-trust h2 { margin-bottom: 7px; font-size: 26px; }
.doctor-trust p { color: var(--muted); font: 400 12px/1.85 var(--sans); max-width: 48em; }
.doctor-trust .button { white-space: nowrap; font-size: 12px; }

@media (max-width: 1050px) {
  .service-page-hero-grid { gap: 32px; grid-template-columns: 1.2fr .8fr; }
  .service-content-grid { gap: 38px; grid-template-columns: minmax(0, 1fr) 250px; }
  .service-sidebar-card { padding: 20px; }
}

@media (max-width: 800px) {
  .service-page-main { padding-top: 16px; }
  .service-page-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .service-page-hero h1 { max-width: 750px; }
  .service-hero-image { width: min(100%, 600px); margin-top: 0; }
  .service-content-grid { grid-template-columns: 1fr; }
  .service-sidebar { position: static; grid-template-columns: 1fr 1fr; align-items: start; }
  .doctor-trust-card { grid-template-columns: auto 1fr; }
  .doctor-trust .button { grid-column: 2; justify-self: start; }
}

@media (max-width: 520px) {
  .service-page-main .breadcrumbs { font-size: 10px; }
  .service-page-hero { padding-block: 22px 38px; }
  .service-page-kicker { font-size: 9px; margin-bottom: 14px; }
  .service-page-hero h1 { font-size: clamp(31px, 8.9vw, 42px); margin-bottom: 18px; }
  .service-page-lead { font-size: 14px; line-height: 1.85; }
  .service-page-actions { gap: 10px; }
  .service-page-actions .button { flex: 1 1 180px; justify-content: center; }
  .service-facts { gap: 12px; grid-template-columns: 1fr; margin-top: 24px; padding-top: 7px; }
  .service-fact { display: grid; grid-template-columns: 95px 1fr; gap: 10px; padding-top: 13px; }
  .service-fact strong { margin-bottom: 0; font-size: 9px; }
  .service-fact span { font-size: 12px; }
  .service-content-section { padding-block: 40px; }
  .service-article h2 { font-size: 28px; margin-bottom: 15px; }
  .service-article p, .service-article li { font-size: 14px; }
  .service-article section + section { margin-top: 30px; padding-top: 30px; }
  .info-note { font-size: 12px; padding: 15px 16px; }
  .service-sidebar { grid-template-columns: 1fr; gap: 16px; }
  .service-sidebar-card { padding: 22px; }
  .doctor-trust { padding-block: 34px; }
  .doctor-trust-card { gap: 16px; grid-template-columns: 44px minmax(0, 1fr); }
  .doctor-trust-mark { width: 44px; height: 44px; font-size: 18px; }
  .doctor-trust h2 { font-size: 23px; }
  .doctor-trust .button { grid-column: 1 / -1; margin-top: 3px; }
}
