:root{--navy:#0b2259;--navy2:#13337f;--blue:#1d4ed8;--sky:#e8efff;--orange:#f47b20;--orange2:#ff9a3c;--ink:#0f172a;--mute:#5b6478;--line:#e3e8f2;--bg:#f6f8fc;--ok:#16a34a;--wa:#25d366;--r:18px;--sh:0 10px 30px rgba(11,34,89,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
img{max-width:100%;display:block}a{color:inherit}
button,input,select,textarea{font:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}
h1,h2,h3{line-height:1.2;margin:0 0 .4em;font-weight:700}
h2{font-size:clamp(1.5rem,3.4vw,2.2rem)}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);margin-bottom:.4rem}
.sub{color:var(--mute);max-width:640px;margin:0 0 1.6rem}
section{padding:64px 0}
/* header */
.top{background:var(--navy);color:#cdd6f0;font-size:.82rem}
.top .wrap{display:flex;gap:18px;justify-content:space-between;align-items:center;padding-top:6px;padding-bottom:6px}
.top a{text-decoration:none;color:#fff}.top .tl{display:flex;gap:16px;flex-wrap:wrap}
header.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:14px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.brand b{display:block;font-size:1.02rem;color:var(--navy);letter-spacing:.01em}.brand small{display:block;font-size:.7rem;color:var(--mute);margin-top:-2px}
.nav ul{display:flex;gap:4px;list-style:none;margin:0 0 0 auto;padding:0}
.nav ul a{text-decoration:none;padding:8px 12px;border-radius:10px;font-size:.92rem;font-weight:500;color:#1e293b}
.nav ul a:hover{background:var(--sky);color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 20px;font-weight:600;cursor:pointer;text-decoration:none;transition:.2s;white-space:nowrap}
.btn-o{background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;box-shadow:0 8px 20px rgba(244,123,32,.35)}
.btn-o:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(244,123,32,.45)}
.btn-n{background:var(--navy);color:#fff}.btn-w{background:var(--wa);color:#fff}
.btn-g{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn svg{width:18px;height:18px}
.nav .call{margin-left:6px}
.burger{display:none;margin-left:auto;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;border-radius:2px}
/* hero */
.hero{position:relative;background:radial-gradient(1200px 500px at 85% -10%,#2f5bd3 0,transparent 60%),radial-gradient(800px 400px at -10% 110%,#f47b2033 0,transparent 60%),linear-gradient(160deg,#0b2259 0,#102c73 55%,#0b2259 100%);color:#fff;padding:46px 0 0;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(#000,transparent 80%)}
.hero .wrap{position:relative}
.hero h1{font-size:clamp(1.75rem,4.6vw,3.1rem);max-width:820px;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--orange2)}
.hero p.lead{color:#c9d5f5;max-width:640px;font-size:1.02rem;margin:0 0 22px}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.pills span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:6px 12px;border-radius:999px;font-size:.82rem}
.hero-strip{position:relative;margin-top:28px;height:170px;background:url(/img/hero-strip.webp) center bottom/cover no-repeat;border-radius:22px 22px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.25)}
.hero-strip:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(11,34,89,.35),transparent 40%)}
/* booking panel */
.panel{background:#fff;color:var(--ink);border-radius:22px;box-shadow:0 24px 60px rgba(3,12,40,.35);padding:0;position:relative;z-index:2}
.tabs{display:flex;gap:4px;padding:10px 10px 0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:1;min-width:96px;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;padding:10px 10px 12px;border-radius:14px 14px 0 0;cursor:pointer;color:var(--mute);font-weight:600;font-size:.86rem;position:relative}
.tab svg{width:26px;height:26px}
.tab.on{color:var(--navy);background:var(--sky)}
.tab.on:after{content:"";position:absolute;left:18%;right:18%;bottom:-1px;height:3px;border-radius:3px;background:var(--orange)}
.pbody{padding:16px 18px 20px}
.trip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.trip label{cursor:pointer}
.trip input{position:absolute;opacity:0;pointer-events:none}
.trip span{display:inline-block;padding:7px 14px;border-radius:999px;border:1.5px solid var(--line);font-size:.85rem;font-weight:500;color:#334155}
.trip input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.trip input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:'from from from to to to date date time time ret ret' 'pax pax veh veh veh veh veh go go go go go';gap:10px;align-items:stretch}
.a-from{grid-area:from}.a-to{grid-area:to}.a-date{grid-area:date}.a-time{grid-area:time}.a-ret{grid-area:ret}.a-pax{grid-area:pax}.a-veh{grid-area:veh}.a-go{grid-area:go}
.fld{position:relative;border:1.5px solid var(--line);border-radius:14px;padding:8px 12px 8px;background:#fff;transition:.15s;min-width:0}
.fld:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px #1d4ed81a}
.fld label{display:block;font-size:.7rem;font-weight:600;color:var(--mute);text-transform:uppercase;letter-spacing:.05em}
.fld input,.fld select,.fld textarea{width:100%;border:0;outline:0;padding:2px 0 0;font-size:.98rem;font-weight:600;color:var(--ink);background:transparent;min-width:0}
.fld select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235b6478' stroke-width='2' fill='none'/%3E%3C/svg%3E") right center no-repeat;padding-right:16px}
.fld.err{border-color:#dc2626;box-shadow:0 0 0 4px #dc26261a}
.ft{display:contents}
.swap{position:absolute;right:-17px;top:50%;transform:translateY(-50%);z-index:3;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--navy);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.swap:hover{background:var(--sky)}.swap svg{width:16px;height:16px}
.go{height:100%;min-height:58px;font-size:1.02rem;padding:0 26px}
.hide{display:none!important}
.pnote{font-size:.78rem;color:var(--mute);margin:12px 0 0;display:flex;gap:6px;align-items:center}
/* modal */
.ov{position:fixed;inset:0;background:rgba(6,14,38,.6);backdrop-filter:blur(3px);z-index:100;display:none;align-items:center;justify-content:center;padding:16px}
.ov.on{display:flex}
.modal{background:#fff;border-radius:22px;max-width:480px;width:100%;max-height:92vh;overflow:auto;padding:22px;position:relative;animation:pop .2s ease}
@keyframes pop{from{transform:translateY(14px);opacity:0}}
.x{position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:50%;border:0;background:var(--bg);cursor:pointer;font-size:1.3rem;line-height:1}
.sum{background:var(--sky);border-radius:14px;padding:12px 14px;font-size:.88rem;margin:10px 0 14px}
.sum div{display:flex;justify-content:space-between;gap:10px;padding:2px 0}.sum div span{color:var(--mute)}.sum div b{text-align:right}
.modal .fld{margin-bottom:10px}
.ferr{color:#dc2626;font-size:.82rem;margin:-4px 0 8px;min-height:1em}
.okic{width:64px;height:64px;border-radius:50%;background:#dcfce7;color:var(--ok);display:grid;place-items:center;margin:4px auto 10px}
.ref{font-family:ui-monospace,Menlo,monospace;font-size:1.25rem;font-weight:700;letter-spacing:.06em;background:var(--bg);border:1.5px dashed #cbd5e1;border-radius:12px;padding:10px;text-align:center;margin:10px 0}
.stack{display:grid;gap:10px}
/* trust */
.trust{background:#fff;border-bottom:1px solid var(--line);padding:22px 0}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ti{display:flex;gap:12px;align-items:center}
.ti i{flex:none;width:46px;height:46px;border-radius:14px;background:var(--sky);color:var(--navy);display:grid;place-items:center}
.ti i svg{width:24px;height:24px}.ti b{display:block;font-size:.95rem}.ti small{color:var(--mute);font-size:.8rem}
/* cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.2s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.svc{padding:22px}.svc i{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;margin-bottom:14px}
.svc i svg{width:26px;height:26px}.svc h3{font-size:1.08rem}.svc p{color:var(--mute);font-size:.9rem;margin:0 0 12px}
.svc ul{margin:0 0 14px;padding:0;list-style:none;font-size:.86rem;color:#334155}.svc li{padding:3px 0 3px 18px;position:relative}.svc li:before{content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--orange)}
.lnk{margin-top:auto;background:none;border:0;padding:0;color:var(--blue);font-weight:600;cursor:pointer;text-align:left;font-size:.92rem}
/* fleet */
.ftabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.chipb{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font-weight:600;font-size:.88rem;cursor:pointer;color:#334155}
.chipb.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.fleet{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.veh .ph{aspect-ratio:16/10;background:linear-gradient(180deg,#eef3ff,#fff);display:grid;place-items:center;overflow:hidden}
.veh .ph img{width:100%;height:100%;object-fit:cover}
.veh .bd{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.veh h3{font-size:1.05rem;margin-bottom:6px}.veh p{color:var(--mute);font-size:.86rem;margin:0 0 10px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.chips span{font-size:.76rem;font-weight:600;padding:4px 10px;border-radius:999px;background:#fff4ea;color:#b45309;border:1px solid #fde1c4}
.chips span.b{background:var(--sky);color:var(--navy);border-color:#d6e1ff}
.veh .btn{margin-top:auto}
/* routes */
.routes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.route{padding:46px 18px 18px;position:relative}
.route .rt{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--mute);font-weight:500}
.route .rt i{flex:1;height:0;border-top:2px dashed #cbd5e1;position:relative}
.route .rt i:after{content:"";position:absolute;right:-2px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--orange)}
.route h3{font-size:1.15rem;margin:10px 0 2px;color:var(--navy)}
.route .meta{font-size:.82rem;color:var(--mute);margin-bottom:12px}
.route .tag{position:absolute;top:14px;left:18px;font-size:.7rem;font-weight:600;color:#047857;background:#d1fae5;padding:3px 8px;border-radius:999px}
/* packages */
.pk{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pkg .ph{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e2e8f0;cursor:zoom-in;border:0;padding:0;width:100%}
.pkg .ph img{width:100%;height:100%;object-fit:cover;object-position:top;transition:.4s}
.pkg:hover .ph img{transform:scale(1.04)}
.pkg .ph .cat{position:absolute;left:10px;top:10px;background:rgba(11,34,89,.88);color:#fff;font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:999px}
.pkg .ph .zoom{position:absolute;right:10px;bottom:10px;background:#fff;color:var(--navy);font-size:.72rem;font-weight:600;padding:5px 10px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.pkg .bd{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.pkg h3{font-size:1rem;margin-bottom:2px}.pkg .dur{font-size:.8rem;color:var(--orange);font-weight:600}.pkg p{font-size:.84rem;color:var(--mute);margin:6px 0 12px}
.pkg .btn{margin-top:auto;padding:10px 14px;font-size:.9rem}
.more{text-align:center;margin-top:22px}
/* videos */
.vids{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.vid{position:relative;border-radius:var(--r);overflow:hidden;background:#000;cursor:pointer;border:0;padding:0;aspect-ratio:3/4;grid-column:span 2}
.vid.vw{aspect-ratio:16/9;grid-column:span 3}
.vid img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:.3s}.vid:hover img{opacity:1;transform:scale(1.03)}
.vid .pl{position:absolute;inset:0;display:grid;place-items:center}
.vid .pl b{width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--orange);box-shadow:0 6px 20px rgba(0,0,0,.3)}
.vid .cap{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-weight:600;font-size:.88rem;text-align:left}
/* happy */
.happy{display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:center}
.happy img{border-radius:22px;box-shadow:var(--sh)}
/* why */
.why{background:linear-gradient(160deg,#0b2259,#13337f);color:#fff}
.why .sub{color:#c9d5f5}
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.w{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:20px}
.w i{width:44px;height:44px;border-radius:12px;background:var(--orange);display:grid;place-items:center;margin-bottom:12px}.w i svg{width:22px;height:22px}
.w h3{font-size:1.02rem}.w p{color:#c9d5f5;font-size:.88rem;margin:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.step{display:flex;gap:14px;align-items:flex-start}
.step b{flex:none;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:700}
.step p{margin:0;color:#c9d5f5;font-size:.88rem}.step h3{font-size:1rem;margin:4px 0}
/* faq */
.faq{max-width:860px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:0 18px}
.faq summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:600;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-size:1.4rem;line-height:1;color:var(--orange)}
.faq details[open] summary:after{content:"–"}
.faq details p{margin:0 0 16px;color:var(--mute);font-size:.93rem}
/* contact */
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:24px}
.cbox{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}
.cl{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px dashed var(--line)}
.cl:last-of-type{border:0}.cl i{flex:none;width:40px;height:40px;border-radius:12px;background:var(--sky);color:var(--navy);display:grid;place-items:center}.cl i svg{width:20px;height:20px}
.cl small{display:block;color:var(--mute);font-size:.78rem}.cl a{font-weight:600;text-decoration:none;color:var(--navy)}
.phones{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.phones a{background:var(--bg);border:1px solid var(--line);padding:6px 10px;border-radius:10px;font-size:.92rem}
.map{border-radius:22px;overflow:hidden;min-height:380px;background:#e2e8f0;border:1px solid var(--line)}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
footer{background:#071a45;color:#b8c4e4;padding:44px 0 90px;font-size:.9rem}
footer .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}
footer h4{color:#fff;margin:0 0 10px;font-size:.95rem}footer a{text-decoration:none;color:#b8c4e4;display:block;padding:3px 0}footer a:hover{color:#fff}
footer .copy{border-top:1px solid rgba(255,255,255,.1);margin-top:26px;padding-top:16px;font-size:.8rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
/* floating */
.fab{position:fixed;right:18px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 10px 26px rgba(37,211,102,.45);color:#fff}
.fab svg{width:30px;height:30px}
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -6px 20px rgba(0,0,0,.08)}
.mbar a,.mbar button{flex:1;padding:12px 8px;font-size:.9rem}
/* lightbox */
.lb{position:fixed;inset:0;background:rgba(3,8,24,.92);z-index:120;display:none;flex-direction:column;align-items:center;justify-content:center;padding:14px}
.lb.on{display:flex}
.lb .lbm{max-width:min(920px,100%);max-height:calc(100vh - 150px);display:flex;justify-content:center}
.lb img,.lb video{max-width:100%;max-height:calc(100vh - 150px);border-radius:12px;object-fit:contain;background:#000}
.lb .lbc{color:#e2e8f0;text-align:center;margin-top:12px;max-width:720px;font-size:.88rem}
.lb .lbc b{display:block;color:#fff;font-size:1rem}
.lb .lba{display:flex;gap:10px;justify-content:center;margin-top:10px;flex-wrap:wrap}
.lb .x{background:#fff;position:fixed;right:16px;top:16px}
.lb .nv{position:fixed;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.9);cursor:pointer;font-size:1.3rem}
.lb .pv{left:12px}.lb .nx{right:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:1060px){.cards,.pk,.routes{grid-template-columns:repeat(3,1fr)}.nav ul{display:none}.burger{display:block}.nav .call{display:none}.nav.open ul{display:flex;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:#fff;padding:10px;border-bottom:1px solid var(--line)}}
@media (max-width:760px){section{padding:46px 0}.top .hide-m{display:none}.trust .wrap{grid-template-columns:1fr 1fr}.cards,.pk,.routes,.fleet,.wgrid,.steps{grid-template-columns:1fr 1fr}.vids{grid-template-columns:1fr 1fr}.vid{grid-column:span 1}.vid.vw{grid-column:1/-1}.happy,.contact{grid-template-columns:1fr}footer .fg{grid-template-columns:1fr 1fr}.mbar{display:flex}.fab{bottom:84px}.hero-strip{height:110px}.hero{padding-top:28px}}
@media (max-width:520px){.grid{grid-template-columns:1fr 1fr;grid-template-areas:'from from' 'to to' 'date time' 'ret pax' 'veh veh' 'go go'}.hero .lead,.hero .pills{display:none}.hero h1{font-size:1.6rem;margin-bottom:16px}.trip{gap:6px}.trip span{padding:6px 11px;font-size:.8rem}.cards,.fleet,.wgrid,.steps{grid-template-columns:1fr}.pk,.routes{grid-template-columns:1fr 1fr;gap:12px}.pkg .bd{padding:12px}.pkg p{display:none}.route{padding:14px}.swap{right:14px;top:100%;transform:translateY(-50%)}.pbody{padding:14px}.tab{min-width:80px;font-size:.78rem;padding:8px 6px 10px}.trust .wrap{gap:12px}.ti i{width:40px;height:40px}}
