:root{font-family:Arial,Helvetica,sans-serif;font-size:16px;color:#152e36;background:#fbfaf7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #e7ae44;outline-offset:4px}header{height:91px;padding:0 5vw;display:flex;align-items:center;gap:44px;background:#fff}.logo{display:flex;align-items:center;gap:11px;font-size:1.18rem;letter-spacing:-.035em;font-weight:850;white-space:nowrap}.logo small{color:#ca9235;font-size:inherit}.logo-icon{background:#183743;color:#f5c976;font-family:Georgia,serif;font-size:1.6rem;display:grid;place-items:center;width:39px;height:39px;border-radius:50%}nav{display:flex;gap:29px;margin-left:auto;font-weight:650;font-size:.93rem}nav a:hover{color:#bc832d}.head-link{padding:14px 20px;border:1px solid #17343e;border-radius:50px;white-space:nowrap;font-weight:750}.hero{display:grid;grid-template-columns:47% 53%;min-height:620px;background:#15313b;color:white}.hero-copy{align-self:center;padding:70px 8vw 80px 5vw}.kicker{text-transform:uppercase;letter-spacing:.2em;font-weight:800;font-size:.82rem;color:#e8b85f}.hero h1{font:normal clamp(3.1rem,5.3vw,5.9rem)/1.05 Georgia,serif;letter-spacing:-.05em;margin:25px 0}.hero-copy>p:not(.kicker){font-size:1.18rem;line-height:1.6;color:#dae5e4;max-width:490px}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 23px;border-radius:50px;font-weight:750;white-space:nowrap}.btn.main{background:#f1bc60;color:#17313b}.btn.alt{border:1px solid #d7e0de}.hero-photo{background:linear-gradient(135deg,#39515b,#182f3a);display:grid;place-items:center}.hero-photo span{font:normal clamp(2.5rem,5vw,5rem)/1.1 Georgia,serif;color:#e9c782;max-width:390px;text-align:center;padding:30px}.place-line{display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;padding:22px;color:#667779;background:#eeeae1;font-weight:750;font-size:.78rem;letter-spacing:.18em}.services{padding:95px 5vw 105px}.section-title h2,.story h2,.contact h2{font:normal clamp(2.5rem,4.3vw,4.3rem)/1.12 Georgia,serif;letter-spacing:-.05em;margin:18px 0 42px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards article{border-top:1px solid #b9c3c1;padding:27px 8px 15px}.cards span{font-size:.78rem;font-weight:800;color:#aa782e;letter-spacing:.1em}.cards h3{font-size:1.42rem;margin:37px 0 12px}.cards p,.story>p:last-child{line-height:1.7;color:#586970;max-width:410px}.story{padding:88px 5vw;background:#e8eeeb}.story h2{margin-bottom:15px}.story>p:last-child{font-size:1.13rem;max-width:710px}.contact{text-align:center;padding:88px 24px;background:#16333f;color:white}.contact h2{margin-bottom:27px}footer{display:flex;justify-content:space-between;gap:15px;padding:29px 5vw;font-size:.85rem;color:#677477}@media(max-width:850px){header{height:auto;padding:18px 22px;flex-wrap:wrap;gap:17px}nav{order:3;width:100%;margin:0;justify-content:space-between;gap:10px}.head-link{margin-left:auto}.hero{display:flex;flex-direction:column-reverse}.hero-photo{height:300px}.hero-copy{padding:50px 22px 65px}.hero h1{font-size:clamp(3.1rem,10vw,5rem)}.cards{grid-template-columns:1fr}.cards h3{margin-top:22px}.services{padding-top:70px}footer{flex-direction:column}}

.contact p{color:#cbd7da;font-size:1.1rem}.contact .buttons{justify-content:center}.contact .alt{border-color:#8ca5a9}

/* Shared fleet image on the first screen; individual vehicles remain separate below. */
.hero{display:flex;align-items:center;min-height:620px;position:relative;background:#132c37 url('hero-fleet.png') center center/cover no-repeat;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,39,.96) 0%,rgba(8,30,39,.78) 30%,rgba(8,30,39,.22) 61%,rgba(8,30,39,0) 100%);z-index:-1}
.hero-copy{position:relative;z-index:1;max-width:650px;padding-right:2vw}
.hero h1{max-width:620px}.hero-copy>p:not(.kicker){max-width:490px}
.fleet{padding:95px 5vw 110px;background:#fbfaf7;scroll-margin-top:20px}
.fleet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.vehicle{background:#fff;overflow:hidden;scroll-margin-top:24px;border:1px solid #e4e8e6}
.vehicle-image{height:310px;display:grid;place-items:center;background:#f0f2f1;padding:16px}
.vehicle-image img{width:100%;height:100%;object-fit:contain}
.vehicle-copy{padding:28px 32px 34px}.vehicle-copy span{font-size:.78rem;letter-spacing:.14em;font-weight:800;color:#aa782e}
.vehicle-copy h3{font:normal clamp(1.8rem,2.6vw,2.5rem)/1.15 Georgia,serif;letter-spacing:-.035em;margin:13px 0}
.vehicle-copy p{line-height:1.65;color:#586970;min-height:3.3em}.vehicle-copy a{font-weight:800;border-bottom:1px solid #bd924b;padding-bottom:4px}
footer{align-items:flex-start}footer span:last-child{max-width:750px;text-align:right;line-height:1.5}footer a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:850px){.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:#15313b}.hero::before{display:none}.hero::after{content:"";display:block;height:clamp(220px,58vw,420px);background:url('hero-fleet.png') 58% center/cover no-repeat}.hero-copy{max-width:none;padding:45px 22px 55px}.hero h1{font-size:clamp(3rem,10vw,5rem)}.fleet{padding:70px 22px 78px}.fleet-grid{grid-template-columns:1fr}.vehicle-image{height:clamp(220px,62vw,340px)}footer span:last-child{text-align:left}}
@media(max-width:520px){header nav{font-size:.83rem;flex-wrap:wrap;justify-content:flex-start;column-gap:18px;row-gap:9px}.logo{font-size:1.03rem}.head-link{font-size:.82rem;padding:9px 12px}.hero-copy{padding-top:38px}.hero::after{background-position:57% center}.vehicle-copy{padding:25px}}

/* Compact first screen: both vehicles remain fully visible beside the text. */
.hero{display:grid;grid-template-columns:minmax(320px,39%) minmax(0,61%);min-height:0;background:#15313b;align-items:stretch}
.hero::before,.hero::after{display:none}
.hero-copy{align-self:center;padding:38px 3vw 42px 5vw;max-width:580px}
.hero h1{font-size:clamp(2.6rem,4vw,4.25rem);line-height:1.07;margin:16px 0 14px}
.hero-copy>p:not(.kicker){font-size:1.04rem;line-height:1.5;margin:0;max-width:410px}
.hero .buttons{margin-top:22px;gap:9px}.hero .btn{padding:13px 17px;font-size:.92rem}
.hero-visual{display:block;width:100%;height:440px;object-fit:contain;background:#122a34}
@media(max-width:850px){.hero{display:flex;flex-direction:column;align-items:stretch}.hero-visual{order:-1;width:100%;height:auto;aspect-ratio:1672 / 940;object-fit:contain}.hero-copy{padding:27px 22px 33px;max-width:none}.hero h1{font-size:clamp(2.55rem,8vw,3.8rem);margin:10px 0}.hero-copy>p:not(.kicker){font-size:1rem}.hero .buttons{margin-top:18px}}
@media(max-width:520px){.hero-copy{padding:24px 20px 30px}.hero h1{font-size:2.65rem}.hero .buttons{gap:8px}.hero .btn{padding:12px 15px;font-size:.9rem}}

/* Booking form preview */
[hidden]{display:none!important}
.booking{scroll-margin-top:20px;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:5vw;padding:88px 5vw 96px;background:#e7edeb}
.booking-intro h2{font:normal clamp(2.5rem,4.4vw,4.5rem)/1.08 Georgia,serif;letter-spacing:-.045em;margin:16px 0 22px}
.booking-intro>p:not(.kicker){line-height:1.6;color:#4d6066;max-width:420px}
.booking-intro .demo-note{font-size:.9rem;border-left:3px solid #d4a254;padding-left:14px;margin-top:25px}
.booking-panel{background:#fff;padding:36px;box-shadow:0 15px 45px rgba(18,43,53,.08)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.booking label{display:flex;flex-direction:column;gap:9px;font-size:.91rem;font-weight:750;color:#24404a}
.booking input,.booking select,.booking textarea{display:block;width:100%;min-width:0;border:1px solid #bdcacc;border-radius:5px;background:#fff;color:#15313b;padding:13px 14px;font:inherit;font-size:1rem;line-height:1.35}
.booking input:focus,.booking select:focus,.booking textarea:focus{outline:2px solid #ca963b;outline-offset:2px;border-color:#ca963b}
.booking input::placeholder,.booking textarea::placeholder{color:#819197}
.full-field{margin-top:20px}.booking textarea{resize:vertical}
.form-submit{margin-top:26px;border:0;border-radius:50px;background:#183743;color:#fff;font:inherit;font-weight:800;padding:15px 25px;cursor:pointer;display:inline-flex;gap:32px;align-items:center}
.form-submit:hover{background:#2e5360}.booking-summary h3{font:normal 2rem Georgia,serif;margin:0 0 25px}
.booking-summary dl{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px 20px;margin:0}.booking-summary dt{font-weight:750;color:#536971}.booking-summary dd{margin:0;overflow-wrap:anywhere}.booking-summary>p{line-height:1.6;color:#5c6c72;border-top:1px solid #dce4e3;padding-top:22px;margin-top:25px}
.booking-summary button{border:1px solid #183743;border-radius:50px;background:#fff;padding:12px 20px;font:inherit;font-weight:750;cursor:pointer}
@media(max-width:900px){.booking{grid-template-columns:1fr;gap:25px;padding:66px 5vw 80px}.booking-intro h2{margin-bottom:12px}}
@media(max-width:600px){.booking{padding:60px 20px}.booking-panel{padding:24px 18px}.form-grid{grid-template-columns:1fr;gap:17px}.booking-summary dl{grid-template-columns:1fr;gap:3px}.booking-summary dd{margin-bottom:13px}.form-submit{width:100%;justify-content:center}}

/* Separate airport transfer path. */
header{gap:24px}header nav{gap:19px}
.hero .buttons{display:flex;flex-direction:column;align-items:flex-start}
.secondary-actions{display:flex;gap:9px;flex-wrap:wrap}
.airport{scroll-margin-top:20px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:5vw;padding:85px 5vw 90px;background:#17343e;color:white;align-items:center}
.airport h2{font:normal clamp(2.5rem,4.4vw,4.7rem)/1.1 Georgia,serif;letter-spacing:-.045em;margin:15px 0 0;max-width:780px}
.airport-details p{font-size:1.13rem;line-height:1.65;color:#d2dede;max-width:480px;margin:0 0 28px}
.airport .btn.main{display:inline-flex}
@media(max-width:1100px){header{height:auto;padding:18px 5vw;flex-wrap:wrap}header nav{order:3;margin:0;width:100%;justify-content:space-between;gap:12px}.head-link{margin-left:auto}}
@media(max-width:850px){.airport{grid-template-columns:1fr;gap:24px;padding:68px 22px}.airport-details p{margin-bottom:23px}}
@media(max-width:600px){header nav{justify-content:flex-start;flex-wrap:wrap;column-gap:20px;row-gap:12px}.secondary-actions{gap:8px}.airport h2{font-size:2.55rem}}

/* Direct message action beside the call button. */
.contact-actions{display:flex;gap:9px;flex-wrap:wrap}
.btn.whatsapp{background:#25d366;color:#0b2a18;border:1px solid #25d366}
.btn.whatsapp:hover{background:#7ae7a4;border-color:#7ae7a4}
@media(max-width:520px){.contact-actions{gap:8px}.hero .contact-actions .btn{padding:12px 13px;font-size:.86rem}}

/* Booking review and handoff */
.booking .form-error{color:#a22d22;background:#fff2ef;border-left:3px solid #a22d22;padding:12px 14px;margin:18px 0 0}
.booking-summary .summary-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}
.booking-summary .summary-actions .btn{padding:13px 19px}
.booking-summary .summary-actions button{min-height:48px}
.booking-summary .summary-actions a:focus-visible,.booking-summary button:focus-visible,.form-submit:focus-visible{outline:3px solid #d09b40;outline-offset:3px}
@media(max-width:600px){.booking-summary .summary-actions{align-items:stretch;flex-direction:column}.booking-summary .summary-actions>*{width:100%;text-align:center}}

/* Legal pages and shared legal navigation. */
.legal-links{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 0;width:auto;font-size:.9rem;line-height:1.6}.legal-page{max-width:900px;margin:0 auto;padding:52px 24px 80px}.legal-page h1{font:normal clamp(2rem,6vw,3.5rem)/1.15 Georgia,serif;overflow-wrap:anywhere;margin:18px 0}.legal-page h2{font:normal 1.55rem/1.3 Georgia,serif;margin:34px 0 12px}.legal-page p{line-height:1.8;color:#364e56}.legal-page a,.booking-legal a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-back{display:inline-block;margin-bottom:30px}.legal-date{font-size:.9rem}.legal-notice{padding:16px 20px;background:#fff3d8;border-left:3px solid #bf8b2c}.booking-legal{font-size:.87rem;line-height:1.6;color:#52656c;margin:16px 0}.legal-page .kicker{margin-bottom:0}footer .legal-links{order:initial;justify-content:flex-start}

/* Keep the two cutout vehicles inside their matching image areas. */
.vehicle-image{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;min-width:0}
.vehicle-image img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
.vehicle-copy{position:relative;background:#fff}
