/* Passenger scene: the interior and onboard experience lead the composition. */
.v2 main > .panel--passengers { padding-bottom: 30px; }
.v2[data-scene="5"] .v2-shade { background: linear-gradient(180deg,rgba(15,21,26,.3),transparent 15%); }
.v2 .panel.panel--passengers .scrim { background: linear-gradient(0deg,#081017 0%,#09141cee 23%,#0b141a94 40%,transparent 65%); }
.panel--passengers .passengers-content { max-width: 1800px; z-index: 1; }
.panel--passengers .passengers-heading { display: flex; align-items: flex-end; gap: clamp(25px,3.5vw,60px); padding-bottom: 20px; border-bottom: 1px solid #bfa36945; }
.panel--passengers .passengers-eyebrow { font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: var(--ts-gold); margin: 0 0 12px; }
.panel--passengers h2 { font-family: var(--font-display); font-size: clamp(29px,2.45vw,40px); line-height: 1.04; letter-spacing: -.045em; font-weight: 650; margin: 0; }
.panel--passengers h2 em { font-style: normal; color: var(--ts-gold); }
.panel--passengers .passengers-intro { font-size: 13px; line-height: 1.6; color: #afc0ca; margin: 0 auto 4px 0; }
.panel--passengers .passengers-capacity { flex-shrink: 0; padding-left: 26px; border-left: 1px solid #bfa36945; }
.panel--passengers .passengers-capacity>span { color: #98adb9; font-size: 9px; letter-spacing: .13em; }
.panel--passengers .passengers-capacity>div { display: flex; align-items: baseline; gap: 13px; margin-top: 3px; }
.panel--passengers .passengers-capacity strong { font-family: var(--font-display); font-size: clamp(39px,4vw,60px); font-weight: 500; line-height: 1.1; letter-spacing: -.06em; color: #d6c08f; }
.panel--passengers .passengers-capacity>div>span { color: #b4c4cd; font-size: 12px; }
.panel--passengers .passengers-interior { display: grid; grid-template-columns: 2fr 1fr; gap: clamp(30px,4vw,70px); align-items: center; padding: 14px 0 17px; }
.panel--passengers .passengers-cutaway { min-width: 0; }
.panel--passengers .crew-bus { display: block; width: 100%; height: clamp(155px,18vh,210px); overflow: visible; }
.panel--passengers .bus-label { font: 9px var(--font-body); fill: #cdb788; letter-spacing: .04em; }
.panel--passengers .bus-small-label { font: 12px var(--font-display); fill: #bdcbd0; }
.panel--passengers .passengers-deck-note { display: flex; justify-content: center; align-items: center; gap: 35px; color: #95aab7; font-size: 9px; margin-top: 3px; }
.panel--passengers .passengers-deck-note>span:first-child { font-size: 8px; letter-spacing: .12em; }
.panel--passengers .passengers-deck-note b { font-size: 11px; color: #cbb788; font-weight: 500; }
.panel--passengers .passengers-support { border-left: 1px solid #bfa36945; padding-left: clamp(24px,3vw,45px); display: grid; gap: 22px; }
.panel--passengers .passengers-feature { display: flex; gap: 17px; align-items: flex-start; }
.panel--passengers .passengers-feature+article { border-top: 1px solid #bfa36930; padding-top: 19px; }
.panel--passengers .passengers-feature-icon { width: 47px; flex-shrink: 0; padding-top: 3px; }
.panel--passengers .signal-icon,.panel--passengers .drivers-icon { display: block; width: 38px; height: 38px; fill: none; stroke: #cbb17a; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.panel--passengers .drivers-icon { width: 47px; }
.panel--passengers .passengers-feature h3 { font: 500 clamp(18px,1.45vw,23px)/1.15 var(--font-display); letter-spacing: -.035em; margin: 0 0 7px; }
.panel--passengers .passengers-feature p { font-size: 12px; line-height: 1.6; color: #a7bcc8; margin: 0; }
.panel--passengers .wave { animation: passengers-signal 2.7s ease infinite; }
.panel--passengers .wave--middle { animation-delay: .25s; }
.panel--passengers .wave--outer { animation-delay: .5s; }
.panel--passengers .passengers-footer { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding-top: 13px; border-top: 1px solid #bfa36945; }
.panel--passengers .passengers-footer>p { color: #96adb9; font-size: 11px; margin: 0; }
.panel--passengers .passengers-cta { display: inline-flex; align-items: center; gap: 28px; color: #d4bb83; font-size: 12px; padding: 3px 0; }
.panel--passengers .passengers-cta span { font-size: 21px; line-height: 1; transition: transform .2s; }
.panel--passengers .passengers-cta:hover span { transform: translate(2px,-2px); }
@keyframes passengers-signal { 0%,100% { opacity: .3; } 50% { opacity: 1; } }
@media (max-width:1400px) {
  .panel--passengers .passengers-heading { gap: 26px; padding-bottom: 17px; }
  .panel--passengers .passengers-intro { font-size: 11px; }
  .panel--passengers .passengers-capacity { padding-left: 20px; }
  .panel--passengers .passengers-capacity>div { gap: 8px; }
  .panel--passengers .passengers-capacity>div>span { font-size: 11px; }
  .panel--passengers .passengers-interior { grid-template-columns: 1.9fr 1fr; gap: 25px; }
  .panel--passengers .passengers-support { padding-left: 23px; gap: 18px; }
  .panel--passengers .passengers-feature { gap: 12px; }
  .panel--passengers .passengers-feature p { font-size: 11px; }
}
@media (max-width:1023px) {
  .panel--passengers .passengers-heading { flex-wrap: wrap; }
  .panel--passengers .passengers-intro { order: 3; width: 100%; }
  .panel--passengers .passengers-capacity { margin-left: auto; }
  .panel--passengers .passengers-interior { grid-template-columns: 1fr; gap: 22px; }
  .panel--passengers .crew-bus { height: auto; max-height: 230px; }
  .panel--passengers .passengers-support { grid-template-columns: 1fr 1fr; border-left: 0; padding-left: 0; }
  .panel--passengers .passengers-feature+article { border-top: 0; padding-top: 0; }
}
@media (max-width:600px) {
  .panel--passengers .passengers-capacity { margin: 0; padding: 0; border: 0; }
  .panel--passengers .passengers-footer { flex-direction: column; align-items: flex-start; gap: 14px; }
  .panel--passengers .passengers-support { grid-template-columns: 1fr; }
  .panel--passengers .passengers-deck-note { gap: 18px; }
}
@media (prefers-reduced-motion:reduce) {
  .panel--passengers .wave { animation: none; }
  .panel--passengers .passengers-cta span { transition: none; }
}

/* Approved three-column composition, scoped to the main site. */
.v2 .panel--passengers .ab-columns { display: grid; grid-template-columns: .92fr 1.5fr 1fr; align-items: center; gap: clamp(25px,3vw,55px); }
.v2 .panel--passengers .ab-lead h2 { font-size: clamp(27px,1.8vw,34px); line-height: 1.08; }
.v2 .panel--passengers .passengers-eyebrow { margin-bottom: 8px; }
.v2 .panel--passengers .travel-intro { margin: 13px 0 0; font-size: 11px; line-height: 1.65; color: #a9bfca; }
.v2 .panel--passengers .ab-lead .passengers-cta { margin-top: 22px; border-bottom: 1px solid #bfa36960; padding-bottom: 8px; font-size: 11px; line-height: 1.5; max-width: 230px; }
.v2 .panel--passengers .ab-diagram { min-width: 0; }
.v2 .panel--passengers .ab-diagram-label { display: flex; justify-content: center; font-size: 8px; letter-spacing: .1em; color: #a1b4be; padding-bottom: 9px; border-bottom: 1px solid #bfa36935; }
.v2 .panel--passengers .crew-bus { height: clamp(205px,22vh,250px); margin-top: 4px; shape-rendering: geometricPrecision; }
.v2 .panel--passengers .ab-column-support { border-left: 1px solid #bfa36945; padding-left: 27px; }
.v2 .panel--passengers .ab-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: start; padding-bottom: 17px; margin-bottom: 18px; border-bottom: 1px solid #bfa36935; }
.v2 .panel--passengers .axle-highlight>span,.v2 .panel--passengers .travel-capacity>span { display: block; height: 12px; margin: 0 0 8px; line-height: 12px; font-size: 8px; color: #99aebb; letter-spacing: .09em; white-space: nowrap; }
.v2 .panel--passengers .axle-highlight strong,.v2 .panel--passengers .travel-capacity strong { display: block; margin: 0; font: 500 clamp(34px,2.2vw,44px)/1 var(--font-display); letter-spacing: -.045em; color: #dcc594; }
.v2 .panel--passengers .axle-highlight strong>span { font-size: .66em; }
.v2 .panel--passengers .travel-capacity { padding-left: 22px; border-left: 1px solid #bfa36935; }
.v2 .panel--passengers .travel-capacity>div { display: block; }
.v2 .panel--passengers .axle-highlight small,.v2 .panel--passengers .travel-capacity>div>span { display: block; margin-top: 8px; font-size: 10px; line-height: 14px; color: #a9bfca; }
.v2 .panel--passengers .ab-services { display: grid; gap: 16px; }
.v2 .panel--passengers .travel-feature { display: flex; align-items: center; gap: 13px; }
.v2 .panel--passengers .travel-feature h3 { margin: 0 0 6px; font: 500 clamp(19px,1.1vw,22px)/1.15 var(--font-display); letter-spacing: -.025em; }
.v2 .panel--passengers .travel-feature:first-child h3 { font-size: clamp(20px,1.2vw,24px); color: #e3cfa0; }
.v2 .panel--passengers .travel-feature p { margin: 0; font-size: 10px; line-height: 1.5; color: #afc2cd; }
.v2 .panel--passengers .travel-feature .signal-icon { width: 34px; height: 34px; flex-shrink: 0; }
.v2 .panel--passengers .travel-feature .drivers-icon { width: 40px; height: 34px; flex-shrink: 0; }
.v2 .panel--passengers .bus-option text { font-family: var(--font-body); }
.v2 .panel--passengers .open-title { font-size: 10px; font-weight: 600; fill: #c6ae77; letter-spacing: .16em; }
.v2 .panel--passengers .open-meta { font-size: 8px; fill: #9bb1bd; letter-spacing: .08em; }
.v2 .panel--passengers .open-room { font-size: 11px; font-weight: 500; fill: #d1dce2; letter-spacing: .05em; }
.v2 .panel--passengers .open-leader { fill: none; stroke: #baa571; stroke-width: .6; }
.v2 .panel--passengers .deck-upper { animation: passenger-deck-upper .8s ease both; }
.v2 .panel--passengers .deck-lower { animation: passenger-deck-lower .8s ease both; }
@keyframes passenger-deck-upper { from { transform: translateY(13px); opacity: .5; } to { transform: none; opacity: 1; } }
@keyframes passenger-deck-lower { from { transform: translateY(-13px); opacity: .5; } to { transform: none; opacity: 1; } }
@media(max-width:1400px) {
  .v2 .panel--passengers .ab-columns { gap: 22px; grid-template-columns: .94fr 1.4fr 1.05fr; }
  .v2 .panel--passengers .ab-column-support { padding-left: 20px; }
  .v2 .panel--passengers .ab-metrics { gap: 15px; }
  .v2 .panel--passengers .travel-capacity { padding-left: 15px; }
  .v2 .panel--passengers .axle-highlight strong,.v2 .panel--passengers .travel-capacity strong { font-size: 34px; }
  .v2 .panel--passengers .travel-feature:first-child h3 { font-size: 20px; }
  .v2 .panel--passengers .travel-feature:last-child h3 { font-size: 19px; }
}
@media(max-width:1023px) {
  .v2 .panel--passengers .ab-columns { grid-template-columns: 1fr; gap: 24px; }
  .v2 .panel--passengers .ab-column-support { border-left: 0; padding-left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
  .v2 .panel--passengers .ab-metrics { margin: 0; padding: 0; border-bottom: 0; align-self: center; }
}
@media(max-width:600px) {
  .v2 .panel--passengers .ab-column-support { grid-template-columns: 1fr; gap: 22px; }
}
@media(prefers-reduced-motion:reduce) {
  .v2 .panel--passengers .deck-upper,.v2 .panel--passengers .deck-lower { animation: none; }
}
