/* Patient follow-up in the shared QHealth marketing theme. */
.patient-crm-page .section-kicker { font-size: .75rem; line-height: 1.6; }
.patient-crm-page h1, .patient-crm-page h2 { font-family: var(--font-display); font-weight: 600; letter-spacing: -.04em; text-wrap: pretty; }
.patient-crm-page section[id] { scroll-margin-top: 6rem; }
.crm-marketing-hero { padding-block: 2rem 4rem; }
.crm-breadcrumbs { display: flex; align-items: center; gap: .65rem; color: var(--muted-foreground); font-size: .75rem; }
.crm-breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; }
.crm-breadcrumbs a:hover { color: #007cbd; text-decoration: underline; text-underline-offset: 4px; }
.crm-hero-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: end; gap: 4rem; padding-block: 2.5rem 3rem; }
.crm-hero-intro h1 { margin-top: 1.25rem; font-size: clamp(2.15rem, 3.6vw, 3.3rem); line-height: 1.3; }
.crm-hero-intro h1 span { color: #007cbd; }
.crm-hero-copy > p { color: var(--muted-foreground); font-size: 1.05rem; line-height: 1.8; }
.crm-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-top: 1.75rem; }
.patient-crm-page .crm-demo-button { min-height: 50px; padding-inline: 1.75rem; background: #007cbd; border-color: #007cbd; color: #fff; font-size: .9rem; }
.patient-crm-page .crm-demo-button:hover { background: #006ca6; border-color: #006ca6; }
.crm-text-link { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; color: #007cbd; font-size: .85rem; font-weight: 800; line-height: 1.6; }
.crm-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.crm-hero-product { max-width: 64rem; margin-inline: auto; }
.crm-product-screen { min-width: 0; margin: 0; background: #fff; box-shadow: 0 12px 35px rgba(24,40,68,.06); }
.crm-product-screen .product-preview__heading { padding: .8rem 1rem; }
.crm-product-screen img { display: block; width: 100%; height: auto; }
.crm-product-screen figcaption { align-items: center; padding: .4rem 1rem; font-size: .7rem; }
.crm-product-screen figcaption a { display: inline-flex; align-items: center; gap: .3rem; min-height: 44px; }
.crm-hero-outcomes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; max-width: 64rem; margin: 2rem auto 0; }
.crm-hero-outcomes > div { padding-left: 1rem; border-left: 2px solid #a3cef0; }
.crm-hero-outcomes dt { font-size: .95rem; font-weight: 800; line-height: 1.6; }
.crm-hero-outcomes dd { margin-top: .45rem; color: var(--muted-foreground); font-size: .85rem; line-height: 1.7; }
.crm-section-copy { max-width: 43rem; }
.crm-section-copy h2 { margin-top: .9rem; font-size: clamp(1.65rem,2.6vw,2.4rem); line-height: 1.3; }
.crm-section-copy > p:not(.section-kicker) { margin-top: 1.25rem; color: var(--muted-foreground); font-size: 1rem; line-height: 1.8; }
.crm-section-copy ul { display: grid; gap: .65rem; margin-top: 1.25rem; padding-left: 1.15rem; list-style: disc; font-size: .9rem; line-height: 1.75; }
.crm-section-copy li::marker { color: #007cbd; }
.crm-section-copy > p.crm-detail { font-size: .8rem; }
.crm-section-copy > .crm-text-link { margin-top: 1rem; }
.crm-follow-through { padding-block: 4rem; background: var(--surface); border-block: 1px solid var(--border); }
.crm-recovery-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.5rem; margin-top: 2.5rem; list-style: none; }
.crm-recovery-steps li { padding-top: 1.25rem; border-top: 1px solid var(--border); }
.crm-step-number { color: #007cbd; font-size: .8rem; font-weight: 800; }
.crm-recovery-steps h3 { margin-top: .75rem; font-size: 1.05rem; font-weight: 800; line-height: 1.5; }
.crm-recovery-steps p { margin-top: .75rem; color: var(--muted-foreground); font-size: .9rem; line-height: 1.8; }
.crm-story { padding-block: 4.5rem; }
.crm-story-layout { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); align-items: center; gap: 3.5rem; }
.crm-story--campaigns { background: var(--surface); border-block: 1px solid var(--border); }
.crm-story--campaigns .crm-story-layout { grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); }
.crm-story--campaigns .crm-section-copy { order: 2; }
.crm-story--campaigns .crm-product-screen { order: 1; }
.crm-management { padding-block: 4rem; }
.crm-management-layout, .crm-faq-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 4rem; }
.crm-management-list { display: grid; align-content: start; gap: 1.25rem; }
.crm-management-list > div { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1fr); gap: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--border); }
.crm-management-list dt { font-size: .9rem; font-weight: 800; line-height: 1.8; }
.crm-management-list dd { color: var(--muted-foreground); font-size: .9rem; line-height: 1.8; }
.crm-faq { padding-block: 4rem; background: var(--surface); border-block: 1px solid var(--border); }
.crm-closing { padding-block: 4rem; }
@media (max-width: 1100px) {
  .crm-hero-intro, .crm-story-layout, .crm-management-layout, .crm-faq-layout { gap: 2rem; }
}
@media (max-width: 980px) {
  .crm-hero-intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .crm-hero-copy { max-width: 43rem; }
  .crm-hero-intro h1 { font-size: clamp(2.1rem,5vw,3rem); }
  .crm-story-layout, .crm-story--campaigns .crm-story-layout, .crm-management-layout, .crm-faq-layout { grid-template-columns: 1fr; }
  .crm-story--campaigns .crm-section-copy, .crm-story--campaigns .crm-product-screen { order: initial; }
  .crm-product-screen { width: 100%; max-width: 64rem; }
}
@media (max-width: 760px) {
  .crm-marketing-hero { padding-block: 1.25rem 2.5rem; }
  .crm-hero-intro { padding-block: 1.75rem 2rem; }
  .crm-hero-intro h1 { font-size: clamp(1.85rem,7.5vw,2.7rem); }
  .crm-hero-copy > p { font-size: 1rem; line-height: 1.75; }
  .crm-hero-actions { margin-top: 1.5rem; }
  .crm-hero-outcomes { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 1.5rem; }
  .crm-hero-outcomes dd { margin-top: .15rem; }
  .crm-follow-through, .crm-story, .crm-management, .crm-faq { padding-block: 3rem; }
  .crm-section-copy h2 { font-size: 1.65rem; }
  .crm-recovery-steps { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 2rem; }
  .crm-management-list > div { grid-template-columns: 1fr; gap: .25rem; }
  .crm-closing { padding-block: 2.5rem; }
}
@media (max-width: 599px) {
  .crm-product-screen figcaption { flex-wrap: wrap; gap: .1rem .5rem; padding: .5rem .75rem; }
}
