.bus-enter{position:absolute;right:6vw;bottom:140px;z-index:5;box-shadow:0 8px 35px #0004;gap:15px;font-size:16px;min-height:54px}
.bus-enter .icon{width:22px;height:22px}
.bus-enter[aria-busy=true]{animation:entry-pulse .8s ease-in-out infinite alternate}
.bus-enter:disabled{opacity:.85;cursor:progress}
.bus-interior-dialog{position:fixed;inset:0;margin:0;border:0;border-radius:0;max-width:none;max-height:none;width:100%;height:100svh;overflow:auto;padding:0;background:#051b26;color:white}
.bus-interior-dialog::backdrop{background:#031b2b}
.tour-shell{min-height:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,28vw,440px);grid-template-rows:84px minmax(0,1fr);isolation:isolate}
.tour-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:16px 32px;border-bottom:1px solid #ffffff1a;z-index:3;background:#051b26}
.tour-brand{display:flex;gap:28px;align-items:center}.tour-brand img{width:165px;height:auto}.tour-brand>span{font-size:10px;letter-spacing:.2em;color:#c7d4d8}
.tour-close{display:flex;align-items:center;gap:14px;background:#ffffff0b;border:1px solid #ffffff38;border-radius:40px;padding:12px 18px;color:white;font-size:13px;min-height:44px;cursor:pointer}.tour-close>span{font-size:22px;transform:rotate(-90deg)}
.tour-scene{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;background:#051b26}
.tour-ambient{position:absolute;inset:-40px;background:url('assets/interior/cabin.webp') center/cover;filter:blur(34px);opacity:.25;transform:scale(1.1);transition:background-image .6s}
.tour-photo-frame{position:relative;flex-shrink:0;isolation:isolate;overflow:hidden;box-shadow:0 40px 100px #0005}
.tour-layer{position:absolute;inset:0;will-change:transform,opacity}.tour-departing{z-index:0;pointer-events:none}.tour-layer:not(.tour-departing){z-index:1}
.tour-photo{width:100%;height:100%;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.tour-scene-label{position:absolute;top:24px;left:24px;display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #ffffff25;background:#031b2b99;backdrop-filter:blur(12px);border-radius:30px;font-size:11px;letter-spacing:.04em;pointer-events:none;z-index:2}
.tour-live-dot{width:6px;height:6px;background:#ff7a1a;border-radius:50%}.tour-home{position:absolute;right:20px;top:24px;border:1px solid #ffffff40;background:#031b2bcc;padding:10px 14px;border-radius:30px;color:white;cursor:pointer;font-size:12px;min-height:44px;z-index:2}.tour-home[hidden]{display:none}
.tour-hint{position:absolute;bottom:24px;margin:0;text-align:center;left:16px;right:16px;font-size:12px;color:#fff;text-shadow:0 1px 6px #000;pointer-events:none;z-index:2}
.tour-pin{position:absolute;transform:translate(-50%,-50%);background:none;color:white;border:0;min-width:44px;min-height:44px;display:grid;place-items:center;cursor:pointer;isolation:isolate;z-index:2;padding:0;overflow:visible}
.tour-pin-dot{display:grid;place-items:center;width:30px;height:30px;background:#f45116;border:2px solid white;border-radius:50%;font-size:22px;line-height:1;box-shadow:0 4px 18px #0008;transition:transform .25s}.tour-pin::before{content:'';position:absolute;inset:1px;border:1px solid #ff9d61;border-radius:50%;animation:tour-pulse 2.5s ease-out infinite}.tour-pin:nth-of-type(2)::before{animation-delay:.6s}.tour-pin:hover .tour-pin-dot,.tour-pin:focus-visible .tour-pin-dot{transform:scale(1.2)}
.tour-pin-label{position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:7px 11px;border-radius:5px;font-size:11px;line-height:1.2;background:#031b2bdf;color:white;box-shadow:0 3px 16px #0003}
.tour-focus{position:absolute;left:50%;top:50%;width:60px;height:60px;transform:translate(-50%,-50%);border:2px solid #ff7a1a;border-radius:50%;box-shadow:0 0 0 8px #ff7a1a30,0 0 0 16px #ff7a1a15;pointer-events:none;animation:tour-focus 3s ease-in-out infinite}
.tour-panel{background:#f7f2ec;color:#082635;padding:clamp(22px,2.6vw,44px);display:flex;flex-direction:column;gap:22px;overflow:auto;min-height:0;z-index:2}
.tour-step{display:flex;gap:6px;align-items:center;font-size:10px;letter-spacing:.1em;color:#687c84}.tour-step>span:first-child{color:#e8541a;font-size:24px;letter-spacing:-.04em;font-weight:700}.tour-step>span:last-child{font-size:9px;white-space:nowrap}.tour-line{height:1px;background:#c4cec9;flex:1;margin:0 6px}
.tour-kicker{color:#b7471d;font-size:10px;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin:0 0 14px}
.tour-panel h2{font-family:var(--display);font-size:clamp(40px,3.8vw,66px);letter-spacing:-.025em;line-height:1;text-transform:uppercase;margin:0 0 18px}
.tour-description{font-size:14px;line-height:1.75;color:#49616a;margin:0;min-height:98px}
.tour-wifi{display:flex;align-items:center;gap:14px;border-block:1px solid #cdd4d0;padding:16px 0}.tour-wifi svg{width:27px;height:27px;color:#d95520;flex-shrink:0}.tour-wifi strong{display:block;font-size:13px}.tour-wifi span{display:block;font-size:10px;color:#657b83;margin-top:3px}
.tour-pager{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-pager button{border:1px solid #b9c8ca;background:transparent;border-radius:50%;height:44px;width:44px;color:#12394a;font-size:22px;cursor:pointer;transition:background .2s,color .2s}.tour-pager button:hover{background:#12394a;color:white}.tour-pager span{font-size:12px;font-weight:700;text-align:center}
.tour-dock{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.tour-dock button{position:relative;border:2px solid transparent;border-radius:5px;padding:0;background:#082635;overflow:hidden;cursor:pointer;min-height:48px;aspect-ratio:1;transition:border-color .2s,transform .2s}.tour-dock img{display:block;width:100%;height:100%;object-fit:cover;opacity:.5;transition:opacity .2s}.tour-dock button[aria-pressed=true]{border-color:#f45116;transform:translateY(-4px)}.tour-dock button[aria-pressed=true] img,.tour-dock button:hover img{opacity:1}.tour-dock span{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#031b2be8);padding:10px 2px 4px;color:white;font-size:8px;line-height:1.15;overflow-wrap:anywhere}
.tour-availability{font-size:10px;line-height:1.6;color:#687d85;margin:0}.tour-quote{font-size:12px!important;min-height:48px;padding:14px 16px!important;margin-top:auto;justify-content:space-between;width:100%}
.tour-shell button:focus-visible{outline:3px solid #ff7a1a;outline-offset:4px}.tour-scene[aria-busy=true]::after{content:'';position:absolute;top:0;left:0;width:40%;height:3px;background:#ff7a1a;animation:tour-load 1s ease-in-out infinite;z-index:4}
@keyframes tour-pulse{0%{transform:scale(.75);opacity:.9}100%{transform:scale(1.7);opacity:0}}@keyframes tour-focus{50%{box-shadow:0 0 0 12px #ff7a1a20,0 0 0 22px #ff7a1a08}}@keyframes tour-load{to{transform:translateX(250%)}}@keyframes entry-pulse{to{box-shadow:0 0 0 6px #ff7a1a3b,0 8px 35px #0004}}
@media(min-width:901px) and (max-height:760px){.tour-header{padding-block:10px}.tour-shell{grid-template-rows:66px minmax(0,1fr)}.tour-panel{gap:14px;padding:22px}.tour-panel h2{font-size:40px}.tour-description{min-height:0;font-size:12px}.tour-wifi{padding:10px 0}.tour-dock button{max-height:55px;aspect-ratio:auto}.tour-kicker{margin-bottom:8px}}
@media(max-width:1100px) and (min-width:741px){.bus-enter{right:4vw;bottom:133px;font-size:14px;padding:16px 20px}}
@media(max-width:900px){.tour-shell{height:auto;min-height:100%;grid-template-columns:1fr;grid-template-rows:66px clamp(250px,52svh,620px) auto}.tour-header{padding:12px 18px;position:sticky;top:0}.tour-brand img{width:135px}.tour-brand>span{display:none}.tour-close{font-size:11px;padding:8px 13px;gap:8px}.tour-panel{overflow:visible;padding:26px;gap:18px}.tour-panel h2{font-size:44px}.tour-description{min-height:0;max-width:650px}.tour-step{max-width:400px}.tour-dock{gap:8px}.tour-dock button{aspect-ratio:1.6;max-height:100px}.tour-dock span{font-size:9px}.tour-scene-label{left:14px;top:12px;font-size:10px;padding:8px 10px}.tour-home{right:12px;top:10px;font-size:10px;padding:8px 10px}.tour-hint{bottom:12px;font-size:10px}.tour-pin-label{font-size:9px;padding:5px 7px}.tour-pin-dot{width:26px;height:26px;font-size:18px}.tour-quote{margin-top:0}.tour-focus{width:42px;height:42px}}
@media(max-width:740px){.bus-enter{top:551px;bottom:auto;left:24px;right:auto;padding:15px 20px;font-size:15px;min-height:50px}.fleet-pin .fleet-story{margin-top:453px}}
@media(prefers-reduced-motion:reduce){.tour-shell *, .bus-enter{animation:none!important;transition:none!important}.tour-layer{will-change:auto}}
/* Immersive, full-bleed cabin with a floating glass panel. */
.tour-shell{display:block;position:relative;height:100svh;min-height:600px}
.tour-header{position:absolute;inset:0 0 auto;min-height:80px;background:linear-gradient(#031b2be6,#031b2b00);border:0;padding:20px 28px;z-index:5}
.tour-scene{position:absolute;inset:0;width:100%;height:100%}
.tour-photo-frame{box-shadow:none}
.tour-ambient{opacity:.55}
.tour-panel{position:absolute;right:24px;top:96px;bottom:24px;width:clamp(310px,26vw,390px);border:1px solid #ffffff38;border-radius:18px;padding:26px;background:linear-gradient(145deg,#052633a8,#031b2b8a);color:#fff;backdrop-filter:blur(12px) saturate(115%);-webkit-backdrop-filter:blur(12px) saturate(115%);box-shadow:0 20px 65px #00141d45;gap:18px;transition:opacity .3s,transform .3s}
.tour-panel h2{color:#fff;font-size:clamp(38px,3.2vw,57px);text-shadow:0 2px 20px #00131b44}
.tour-description{color:#f0f6f7;min-height:0}.tour-kicker{color:#ffb579}.tour-step{color:#d3e2e7}.tour-step>span:first-child{color:#ff9e54}.tour-line{background:#ffffff40}.tour-wifi{border-color:#ffffff35}.tour-wifi svg{color:#ffac6c}.tour-wifi span,.tour-availability{color:#d6e4e8}.tour-pager button{color:#fff;border-color:#ffffff70;background:#ffffff0b}.tour-pager button:hover{background:#f45116;border-color:#f45116}.tour-dock button{background:#031b2b}.tour-dock img{opacity:.8}
.tour-home{top:142px;left:28px;right:auto;background:#f45116;color:#fff;border:1px solid #ffb280;border-radius:30px;box-shadow:0 8px 28px #0006;padding:14px 21px;font-size:14px;font-weight:800;min-height:50px;transition:background .2s,transform .2s}
.tour-home:hover{background:#ff7428;transform:translateY(-2px)}.tour-scene-label{top:95px;left:28px}.tour-hint{left:28px;right:calc(clamp(310px,26vw,390px) + 60px);text-align:left;bottom:28px;background:#031b2b80;border-radius:20px;padding:10px 14px;width:max-content;max-width:65%}
.tour-header-actions{display:flex;gap:10px;align-items:center}.tour-toggle{border:1px solid #ffffff50;border-radius:30px;background:#031b2b70;backdrop-filter:blur(8px);color:white;min-height:44px;padding:10px 16px;font-size:12px;cursor:pointer}.tour-panel[hidden]{display:none}.tour-close{background:#031b2b70;backdrop-filter:blur(8px)}
@media(min-width:901px) and (max-height:760px){.tour-panel{top:80px;bottom:15px;padding:20px;gap:12px}.tour-panel h2{font-size:38px}.tour-header{min-height:65px;padding-block:12px}.tour-description{font-size:12px}.tour-wifi{padding:10px 0}.tour-dock button{max-height:48px}.tour-availability{font-size:9px}}
@media(max-width:900px){.tour-shell{height:100svh;min-height:650px}.tour-header{padding:14px 16px;min-height:66px}.tour-brand img{width:120px}.tour-header-actions{gap:6px}.tour-close{padding:8px 10px}.tour-toggle{padding:8px 10px;font-size:10px}.tour-panel{left:16px;right:16px;top:auto;bottom:16px;width:auto;max-height:43svh;min-height:230px;padding:20px;gap:16px;overflow:auto;border-radius:16px}.tour-panel h2{font-size:38px}.tour-description{font-size:13px}.tour-scene{height:100%;align-items:flex-start}.tour-photo-frame{margin-top:100px}.tour-scene-label{top:72px;left:16px;font-size:9px}.tour-home{top:112px;left:16px;padding:9px 14px;font-size:11px;min-height:44px}.tour-hint{display:none}.tour-panel[hidden]~*{pointer-events:none}.tour-dock button{max-height:72px}.tour-dock span{font-size:10px}}
@media(max-width:400px){.tour-brand img{width:100px}.tour-close{font-size:10px}.tour-header{padding-inline:10px}.tour-toggle{font-size:9px;padding-inline:8px}}
#contact-form{display:grid;gap:20px;margin-top:28px}#contact-form label{display:grid;gap:9px;color:var(--navy);font-size:14px;font-weight:700}#contact-form input,#contact-form textarea{width:100%;border:1px solid #ccd5d7;border-radius:5px;background:white;color:var(--navy);padding:14px 15px;font:inherit;font-weight:400;font-size:16px}#contact-form textarea{resize:vertical;min-height:120px}#contact-form input:focus,#contact-form textarea:focus{outline:2px solid var(--orange);outline-offset:2px}#contact-form .form-note{margin:0}

/* Approved fleet photos retain their own portrait or landscape framing. */
.tour-multi .tour-photo-frame{position:absolute;margin:0}.tour-wifi[hidden]{display:none}.tour-multi .tour-description{font-size:16px;line-height:1.6}.tour-multi .tour-availability{font-size:12px;line-height:1.5}.tour-multi .tour-dock{grid-template-columns:repeat(3,minmax(0,1fr))}.tour-multi .tour-dock span{font-size:11px}
.tour-multi .tour-pin-label{white-space:normal;width:max-content;max-width:190px;text-align:center;line-height:1.35}
.tour-pin-label[data-align="start"]{left:0;transform:none}
.tour-pin-label[data-align="end"]{left:auto;right:0;transform:none}
.tour-pin-label[data-position="below"]{bottom:auto;top:calc(100% + 2px)}
.tour-pin-label[data-position="right"]{bottom:auto;top:50%;left:calc(100% + 2px);transform:translateY(-50%);max-width:110px}
.tour-multi .tour-dock span{white-space:normal;line-height:1.25}
.tour-multi .tour-dock button{min-height:100px}
.tour-multi #tour-current{line-height:1.35;text-align:center;overflow-wrap:anywhere}
@media(max-width:900px){.tour-multi .tour-home{top:65px;left:auto;right:16px}.tour-multi .tour-scene-label{max-width:45%}.tour-multi .tour-panel h2{font-size:32px}.tour-multi .tour-description{font-size:16px}.tour-multi .tour-dock button{min-height:60px}}
