/* Compact transfer layout, shared by English and French. */
.primary-cta{padding:15px 19px;min-width:225px}
.eyebrow{margin-bottom:12px}
.trust-grid div{min-height:72px;padding:14px 18px}
.intro{padding-block:42px;gap:48px;align-items:start}
.intro h2,.routes-heading h2,.booking-copy h2,.why-heading h2,.faq h2{font-size:clamp(28px,3vw,40px);line-height:1.08}
.intro-copy{padding-top:0}
.intro-copy>p{font-size:16px;margin-bottom:18px;line-height:1.55}
.steps article{padding-top:14px}
.steps h3{margin:7px 0 5px;font-size:15px}
.routes{padding:40px 0}
.routes-heading{margin-bottom:24px;gap:28px}
.route-grid.choices{gap:20px;max-width:860px;margin-inline:auto}
.route-grid.choices .route-card figure{height:auto;align-self:start;width:100%}
.route-grid.choices .route-card figure img{height:auto;object-fit:contain;transform:none}
.route-grid.choices .route-card>div{padding:18px 20px}
.route-card h3{font-size:23px;line-height:1.2}
.route-card p{margin-bottom:12px;line-height:1.5}
.route-card .route-label{margin-bottom:10px}
.route-grid.choices .route-card ul{gap:5px;margin-bottom:16px}
.route-card a{padding-top:14px;align-items:center}
.route-card a b{margin-top:0}
.route-card:hover{transform:translateY(-3px)}
.why{padding:38px 0}
.why-layout{gap:44px;grid-template-columns:.7fr 1.3fr}
.why-grid article{min-height:0;padding:18px 20px}
.why-grid span{margin-bottom:10px}
.why-grid h3{font-size:16px}
.booking{padding-block:42px;gap:44px;grid-template-columns:.65fr 1.35fr}
.booking-copy{position:static;padding-top:10px}
.booking-card{padding:24px;border-top-width:4px}
.booking-head{padding-bottom:12px;margin-bottom:14px}
.transfer-form{gap:12px 16px}
.field input,.field select{height:44px;font-size:16px;padding-inline:12px}
.field textarea{min-height:70px;font-size:16px;padding:10px 12px}
.submit-transfer{min-height:48px}
.faq{padding:38px 0}
.faq-layout{gap:44px}
.faq-list details{padding:15px 0}
#booking{scroll-margin-top:110px}
@media(max-width:950px){
 .intro,.why-layout,.booking,.faq-layout{grid-template-columns:1fr;gap:24px}
 .route-grid.choices .route-card:last-child{grid-column:auto}
 .booking-copy{padding:0}
 .booking-copy h2 br{display:none}
 .booking-copy .promise{display:inline-flex;vertical-align:top;margin:8px 24px 0 0}
}
@media(max-width:650px){
 .trust-grid div{min-height:68px;padding:12px 10px;gap:8px}
 .trust-grid b{width:28px;height:28px}
 .trust-grid strong{font-size:12px}
 .intro,.booking{padding-block:30px}
 .routes,.why,.faq{padding:30px 0}
 .intro h2,.routes-heading h2,.booking-copy h2,.why-heading h2,.faq h2{font-size:30px}
 .steps article{padding:12px 0}
 .steps h3{display:inline;margin-left:8px}
 .steps p{margin-top:6px;font-size:14px}
 .routes-heading{gap:12px;margin-bottom:20px}
 .route-grid.choices{display:grid;grid-template-columns:1fr;overflow:visible;margin-inline:auto;max-width:400px;padding:0;gap:18px}
 .route-grid.choices .route-card{min-width:0}
 .route-grid.choices .route-card figure{height:auto}
 .route-grid.choices .route-card>div{padding:18px}
 .route-card h3{font-size:22px}
 .route-grid.choices .route-card ul{gap:5px;margin-bottom:16px}
 .why-grid article{padding:15px 18px}
 .why-grid span{margin-bottom:7px}
 .booking-card{padding:20px 16px}
 .booking-copy .promise{display:flex;margin-top:12px}
 .transfer-form{grid-template-columns:1fr 1fr;gap:12px}
 .field-wide,.submit-transfer,.form-note{grid-column:1/-1}
 .field span{min-height:24px;line-height:1.3;letter-spacing:.02em}
 .field span em{float:none;display:block;font-size:9px}
 .field-wide span{min-height:0}
 .field input,.field select,.field textarea{min-width:0;width:100%}
 .field{min-width:0}
}
@media(max-width:360px){.transfer-form{grid-template-columns:1fr}.field span{min-height:0}}
