:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce).cap-carousel { --carousel-interval:3s; --carousel-average-ratio:1.25; background:linear-gradient(180deg,#f5fafb,#fff); padding:24px 0 20px; scroll-margin-top:-90px; }
#departures.cap-carousel { --carousel-average-ratio:2; }
#departures.cap-carousel .cap-carousel-screen { padding:12px clamp(10px,1.5vw,22px); }
#departures.cap-carousel .cap-carousel-slide--portrait .cap-carousel-window-content { height:380px; aspect-ratio:auto; }
#departures.cap-carousel .cap-carousel-slide--portrait .cap-carousel-window-content > img { width:auto; height:100%; max-width:100%; object-fit:contain; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-shell { max-width:1096px; padding:0 28px; margin:auto; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-eyebrow { text-align:center; color:#087e70; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.18em; margin-bottom:10px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .carousel-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-tabs { display:none; gap:7px; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#c9d8de transparent; padding:4px 3px 12px; overscroll-behavior-x:contain; scroll-padding-inline:10px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce).is-ready .cap-carousel-tabs { display:flex; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-tabs button { flex:0 0 auto; padding:9px 14px; border:1px solid #e3eaf0; border-radius:22px; background:#fff; color:#526077; font:inherit; font-size:12px; cursor:pointer; min-height:42px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-tabs button[aria-pressed="true"] { background:#142038; color:white; border-color:#142038; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-stage { display:grid; margin-top:12px; touch-action:pan-y pinch-zoom; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-slide { grid-area:1/1; align-self:start; min-width:0; opacity:0; visibility:hidden; pointer-events:none; transition:opacity calc(.55s * var(--animation-pace)) ease,visibility calc(.55s * var(--animation-pace)); }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-copy { text-align:center; max-width:780px; margin:0 auto 16px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-copy h3 { font-size:clamp(27px,3.2vw,41px); line-height:1.1; letter-spacing:-.04em; font-weight:500; min-height:1.1em; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-copy p { color:#65728a; font-size:14px; line-height:1.55; margin-top:12px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-screen { padding:22px clamp(22px,5vw,72px); overflow:hidden; user-select:none; transform:translateX(var(--carousel-shift,12px)) scale(.988); transition:transform calc(.7s * var(--animation-pace)) cubic-bezier(.2,.65,.3,1); background:linear-gradient(135deg,#dff6f3,#eef0ff 58%,#fff1e8); border-radius:16px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .is-active .cap-carousel-screen { transform:none; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-window { overflow:hidden; border-radius:14px; background:#fff; box-shadow:0 8px 8px rgba(17,26,46,.12); }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-window-bar { display:flex; align-items:center; gap:6px; height:36px; padding:0 14px; background:#15213a; color:#b9c5d8; font-size:10px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-window-bar span { width:7px; height:7px; border-radius:50%; background:#ff786b; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-window-bar span:nth-child(2) { background:#ffc857; } :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-window-bar span:nth-child(3) { background:#16bca9; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-window-bar b { margin-left:8px; font-weight:500; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-window-content { position:relative; aspect-ratio:var(--carousel-average-ratio); overflow:hidden; display:grid; place-items:center; background:#f4f7fa; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-window-content > img { display:block; width:100%; height:100%; object-fit:contain; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .visual { min-height:0; height:350px; padding:18px 30px 12px; background:#f7f9fc; border-radius:0; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-window-content .mock-chrome { display:none; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .visual::before { width:270px; height:270px; right:-70px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock { width:min(100%,700px); margin:auto; transform:none; box-shadow:0 18px 40px #17234420; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-body { padding:18px 28px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-chrome { padding:11px 18px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-title { font-size:21px; margin-bottom:12px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-label { margin-bottom:10px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-chips { margin:10px 0; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-row { padding:10px 14px; font-size:12px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-cell { padding:10px 14px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-note { display:none; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .chart { height:80px; margin-top:12px; margin-bottom:8px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .upload { padding:14px 10px; font-size:11px; line-height:1.5; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .visual-caption { margin-top:12px; font-size:8px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-detail { display:block; width:fit-content; margin:14px auto 0; padding:6px 12px; color:#4156d3; font-size:12px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-detail:hover { text-decoration:underline; text-underline-offset:4px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:8px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-controls[hidden] { display:none; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-position { font-size:14px; color:#142038; font-variant-numeric:tabular-nums; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-total { color:#8995a9; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-hint { color:#65728a; font-size:11px; margin-left:17px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-buttons { display:flex; gap:8px; align-items:center; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-buttons button { min-width:44px; height:44px; border-radius:50%; border:1px solid #dce5ec; background:#fff; color:#26374c; font-size:20px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-buttons button:hover { background:#edf5f6; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-buttons button[data-carousel-play] { border-radius:25px; padding:0 15px; display:flex; align-items:center; gap:8px; font-size:12px; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-progress { height:2px; border-radius:2px; background:#e6edf2; margin-top:10px; overflow:hidden; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-progress span { display:block; height:100%; background:#16a896; transform:scaleX(0); transform-origin:left; }
:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-fallback { font-size:13px; color:#65728a; margin-top:15px; text-align:center; }
#captain-features-alternative { border-top:1px solid #dfe7ef; }
#captain-features-alternative .cap-carousel-picker { display:none; align-items:center; justify-content:space-between; gap:20px; max-width:700px; margin:0 auto; padding:6px 0 12px; }
#captain-features-alternative.is-ready .cap-carousel-picker { display:flex; }
#captain-features-alternative .cap-carousel-picker label { display:flex; align-items:center; gap:14px; color:#65728a; font-size:12px; }
#captain-features-alternative .cap-carousel-picker select { min-width:190px; min-height:44px; max-width:100%; border:1px solid #dce5ec; border-radius:12px; padding:10px 32px 10px 14px; background:#fff; color:#142038; font:inherit; font-size:14px; cursor:pointer; }
#captain-features-alternative .cap-carousel-labelled { display:grid; grid-template-columns:1fr auto 1fr; max-width:700px; margin:0 auto; gap:12px; }
#captain-features-alternative .cap-carousel-labelled[hidden] { display:none; }
#captain-features-alternative .cap-carousel-labelled button { display:flex; gap:14px; align-items:center; min-height:52px; min-width:0; padding:10px 16px; border:1px solid #dce5ec; border-radius:12px; background:#fff; color:#142038; font:inherit; text-align:left; }
#captain-features-alternative .cap-carousel-labelled button:hover { background:#edf5f6; }
#captain-features-alternative .cap-carousel-labelled button small { display:block; font-size:10px; color:#65728a; margin-bottom:3px; }
#captain-features-alternative .cap-carousel-labelled button strong { display:block; font-size:13px; font-weight:500; }
#captain-features-alternative .cap-carousel-labelled [data-carousel-next] { justify-content:flex-end; text-align:right; }
#captain-features-alternative .cap-carousel-labelled [data-carousel-play] { border-radius:28px; gap:7px; font-size:12px; }
@media(max-width:700px) {
  #captain-features-alternative .cap-carousel-picker { gap:12px; padding:0 0 8px; }
  #captain-features-alternative .cap-carousel-picker label { align-items:flex-start; flex-direction:column; gap:6px; font-size:10px; }
  #captain-features-alternative .cap-carousel-picker select { min-width:200px; font-size:14px; }
  #captain-features-alternative .cap-carousel-labelled { gap:7px; }
  #captain-features-alternative .cap-carousel-labelled button { padding:8px 9px; gap:7px; }
  #captain-features-alternative .cap-carousel-labelled button strong { font-size:11px; }
  #captain-features-alternative [data-carousel-play] [data-play-label] { display:none; }
  #captain-features-alternative .cap-carousel-labelled [data-carousel-play] { width:44px; height:44px; min-height:44px; justify-content:center; align-self:center; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce).cap-carousel { padding:24px 0 16px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-shell { padding:0 16px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-eyebrow { margin-bottom:8px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-tabs { display:none !important; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-stage { margin-top:8px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-copy { margin-bottom:12px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-copy h3 { font-size:26px; min-height:58px; display:flex; justify-content:center; align-items:center; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-copy p { font-size:12px; min-height:38px; margin-top:8px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-screen { padding:16px; border-radius:14px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-window { border-radius:12px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-window-bar { height:32px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .visual { height:301px; padding:12px; border-radius:0; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-body { padding:12px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-title { font-size:17px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-row { font-size:11px; padding:9px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-cell { padding:9px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-cell strong { font-size:12px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-chrome { padding:10px; font-size:9px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .chart { height:58px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .upload { padding:9px 10px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-chip { padding:6px 7px; font-size:9px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-chips { gap:5px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .mock-note { font-size:10px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-hint { display:none; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-detail { margin-top:9px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-controls { padding-top:6px; }
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-progress { margin-top:8px; }
  #departures.cap-carousel .cap-carousel-slide--portrait .cap-carousel-window-content { height:280px; }
}
@media(prefers-reduced-motion:reduce) {
  :is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-slide,:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-screen,:is(#requirements,#captain-features-alternative,#departures,#itinerary-commerce) .cap-carousel-stage { transition:none; transform:none; }
}
