/* The public homepage has its own palette. Operational screens keep the core theme. */
.core-home-page {
  --home-ink:#222624; --home-muted:#666b67; --home-copper:#e6b591;
  --home-stage:#101312; --home-line:#e1e4e0;
}
.core-home-page .core-masthead { padding:.8rem clamp(1.5rem,4.2vw,5rem); min-height:86px; border-color:var(--home-line); }
.core-home-page .core-brand { gap:.8rem; font-size:1rem; letter-spacing:.11em; }
.core-home-page .core-brand img { width:52px; }
.core-home-page .core-main { display:flex; width:100%; padding:0; margin:0; }
.core-home-page .core-footer { display:none; }
.core-home-page .core-home { display:grid; grid-template-columns:minmax(0,1.17fr) minmax(0,1fr); width:100%; max-width:none; margin:0; gap:0; align-items:stretch; }
.home-experience { isolation:isolate; position:relative; display:flex; flex-direction:column; overflow:hidden; min-width:0; min-height:740px; padding:3rem clamp(1.75rem,4.3vw,5rem) 1.5rem; color:#f4f0eb; background:var(--home-stage); }
.experience-light { position:absolute; inset:-20%; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 32% 65%,#c4733e29,transparent 48%),radial-gradient(ellipse at 84% 25%,#426d541f,transparent 43%),radial-gradient(ellipse at 75% 88%,#8c302e22,transparent 40%); }
.home-eyebrow { display:block; font-size:.75rem; font-weight:500; letter-spacing:.13em; line-height:1.6; }
.experience-heading { z-index:1; position:relative; }
.experience-heading .home-eyebrow { color:#b8b9af; }
.core-home .experience-heading h1 { margin:1rem 0 .8rem; font-size:clamp(2.75rem,4.6vw,4.6rem); font-weight:450; line-height:1.03; letter-spacing:-.055em; }
.experience-heading h1>span { color:var(--home-copper); }
.experience-heading>p { color:#b5b6ad; font-size:1rem; }
.experience-walkthrough { display:flex; flex-direction:column; flex:1; min-width:0; }
.experience-float { position:absolute; inset:0; }
.experience-stage { --orbit-x:clamp(125px,13.7vw,210px); --bar-x:calc(var(--orbit-x) * .9); position:relative; width:calc(100% + 2rem); max-width:620px; height:386px; margin:-.1rem -1rem 0; flex:1 0 386px; perspective:1100px; }
.experience-parallax { position:absolute; inset:0; transform:rotateX(var(--pointer-x,0deg)) rotateY(var(--pointer-y,0deg)); transform-style:preserve-3d; transition:transform 650ms cubic-bezier(.2,.8,.2,1); }
.experience-orbit { position:absolute; top:48%; left:49%; width:460px; height:260px; border:1px solid #e9bc8d13; border-radius:50%; transform:translate(-50%,-50%) rotate(-27deg); pointer-events:none; }
.orbit-two { width:520px; height:320px; border-color:#e9bc8d0a; transform:translate(-50%,-50%) rotate(-27deg); }
.experience-pass-position { position:absolute; top:50%; left:48%; width:242px; height:340px; transform:translate(-50%,-50%); perspective:1000px; z-index:3; }
.experience-pass { position:relative; overflow:hidden; height:100%; padding:18px 19px 0; border:1px solid #dbb99080; border-radius:17px; background:linear-gradient(142deg,#383630,#222622 43%,#191e1c); transform:rotateX(7deg) rotateY(-13deg) rotateZ(-9deg); box-shadow:1px 1px 0 #ffe0b083,3px 4px 0 #6d5b42,4px 5px 0 #171c18,12px 24px 35px #0007,inset 0 0 35px #d9a97507; }
.pass-reflection,.experience-ambient-sheen { position:absolute; z-index:8; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 25%,#ffe5c61c 45%,#fff3dd29 49%,transparent 65%); transform:translateX(-110%); }
.experience-ambient-sheen { opacity:0; }
.experience-pass-brand { display:flex; align-items:center; justify-content:space-between; margin-bottom:13px; }
.experience-pass-brand>span { font-size:14px; font-weight:600; letter-spacing:.14em; }
.experience-pass-brand small { color:#babaac; font-size:10px; letter-spacing:.14em; }
.experience-pass-event { position:relative; height:68px; overflow:hidden; border-radius:5px; background:#343d30; }
.experience-pass-event>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; opacity:.62; }
.experience-pass-event:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#131b18d9,transparent); }
.experience-pass-event>div { position:absolute; z-index:1; bottom:9px; left:11px; }
.experience-pass-event small { display:block; font-size:8px; color:#e7dccd; letter-spacing:.15em; margin-bottom:2px; }
.experience-pass-event strong { display:block; font-size:19px; letter-spacing:-.035em; font-weight:500; }
.experience-pass-detail { display:flex; align-items:center; justify-content:space-between; margin:11px 0 9px; color:#c3c2b6; }
.experience-pass-detail>span { font-size:9px; letter-spacing:.12em; }
.experience-pass-detail .icon { width:14px; height:14px; }
.experience-code { position:relative; width:104px; height:104px; margin:0 auto; border:5px solid #fbf5e9; border-radius:9px; background:#fbf5e9; box-shadow:0 3px 15px #0002; }
.experience-code .core-qr { display:block; width:94px; height:94px; max-width:none; margin:0; }
.experience-code .core-qr>rect { fill:#fbf5e9; }
.experience-code .core-qr>path { fill:#28312a; }
.experience-scan { position:absolute; left:-14px; right:-14px; top:0; height:2px; opacity:0; background:#dcf8ae; box-shadow:0 0 10px #c4ed8f,0 0 26px #adeb99; }
.experience-scan:after { content:""; position:absolute; bottom:0; left:0; width:100%; height:28px; background:linear-gradient(0deg,#bded8155,transparent); }
.experience-scan-confirm { position:absolute; inset:-7px; display:grid; place-items:center; border-radius:11px; background:#1f4234f2; border:1px solid #b5d9a7; color:#c9f0b5; opacity:0; }
.experience-scan-confirm .icon { width:44px; height:44px; stroke-width:1.5; }
.experience-pass-status { position:relative; height:30px; text-align:center; }
.experience-pass-status>span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:5px; font-size:8px; letter-spacing:.15em; color:#bdbdaf; }
.experience-pass-status>.pass-status-entered { opacity:0; color:#baddb1; }
.pass-status-entered .icon { width:11px; height:11px; }
.experience-wallet { display:flex; align-items:center; justify-content:space-between; border-top:1px dashed #d7bf9d39; padding:10px 0; color:#e4c199; }
.experience-wallet>span { display:flex; align-items:center; gap:6px; font-size:11px; }
.experience-wallet .icon { width:15px; height:15px; }
.experience-wallet>strong { position:relative; width:29px; height:24px; overflow:hidden; font-size:23px; line-height:24px; font-weight:450; letter-spacing:-.06em; }
.experience-wallet>strong>span { position:absolute; inset:0; }
.wallet-value { opacity:0; }.wallet-value-4 { opacity:1; }
.experience-ticket-position { position:absolute; top:50%; left:48%; width:242px; transform:translate(-50%,-50%); perspective:1000px; z-index:6; }
.experience-ticket { position:relative; padding:22px; border:1px solid #c6d6b05c; border-radius:17px; background:linear-gradient(135deg,#43513e,#253728 60%,#26352b); box-shadow:1px 2px 0 #c9ddb16b,3px 4px 0 #40513a,10px 20px 35px #0006,inset 0 0 40px #e3eabb08; opacity:0; }
.booking-brand { display:flex; justify-content:space-between; align-items:center; color:#e1e9d0; font-size:14px; font-weight:600; letter-spacing:.14em; margin-bottom:24px; }
.booking-brand .icon { width:21px; height:21px; color:#bbd0a1; }
.booking-eyebrow { display:block; color:#b0c0a0; font-size:9px; letter-spacing:.13em; }
.booking-title { display:block; font-size:32px; line-height:1.03; margin:8px 0 20px; letter-spacing:-.045em; font-weight:450; }
.booking-items { padding:14px 0; border-top:1px dashed #c6d5b038; border-bottom:1px dashed #c6d5b038; }
.booking-items>span { display:flex; justify-content:space-between; gap:8px; font-size:11px; color:#bbc9b0; }
.booking-items>span+span { margin-top:8px; }.booking-items b { color:#edf0e3; font-weight:500; }
.booking-confirmation { position:relative; height:38px; margin-top:18px; border:1px solid #c0d2a652; background:#c6dbb019; border-radius:6px; }
.booking-confirmation>span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:8px; font-size:12px; color:#e6f0d8; }
.booking-confirmation>.booking-confirmed { opacity:0; }.booking-confirmation .icon { width:15px; height:15px; }
.booking-footnote { display:block; text-align:center; margin-top:14px; color:#94a58b; font-size:8px; letter-spacing:.17em; }
.experience-receipt { position:absolute; right:0; top:36%; display:flex; align-items:center; gap:10px; padding:14px 15px; border:1px solid #bdd9b34a; border-radius:12px; background:#25342bef; box-shadow:0 8px 28px #0004,inset 0 1px 0 #d7f0c710; z-index:5; opacity:0; }
.experience-receipt small { display:block; color:#aec3a6; font-size:9px; letter-spacing:.1em; margin-bottom:2px; }
.experience-receipt strong { display:block; font-size:13px; font-weight:500; letter-spacing:-.02em; }
.receipt-icon { display:grid; place-items:center; width:30px; height:30px; color:#d1f4b9; background:#78956821; border-radius:50%; }
.receipt-dot { width:5px; height:5px; border-radius:50%; background:#c4e8a3; margin-left:4px; }
.receipt-bar { top:62%; border-color:#e2b48457; background:#3b3128f5; }
.receipt-bar small,.receipt-bar .receipt-icon { color:#e2bb8b; }
.receipt-bar .receipt-dot { background:#e2bb8b; }
.experience-topup { position:absolute; top:9%; right:0; width:196px; padding:18px; border:1px solid #e5b98680; border-radius:14px; background:linear-gradient(145deg,#58432efc,#2e2b23fc); box-shadow:0 18px 35px #0005,inset 0 1px 0 #f4cfa125; z-index:7; opacity:0; }
.topup-heading { display:flex; align-items:center; gap:7px; margin-bottom:13px; }.topup-heading .icon { width:17px; height:17px; color:#ebc297; }.topup-heading small { font-size:8px; color:#d1b38c; letter-spacing:.08em; }
.experience-topup>strong { display:block; font-size:23px; font-weight:450; line-height:1.08; letter-spacing:-.04em; }
.topup-amount { display:flex; align-items:center; gap:9px; padding:12px 0; color:#f5d4a7; }.topup-amount>span { font-size:35px; font-weight:450; line-height:1; letter-spacing:-.05em; }.topup-amount small { font-size:9px; color:#c7b598; letter-spacing:.06em; }
.topup-confirmation { position:relative; height:35px; border-radius:5px; background:#f1d3a8; color:#39352b; }
.topup-confirmation>span { position:absolute; inset:0; display:flex; justify-content:center; align-items:center; gap:7px; font-size:11px; font-weight:500; }.topup-confirmation .icon { width:14px; height:14px; }.topup-paid { opacity:0; }
.receipt-topup { top:65%; border-color:#e2b48457; background:#3b3128f5; }.receipt-topup .receipt-icon,.receipt-topup small { color:#e2bb8b; }
.experience-pass-ended { position:absolute; inset:46px 0 0; display:flex; flex-direction:column; align-items:center; justify-content:center; background:linear-gradient(160deg,#253027f5,#191f1cfb); opacity:0; z-index:7; }
.experience-pass-ended>span { display:grid; place-items:center; width:42px; height:42px; border:1px solid #ccd9b531; border-radius:50%; color:#bdc5ad; margin-bottom:15px; }
.experience-pass-ended>small { color:#b6bca7; font-size:9px; letter-spacing:.18em; }
.experience-pass-ended>strong { text-align:center; margin:12px 0 21px; font-size:33px; font-weight:450; line-height:1.08; letter-spacing:-.04em; color:#e6d7bd; }
.experience-pass-ended>p { font-size:8px; letter-spacing:.16em; color:#929d8b; }
.experience-later { position:absolute; inset:-6px 0 auto; width:fit-content; margin-inline:auto; display:flex; align-items:center; justify-content:center; gap:8px; color:#b9c2ad; font-size:10px; letter-spacing:.13em; opacity:0; }.experience-later .icon { width:13px; height:13px; }
.experience-token { position:absolute; left:50%; top:50%; width:76px; height:76px; margin:-38px 0 0 -38px; display:grid; place-items:center; transform:translate(var(--token-x),var(--token-y)) rotate(var(--token-angle)); z-index:4; }
.experience-token>img { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 9px 9px #0005); }
.token-one { --token-x:calc(var(--orbit-x) * -1); --token-y:100px; --token-angle:-18deg; }
.token-two { --token-x:calc(var(--orbit-x) * -1.05); --token-y:-48px; --token-angle:12deg; width:65px; height:65px; }
.token-three { --token-x:calc(var(--orbit-x) * .82); --token-y:-128px; --token-angle:23deg; width:61px; height:61px; }
.token-four { --token-x:calc(var(--orbit-x) * .9); --token-y:120px; --token-angle:-25deg; width:70px; height:70px; }
.experience-spark { position:absolute; width:3px; height:3px; background:#e8c197; border-radius:50%; box-shadow:0 0 9px #e8c19780; opacity:.45; }
.spark-one { left:15%; top:13%; }.spark-two { right:2%; top:70%; }.spark-three { left:24%; top:92%; }
.experience-bottom { display:flex; align-items:flex-end; gap:16px; padding-top:1.2rem; }
.experience-story { display:none; flex:1; min-width:0; }.is-animated .experience-story { display:block; }
.experience-captions { position:relative; min-height:81px; }
.experience-caption { position:absolute; inset:0; opacity:0; }.caption-ticket { opacity:1; }
.experience-chapter-number { display:block; color:#a6ac9d; font-size:10px; letter-spacing:.1em; margin-bottom:4px; }
.experience-caption>strong { display:block; color:#e4e5db; font-size:17px; font-weight:450; letter-spacing:-.02em; }
.experience-caption>p { color:#aab2a3; font-size:12px; line-height:1.55; margin-top:3px; }
.experience-chapters { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; margin-top:12px; }
.experience-chapters i { display:block; height:2px; background:#a4ac982e; overflow:hidden; position:relative; }
.experience-chapters em { position:absolute; inset:0; opacity:0; background:#e1b88a; }
.experience-controls { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding-top:1.25rem; position:relative; z-index:9; }
.experience-start { display:flex; align-items:center; justify-content:flex-start; gap:11px; min-width:0; min-height:52px; padding:10px 17px 10px 12px; border:1px solid #e6b59166; border-radius:9px; background:linear-gradient(120deg,#e8be911c,#cfaa7b09); color:#f1dcc3; font-size:15px; font-weight:450; text-align:left; transition:background 180ms,border-color 180ms; }
.experience-start:hover { background:#e8be9125; border-color:#e6b591b3; }
.experience-start:active { background:#e8be9133; }
.experience-start>span:nth-child(2) { min-width:0; }
.experience-play-icon { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; border:1px solid #dfb1836b; border-radius:50%; padding-left:2px; color:#eac69e; font-size:10px; }
.experience-duration { flex-shrink:0; margin-left:5px; padding-left:11px; border-left:1px solid #dfc39f3b; color:#b7b5a6; font-size:12px; font-weight:400; }
.experience-motion,.experience-close,.experience-preview-pause { display:flex; align-items:center; justify-content:center; gap:7px; min-width:44px; min-height:44px; padding:8px 12px; color:#cbd0c0; border:1px solid #bcc6ad32; border-radius:8px; background:transparent; font-size:14px; }
.experience-preview-pause { align-self:center; padding:8px; font-size:17px; }
.experience-close { margin-left:auto; }.experience-close>span { font-size:21px; line-height:1; font-weight:400; }
.experience-controls .motion-label { display:inline; }
.experience-close:hover,.experience-preview-pause:hover,.experience-motion:hover { background:#e8d5b410; color:#ffe0bc; border-color:#dfc39f65; }
.experience-controls button:focus-visible { outline:2px solid #ecc9a0; outline-offset:4px; }
.experience-guide { padding:1.5rem 0 .5rem; }.experience-guide:focus { outline:none; }
.experience-guide ol { display:grid; gap:1.1rem; list-style:none; counter-reset:journey; padding:0; margin:0; }
.experience-guide li { position:relative; padding-left:2.5rem; counter-increment:journey; }
.experience-guide li:before { content:counter(journey,decimal-leading-zero); position:absolute; left:0; top:3px; font-size:12px; color:#d7b48c; }
.experience-guide strong { color:#e3e4d8; font-size:16px; font-weight:450; }
.experience-guide p { color:#adb5a4; font-size:14px; line-height:1.6; margin-top:3px; }
.is-guide .experience-stage { display:none; }
.motion-symbol { font-size:17px; }.experience-motion:hover { color:#ffe0bc; }
.experience-motion:focus-visible { outline-color:#e6b591; }
.experience-footer { display:flex; justify-content:space-between; gap:12px; border-top:1px solid #c5cab415; margin-top:2rem; padding-top:1.1rem; }
.experience-footer>span { color:#8e978a; font-size:9px; letter-spacing:.12em; }
.experience-footer i { font-size:14px; font-style:normal; margin-left:4px; }
.core-home-page .core-home-access { display:flex; align-items:center; border:0; padding:3rem clamp(2rem,4.9vw,5rem); color:var(--home-ink); background:#fdfefb; }
.home-access-content { width:100%; max-width:390px; margin:0 auto; }
.home-access-content>.home-eyebrow { color:#71796f; margin-bottom:1.1rem; font-size:.6875rem; letter-spacing:.14em; }
.core-home-page .core-home-access h2 { font-size:clamp(2.2rem,3.1vw,3.1rem); line-height:1.1; font-weight:450; letter-spacing:-.05em; margin:0 0 1.15rem; }
.home-access-description { color:var(--home-muted); font-size:1rem; line-height:1.65; }
.core-home-page #core-access { margin-top:1.75rem; }
.core-home-page #core-access .field { color:#585e56; font-weight:400; font-size:.875rem; gap:.6rem; margin-bottom:1.2rem; }
.core-home-page #core-access input { min-height:53px; border-color:#d7dbd2; background:#fff; border-radius:8px; padding:.7rem 1rem; box-shadow:0 2px 3px #202d1c02; transition:border-color 180ms,box-shadow 180ms; }
.core-home-page #core-access input:focus { outline:none; border-color:#586a52; box-shadow:0 0 0 3px #49663812; }
.core-home-page #core-access input[aria-invalid=true] { border-color:var(--danger); }
.core-home-page #core-access .btn { position:relative; justify-content:space-between; min-height:54px; margin-top:.25rem; padding:.8rem 1.1rem; border:1px solid #253d2c; border-radius:8px; background:#304c39; font-size:.9375rem; font-weight:500; box-shadow:0 3px 5px #21372312; transition:background 200ms,transform 200ms,box-shadow 200ms; }
.core-home-page #core-access .btn:after { content:"↗"; font-size:20px; font-weight:400; transition:transform 200ms; }
.core-home-page #core-access .btn:hover { background:#243d2c; box-shadow:0 5px 13px #21372320; }
.core-home-page #core-access .btn:hover:after { transform:translate(2px,-2px); }
.core-home-page #core-access .btn:active { transform:translateY(1px); }
.home-booking-note { color:#737a6f; font-size:.8125rem; line-height:1.65; margin:1.2rem 0 0; max-width:350px; }
.core-home-page .core-home-manage { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.4rem 1rem; border-color:var(--home-line); margin-top:2.4rem; padding-top:1.1rem; }
.core-home-page .core-home-manage p { font-size:.8125rem; color:#777d72; }
.core-home-page .core-home-manage .btn { margin:0; padding:0; font-size:.8125rem; font-weight:500; gap:10px; color:#354d38; background:none; }
@media(min-width:1550px) { .experience-stage { align-self:center; margin-inline:0; } .home-experience { min-height:820px; } }
@media(min-width:761px) and (max-height:900px) {
  .home-experience { min-height:calc(100dvh - 86px); padding-top:2rem; padding-bottom:1.25rem; }
  .core-home .experience-heading h1 { font-size:clamp(2.7rem,4.2vw,3.5rem); margin:.7rem 0 .55rem; }
  .experience-stage { height:350px; flex-basis:350px; }
  .experience-pass-position,.experience-ticket-position { transform:translate(-50%,-50%) scale(.93); }
  .experience-bottom { padding-top:.5rem; }.experience-footer { margin-top:1.2rem; }
}
@media(max-width:1100px) and (min-width:761px) { .home-experience { padding-inline:1.8rem; }.core-home-page .core-home-access { padding-inline:2rem; }.experience-motion .motion-label { display:none; }.experience-pass-position,.experience-ticket-position { left:46%; }.experience-receipt { right:-4px; padding:12px 10px; gap:6px; }.experience-receipt strong { font-size:11px; }.receipt-dot { display:none; }.home-desktop-break { display:none; }.experience-captions { min-height:97px; }.experience-topup { width:178px; padding:15px; }.experience-topup>strong { font-size:21px; } }
@media(max-width:760px) {
  .core-home-page .core-masthead { min-height:72px; padding:.65rem 1.25rem; }.core-home-page .core-brand img { width:43px; }
  .core-home-page .core-home { grid-template-columns:minmax(0,1fr); }
  .home-experience { min-height:0; padding:2rem 1.5rem 1.25rem; }
  .core-home .experience-heading h1 { font-size:2.25rem; margin:.6rem 0 .6rem; }.experience-heading h1 br { display:none; }.experience-heading>p { font-size:.875rem; }
  .experience-stage { --orbit-x:clamp(105px,33vw,180px); width:100%; max-width:500px; margin:.7rem auto .2rem; height:296px; flex-basis:296px; }
  .experience-pass-position,.experience-ticket-position { transform:translate(-50%,-50%) scale(.76); }
  .experience-bottom { padding-top:.5rem; }.experience-footer { display:none; }.experience-captions { min-height:94px; }
  .experience-motion .motion-label { display:none; }
  .experience-receipt { right:-4px; padding:11px; gap:7px; }.experience-receipt strong { font-size:11px; }.experience-receipt small { font-size:8px; }.receipt-dot { display:none; }
  .experience-token { width:60px; height:60px; margin:-30px 0 0 -30px; }.token-one { --token-y:86px; }.token-two { --token-y:-40px; width:52px; height:52px; }.token-three { --token-y:-100px; width:48px; height:48px; }.token-four { --token-y:96px; width:57px; height:57px; }
  .experience-topup { top:5%; width:170px; padding:14px; }.experience-topup>strong { font-size:20px; }.topup-amount>span { font-size:31px; }.topup-heading { margin-bottom:9px; }.topup-confirmation { height:33px; }.topup-confirmation>span { font-size:10px; }.topup-heading small { font-size:7px; }.experience-later { top:-7px; font-size:9px; }
  .core-home-page .core-home-access { padding:1.5rem 1.25rem 2rem; }.home-access-content { max-width:440px; }.core-home-page .core-home-access h2 { font-size:2rem; margin-bottom:.7rem; }
  .home-access-content>.home-eyebrow { margin-bottom:.5rem; }.home-access-description { font-size:.9375rem; line-height:1.6; }
  .core-home-page #core-access { margin-top:1.3rem; }.core-home-page #core-access .field { gap:.45rem; margin-bottom:1rem; }
  .core-home-page .core-home-manage { margin-top:1.6rem; }
  /* The first mobile viewport leads to the form, with an optional compact preview. */
  .home-experience:not(.is-open) { display:grid; grid-template-columns:minmax(0,1fr) 116px; grid-template-areas:"heading illustration" "controls controls"; column-gap:12px; row-gap:10px; align-items:center; padding:1.25rem 1.25rem 1.15rem; }
  .home-experience:not(.is-open) .experience-heading { grid-area:heading; }
  .home-experience:not(.is-open) .experience-heading .home-eyebrow { font-size:10px; line-height:1.5; letter-spacing:.1em; max-width:24ch; }
  .core-home .home-experience:not(.is-open) h1 { font-size:clamp(1.75rem,7.5vw,2.2rem); line-height:1.05; margin:.65rem 0; }
  .home-experience:not(.is-open) .experience-heading h1 br { display:block; }
  .home-experience:not(.is-open) .experience-heading>p { font-size:14px; line-height:1.55; }
  .home-experience:not(.is-open) .experience-walkthrough { grid-area:illustration; }
  .home-experience:not(.is-open) .experience-stage { --orbit-x:54px; width:116px; height:184px; flex-basis:184px; margin:0; }
  .home-experience:not(.is-open) .experience-pass-position { left:50%; transform:translate(-50%,-50%) scale(.44); }
  .home-experience:not(.is-open) .experience-orbit { width:150px; height:90px; }.home-experience:not(.is-open) .orbit-two { width:175px; height:135px; }
  .home-experience:not(.is-open) .experience-token { width:31px; height:31px; margin:-15px 0 0 -15px; }
  .home-experience:not(.is-open) .token-one { --token-y:51px; }.home-experience:not(.is-open) .token-two { --token-y:-29px; }.home-experience:not(.is-open) .token-three { --token-y:-67px; }.home-experience:not(.is-open) .token-four { --token-y:66px; }
  .home-experience:not(.is-open) .experience-controls { grid-area:controls; padding-top:0; gap:8px; flex-wrap:nowrap; }
  .experience-start { flex:1; gap:8px; padding:10px 12px; font-size:14px; }.experience-play-icon { flex-basis:26px; width:26px; height:26px; }
  .experience-duration { padding-left:8px; margin-left:auto; font-size:11px; }
  .home-experience.is-open { padding:1.25rem; }
  .home-experience.is-open .experience-heading { order:0; }
  .home-experience.is-open .experience-controls { order:1; padding:1rem 0 .75rem; }
  .home-experience.is-open .experience-walkthrough { order:2; }
  .home-experience.is-open .experience-footer { order:3; }
  .experience-caption>p { font-size:14px; }.experience-captions { min-height:100px; }
}
@media(max-width:360px) {
  .home-experience { padding-inline:1.1rem; }.home-eyebrow { font-size:.625rem; }.core-home .experience-heading h1 { font-size:1.95rem; }
  .experience-stage { height:278px; flex-basis:278px; }.experience-pass-position,.experience-ticket-position { transform:translate(-50%,-50%) scale(.69); }.experience-receipt { right:-4px; transform-origin:right center; }.experience-captions { min-height:104px; }.experience-topup { width:158px; padding:12px; }
  .core-home-page .core-home-access { padding-inline:1.2rem; }.home-desktop-break { display:none; }
  .home-experience:not(.is-open) { grid-template-columns:minmax(0,1fr) 98px; gap:10px; padding-inline:1.1rem; }
  .home-experience:not(.is-open) .experience-stage { width:98px; --orbit-x:47px; }
  .home-experience:not(.is-open) .experience-pass-position { transform:translate(-50%,-50%) scale(.4); }
  .experience-start { gap:7px; padding-inline:10px; }.experience-play-icon { width:24px; height:24px; flex-basis:24px; }
}
/* A coherent static composition for reduced motion and browsers without WAAPI. */
.home-experience:not(.is-animated) .experience-pass { opacity:1!important; transform:rotateX(7deg) rotateY(-13deg) rotateZ(-9deg)!important; }
.home-experience:not(.is-animated) :is(.experience-ticket,.experience-pass-ended,.experience-topup,.experience-receipt,.experience-later,.experience-scan,.experience-scan-confirm,.pass-status-entered,.pass-reflection) { opacity:0!important; }
.home-experience:not(.is-animated) .experience-token { opacity:1!important; transform:translate(var(--token-x),var(--token-y)) rotate(var(--token-angle))!important; }
.home-experience:not(.is-animated) .wallet-value { opacity:0!important; transform:none!important; }.home-experience:not(.is-animated) .wallet-value-4 { opacity:1!important; }
.home-experience:not(.is-animated) .pass-status-ready { opacity:1!important; }
@media(prefers-reduced-motion:reduce) {
  .experience-parallax,.experience-start,.core-home-page #core-access input,.core-home-page #core-access .btn,.core-home-page #core-access .btn:after { transition:none; }
  .experience-parallax { transform:none; }
}
