:root{--bg:#0b2226;--pri:#1f6f6b;--pri2:#2b9a93;--acc:#e0a526;--acc2:#f5cf6b;--ink:#1b2528;--soft:#f3f7f6;--w:1200px;--hf:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.7 'Poppins',system-ui,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
h1,h2,h3{font-family:var(--hf);line-height:1.2}img{max-width:100%}a{color:var(--pri)}.w{max-width:var(--w);margin:auto;padding:0 18px}.ic{vertical-align:middle;flex:none}
.pre-h{background:#071719;color:#fff;font-size:13px;display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center;padding:7px 12px;letter-spacing:.3px}.pre-h a{color:var(--acc2);text-decoration:none}
/* HEADER glass */
.hd{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:8px 22px;background:linear-gradient(rgba(11,34,38,.78),rgba(31,111,107,.78)),url(img/header-bg.jpg) center/cover;box-shadow:0 6px 24px #0004;border-bottom:1px solid #ffffff22}
#mb{display:none;background:none;border:0;color:#fff;font-size:28px}#nv{display:flex;gap:2px;align-items:center}#nv a{color:#fff;text-decoration:none;padding:8px 12px;border-radius:30px;font-size:14.5px;font-weight:500;transition:.25s}#nv a:hover{background:#ffffff26;color:var(--acc2)}#nv .btn{color:#1b1b1b!important;margin-left:8px}
.btn{display:inline-flex;gap:7px;align-items:center;background:linear-gradient(135deg,var(--acc2),var(--acc));color:#1b1b1b!important;padding:10px 20px;border-radius:30px;text-decoration:none;font-weight:600;border:0;cursor:pointer;margin:4px 4px 4px 0;box-shadow:0 6px 16px #e0a52644;transition:.25s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px #e0a52666}
.btn.wa{background:linear-gradient(135deg,#3be07f,#1fae55);color:#fff!important;box-shadow:0 6px 16px #25d36655}.btn.wa svg{fill:#fff}.btn.big{justify-content:center;padding:14px;font-size:17px}
/* HERO */
.hero{position:relative;height:min(82vh,640px);overflow:hidden;background:var(--bg)}.sl{position:absolute;inset:0;background:linear-gradient(135deg,#2b9a93,#0b2226) center/cover;opacity:0;transition:opacity 1s;transform:scale(1.08)}.sl.on{opacity:1;animation:kb 9s ease-out forwards}@keyframes kb{to{transform:scale(1)}}
.ov{height:100%;background:linear-gradient(90deg,rgba(7,23,25,.85),rgba(7,23,25,.35));color:#fff;display:flex;align-items:center}.ov .w>*{max-width:640px}.ov h1,.h2b{font-size:clamp(30px,5.5vw,58px);margin:0 0 12px;text-shadow:0 3px 14px #0008}.ov p{font-size:18px;color:#e8f2f1}
.sl.on .w>*{animation:up .9s both}.sl.on .w>*:nth-child(2){animation-delay:.15s}.sl.on .w>*:nth-child(3){animation-delay:.3s}@keyframes up{from{opacity:0;transform:translateY(24px)}}
.ar{position:absolute;top:50%;margin-top:-26px;background:#ffffff22;backdrop-filter:blur(6px);color:#fff;border:1px solid #fff4;font-size:30px;width:48px;height:48px;border-radius:50%;cursor:pointer}.ar.l{left:14px}.ar.r{right:14px}
.dots{position:absolute;bottom:16px;width:100%;text-align:center}.dots b,.dots button{display:inline-block;width:10px;height:10px;margin:3px;border-radius:10px;background:#fff6;cursor:pointer;transition:.3s}.dots b.on,.dots button.on{background:var(--acc);width:30px}
.ph{background:linear-gradient(rgba(11,34,38,.8),rgba(31,111,107,.8)),url(img/page-banner-bg.jpg) center/cover;color:#fff;padding:54px 0}.ph h1{margin:6px 0;font-size:clamp(26px,4.5vw,44px)}.bc{font-size:14px;margin:0;opacity:.9}.bc a{color:var(--acc2)}
/* SECTIONS */
.s{padding:68px 0}.s:nth-child(even){background:linear-gradient(180deg,var(--soft),#fff)}
h2.rt{font-size:clamp(26px,4vw,38px);margin:0 0 30px;text-align:center;color:var(--bg)}h2.rt::after{content:"";display:block;width:70px;height:4px;border-radius:4px;margin:12px auto 0;background:linear-gradient(90deg,var(--acc),var(--pri2))}
.s h3{font-size:20px;margin-top:22px}
.gr{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px}.g3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.cd{background:#fff;border-radius:18px;box-shadow:0 10px 30px #0b22261a;overflow:hidden;transition:.35s;border:1px solid #0001;display:flex;flex-direction:column}.cd:hover{transform:translateY(-8px);box-shadow:0 18px 40px #0b222633}
.cb{padding:18px;display:flex;flex-direction:column;flex:1}.cb h3{margin:0 0 8px;font-size:19px}.cb p{flex:1;color:#4a5a5d;font-size:15px}
.im{aspect-ratio:16/10;background:linear-gradient(135deg,#2b9a93,#0b2226);overflow:hidden}.im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.cd:hover .im img{transform:scale(1.08)}
.wy{background:linear-gradient(145deg,#fff,#eef6f5);border-radius:18px;padding:28px 22px;box-shadow:0 10px 30px #0b22261a;text-align:center;border:1px solid #fff;transition:.35s}.wy:hover{transform:translateY(-6px)}
.wy span{display:inline-flex;width:62px;height:62px;border-radius:50%;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--pri),var(--pri2));margin-bottom:8px}.wy span svg{fill:#fff}
.bk{background:linear-gradient(rgba(11,34,38,.88),rgba(11,34,38,.88)),url(img/booking-form-bg.jpg) center/cover!important}.bk h2.rt{color:#fff}
.bf{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;background:#fffffff2;padding:26px;border-radius:20px;box-shadow:0 20px 50px #0006;margin:14px 0}
.bf label{display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:5px}.bf input,.bf textarea{padding:12px;border:1px solid #c9d6d5;border-radius:12px;font:inherit;transition:.2s}.bf input:focus,.bf textarea:focus{outline:0;border-color:var(--pri2);box-shadow:0 0 0 3px #2b9a9344}
.full{grid-column:1/-1}.chk{flex-direction:row!important;align-items:center;font-weight:400!important}.hp{position:absolute;left:-9999px}.ok{color:#117a35}.er{color:#b00020}
.rvs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;padding:6px 4px 14px}.rv{min-width:0;background:#fff;padding:24px;border-radius:18px;box-shadow:0 10px 30px #0b22261a;border-top:4px solid var(--acc)}.stars{color:var(--acc);font-size:20px}
.ct{list-style:none;padding:0}.ct li{display:flex;gap:10px;margin:10px 0;align-items:flex-start}#map iframe{width:100%;height:360px;border:0;border-radius:18px;box-shadow:0 10px 30px #0b22261a}.note{font-size:13px;color:#666;text-align:center}
footer{background:linear-gradient(180deg,#0b2226,#071719);color:#cfe1df;padding-top:50px;border-top:4px solid var(--acc)}footer a{color:#fff;text-decoration:none}footer a:hover{color:var(--acc2)}footer h3{color:var(--acc2);font-size:18px}footer ul{list-style:none;padding:0}footer li{margin:8px 0}
.fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px}.cp{text-align:center;padding:18px;border-top:1px solid #ffffff22;margin-top:30px;font-size:14px}
.fl{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:11px;z-index:60}.fl a{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #0006;animation:pu 2.6s infinite}.f1{background:var(--pri)}.f1 svg{fill:#fff}.f2{background:#fff}#tp{background:var(--acc)}@keyframes pu{50%{transform:scale(1.08)}}
.rev{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.rev.in{opacity:1;transform:none}
@media(max-width:860px){#mb{display:block}#nv{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#0b2226f2;padding:12px}#nv.o{display:flex}.s{padding:48px 0}.ov{background:linear-gradient(rgba(7,23,25,.7),rgba(7,23,25,.7))}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rev{opacity:1;transform:none}}

.hero::after{content:none!important;display:none!important}
.bk{padding-top:40px}
.ov h1::before{content:"Premium Taxi & Tour Service";display:block;font:600 13px 'Poppins';letter-spacing:3px;text-transform:uppercase;color:var(--acc2);margin-bottom:10px}
.ov .btn{padding:13px 26px;font-size:16px}
.cd .cb .btn{align-self:flex-start}.cd{position:relative}.cd::before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:linear-gradient(90deg,var(--acc),var(--pri2));transition:width .5s;z-index:2}.cd:hover::before{width:100%}
.wy h3{margin:6px 0}.wy:hover span{transform:rotate(8deg) scale(1.08);transition:.3s}
.cta{text-align:center;color:#fff;padding:64px 0;background:linear-gradient(rgba(11,34,38,.82),rgba(31,111,107,.86)),url(img/cta-bg.jpg) center/cover;background-attachment:scroll,scroll,scroll}.cta h2{font-size:clamp(26px,4vw,40px);margin:0 0 8px}.cta p{margin:0 0 18px;color:#dcecea}
footer{border-top:0}.fg>div:first-child p{font-size:15px}footer h3{position:relative;padding-bottom:8px}footer h3::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;background:var(--acc);border-radius:3px}
.fl a:hover{transform:scale(1.12)}

/* Homepage image visibility improvements */
.home-page .gr .im{aspect-ratio:4/3;min-height:245px}
.home-page .gr .im img{width:100%;height:100%;min-height:245px;object-fit:cover;object-position:center;display:block}
.home-page .hero .sl{background-position:center center;background-size:cover;background-repeat:no-repeat}
.home-page .hero{min-height:520px}
@media(max-width:860px){
  .home-page .gr .im{aspect-ratio:4/3;min-height:210px}
  .home-page .gr .im img{min-height:210px}
  .home-page .hero{min-height:480px;height:76vh}
}
@media(max-width:480px){
  .home-page .hero{min-height:500px;height:78vh}
  .home-page .gr{grid-template-columns:1fr}
}

/* Runtime performance and visual stability */
html{scroll-behavior:smooth}
img{height:auto}
.hero .sl{will-change:opacity;backface-visibility:hidden}
.hero .sl:not(.on){pointer-events:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero .sl{will-change:auto}}

/* Customer review carousel */
.reviews-section{position:relative;isolation:isolate;clear:both;overflow:hidden}
.review-slider{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;margin:22px auto 10px;max-width:1120px}
.rvs{display:flex;gap:18px;overflow:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:8px 2px 18px;min-width:0}
.rvs .rv{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;display:flex;flex-direction:column;min-height:230px}
.rvs .rv p{line-height:1.65;flex:1}
.review-arrow{width:42px;height:42px;border:0;border-radius:50%;background:var(--pri2);color:#fff;font-size:18px;cursor:pointer;box-shadow:0 5px 16px #0b222633;transition:transform .2s,opacity .2s}
.review-arrow:hover{transform:scale(1.06)}
.review-dots{display:flex;justify-content:center;gap:8px;margin:4px 0 0}
.review-dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#b8c7c5;cursor:pointer}
.review-dot[aria-current="true"]{background:var(--acc);transform:scale(1.25)}
.contact-section{position:relative;clear:both;isolation:isolate;margin-top:24px;background:#f5f8f7}
@media(max-width:800px){.rvs .rv{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:560px){.review-slider{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}.review-arrow{width:34px;height:34px;font-size:15px}.rvs .rv{flex-basis:100%;min-height:210px}}
@media(prefers-reduced-motion:reduce){.rvs{scroll-behavior:auto}.review-arrow{transition:none}}

/* Automatic responsive image fitting and compact header logo */
.hd{min-height:76px;gap:16px;flex-wrap:nowrap}
.hd .logo{display:flex;align-items:center;flex:0 1 auto;min-width:0;max-width:220px;line-height:0}
.hd .logo img{display:block;width:auto;height:60px;max-width:190px;max-height:60px;object-fit:contain;object-position:left center}
.hd #mb{flex:0 0 auto;margin-left:auto}
/* Keep uploaded images inside their own layout without distortion */
img{max-width:100%;height:auto}
.logo img,.fg img,.brand img{object-fit:contain}
.cd .im,.wy .im,.vehicle-card .im,.tour-card .im{overflow:hidden}
.cd .im img,.wy .im img,.vehicle-card .im img,.tour-card .im img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero .sl,.hd,.ph,.cta{background-size:cover;background-position:center;background-repeat:no-repeat}
@media(max-width:860px){
  .hd{min-height:68px;padding:7px 16px;gap:10px}
  .hd .logo{max-width:170px}
  .hd .logo img{height:54px;max-height:54px;max-width:150px}
}
@media(max-width:480px){
  .hd{min-height:64px;padding:6px 14px}
  .hd .logo img{height:50px;max-height:50px;max-width:138px}
  #mb{font-size:27px}
}
/* Slightly zoom header logo */
.site-logo img,
.logo img,
header .logo img {
    transform: scale(1.30);
    transform-origin: left center;
}