.platform { --accent: #1409be; }
.platform .section-heading { align-items: center; margin: 0 0 clamp(28px,3.5vw,56px); }
.platform .section-heading p { max-width: 39ch; }
.platform .section-heading h2 em { color: #1409be; }
.journey { color: #142039; border-block: 1px solid #bfc9d6; }
.journey-stops { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); }
.journey-stops button {
  border: 0; border-bottom: 1px solid #c5cdd7; border-radius: 0; padding: 15px 2px;
  color: #455266; background: transparent; font-size: 15px; font-weight: 600;
}
.journey-stops button { transition: background-color .2s ease, color .2s ease; }
.journey-stops button:hover { background: #ebeff8; }
.journey-stops button[aria-selected="true"] { color: #1409be; background: #f1f3fc; box-shadow: inset 0 -3px #1409be; }
.journey-stops button:focus-visible { outline-offset: -4px; }
.journey-panel { display: grid; grid-template-columns: 1fr 1.16fr; padding: 25px 0; gap: clamp(26px,5vw,80px); align-items: center; touch-action: pan-y; }
.journey-story { padding: 20px 0; }
.journey-title { max-width: 12ch; margin: 0 0 15px; font-size: clamp(36px,4.35vw,72px); line-height: 1; letter-spacing: -.06em; font-weight: 520; }
.journey-copy { max-width: 36ch; font-size: clamp(16px,1.15vw,19px); color: #465466; }
.journey-pager { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; margin-top: 25px; }
.journey-pager button { min-height: 44px; font-size: 14px; font-weight: 600; }
.journey-next { background: #142039; color: white; border: 0; border-radius: 4px; padding: 9px 16px; }
.journey-next:hover { background: #253b66; }
.journey-desk {
  display: grid; place-items: center; min-height: 355px; padding: clamp(23px,3vw,48px);
  background-color: #1c3053;
  background-image: linear-gradient(#9cbbea16 1px, transparent 1px), linear-gradient(90deg,#9cbbea16 1px,transparent 1px);
  background-size: 28px 28px;
}
.journey-ticket { width: min(100%,420px); padding: clamp(18px,2.1vw,34px); background: #fff; box-shadow: 0 8px 24px #07152b28; }
.ticket-foot strong { font-weight: 600; color: #293955; }
.ticket-head,.ticket-foot,.ticket-row,.ticket-limits { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ticket-head img { width: 68px; }
.ticket-head span,.ticket-foot,.ticket-limits { color: #525965; font-size: 11px; }
.ticket-head { padding-bottom: 17px; border-bottom: 1px solid #c9d3e3; }
.ticket-body { min-height: 151px; padding: 17px 0 10px; }
.ticket-body label,.ticket-label { display: block; margin: 0; font-size: 13px; font-weight: 650; color: #414c5a; }
.ticket-number { display: block; margin: 3px 0 8px; font: italic 450 clamp(38px,3.7vw,58px)/1.1 News, Georgia, serif; letter-spacing: -.065em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.ticket-currency { font: 600 .32em/1 DM, sans-serif; color: #455368; letter-spacing: .065em; padding-right: .25em; }
.ticket-body input[type="range"] { width: 100%; accent-color: var(--accent); height: 30px; margin: 0; cursor: ew-resize; }
.ticket-foot { margin-top: 6px; padding-top: 12px; border-top: 1px solid #c9d3e3; }
.ticket-row { min-height: 31px; font-size: 13px; }
.ticket-row label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.ticket-row input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--accent); }
.ticket-note { display: block; color: #465367; font-size: 12px; margin-top: 7px; }
.ticket-options { display: flex; gap: 5px; margin: 5px 0; flex-wrap: wrap; }
.ticket-options button,.ticket-action { padding: 6px 12px; min-height: 35px; border: 1px solid #939a9d; border-radius: 4px; background: transparent; font-size: 13px; }
.ticket-options [aria-pressed="true"],.ticket-action { background: var(--ink); border-color: var(--ink); color: #fff; }
.ticket-action:disabled { background: #e8ebe5; color: #465449; border-color: transparent; cursor: default; }
.repay-meter { display: flex; gap: 3px; margin: 9px 0; }
.repay-meter i { height: 6px; flex: 1; border-radius: 3px; background: #e0e3df; }
.repay-meter .paid { background: var(--accent); }
.journey-sr { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }


@media (max-width: 700px) {
  .platform .section-heading p { width: auto; }
  .journey-stops { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .journey-stops button { min-height: 44px; padding-block: 10px; }
  .journey-panel { grid-template-columns: 1fr; gap: 20px; padding: 22px 0; }
  .journey-story { padding: 0; }
  .journey-title { max-width: none; font-size: clamp(34px,7.8vw,46px); margin-block: 0 12px; }
  .journey-pager { margin-top: 16px; }
  .journey-desk { min-height: 280px; padding: 18px; }
}
.journey-stops { position: relative; }
.journey-stops.with-indicator button[aria-selected="true"] { box-shadow: none; }
.journey-indicator { position:absolute; left:0; top:0; height:3px; background:#1409be; pointer-events:none; }
.journey-panel-shell { position:relative; }
.journey-panel-shell.transitioning { overflow:clip; }
.journey-outgoing { position:absolute; top:0; inset-inline:0; z-index:1; pointer-events:none; }
.journey-outgoing .journey-desk { background:transparent; }
