/* Booking and appearance controls stay available without occupying the page. */
.site-header{position:fixed;pointer-events:none}
.site-header>a,.site-header>button,.site-header>.header-actions{pointer-events:auto}
.header-actions{position:relative;isolation:isolate}
.header-actions::before{content:'';position:absolute;inset:-7px -8px;z-index:-1;background:var(--surface);border:1px solid var(--line);border-radius:4px;opacity:0;transition:opacity 180ms ease}
.site-header.is-scrolled .header-actions::before{opacity:.96}
.site-header.is-scrolled .site-brand{visibility:hidden}
.theme-desktop{background:var(--surface)}
.hero-constellation{z-index:0}
.hero-photo-trigger{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;pointer-events:auto}
.hero-photo-trigger img{width:100%;height:100%;object-fit:contain;object-position:50% 0%}
.hero-message{pointer-events:none}
.hero-message h1,.hero-message .hero-logo,.hero-message .hero-book{pointer-events:auto}
.hero-meta{z-index:1}
@media(max-width:899px){
  .site-header{left:0;right:0;top:0;height:calc(64px + env(safe-area-inset-top));isolation:isolate}
  .site-header::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--surface);border-bottom:1px solid var(--line);opacity:0;transition:opacity 180ms ease}
  .site-header.is-scrolled::before{opacity:.98}
  .site-header .header-actions{display:contents}
  .header-actions::before{display:none}
  .site-header .theme-mobile{position:absolute;left:12px;top:calc(10px + env(safe-area-inset-top))}
  .site-header .menu-toggle{position:absolute;right:12px;top:calc(10px + env(safe-area-inset-top));pointer-events:auto}
  .site-header .header-book{display:inline-flex;position:absolute;left:0;right:0;width:max-content;margin-inline:auto;top:calc(8px + env(safe-area-inset-top));visibility:hidden;opacity:0;pointer-events:none}
  .site-header.has-sticky-book .header-book{visibility:visible;opacity:1;pointer-events:auto}
  .site-header .header-book:active{transform:scale(.97)}
  .site-header .theme-mobile{color:var(--ink)}
  .admin-bar .site-header{top:46px}
}
@media(min-width:783px) and (max-width:899px){.admin-bar .site-header{top:32px}}
@media(max-width:600px){.admin-bar .site-header.is-scrolled{top:0}}
@media(prefers-reduced-motion:reduce){.header-actions::before,.site-header::before{transition:none}}
