/* Luxury refinement pass for everything below the hero. Loaded last; the hero and booking card are not targeted. */
:root{--hair:#d9e2de;--hair-dark:#ffffff1a;--champagne:#d8c49a;--radius:6px;--serif:Georgia,'Times New Roman',serif;
--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:#00c89a33}

/* Section labels and headings */
main>section:not(.hero):not(.booking-wrap) .kicker{display:inline-flex;align-items:center;gap:14px;font-size:10.5px;font-weight:600;letter-spacing:.28em;color:#0a8f70}
main>section:not(.hero):not(.booking-wrap) .kicker:before{content:'';width:32px;height:1px;background:currentColor;opacity:.55}
.world .kicker,.business .kicker,.last-cta .kicker{color:var(--champagne)!important}
.section h2,.standard h2,.world h2,.business h2,.last-cta h2{font-weight:400!important;font-size:clamp(40px,4.6vw,66px)!important;line-height:1.04!important;letter-spacing:-.045em!important}
.section h2 em,.standard h2 em,.world h2 em,.last-cta h2 em{letter-spacing:-.03em}
.section-aside,.world-head>p,.standard .large-copy{font-size:15px!important;line-height:1.85!important;color:#5f7472}
.world-head>p{color:#9fbab4!important}
.business .section-aside{color:#9fbab4}

/* Buttons outside the booking card: refined pills with an arrow disc */
.svc-cta,.stage-info .dark-button,.how-section .dark-button,.biz-cta .primary-button,.last-cta .primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;height:58px;padding:0 8px 0 28px;border-radius:60px;font:600 13.5px/1 'DM Sans',sans-serif;letter-spacing:.02em}
.svc-cta>span,.stage-info .dark-button>span,.how-section .dark-button>span,.biz-cta .primary-button>span,.last-cta .primary-button>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-size:15px;transition:transform .45s var(--ease),background .3s}
.stage-info .dark-button,.how-section .dark-button{background:var(--ink);color:#fff}
.stage-info .dark-button>span,.how-section .dark-button>span{background:#ffffff1a;color:#fff}
.stage-info .dark-button:hover>span,.how-section .dark-button:hover>span,.biz-cta .primary-button:hover>span,.last-cta .primary-button:hover>span,.svc-cta:hover>span{transform:rotate(45deg)}
.svc-cta>span{background:var(--ink);color:#fff!important}
.last-cta .primary-button{height:64px;padding-left:32px;font-size:14.5px}
.last-cta .primary-button>span{background:#ffffff2e;color:#fff;width:48px;height:48px}
.biz-cta .primary-button>span{background:#ffffff1a;color:#fff}
.text-link{gap:18px;padding-bottom:8px;letter-spacing:.02em;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;border-bottom:1px solid var(--hair)!important;transition:background-size .5s var(--ease),color .3s}
.text-link:hover{background-size:100% 1px}
.world .text-link{border-color:#ffffff33!important}

/* Trust rail: hairline grid, outline icons */
.trust-rail{padding-top:70px}
.trust-items{gap:0;padding-bottom:0;border:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.trust-item{padding:30px 26px;gap:18px}
.trust-item+.trust-item{border-left:1px solid var(--hair)}
.trust-item svg{background:none;padding:0;width:30px;height:30px;color:var(--ink);stroke-width:1.2}
.trust-item span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#7d918d;gap:7px}
.trust-item strong{font:400 17px/1.3 Outfit,sans-serif;letter-spacing:-.015em;text-transform:none}
.city-marquee{padding:46px 0 10px}
.marquee-track{animation-duration:90s}
.marquee-track span{font-weight:300;font-size:clamp(28px,3.2vw,48px);-webkit-text-stroke:0;color:#b4c5bf;padding:0 22px;gap:44px}
.marquee-track span:nth-child(3n+1){color:var(--ink)}
.marquee-track span:nth-child(even){font:italic 400 clamp(28px,3.2vw,48px)/1 var(--serif);letter-spacing:-.02em}
.marquee-track span:after{width:5px;height:5px;background:#9fb7b0}

/* Services */
.svc-list{border-top-color:var(--hair)}
.svc-list button{border-bottom-color:var(--hair);padding:28px 4px 28px 0}
.svc-num{font:italic 400 15px/1.6 var(--serif);color:#a5b6b1;min-width:34px}
.svc-name{font-weight:400}
.svc-desc{font-size:14px}
.svc-bar{height:1px}
.svc-media{border-radius:var(--radius)}
.svc-slide figcaption{font-weight:400;letter-spacing:-.025em}
.svc-slide figcaption span{color:var(--champagne);letter-spacing:.28em;font-size:9.5px}
.svc-cta{background:#fffffff2;color:var(--ink)}

/* World network: grain, quieter chips */
.world:after,.business:after,.board:after{content:'';position:absolute;inset:0;background:var(--grain);opacity:.05;pointer-events:none;mix-blend-mode:overlay}
.business,.board{position:relative}
.world-inner,.business .section{position:relative;z-index:1}
.region-tabs button{border-color:#ffffff1f;font-weight:500;letter-spacing:.02em}
.region-tabs button[aria-selected=true]{background:#fff;border-color:#fff;color:var(--deep)}
.city-row{padding:17px 6px}
.city-name strong{font-weight:400;font-size:19px}
.city-code{color:var(--champagne);opacity:.8}
.city-status{font-size:9.5px;letter-spacing:.14em;padding:7px 12px;font-weight:600}
.city-status.live{background:transparent;color:#7ff0cd;border:1px solid #00c89a80}
.globe-hud{border-radius:var(--radius);background:#05232ad9}
.globe-hud strong{font-weight:400}
.world .place-card{border-radius:var(--radius)}
.world .place-card h3{font-weight:400}
.place-type{letter-spacing:.24em;font-size:8.5px;padding:8px 12px;background:#05232a40}

/* Fleet showroom */
.stage-word{-webkit-text-stroke:1px #d3dfda;font-weight:500}
.stage-class{letter-spacing:.28em;font-size:10px;font-weight:600}
.stage-name{font-weight:400}
.stage-specs{border-color:var(--hair)}
.stage-specs dt{letter-spacing:.14em;text-transform:uppercase;font-size:10px}
.stage-specs b{font-weight:300;font-size:26px}
.meter{height:2px}
.stage-ideal{background:transparent;border:1px solid var(--hair);border-radius:40px}
.stage-thumbs button{border-radius:var(--radius);border-color:var(--hair);background:#ffffff8c;font-weight:500}
.stage-arrow,.stage-play{border-color:var(--hair)}
.showroom .fleet-bottom{border-color:var(--hair)}

/* Standard */
.standard-list,.standard-list li{border-color:#cfdcd6}
.standard-list li>span{font:italic 400 17px/1.4 var(--serif);color:#5f8f80;min-width:30px}
.standard-list h3{font-weight:400;font-size:19px}
.standard-list p{font-size:14px}
.standard-detail,.standard .photo-label{border-radius:var(--radius)}

/* Arrivals board */
.board{border-radius:var(--radius);background:#081215}
.flap{background:linear-gradient(180deg,#18221f 50%,#131c1a 50%);font-weight:500}
.col-time .flap{color:var(--champagne)}
.board-row.is-live .col-status .flap{color:#7ff0cd;background:linear-gradient(180deg,#0f2b26 50%,#0c2420 50%)}

/* Journey */
.journey .journey-number{font:italic 400 18px/1 var(--serif);border-color:#c5d8cf}
.journey-steps h3{font-weight:400;font-size:22px}
.journey-steps p{font-size:14px}

/* Business */
.biz-card{border-radius:var(--radius);border-color:#ffffff14}
.biz-card:hover{transform:translateY(-3px)}
.biz-card svg{background:none;padding:0;width:30px;height:30px;stroke-width:1.2;color:var(--champagne);margin-bottom:56px}
.biz-card h3{font-weight:400;font-size:21px}
.biz-card p{font-size:14px}
.biz-cta{border-radius:var(--radius);background:linear-gradient(110deg,#0f3a40,#0b2e33);border:1px solid #ffffff14}
.biz-cta h3{color:#fff;font-weight:400;font-size:30px}
.biz-cta p{color:#9fbab4;font-size:14px}
.business .biz-cta .primary-button{background:var(--mint);color:#032a24}
.business .biz-cta .primary-button>span{background:#032a2414;color:#032a24}
.business .biz-cta .primary-button:hover{background:#19d6a6}

/* FAQ */
.faq-list,.faq-list details{border-color:var(--hair)}
.faq-list summary{font:400 18px/1.45 Outfit,sans-serif;letter-spacing:-.01em;padding:28px 44px 28px 0}
.faq-list summary:after{content:'';width:12px;height:12px;top:50%;right:6px;background:linear-gradient(#08956f,#08956f) center/12px 1px no-repeat,linear-gradient(#08956f,#08956f) center/1px 12px no-repeat;transform:translateY(-50%)}
.faq-list details[open] summary:after{content:'';transform:translateY(-50%) rotate(45deg)}
.faq-list details p{font-size:14.5px;line-height:1.9}
.faq-heading>p:not(.kicker){font-size:15px}

/* Closing call to action and footer */
.last-cta{padding:180px 24px}
.last-cta h2{margin-bottom:40px!important}
footer{background:#0a2a2f}
.footer-main h3{letter-spacing:.24em;text-transform:uppercase;font-size:10px;font-weight:600;color:var(--champagne)}
.footer-main>div>a:not(.brand){font-size:13px}
.footer-main p{font-size:12.5px}
.footer-word{-webkit-text-stroke:1px #23494a;font-weight:500}
.footer-word span{-webkit-text-stroke:1px #00c89a66}
.footer-bottom{font-size:11px;letter-spacing:.04em}

/* Back to top */
.to-top{background:#0a2a2f}

@media(max-width:1050px){.trust-item:nth-child(3){border-left:0}.trust-item:nth-child(n+3){border-top:1px solid var(--hair)}}
@media(max-width:760px){
.trust-item{padding:22px 4px}.trust-item+.trust-item{border-left:0;border-top:1px solid var(--hair)}
.faq-list summary{font-size:16px;padding:24px 36px 24px 0}
.svc-cta,.stage-info .dark-button,.how-section .dark-button{height:54px}
.biz-cta h3{font-size:24px}
.last-cta{padding:120px 22px}
}

/* Fine-tuning after review */
.trust-item{align-items:center}
.trust-item strong{font-size:16px}
@media(min-width:1051px){.trust-item span{white-space:nowrap}}
.standard h2{font-size:clamp(36px,3.7vw,54px)!important}
.business .biz-cta .primary-button>span{background:#032a24;color:#7ff0cd}
@media(max-width:760px){.biz-card svg{margin-bottom:30px}}
.business .biz-cta .primary-button{border-radius:60px;padding:0 8px 0 28px;height:58px}

/* Header: menu tabs centred between the logo and the booking button */
@media(min-width:761px){
.site-header nav{flex:1;margin-left:40px}
.site-header nav>a:first-child{margin-left:auto}
.site-header .nav-cta{margin-left:auto}
}

/* Desktop mega menu */
.mega{position:absolute;left:0;right:0;top:100%;pointer-events:none;opacity:0;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .35s var(--ease);z-index:49}
.mega.open{pointer-events:auto;opacity:1;transform:none}
.mega-panel{background:#fff;border-top:1px solid var(--hair);box-shadow:0 30px 60px #05232a26;color:var(--ink)}
.mega-panel[hidden]{display:none}
.mega-inner{max-width:1180px;margin:0 auto;padding:34px 0 38px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px 36px;align-items:start}
.mega-col>p{margin:0 0 14px;font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#0a8f70}
.mega-col a{display:block;padding:8px 10px;margin:0 -10px;border-radius:8px;transition:background .2s}
.mega-col a span{display:block;font:500 14.5px/1.35 Outfit,sans-serif;color:var(--ink)}
.mega-col a span::first-letter{text-transform:uppercase}
.mega-col a small{display:block;margin-top:2px;font-size:12px;color:#7d918d}
.mega-col a:hover{background:#f1f7f4}
.mega-col a:hover span{color:#0a8f70}
.mega-feature{display:block;position:relative;border-radius:var(--radius);overflow:hidden;min-height:220px;color:#fff;isolation:isolate}
.mega-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease)}
.mega-feature:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#05232a1a,#05232ae6);z-index:-1}
.mega-feature:hover img{transform:scale(1.05)}
.mega-feature-copy{position:absolute;left:20px;right:20px;bottom:18px;display:flex;flex-direction:column;gap:6px}
.mega-feature strong{font:400 21px/1.2 Outfit,sans-serif}
.mega-feature small{font-size:12.5px;line-height:1.5;color:#d4e6e1}
.mega-feature em{font-style:normal;font-size:13px;font-weight:600;color:#7ff0cd;margin-top:4px}
.mega-vehicles .mega-inner{grid-template-columns:3fr 1fr}
.mega-cars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mega-car{display:flex;flex-direction:column;padding:14px 16px 16px;border:1px solid var(--hair);border-radius:var(--radius);background:linear-gradient(180deg,#f2f7f4,#fff);transition:border-color .25s,transform .35s var(--ease),box-shadow .35s}
.mega-car img{width:100%;height:110px;object-fit:contain;filter:drop-shadow(0 12px 12px #0b262b26);margin-bottom:8px}
.mega-car span{font:500 16px/1.3 Outfit,sans-serif;color:var(--ink)}
.mega-car small{font-size:12px;color:#7d918d;margin-top:3px}
.mega-car:hover{border-color:#9fd9c5;transform:translateY(-3px);box-shadow:0 16px 30px #0b2b2f14}
.site-header.mega-active{background:#fffffff7;color:var(--ink);backdrop-filter:blur(16px);border-color:#e7eeeb}
.site-header nav>a.mega-open{color:var(--mint)}
.site-header nav>a[data-mega]:after{content:none}
.site-header nav>a[data-mega]{gap:6px}
.site-header nav>a[data-mega]:before{content:'';order:2;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6;transition:transform .3s var(--ease)}
.site-header nav>a.mega-open:before{transform:translateY(1px) rotate(225deg)}
@media(max-width:1280px){.mega-inner{padding-left:40px;padding-right:40px}}
@media(max-width:1050px),(hover:none){.mega{display:none}.site-header nav>a[data-mega]:before{content:none}}

/* Arrivals board: real split flaps. The top leaf folds down over the hinge, then the bottom leaf lands. */
.flap{--ft:#18221f;--fb:#131c1a;background:none;perspective:160px}
.board-row.is-live .col-status .flap{--ft:#0f2b26;--fb:#0c2420;background:none}
.flap>i{position:absolute;left:0;right:0;height:50%;overflow:hidden;font-style:normal;backface-visibility:hidden}
.flap>i>b{position:absolute;left:0;right:0;top:0;height:200%;display:grid;place-items:center;font-weight:inherit;white-space:pre}
.flap .ft,.flap .lt{top:0;background:var(--ft);border-radius:4px 4px 0 0;transform-origin:50% 100%}
.flap .fb,.flap .lb{bottom:0;background:var(--fb);border-radius:0 0 4px 4px;transform-origin:50% 0}
.flap .fb>b,.flap .lb>b{top:-100%}
.flap .lt,.flap .lb{z-index:2;visibility:hidden}
.flap:after{z-index:3}
.flap.go .lt{visibility:visible;animation:leaf-top 40ms ease-in forwards}
.flap.go .lb{visibility:visible;animation:leaf-bottom 40ms ease-out 40ms both}
@keyframes leaf-top{to{transform:rotateX(-90deg);filter:brightness(.55)}}
@keyframes leaf-bottom{from{transform:rotateX(90deg);filter:brightness(1.6)}to{transform:none}}
@media(max-width:860px){.flap .ft,.flap .lt{border-radius:3px 3px 0 0}.flap .fb,.flap .lb{border-radius:0 0 3px 3px}}

/* Homepage hero: on desktop the copy and booking card sit centred between the menu bar and the end of the hero. */
@media(min-width:1051px){.hero,.hero-inner{min-height:770px}.hero-inner{padding-top:197px;padding-bottom:100px}.booking-wrap{top:190px}}
