:root{--purple:#3c298a;--orange:#ff6c35;--cream:#f8f6f0;--muted:#716b80}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--cream);color:var(--purple);font-family:Tajawal,sans-serif}body.boarding{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:6px}button{border:0}svg{width:100%;height:100%}.defs{position:absolute;width:0;height:0}.entrance-brand{display:flex;align-items:center;justify-content:center;gap:18px}.entrance-brand img{width:155px}.entrance-brand b{font-size:24px;letter-spacing:3px}.eyebrow{font-size:10px;letter-spacing:3px;margin:8px 0 22px;direction:ltr}#entrance{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at center,#fff 20%,#e8e6ed 85%);display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;transition:opacity .6s,visibility .6s}#entrance.finished{opacity:0;visibility:hidden}.fuselage{width:100%;position:relative;display:flex;justify-content:center;perspective:1000px}.doorway{width:264px;height:440px;border:7px solid #c6c5ce;border-radius:105px 105px 36px 36px;box-shadow:0 0 0 3px #f8f8fa,0 15px 70px #32274423;position:relative;background:#231745;overflow:hidden;transition:transform 1.3s ease}.inside{position:absolute;inset:0;background:linear-gradient(90deg,#3c298a,#d5d1ea 48%,#3c298a);display:flex;align-items:center;justify-content:center;color:white;font-size:22px;letter-spacing:4px;text-align:center}.inside i{position:absolute;width:40px;height:70px;top:70px;background:#b9dce6;border:7px solid #f1eff7;border-radius:30px}.inside i:first-of-type{left:12px}.inside i:last-of-type{right:12px}#door{position:absolute;inset:0;background:linear-gradient(110deg,#fff,#e7e6ea 65%,#f7f6f8);border-radius:97px 97px 30px 30px;box-shadow:inset 0 0 0 2px #fff;display:flex;align-items:center;flex-direction:column;padding:24px 15px 15px;color:var(--purple);transform-origin:left center;transition:transform 1.15s cubic-bezier(.5,0,.2,1),opacity .9s}.exit-sign{font-size:9px;letter-spacing:2px;color:#8c6471;margin:4px 0 18px}.door-window{width:94px;height:118px;border-radius:48px;border:8px solid #d1cfd8;box-shadow:0 0 0 2px #fff,inset 0 2px 10px #668395;background:linear-gradient(#a6cbd9,#e9f2ed);position:relative;overflow:hidden}.door-window svg{position:absolute;left:24px;top:34px;width:30px;height:30px;transform:rotate(35deg)}.cloud{position:absolute;width:100px;height:30px;background:#fff;border-radius:50%;filter:blur(2px);box-shadow:20px -13px 0 0 #fff,-20px -5px 0 #fff;opacity:.9;animation:drift 12s ease-in-out infinite alternate}.c1{top:70px;left:10px}.c2{top:20px;left:-90px}.door-label{font-weight:800;font-size:20px;margin-top:5px}#door>img{width:29px;height:34px;object-fit:contain;margin-top:16px}.handle{display:block;width:61px;height:13px;background:var(--orange);border-radius:5px;margin-top:24px;box-shadow:0 3px 0 #c04a21;transform:rotate(-8deg);transition:transform .35s}.open-label{font-size:12px;margin-top:12px}.door-bottom{font-size:7px;letter-spacing:1px;margin-top:auto;direction:ltr}.side-window{position:absolute;top:80px;width:110px;height:145px;border-radius:60px;background:linear-gradient(#a7c8d5,#f6f8f6);border:10px solid #d2d1d9;box-shadow:0 0 0 3px #fff}.side-window.left{left:calc(50% - 330px)}.side-window.right{right:calc(50% - 330px)}.entrance-note{font-size:16px;margin:27px 0 9px}.skip{background:none;color:#827b94;font-size:12px;text-decoration:underline;padding:10px}.opening #door{transform:perspective(800px) rotateY(-100deg) translateX(-40px);opacity:.2}.opening .handle{transform:rotate(-80deg)}.opening .doorway{transform:scale(1.15)}header{height:90px;padding:12px 5%;display:flex;align-items:center;gap:15px;position:absolute;top:0;width:100%;z-index:5}.brand img{width:140px}.collab{font-size:17px;letter-spacing:2px}#replay{margin-inline-start:auto;background:none;color:var(--purple);font-size:13px}.welcome{min-height:850px;height:100svh;max-height:1200px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 30%,#fff,#efedf4 75%)}.welcome-copy{z-index:2;padding:0 20px;margin-top:-90px}.pill{display:inline-block;padding:9px 18px;border:1px solid #c9c1e1;border-radius:30px;font-size:13px}.welcome h1{font-size:clamp(48px,6vw,88px);line-height:1.15;margin:27px 0 20px;letter-spacing:-2px;outline:0}em{font-style:normal;color:var(--orange)}p{font-size:19px;line-height:1.8}.welcome p{color:var(--muted)}.button{display:inline-flex;align-items:center;gap:45px;padding:16px 27px;border-radius:5px;background:var(--orange);color:#fff;font-size:17px;font-weight:800}.button span{font-size:23px}.button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #3c298a20}.button.dark{background:var(--purple)}.cabin-window{position:absolute;width:180px;height:255px;border-radius:90px;border:14px solid #e2e0e8;background:linear-gradient(#9ec9e1,#e0f1ee 80%);box-shadow:0 0 0 3px white,inset 5px 5px 25px #6a91ac40;overflow:hidden;transform:rotate(-5deg)}.cabin-window .cloud{top:130px;left:20px;width:160px}.win-a{left:7%;top:32%}.win-b{right:7%;top:32%;transform:rotate(5deg)}.win-c{display:none}.cabin-lines{position:absolute;width:120%;height:90%;border-top:2px solid #d4d0de;border-bottom:2px solid #d4d0de;border-radius:50%;top:15%}.boarding-pass{position:absolute;bottom:105px;display:flex;align-items:center;gap:25px;background:#fff8e9;padding:20px 30px;transform:rotate(-3deg);box-shadow:0 9px 25px #3c298a0f;border-radius:5px;max-width:90%}.boarding-pass>span:first-child{writing-mode:vertical-rl;font-size:10px;letter-spacing:2px;border-right:1px dashed #c3bacb;padding-right:12px}.boarding-pass div{display:flex;flex-direction:column;gap:8px;text-align:left}.boarding-pass small{font-size:9px;letter-spacing:2px;color:var(--muted)}.boarding-pass b{font-size:17px}.boarding-pass svg{width:25px;height:25px;transform:rotate(90deg)}.barcode{height:50px;width:50px;background:repeating-linear-gradient(90deg,var(--purple) 0 1px,transparent 1px 3px,var(--purple) 3px 5px,transparent 5px 7px)}.scroll-note{position:absolute;bottom:40px;font-size:13px;color:var(--muted)}#journey{position:relative}.route{position:absolute;top:0;bottom:0;left:calc(50% - 50px);width:100px;z-index:3;pointer-events:none}.route>svg{overflow:visible}.route path{fill:none;stroke:#c2b9da;stroke-width:1;stroke-dasharray:3 4}.route #route-done{stroke:var(--orange);stroke-width:1.8}#flying-plane{position:absolute;width:32px;height:40px;transform:translate(-50%,-50%) rotate(180deg);color:var(--purple);filter:drop-shadow(0 3px 3px #fff)}.stop{padding:110px 8%;min-height:780px;display:grid;grid-template-columns:1fr 1fr;gap:14%;align-items:center;position:relative}.chapter{font-size:12px;letter-spacing:2px;direction:ltr;display:inline-block}.stop h2{font-size:clamp(42px,4.6vw,66px);line-height:1.2;letter-spacing:-1px;margin:25px 0}.stop p{font-size:18px;color:var(--muted);margin-bottom:28px}.link-note{display:block;margin-top:12px;font-size:11px;color:var(--muted)}.games{background:#f8f6f0}.play-art{text-align:center;position:relative;direction:ltr}.ticket-tag{display:inline-block;background:#e7e0f6;padding:9px 20px;font-size:10px;letter-spacing:2px;transform:rotate(-7deg);position:relative;z-index:1}.wheel-wrap{position:relative;width:min(330px,100%);margin:15px auto}.wheel{width:100%;aspect-ratio:1;border:14px solid var(--purple);border-radius:50%;background:conic-gradient(#ffb390 0 90deg,#ded5f0 90deg 180deg,#a3d8cf 180deg 270deg,#ffe4a5 270deg);box-shadow:0 0 0 5px #fff,0 14px 35px #3c298a20;position:relative;transition:transform 2s cubic-bezier(.15,.7,.15,1)}.wheel span{position:absolute;font-size:22px;font-weight:800}.wheel span:nth-child(1){top:20%;right:17%;transform:rotate(45deg)}.wheel span:nth-child(2){bottom:20%;right:17%;transform:rotate(135deg)}.wheel span:nth-child(3){bottom:20%;left:17%;transform:rotate(225deg)}.wheel span:nth-child(4){top:20%;left:17%;transform:rotate(315deg)}.wheel img{position:absolute;left:calc(50% - 29px);top:calc(50% - 29px);width:58px;height:58px;object-fit:contain;background:#fff;border-radius:50%;padding:12px}.pointer{position:absolute;top:-5px;left:calc(50% - 15px);border-left:15px solid transparent;border-right:15px solid transparent;border-top:27px solid var(--orange);z-index:2}.spin-button{background:none;color:var(--purple);text-decoration:underline;padding:12px 25px;font-weight:800}#spin-result{font-size:14px;margin:0}.stamp{position:absolute;bottom:-20px;right:-15px;border:3px double #638b7c;color:#638b7c;padding:10px 17px;transform:rotate(-12deg);font-size:10px;letter-spacing:2px;background:#f8f6f0}.stamp b{font-size:15px}.memories{background:#ebe6f5}.photo-scene{position:relative;min-height:460px;display:flex;align-items:center;justify-content:center}.instant-photo{width:240px;background:white;padding:12px 12px 18px;box-shadow:0 15px 30px #3c298a20;transform:rotate(-8deg)}.photo{height:270px;position:relative;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.photo>span{position:absolute;bottom:18px;left:0;right:0;color:white;text-align:center;font-size:16px;text-shadow:0 1px 9px #000}.photo-caption{display:flex;direction:ltr;gap:15px;font-size:13px;line-height:1.4;margin-top:14px;align-items:center}.photo-caption img{width:28px}.tape{position:absolute;top:32px;width:110px;height:32px;transform:rotate(-15deg);background:#f5c48ba8}.postmark{position:absolute;right:-10px;top:-12px;z-index:2;border:3px double var(--purple);padding:13px;border-radius:50%;transform:rotate(15deg);font-size:10px;text-align:center;direction:ltr;background:#ebe6f5}.postmark b{display:block;font-size:15px}.postmark span{display:block;font-size:7px;margin-top:5px}.luggage{position:absolute;bottom:5px;left:0;width:102px;height:133px;border:3px solid var(--purple);border-radius:15px;background:repeating-linear-gradient(90deg,#d3c6ef 0 11px,#b6a7d7 11px 13px);transform:rotate(14deg);text-align:center;padding-top:15px;box-shadow:0 4px 0 white}.luggage img{width:35px;background:white;border-radius:50%;padding:5px}.luggage>span:last-child{display:block;font-size:10px;font-weight:800;background:var(--orange);color:white;margin:8px 14px;transform:rotate(-10deg)}.luggage-handle{position:absolute;top:-15px;left:30px;width:36px;height:14px;border:4px solid var(--purple);border-radius:6px}.handwritten{font-family:Georgia,serif;font-style:italic;font-size:23px;direction:ltr;display:block;margin-top:25px}.text-link{display:block;margin-top:25px;text-decoration:underline}.trips{background:#fffaf0}.trip-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.trip-tabs button{background:transparent;color:var(--purple);padding:10px 14px;border:1px solid #c9c1d6;border-radius:30px}.trip-tabs .active{background:var(--purple);color:white}.destination-art{position:relative;text-align:center}.destination-window{width:280px;height:390px;max-width:100%;border:17px solid #e8e3db;border-radius:145px;overflow:hidden;box-shadow:0 0 0 3px white,0 20px 30px #3c298a15;position:relative;margin:auto}.destination-window img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}.window-shine{position:absolute;inset:0;box-shadow:inset 8px 0 20px #0003;border-radius:inherit}.destination-label{display:inline-flex;flex-direction:column;gap:8px;padding:16px 25px;background:white;transform:rotate(-4deg);margin-top:-15px;position:relative;box-shadow:0 3px 10px #3c298a0a;font-size:22px}.destination-label small{font-size:8px;letter-spacing:2px}.visit{display:flex;flex-direction:column;text-align:center;background:var(--purple);color:#fff;min-height:850px;padding-bottom:140px}.visit h2{margin-top:30px}.visit p{color:#d1cae4}.visit .chapter{color:#b8aed2}.arrival-stamp{margin:35px 0 0;padding:12px 30px;border:3px double #b6d6bd;color:#b6d6bd;transform:rotate(-9deg);font-size:12px;letter-spacing:3px}.arrival-stamp b{display:block;font-size:30px;letter-spacing:7px}.arrival-stamp small{font-size:8px}.visit .tagline{font-family:Georgia,serif;font-size:25px;line-height:1.5;margin:65px 0 20px;color:white}.footer-logo{width:145px;filter:brightness(0) invert(1)}.footer-note{font-size:8px;letter-spacing:2px;color:#c0b6d8;margin-top:15px}.passport{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:9px 15px;background:#fffef7ed;border:1px solid #e3dcef;box-shadow:0 5px 25px #2c176020;border-radius:45px;z-index:10;white-space:nowrap;backdrop-filter:blur(12px)}.passport>span{font-size:11px;padding-left:7px}.passport a{display:grid;place-items:center;border:1px dashed #c3b6d4;width:30px;height:30px;border-radius:50%;font-size:11px;transition:.3s}.passport a.stamped{background:var(--purple);color:white;border:2px double #fff;transform:rotate(-12deg);box-shadow:0 0 0 1px var(--purple)}.passport b{font-size:10px;color:var(--muted);margin-right:3px}@keyframes drift{to{transform:translateX(30px)}}@media(min-width:1500px){.stop{padding-left:15%;padding-right:15%}}@media(max-width:850px){.win-a{left:-85px}.win-b{right:-85px}.welcome{min-height:780px}.welcome h1{font-size:58px}.stop{gap:9%;padding:85px 5%}.stop h2{font-size:43px}.wheel-wrap{width:260px}.photo-scene{transform:scale(.9)}}@media(max-width:600px){header{height:75px;padding:10px 5%}.brand img{width:102px}.collab{font-size:12px}#replay{font-size:11px}.welcome{height:100svh;min-height:730px}.welcome-copy{margin-top:-70px}.welcome h1{font-size:50px}.welcome p{font-size:17px}.pill{font-size:11px}.cabin-window{width:110px;height:185px;border-width:10px}.win-a{left:-67px;top:29%}.win-b{right:-67px;top:29%}.boarding-pass{gap:13px;padding:15px;bottom:100px}.boarding-pass b{font-size:13px}.barcode{width:29px}.boarding-pass>span:first-child{font-size:8px}.scroll-note{bottom:68px;font-size:11px}.route{left:9px;width:35px}.stop{grid-template-columns:1fr;gap:45px;padding:75px 35px 75px 60px;min-height:0}.stop h2{font-size:43px}.stop p{font-size:17px}.chapter{font-size:10px}.stop-copy{position:relative;z-index:4}.play-art{max-width:290px;width:100%;margin:auto}.wheel-wrap{width:240px}.stamp{right:-5px;font-size:8px}.stamp b{font-size:12px}.memories .photo-scene{order:2;min-height:390px;transform:none}.instant-photo{width:210px}.photo{height:240px}.tape{top:0}.postmark{right:-6px;top:-10px}.luggage{left:-10px;bottom:-5px;width:85px;height:115px}.handwritten{font-size:20px}.destination-window{height:330px;width:235px}.trip-tabs{gap:6px}.trip-tabs button{font-size:12px;padding:9px 11px}.visit{padding:75px 40px 130px 55px;gap:0}.visit h2{font-size:48px}.visit .tagline{font-size:21px}.arrival-stamp{margin-top:30px}.passport{gap:7px;bottom:13px;padding:8px 12px}.passport a{width:27px;height:27px}.entrance-brand img{width:130px}.entrance-brand b{font-size:20px}.doorway{width:245px;height:410px}.entrance-note{font-size:14px;margin-top:20px}.side-window.left{left:calc(50% - 280px)}.side-window.right{right:calc(50% - 280px)}.door-label{font-size:18px}.door-window{height:105px}.entrance-brand{gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.visit{z-index:4}
@media(max-height:700px){#entrance .doorway{height:365px;width:225px}#entrance .door-window{height:82px;width:76px}#entrance .entrance-brand img{width:110px}#entrance .eyebrow{margin-bottom:12px}#entrance .entrance-note{margin-top:15px}#entrance .handle{margin-top:15px}}

/* Compact booth introduction */
.stop{min-height:610px;padding-top:70px;padding-bottom:70px}.stop h2{font-size:clamp(38px,4.2vw,58px)}.visit{min-height:650px;padding-bottom:110px}.visit .tagline{margin-top:35px}.welcome{min-height:740px;max-height:900px}.photo-scene{min-height:420px}
@media(max-width:600px){.welcome{min-height:680px;max-height:800px}.welcome h1{font-size:50px}.stop{min-height:0;padding-top:55px;padding-bottom:55px;gap:30px}.stop h2{font-size:39px}.stop p{margin-bottom:20px}.memories .photo-scene{min-height:380px}.visit{padding-bottom:110px}.visit h2{font-size:43px}}

.entrance-brand .aloha-logo{width:130px;height:60px;object-fit:cover;mix-blend-mode:multiply}.collab{display:flex;align-items:center;gap:10px}.collab .aloha-logo{width:95px;height:45px;object-fit:cover;mix-blend-mode:multiply}.booth-only{font-weight:800;color:var(--purple)!important;font-size:16px!important;margin-top:20px}.photo .illustration-note{font-size:9px;bottom:5px;opacity:.8}@media(max-width:600px){.entrance-brand .aloha-logo{width:110px;height:50px}.collab .aloha-logo{width:75px;height:35px}.collab{gap:6px}}

.event-intro{direction:rtl;letter-spacing:0;font-size:15px;line-height:1.6;text-align:center;padding:0 20px}.welcome h1{font-size:clamp(40px,4.5vw,64px)}.welcome-copy{max-width:760px}.welcome p strong{font-weight:800;color:var(--purple)}@media(max-width:600px){.welcome h1{font-size:37px;line-height:1.3;letter-spacing:-.5px}.welcome p{font-size:16px}.event-intro{font-size:13px;max-width:340px}.stop h2{font-size:36px}}
/* An invitation at the aircraft door */
#entrance{background:linear-gradient(180deg,#dcebf4 0%,#f6f3fa 75%,#fff8ee 100%);justify-content:center}.invitation-label{font-size:27px;font-weight:800;letter-spacing:0;margin-bottom:5px;z-index:2}.entrance-brand,.event-intro,.entrance-note,.skip{position:relative;z-index:2}.event-intro{margin:4px 0 0}.fuselage{height:430px;flex-shrink:0;position:relative;display:block;width:100%;margin-top:-5px}.aircraft-body{position:absolute;width:1260px;height:500px;max-width:none;left:50%;top:-15px;transform:translateX(-50%);filter:drop-shadow(0 18px 15px #3c298a15)}.fuselage>.side-window{display:none}.fuselage .doorway{position:absolute;width:152px;height:220px;left:calc(50% - 87px);top:108px;border-width:4px;border-radius:26px 26px 15px 15px;box-shadow:0 0 0 2px #fafafa,0 5px 15px #33234b20}.fuselage #door{padding:9px 8px;border-radius:23px 23px 11px 11px}.fuselage .exit-sign{font-size:5px;letter-spacing:1px;margin:1px 0 7px}.fuselage .door-window{width:45px;height:56px;border-width:5px;flex-shrink:0}.fuselage .door-window svg{width:19px;height:19px;top:16px;left:9px}.fuselage #door>img{width:18px;height:21px;margin-top:8px}.fuselage .door-label{font-size:12px;white-space:nowrap;margin-top:5px}.fuselage .handle{width:40px;height:8px;margin-top:13px;flex-shrink:0}.fuselage .open-label{font-size:8px;margin-top:9px}.fuselage .door-bottom{font-size:4px;letter-spacing:.3px}.fuselage .inside{font-size:13px;letter-spacing:2px}.fuselage .inside i{width:23px;height:38px;top:30px;border-width:4px}.entrance-note{margin:0 0 3px}.hostess{position:absolute;width:125px;height:250px;left:calc(50% + 83px);top:132px;z-index:3;pointer-events:none;transform-origin:50% 100%;animation:hostess-welcome 4s ease-in-out infinite}.hostess svg{overflow:visible}.hostess-hello{position:absolute;right:-85px;top:14px;background:#fff;color:var(--purple);border:1px solid #dfd5ed;border-radius:20px 20px 20px 0;padding:10px 20px;font-size:15px;font-weight:800;white-space:nowrap;box-shadow:0 5px 20px #3c298a0c}.waving-arm{transform-box:view-box;transform-origin:120px 155px;animation:wave 2.5s ease-in-out infinite}.opening .doorway{transform:scale(1.3)}.opening .hostess{animation:none;transform:translateX(30px);transition:transform .8s}.wheel{background:conic-gradient(#ff6c35 0 90deg,#3c298a 90deg 180deg,#c2afea 180deg 270deg,#f6f1ff 270deg)}.wheel span:nth-child(1),.wheel span:nth-child(2){color:white}.wheel span:nth-child(3),.wheel span:nth-child(4){color:#3c298a}.wheel{border-color:#3c298a}.stamp{color:#3c298a;border-color:#3c298a}.ticket-tag{background:#e7ddf5}.passing-clouds{position:fixed;inset:0;z-index:6;pointer-events:none;overflow:hidden}.passing-clouds i,.entry-clouds i{position:absolute;display:block;width:200px;height:50px;border-radius:60%;background:radial-gradient(ellipse,#fff 55%,#fff0 73%);filter:blur(4px);opacity:.35;box-shadow:30px -22px 0 -5px #fff,-35px -12px 0 -6px #fff;animation:cloud-passage 38s linear infinite;left:-300px;top:22%}.passing-clouds i:nth-child(2){top:65%;width:150px;animation-duration:48s;animation-delay:-21s;opacity:.24}.passing-clouds i:nth-child(3){top:43%;animation-duration:55s;animation-delay:-38s;opacity:.18}.entry-clouds{position:absolute;inset:0;overflow:hidden;pointer-events:none}.entry-clouds i{top:23%;opacity:.75;animation-duration:42s;animation-delay:-17s}.entry-clouds i:nth-child(2){top:75%;animation-delay:-30s;animation-duration:55s;width:270px}.boarding .passing-clouds{visibility:hidden}.visit{padding-bottom:70px}.scroll-note{bottom:28px}@keyframes wave{0%,45%,100%{transform:rotate(0)}10%,30%{transform:rotate(-19deg)}20%,40%{transform:rotate(9deg)}}@keyframes hostess-welcome{0%,100%{transform:rotate(0)}50%{transform:rotate(-2deg)}}@keyframes cloud-passage{from{transform:translateX(-150px)}to{transform:translateX(calc(100vw + 500px))}}
@media(max-width:600px){.invitation-label{font-size:25px}.fuselage{height:360px;margin-top:10px}.aircraft-body{width:860px;height:440px;top:-10px;left:calc(50% - 35px)}.fuselage .doorway{left:calc(50% - 100px);top:95px;width:143px;height:194px}.fuselage .door-window{height:46px;width:39px}.fuselage #door>img{height:17px;margin-top:5px}.fuselage .door-label{font-size:11px}.fuselage .handle{margin-top:9px}.hostess{width:100px;height:200px;left:calc(50% + 40px);top:125px}.hostess-hello{right:-24px;top:-20px;font-size:12px;padding:8px 12px}.entrance-note{font-size:14px}.fuselage .door-bottom{font-size:4px}.passing-clouds i{width:140px;height:35px;opacity:.22}.passing-clouds i:nth-child(2){opacity:.16}.entrance-brand .aloha-logo{height:44px}.event-intro{font-size:13px}.visit{padding-bottom:65px}}
@media(max-height:700px){.invitation-label{font-size:22px;margin-bottom:0}#entrance .fuselage{height:310px;transform:scale(.88);margin-top:-12px;margin-bottom:-25px}#entrance .fuselage .doorway{width:152px;height:220px}#entrance .fuselage .door-window{width:45px;height:56px}#entrance .fuselage .handle{margin-top:10px}#entrance .eyebrow{margin-bottom:0}#entrance .entrance-note{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.hostess,.waving-arm,.passing-clouds i,.entry-clouds i{animation:none!important}.passing-clouds{display:none}}
/* Fit the door inside the fuselage and keep the games caption clear. */
.fuselage .doorway{top:113px;left:calc(50% - 73px);width:125px;height:187px;border:2px solid #aaa6bb;border-radius:16px 16px 11px 11px;box-shadow:inset 0 0 0 1px #fff,2px 2px 4px #3c298a15}.fuselage #door{border-radius:14px 14px 9px 9px;padding:8px 5px;background:linear-gradient(180deg,#fefefe,#f0eef5 60%,#d6d2e2);box-shadow:none}.fuselage .door-window{width:36px;height:44px;border-width:3px}.fuselage .door-window svg{top:10px;left:6px}.fuselage .door-label{font-size:10px}.fuselage #door>img{width:16px;height:18px;margin-top:5px}.fuselage .handle{margin-top:10px;width:33px;height:7px}.fuselage .open-label{font-size:7px}.fuselage .exit-sign{font-size:4px}.fuselage .door-bottom{font-size:3px;letter-spacing:0}.opening .doorway{transform:none}.play-art .stamp{position:relative;display:table;right:auto;bottom:auto;margin:28px 8px 0 auto;transform:rotate(-9deg)}.booth-only{line-height:1.8;position:relative;margin:24px 0 0!important;padding:0 5px}.destination-window{width:315px;height:405px}.destination-window img{object-position:center}.destination-window:has(img[src*="iceland"]){width:330px}.destination-window:has(img[src*="iceland"]) img{object-position:48% center}.destination-window:has(img[src*="portugal"]) img{object-position:50% center}
@media(max-width:600px){.fuselage .doorway{top:105px;left:calc(50% - 92px);width:106px;height:163px}.fuselage .door-window{width:31px;height:37px}.fuselage .door-label{font-size:8px}.fuselage .open-label{font-size:6px;margin-top:6px}.fuselage #door>img{height:15px;width:13px;margin-top:4px}.fuselage .handle{margin-top:7px}.fuselage .door-bottom{font-size:3px}.play-art .stamp{margin-top:24px;font-size:8px}.booth-only{font-size:14px!important;padding:0 3px;line-height:1.9;white-space:normal}.destination-window,.destination-window:has(img[src*="iceland"]){width:260px;max-width:100%;height:345px}.destination-label{font-size:19px;padding:14px 16px}.destination-label small{font-size:7px}}
@media(max-height:700px) and (min-width:601px){#entrance .fuselage .doorway{width:125px;height:187px}#entrance .fuselage .door-window{width:36px;height:44px}}
@media(max-height:700px) and (max-width:600px){#entrance .fuselage .doorway{width:106px;height:163px}#entrance .fuselage .door-window{width:31px;height:37px}}
/* A complete aircraft at every screen size. One scaled coordinate system. */
#entrance{padding:20px 0;overflow-y:auto;justify-content:center;gap:0}.fuselage{width:min(1100px,96vw)!important;height:auto!important;aspect-ratio:2.8;container-type:inline-size;flex-shrink:0;margin:15px auto 80px!important;transform:none!important}.aircraft-body{width:100%!important;height:100%!important;left:0!important;top:0!important;transform:none!important;filter:drop-shadow(0 9px 10px #3c298a15)}#entrance .fuselage .doorway{left:44%!important;top:25%!important;width:9%!important;height:37%!important;border-width:1px;border-radius:1cqw 1cqw .7cqw .7cqw;box-shadow:none}#entrance .fuselage #door{padding:.5cqw .3cqw;border-radius:.8cqw .8cqw .5cqw .5cqw}#entrance .fuselage .door-window{width:2.5cqw!important;height:3.2cqw!important;border-width:.2cqw;box-shadow:none}#entrance .fuselage .door-window svg{width:1.4cqw;height:1.4cqw;left:.4cqw;top:.7cqw}#entrance .fuselage .exit-sign{font-size:.35cqw;letter-spacing:.1cqw;margin:0 0 .5cqw}#entrance .fuselage #door>img{width:1.1cqw;height:1.3cqw;margin:.4cqw 0 0}#entrance .fuselage .door-label{font-size:.68cqw;margin-top:.3cqw}#entrance .fuselage .handle{width:2.3cqw;height:.5cqw;margin-top:.6cqw}#entrance .fuselage .open-label{font-size:.48cqw;margin-top:.5cqw}#entrance .fuselage .door-bottom{display:none}.fuselage .inside{font-size:1cqw}.fuselage .inside i{display:none}.hostess{width:130px;height:286px;left:69%;top:39%;animation:none}.hostess-hello{right:-30px;top:0;font-size:13px;padding:8px 13px}.elegant-wave{transform-box:view-box;transform-origin:125px 140px;animation:graceful-wave 3.5s ease-in-out infinite}.opening .hostess{transform:translateX(10px)}.board-invite{background:var(--purple);color:#fff;border-radius:40px;padding:13px 32px;font-size:17px;font-weight:800;position:relative;z-index:4;box-shadow:0 6px 18px #3c298a20;display:flex;align-items:center;gap:26px}.board-invite:hover{background:#4c369f}.entrance-note{margin:12px 0 0!important;font-size:14px}.skip{font-size:11px;padding:8px}.entrance-brand .aloha-logo{object-fit:contain;mix-blend-mode:normal;width:125px;height:58px}.collab .aloha-logo{object-fit:contain;mix-blend-mode:normal}.invitation-label{font-size:26px}.event-intro{font-size:14px;max-width:90vw}.contact-details{width:min(440px,100%);margin:35px auto 0;text-align:right}.contact-details h3{font-size:20px;margin:0 0 12px}.contact-details a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #ffffff30;font-size:15px}.contact-details a span{color:#ddd5ef}.contact-details a b{font-weight:500}.contact-details a:hover{color:#ffb197}.voice-control{position:fixed;bottom:18px;right:18px;background:#fff;color:var(--purple);box-shadow:0 3px 15px #33224430;border-radius:30px;padding:12px 18px;z-index:110}.voice-control[hidden]{display:none}@keyframes graceful-wave{0%,55%,100%{transform:rotate(0)}12%,36%{transform:rotate(-12deg)}24%,48%{transform:rotate(5deg)}}
@media(max-width:600px){#entrance{padding:18px 0}.fuselage{width:98vw!important;margin:38px auto 130px!important}.hostess{width:95px;height:209px;left:62%;top:42%}.hostess-hello{font-size:11px;top:-14px;right:-12px;padding:7px 10px}.entrance-brand img{width:140px}.entrance-brand .aloha-logo{width:110px;height:48px}.event-intro{font-size:13px;margin-top:7px}.board-invite{font-size:16px;padding:12px 30px}.fuselage .open-label,.fuselage .door-label,.fuselage .exit-sign{display:none}#entrance .fuselage .door-window{width:3.2cqw!important;height:4.3cqw!important;margin-top:1cqw}#entrance .fuselage #door>img{width:1.5cqw;height:1.7cqw;margin-top:.8cqw}#entrance .fuselage .handle{width:3cqw;height:.7cqw;margin-top:1cqw}.contact-details a{font-size:13px;gap:8px}.contact-details{margin-top:25px}}
@media(max-height:700px){#entrance{padding:12px 0;justify-content:flex-start}.invitation-label{font-size:21px;margin-top:5px}.fuselage{margin-top:20px!important;margin-bottom:100px!important}.hostess{width:85px;height:187px}.entrance-brand .aloha-logo{height:42px}.event-intro{font-size:12px}}
@media(prefers-reduced-motion:reduce){.elegant-wave{animation:none!important}}

/* ALOHA AIR boarding: a gentle approach to the door. */
.fuselage{transition:transform 1.3s cubic-bezier(.2,.6,.3,1)!important;transform-origin:48.5% 43%}.opening .fuselage{transform:scale(2.25)!important}.opening .hostess{opacity:0;transition:opacity .45s}.opening .board-invite{opacity:0;transition:opacity .2s}.hostess-hello{right:-40px;top:15px}.hostess{left:76%}@media(max-width:600px){.hostess{left:70%;top:47%;width:90px;height:198px}.hostess-hello{right:-3px;top:-13px;font-size:10px}.opening .fuselage{transform:scale(2.4)!important}}@media(prefers-reduced-motion:reduce){.opening .fuselage{transform:none!important;transition:none!important}}

/* Full aircraft rendering and tailored cabin-crew illustration. */
#entrance .fuselage{width:min(900px,96vw)!important;height:400px!important;aspect-ratio:auto;margin:18px auto 12px!important;transform-origin:84% 28%}
#entrance .aircraft-render{width:100%!important;height:auto!important;object-fit:contain;top:0!important;filter:drop-shadow(0 14px 12px #3c298a12)}
#entrance .hostess{width:180px;height:270px;left:auto;right:11%;top:auto;bottom:0;transform:none;animation:crew-arrive .7s ease-out both}
.crew-render{display:block;width:100%;height:100%;object-fit:contain}
#entrance .hostess-hello{right:110px;top:20px;font-size:15px;padding:10px 15px;border-radius:22px 22px 0 22px}
#entrance .fuselage .doorway{left:83%!important;top:18%!important;width:4%!important;height:13%!important;background:transparent;border:0;opacity:0}
#entrance .fuselage .doorway:focus-within{outline:3px solid #ff6c35;opacity:.3}
#entrance.opening .fuselage{transform:scale(1.65)!important;opacity:0;transition:transform 1.2s ease-in,opacity 1.1s ease-in!important}
#entrance .board-invite{min-width:230px;justify-content:center}
@keyframes crew-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:600px){#entrance{padding:20px 0;justify-content:center}#entrance .fuselage{height:290px!important;margin:24px auto 5px!important;width:97vw!important}#entrance .hostess{height:210px;width:140px;right:10%;bottom:0}#entrance .hostess-hello{right:112px;top:65px;font-size:12px;padding:10px 13px}#entrance .fuselage .doorway{top:15%!important;height:9%!important}#entrance .invitation-label{margin:0 0 8px}#entrance .event-intro{max-width:90%;line-height:1.6}#entrance .board-invite{min-width:230px}#entrance .entrance-note{margin-top:12px!important}}
@media(max-height:700px){#entrance{justify-content:flex-start}#entrance .fuselage{height:255px!important;margin-top:14px!important}#entrance .hostess{height:180px;width:120px}}
@media(prefers-reduced-motion:reduce){#entrance .hostess{animation:none}#entrance.opening .fuselage{transform:none!important;transition:none!important}}

/* A visible cloud silhouette, shared across the journey. */
.entry-clouds i,.passing-clouds i{width:160px;height:46px;border-radius:60px;background:#fff;filter:drop-shadow(0 4px 8px #8196b512);box-shadow:none;opacity:.72;top:15%}
.entry-clouds i:before,.passing-clouds i:before,.entry-clouds i:after,.passing-clouds i:after{content:"";position:absolute;background:#fff;border-radius:50%;bottom:12px;width:72px;height:72px;left:28px}
.entry-clouds i:after,.passing-clouds i:after{width:54px;height:54px;left:87px;bottom:10px}.passing-clouds{z-index:1}.passing-clouds i{opacity:.35}.entry-clouds i:nth-child(2){width:190px;top:83%;opacity:.6}.passing-clouds i:nth-child(2){opacity:.3}.passing-clouds i:nth-child(3){opacity:.25}
#boarding-gate[hidden]{display:none!important}#boarding-gate{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,#fff,#e6e4ed);overflow:hidden;padding:20px;perspective:1200px}
#gate-back{position:absolute;top:22px;right:22px;background:transparent;color:var(--purple);padding:10px;z-index:3}.gate-airline{letter-spacing:5px;font-weight:800;font-size:15px;margin:0 0 12px}#gate-title{font-size:29px;margin:5px 0}.gate-hint{font-size:15px;color:var(--muted);margin:8px 0 22px}.gate-wall{position:relative;width:100%;display:flex;justify-content:center}.gate-frame{width:250px;height:390px;position:relative;border-radius:80px 80px 24px 24px;border:7px solid #b9b6c6;box-shadow:0 0 0 4px white,0 20px 60px #3c298a20;perspective:1100px;background:#aaa0c6;transition:transform .9s .7s,opacity .6s 1.3s}.cabin-view{position:absolute;inset:0;border-radius:72px 72px 16px 16px;background:linear-gradient(90deg,#8c80aa,#fff 45%,#fff 55%,#8c80aa);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:var(--purple);font-weight:800;font-size:24px}.cabin-view img{width:120px}.cabin-view:before{content:"";position:absolute;inset:65% 15% 0;background:linear-gradient(#e8e1f0,#a89cbd);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%)}
#cabin-door{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;background:linear-gradient(115deg,#fff,#dedde5);color:var(--purple);border-radius:72px 72px 16px 16px;padding:28px 12px;transform-origin:0 50%;transition:transform 1.1s cubic-bezier(.3,0,.2,1);backface-visibility:hidden;box-shadow:inset 0 0 0 2px white;gap:12px}.gate-exit{font-size:8px;letter-spacing:2px}.gate-glass{height:95px;width:75px;border:7px solid #c5c1d1;border-radius:45px;background:linear-gradient(#a7d4ed,#eaf6ff);box-shadow:0 0 0 3px white;display:grid;place-items:center}.gate-glass svg{width:30px;height:30px;transform:rotate(30deg)}#cabin-door>img{width:25px;height:30px;object-fit:contain}#cabin-door strong{font-size:22px}.gate-handle{width:62px;height:13px;background:var(--orange);border-radius:5px;box-shadow:0 4px 0 #cb4c23;transition:transform .3s}#cabin-door small{font-size:12px;margin-top:5px}.gate-window{position:absolute;top:95px;width:88px;height:140px;border-radius:55px;border:10px solid #ceccd8;box-shadow:0 0 0 3px #fff;background:linear-gradient(#a7d4ed,#f6fcff)}.gate-window.left{left:calc(50% - 290px)}.gate-window.right{right:calc(50% - 290px)}.gate-opening #cabin-door{transform:rotateY(-105deg)}.gate-opening .gate-handle{transform:rotate(-80deg)}.gate-opening .gate-frame{transform:scale(4);opacity:0}.gate-opening .gate-airline,.gate-opening #gate-title,.gate-opening .gate-hint,.gate-opening #gate-back,.gate-opening .gate-window{opacity:0;transition:opacity .3s}.station-action{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:white;border:1px solid #cfc3e6;border-radius:30px;color:var(--purple);padding:13px 20px;font-size:15px;font-weight:800;min-height:44px}.station-action:hover{border-color:var(--purple);box-shadow:0 6px 20px #3c298a12}.interaction-status{display:block;font-size:13px;margin-top:15px;line-height:1.7;min-height:24px}.station-action:disabled{opacity:.7}.play-art>.station-action{direction:rtl;margin-bottom:25px}.play-art #booth-reveal{direction:rtl;font-size:16px;padding:15px;background:#eae3f5;border-radius:18px;line-height:1.8}.play-art.revealed .stamp{animation:stamp-land .5s both}.station-visible .ticket-tag{animation:tag-arrive .8s both}.station-visible .stop-copy{animation:copy-arrive .7s both}.station-visible .postmark{animation:stamp-land .5s .2s both}.print-slot{display:none;position:absolute;top:20px;width:240px;height:12px;border-radius:8px;background:#2f2457;box-shadow:0 -5px 0 12px #d7cee6}.ready-to-print .print-slot{display:block}.ready-to-print .instant-photo{opacity:0;transform:translateY(-30px) rotate(0);clip-path:inset(100% 0 0 0)}.ready-to-print .tape{display:none}.printing .instant-photo{animation:photo-print 1.6s ease-out forwards}.printed .instant-photo{opacity:1;transform:rotate(-6deg);clip-path:inset(0)}.window-shutter{position:absolute;inset:0;background:linear-gradient(100deg,#f0edf3,#c9c4d2);border-radius:inherit;transform:translateY(-102%);transition:transform .32s ease-in-out;z-index:2;box-shadow:0 8px 20px #0002}.window-shutter>span{position:absolute;width:50px;height:6px;bottom:25px;left:calc(50% - 25px);border-radius:4px;background:#aba4b7}.changing .window-shutter{transform:translateY(0)}.arrival-action{margin:28px 0 0;background:#fff;color:var(--purple)}.arrival-stamp{opacity:.35;transition:opacity .3s}.arrival-stamp.inked{opacity:1;animation:stamp-land .5s both}.visit .arrival-stamp{color:#fff0dd;border-color:#fff0dd}.button,.station-action{transition:transform .2s,box-shadow .2s}.button:active,.station-action:active{transform:scale(.97)}
@keyframes stamp-land{0%{opacity:0;scale:1.6;filter:blur(3px)}65%{opacity:1;scale:.95;filter:none}100%{opacity:1;scale:1}}
@keyframes copy-arrive{from{opacity:.4;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes tag-arrive{from{opacity:0;translate:30px 0}to{opacity:1;translate:0 0}}@keyframes photo-print{0%{opacity:1;clip-path:inset(100% 0 0 0);transform:translateY(-30px) rotate(0)}75%{opacity:1;clip-path:inset(0);transform:translateY(0) rotate(0)}100%{opacity:1;clip-path:inset(0);transform:rotate(-6deg)}}
@media(max-width:600px){.entry-clouds i{width:135px;height:38px}.gate-frame{width:225px;height:365px}.gate-window.left{left:calc(50% - 240px)}.gate-window.right{right:calc(50% - 240px)}#gate-title{font-size:25px}.station-action{font-size:14px}.print-slot{width:210px}.photo-scene{padding-top:35px}}
@media(max-height:650px){.gate-frame{height:330px;width:210px}#cabin-door{gap:8px;padding-top:20px}.gate-glass{height:76px;width:63px}.gate-hint{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.ready-to-print.printed .instant-photo{opacity:1;clip-path:inset(0);transform:rotate(-6deg)}.station-visible .stop-copy{opacity:1}.gate-opening .gate-frame{transform:none}.passing-clouds,.entry-clouds{display:none}}

/* A playable, touch-first boarding scene. */
#entrance .hostess{pointer-events:auto;cursor:grab;touch-action:none;z-index:5;outline-offset:0;transition:left .2s ease-out;user-select:none;-webkit-user-select:none}#entrance .hostess.dragging{cursor:grabbing;transition:none}#entrance .crew-render{pointer-events:none;-webkit-user-drag:none}#entrance .hostess-hello{display:none}.walk-gate{position:absolute;bottom:10px;left:8%;width:84px;height:150px;border:4px solid #d1c9e1;border-radius:42px 42px 8px 8px;background:linear-gradient(#fefeff,#e6def4);box-shadow:0 0 0 3px white,0 10px 20px #3c298a15;color:var(--purple);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;z-index:3}.walk-gate span{font-size:10px;letter-spacing:3px}.walk-gate b{font-size:18px}.walk-gate i{font-style:normal;font-size:24px;animation:gate-beckon 1s ease-in-out infinite alternate}.walk-track{position:absolute;bottom:8px;left:10%;right:12%;border-bottom:2px dashed #baaed1}.walk-controls{display:flex;align-items:center;justify-content:center;gap:15px;direction:ltr;position:relative;z-index:4;margin:5px 0 15px}.walk-controls button{width:44px;height:44px;border:1px solid #c4b8dd;border-radius:50%;background:white;color:var(--purple);font-size:23px}.walk-controls span{direction:rtl;font-size:13px}#entrance .board-invite{font-size:14px;padding:11px 25px;min-width:210px}#entrance .entrance-note{font-size:13px}#entrance .skip{padding:5px}.walking .crew-render{animation:walking .24s ease-in-out infinite alternate}.walk-gate.reached{background:#3c298a;color:white;box-shadow:0 0 0 4px #ff6c35}.gate-frame{overflow:visible}@keyframes walking{to{transform:translateY(-4px) rotate(-1deg)}}@keyframes gate-beckon{to{transform:translateX(-6px)}}@media(max-width:600px){#entrance .fuselage{height:275px!important;margin-top:15px!important}.walk-gate{height:140px;width:76px;bottom:12px;left:9%}#entrance .hostess{height:185px;width:124px}#entrance .invitation-label{font-size:23px}.walk-controls{margin-bottom:10px}.walk-controls span{font-size:12px}}@media(max-height:700px){#entrance .fuselage{height:225px!important}#entrance .hostess{height:160px;width:107px}.walk-gate{height:115px}#entrance .entrance-note{margin-top:7px!important}.walk-controls button{width:38px;height:38px}.walk-controls{margin:0 0 7px}}

/* Soft camera approach, handle release, swing, then cabin entry. */
.airline-identity{text-align:center;margin:0 0 14px}.airline-identity b{display:block;font-size:21px;letter-spacing:4px}.airline-identity small,.gate-airline small{display:block;font-size:9px;font-weight:500;letter-spacing:.4px;margin-top:5px}.gate-airline{text-align:center}.sfx-toggle{position:fixed;left:14px;bottom:14px;z-index:150;border:1px solid #cfc4e3;border-radius:24px;background:#ffffffed;color:var(--purple);padding:10px 14px;font-size:11px;box-shadow:0 4px 16px #3c298a12}.voice-control{bottom:66px}.opening-soon{margin:0 0 22px!important;font-weight:800;font-size:18px!important}.approaching .fuselage{transform:scale(1.6) translateX(10%)!important;opacity:0;transition:transform 1s cubic-bezier(.25,.6,.3,1),opacity .8s!important}.approaching .entrance-brand,.approaching .airline-identity,.approaching .event-intro,.approaching .walk-controls,.approaching .board-invite,.approaching .entrance-note,.approaching .skip{opacity:0;transition:opacity .5s}.approaching .hostess{scale:.85;opacity:0;transition:scale .65s,opacity .65s}.gate-arriving{animation:gate-reveal .9s cubic-bezier(.2,.7,.2,1) both}.gate-arriving .gate-frame{animation:gate-approach 1.15s cubic-bezier(.2,.7,.2,1) both}.gate-handle{animation:handle-invite 2.8s 1.5s ease-in-out infinite;transform-origin:85% 50%}#cabin-door{transition:transform 1.2s .35s cubic-bezier(.25,.6,.25,1),box-shadow 1s}.gate-opening #cabin-door{transform:translateX(-9px) rotateY(-108deg);box-shadow:20px 0 50px #21153e33}.gate-opening .gate-handle{animation:none;transform:rotate(-75deg);transition:transform .3s}.gate-opening .gate-frame{transform:scale(4.5);opacity:0;transition:transform 1.15s 1.1s cubic-bezier(.4,0,.2,1),opacity .65s 1.65s}.gate-opening .cabin-view{filter:brightness(1.15);transition:filter .8s}.gate-glass{position:relative;overflow:hidden}.gate-glass:after{content:"";width:55px;height:20px;background:#fff;border-radius:30px;position:absolute;bottom:14px;left:-55px;box-shadow:10px -10px 0 -2px #fff;animation:window-cloud 6s linear infinite}.gate-glass svg{z-index:1}@keyframes gate-reveal{from{opacity:0}to{opacity:1}}@keyframes gate-approach{from{transform:scale(.78) translateY(25px)}to{transform:scale(1) translateY(0)}}@keyframes handle-invite{0%,70%,100%{transform:rotate(0);box-shadow:0 4px 0 #cb4c23}80%{transform:rotate(-12deg);box-shadow:0 4px 0 #cb4c23,0 0 0 8px #ff6c3515}90%{transform:rotate(0);box-shadow:0 4px 0 #cb4c23,0 0 0 12px #ff6c3500}}@keyframes window-cloud{to{translate:150px 0}}@media(max-width:600px){.airline-identity{margin-bottom:10px}.airline-identity b{font-size:19px}.airline-identity small{font-size:8px}#entrance .fuselage{margin-top:12px!important}#entrance .invitation-label{font-size:19px;margin-bottom:7px}.sfx-toggle{bottom:10px;left:10px;padding:8px 11px;font-size:10px}}@media(max-height:700px){.airline-identity{margin-bottom:8px}.airline-identity b{font-size:16px}#entrance .fuselage{height:205px!important}#entrance .hostess{height:145px;width:97px}}@media(prefers-reduced-motion:reduce){.approaching .fuselage{transform:none!important}.gate-arriving,.gate-arriving .gate-frame{animation:none}.gate-opening .gate-frame{transform:none}.gate-handle{animation:none}}

/* Gentle entry: the welcome stays at its natural size. */
.gate-opening .gate-frame{transform:scale(1.04)!important;opacity:0;transition:transform .75s .6s ease,opacity .55s 1s!important}
.gate-opening .cabin-view{filter:none!important}.cabin-view{font-size:18px}.cabin-view img{width:90px}
.wheel.arrival-spin{animation:wheel-arrival 2.65s cubic-bezier(.12,.65,.15,1) forwards}
@keyframes wheel-arrival{from{transform:rotate(0)}to{transform:rotate(1440deg)}}
@media(prefers-reduced-motion:reduce){.wheel.arrival-spin{animation:none}.gate-opening .gate-frame{transform:none!important}}

/* A quiet entrance: the crew is the single boarding interaction. */
#entrance .walk-controls,#entrance .board-invite,#entrance .entrance-note,#entrance .skip{display:none!important}
body.boarding #sfx-toggle,body.boarding #voice-control{display:none!important}
#entrance .hostess{cursor:grab;touch-action:none}
#entrance .hostess:focus-visible{outline:2px solid var(--purple);border-radius:25px}
#entrance .doorway,#entrance .side-window{display:none!important}

#wheel{cursor:pointer;touch-action:manipulation}#wheel:focus-visible{outline:3px solid var(--orange);outline-offset:6px}

/* Venue mark and one clear drag hint, without extra controls. */
#entrance .entrance-brand .messilah-logo{width:76px;height:76px;object-fit:contain;flex-shrink:0;clip-path:circle(39% at 50% 50%);margin:-8px}
#entrance .walk-controls{display:flex!important;margin:12px 0 0;pointer-events:none}
#entrance .walk-controls button{display:none!important}
#walk-hint{font-size:14px;color:var(--purple)}
@media(max-width:600px){#entrance .entrance-brand{gap:9px}#entrance .entrance-brand>img:first-child{width:126px}#entrance .entrance-brand .aloha-logo{width:96px}#entrance .entrance-brand .messilah-logo{width:66px;height:66px;margin:-7px}}

/* More breathing room; one focal interaction per stop. */
main{position:relative;z-index:2}.passing-clouds{z-index:1}
main>header{justify-content:center;height:75px;gap:12px}main>header .brand img{width:112px}main>header .aloha-logo{width:82px;height:40px}
.welcome{height:auto;min-height:650px;padding:120px 20px 80px}.welcome-copy{margin:0;max-width:650px;padding:0;position:relative}.welcome h1{font-size:clamp(36px,5vw,60px);line-height:1.4;margin:0 0 22px}.welcome .venue-name{font-size:18px;font-weight:700;margin:0}.venue-mark{width:85px;height:85px;object-fit:contain;clip-path:circle(39% at 50% 50%);display:block;margin:0 auto}.welcome .warm-note{font-size:17px;margin:9px 0 27px}.welcome .button{font-size:16px;padding:14px 24px;min-width:0;border-radius:14px}.win-a,.win-b{opacity:.6}
#flying-plane{transform:translate(-50%,-50%);width:30px;height:35px}#flying-plane img{width:100%;height:100%;object-fit:contain}
.play-art .ticket-tag,.play-art .stamp,#booth-preview,#booth-reveal,.photo-scene .postmark,.photo-scene .luggage,.photo-scene .tape,.destination-label small{display:none!important}.wheel-hint{font-size:17px;margin:25px 0 10px}.booth-only{font-size:13px!important;font-weight:500!important;color:var(--muted)}.stop{min-height:0;padding-top:85px;padding-bottom:85px}.stop .chapter{font-size:10px;letter-spacing:2px}.contact-details{margin-top:28px}.contact-details h3,.contact-details a:first-of-type,.footer-note{display:none}.visit #replay{display:block;margin:24px auto 0;color:#ded5f1;font-size:12px}.visit .tagline{font-size:17px}.visit .footer-logo{max-width:125px}
@media(max-width:600px){.welcome{min-height:610px;padding:110px 24px 65px}.welcome-copy{margin:0}.welcome h1{font-size:36px}.welcome .venue-name{font-size:16px}.welcome .warm-note{font-size:15px}.welcome .button{font-size:15px;padding:13px 22px}.venue-mark{width:76px;height:76px}.stop{padding-top:65px;padding-bottom:65px}.wheel-hint{font-size:15px}.stop h2{font-size:35px}.destination-label{padding:15px 25px}}

.instant-photo[role="button"]{cursor:pointer;touch-action:manipulation}.instant-photo[role="button"]:focus-visible{outline:3px solid var(--purple);outline-offset:5px}

body:not(.boarding) #sfx-toggle{display:none}.voice-control{bottom:14px!important}

body.boarding.has-voice #voice-control{display:block!important;z-index:160}

/* Crew speaks only while the supplied recording is audible. */
#entrance .hostess.speaking .hostess-hello{display:flex;align-items:center;gap:8px;right:75%;top:24%;font-size:11px;padding:9px 12px;pointer-events:none;animation:speech-in .25s ease-out}
.speech-bars{display:flex;align-items:center;gap:2px;height:17px;direction:ltr}.speech-bars i{width:3px;height:12px;background:var(--purple);border-radius:4px;animation:speech-wave .65s ease-in-out infinite alternate}.speech-bars i:nth-child(2){animation-delay:-.4s}.speech-bars i:nth-child(3){animation-delay:-.2s;height:17px}.speech-bars i:nth-child(4){animation-delay:-.5s}.speech-bars i:nth-child(5){animation-delay:-.1s}
#entrance .hostess.speaking:not(.walking):not(.dragging) .crew-render{transform-origin:50% 92%;animation:crew-speaking 1.8s ease-in-out infinite}
@keyframes crew-speaking{0%,100%{transform:rotate(-.5deg) translateY(0)}45%{transform:rotate(.6deg) translateY(-2px)}70%{transform:rotate(.1deg) translateY(-1px)}}
@keyframes speech-wave{to{transform:scaleY(.3)}}@keyframes speech-in{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
@media(max-width:600px){#entrance .hostess.speaking .hostess-hello{right:45%;top:8%;font-size:10px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){#entrance .hostess.speaking .crew-render,.speech-bars i{animation:none!important}}

/* Small speaker control, with a clear red muted state. */
#voice-control{width:42px;height:42px;min-width:0;padding:10px;border:1px solid #ded6ec;border-radius:50%;right:12px;bottom:max(12px,env(safe-area-inset-bottom))!important;background:#ffffffed;color:var(--purple);box-shadow:0 2px 8px #33224412;line-height:0}
#voice-control svg{display:block;width:22px;height:22px}#voice-control .sound-cross{display:none}#voice-control.is-muted{color:#c9404c;border-color:#f0d1d4}#voice-control.is-muted .sound-cross{display:block}#voice-control.is-muted .sound-waves{display:none}#voice-control:focus-visible{outline:2px solid currentColor;outline-offset:3px}
/* More frequent cloud passes, kept light enough for readable content. */
.passing-clouds{z-index:3}.passing-clouds i{animation-duration:22s;animation-delay:-8s;opacity:.19;top:13%}.passing-clouds i:nth-child(2){top:70%;animation-duration:27s;animation-delay:-20s;opacity:.17}.passing-clouds i:nth-child(3){top:40%;animation-duration:25s;animation-delay:-15s;opacity:.16}.passing-clouds i:nth-child(4){top:88%;animation-duration:29s;animation-delay:-6s;opacity:.18;width:190px}.passing-clouds i:nth-child(5){top:27%;animation-duration:24s;animation-delay:-22s;opacity:.14;width:120px}
.entry-clouds i{animation-duration:23s;animation-delay:-12s;opacity:.65}.entry-clouds i:nth-child(2){animation-duration:28s;animation-delay:-22s;opacity:.5}.entry-clouds i:nth-child(3){top:53%;animation-duration:26s;animation-delay:-5s;opacity:.4;width:110px}
