/* Scheduling additions shared by the main site and Insights templates. */
.schedule-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin-top: 24px; }
.schedule-cta .schedule-link { white-space: normal; text-align: center; justify-content: center; max-width: 100%; }
.schedule-cta > span { color: #2D3133; font-size: 14px; }
.schedule-cta > span a, .schedule-phone a, .schedule-fallback a, .intake-schedule a { color: #0B3D2E; text-decoration: underline; text-underline-offset: 3px; }
.final-cta .schedule-cta { justify-content: center; }
.schedule-intro { padding: 64px 0 40px; }
.schedule-intro .lead { max-width: 780px; }
.schedule-phone { margin: 22px 0 0; }
.schedule-section { padding: 40px 0 72px; }
.schedule-panel { border: 1px solid #E5E1D5; border-top: 3px solid #C9A227; padding: clamp(20px, 3vw, 40px); background: #FAF9F5; }
.schedule-panel h2 { font-size: clamp(30px, 4vw, 44px); margin-bottom: 18px; }
.schedule-notice { max-width: 800px; border-left: 3px solid #C9A227; padding: 12px 18px; background: #fff; color: #2D3133; }
.schedule-fallback { margin: 20px 0 0; }
#schedulerStatus { margin: 20px 0 0; font-size: 14px; }
#schedulerStatus:empty { display: none; }
#schedulerContainer { margin-top: 24px; }
.scheduler-frame { display: block; width: 100%; height: 900px; border: 0; background: #fff; }
#showScheduler[hidden], #schedulerContainer[hidden] { display: none; }
#showScheduler:disabled { cursor: default; opacity: 1; }
.schedule-nav:focus-visible, .schedule-link:focus-visible, #showScheduler:focus-visible,
.schedule-phone a:focus-visible, .schedule-fallback a:focus-visible, .intake-schedule a:focus-visible,
.schedule-cta a:focus-visible, .scheduler-frame:focus-visible, .mobile-action-bar a:focus-visible {
  outline: 3px solid #0B3D2E; outline-offset: 4px; box-shadow: 0 0 0 3px #fff;
}
/* Keep the header action visible at every breakpoint, including laptop widths. */
.nav-cta .schedule-nav { display: inline-flex; min-height: 44px; padding: 12px 16px; font-size: 11px; letter-spacing: .035em; }
@media (min-width: 721px) and (max-width: 1280px) {
  .nav .container { flex-wrap: wrap; }
  .nav-cta { display: flex; }
}
.mobile-action-bar { display: none; }
@media (max-width: 720px) {
  body { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  html { scroll-padding-bottom: 90px; }
  .nav-cta .schedule-nav { padding: 10px; font-size: 10px; }
  .schedule-cta { align-items: stretch; }
  .schedule-cta .schedule-link { width: 100%; font-size: 12px; padding: 16px; }
  .schedule-cta > span { width: 100%; }
  .schedule-intro { padding: 40px 0 28px; }
  .schedule-section { padding: 28px 0 48px; }
  .schedule-panel { padding: 20px 14px; }
  .scheduler-frame { height: 1080px; }
  .mobile-action-bar { display: grid; grid-template-columns: .75fr 1.25fr; position: fixed; z-index: 85; left: 0; right: 0; bottom: 0; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); gap: 8px; background: #fff; border-top: 1px solid #E5E1D5; }
  .mobile-action-bar .btn { width: 100%; min-height: 48px; padding: 10px 12px; justify-content: center; font-size: 12px; letter-spacing: .03em; }
}
/* Retain the existing CMS-managed intake action in the source without exposing two competing header actions. */
.nav-cta > a:not(.schedule-nav), .mobile-action-bar > a[href="/initial-review"] { display: none; }
.nav-cta .schedule-nav { order: -1; }
