/* Shared visual system for every route, directory, guide and booking step. */
:root{--green:#174d42;--ink:#17332d;--muted:#536a63;--line:#dce5df;--cream:#f4f6ef;--sand:#f8f7f2}
body{font-family:Manrope,Arial,sans-serif;color:var(--ink);font-size:15px;line-height:1.6;background:#fff}button,input,select{font-family:inherit}a,button,input{touch-action:manipulation}p{color:var(--muted)}h1,h2,h3{font-weight:650;letter-spacing:-.035em;line-height:1.16}h2{font-size:clamp(28px,3vw,39px)}h3{letter-spacing:-.025em}header{max-width:1280px;margin:auto;min-height:94px;padding:20px 36px;gap:22px;position:relative;z-index:30;background:white}header nav{gap:22px}header nav a{font-size:13px;color:var(--ink)}.brand{font-size:31px;font-weight:750;letter-spacing:-1.4px}.brand small{letter-spacing:3px}.header-contact{background:var(--green);color:white;border:1px solid var(--green);padding:11px 17px}.menu-toggle{display:none}.content{width:100%;max-width:1280px;padding:55px 36px;margin:0 auto;box-sizing:border-box}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.9px}.primary{min-height:52px;padding:15px 20px;border-radius:11px;font-size:14px;font-weight:700;gap:16px;background:var(--green);border:1px solid var(--green);transition:background .15s}.primary:hover{background:#0d3931}.primary:disabled{opacity:.5;cursor:not-allowed}.text-link{font-size:14px;line-height:1.5}.lead{font-size:17px;line-height:1.7}.arrival-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.92fr);gap:64px;align-items:start;padding-top:28px;padding-bottom:36px}.arrival-copy{padding-top:13px}.arrival-copy h1{font-size:clamp(36px,3.9vw,55px);margin:19px 0 22px;line-height:1.11;letter-spacing:-2.3px}.arrival-copy h1 em{font-style:normal;color:#487265}.arrival-copy>.lead{max-width:520px;margin:0}.arrival-trust{display:flex;flex-wrap:wrap;gap:8px 20px;margin:24px 0}.arrival-trust span{font-size:12px;color:#34564a;font-weight:600}.arrival-trust span:before{content:'✓';margin-right:7px}.arrival-visual{margin:28px 0 0;border-radius:18px;overflow:hidden;position:relative}.arrival-visual img{display:block;width:100%;height:263px;object-fit:cover;object-position:55% 50%}.arrival-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:24px 13px 10px;background:linear-gradient(transparent,#102e27c9);color:#fff;font-size:10px;line-height:1.4}.search-card{background:#fff;padding:26px;border:1px solid #d7e1da;box-shadow:0 15px 45px #17332d0c;border-radius:18px;box-sizing:border-box}.arrival-hero>.search-card{width:100%;position:static;margin:0;max-width:none}.search-heading{position:relative;margin-bottom:22px}.search-heading .eyebrow{color:var(--green);font-size:9px;letter-spacing:1.5px}.step-caption{float:right;font-size:10px;color:var(--muted);margin-top:1px}.search-heading h2{font-size:26px;margin:12px 0 6px;letter-spacing:-.8px}.search-heading p{font-size:12px;margin:0}.direction{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;padding:0;margin:0 0 13px}.journey-choice{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:11px 8px;border:1px solid #cbd9d0;border-radius:10px;background:#fff;color:var(--ink);font-size:13px;font-weight:650}.journey-choice span{visibility:hidden;width:16px}.journey-choice[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.journey-choice[aria-pressed=true] span{visibility:visible}.travel-direction{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 20px}.travel-direction button{border:0;border-bottom:2px solid transparent;padding:6px 0;background:transparent;font-size:12px;color:#5a6f67}.travel-direction button[aria-pressed=true]{color:var(--green);border-color:var(--green);font-weight:750}.trip-form .location-grid{display:flex;flex-direction:column;gap:14px}.location-grid>.airport-field,.location-grid>.hotel-field{width:100%;flex:auto;order:initial}.fixed-airport{display:flex;gap:12px;align-items:center;min-height:56px;padding:10px 13px;background:#f5f7f3;border:1px solid #e4eae3;border-radius:10px;margin-top:5px;box-sizing:border-box}.fixed-airport>span{width:28px;height:28px;border-radius:7px;background:white;text-align:center;line-height:28px;color:var(--green)}.fixed-airport strong{font-size:13px;line-height:1.2}.fixed-airport small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}.trip-form label,.location-label,.hotel-label{font-size:12px;font-weight:650;color:var(--ink)}.trip-form .hotel-search,.trip-form .form-grid input{height:50px;min-height:50px;padding:12px;border:1px solid #bdcfc3;border-radius:10px;font-size:14px;margin-top:5px;width:100%;box-sizing:border-box;background:#fff;color:var(--ink)}.trip-form .route-note{font-size:11px;margin:10px 0 17px;color:var(--muted);line-height:1.5}.trip-form .form-grid,.trip-form .form-grid:has(.return-field:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}.trip-form .form-grid .primary,.trip-form .return-field{grid-column:1/-1}.trip-form .form-grid .primary{width:100%;margin-top:2px;justify-content:space-between}.search-reassurance{font-size:10px;text-align:center;margin:13px 0 0;line-height:1.5}.assurance-strip{display:grid;grid-template-columns:repeat(4,1fr);padding-top:20px;padding-bottom:24px;gap:22px;border-bottom:1px solid var(--line)}.assurance-strip span{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600}.assurance-strip b{display:inline-flex;width:28px;height:28px;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:50%;font-size:10px;color:#60776b}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.section-heading h2{max-width:620px;margin:10px 0}.section-heading .text-link{flex-shrink:0}.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.destination-card{display:flex;flex-direction:column;min-width:0;padding:25px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:background .15s,border-color .15s}.destination-card:hover{background:var(--sand);border-color:#a4b9ac;text-decoration:none}.destination-zone{font-size:10px;font-weight:650;color:#527360;letter-spacing:.4px}.destination-card h3{font-size:20px;line-height:1.35;margin:17px 0 12px;min-height:54px}.destination-card p{font-size:13px;line-height:1.7;margin:0 0 23px}.destination-link{display:flex;justify-content:space-between;gap:20px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:12px;font-weight:750}.travel-options{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:var(--sand);border-radius:22px;margin-top:16px;margin-bottom:20px;padding:48px}.travel-options h2{max-width:480px}.travel-options p{font-size:15px;line-height:1.8}.travel-options .text-link{display:block}.vehicle-showcase{background:#fff;border:1px solid #e4e8df;border-radius:18px;padding:24px}.vehicle-showcase img{width:100%;height:190px;object-fit:contain}.vehicle-caption{font-size:10px;color:var(--muted);display:block;text-align:center}.vehicle-showcase>div{border-top:1px solid var(--line);margin-top:20px;padding-top:19px}.vehicle-showcase b,.vehicle-showcase>div>span{display:block}.vehicle-showcase b{font-size:16px}.vehicle-showcase>div>span{font-size:12px;color:var(--muted);margin-top:5px}.preparation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.preparation-grid a{border-top:1px solid var(--line);padding:25px 0;display:flex;flex-direction:column}.preparation-grid a:hover{text-decoration:none}.preparation-grid a>span{font-size:10px;letter-spacing:1px;color:var(--muted)}.preparation-grid h3{font-size:23px;margin:19px 0 12px}.preparation-grid p{font-size:13px;margin:0 0 23px}.preparation-grid b{margin-top:auto;font-size:12px}.arrival-faq{max-width:880px;padding-top:10px}.arrival-faq summary{font-size:15px;line-height:1.6}.route-hero{padding-top:28px;padding-bottom:38px}.route-hero h1{font-size:clamp(32px,3.6vw,48px);line-height:1.14}.route-hero>.lead{max-width:850px;font-size:17px}.route-hero .search-card{max-width:650px;margin:28px 0 0;padding:26px}.route-facts{margin:20px 0}.route-facts span{font-size:11px}.shuttle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.shuttle-card{display:flex;flex-direction:column;gap:6px}.shuttle-card h3{font-size:19px;line-height:1.35;margin:8px 0;overflow-wrap:normal}.shuttle-card>span{margin-top:auto;padding-top:14px}.shuttle-card p{font-size:13px}.shuttle-card strong{font-size:23px}.route-story,.destination-plan,.route-options{gap:46px}.route-options .help-panel{margin:0}.route-options li{font-size:14px}.route-fares{border-radius:18px}.route-fares dt{font-size:14px}.article{max-width:930px}.article h1{font-size:clamp(32px,4vw,48px)}.article .lead{font-size:17px}.article li{font-size:15px;line-height:1.8}.checkout{max-width:1180px}.checkout-head h1{font-size:36px;margin:14px 0}.checkout-head>p:last-child{font-size:15px}.booking-grid{grid-template-columns:minmax(0,1.55fr) minmax(270px,.8fr);gap:32px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid var(--line);margin:22px 0 30px;position:relative}.steps span,.steps a{font-size:12px;padding:12px 8px;color:#6a7d75;border-bottom:3px solid transparent;margin-bottom:-1px;text-align:center}.steps .active{color:var(--green);border-color:var(--green);font-weight:750}.steps .done{color:#376653}.vehicle{grid-template-columns:92px minmax(0,1fr) auto;padding:20px;gap:16px;min-width:0;border-radius:13px;border-color:#cad9cf;box-sizing:border-box}.vehicle.selected{padding:19px;background:#f0f6ef;border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.vehicle img{width:92px;height:68px;object-fit:contain}.vehicle strong{font-size:15px}.vehicle small{font-size:11px;white-space:normal;line-height:1.5}.vehicle .price{font-size:22px}.booking-summary{background:#f5f7f1;border:1px solid #e1e8dd;border-radius:14px;padding:25px}.booking-summary h3{font-size:17px;line-height:1.4}.booking-summary p{font-size:13px}.booking-summary .price-total{font-size:23px}.booking-summary .form-note{font-size:11px}.step-form{border-radius:14px;padding:25px}.step-form h3{font-size:24px;margin:0 0 20px}.step-form label{font-size:12px}.step-form input:not([type=checkbox]){border-color:#bdcfc3;border-radius:9px;min-height:49px;font-size:15px}.step-form .check{font-size:13px;line-height:1.6}.check input{height:20px;width:20px;min-height:20px}.notice{font-size:13px;line-height:1.7}.error{font-size:14px;line-height:1.6}.support-link{font-size:13px}.form-note{font-size:11px;line-height:1.7}.guide-grid h3{font-size:25px}.booking-summary .support-link{line-height:1.7}footer{margin-top:45px}.footer-top{max-width:1208px;margin:auto}.footer-bottom{max-width:1208px;margin-left:auto;margin-right:auto}.footer-bottom>small:last-child{font-size:11px}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #91ad68;outline-offset:3px}
@media(max-width:1000px){header{padding:18px 25px}.content{padding-left:26px;padding-right:26px}.arrival-hero{gap:30px;grid-template-columns:minmax(0,1fr) minmax(360px,1fr)}.arrival-copy h1{font-size:42px}.arrival-copy .lead{font-size:15px}.arrival-visual img{height:230px}.arrival-trust{gap:8px 14px}.travel-options{gap:35px;margin-left:26px;margin-right:26px;width:auto}.booking-grid{gap:20px}.vehicle{grid-template-columns:70px minmax(0,1fr);gap:12px}.vehicle img{width:70px;grid-row:1/3}.vehicle .price{grid-column:2}.preparation-grid{gap:24px}.shuttle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){header{min-height:76px;flex-wrap:wrap;gap:16px}.menu-toggle{display:inline-flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:8px 11px;background:white;font-size:12px;margin-left:auto;color:var(--ink)}header nav{display:none;width:100%;order:5;padding:12px 0;border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:15px}header nav.is-open{display:grid}.header-actions{gap:14px}.header-contact{display:none}.arrival-copy h1{font-size:37px}.assurance-strip{gap:15px;grid-template-columns:repeat(2,1fr)}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preparation-grid{grid-template-columns:1fr;gap:0}.preparation-grid h3{margin:12px 0}.preparation-grid p{margin-bottom:15px}.preparation-grid a{padding:22px 0}.route-story,.destination-plan,.route-options{gap:25px}.route-options h2,.destination-plan h2{font-size:30px}}
@media(max-width:760px){.content{padding:35px 22px}.arrival-hero{display:flex;flex-direction:column;gap:22px;padding-top:18px;padding-bottom:24px}.arrival-copy{display:contents}.arrival-copy>.eyebrow{order:0;margin:0;color:var(--green);font-size:9px}.arrival-copy h1{order:1;font-size:36px;letter-spacing:-1.4px;margin:-9px 0 0;max-width:570px}.arrival-copy>.lead{order:2;font-size:14px;line-height:1.7;margin:-9px 0 0;max-width:570px}.arrival-trust{display:none}.arrival-hero>.search-card{order:3;padding:22px;margin:0}.arrival-visual{order:4;width:100%;margin:0}.arrival-visual img{height:230px;object-position:center}.arrival-visual figcaption{font-size:10px}.search-heading{margin-bottom:18px}.search-heading h2{font-size:25px}.search-heading p{font-size:12px}.search-heading .eyebrow{font-size:9px}.step-caption{font-size:10px}.direction{margin-bottom:12px}.journey-choice{font-size:13px;min-height:46px}.travel-direction{gap:18px;margin-bottom:18px}.travel-direction button{font-size:12px}.trip-form .location-grid{gap:13px}.trip-form .location-label,.trip-form .hotel-label{font-size:12px}.trip-form .hotel-search,.trip-form .form-grid input{font-size:16px;min-height:50px;height:50px;padding:11px}.trip-form .form-grid,.trip-form .form-grid:has(.return-field:not([hidden])){gap:14px}.trip-form .form-grid>label:first-child{grid-column:auto}.trip-form .route-note{font-size:11px;margin:9px 0 17px}.trip-form .form-grid .primary{font-size:14px;min-height:51px}.location-suggestions{max-height:220px;z-index:20}.location-option strong{font-size:14px}.fixed-airport{min-height:54px}.assurance-strip{padding-top:17px;padding-bottom:22px;gap:17px 14px}.assurance-strip span{font-size:11px;gap:8px}.assurance-strip b{width:24px;height:24px;flex:none;font-size:9px}.section-heading{display:block;margin-bottom:22px}.section-heading h2{font-size:30px}.section-heading .text-link{margin-top:12px}.destination-grid{grid-template-columns:1fr;gap:13px}.destination-card{padding:22px}.destination-card h3{min-height:0;font-size:21px;margin:12px 0 10px}.destination-card p{font-size:13px;margin-bottom:18px}.destination-link{padding-top:14px}.travel-options{display:block;margin:8px 22px 0;padding:28px 22px;border-radius:16px}.travel-options h2{font-size:29px}.travel-options p{font-size:14px}.vehicle-showcase{margin-top:28px;padding:20px}.vehicle-showcase img{height:150px}.preparation{padding-top:42px}.preparation-grid h3{font-size:24px}.arrival-faq{padding-top:8px}.arrival-faq h2{font-size:28px}.arrival-faq summary{font-size:14px}.route-hero{padding-top:22px}.route-hero h1{font-size:32px;line-height:1.16}.route-hero>.lead{font-size:14px;line-height:1.7}.route-hero .search-card{padding:21px;margin-top:22px}.route-facts{margin:16px 0}.route-facts span{font-size:10px;padding:7px 10px}.route-story,.destination-plan,.route-options,.route-fares{display:block}.route-story img,.route-vehicle{margin-top:25px}.route-story img{height:245px}.route-options .help-panel{margin-top:25px}.route-fares{margin:0 22px;padding:25px;width:auto}.route-fares dd{font-size:22px}.route-fares dt{font-size:12px}.shuttle-grid{grid-template-columns:1fr}.shuttle-card{padding:22px}.article h1{font-size:33px}.article .lead{font-size:15px}.article h2{font-size:26px}.article li{font-size:14px}.checkout{padding-top:21px}.checkout .back{font-size:12px;margin-bottom:13px}.checkout-head h1{font-size:29px;margin:12px 0}.checkout-head>p:last-child{font-size:14px}.checkout-head .eyebrow{font-size:9px}.steps{gap:0;margin:20px 0 24px}.steps span,.steps a{padding:10px 3px;font-size:10px;white-space:normal}.booking-grid{display:flex;flex-direction:column;gap:24px}.booking-summary{order:2;position:static;width:100%;box-sizing:border-box;padding:23px}.booking-summary h3{font-size:17px}.booking-summary p{font-size:13px;line-height:1.6}.vehicle{grid-template-columns:65px minmax(0,1fr);padding:17px 14px;gap:8px 13px}.vehicle.selected{padding:16px 13px}.vehicle img{width:65px;height:65px;grid-row:1/3}.vehicle strong{font-size:15px}.vehicle small{font-size:11px}.vehicle .price{grid-column:2;font-size:23px}.vehicle .price small{font-size:10px;display:inline;margin-left:7px}.step-form{padding:23px 18px}.step-form h3{font-size:23px}.two{grid-template-columns:1fr}.step-form label{margin:14px 0;font-size:12px}.step-form input:not([type=checkbox]){font-size:16px}.steps+.booking-grid>div>h2{font-size:26px!important}.booking-grid .primary{width:100%;box-sizing:border-box}.notice{font-size:12px}.support-link{font-size:12px}.shuttle-promo{margin:25px 22px;padding:26px;width:auto}.fleet-grid{grid-template-columns:1fr}.footer-top{gap:26px}footer{padding:35px 22px 24px;margin-top:30px}.footer-top>div>a:not(.brand){font-size:14px}.footer-bottom{font-size:11px}}
.article-toc,.related-guides{display:grid;gap:12px;margin:25px 0}.article-toc{padding:20px 25px;background:var(--sand);border:1px solid var(--line);border-radius:12px}.article-toc a,.related-guides a{font-size:14px;line-height:1.7;text-decoration:underline;text-underline-offset:4px}.practical-guide>section{scroll-margin-top:25px;padding-top:10px}.practical-guide>section p{font-size:16px;line-height:1.9}.practical-guide h2{font-size:27px;line-height:1.3}.practical-links .related-guides{grid-template-columns:1fr 1fr;gap:18px}.practical-links .related-guides>a{padding:20px;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:650}.practical-links .related-guides>a:hover{background:var(--sand)}@media(max-width:760px){.practical-links .related-guides{grid-template-columns:1fr}.practical-guide>section p{font-size:15px}.practical-guide h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.mobile-title{display:none}@media(max-width:760px){.desktop-title{display:none}.mobile-title{display:inline}.arrival-copy h1{font-size:29px;line-height:1.18;letter-spacing:-1px}.arrival-copy>.lead{font-size:13px;line-height:1.65}.arrival-hero{gap:19px}.arrival-hero>.search-card{padding:19px}.search-heading h2{font-size:23px}.search-heading{margin-bottom:15px}.search-heading p{font-size:11px}.fixed-airport{min-height:37px;padding:7px 10px;background:#f6f8f3;border:0;gap:9px}.fixed-airport>span{display:none}.fixed-airport strong{display:flex;gap:8px;align-items:center}.fixed-airport small{margin:0;font-size:10px}.airport-field>.location-label{display:none}.travel-direction{margin-bottom:12px}.trip-form .location-grid{gap:12px}.search-reassurance{font-size:10px}.search-heading .eyebrow{font-size:8px;letter-spacing:1.1px}}

@media(max-width:760px){.route-hero{display:flex;flex-direction:column;align-items:stretch}.route-hero>.lead,.route-hero>.route-facts,.route-hero>.form-note{order:5}.route-hero>.search-card{order:1;max-width:none;margin:10px 0 0}.route-hero h1{font-size:28px;margin:10px 0 18px}.route-hero>.lead{margin-top:24px}.route-hero>.back{align-self:start;margin-bottom:15px}.route-hero .eyebrow{font-size:9px;line-height:1.7}.route-facts{margin-top:20px}}
