/* ABC Limousine — extracted from Design Preview V4.4; colours are role tokens (dark luxury theme, see :root) */
:root{--hero-photo:url("/assets/photos/hero.webp");--photo-airport:url("/assets/photos/airport.webp");--photo-corporate:url("/assets/photos/corporate.webp");--photo-causeway:url("/assets/photos/causeway.webp");--photo-chauffeur:url("/assets/photos/chauffeur.webp");--photo-hotel:url("/assets/photos/hotel.webp");--photo-events:url("/assets/photos/events.webp");--photo-wedding:url("/assets/photos/wedding.webp");--photo-tours:url("/assets/photos/tours.webp");--photo-luggage:url("/assets/photos/luggage.webp");--photo-suv:url("/assets/photos/suv.webp");--photo-related-suv:url("/assets/photos/related-suv.webp");}
:root{--bg:#0b0b0b;--bg-alt:#131313;--surface:#171717;--surface-2:#1e1e1e;--border:rgba(217,164,32,.18);--border-strong:rgba(217,164,32,.5);--text:#f2eee6;--text-2:#b8b2a7;--gold:#d9a420;--gold-hover:#e7b533;--on-gold:#0b0b0b;--line:rgba(255,255,255,.1);--line-strong:rgba(242,238,230,.3);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{max-width:100%;height:auto;display:block}p{margin:0 0 1.3em}h1,h2,h3{line-height:1.12;font-weight:500;letter-spacing:-.04em;margin:0 0 .5em}h1{font-size:clamp(48px,6vw,84px)}h2{font-size:clamp(34px,3.3vw,49px)}h3{font-size:25px;letter-spacing:-.025em}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}h2+p{margin-top:1.2em}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.narrow{max-width:860px}.section{padding:96px 0}.section-cream{background:var(--bg-alt)}.eyebrow{font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.19em;margin-bottom:22px;text-transform:uppercase}.large-copy{font-size:22px;line-height:1.55;letter-spacing:-.02em}.muted,.fine-print{color:var(--text-2)}.fine-print{font-size:13px}.lead{font-size:21px;line-height:1.6;max-width:750px;color:var(--text-2)}.text-link{font-weight:600;font-size:14px;display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:6px}.text-link span{display:inline-block;margin-left:13px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--gold);color:var(--on-gold);padding:15px 24px;font-size:14px;font-weight:700;line-height:1.4;border:1px solid var(--gold);border-radius:0;transition:background .2s,transform .2s}.button:hover{background:var(--gold-hover);transform:translateY(-2px)}.button-outline{border-color:var(--line-strong);color:var(--text);background:transparent}.button-outline:hover{background:var(--surface-2)}.button-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.button-small{padding:12px 18px}.button-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.skip-link{position:fixed;z-index:1000;left:16px;top:-100px;background:var(--gold);padding:12px}.skip-link:focus{top:16px}.preview-bar{padding:7px 20px;text-align:center;font-size:10px;letter-spacing:.13em;background:var(--bg);color:var(--gold)}.preview-bar span{letter-spacing:.025em;color:var(--text-2);margin-left:7px}.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}.nav-row{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:25px}.brand{flex:none}.brand img{width:146px;height:auto}.site-header nav{display:flex;align-items:center;gap:27px}.nav-link{font-size:13px;font-weight:600;padding:15px 0}.nav-link span{display:none}.nav-link:hover,.nav-link[aria-current="page"]{color:var(--gold)}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:8px 12px;color:var(--text)}.hero{position:relative;min-height:720px;height:min(850px,85svh);background:var(--bg);color:var(--text);overflow:hidden}.hero-art{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(11,11,11,.82) 0%,rgba(11,11,11,.42) 34%,rgba(11,11,11,0) 65%),var(--hero-photo);background-size:cover;background-position:center;animation:hero-in 1s ease-out}.hero-content{position:relative;padding-top:94px;z-index:1}.hero .eyebrow{color:var(--gold)}.hero h1{font-size:clamp(62px,6.3vw,91px);line-height:1.03;letter-spacing:-.055em;max-width:670px}.hero h1 em{color:var(--gold)}.hero-content>p:not(.eyebrow){color:var(--text-2);font-size:18px;line-height:1.65;margin:25px 0 30px}.hero-bottom{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:space-between;color:var(--text-2);font-size:10px;letter-spacing:.13em}.hero-bottom span:last-child{letter-spacing:.02em;opacity:.75}.journey-strip{padding-block:32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.journey-strip .eyebrow{margin-bottom:7px;font-size:10px;color:var(--gold)}.journey-strip p{margin:0;font-size:17px}.intro-split{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro-split .large-copy{margin-bottom:20px}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--text-2);margin-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;display:block;padding:34px 30px 54px;min-height:265px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}.service-card:hover{background:var(--surface)}.card-number{display:block;font-size:11px;letter-spacing:.1em;color:var(--gold);margin-bottom:26px}.service-card h3{font-size:25px;max-width:280px}.service-card p{color:var(--text-2);font-size:14px;line-height:1.7;margin:16px 0 0;max-width:300px}.card-arrow{position:absolute;right:25px;bottom:18px;font-size:23px;font-weight:300;color:var(--gold)}.service-card:last-child{grid-column:span 3;min-height:180px;display:grid;grid-template-columns:60px 1fr 1fr;align-items:center;gap:30px;padding:36px 65px 36px 30px}.service-card:last-child .card-number,.service-card:last-child p{margin:0}.service-card:last-child h3{margin:0}.border-feature{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:90px}.route-art{background:var(--bg);padding:76px 45px;min-height:410px;display:flex;flex-direction:column;justify-content:center;color:var(--text)}.route-country{font-size:32px;letter-spacing:.07em;font-weight:400}.route-country:nth-of-type(2){align-self:flex-end}.route-line{height:120px;position:relative;display:flex;align-items:center;justify-content:center;margin:12px 0}.route-line:before{content:'';position:absolute;left:8px;right:8px;top:50%;height:1px;background:var(--border-strong);transform:rotate(-13deg)}.route-line i{width:9px;height:9px;background:var(--gold);border-radius:50%;position:absolute;left:8px;top:calc(50% + 33px)}.route-line i:last-child{left:auto;right:8px;top:calc(50% - 40px)}.route-line span{font-size:9px;letter-spacing:.15em;background:var(--bg);z-index:1;padding:8px}.route-art p{margin:42px 0 0;text-align:center;font-size:10px;letter-spacing:.04em;color:var(--text-2)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:48px}.steps>div{border-top:1px solid var(--line);padding-top:20px}.steps>div>span{display:block;font-size:11px;letter-spacing:.1em;color:var(--gold);margin-bottom:32px}.steps p{font-size:15px;color:var(--text-2);margin-top:20px}.faq-list{margin-top:36px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:25px;font-weight:500;font-size:20px;line-height:1.4;padding:25px 0}summary::-webkit-details-marker{display:none}summary span{flex:none;color:var(--gold);font-size:26px;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details>p{padding:0 50px 23px 0;margin:0;color:var(--text-2);max-width:900px;font-size:16px}.cta-band{background:#dac37e;padding:64px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:55px}.cta-inner h2{max-width:720px}.cta-inner p:last-child{margin-bottom:0;max-width:620px;color:#3c422f}.cta-inner .button{background:var(--bg);color:var(--text);border-color:var(--bg);flex:none}.cta-inner .button:hover{background:var(--surface-2)}.site-footer{background:var(--bg-alt);color:var(--text-2);padding:72px 0 25px}.footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1.1fr 1fr;gap:50px}.footer-brand img{width:158px;background:transparent}.footer-brand p{font-size:25px;line-height:1.4;margin-top:25px;color:var(--text);letter-spacing:-.025em}.footer-brand>span{font-size:11px;letter-spacing:.12em;color:var(--text-2)}.site-footer h2{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--gold);margin:8px 0 25px}.footer-link{display:block;font-size:12px;margin:11px 0;color:var(--text-2);overflow-wrap:anywhere}.footer-link:hover{color:var(--text)}.footer-link span{display:none}.footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:65px;padding-top:20px;font-size:10px;color:var(--text-2);gap:20px}.footer-bottom .footer-link{font-size:10px;margin:0}.floating-contact{position:fixed;right:22px;bottom:22px;z-index:40;display:flex;align-items:center;gap:25px;padding:13px 20px;background:var(--gold);color:var(--on-gold);font-size:12px;font-weight:700;box-shadow:0 5px 24px rgba(0,0,0,.45)}.page-intro{padding-top:85px;padding-bottom:75px;background:var(--bg);color:var(--text);width:100%;max-width:none;padding-inline:max(56px,calc((100% - var(--max))/2))}.page-intro .eyebrow{color:var(--gold)}.page-intro h1{max-width:960px}.page-intro .lead{margin-top:27px;margin-bottom:0}.content-split{display:grid;grid-template-columns:1.3fr .8fr;gap:90px}.preparation{border-top:2px solid var(--gold);padding-top:25px;align-self:start}.preparation h3{font-size:27px}.preparation ul{padding-left:18px;font-size:14px;color:var(--text-2);margin:24px 0 30px}.preparation li{padding:6px 0}.preparation .button{font-size:12px;gap:15px}.review-notice{padding:23px 26px;border-left:3px solid var(--gold);background:var(--surface);margin:0 0 34px;font-size:14px}.review-notice p{margin:8px 0 0}.table-scroll{overflow:auto;width:100%;margin-bottom:23px;border:1px solid var(--border)}table{width:100%;border-collapse:collapse;font-size:15px;white-space:nowrap}caption{text-align:left;padding:20px 24px;font-size:12px;font-weight:700;letter-spacing:.04em;background:var(--surface-2)}th,td{text-align:left;padding:18px 24px;border-bottom:1px solid var(--line)}thead th{font-size:11px;letter-spacing:.05em;background:var(--surface-2);font-weight:700}tbody th{font-weight:500}tbody tr:last-child>*{border-bottom:0}td{font-variant-numeric:tabular-nums}tbody tr:hover{background:rgba(217,164,32,.06)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:85px}.vehicle-panel{border-top:1px solid var(--line);padding-top:35px}.vehicle-panel h2{font-size:42px}.vehicle-panel p{max-width:500px}.fleet-image{height:510px;position:relative;background:var(--surface)}.fleet-image img{width:100%;height:100%;object-fit:cover;object-position:center 58%}.fleet-image>span{position:absolute;bottom:16px;right:30px;left:30px;color:var(--text);font-size:11px;text-align:right;text-shadow:0 1px 8px black}.manifesto{padding:45px;background:var(--surface);color:var(--gold);align-self:start}.manifesto p:last-child{font-size:32px;letter-spacing:-.04em;line-height:1.65;margin:25px 0}.contact-layout{display:grid;grid-template-columns:.75fr 1.4fr;gap:75px}.contact-layout>aside{align-self:start;position:sticky;top:130px}.contact-layout>aside p{font-size:14px;color:var(--text-2)}.contact-method{border-bottom:1px solid var(--line);padding:20px 0;overflow-wrap:anywhere}.contact-method span{display:block;font-size:11px;color:var(--text-2);margin-bottom:6px}.contact-method a{font-size:19px}.contact-method+ p{margin-top:25px}.form-panel{padding:36px;background:var(--surface);border:1px solid var(--border)}.form-panel h2{font-size:32px}.form-panel>p{font-size:12px;margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 18px}label{display:block;font-size:12px;font-weight:700;line-height:1.5}label>span{font-weight:400;color:var(--text-2)}input,select,textarea{display:block;width:100%;min-width:0;margin-top:8px;border:1px solid var(--line-strong);background:var(--bg);border-radius:0;padding:12px 11px;font-size:14px;line-height:1.5;color:var(--text)}textarea{resize:vertical}.full{grid-column:1/-1}.consent{display:flex;gap:11px;align-items:start;margin:26px 0 15px;font-weight:400}.consent input{margin:4px 0 0;width:15px;min-width:15px;height:15px;accent-color:var(--gold)}.consent a{display:inline;border:0;text-decoration:underline;font-size:12px;padding:0}.consent a span{display:none}.form-note{font-size:12px;color:var(--text-2);line-height:1.6}.quote-result{margin-top:30px;border-top:2px solid var(--gold);padding-top:30px;scroll-margin-top:120px}.quote-result p{font-size:13px}.quote-result pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);padding:18px;font:13px/1.6 Arial,Helvetica,sans-serif}.quote-result .button{font-size:12px;padding:12px 15px;gap:10px}.prose h2{font-size:30px;margin-top:48px}.prose h2:first-child{margin-top:0}.prose p{font-size:18px}.prose a{text-decoration:underline}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.guide-card{padding:32px 27px;background:var(--surface);border-top:2px solid var(--gold);display:flex;flex-direction:column;align-items:start}.guide-card h2{font-size:30px;line-height:1.2;min-height:115px}.guide-card>p:not(.eyebrow){color:var(--text-2);font-size:14px}.guide-card>.text-link{margin-top:auto;padding-top:20px}.guide-card:hover{background:var(--surface-2)}.page-view[hidden],[hidden]{display:none!important}.page-view:not([hidden]){animation:page-in .25s ease-out}.standalone:not(.js-ready) .page-view{border-top:8px solid var(--gold)}.standalone:not(.js-ready) .page-view:first-child{border-top:0}@keyframes page-in{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes hero-in{from{opacity:.5}to{opacity:1}}
@media(min-width:1600px){.hero-art{background-position:center 57%}.hero-content{padding-top:115px}.hero{min-height:790px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:18px}.nav-row{gap:20px}.nav-link{font-size:12px}.brand img{width:125px}.hero{min-height:670px}.hero h1{font-size:72px}.hero-content{padding-top:85px}.intro-split,.border-feature,.content-split{gap:50px}.contact-layout{gap:35px;grid-template-columns:.7fr 1.3fr}.footer-grid{gap:25px}.page-intro{padding-inline:32px}.guide-card h2{font-size:27px}.service-card{padding:27px 24px 48px}.two-col{gap:45px}}
@media(max-width:850px){.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);padding:20px 32px 30px;border-bottom:1px solid var(--line);box-shadow:0 10px 15px rgba(0,0,0,.35);flex-direction:column;align-items:stretch;gap:4px}.site-header nav.is-open{display:flex}.nav-link{font-size:15px;padding:10px 0}.menu-toggle{display:block}.nav-row{min-height:75px}.site-header nav .button{margin-top:10px}.section{padding:70px 0}.hero{height:auto;min-height:730px}.hero h1{font-size:66px}.hero-art{background-position:60% center;background-image:linear-gradient(90deg,rgba(11,11,11,.9),rgba(11,11,11,.36)),var(--hero-photo)}.hero-content{padding-top:75px}.intro-split{grid-template-columns:1fr;gap:25px}.service-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:span 2;grid-template-columns:40px 1fr;gap:20px}.service-card:last-child p{grid-column:2}.border-feature{gap:35px;grid-template-columns:1fr 1fr}.route-art{min-height:360px;padding:55px 25px}.route-country{font-size:22px}.route-line span{font-size:7px}.route-art p{font-size:9px}.steps{gap:25px}.steps h3{font-size:23px}.cta-inner{gap:25px;align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr;gap:45px}.content-split{grid-template-columns:1fr 1fr;gap:35px}.contact-layout{grid-template-columns:1fr}.contact-layout>aside{position:static;max-width:600px}.contact-method{display:inline-block;width:100%}.guide-grid{grid-template-columns:1fr}.guide-card h2{min-height:0;max-width:650px}.guide-card{padding:30px}.guide-card>.text-link{padding-top:10px}.page-intro{padding-top:65px;padding-bottom:65px}.page-intro h1{font-size:60px}.fleet-image{height:390px}.two-col{gap:35px}.vehicle-panel h2{font-size:35px}.manifesto{padding:30px}.manifesto p:last-child{font-size:25px}}
@media(max-width:560px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}body{font-size:15px}.preview-bar{font-size:8px;letter-spacing:.09em;padding:6px 10px}.preview-bar span{display:none}.nav-row{min-height:70px}.brand img{width:122px}.menu-toggle{font-size:12px}.hero{min-height:740px}.hero-art{background-position:65% bottom;background-size:auto 100%;background-image:linear-gradient(180deg,rgba(11,11,11,.82) 0%,rgba(11,11,11,.57) 45%,rgba(11,11,11,.03) 76%),var(--hero-photo)}.hero-content{padding-top:50px}.hero .eyebrow{font-size:9px;margin-bottom:23px}.hero h1{font-size:55px;line-height:1.04;max-width:355px}.hero-content>p:not(.eyebrow){font-size:15px;max-width:320px;margin:24px 0}.hero .button{font-size:12px;padding:13px 17px;gap:17px}.hero .button-row{gap:10px;max-width:350px}.hero-bottom{bottom:20px;font-size:8px;letter-spacing:.06em;gap:12px}.hero-bottom span:last-child{max-width:100px;text-align:right}.journey-strip{align-items:start;flex-direction:column;padding-block:25px;gap:17px}.journey-strip p{font-size:15px}.journey-strip .eyebrow{font-size:9px}.section{padding:57px 0}h2{font-size:34px}.eyebrow{font-size:10px;margin-bottom:19px}.large-copy{font-size:19px}.intro-split{gap:20px}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>.text-link{margin-top:25px}.service-grid{grid-template-columns:1fr}.service-card{padding:26px 24px 40px;min-height:225px}.service-card h3{font-size:25px}.card-number{margin-bottom:20px}.service-card:last-child{display:block;grid-column:auto;min-height:225px;padding:26px 24px 40px}.service-card:last-child p{margin-top:16px}.service-card:last-child .card-number{margin-bottom:20px}.border-feature{grid-template-columns:1fr;gap:35px}.route-art{min-height:340px}.route-country{font-size:26px}.route-art p{font-size:10px}.steps{grid-template-columns:1fr;gap:25px;margin-top:35px}.steps>div>span{margin-bottom:20px}.steps p{margin:15px 0 0}.faq-list{margin-top:25px}summary{font-size:18px;padding:22px 0}details>p{font-size:15px;padding-right:20px}.cta-band{padding:50px 0}.cta-inner h2{font-size:36px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 23px}.footer-brand{grid-column:1/-1}.footer-brand img{width:140px}.footer-brand p{font-size:24px;margin-bottom:20px}.footer-grid>div:last-child{grid-column:1/-1}.site-footer{padding-top:52px;padding-bottom:88px}.footer-link{font-size:11px;line-height:1.6}.footer-bottom{flex-direction:column;align-items:start;gap:13px;margin-top:40px}.floating-contact{right:15px;bottom:15px;padding:12px 17px;gap:17px;font-size:11px}.page-intro{padding:50px 20px}.page-intro h1{font-size:47px}.lead{font-size:18px}.content-split{grid-template-columns:1fr;gap:32px}.preparation{margin-top:8px}.two-col{grid-template-columns:1fr;gap:40px}.vehicle-panel h2{font-size:36px}.fleet-image{height:300px}.fleet-image img{object-position:65% center}.fleet-image>span{font-size:9px;right:16px;left:16px}.manifesto p:last-child{font-size:29px}.review-notice{padding:20px;font-size:13px}th,td{padding:15px 18px}.table-scroll{font-size:13px}.contact-layout{gap:40px}.form-panel{padding:24px 19px}.form-panel h2{font-size:28px}.form-grid{grid-template-columns:1fr;gap:18px}.form-grid .full{grid-column:auto}input,select,textarea{font-size:16px;padding:12px 10px}.contact-method a{font-size:19px}.form-panel>.muted{font-size:11px}.quote-result .button-row{flex-direction:column;align-items:stretch}.guide-card{padding:27px 22px}.prose h2{font-size:27px;margin-top:38px}.prose p{font-size:16px}.desktop-only{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.preview-bar,.floating-contact,.site-footer,.button,.menu-toggle{display:none!important}.wrap{width:100%}.section,.page-intro{padding:25px 0}.hero{min-height:500px}.page-view[hidden]{display:none!important}.standalone:not(.js-ready) .page-view{break-before:page}body{color:black;background:white}h1,h2,h3{break-after:avoid}p,li{orphans:3;widows:3}.page-intro{color:black;background:white}.page-intro .lead{color:#444}.contact-layout>aside{position:static}}
/* V2: corporate navigation, route pages and WhatsApp-first mobile contact. */
.nav-services{position:relative;border:0}.nav-services>summary{font-size:13px;font-weight:600;padding:15px 0;gap:8px}.nav-services>summary span{font-size:15px;color:inherit}.nav-services[open]>summary span{transform:rotate(180deg)}.services-dropdown{position:absolute;left:-22px;top:100%;width:280px;background:var(--surface);padding:18px 22px;box-shadow:0 14px 35px rgba(0,0,0,.45);border:1px solid var(--line)}.services-dropdown .nav-link{display:block;padding:8px 0;font-size:13px}.trust-strip{background:var(--bg-alt);border-bottom:1px solid var(--line)}.trust-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-block:20px}.trust-strip span{font-size:11px;letter-spacing:.03em;font-weight:600}.trust-strip span+span:before{content:'·';margin-right:22px;color:var(--gold)}.service-grid{grid-template-columns:repeat(4,1fr)}.service-card,.service-card:last-child{display:block;grid-column:auto;min-height:300px;padding:30px 25px 48px}.service-card:last-child h3{margin:0 0 .5em}.service-card:last-child .card-number{margin:0 0 26px}.service-card:last-child p{margin:16px 0 0}.service-card h3{font-size:24px}.inline-routes{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px;margin-top:30px}.inline-routes .text-link{justify-self:start}.popular-routes{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:35px}.route-card{display:block;padding:29px 22px;background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--gold);transition:transform .2s,background .2s}.route-card:hover{transform:translateY(-4px);background:var(--surface)}.route-card .eyebrow{font-size:8px;letter-spacing:.13em;display:block;line-height:1.6}.route-card h3{font-size:29px;margin-top:22px}.route-card p{font-size:13px;color:var(--text-2);margin:14px 0 30px}.route-card p strong{font-weight:500;color:var(--text);font-size:21px}.route-link{font-size:11px;border-bottom:1px solid var(--gold);padding-bottom:5px}.popular-routes:has(>.route-card:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.vehicle-panel h2{font-size:42px}.luggage-note{font-size:12px;color:var(--text-2)}.route-snapshot{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.drive-time{font-size:35px;letter-spacing:-.03em;line-height:1.3;margin:27px 0 12px}.drive-time>span{display:block;font-size:12px;letter-spacing:0;color:var(--text-2);margin-top:8px;max-width:320px}.snapshot-fares{margin:20px 0 25px}.snapshot-fares>div{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.snapshot-fares dt{font-weight:600}.snapshot-fares dd{margin:0;white-space:nowrap}.rate-terms dl,.booking-terms dl{margin:35px 0}.rate-terms dl>div,.booking-terms dl>div{display:grid;grid-template-columns:210px 1fr;gap:30px;padding:22px 0;border-top:1px solid var(--line)}.rate-terms dt,.booking-terms dt{font-size:15px;font-weight:600}.rate-terms dd,.booking-terms dd{font-size:15px;color:var(--text-2);margin:0}.return-fields{border:1px solid var(--border);background:var(--bg-alt);margin:5px 0;padding:20px;min-width:0}.return-fields legend{font-size:13px;font-weight:700;padding:0 8px}.mobile-contact-bar{display:none}.cta-band .button-row .button-outline{background:transparent;border-color:#263432;color:#182422}.table-scroll small{font-size:10px;font-weight:400;letter-spacing:0}.quote-result,.form-panel button[type="submit"]{scroll-margin-bottom:110px}.site-footer{padding-bottom:35px}.prose h2{margin-top:0}.prose p:last-child{margin-bottom:0}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,1fr)}.service-card,.service-card:last-child{min-height:260px}.trust-strip .wrap{gap:15px}.trust-strip span+span:before{margin-right:15px}.popular-routes{grid-template-columns:repeat(2,1fr)}.route-snapshot{gap:40px}.vehicle-grid{gap:25px}.vehicle-panel h2{font-size:36px}}
@media(max-width:850px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}html{scroll-padding-bottom:100px}.floating-contact{display:none}.mobile-contact-bar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--bg);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));min-height:76px;box-shadow:0 -3px 15px rgba(0,0,0,.45);transition:transform .16s,opacity .16s}.mobile-contact-bar>a{display:flex;align-items:center;justify-content:center;gap:18px;min-height:48px;font-size:14px;font-weight:700}.bar-whatsapp{background:var(--gold);color:var(--on-gold)}.bar-call{background:var(--surface-2);color:var(--text)}.bar-call span{font-size:10px;font-weight:400}.mobile-contact-bar.is-paused{transform:translateY(110%);opacity:0;pointer-events:none}.site-footer{padding-bottom:30px}.nav-services>summary{font-size:15px;padding:10px 0}.services-dropdown{position:static;width:auto;margin:0 0 10px;padding:8px 18px;border:0;border-left:2px solid var(--gold);box-shadow:none}.services-dropdown .nav-link{font-size:13px}.trust-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;padding-block:18px}.trust-strip span+span:before{display:none}.trust-strip span{font-size:10px}.route-snapshot{gap:35px}.snapshot-fares>div{display:block}.snapshot-fares dd{margin-top:6px}.vehicle-grid{grid-template-columns:1fr}.vehicle-panel h2 br{display:none}.vehicle-panel p{max-width:100%}.rate-terms dl>div,.booking-terms dl>div{grid-template-columns:170px 1fr;gap:25px}}
@media(max-width:560px){.service-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{min-height:230px;padding:26px 24px 42px}.service-card:last-child .card-number{margin-bottom:20px}.trust-strip .wrap{gap:12px 15px}.trust-strip span{font-size:9px;line-height:1.6}.popular-routes,.popular-routes:has(>.route-card:nth-child(3):last-child){grid-template-columns:1fr 1fr;gap:12px}.route-card{padding:23px 15px}.route-card .eyebrow{font-size:7px;letter-spacing:.05em}.route-card h3{font-size:25px;margin-top:18px}.route-card p{font-size:11px}.route-card p strong{display:block;font-size:22px}.route-link{font-size:9px}.route-snapshot{grid-template-columns:1fr;gap:35px}.route-snapshot h2{font-size:34px}.snapshot-fares>div{display:flex}.snapshot-fares dd{margin:0;font-size:12px}.snapshot-fares dt{font-size:12px}.rate-terms dl>div,.booking-terms dl>div{display:block;padding:20px 0}.rate-terms dd,.booking-terms dd{margin-top:10px}.return-fields{padding:16px 12px}.inline-routes{gap:18px}.mobile-contact-bar{padding-inline:12px}.mobile-contact-bar>a{gap:9px;font-size:13px}.bar-call span{font-size:9px}.cta-inner .button-row{width:100%;gap:10px}.cta-inner .button-row .button{font-size:12px;padding:13px 15px;gap:12px}.site-header nav{max-height:calc(100svh - 160px);overflow-y:auto}.prose h2{font-size:29px}.route-card:hover{transform:none}}
@media print{.mobile-contact-bar{display:none!important}body{padding-bottom:0}}
/* V3: readable bilingual content, practical route pages and responsive navigation. */
body{font-size:16px}.button,.text-link,.nav-link,.nav-services>summary,.footer-link,label,.form-panel>p,.form-note,.form-panel>.muted,.quote-result p,.quote-result .button,.consent a,.contact-layout>aside p,.preparation ul,.preparation .button{font-size:14px}.eyebrow{font-size:12px}.footer-brand>span,.footer-bottom,.footer-bottom .footer-link{font-size:12px}.site-footer h2{font-size:14px}.trust-strip span{font-size:14px}.route-card .eyebrow{font-size:12px;letter-spacing:.06em}.route-link,.route-card p,.luggage-note,.snapshot-fares>div,.snapshot-fares dt,.snapshot-fares dd,.drive-time>span{font-size:14px}.card-number{font-size:13px}.table-scroll small{font-size:12px}thead th{font-size:14px}.footer-brand p{font-size:25px}.footer-link{overflow-wrap:anywhere}.language-switch{font-size:14px;padding:8px 0;border-bottom:1px solid var(--gold);white-space:nowrap}.site-header nav{gap:21px}.nav-row{gap:20px}.intro-inner{width:min(var(--max),100%);margin-inline:auto}.page-intro .button-row{margin-top:30px}.page-intro .button{max-width:100%}.hero h1{font-size:clamp(54px,5.8vw,82px);max-width:770px}.hero-content>p:not(.eyebrow){max-width:600px}.hero-art{background-image:linear-gradient(90deg,rgba(11,11,11,.91),rgba(11,11,11,.47) 48%,rgba(11,11,11,.06)),var(--hero-photo)}.hero{min-height:735px}.hero h1 em{font-style:italic}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card p{max-width:none;font-size:16px}.service-card,.service-card:last-child{min-height:305px}.language-note{display:block;font-size:12px;color:var(--text-2);margin-top:16px}.route-intro{max-width:850px}.route-scope{margin-top:24px}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:90px;padding-block:80px;align-items:start}.reading-main{min-width:0;max-width:810px}.copy-section{padding:0 0 40px;margin-bottom:40px;border-bottom:1px solid var(--line)}.copy-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.copy-section h2{font-size:34px;line-height:1.24;margin:0 0 22px}.copy-section p{font-size:18px;line-height:1.8}.copy-section p:last-child{margin-bottom:0}.journey-aside{position:sticky;top:125px;border-top:2px solid var(--gold);padding-top:26px}.journey-aside h2{font-size:30px}.journey-aside p:not(.eyebrow){font-size:16px;color:var(--text-2)}.journey-aside .button{width:100%;gap:0}.reading-main .popular-routes{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;margin-top:32px}.related-link{display:flex;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.5}.related-link:hover{color:var(--gold)}.faq-list summary:after{content:'+';font-size:25px;color:var(--gold);margin-inline-start:20px}.faq-list details[open] summary:after{content:'−'}.faq-list summary>span{display:none}.button-row .button{max-width:100%}.route-card h3{overflow-wrap:normal}.form-panel{min-width:0}#quote-form{scroll-margin-top:120px}.quote-result pre{font-size:15px}.form-note{line-height:1.7}.consent input{width:20px;min-width:20px;height:20px}.button:disabled{opacity:.5}.site-footer .footer-brand img{object-fit:contain}.page-view:not([hidden]){animation:page-in .3s ease-out}.route-art,.hero-art{pointer-events:none}
[dir="rtl"] body{font-family:Tahoma,Arial,sans-serif}[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] .eyebrow,[dir="rtl"] .hero h1{letter-spacing:0}[dir="rtl"] .hero h1{font-size:clamp(44px,5.2vw,76px);max-width:760px;line-height:1.38}[dir="rtl"] .hero-art{background-image:linear-gradient(270deg,rgba(11,11,11,.94),rgba(11,11,11,.64) 48%,rgba(11,11,11,.18)),var(--hero-photo)}[dir="rtl"] .copy-section p{line-height:1.95}[dir="rtl"] caption,[dir="rtl"] th,[dir="rtl"] td{text-align:right}[dir="rtl"] .services-dropdown{right:-22px;left:auto}[dir="rtl"] .fine-print{line-height:1.9}[dir="rtl"] .footer-link[dir="ltr"]{text-align:right}[dir="rtl"] .route-card h3{line-height:1.5}[dir="rtl"] .hero-content>p:not(.eyebrow){font-size:19px;line-height:1.9}[dir="rtl"] .brand{direction:ltr}.services-dropdown .nav-link{font-size:14px;padding:9px 0}.intro-split .copy-section h2{font-size:30px}.intro-split .copy-section{border:0;padding:0;margin:0}.reading-main .table-scroll{max-width:100%}
@media(max-width:1100px){.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);padding:20px 32px 30px;border-bottom:1px solid var(--line);box-shadow:0 10px 15px rgba(0,0,0,.35);flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100svh - 115px);overflow-y:auto}.site-header nav.is-open{display:flex}.menu-toggle{display:block;font-size:14px;min-height:44px}.nav-link,.nav-services>summary{font-size:16px;padding:11px 0}.nav-row{min-height:78px}.site-header nav .button{margin-top:12px}.services-dropdown,[dir="rtl"] .services-dropdown{position:static;width:auto;box-shadow:none;border:0;border-inline-start:2px solid var(--gold);padding:6px 20px;margin-bottom:14px}.language-switch{align-self:start;margin-top:12px}.reading-layout{grid-template-columns:minmax(0,1fr) 245px;gap:40px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-links{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:64px}.hero-content{padding-top:85px}.hero{min-height:700px}}
@media(max-width:850px){.reading-layout{grid-template-columns:1fr;padding-block:65px;gap:45px}.journey-aside{position:static;max-width:580px}.journey-aside .button{width:auto}.hero h1{font-size:60px}.hero-content{padding-top:65px}.hero{min-height:740px}.trust-strip span{font-size:14px}.page-intro h1{font-size:52px}.trust-strip .wrap{gap:12px 24px}.mobile-contact-bar>a{font-size:15px}.site-header nav{max-height:calc(100svh - 100px)}.hero h1 em{white-space:normal}.hero-content>p:not(.eyebrow){max-width:520px}.reading-main{max-width:100%}.hero-art{background-position:60% center}}
@media(max-width:560px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.hero{min-height:745px;height:auto}.hero h1{font-size:47px;line-height:1.1;max-width:360px}.hero-content{padding-top:55px}.hero-content>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:340px}.hero .eyebrow{font-size:12px}.hero .button{font-size:14px;padding:14px 16px}.hero .button-row{max-width:100%;gap:12px}.hero-art{background-image:linear-gradient(180deg,rgba(11,11,11,.91) 0%,rgba(11,11,11,.66) 58%,rgba(11,11,11,.08)),var(--hero-photo);background-position:63% center;background-size:auto 100%}.service-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{min-height:0;padding:27px 24px 35px}.service-card h3{font-size:28px}.trust-strip .wrap{gap:12px 18px}.trust-strip span{font-size:13px;line-height:1.7}.page-intro h1{font-size:40px;line-height:1.15;overflow-wrap:break-word}.page-intro .lead{font-size:18px}.page-intro{padding:48px 20px}.copy-section h2{font-size:28px;line-height:1.28}.copy-section p{font-size:17px;line-height:1.85}.copy-section{padding-bottom:30px;margin-bottom:30px}.reading-layout{padding-block:50px}.related-links{grid-template-columns:1fr}.related-link{font-size:17px;padding:18px 0}.route-card{padding:22px 15px}.route-card .eyebrow{font-size:12px;letter-spacing:0}.route-link{font-size:14px}.route-card h3{font-size:25px}.route-card p{font-size:14px}.route-card p strong{font-size:23px}.reading-main .popular-routes{gap:12px}.snapshot-fares dt,.snapshot-fares dd{font-size:14px}.cta-inner .button-row .button{font-size:14px;padding:14px 17px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-link{font-size:14px}.site-footer h2{font-size:14px}.footer-bottom,.footer-bottom .footer-link{font-size:12px}.form-panel{padding:24px 18px}.form-panel>p,.form-panel>.muted,label,.form-note{font-size:14px}input,select,textarea{font-size:16px}.quote-result .button{font-size:14px}.quote-result pre{font-size:14px;padding:15px}.button{min-height:48px}.mobile-contact-bar>a{font-size:15px}.fine-print{font-size:14px}.guide-card>p:not(.eyebrow){font-size:16px}.guide-card h2{font-size:29px}.contact-method span{font-size:14px}.contact-method a{font-size:18px;overflow-wrap:anywhere}[dir="rtl"] .hero h1{font-size:40px;line-height:1.45}[dir="rtl"] .hero-content>p:not(.eyebrow){font-size:18px}[dir="rtl"] .hero{min-height:790px}[dir="rtl"] .page-intro h1{font-size:36px;line-height:1.5}.faq-list summary{font-size:18px}.faq-list details>p{font-size:16px}.prose p{font-size:17px}}
@media(max-width:375px){.hero h1{font-size:43px}.hero .button-row{align-items:stretch}.hero .button{padding-inline:13px;font-size:14px}.hero-content{padding-top:45px}.hero{min-height:745px}.route-card{padding-inline:12px}.route-card h3{font-size:23px}.page-intro h1{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


/* Independent approval preview; source website remains unchanged. */


.approval-hero{position:relative;isolation:isolate;overflow:hidden;min-height:435px;display:flex;align-items:center;background:var(--bg);padding-block:76px;color:var(--text)}
.approval-hero:before{content:'';position:absolute;inset:0;z-index:-2;background-image:var(--page-photo);background-size:cover;background-position:75% 48%;opacity:.24;animation:abc-photo-in 1.2s ease-out both;pointer-events:none}
.approval-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--bg) 2%,rgba(11,11,11,.92) 28%,rgba(11,11,11,.52) 66%,rgba(11,11,11,.1));pointer-events:none}
.approval-hero .intro-inner{width:100%;max-width:var(--max);position:relative}.approval-hero h1{max-width:930px;line-height:1.08;font-size:clamp(38px,4.6vw,68px);letter-spacing:-.045em;color:var(--text);animation:abc-rise .65s ease-out both}
.approval-hero .eyebrow{color:var(--gold);letter-spacing:.16em;animation:abc-rise .55s ease-out both}
.approval-hero .lead{max-width:750px;font-size:20px;line-height:1.7;color:var(--text-2);animation:abc-rise .75s ease-out both}
.approval-hero .button-row{margin-top:28px;animation:abc-rise .85s ease-out both}
.approval-hero .button{font-size:15px;min-height:50px}.approval-hero .button-outline{border-color:var(--line-strong)}
.approval-hero .intro-inner:after{content:'';display:block;width:72px;height:2px;background:var(--gold);margin-top:32px;transform-origin:left;animation:abc-line 1s ease-out both}
.hero .hero-art{opacity:.5}.hero{background:var(--bg)}.hero h1 em{color:var(--gold)}.hero .hero-content{padding-bottom:60px}
.service-grid{gap:24px;border:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card,.service-card:last-child{min-height:0;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 18px rgba(0,0,0,.3);transition:transform .25s,box-shadow .25s,border-color .25s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px rgba(0,0,0,.45);border-color:var(--border-strong);background:var(--surface)}
.service-photo{height:auto;aspect-ratio:16/9;flex:none;width:100%;background-image:var(--service-photo);background-position:center;background-size:cover;position:relative;border-bottom:1px solid var(--line);transition:filter .3s;filter:saturate(.75)}
.service-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,11,.21),transparent 60%)}
.service-card:hover .service-photo{filter:saturate(1)}.service-copy{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.service-card .card-number,.service-card:last-child .card-number{margin:0 0 13px;font-size:13px;color:var(--gold);letter-spacing:.13em}
.service-card h3,.service-card:last-child h3{font-size:27px;line-height:1.22;max-width:none;margin:0 0 14px}
.service-card p,.service-card:last-child p{font-size:16px;line-height:1.75;max-width:none;margin:0;color:var(--text-2)}
.service-card .service-more{font-size:14px;font-weight:600;color:var(--gold);margin-top:24px;display:block}
.popular-routes{gap:20px}.route-card,.route-card:hover{position:relative;isolation:isolate;overflow:hidden;background:var(--surface);color:var(--text);border:1px solid var(--border);border-top:2px solid var(--gold);padding:28px 23px;min-height:250px}
.route-card:before{content:'';position:absolute;inset:0;background-image:var(--photo-causeway);background-position:center;background-size:cover;opacity:.115;z-index:-2;pointer-events:none}
.route-card:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,11,11,.3),rgba(11,11,11,.08));z-index:-1;pointer-events:none}
.route-card:hover{border-color:var(--border-strong);transform:translateY(-4px)}.route-card .eyebrow{color:var(--gold);font-size:12px;letter-spacing:.08em;line-height:1.6}
.route-card h3{color:var(--text);font-size:30px;margin-top:24px;line-height:1.2}.route-card p{color:var(--text-2);font-size:14px;margin-bottom:28px}
.route-card p strong{color:var(--text);font-size:23px;font-weight:600;display:inline-block;padding:6px 11px;margin-top:5px;border:1px solid var(--border-strong);background:rgba(11,11,11,.72)}
.route-card .route-link{color:var(--text);border-color:var(--gold);font-size:14px;display:inline-block;line-height:1.5}
.journey-aside,.preparation{background:var(--surface);color:var(--text);border:1px solid var(--border);border-top:3px solid var(--gold);padding:30px 25px;box-shadow:0 12px 28px rgba(0,0,0,.3);overflow:hidden}
.journey-aside .eyebrow,.preparation .eyebrow{color:var(--gold);font-size:12px;letter-spacing:.12em;margin:0 0 20px}.journey-aside h2,.preparation h3{font-size:32px;line-height:1.13;letter-spacing:-.04em;color:var(--text);margin-bottom:18px}
.journey-aside h2 span{display:block;color:var(--gold)}.journey-aside p:not(.eyebrow),.preparation p,.preparation ul{color:var(--text-2);font-size:16px;line-height:1.75}
.journey-aside .button,.preparation .button{background:var(--gold);border-color:var(--gold);color:var(--on-gold);width:100%;min-height:50px;margin-top:24px;font-size:14px;gap:10px}
.journey-chips{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:22px 0 0}.journey-chips span{display:block;text-align:center;padding:9px 7px;border:1px solid var(--line);color:var(--text);font-size:13px;background:#ffffff04}
.cta-band{isolation:isolate;position:relative;overflow:hidden;border-top:1px solid #101b1e24;border-bottom:1px solid #101b1e24;background:radial-gradient(120% 140% at 78% 40%,#ead7a0 0%,#ead7a000 60%),linear-gradient(100deg,#d6bd70 0%,#dcc57e 45%,#e3cd8b 100%);padding:40px 0}
.cta-band:before{content:'';position:absolute;z-index:-1;right:max(-40px,calc((100% - 1360px)/2 - 60px));bottom:-6%;height:100%;width:auto;max-width:70%;aspect-ratio:630/337;background:var(--photo-suv) no-repeat right bottom / contain;opacity:.2;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent 0%,#000 38%);pointer-events:none}
.cta-band:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#dcc57e8c 0%,#dcc57e00 55%);pointer-events:none}
.cta-inner{min-height:160px;gap:35px}.cta-inner h2{font-size:clamp(30px,3.2vw,42px);line-height:1.12;max-width:780px}.cta-inner .eyebrow{display:flex;align-items:center;gap:12px;color:#4a4027}
.cta-inner .eyebrow:before{content:'';height:1px;width:28px;background:#665326}.cta-inner p{font-size:17px;line-height:1.7}.cta-inner>.button-row{justify-content:flex-end;flex-shrink:0;max-width:390px}.cta-inner .button{box-shadow:0 5px 15px rgba(0,0,0,.3);min-height:50px}
.reading-main .popular-routes .route-card{padding:23px 20px}.reading-main .popular-routes h3{font-size:28px}
.related-journeys{padding-block:52px}
.related-journeys .related-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}
.related-journeys .related-link{position:relative;display:flex;align-items:center;justify-content:flex-start;min-width:0;min-height:62px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);color:var(--text);isolation:isolate;overflow:hidden;text-decoration:none;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.related-journeys .related-link:before{content:'';position:absolute;z-index:-1;right:-14px;bottom:-30%;height:160%;aspect-ratio:420/225;background:var(--photo-related-suv) no-repeat right bottom/contain;opacity:.13;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%);pointer-events:none;transition:opacity .3s,transform .4s ease}
.related-journeys .related-link:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none;transition:transform .35s ease}
.related-journeys .connection-title{min-width:0;padding-inline-end:1.2em;font-size:17px;line-height:1.5;font-weight:500;color:inherit;overflow-wrap:break-word}
.related-journeys .connection-title i{display:inline-block;width:1em;margin-inline-start:.15em;margin-inline-end:-1.15em;font-style:normal;color:var(--gold);transition:color .25s,transform .25s}
.related-journeys .related-link:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}
.related-journeys .related-link:hover:before{opacity:.24;transform:translateX(-6px)}
.related-journeys .related-link:hover:after{transform:scaleX(1)}
.related-journeys .related-link:hover i{color:var(--gold-hover);transform:translateX(4px)}
.related-journeys .related-link:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.related-journeys .related-link:active{background:var(--surface-2)}
[dir=rtl] .related-journeys .related-link:after{transform-origin:right}
[dir=rtl] .related-journeys .related-link:hover i{transform:translateX(-4px)}
.airport-connections .related-links{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.related-journeys .related-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.related-journeys{padding-block:36px}.related-journeys .related-links{grid-template-columns:1fr;gap:10px;margin-top:22px}.related-journeys .related-link{padding:14px 16px;min-height:54px}.related-journeys .connection-title{font-size:16px}}
@keyframes abc-rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes abc-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes abc-photo-in{from{opacity:0;transform:scale(1.025)}to{opacity:.24;transform:scale(1)}}
[dir=rtl] .approval-hero:after{background:linear-gradient(270deg,var(--bg) 2%,rgba(11,11,11,.92) 28%,rgba(11,11,11,.52) 66%,rgba(11,11,11,.1))}
[dir=rtl] .approval-hero h1{line-height:1.4;letter-spacing:0}[dir=rtl] .approval-hero .eyebrow{letter-spacing:0}[dir=rtl] .approval-hero .intro-inner:after{transform-origin:right}
@media(max-width:1100px){.approval-hero{min-height:420px;padding:64px 40px}.approval-hero h1{max-width:810px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cta-inner{gap:25px}.cta-inner>.button-row{max-width:260px}.journey-aside{padding:25px 19px}.journey-aside h2{font-size:30px}.reading-layout{gap:32px}}
@media(max-width:850px){.approval-hero{padding:58px 32px;min-height:420px}.approval-hero h1{font-size:48px}.approval-hero .lead{font-size:18px}.service-copy{padding:24px}.service-card h3,.service-card:last-child h3{font-size:25px}.journey-aside{max-width:none;padding:30px}.journey-aside .button{width:auto;min-width:220px}.journey-chips{max-width:400px;grid-template-columns:repeat(4,1fr)}.cta-inner{align-items:flex-start;flex-direction:column;gap:25px}.cta-inner>.button-row{max-width:none;justify-content:flex-start}.cta-band:before{right:-60px;opacity:.17;height:96%}.popular-routes,.popular-routes:has(>.route-card:nth-child(3):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.approval-hero{padding:48px 20px;min-height:420px}.approval-hero h1{font-size:38px;line-height:1.12;letter-spacing:-.035em}.approval-hero .lead{font-size:17px;line-height:1.75;margin-top:22px}.approval-hero:before{background-position:68% center;opacity:.18;animation:none}.approval-hero:after{background:linear-gradient(90deg,rgba(11,11,11,.92) 0%,rgba(11,11,11,.4) 85%)}.approval-hero .button-row{gap:12px}.approval-hero .button{font-size:14px;padding:14px 17px}.hero h1{font-size:44px}.hero .hero-art{opacity:.42}.service-grid{grid-template-columns:1fr;gap:22px}.service-card,.service-card:last-child{padding:0}.service-copy{padding:24px}.service-card h3,.service-card:last-child h3{font-size:27px}.service-card p,.service-card:last-child p{font-size:16px}.popular-routes,.reading-main .popular-routes,.popular-routes:has(>.route-card:nth-child(3):last-child){grid-template-columns:1fr;gap:16px}.route-card,.reading-main .popular-routes .route-card{min-height:235px;padding:27px}.route-card h3{font-size:32px}.route-card p{margin:16px 0 25px}.journey-aside,.preparation{padding:30px 24px}.journey-aside h2{font-size:34px}.journey-aside .button{width:100%;min-width:0}.journey-chips{grid-template-columns:1fr 1fr}.cta-band{padding:36px 0}.cta-inner{min-height:0;gap:25px}.cta-inner h2{font-size:34px}.cta-inner p{font-size:16px}.cta-inner>.button-row,.cta-inner>.button{width:100%}.cta-inner>.button-row>.button{flex:1;min-width:160px}.cta-band:before{height:62%;max-width:none;right:-18%;bottom:72px;opacity:.13}.cta-inner .button{min-height:52px}.service-card .service-more{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.approval-hero:before,.approval-hero h1,.approval-hero .eyebrow,.approval-hero .lead,.approval-hero .button-row,.approval-hero .intro-inner:after{animation:none}.service-card,.route-card,.service-photo,.related-journeys .related-link,.related-journeys .related-link:before,.related-journeys .related-link:after,.related-journeys .connection-title i{transition:none}}
@media print{.approval-hero:before,.approval-hero:after{display:none}.approval-hero h1,.approval-hero .lead{color:#111}.approval-hero{min-height:0;display:block}.route-card{break-inside:avoid}}


/* V4 fixes — rates order, vehicle cards, steps, hero photos, overflow, floating WhatsApp, footer logo */
.footer-brand img{background:none!important}
.route-snapshot>*{min-width:0}.route-snapshot .table-scroll{max-width:100%}.route-snapshot table{width:100%}
.approval-hero:before{opacity:.42;background-position:70% 50%}
.approval-hero:after{background:linear-gradient(90deg,var(--bg) 0%,rgba(11,11,11,.9) 34%,rgba(11,11,11,.45) 70%,rgba(11,11,11,.15))}
[dir="rtl"] .approval-hero:after{background:linear-gradient(270deg,var(--bg) 0%,rgba(11,11,11,.9) 34%,rgba(11,11,11,.45) 70%,rgba(11,11,11,.15))}
.vehicle-section{padding-block:72px}
.vehicle-section--home{padding-block:84px}
.vehicle-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}
.vehicle-head h2{margin:0}
.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.vehicle-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);color:inherit;text-decoration:none}
.vehicle-art{background:var(--bg);padding:34px 30px 26px;display:flex;justify-content:center;border-bottom:2px solid var(--gold)}
.vehicle-art svg{width:100%;max-width:230px;height:auto;fill:none;stroke:var(--gold);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.vehicle-body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.vehicle-body h3{font-size:27px;line-height:1.2;margin:0 0 6px}
.vehicle-pax{margin:0;font-size:15px;color:var(--gold);font-weight:600}
.vehicle-use{margin:14px 0 0;font-size:16px;line-height:1.65;color:var(--text-2)}
.vehicle-fares{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vehicle-fares>div{padding:14px 0;text-align:center}.vehicle-fares>div+div{border-left:1px solid var(--line)}
.vehicle-fares dt{font-size:12px;color:var(--text-2);margin-bottom:4px}
.vehicle-fares dd{margin:0;font-size:28px;font-weight:600;color:var(--text);letter-spacing:-.02em}
.vehicle-currency{margin:10px 0 22px;font-size:12px;color:var(--text-2);text-align:center}
.vehicle-button{margin-top:auto;justify-content:center;text-align:center}
.vehicle-note{margin:26px 0 0;font-size:15px;color:var(--text-2);max-width:720px}.vehicle-note a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.vehicle-card--compact{transition:border-color .2s}
.vehicle-card--compact:hover,.vehicle-card--compact:focus-visible{border-color:var(--border-strong)}
.vehicle-card--compact .vehicle-art{padding:26px 26px 20px}
.vehicle-card--compact .vehicle-body{padding:22px 24px 24px}
.vehicle-card--compact h3{font-size:24px}
.vehicle-from{margin:16px 0 0;font-size:15px;color:var(--text-2)}.vehicle-from strong{color:var(--text);font-size:18px;margin-left:4px}
.steps-section{padding-block:80px;border-bottom:1px solid var(--line)}
.steps-section h2{margin:0 0 36px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--gold)}
.steps li{padding:28px 30px 8px 0}.steps li+li{padding-left:30px;border-left:1px solid var(--line)}
.step-num{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--bg);color:var(--gold);font-weight:700;font-size:18px;margin-bottom:18px}
.steps h3{font-size:22px;margin:0 0 10px}.steps p{margin:0;font-size:16px;line-height:1.65;color:var(--text-2)}
.floating-contact{width:58px;height:58px;padding:0!important;border-radius:50%;justify-content:center;gap:0!important;transition:transform .2s,opacity .2s}
.floating-contact svg{width:28px;height:28px}
.floating-contact.is-hidden{opacity:0;transform:translateY(16px);pointer-events:none}
@media(max-width:1100px){.vehicle-grid{grid-template-columns:1fr 1fr}.vehicle-grid>:last-child{grid-column:1/-1;max-width:calc(50% - 12px)}}
@media(max-width:850px){.steps{grid-template-columns:1fr}.steps li,.steps li+li{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}}
@media(max-width:700px){.vehicle-grid{grid-template-columns:1fr}.vehicle-grid>:last-child{max-width:none}.vehicle-head{flex-direction:column;align-items:start}.vehicle-section,.vehicle-section--home,.steps-section{padding-block:56px}}
@media(prefers-reduced-motion:reduce){.floating-contact,.vehicle-card--compact{transition:none}}
.route-card--wide{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:0!important;margin-top:20px;padding:26px 30px}.route-card--wide h3{margin:6px 0 0}.route-card--wide p{margin:0!important}.route-skyline{margin-bottom:34px}.skyline-art{display:block;width:100%;height:auto}.sk-label{font:600 13px Arial,Helvetica,sans-serif;letter-spacing:.3em;fill:var(--gold);stroke:none}.sk-pin{font:12px Arial,Helvetica,sans-serif;fill:var(--text-2);stroke:none}@media(max-width:700px){.route-skyline{margin-bottom:22px}.sk-pin,.sk-wave{display:none}.sk-label{font-size:30px;letter-spacing:.2em}}@media(max-width:700px){.route-card--wide{flex-direction:column;align-items:flex-start;gap:12px}}

/* Gold CTA component — verbatim from ABC_CTA_Add_To_Website.zip (ABC_CTA_Embed.html) */
/* ABC Limousine CTA: all component styles are scoped to this section. */
.abc-journey-cta,
.abc-journey-cta * { box-sizing: border-box; }
.abc-journey-cta {
  --abc-cta-gold: #dcc57e;
  --abc-cta-ink: #101b1e;
  width: 100%;
  margin: 0;
  background: var(--abc-cta-gold);
  color: var(--abc-cta-ink);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.abc-journey-cta .abc-journey-cta__inner {
  width: calc(100% - 96px);
  max-width: 1360px;
  min-height: 240px;
  margin-inline: auto;
  padding-block: 40px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 32px 48px;
}
.abc-journey-cta .abc-journey-cta__copy { min-width: 0; }
.abc-journey-cta .abc-journey-cta__eyebrow {
  margin: 0 0 16px;
  color: var(--abc-cta-ink);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.abc-journey-cta .abc-journey-cta__title {
  margin: 0;
  color: var(--abc-cta-ink);
  font-size: clamp(34px, 3vw, 42px);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1.12;
  overflow-wrap: break-word;
  text-wrap: balance;
}
.abc-journey-cta .abc-journey-cta__description {
  max-width: 740px;
  margin: 18px 0 0;
  color: #3c443b;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.6;
  overflow-wrap: break-word;
}
.abc-journey-cta .abc-journey-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  max-width: 100%;
  padding: 15px 26px;
  border: 1px solid var(--abc-cta-ink);
  border-radius: 0;
  background: var(--abc-cta-ink);
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  transition: background-color .18s ease, box-shadow .18s ease;
}
.abc-journey-cta .abc-journey-cta__button:visited { color: #fff; }
.abc-journey-cta .abc-journey-cta__button:hover {
  background: #283235;
  color: #fff;
  text-decoration: none;
}
.abc-journey-cta .abc-journey-cta__button:focus-visible {
  outline: 3px solid var(--abc-cta-ink);
  outline-offset: 5px;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .abc-journey-cta .abc-journey-cta__inner {
    width: calc(100% - 64px);
    min-height: 232px;
    gap: 24px;
    padding-block: 36px;
  }
  .abc-journey-cta .abc-journey-cta__title { font-size: 36px; }
  .abc-journey-cta .abc-journey-cta__description { font-size: 16px; }
  .abc-journey-cta .abc-journey-cta__button { padding-inline: 22px; }
}
@media (max-width: 767px) {
  .abc-journey-cta .abc-journey-cta__inner {
    width: calc(100% - 40px);
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding-block: 36px;
  }
  .abc-journey-cta .abc-journey-cta__eyebrow {
    font-size: 11px;
    margin-bottom: 14px;
  }
  .abc-journey-cta .abc-journey-cta__title {
    max-width: 20ch;
    font-size: clamp(30px, 7.5vw, 36px);
    line-height: 1.15;
  }
  .abc-journey-cta .abc-journey-cta__description {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.6;
  }
  .abc-journey-cta .abc-journey-cta__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .abc-journey-cta .abc-journey-cta__button { transition: none; }
}

/* Grow Engine build — small additions on top of the V4.4 design */

/* Service card photos are real <img> elements (lazy-loaded, with alt text)
   instead of CSS backgrounds, so they fill the existing photo frame. */
.service-photo{background-image:none}
.service-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* Gold CTA: keep RTL pages aligned to the start edge. */
[dir="rtl"] .abc-journey-cta{font-family:Tahoma,Arial,sans-serif}
[dir="rtl"] .abc-journey-cta .abc-journey-cta__title,
[dir="rtl"] .abc-journey-cta .abc-journey-cta__eyebrow{letter-spacing:0}

@media print{.abc-journey-cta__button{display:none}}

/* Gold CTA: line the text and button up with the site grid (.wrap) instead of
   the component's stand-alone 100% - 96px / 1360px container. Mobile and tablet
   widths already match the grid. */
@media (min-width: 1101px) {
  .abc-journey-cta .abc-journey-cta__inner { width: min(var(--max), calc(100% - 112px)); max-width: none; }
}
@media (min-width: 768px) and (max-width: 1100px) {
  .abc-journey-cta .abc-journey-cta__inner { width: calc(100% - 64px); }
}

/* Mobile fare tables: let row labels wrap so the price columns stay on screen
   (V4.4 kept every cell on one line, which pushed Doha prices off-screen). */
@media (max-width: 560px) {
  .table-scroll tbody th { white-space: normal; min-width: 9em; }
  .table-scroll th, .table-scroll td { padding: 13px 12px; }
}

/* Dark luxury theme — component rules on top of the role tokens defined in
   10-v4.css (:root). Colours always come from tokens; nothing here is a
   one-off colour. The gold CTA band (20-gold-cta.css) intentionally stays gold. */
html{color-scheme:dark;background:var(--bg)}
/* Final safety net only: real overflow is fixed where it starts. */
html,body{overflow-x:clip}
body{line-height:1.75}
.page-view :is(p,li){max-width:70ch}
.eyebrow{color:var(--gold)}

/* Links and accents */
.text-link,.prose a,.copy-section a,details>p a,.consent a,.vehicle-note a,.route-link{color:var(--gold)}
.text-link:hover,.prose a:hover,.copy-section a:hover{color:var(--gold-hover)}
.nav-link,.nav-services>summary{color:var(--text)}
.nav-link:hover,.nav-services>summary:hover{color:var(--gold)}

/* Header: solid, opaque, sticky; a soft shadow fades in once the page scrolls
   (site.js toggles .is-scrolled; only the shadow layer's opacity animates). */
.site-header{background:var(--bg);border-bottom:1px solid var(--line)}
.site-header:after{content:'';position:absolute;left:0;right:0;top:100%;height:16px;pointer-events:none;
  background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));opacity:0;transition:opacity .25s}
.site-header.is-scrolled:after{opacity:1}
.menu-toggle{border-color:var(--line-strong);color:var(--text);background:var(--surface)}

/* Card links: the whole card is the link, so none of its text is underlined, even
   inside long-read prose (where .prose a underlines ordinary links). Hover keeps the
   card's own effects: lift, and the gold "Explore the route" rule (a border). */
a:is(.route-card,.service-card,.related-link,.vehicle-card,.guide-card),
:is(.route-card,.service-card,.related-link,.vehicle-card,.guide-card) *{text-decoration:none}

/* Panels and dropdowns */
.services-dropdown{border-color:var(--border)}
@media (min-width:1101px){.services-dropdown{box-shadow:0 18px 40px rgba(0,0,0,.55)}}
.form-panel,.return-fields{border-color:var(--border)}
.skip-link{color:var(--on-gold)}

/* Forms: dark fields, gold focus ring */
input,select,textarea{background:var(--bg);border-color:var(--line-strong);color:var(--text)}
input::placeholder,textarea::placeholder{color:var(--text-2);opacity:.75}
select option{background:var(--surface);color:var(--text)}
:is(input,select,textarea):focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold)}

/* Rates and fare tables */
.table-scroll{background:var(--surface);border-color:var(--border)}
caption,thead th{color:var(--text)}

/* Print: the same tokens, on paper */
@media print{:root{--bg:#fff;--bg-alt:#fff;--surface:#fff;--surface-2:#f2f2f2;--text:#111;--text-2:#444;
  --line:#ccc;--line-strong:#999;--border:#ccc;--border-strong:#999;--gold:#6b5000}}

/* Booking steps: the number sits in a gold-ringed disc on the dark page */
.step-num{background:var(--surface);border:1px solid var(--border-strong);color:var(--gold)}

/* Motion — premium, subtle, never flashy. Only transform, opacity and
   stroke-dashoffset are ever animated. Motion runs only when <html> has the
   class "motion", which a one-line head script sets when the site field
   motion_enabled is true and the visitor has not asked for reduced motion.
   With JavaScript off the class is never set and the page stays static and
   fully visible: nothing is hidden by default. Skylines: 45-skyline.css. */
:root{--m-ease:cubic-bezier(.22,.61,.36,1);--m-dur:.6s;--m-step:80ms;--m-dir:1}
[dir=rtl]{--m-dir:-1}[dir=ltr]{--m-dir:1}

/* Hard rule: transitions may only move or fade things. Colour, border, shadow
   and filter changes from the V4.4 design now happen instantly. */
*,*:before,*:after{transition-property:transform,opacity,stroke-dashoffset!important}

/* Static page: every animation (including the V4.4 hero animations, which
   used to run even without JavaScript) jumps straight to its end state, so the
   page looks exactly like the settled design, with no movement. */
html:not(.motion) *,html:not(.motion) *:before,html:not(.motion) *:after{
  animation-duration:0s!important;animation-delay:0s!important;animation-iteration-count:1!important}

/* site.motion_enabled = false: switch off every transition and hover movement too. */
.no-motion *,.no-motion *:before,.no-motion *:after{transition:none!important}
.no-motion .button:hover,.no-motion .route-card:hover,.no-motion .vehicle-card:hover,.no-motion .service-card:hover,
.no-motion .text-link:hover span,.no-motion .related-journeys .related-link:hover:before,
.no-motion .related-journeys .related-link:hover i{transform:none!important}

/* The V4.4 whole-page fade (left over from its single-page router) would
   double up with the hero entrance; every page is a real URL now. */
.page-view:not([hidden]){animation:none}

@keyframes m-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ---- Hero: eyebrow, headline lines, lead and buttons stagger in on load;
   the photo zooms very slowly (Ken Burns, 1 → 1.06 over 20 s). */
.motion .m-in{animation:m-rise var(--m-dur) var(--m-ease) both;animation-delay:calc(var(--i,0) * var(--m-step) + 60ms)}
.motion .h-line{display:inline-block}
.motion .hero-art{animation:hero-in 1s ease-out,m-kenburns 20s ease-in-out 1s infinite alternate}
.motion .approval-hero:before{animation:abc-photo-in 1.2s ease-out both,m-kenburns 20s ease-in-out 1.2s infinite alternate}
@keyframes m-kenburns{from{transform:scale(1)}to{transform:scale(1.06)}}

/* ---- Scroll reveal. site.js adds .rv only to inner blocks, cards, list items
   and table rows that start below the fold, then .rv-in when they come into
   view (staggered 80 ms), then removes both. Nothing in or above the viewport
   can stay hidden (see site.js). */
.motion .rv{opacity:0;transform:translateY(16px)}
.motion .rv.rv-in{opacity:1;transform:none;transition:opacity var(--m-dur) var(--m-ease),transform var(--m-dur) var(--m-ease);transition-delay:var(--rv-d,0ms)}

/* Section headings carry a short gold rule; it draws in when revealed. */
.page-view :is(.section,.copy-section,.reading-main) h2:not(.guide-card h2):not(.abc-journey-cta__title):after{
  content:'';display:block;width:56px;height:2px;margin-top:.45em;background:var(--gold);transform-origin:left center}
[dir=rtl] .page-view h2:after{transform-origin:right center}
.motion :is(.rv h2,h2.rv):after{transform:scaleX(0)}
.motion :is(.rv-in h2,h2.rv-in):after{transform:scaleX(1);transition:transform .7s var(--m-ease) .25s}

/* ---- Gold shimmer on primary CTA and WhatsApp buttons, every ~6 s.
   A soft light band sweeps across in the reading direction (right to left on
   Arabic pages). :where() keeps specificity low so the design's rules win. */
.motion :where(.button:not(.button-outline):not(.button-secondary):not(.button-small),.button[href*="wa.me"],
.abc-journey-cta__button,.bar-whatsapp){position:relative;overflow:hidden;isolation:isolate}
.motion :where(.button:not(.button-outline):not(.button-secondary):not(.button-small),.button[href*="wa.me"],
.abc-journey-cta__button,.bar-whatsapp):after{
  content:'';position:absolute;top:0;bottom:0;inset-inline-start:0;width:60%;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent 15%,rgba(255,250,228,.55) 50%,transparent 85%);
  transform:translateX(calc(-110% * var(--m-dir)));
  animation:m-shimmer 6s ease-in-out 1.6s infinite}
/* dark and outline buttons get a gold glint instead of a light one */
.motion :where(.button-outline[href*="wa.me"],.abc-journey-cta__button):after{
  background:linear-gradient(100deg,transparent 15%,rgba(217,164,32,.32) 50%,transparent 85%)}
@keyframes m-shimmer{
  0%{transform:translateX(calc(-110% * var(--m-dir)))}
  22%,100%{transform:translateX(calc(190% * var(--m-dir)))}}

/* ---- Floating WhatsApp button: a soft gold ring pulses out every ~8 s. */
.motion .floating-contact:before{content:'';position:absolute;inset:0;border-radius:inherit;border:2px solid var(--gold);
  opacity:0;pointer-events:none;animation:m-ring 8s ease-out 2s infinite}
@keyframes m-ring{0%{transform:scale(1);opacity:.75}22%,100%{transform:scale(1.6);opacity:0}}

/* ---- Route and vehicle cards: hover lift with a soft shadow (the shadow
   itself never animates; on vehicle cards it fades on a separate layer). */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  html:not(.no-motion) .route-card{transition:transform .35s var(--m-ease)}
  html:not(.no-motion) .route-card:hover{transform:translateY(-4px);box-shadow:0 20px 36px -18px rgba(0,0,0,.85)}
  html:not(.no-motion) .vehicle-card{position:relative;isolation:isolate;transition:transform .35s var(--m-ease)}
  html:not(.no-motion) .vehicle-card:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
    box-shadow:0 20px 36px -18px rgba(0,0,0,.85),0 0 0 1px var(--border-strong);opacity:0;transition:opacity .35s var(--m-ease)}
  html:not(.no-motion) .vehicle-card:hover{transform:translateY(-4px)}
  html:not(.no-motion) .vehicle-card:hover:after{opacity:1}
}

/* ---- FAQ: a plus that turns into a minus; the answer fades and slides in.
   (Height changes instantly: animating height is outside the motion rules.) */
.faq-list summary{position:relative;padding-inline-end:48px}
.faq-list summary:before,.faq-list summary:after,.faq-list details[open] summary:after{
  content:'';position:absolute;inset-inline-end:8px;top:50%;width:16px;height:2px;margin:-1px 0 0;background:var(--gold);font-size:0}
.faq-list summary:after{transform:rotate(90deg);transition:transform .3s var(--m-ease)}
.faq-list details[open] summary:after{transform:rotate(0deg)}
.motion .faq-list details[open]>p{animation:m-faq .38s var(--m-ease)}
@keyframes m-faq{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---- Services dropdown (desktop): fades and slides 8 px; site.js opens it
   on hover/focus and closes it 150 ms after the pointer leaves. */
@media (min-width:1101px){
  .motion .nav-services[open] .services-dropdown{animation:m-drop .18s var(--m-ease)}
  .motion .nav-services.is-closing .services-dropdown{animation:m-drop-out .18s var(--m-ease) forwards}
}
@keyframes m-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes m-drop-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}

/* ---- Between pages: a short cross-fade where the browser supports
   cross-document View Transitions; nothing elsewhere. */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
  html:not(.motion)::view-transition-old(root),html:not(.motion)::view-transition-new(root){animation:none}
}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1!important;transform:none!important}
  .route-card:hover,.vehicle-card:hover{transform:none}
}
@media print{.rv{opacity:1!important;transform:none!important}}

/* Living route skylines — a calm night scene in gold line art.
   templates/skyline.py adds the scene layers at build time. As built, the
   drawing is complete and static. Ambient motion runs only when <html> has
   .motion AND the skyline is on screen (site.js adds .is-playing); off screen
   every animation pauses. Animated properties: transform, opacity and
   stroke-dashoffset only. */
.route-skyline{--sk-bg:var(--bg-alt);--sk-line:var(--gold);--sk-light:#f5c661;--sk-red:#ff5f52}
.skyline-art{stroke:var(--sk-line);overflow:hidden}
.skyline-art [fill="#a8862c"]{fill:var(--sk-line)}
.skyline-art [fill="#f4f1e9"]{fill:var(--sk-bg)}
.skyline-art .sk-label{fill:var(--gold)}
.skyline-art .sk-pin{fill:var(--text-2)}

/* static scene */
.sk-star{fill:var(--text);opacity:.55}
.sk-moon{fill:#f1d58c;opacity:.9}
.sk-moon-glow{opacity:.5}
.sk-win{fill:var(--sk-light);opacity:.55}
.sk-avl{fill:var(--sk-red);opacity:.75}
.sk-ping{fill:none;stroke:var(--sk-line);stroke-width:1.2;opacity:0}
.sk-beam{opacity:.55}
.sk-lamp{opacity:.8}
.sk-breathe{opacity:.55}
.sk-beacon{stroke:#ffe3a1;stroke-width:2.4;opacity:.6}
.sk-seq{stroke:#ffe3a1;stroke-width:2;opacity:0}
.sk-flame{fill:var(--sk-light);opacity:.8}

/* ambient motion (only with .motion; paused unless .is-playing) */
.motion .sk-star{animation:sk-twinkle var(--t,5s) ease-in-out var(--d,0s) infinite alternate}
.motion .sk-turbine{transform-box:view-box;animation:sk-spin 8s linear infinite}
.motion .sk-turbine:nth-of-type(2n){animation-duration:8.6s}
.motion .sk-waves{animation:sk-drift 6s ease-in-out infinite alternate}
.motion .sk-palm{transform-box:view-box;animation:sk-sway 6.5s ease-in-out infinite alternate}
.motion .sk-palm:nth-of-type(2n){animation-duration:7.4s;animation-delay:-2s}
.motion .sk-win{animation:sk-window var(--t,8s) ease-in-out var(--d,0s) infinite}
.motion .sk-avl{animation:sk-blink var(--t,3.2s) ease-in-out var(--d,0s) infinite}
.motion .route-skyline.sk-done .sk-route{animation:sk-march 2.4s linear infinite}
.motion .sk-ping{transform-box:fill-box;transform-origin:center;animation:sk-ping 3.2s ease-out infinite}
.motion .sk-beam{animation:sk-beam 2.8s ease-in-out infinite alternate}
.motion .sk-breathe{animation:sk-breathe 4.5s ease-in-out infinite alternate}
.motion .sk-beacon{animation:sk-breathe 3s ease-in-out infinite alternate}
.motion .sk-seq{animation:sk-seq 8s ease-in-out calc(var(--i,0) * 1.1s) infinite}
.motion .sk-flame{transform-box:fill-box;transform-origin:50% 100%;animation:sk-flame 1.6s ease-in-out infinite alternate}
.motion .sk-ship{animation:sk-bob 4.2s ease-in-out infinite alternate}
.motion .sk-plane{animation:sk-plane 11s ease-in-out infinite}
.motion .route-skyline:not(.is-playing) .skyline-art,
.motion .route-skyline:not(.is-playing) .skyline-art *{animation-play-state:paused!important}

@keyframes sk-twinkle{from{opacity:.15}to{opacity:.85}}
@keyframes sk-spin{to{transform:rotate(360deg)}}
@keyframes sk-drift{from{transform:translateX(-5px)}to{transform:translateX(5px)}}
@keyframes sk-sway{from{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}
@keyframes sk-window{0%,100%{opacity:.1}35%,70%{opacity:.85}}
@keyframes sk-blink{0%,100%{opacity:.15}45%,55%{opacity:1}}
@keyframes sk-march{to{stroke-dashoffset:-18}}
@keyframes sk-ping{0%{transform:scale(1);opacity:.75}70%,100%{transform:scale(3.4);opacity:0}}
@keyframes sk-beam{from{opacity:.4}to{opacity:.7}}
@keyframes sk-breathe{from{opacity:.3}to{opacity:.85}}
@keyframes sk-seq{0%,40%,100%{opacity:0}12%,24%{opacity:.85}}
@keyframes sk-flame{from{transform:scaleY(.86);opacity:.65}to{transform:scaleY(1.08);opacity:.95}}
@keyframes sk-bob{from{transform:translateY(0)}to{transform:translateY(1.6px)}}
@keyframes sk-plane{0%{transform:translate(-70px,26px);opacity:0}12%{opacity:1}55%{transform:translate(0,0);opacity:1}
  80%,100%{transform:translate(70px,-24px);opacity:0}}

/* First appearance: the route draws itself in (site.js, stroke-dashoffset on
   the mask), then the SUV starts driving. The start frame is held from first
   paint so nothing flashes; if site.js never runs, the plain drawing shows. */
.motion .route-skyline:not(.sk-done) .sk-draw{stroke-dashoffset:1}
.motion .route-skyline:not(.sk-done) .sk-suv{opacity:0}
.motion .route-skyline:not(.sk-armed):not(.sk-done) :is(.sk-draw,.sk-suv){animation:m-sk-show 0s 3s forwards}
@keyframes m-sk-show{to{stroke-dashoffset:0;opacity:1}}

@media print{.sk-draw{stroke-dashoffset:0!important}.sk-suv{opacity:1!important}}

/* Living service scenes (templates/scenes.py) — same palette, line weights and
   animation system as the route skylines (45-skyline.css). As built, each
   scene is a complete, static drawing. Motion only with html.motion, and the
   skyline rule pauses every animation while the scene is off screen
   (.is-playing). Animated properties: transform, opacity, stroke-dashoffset. */
.scene-band{background:var(--bg-alt);padding:30px 0 14px}
.scene-band .route-skyline{margin-bottom:0}
.living-scene .skyline-art{width:100%;height:auto}

/* static finished poses */
.sc-lamp,.sc-head{opacity:.95}
.sc-beam{opacity:.5}
.sc-seq,.sc-bulb{opacity:.7}
.sc-hwin{fill:var(--sk-light)}
.sc-welcome{opacity:0}
.sc-turn{opacity:.3}
.sc-sun{transform:rotate(-28deg)}
.sc-moonrise{transform:rotate(30deg)}
.sc-spot{opacity:.75}
.sc-lglow{opacity:.6}
.sc-spark{opacity:.7}
.sc-sweep{opacity:0}
.sc-net{opacity:.85}
.living-scene .sc-ar{letter-spacing:0;font-family:Tahoma,Arial,sans-serif;font-size:15px}
.living-scene .sk-label.sc-ar{font-size:17px;font-weight:700}
.sc-dial-label{font-size:9px;letter-spacing:.08em;fill:var(--text-2);stroke:none}

/* names that matter on a small screen stay visible there, larger */
@media(max-width:700px){
  .living-scene .sc-place{display:inline;font-size:26px}
  .living-scene .sc-city{display:none}
  .living-scene .sk-label.sc-ar{font-size:32px}
  .living-scene .sc-place.sc-ar{font-size:28px}
  .living-scene :is(.sc-causeway,.sc-salwa){font-size:21px}
  .living-scene :is(.sc-causeway,.sc-salwa).sc-ar{font-size:23px}
  .scene-band{padding:20px 0 6px}
}

/* ---- ambient motion */
.motion .sc-seq,.motion .sc-bulb{animation:sc-chase 2.4s linear calc(var(--i,0) * .16s) infinite}
.motion .sc-wait .sc-lamp,.motion .sc-lglow{animation:sk-breathe 3s ease-in-out calc(var(--i,0) * -.6s) infinite alternate}
.motion .sc-greeter .sc-board{transform-box:fill-box;animation:sc-lift 2.8s ease-in-out infinite alternate}
.motion .sc-hwin{animation:sc-window var(--t,8s) ease-in-out var(--d,0s) infinite}
.motion .sc-door-l{animation:sc-door-l var(--cyc) ease-in-out var(--at) infinite}
.motion .sc-door-r{animation:sc-door-r var(--cyc) ease-in-out var(--at) infinite}
.motion .sc-welcome{animation:sc-welcome var(--cyc) ease-in-out var(--at) infinite}
.motion .sc-cardoor{transform-box:fill-box;transform-origin:right center;animation:sc-cardoor var(--cyc) ease-in-out var(--at) infinite}
.motion .sc-turn{animation:sc-turn var(--cyc) ease-out var(--at) infinite}
.motion .sc-sun{animation:sc-sun var(--cyc) linear infinite}
.motion .sc-moonrise{animation:sc-moon var(--cyc) linear infinite}
.motion .sc-clock{animation:sc-clock var(--cyc) linear infinite}
.motion .sc-road{animation:sk-march 2.4s linear infinite}
.motion .sc-spot{transform-box:view-box;animation:sc-spot 6s ease-in-out calc(var(--i,0) * -2s) infinite alternate}
.motion .sc-lantern{transform-box:view-box;animation:sc-sway 4.2s ease-in-out calc(var(--i,0) * -.7s) infinite alternate}
.motion .sc-spark{animation:sk-twinkle var(--t,3s) ease-in-out var(--d,0s) infinite alternate}
.motion :is(.sc-tail-l,.sc-tail-r){transform-box:fill-box;transform-origin:top center;animation:sc-flutter 1.6s ease-in-out infinite alternate}
.motion .sc-tail-r{animation-delay:-.8s}
.motion .sc-lid{transform-box:view-box;animation:sc-lid var(--cyc) ease-in-out infinite}
.motion .sc-bag{animation:sc-bag var(--cyc) ease-in-out calc(var(--i,0) * 1.5s + 1.1s) infinite}
.motion .sc-show .sc-beam,.motion .sc-show .sc-head{animation:sc-headon 7s ease-out calc(var(--i,0) * .6s) infinite}
.motion .sc-sweep{animation:sc-sweep 7s ease-in-out 1.8s infinite}
.motion .sc-net{animation:sk-march 2.4s linear infinite,sc-pulse 4.5s ease-in-out calc(var(--i,0) * .9s) infinite}
.motion .sc-border .sc-lamp{animation:sk-breathe 1.6s ease-in-out infinite alternate}

/* travellers (.sc-drive) wait out of sight until site.js starts them, so they
   never jump; if site.js never runs they appear in place after 3 s */
.motion .living-scene:not(.sk-done) .sc-drive{opacity:0}
.motion .living-scene:not(.sk-armed):not(.sk-done) .sc-drive{animation:m-sk-show 0s 3s forwards}

@keyframes sc-chase{0%,100%{opacity:.15}20%{opacity:1}40%{opacity:.15}}
@keyframes sc-lift{from{transform:translateY(0)}to{transform:translateY(-2px)}}
@keyframes sc-window{0%,100%{opacity:.08}30%,70%{opacity:.85}}
@keyframes sc-door-l{0%{transform:none}6%,40%{transform:translateX(-15px)}48%,100%{transform:none}}
@keyframes sc-door-r{0%{transform:none}6%,40%{transform:translateX(15px)}48%,100%{transform:none}}
@keyframes sc-welcome{0%{opacity:0}6%,40%{opacity:.85}48%,100%{opacity:0}}
@keyframes sc-cardoor{0%{transform:none}5%,30%{transform:scaleX(.2)}38%,100%{transform:none}}
@keyframes sc-turn{0%{opacity:.3}3%,10%{opacity:.95}18%,100%{opacity:.3}}
@keyframes sc-sun{0%{transform:rotate(-72deg);opacity:0}6%{opacity:1}44%{opacity:1}50%{transform:rotate(72deg);opacity:0}
  100%{transform:rotate(72deg);opacity:0}}
@keyframes sc-moon{0%,48%{transform:rotate(-72deg);opacity:0}56%{opacity:.95}92%{opacity:.95}100%{transform:rotate(60deg);opacity:0}}
@keyframes sc-clock{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes sc-spot{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}
@keyframes sc-sway{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
@keyframes sc-flutter{from{transform:rotate(-10deg)}to{transform:rotate(12deg)}}
@keyframes sc-lid{0%,4%{transform:none}12%,74%{transform:rotate(58deg)}84%,100%{transform:none}}
@keyframes sc-bag{0%{transform:none;opacity:1}7%{transform:translate(calc(var(--tx) * .45),-34px);opacity:1}
  14%{transform:translate(var(--tx),var(--ty));opacity:1}18%{transform:translate(var(--tx),var(--ty));opacity:0}
  80%{transform:none;opacity:0}90%,100%{transform:none;opacity:1}}
@keyframes sc-headon{0%{opacity:.05}5%{opacity:1}72%{opacity:1}86%,100%{opacity:.05}}
@keyframes sc-sweep{0%{transform:translateX(0);opacity:1}48%{transform:translateX(1720px);opacity:1}49%,100%{opacity:0}}
@keyframes sc-pulse{0%,100%{opacity:.55}50%{opacity:1}}

/* Ambient section backgrounds (templates/ambient.py) — quiet gold layers so no
   large dark area is flat. Each section's layer (.amb-l) spans the full width
   behind its content (z-index -1 inside the section), carries no text and is
   ignored by layout and assistive tech. Very low opacities keep every text
   colour well above WCAG AA. Motion only with html.motion and only while the
   section is on screen (.amb-in, site.js); otherwise everything is a still,
   complete drawing. The art files (/assets/ambient/*.svg) are referenced from
   :root custom properties that build.py appends (ambient.art_css). */
.amb{position:relative;isolation:isolate}
.amb-l{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;z-index:-1;overflow:hidden;
  pointer-events:none;contain:layout paint}
.amb-l:before,.amb-l:after{content:'';position:absolute;pointer-events:none}

/* 1. Gold glow from a corner (every section); start/end corners mirror on Arabic pages */
.amb-l:before{--gs:min(1100px,130vw);width:var(--gs);height:var(--gs);border-radius:50%;
  background:radial-gradient(closest-side,rgba(217,164,32,.13),rgba(217,164,32,.05) 55%,rgba(217,164,32,0))}
.amb-g1 .amb-l:before{top:0;inset-inline-start:0;margin-top:calc(var(--gs) / -2);margin-inline-start:calc(var(--gs) / -2.6)}
.amb-g2 .amb-l:before{bottom:0;inset-inline-end:0;margin-bottom:calc(var(--gs) / -2);margin-inline-end:calc(var(--gs) / -2.6);--dx:-1}
.motion .amb-in .amb-l:before{animation:amb-drift 60s ease-in-out infinite}
@keyframes amb-drift{50%{transform:translate(calc(7vw * var(--m-dir,1) * var(--dx,1)),calc(5vh * var(--dx,1)))}}

/* 2. Geometric pattern across the whole section, softened only towards the edges;
   pattern-b uses a larger tile so two neighbouring pattern sections still differ */
:is(.amb-pattern,.amb-pattern-b) .amb-l:after{inset:0;background:var(--amb-pattern) 0 0/64px 64px;opacity:.08;
  -webkit-mask-image:radial-gradient(ellipse 80% 90% at 50% 50%,#000 45%,rgba(0,0,0,.35) 85%,transparent);
  mask-image:radial-gradient(ellipse 80% 90% at 50% 50%,#000 45%,rgba(0,0,0,.35) 85%,transparent)}
.amb-pattern-b .amb-l:after{background-size:96px 96px;background-position:32px 32px;opacity:.07}
[dir=rtl] .amb-pattern-b .amb-l:after{background-position:right 32px top 32px}

/* 3. Faded skyline and the page motifs, resting on the bottom edge */
:is(.amb-skyline,.amb-doha,.amb-towers,.amb-hotel,.amb-landmarks,.amb-cars) .amb-l:after{bottom:0;inset-inline-end:5%;
  background:no-repeat center bottom/contain;opacity:.105}
.amb-skyline .amb-l:after{background-image:var(--amb-skyline);width:min(500px,62%);aspect-ratio:330/230}
.amb-doha .amb-l:after{background-image:var(--amb-doha);width:min(660px,80%);aspect-ratio:600/230}
.amb-towers .amb-l:after{background-image:var(--amb-towers);width:min(620px,80%);aspect-ratio:600/240}
.amb-hotel .amb-l:after{background-image:var(--amb-hotel);width:min(380px,55%);aspect-ratio:400/300}
.amb-landmarks .amb-l:after{background-image:var(--amb-landmarks);width:min(900px,92%);aspect-ratio:900/240;inset-inline-end:4%}
.amb-cars .amb-l:after{background-image:var(--amb-cars);width:min(820px,88%);aspect-ratio:900/200;bottom:3%}

/* 4. Inline art: road maps, flight paths, beams, lanterns, the Bahrain map */
.amb-svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.amb-roads path{stroke-opacity:.085}
.amb-roads .amb-hl{stroke-opacity:.24}
.amb-roads circle{opacity:.32}
.amb-flight .amb-svg path{stroke-opacity:.06}
.amb-flight .amb-plane path{fill-opacity:.16}
.amb-beam{opacity:.075;transform-box:fill-box;transform-origin:50% 100%}
.amb-lantern{opacity:.15}
.amb-map .amb-svg{opacity:.12}
.amb-pulse{opacity:0;transform-box:fill-box;transform-origin:center}
.motion .amb-in .amb-flow{animation:amb-flow 6s linear infinite}
.motion .amb-in .amb-pulse{animation:amb-pulse 3.2s ease-out infinite}
.motion .amb-in .amb-beam{animation:amb-sway 14s ease-in-out calc(var(--i,0) * -4s) infinite alternate}
.motion .amb-in .amb-lglow{animation:amb-glow 5s ease-in-out calc(var(--i,0) * -.9s) infinite alternate}
@keyframes amb-flow{to{stroke-dashoffset:-18}}
@keyframes amb-pulse{0%{transform:scale(1);opacity:.9}70%,100%{transform:scale(2.6);opacity:0}}
@keyframes amb-sway{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
@keyframes amb-glow{from{opacity:.35}to{opacity:1}}

/* 5. Faded photo behind an 86 % dark overlay; loaded once the section is near (site.js) */
.amb-photo.amb-seen .amb-l:after{inset:0;
  background:linear-gradient(rgba(11,11,11,.86),rgba(11,11,11,.86)),var(--amb-photo) center/cover no-repeat}

/* Booking steps: outlined watermark numerals; site.js draws the gold line and the car */
.amb-steps .steps{position:relative;counter-reset:amb-step}
.amb-steps .steps>li{position:relative;counter-increment:amb-step}
.amb-steps .steps>li:after{content:counter(amb-step);position:absolute;top:-4px;inset-inline-end:6%;z-index:-1;
  font:700 170px/1 Arial,Helvetica,sans-serif;color:transparent;-webkit-text-stroke:2px var(--gold);opacity:.09;pointer-events:none}
.amb-steps .step-num{position:relative;z-index:1}
.amb-track{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.amb-track-line{stroke:var(--gold);stroke-width:1.5;fill:none;opacity:.55}
.amb-track-car path{fill:var(--bg);stroke:var(--gold);stroke-width:1.5;vector-effect:non-scaling-stroke}
.amb-track-car .amb-glass{fill:none;opacity:.85}

/* 6. Film grain over the whole site */
body:after{content:'';position:fixed;inset:0;z-index:2147483000;pointer-events:none;
  background:var(--amb-grain) 0 0/160px 160px;opacity:.03}

/* Mobile: the same look with fewer layers (no grain, no drifting glow, no steps track) */
@media (max-width:850px){.amb-track{display:none}.amb-steps .steps>li:after{font-size:120px}}
@media (max-width:700px){
  body:after{display:none}
  .motion .amb-in .amb-l:before{animation:none}
  .amb-l:before{--gs:150vw}
}
@media print{.amb-l,body:after{display:none}}

/* Header: top contact bar, dropdown chevrons, scrollable dropdowns.
   The top bar sits above the sticky header in normal flow, so it scrolls away
   while the main nav stays pinned. Fixed heights keep layout shift at 0. */
.top-bar{position:relative;z-index:51;background:#0b0b0b;border-bottom:1px solid rgba(217,164,32,.55);color:#fff;font-size:13px;line-height:1.2}
.top-bar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;height:36px}
.top-bar-regions{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}
.top-bar-contact{display:flex;align-items:center;gap:24px;flex:none}
.top-bar-link{display:inline-flex;align-items:center;gap:8px;color:#fff;transition:color .15s}
.top-bar-link svg{flex:none;color:var(--gold)}
.top-bar-link:hover,.top-bar-link:focus-visible{color:var(--gold)}
.top-bar-link:focus-visible{outline-offset:2px}
.top-bar-text{white-space:nowrap}
@media(max-width:640px){
  .top-bar-row{height:44px}
  .top-bar-contact{gap:2px;margin-inline-end:-12px}
  .top-bar-link{justify-content:center;min-width:44px;min-height:44px}
  .top-bar-link svg{width:18px;height:18px}
  .top-bar-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
}

/* Chevron after every dropdown label; turns 180° while the dropdown is open. */
.nav-services>summary{display:flex;align-items:center;justify-content:flex-start;gap:6px}
.nav-chevron{flex:none;color:var(--gold);transition:transform .2s}
.nav-services[open]>summary .nav-chevron{transform:rotate(180deg)}
.nav-services.is-closing>summary .nav-chevron{transform:none}
@media(prefers-reduced-motion:reduce){.nav-chevron{transition:none}}

/* Desktop dropdowns never run past the bottom of the window: long lists scroll. */
@media(min-width:1101px){
  .services-dropdown{width:max-content;min-width:280px;max-width:360px;max-height:calc(100vh - 140px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
}
/* Mobile menu: leave room for the top bar while it is still on screen; the
   dropdown's side line is gold in both directions. */
@media(max-width:1100px){.site-header nav{max-height:calc(100svh - 151px)}.services-dropdown,[dir="rtl"] .services-dropdown{border-inline-start-color:var(--gold)}}
@media(max-width:560px){.site-header nav{max-height:calc(100svh - 144px)}}

/* ambient art: /assets/ambient/*.svg (templates/ambient.py) */
:root{--amb-pattern:url(/assets/ambient/pattern.3bde3f6d.svg);--amb-grain:url(/assets/ambient/grain.eece4fcf.svg);--amb-skyline:url(/assets/ambient/skyline.db2e388c.svg);--amb-doha:url(/assets/ambient/doha.01c24fff.svg);--amb-towers:url(/assets/ambient/towers.a35c3e8a.svg);--amb-hotel:url(/assets/ambient/hotel.b11703c6.svg);--amb-landmarks:url(/assets/ambient/landmarks.fd4978be.svg);--amb-cars:url(/assets/ambient/cars.4a981d0c.svg);}
