/* Independent page polish; keep the hero photograph and LED layers untouched. */
.header{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hero,.header{-webkit-user-select:none;user-select:none}

/* The native document still scrolls. Only its visual scrollbar is replaced. */
@media(forced-colors:none){
  html.has-overlay-scrollbar{scrollbar-width:none;scrollbar-gutter:auto}
  html.has-overlay-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}
}
.page-scrollbar{position:fixed;z-index:90;inset:8px 0 8px auto;width:18px;background:transparent;pointer-events:none;opacity:0;transition:opacity .45s ease}
.page-scrollbar.is-visible,.page-scrollbar:focus-within{opacity:1;transition-duration:.18s}
.page-scrollbar-thumb{position:absolute;inset:0 0 auto;width:18px;min-height:44px;padding:0;border:0;border-radius:10px;background:transparent;pointer-events:none;touch-action:none;cursor:grab}
.page-scrollbar.is-visible .page-scrollbar-thumb,.page-scrollbar:focus-within .page-scrollbar-thumb{pointer-events:auto}
.page-scrollbar-thumb::before{content:'';position:absolute;inset:0 5px 0 auto;width:4px;border-radius:8px;background:linear-gradient(#d2b8cc,#9e7797);box-shadow:0 0 0 1px #24172538}
.page-scrollbar-thumb:hover::before,.page-scrollbar-thumb:focus-visible::before{background:#ddc8d8}
.page-scrollbar-thumb:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}
html.is-scrollbar-dragging,html.is-scrollbar-dragging *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}
body.modal-open .page-scrollbar{visibility:hidden}
.page-scrollbar[hidden]{display:none}

/* Arrow and soft glow are ONE native image: no separate layer can lag behind. */
@media(hover:hover) and (pointer:fine) and (forced-colors:none){
  body{--site-cursor:url('/assets/neon-arrow-unified-dark.png') 18 17}
  .packages{--site-cursor:url('/assets/neon-arrow-unified-light.png') 18 17}
  body,body *{cursor:var(--site-cursor),default}
  body :is(a,button,summary,[role=button]),body :is(a,button,summary,[role=button]) *{cursor:var(--site-cursor),pointer}
  .photo-grid button,.photo-grid button *{cursor:var(--site-cursor),zoom-in}
  input,textarea,[contenteditable=true],[contenteditable=true] *{cursor:text}
  video,video *{cursor:auto}
  body button:disabled,body button:disabled *{cursor:wait}
  .page-scrollbar-thumb{cursor:grab}
}
.cursor-trail{position:fixed;inset:0;z-index:100;overflow:hidden;pointer-events:none;contain:strict}
.cursor-spark{position:absolute;top:0;left:0;width:5px;height:5px;border-radius:50%;opacity:0;pointer-events:none;background:radial-gradient(circle,#fff9ff 0 16%,#eee0f6d9 25%,#cdb3e161 46%,#cdb3e100 72%)}
.cursor-spark-glow{background:radial-gradient(circle,#fff5ffb3 0 9%,#dfc8ec80 24%,#c4a2de33 45%,#c4a2de00 72%)}
.cursor-spark-haze{background:radial-gradient(circle,#e9d8f580,#d4b5e840 32%,#c4a2de00 70%)}
body.modal-open .cursor-trail{display:none}
@media(hover:none),(pointer:coarse){.cursor-trail{display:none}.page-scrollbar-thumb::before{width:3px;right:3px}}
@media(prefers-reduced-motion:reduce){.cursor-trail{display:none}.page-scrollbar{transition:none}}
@media(forced-colors:active){.page-scrollbar,.cursor-trail{display:none}}
