/* Every rule is local to the cinematic footer; media loading never changes its height. */
#avalon-footer-experience .avj-journey { --avj-travel:clamp(2600px,470svh,5400px); position:relative; height:calc(max(460px,100svh) + var(--avj-travel)); color:#f2e8d6; background:#100e0d; font:15px/1.6 Arial,Helvetica,sans-serif; }
#avalon-footer-experience .avj-journey *,#avalon-footer-experience .avj-journey *::before,#avalon-footer-experience .avj-journey *::after { box-sizing:border-box; }
#avalon-footer-experience .avj-scene { position:sticky; top:0; width:100%; height:100svh; min-height:460px; overflow:hidden; isolation:isolate; background:#100e0d; --avj-intro:1; --avj-exit:0; --avj-shade:0; }
/* Mobile html/body overflow can trap sticky. JS pins only inside this section's bounds. */
#avalon-footer-experience .avj-journey[data-avj-pin="before"] .avj-scene { position:absolute; top:0; bottom:auto; left:0; width:100%; }
#avalon-footer-experience .avj-journey[data-avj-pin="fixed"] .avj-scene { position:fixed; top:0; bottom:auto; left:var(--avj-pin-left,0px); width:var(--avj-pin-width,100%); z-index:5; }
#avalon-footer-experience .avj-journey[data-avj-pin="after"] .avj-scene { position:absolute; top:auto; bottom:0; left:0; width:100%; }
#avalon-footer-experience .avj-still,#avalon-footer-experience .avj-film { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:contain; display:block; margin:0; border:0; }
#avalon-footer-experience .avj-film { opacity:0; }
#avalon-footer-experience .avj-video-ready .avj-film { opacity:1; }
#avalon-footer-experience .avj-video-error .avj-film { opacity:0; }
#avalon-footer-experience .avj-shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(#09090960,transparent 24%,transparent 52%,#100c12c7 100%); }
#avalon-footer-experience .avj-shade::after { content:""; position:absolute; inset:0; background:#100c12; opacity:var(--avj-shade); }
#avalon-footer-experience .avj-topline { position:absolute; top:0; left:0; width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px clamp(22px,4vw,76px); background:linear-gradient(#0006,transparent); }
#avalon-footer-experience .avj-signature { font:32px/1 Georgia,serif; letter-spacing:-1.1px; text-shadow:0 1px 9px #000; }
#avalon-footer-experience .avj-signature small { display:block; margin:9px 0 0 3px; font:9px Arial,sans-serif; letter-spacing:3px; }
#avalon-footer-experience .avj-location { color:#e8d7b6; font-size:10px; letter-spacing:1.4px; text-align:right; }
#avalon-footer-experience .avj-introduction { position:absolute; left:clamp(22px,5vw,96px); bottom:155px; max-width:min(750px,calc(100% - 44px)); opacity:var(--avj-intro); transform:translateY(calc((1 - var(--avj-intro)) * -18px)); pointer-events:none; text-shadow:0 2px 25px #000; }
#avalon-footer-experience .avj-eyebrow { display:block; font-size:10px; letter-spacing:2.5px; color:#efcf96; }
#avalon-footer-experience .avj-introduction h2 { margin:18px 0; color:#f2e8d6; font:400 clamp(39px,5.5vw,78px)/1.08 Georgia,serif; letter-spacing:-2px; text-transform:none; }
#avalon-footer-experience .avj-introduction h2 em { display:block; color:#f4d395; font-weight:400; }
#avalon-footer-experience .avj-introduction p { margin:0; max-width:320px; color:#f4e9d5; font-size:13px; }
#avalon-footer-experience .avj-exit { position:absolute; left:0; top:45%; width:100%; padding:20px; text-align:center; opacity:var(--avj-exit); pointer-events:none; text-shadow:0 2px 20px #000; }
#avalon-footer-experience .avj-exit > span { display:block; color:#e1c184; font:clamp(30px,4vw,62px)/1.2 Georgia,serif; letter-spacing:8px; }
#avalon-footer-experience .avj-exit i { display:block; margin:14px 0; font:italic clamp(18px,2vw,28px)/1.4 Georgia,serif; }
#avalon-footer-experience .avj-exit small { color:#cfc0d0; font-size:11px; letter-spacing:.6px; }
#avalon-footer-experience .avj-controls { position:absolute; bottom:0; left:0; width:100%; padding:20px clamp(22px,4vw,76px) 28px; background:linear-gradient(transparent,#0a090be8); }
#avalon-footer-experience .avj-transport { display:flex; align-items:center; gap:12px; }
#avalon-footer-experience .avj-transport button,#avalon-footer-experience .avj-menu-link { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:9px 17px; border:1px solid #eee0c340; border-radius:26px; background:#0d0b0bc9; color:#f2e8d6; font:12px/1.5 Arial,Helvetica,sans-serif; text-decoration:none; cursor:pointer; }
#avalon-footer-experience #avalon-footer-watch { min-width:130px; background:#efdaa8; color:#20131f; border-color:#efdaa8; }
#avalon-footer-experience .avj-transport button:hover,#avalon-footer-experience .avj-menu-link:hover { border-color:#efd698; }
#avalon-footer-experience .avj-transport button:disabled { cursor:default; opacity:.55; }
#avalon-footer-experience .avj-transport button:focus-visible,#avalon-footer-experience .avj-menu-link:focus-visible { outline:2px solid #e1c184; outline-offset:5px; }
#avalon-footer-experience .avj-menu-link { margin-left:auto; }
#avalon-footer-experience .avj-meta { display:flex; justify-content:space-between; gap:12px; margin:17px 0 9px; color:#d2c9ba; font-size:11px; }
#avalon-footer-experience .avj-time { font-variant-numeric:tabular-nums; white-space:nowrap; }
#avalon-footer-experience .avj-progress { height:2px; overflow:hidden; background:#ffffff23; }
#avalon-footer-experience .avj-progress span { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left; background:#eaca8a; }
#avalon-footer-experience .avj-no-script { position:absolute; top:115px; left:24px; right:24px; margin:0; padding:16px; background:#1a111ae6; color:#f2e8d6; }
@media(max-width:700px) {
  #avalon-footer-experience .avj-topline { padding:22px; align-items:flex-start; }
  #avalon-footer-experience .avj-signature { font-size:27px; }
  #avalon-footer-experience .avj-location { max-width:150px; font-size:8px; }
  #avalon-footer-experience .avj-introduction { bottom:166px; }
  #avalon-footer-experience .avj-introduction h2 { font-size:40px; letter-spacing:-1.3px; }
  #avalon-footer-experience .avj-introduction p { max-width:270px; font-size:12px; }
  #avalon-footer-experience .avj-eyebrow { font-size:8px; letter-spacing:1.8px; }
  #avalon-footer-experience .avj-controls { padding:17px 20px 25px; }
  #avalon-footer-experience .avj-transport { gap:8px; }
  #avalon-footer-experience .avj-transport button,#avalon-footer-experience .avj-menu-link { padding:9px 13px; font-size:11px; }
  #avalon-footer-experience #avalon-footer-watch { min-width:108px; }
  #avalon-footer-experience .avj-meta { font-size:10px; }
}
@media(max-height:560px) and (min-width:701px) {
  #avalon-footer-experience .avj-journey { height:calc(max(360px,100svh) + var(--avj-travel)); }
  #avalon-footer-experience .avj-scene { min-height:360px; }
  #avalon-footer-experience .avj-introduction { bottom:135px; }
  #avalon-footer-experience .avj-introduction h2 { font-size:43px; }
  #avalon-footer-experience .avj-topline { padding-top:18px; }
}
@media(prefers-reduced-motion:reduce) {
  #avalon-footer-experience .avj-journey { height:auto; }
  #avalon-footer-experience .avj-scene { position:relative; }
  #avalon-footer-experience .avj-introduction { transform:none; }
}
