/* Airport hub: same homepage tokens, Services/Fleet hub hero, shared 1440px Services shell. */
.routes-page{font-family:var(--rd-font-body);color:var(--rd-text);background:var(--rd-primary-bg)}
.routes-page main{overflow:hidden}.routes-page .services-section{scroll-margin-top:80px}
.routes-page .services-hero__word{font-size:clamp(140px,21vw,355px)}
.routes-page .site-nav__links a[aria-current="page"]{color:var(--rd-accent)}
.routes-page :focus-visible{outline:3px solid var(--rd-accent);outline-offset:4px}
/* Deliberate specificity: shared Services link rules must not obscure button text. */
.routes-page a.services-button--dark{color:#fff}.routes-page a.services-button--accent{color:var(--rd-text)}.routes-page a.services-button--ghost{color:#fff}
.routes-page .services-section--dark .services-section__head p{color:rgba(255,255,255,.74)}
.airport-picker{display:grid;grid-template-columns:minmax(0,1.4fr) 130px minmax(220px,1fr) auto;align-items:center;gap:16px;padding:23px 27px;margin-bottom:29px;background:#fff;border:1px solid var(--rd-border);border-radius:24px;box-shadow:0 18px 55px rgba(18,48,55,.055)}
.airport-picker strong{display:block;color:var(--rd-olive);font-size:11px;letter-spacing:.12em;font-weight:800}
.airport-picker p{margin:7px 0 0;color:var(--rd-muted);font-size:12px;line-height:1.6}
.airport-picker label{color:var(--rd-text);font-size:12px;font-weight:800;text-align:right}
.airport-picker select{width:100%;min-width:0;min-height:52px;border-radius:13px;border:1px solid var(--rd-border);background:var(--rd-primary-bg);padding:0 12px;font:inherit;font-size:13px}
.airport-picker a{white-space:nowrap;font-size:11px}
.airport-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;align-items:stretch}
.airport-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--rd-border);border-radius:25px;background:#fff;box-shadow:0 16px 46px rgba(18,48,55,.06);transition:box-shadow .27s,border-color .27s}
.airport-card:hover{border-color:#a3ac98;box-shadow:0 24px 55px rgba(18,48,55,.13)}
.airport-card__image{display:block;position:relative;height:203px;overflow:hidden;background:var(--rd-dark)}
.airport-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.airport-card:hover .airport-card__image img{transform:scale(1.055)}
.airport-card__image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,32,37,.5),transparent 67%);pointer-events:none}
.airport-card__image span{position:absolute;z-index:1;left:19px;bottom:17px;color:#fff;font-family:var(--rd-font-accent);font-size:30px;letter-spacing:.03em}
.airport-card__body{display:flex;flex:1;flex-direction:column;padding:23px}
.airport-card__body small{color:var(--rd-olive);font-size:10px;font-weight:800;letter-spacing:.13em}
.airport-card h3{font-size:clamp(20px,1.6vw,25px);line-height:1.08;letter-spacing:-.045em;margin:12px 0 12px}
.routes-page .airport-card h3 a,.routes-page .airport-fleet-grid h3 a{color:inherit;text-decoration:none;transition:color .2s}
.routes-page .airport-card h3 a:hover,.routes-page .airport-fleet-grid h3 a:hover{color:var(--rd-dark);text-decoration:underline;text-underline-offset:4px}
.airport-card p{color:var(--rd-muted);font-size:12px;line-height:1.72;margin:0 0 12px}
.airport-card .airport-card__area{color:var(--rd-text);font-weight:750}
.airport-card .airport-card__tip{margin:auto 0 15px;padding-top:14px;border-top:1px solid var(--rd-border)}
.airport-card .airport-card__fit{margin:0;font-size:11px}.airport-card__fit strong{color:var(--rd-text)}
.airport-fine-print{color:var(--rd-muted);font-size:12px;line-height:1.8;padding:20px 0 0;max-width:1050px}
.airport-panel{overflow:hidden;border-radius:25px;border:1px solid var(--rd-border);background:#fff;box-shadow:0 17px 50px rgba(18,48,55,.04)}
.airport-panel header{padding:25px 29px;border-bottom:1px solid var(--rd-border)}
.airport-panel header span{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--rd-olive)}
.airport-panel header h3{font-size:clamp(22px,2.5vw,31px);margin:8px 0 0;letter-spacing:-.05em;line-height:1.14}
.airport-table-scroller{overflow-x:auto}.airport-table-scroller table{border-collapse:collapse;min-width:700px;width:100%;text-align:left}
.airport-table-scroller th,.airport-table-scroller td{padding:19px 28px;border-bottom:1px solid var(--rd-border);font-size:12px}
.airport-table-scroller thead th{background:var(--rd-secondary-bg);color:var(--rd-olive);font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.airport-table-scroller tbody th{font-weight:800}.airport-table-scroller tbody td:nth-child(2){font-weight:800;color:var(--rd-dark);white-space:nowrap}
.airport-panel .airport-fine-print{padding:20px 29px 28px;margin:0}
.airport-quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:19px}
.airport-quote-grid article,.airport-factor-grid article,.airport-guide-grid article,.airport-route-grid article{padding:26px;background:#fff;border:1px solid var(--rd-border);border-radius:22px}
.airport-quote-grid strong{font-size:18px;letter-spacing:-.03em;color:var(--rd-text)}
.airport-quote-grid p,.airport-factor-grid p,.airport-guide-grid p,.airport-route-grid p{font-size:12px;line-height:1.75;color:var(--rd-muted)}
.airport-quote-grid a,.airport-route-grid a{font-size:11px;letter-spacing:.06em;font-weight:800;color:var(--rd-olive);text-decoration:underline;text-underline-offset:3px}
.airport-factor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:19px}
.airport-factor-grid h3,.airport-guide-grid h3{margin:0 0 12px;font-size:20px;line-height:1.12;letter-spacing:-.04em}.airport-factor-grid p,.airport-guide-grid p{margin:0}
.airport-fleet-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.airport-fleet-grid article{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rd-border);border-radius:23px;overflow:hidden}
.airport-fleet-img{height:195px;display:block;overflow:hidden;background:#dfe7df}
.airport-fleet-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s}.airport-fleet-grid article:hover img{transform:scale(1.055)}
.airport-fleet-grid article>div{padding:21px}.airport-fleet-grid small{font-size:10px;letter-spacing:.1em;font-weight:800;color:var(--rd-olive)}
.airport-fleet-grid h3{font-size:20px;line-height:1.1;letter-spacing:-.035em;margin:11px 0}
.airport-fleet-grid p{font-size:12px;line-height:1.7;color:var(--rd-muted);margin:0}
.airport-dark-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.airport-dark-grid article{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.055);border-radius:24px;padding:27px}
.airport-dark-grid h3{margin:0 0 12px;color:#fff;font-size:23px;line-height:1.1;letter-spacing:-.045em}
.airport-dark-grid p{margin:0;color:rgba(255,255,255,.75);font-size:12px;line-height:1.8}
.airport-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.airport-guide-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.airport-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.airport-route-grid article{display:flex;flex-direction:column;min-height:225px}
.airport-route-grid a{margin-top:auto}.airport-route-endpoints{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:18px;line-height:1.2;letter-spacing:-.04em}
.airport-route-endpoints span{color:var(--rd-olive);font-size:22px}
.airport-source-links{margin:26px 0 0;color:var(--rd-muted);font-size:12px;line-height:1.8}.airport-source-links a{color:var(--rd-dark);text-decoration:underline;text-underline-offset:3px}
.airport-permission-alert{background:#f8edd6;border-left:4px solid #976c11;color:#55400f;padding:15px 18px;border-radius:8px;font-size:12px;line-height:1.7}
.routes-page .services-quote-form .services-submit{color:var(--rd-text)}
@media(max-width:1250px){.airport-picker{grid-template-columns:1fr auto}.airport-picker>div{grid-column:1/-1}.airport-picker label{text-align:left}.airport-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.airport-fleet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.airport-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.airport-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.airport-factor-grid,.airport-dark-grid,.airport-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.routes-page .services-hero__word{font-size:clamp(94px,20vw,170px);bottom:0}.airport-picker{grid-template-columns:1fr;padding:20px}.airport-picker>div{grid-column:auto}.airport-picker label{text-align:left}.airport-picker a{width:100%}.airport-card-grid,.airport-fleet-grid,.airport-quote-grid,.airport-factor-grid,.airport-dark-grid,.airport-guide-grid,.airport-route-grid{grid-template-columns:1fr}.airport-card__image{height:225px}.airport-fleet-img{height:225px}.airport-table-scroller th,.airport-table-scroller td{padding:16px}.airport-panel header{padding:21px}.airport-panel .airport-fine-print{padding:16px 21px 25px}}
@media(prefers-reduced-motion:reduce){.airport-card__image img,.airport-fleet-img img{transition:none!important;transform:none!important}}

/* Routes-specific responsive form and descriptive route-directory images. */
.routes-page .airport-card__image span{font-size:clamp(14px,1.55vw,21px);letter-spacing:.015em;line-height:1.1;max-width:90%;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.routes-page .airport-card__body .airport-card__area{font-size:12px}
.routes-related-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;align-items:center}
.routes-related-links strong{font-size:12px;color:var(--rd-olive);margin-right:8px}
.routes-related-links a{font-weight:700;font-size:12px;color:var(--rd-dark);border-radius:20px;border:1px solid var(--rd-border);background:#fff;text-decoration:none;padding:9px 13px}
.routes-related-links a:hover{text-decoration:underline}
.routes-schedule{border:1px solid var(--rd-border);background:var(--rd-secondary-bg);border-radius:13px;padding:16px}
.routes-schedule__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.routes-schedule__grid>label:last-child{grid-column:1/-1}
.routes-page .routes-schedule[hidden]{display:none}
@media(max-width:680px){.routes-schedule__grid{grid-template-columns:1fr}.routes-schedule__grid>label:last-child{grid-column:auto}}
/* Keep the existing header CTA label on one line at wide desktop sizes. */
@media(min-width:1200px){.routes-page .site-nav__actions .quote-button{white-space:nowrap;min-width:145px}}
