/* Small-screen adjustments only; desktop styling and typography stay intact. */
@media(max-width:700px){
 html.has-mobile-book{--mobile-cta-height:44px;scroll-padding-bottom:calc(var(--mobile-cta-height) + env(safe-area-inset-bottom,0px) + 24px)}
 html.has-mobile-book body{padding-bottom:calc(var(--mobile-cta-height) + env(safe-area-inset-bottom,0px) + 16px)}
 .mobile-book{min-height:44px;padding:8px 16px;line-height:1.5;bottom:calc(8px + env(safe-area-inset-bottom,0px));left:max(6vw,env(safe-area-inset-left,0px));right:max(6vw,env(safe-area-inset-right,0px));gap:12px}
 .mobile-book.is-overlapping-action,.mobile-book.is-editing{display:none!important}
 .session-intro h1,.appointments-page .hub-main>h1{font-size:clamp(2rem,8.5vw,2.375rem)!important;line-height:1.12;text-wrap:balance}
 .session-intro{margin-bottom:32px}
 .session-step{padding:24px 0 28px}
 .session-step h2{margin-bottom:14px}
 .session-notes{margin-top:40px;gap:20px}
 .session-notes-heading h2{margin:0}
 .session-note-grid article{padding:20px}
 .session-note-grid h3{margin:12px 0 14px}
 .session-next{margin-top:40px}
}

/* The low cream fade sits behind, never over, the opaque green button. */
.mobile-book-backdrop{display:none;pointer-events:none}
@media(max-width:700px){
 .mobile-book-backdrop:not([hidden]){display:block;position:fixed;z-index:89;left:0;right:0;bottom:0;height:calc(var(--mobile-cta-height,44px) + env(safe-area-inset-bottom,0px) + 26px);background:linear-gradient(to bottom,rgba(244,241,237,0),rgba(244,241,237,.88) 50%,#f4f1ed 78%)}
 .has-mobile-book-soft-bar .mobile-book{box-shadow:none;background:var(--accent-deep);opacity:1}
 .mobile-book.is-in-dates{display:none!important}
 html.has-mobile-book-soft-bar.has-book-footer body{padding-bottom:0}
}
