/* Apex Atlanta public site, v2 media + motion layer (2026-10-27): hero training film, sticky mobile booking bar, header scroll state. Tokens only. */
.site-header { transition: box-shadow .3s ease; }
.site-header.is-scrolled { box-shadow: 0 12px 28px -24px rgba(14, 14, 14, .35); }
.hero-film { position: relative; margin: 0; isolation: isolate; aspect-ratio: 1 / 1; }
.hero-film__poster, .hero-film__poster img, .hero-film__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 42% 55%; }
.hero-film__video { opacity: 0; transition: opacity .8s cubic-bezier(.16, 1, .3, 1); }
.hero-film.is-playing .hero-film__video { opacity: 1; }
.hero-film__caption, .hero-film__toggle { position: absolute; bottom: 16px; z-index: 1; background: var(--paper); color: var(--ink); box-shadow: 0 10px 24px -14px rgba(14, 14, 14, .45); }
.hero-film__caption { left: 16px; max-width: calc(100% - 40px - var(--ds-target-control)); margin: 0; padding: 8px 14px; border-radius: 999px; font-size: var(--apex-site-font-size-supporting); font-weight: 600; }
.hero-film__toggle { right: 16px; width: var(--ds-target-control); height: var(--ds-target-control); padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; cursor: pointer; }
.hero-film__toggle:hover { background: var(--apex-site-soft-primary); }
.hero-film__toggle:focus-visible { outline: 3px solid var(--paper); outline-offset: 2px; box-shadow: 0 0 0 7px var(--focus); }
.hero-film__toggle svg { width: 16px; height: 16px; fill: currentColor; }
.hero-film__toggle .icon-play, .hero-film__toggle[data-state="paused"] .icon-pause { display: none; }
.hero-film__toggle[data-state="paused"] .icon-play { display: block; }
.page-media { padding: 0 0 48px; }
.page-header + .page-media { padding-top: 32px; }
.first-night-photo { aspect-ratio: 21 / 9; margin-bottom: 32px; }
.first-night-photo img { object-position: 38% 50%; }
.page-media .remodel-photo { aspect-ratio: 21 / 9; }
.mobile-cta { position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 30; display: none; gap: 8px; padding: 8px; border-radius: 16px; background: var(--paper); box-shadow: 0 0 0 1px rgba(14, 14, 14, .06), 0 16px 36px -18px rgba(14, 14, 14, .45); transform: translateY(calc(100% + 32px)); visibility: hidden; transition: transform .5s cubic-bezier(.16, 1, .3, 1), visibility 0s linear .5s; }
.mobile-cta.is-visible { transform: none; visibility: visible; transition: transform .5s cubic-bezier(.16, 1, .3, 1), visibility 0s; }
.mobile-cta .btn { flex: 1 1 auto; width: auto; }
.mobile-cta__call { flex: 0 0 var(--ds-target-control); height: var(--ds-target-control); display: grid; place-items: center; border: 1px solid var(--accent); border-radius: var(--apex-site-radius-control); color: var(--accent); background: var(--paper); }
.mobile-cta__call svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 820px) {
  html { scroll-padding-bottom: 96px; }
  .hero-film { aspect-ratio: 4 / 3; }
  .mobile-cta { display: flex; }
  .page-media .remodel-photo, .first-night-photo { aspect-ratio: 4 / 3; }
}
