/* Two independent layers: original cinematic page underneath, fixed Journal above. */
/* The airport must cover the expanded mobile viewport too. svh leaves the
   following black section exposed when Safari retracts its toolbars. lvh
   keeps this background stable throughout the entrance and toolbar changes. */
@media(max-width:900px),(hover:none) and (pointer:coarse){
 body.page1 .hero-stage{height:100vh;height:100lvh}
}
.home-cinema-shade{position:fixed;inset:0;z-index:10010;pointer-events:none;background:#000;opacity:0;animation:journal-cinema 4s 1.8s cubic-bezier(.22,.61,.36,1) both}
@keyframes journal-cinema{from{opacity:0}to{opacity:.30}}
@media(prefers-reduced-motion:reduce){.home-cinema-shade{animation:none;opacity:.30}}
/* Mobile: darken the airport in its existing image layer, not a fixed black
   viewport-sized surface. This avoids a separate bottom edge at toolbar bounds.
   Existing 10% shade + the approved 30% dim = 37% combined black. */
@media(max-width:900px),(hover:none) and (pointer:coarse){
 .home-cinema-shade{display:none;animation:none}
 body.page1 .hero::after{background:rgba(0,0,0,.10);animation:journal-airport-dim 4s 1.8s cubic-bezier(.22,.61,.36,1) both}
}
@keyframes journal-airport-dim{from{background:rgba(0,0,0,.10)}to{background:rgba(0,0,0,.37)}}
@media(max-width:900px) and (prefers-reduced-motion:reduce),(hover:none) and (pointer:coarse) and (prefers-reduced-motion:reduce){
 body.page1 .hero::after{animation:none;background:rgba(0,0,0,.37)}
}
.home-current{position:fixed;z-index:10030;right:max(24px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));width:370px;max-width:calc(100vw - 40px);padding:0;background:transparent;color:#faf8f2;isolation:isolate;animation:journal-arrive 3.2s 3.2s cubic-bezier(.22,.61,.36,1) both}
@keyframes journal-arrive{from{opacity:0;transform:translateX(calc(100% + 40px))}to{opacity:1;transform:translateX(0)}}
.current-card{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:17px;width:100%;padding:22px 20px;text-decoration:none;color:inherit;border:1px solid rgba(255,255,255,.42);border-radius:22px;background:rgba(9,11,14,.10);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);text-shadow:0 1px 8px rgba(0,0,0,.6);transition:opacity .45s ease,transform .6s cubic-bezier(.2,.7,.2,1),border-color .2s}
.current-card img{display:block;width:72px;height:100px;object-fit:contain;border-radius:7px;background:transparent;box-shadow:none}
.current-copy{min-width:0;min-height:177px;display:flex;flex-direction:column;justify-content:center}
.current-kicker{font:600 7px/1.6 Arial,sans-serif;letter-spacing:.14em;color:#eee}
.current-copy h1{font:500 23px/1.12 Arial,sans-serif;letter-spacing:-.04em;margin:11px 0 12px;text-wrap:balance}
.current-copy p{font:400 11px/1.6 Arial,sans-serif;color:#efefef;margin:0 0 18px}
.current-action{display:flex;align-items:center;gap:9px;font:600 8px/1.4 Arial,sans-serif;letter-spacing:.02em}
.current-action i{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#ff4b00;font-style:normal;font-size:10px;padding-left:2px;text-shadow:none}
.current-action>span{margin-left:auto;font-size:13px}
.current-card:hover,.current-card:focus-visible{border-color:rgba(255,255,255,.85);outline-offset:5px}
.current-card{box-shadow:0 12px 35px rgba(0,0,0,.12)}
.current-card:has(.current-slide){grid-template-columns:minmax(0,1fr);gap:0;overflow:hidden;transition:height 1.4s cubic-bezier(.4,0,.2,1),border-color .2s}
.current-slide{grid-area:1 / 1;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:start;align-self:start;gap:17px;min-width:0}
@media(max-width:650px){.current-slide{grid-template-columns:58px minmax(0,1fr);gap:13px}}
.current-controls{margin:10px 5px 0;display:flex;justify-content:space-between;align-items:center;font:500 8px/1 Arial,sans-serif;letter-spacing:.14em;color:#f0f0f0;text-shadow:0 1px 6px #000}
.current-controls>div{display:flex;gap:7px}.current-controls button{appearance:none;border:1px solid #ffffff42;background:rgba(0,0,0,.10);border-radius:50%;width:28px;height:28px;color:#fff;cursor:pointer;font:400 13px/1 Arial,sans-serif;text-shadow:0 1px 5px #000}
.current-controls button:hover,.current-controls button:focus-visible{background:#ffffff18;border-color:#fff;outline-offset:3px}.current-controls button[aria-pressed="true"]{border-color:#ff6a2b}
.current-booking{display:flex;justify-content:space-between;gap:14px;margin:12px 5px 0;color:#eee;text-decoration:none;font:500 6px/1.6 Arial,sans-serif;letter-spacing:.06em;text-shadow:0 1px 6px #000}.current-booking b{white-space:nowrap}.current-booking:hover b{color:#ff8a57}
@media(max-width:650px){.home-current{right:max(14px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:320px;max-width:calc(100vw - 28px)}.current-card{grid-template-columns:58px minmax(0,1fr);gap:13px;padding:16px;border-radius:19px}.current-card img{width:58px;height:78px}.current-copy{min-height:105px}.current-copy h1{font-size:19px;line-height:1.15;margin:8px 0 12px}.current-copy p{display:none}.current-kicker{font-size:6px}.current-action{font-size:7px}.current-action i{width:24px;height:24px;flex-basis:24px;font-size:9px}.current-controls{margin-top:7px}.current-booking{margin-top:8px}}
@media(max-height:500px){.home-current{bottom:12px;width:320px}.current-copy p{display:none}.current-copy{min-height:100px}.current-card{padding:16px}.current-copy h1{font-size:19px}.current-booking{display:none}}
@media(prefers-reduced-motion:reduce){.home-current{animation:none}.current-card{transition:none;transform:none!important;opacity:1!important}}
/* Anchored to the right edge; only the exposed left corners are rounded. */
.home-current{right:0;bottom:max(160px,env(safe-area-inset-bottom))}.current-card{border-radius:22px 0 0 22px;border-right:0}
.current-card{background:rgba(0,0,0,.48)}
.current-controls,.current-booking{margin-right:16px}
@media(max-width:650px){.home-current{right:0;bottom:max(112px,env(safe-area-inset-bottom));width:320px;max-width:calc(100vw - 36px)}.current-card{border-radius:19px 0 0 19px}}
@media(max-height:500px){.home-current{bottom:20px}}
