.arrival-page main, .rave-page main { max-width: 1440px; padding: 0 28px; }
.arrival-page .site-header, .rave-page .site-header { max-width: 1440px; }
.arrival-page #sound-button, .homepage #sound-button, .rave-page #sound-button { display: none; }
.arrival-page .site-footer, .rave-page .site-footer { max-width: 1440px; }
.experience-scene { position: relative; isolation: isolate; overflow: hidden; min-height: 670px; display: flex; align-items: center; color: #fffdf5; background: #172a22; }
.experience-scene > .experience-image { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.experience-scene::after { content: ''; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg,#10271ee0 0%,#10271e85 42%,#10271e12 83%),linear-gradient(0deg,#10271e9c,transparent 50%); }
.experience-copy { max-width: 700px; padding: 65px 54px; }
.experience-copy .eyebrow { color: #e4e8d7; font-size: 10px; letter-spacing: 2.5px; }
.experience-copy h1 { font-size: clamp(48px,5.7vw,79px); letter-spacing: -2.5px; line-height: 1.04; margin: 23px 0 25px; }
.experience-copy > p { max-width: 435px; font-size: 15px; line-height: 1.8; color: #edf0e5; margin-bottom: 27px; }
.experience-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.experience-note { font-size: 10px!important; color: #d5decc!important; margin: 18px 0 0!important; line-height: 1.7!important; }
.experience-note a { color: inherit; text-underline-offset: 3px; }
.experience-location { position: absolute; left: 54px; bottom: 27px; font-size: 9px; letter-spacing: 1.3px; text-transform: uppercase; }
.experience-tag { display: inline-flex; padding: 8px 11px; border: 1px solid #e9e8d75e; margin-bottom: 20px; font-size: 9px; letter-spacing: 1.8px; text-transform: uppercase; }
.port-hangar-link { margin-top: 18px; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; border: 0; border-bottom: 1px solid #d8e3d18c; padding: 8px 0; color: #fffdf5; background: transparent; font-size: 12px; font-weight: 700; }
.port-cue-note { max-width: 440px; margin: 12px 0 0; color: #e4eadc; font-size: 11px; line-height: 1.6; }
.port-cue-note:empty { display: none; }
.road-return { border: 0; border-bottom: 1px solid #aeb9a5; background: none; min-height: 44px; padding: 10px 0; margin: 12px 26px; color: #546957; font-size: 11px; }
.rave-scene { min-height: 710px; align-items: end; background: #10131e; }
.rave-scene::after { background: linear-gradient(0deg,#090d1ce8 0%,#0d122ba1 35%,#0d122b0a 78%); }
.rave-scene .experience-copy { padding-bottom: 45px; }
.rave-scene .experience-copy h1 { font-size: clamp(46px,5vw,66px); }
.rave-scene .port-primary { background: #a14ec4; border-color: #a14ec4; }
.rave-scene .port-primary:hover { background: #873ca8; }
.rave-crew { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.rave-crew > span:last-child { font-size: 11px; color: #d6d9ea; line-height: 1.6; max-width: 230px; }
.rave-crew .avatar { width: 38px; height: 38px; border: 2px solid #ffffff73; }
.rave-staying .experience-copy > p, .rave-staying .rave-crew, .rave-staying .experience-tag { display: none; }
.rave-staying .experience-copy h1 { font-size: 38px; margin: 0 0 20px; }
.rave-staying .experience-copy { padding-top: 300px; }
.rave-staying .experience-scene { min-height: calc(100svh - 135px); }
.rave-staying .stay-button { background: #ffffff14; border-color: #ffffff65; color: #fffdf5; cursor: default; }
/* Small music controls open only when requested; they never alter the scene. */
.music-dock { position: fixed; top: 86px; right: 18px; width: 272px; max-width: calc(100vw - 32px); padding: 17px; border: 1px solid #b7c4b5; border-radius: 6px; background: #f8f7f1; color: #203a2d; box-shadow: 0 8px 24px #10271e24; z-index: 40; }
.music-dock[hidden] { display: none!important; }
.music-heading { font-size: 12px; font-weight: 700; margin-bottom: 12px; }
.music-heading small { display: block; font-size: 10px; font-weight: 400; margin-top: 5px; color: #627061; }
.music-transport { display: flex; gap: 7px; margin: 10px 0; }
.music-dock button { min-height: 44px; padding: 8px 11px; border: 1px solid #b7c4b5; border-radius: 3px; background: transparent; color: #203a2d; font-size: 11px; }
.music-dock button:hover { background: #e7ebdf; }
.music-dock button:disabled { opacity: .5; cursor: default; }
.music-close { position: absolute; top: 4px; right: 6px; }
.music-volume { display: block; font-size: 11px; margin: 12px 0; }
.music-volume input, .music-dock input[type="range"] { display: block; width: 100%; height: 30px; accent-color: #426c52; }
.music-status { color: #627061; font-size: 10px; line-height: 1.6; margin: 10px 0 0; }
.music-dock :focus-visible { outline: 3px solid #b95535; outline-offset: 3px; }
.site-footer a { color: inherit; text-underline-offset: 3px; }
@media(max-width:1000px) {
  .experience-copy { max-width: 620px; padding-left: 38px; padding-right: 38px; }
  .experience-location { left: 38px; }
}
@media(max-width:720px) {
  .arrival-page main, .rave-page main { padding: 0 12px; }
  .experience-scene { min-height: 680px; align-items: end; }
  .experience-scene::after { background: linear-gradient(0deg,#10271ef5 0%,#10271ead 42%,#10271e12 82%); }
  .experience-copy { max-width: 100%; padding: 260px 23px 55px; }
  .experience-copy h1 { font-size: 48px; letter-spacing: -1.8px; }
  .experience-copy > p { font-size: 13px; }
  .experience-copy .eyebrow { font-size: 8px; letter-spacing: 1.5px; }
  .experience-location { left: 23px; bottom: 20px; font-size: 8px; }
  .experience-actions { gap: 9px; }
  .experience-actions .port-primary, .experience-actions .port-secondary { min-height: 48px; }
  .rave-scene { min-height: 710px; }
  .rave-scene .experience-copy h1 { font-size: 43px; }
  .rave-scene .experience-copy { padding-bottom: 35px; }
  .rave-scene > .experience-image { object-position: 55% center; }
  .rave-staying .experience-copy h1 { font-size: 33px; }
  .music-dock { top: 76px; right: 12px; }
  .road-return { margin: 8px 11px; }
}
