:root{--ink:#1B1340;--sky:#6C4DF6;--cloud:#F6F4FF;--coral:#FFB703;--mint:#FF8FAB;--mut:#5E5A7A}
*{box-sizing:border-box}body{margin:0;font:400 17px/1.65 'Manrope',system-ui,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,.logo{font-family:'Outfit',sans-serif;line-height:1.15}a{color:var(--sky)}
.w{max-width:1120px;margin:auto;padding:0 20px}.top{background:var(--ink);color:#cfe0f5;text-align:center;font-size:14px;padding:6px 10px}.top a{color:#fff}
header{position:sticky;top:0;background:#fffe;backdrop-filter:blur(8px);z-index:20;border-bottom:1px solid #e8e3f7}.nav{display:flex;align-items:center;gap:24px;padding:12px 20px}
.logo{font-size:28px;font-weight:800;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;letter-spacing:-.5px}.logo b{color:var(--sky)}
nav{margin-left:auto;display:flex;gap:20px}nav a{color:var(--ink);text-decoration:none;font-weight:500}nav a:hover{color:var(--sky)}
.call{display:flex;gap:8px;align-items:center;background:var(--coral);color:#fff;text-decoration:none;font-weight:700;padding:9px 16px;border-radius:99px}
.hero{background:linear-gradient(160deg,#1B1340 0%,#3A237F 60%,#6C4DF6 130%);color:#fff;padding:64px 0 110px}.hero.sm{padding:56px 0}.hero h1{font-size:clamp(32px,5vw,56px);max-width:820px;margin:0 0 14px;font-weight:800}
.lead{font-size:19px;max-width:640px;color:#d6e6fa}.lead a{color:#fff}
.pass{margin-top:34px;background:#fff;color:var(--ink);border-radius:20px;padding:20px;display:grid;grid-template-columns:1.3fr 1.3fr .8fr .8fr .8fr auto;gap:12px;align-items:end;box-shadow:0 24px 60px #0006;position:relative;margin-bottom:-170px}
.pass:before{content:"";position:absolute;left:0;right:0;top:-1px;height:6px;background:repeating-linear-gradient(90deg,var(--coral) 0 14px,transparent 14px 22px);border-radius:20px 20px 0 0}
.f{position:relative}label{font-size:13px;font-weight:700;color:var(--mut)}input,select{width:100%;font:inherit;border:1.5px solid #d9d2f0;border-radius:10px;padding:11px;background:#fff;color:var(--ink)}input:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.sug{position:absolute;z-index:9;left:0;right:0;top:100%;margin:4px 0 0;padding:0;list-style:none;background:#fff;border-radius:12px;box-shadow:0 14px 40px #0003;max-height:260px;overflow:auto}.sug li{padding:10px 14px;cursor:pointer;font-size:15px}.sug li:hover,.sug li.on{background:var(--cloud)}.sug b{color:var(--sky);margin-right:6px}.sug small{display:block;color:var(--mut)}
.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:var(--coral);color:#fff;border:0;border-radius:12px;padding:13px 22px;font:700 17px 'Manrope';text-decoration:none;cursor:pointer}.btn:hover{filter:brightness(1.08)}
.sec{padding:76px 20px}.pass+*{}.hero+.sec{padding-top:210px}.sec h2,.cta h2{font-size:clamp(26px,3.4vw,38px);margin:0 0 10px}.sub{color:var(--mut);margin:0 0 26px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;margin-top:22px}
.fare{border:1.5px solid #e2dcf5;border-radius:18px 18px 18px 4px;padding:20px;background:#fff;position:relative}.fare small{color:var(--sky);font-weight:700}.fare h3{margin:6px 0;font-size:21px}.fare p{margin:0 0 12px}.fare b{font-size:28px;color:var(--ink)}.fare i{color:var(--mut);font-size:14px}.fare a{font-weight:700;color:var(--coral);text-decoration:none}
.fn{font-size:13px;color:var(--mut);margin-top:16px}.band{background:var(--cloud)}.steps{padding-left:20px;max-width:720px}.steps li{margin:12px 0}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.chips li{background:#fff;border:1.5px solid #d9d2f0;border-radius:99px;padding:8px 16px}
.txt{max-width:820px}.txt h3{margin:26px 0 4px;color:var(--ink)}.faq details{border-bottom:1px solid #e2dcf5;padding:14px 0}summary{cursor:pointer;font-weight:700}
.cta{background:var(--ink);color:#fff;text-align:center;padding:60px 0}.cta h2{margin-bottom:20px}
.doc{padding:50px 20px;max-width:820px}.doc h1{font-size:40px}.doc h2{font-size:22px;margin-top:30px}.m{color:var(--mut)}
footer{background:#120C2E;color:#bdb8d9;padding:48px 0 24px;font-size:15px}footer a{color:#dbe8f7;display:block;margin:6px 0;text-decoration:none}footer .logo{color:#fff;display:inline-flex}footer h4{color:#fff;margin:0 0 8px}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.disc{font-size:12.5px;color:#9a95bf;margin-top:30px;border-top:1px solid #2a2150;padding-top:18px}
.modal{position:fixed;inset:0;background:#120c2ecc;display:none;align-items:center;justify-content:center;z-index:99;padding:16px}.modal.on{display:flex}
.box{background:#fff;border-radius:24px;max-width:460px;width:100%;padding:34px 28px;text-align:center;position:relative;animation:pop .35s}.box h2{font-size:30px;margin:10px 0}.box small{display:block;color:var(--mut);font-size:12px;margin-top:14px}
.agent{width:84px;height:84px;margin:auto;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--mint));color:#fff;display:grid;place-items:center}.big{width:100%;margin-top:8px}.x{position:absolute;right:14px;top:8px;border:0;background:none;font-size:30px;cursor:pointer}
@keyframes pop{from{transform:translateY(20px) scale(.96);opacity:0}}
@media(max-width:900px){.pass{grid-template-columns:1fr 1fr;margin-bottom:-300px}.hero+.sec{padding-top:340px}nav{display:none}.call{margin-left:auto}.fg{grid-template-columns:1fr}.call span{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
.logo img{height:40px;width:auto;display:block}footer .logo{background:#fff;padding:8px 12px;border-radius:12px}footer .logo img{height:36px}
.btn,.call{color:#1B1340}.fare a{color:var(--sky)}.hero{border-radius:0 0 56px 56px}.fare{border-radius:6px 28px 6px 28px}.pass{border-radius:28px}.chips li{border-radius:12px}.band{background:linear-gradient(180deg,#F6F4FF,#EFEAFF)}.sug b{color:var(--sky)}.top{background:#120C2E}.cta{background:linear-gradient(135deg,#1B1340,#3A237F)}

/* ===== extended layout ===== */
.hero.sm{padding:34px 0 46px}.hero.sm h1{font-size:clamp(28px,4.2vw,46px);margin:8px 0 12px}.hero.sm .lead{font-size:18px}
.crumbs{font-size:14px;color:#cdbfff;padding:0;margin:0 0 6px;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.crumbs li+li:before{content:"/";margin-right:6px;color:#9d8be8}.crumbs a{color:#fff;text-decoration:none}.crumbs a:hover{text-decoration:underline}
.page{padding:36px 20px 70px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start}
.page main h2{font-size:clamp(22px,2.6vw,30px);margin:38px 0 10px}.page main h2:first-child{margin-top:0}.page main h3{font-size:19px;margin:22px 0 6px}
.page main p,.page main li{max-width:74ch}
aside.side{position:sticky;top:84px;display:grid;gap:18px}
.box2{border:1.5px solid #e2dcf5;border-radius:6px 24px 6px 24px;padding:20px;background:#fff}.box2 h3{margin:0 0 8px;font-size:18px}.box2.cta2{background:var(--ink);color:#fff;border-color:var(--ink)}.box2.cta2 a.btn{width:100%;margin-top:10px}.box2.cta2 p{color:#d6cfff;margin:6px 0}
.box2 ul{padding-left:18px;margin:6px 0}.box2 li{margin:5px 0}
.quick{background:var(--cloud);border-left:6px solid var(--coral);border-radius:6px 18px 18px 6px;padding:16px 20px;margin:0 0 26px}.quick b.k{display:block;font:800 13px 'Outfit';letter-spacing:.08em;text-transform:uppercase;color:var(--sky);margin-bottom:4px}.quick p{margin:0}
table.facts{border-collapse:collapse;width:100%;margin:12px 0 4px;font-size:16px}table.facts th,table.facts td{text-align:left;padding:10px 12px;border-bottom:1px solid #e8e3f7;vertical-align:top}table.facts th{width:36%;color:var(--mut);font-weight:700}
.routeviz{width:100%;height:auto;margin:6px 0 4px;border-radius:18px;background:linear-gradient(160deg,#F6F4FF,#fff);border:1.5px solid #e2dcf5}
.linkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;list-style:none;padding:0;margin:14px 0}.linkgrid li{margin:0}
.linkgrid a{display:block;border:1.5px solid #e2dcf5;border-radius:12px;padding:10px 14px;text-decoration:none;color:var(--ink);background:#fff;font-weight:500;line-height:1.3}.linkgrid a small{display:block;color:var(--mut);font-weight:400;font-size:13px}.linkgrid a:hover{border-color:var(--sky);background:var(--cloud)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:20px}
a.card{display:block;text-decoration:none;color:var(--ink);border:1.5px solid #e2dcf5;border-radius:6px 28px 6px 28px;padding:20px;background:#fff;transition:transform .15s,border-color .15s}a.card:hover{transform:translateY(-3px);border-color:var(--sky)}a.card small{color:var(--sky);font-weight:700}a.card h3{margin:6px 0;font-size:20px}a.card p{margin:0;color:var(--mut);font-size:15.5px}
.az h2{border-bottom:2px solid var(--cloud);padding-bottom:6px}
.tag{display:inline-block;font:700 12px 'Manrope';background:#fff;border:1.5px solid #d9d2f0;color:var(--mut);padding:3px 10px;border-radius:99px;margin:0 6px 6px 0}
.faq details p{margin:8px 0 0;color:#2c2552}.updated{font-size:14px;color:var(--mut);margin-top:30px}
footer .fg{grid-template-columns:1.6fr 1fr 1fr 1fr}footer h4{margin:0 0 8px;color:#fff;font-family:'Outfit'}
@media(max-width:1000px){.page{grid-template-columns:1fr}aside.side{position:static}}
@media(max-width:900px){.nav{flex-wrap:wrap;gap:10px 14px}nav{display:flex!important;order:3;width:100%;margin:0;overflow-x:auto;gap:16px;padding-bottom:4px;white-space:nowrap}.call{margin-left:auto}footer .fg{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer .fg{grid-template-columns:1fr}.call span{display:none}}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}

.hero.img{background-color:#1B1340;background-image:linear-gradient(160deg,rgba(27,19,64,.88) 0%,rgba(58,35,127,.72) 60%,rgba(108,77,246,.45) 130%),var(--h);background-size:cover;background-position:center}
.hero.img h1,.hero.img .lead{text-shadow:0 2px 14px rgba(18,12,46,.55)}
@media(max-width:700px){.hero.img{background-image:linear-gradient(160deg,rgba(27,19,64,.9),rgba(58,35,127,.75)),var(--hm)}}

/* ===== v3: polish, call button, deal popup ===== */
.top{background:linear-gradient(90deg,#120C2E,#3A237F,#120C2E);background-size:200% 100%;animation:slide 8s linear infinite;font-weight:600;letter-spacing:.01em}
.top a{color:#FFD166;text-decoration:none;font-weight:800}.top .hot{background:#FFB703;color:#1B1340;border-radius:99px;padding:2px 10px;margin-right:8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
@keyframes slide{to{background-position:200% 0}}
header{box-shadow:0 6px 24px rgba(27,19,64,.06)}
nav a{position:relative;padding:4px 0}nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--sky);transition:right .2s}nav a:hover:after{right:0}
.call{position:relative;gap:10px;background:linear-gradient(135deg,#FFB703 0%,#FF8A00 100%);color:#1B1340;padding:8px 18px 8px 14px;border-radius:99px;box-shadow:0 8px 22px rgba(255,138,0,.38),inset 0 1px 0 #fff6;transition:transform .15s,box-shadow .15s;line-height:1.1;isolation:isolate}
.call:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 12px 28px rgba(255,138,0,.5)}
.call:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;animation:ring 2.2s ease-out infinite;box-shadow:0 0 0 0 rgba(255,183,3,.7)}
@keyframes ring{to{box-shadow:0 0 0 16px rgba(255,183,3,0)}}
.call em{font-style:normal;display:flex;flex-direction:column}.call em small{font:800 10.5px 'Manrope';letter-spacing:.07em;text-transform:uppercase;color:#6a3b00}.call em b{font:800 17px 'Outfit';letter-spacing:.2px}
.call svg{background:#1B1340;color:#FFD166;border-radius:50%;padding:6px;width:32px;height:32px;box-sizing:border-box;animation:wob 3s ease-in-out infinite}
@keyframes wob{0%,86%,100%{transform:rotate(0)}90%{transform:rotate(-14deg)}94%{transform:rotate(12deg)}98%{transform:rotate(-8deg)}}
.btn{background:linear-gradient(135deg,#FFB703,#FF8A00);box-shadow:0 10px 24px rgba(255,138,0,.35);border-radius:14px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.btn:hover{transform:translateY(-2px);filter:none;box-shadow:0 14px 30px rgba(255,138,0,.5)}
.btn:after{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(100deg,transparent,#fff7,transparent);transform:skewX(-20deg);animation:shine 3.6s ease-in-out infinite}@keyframes shine{0%,60%{left:-70%}100%{left:130%}}
.hero h1{letter-spacing:-.01em}.hero.img{box-shadow:0 20px 50px rgba(27,19,64,.25)}
.hero .lead a{color:#FFD166;font-weight:800;text-decoration:none;border-bottom:2px solid #FFD16688}
.sec h2{position:relative;padding-bottom:12px}.sec h2:after{content:"";display:block;width:56px;height:5px;border-radius:9px;margin-top:10px;background:linear-gradient(90deg,#6C4DF6,#FFB703)}
.fare,a.card,.box2{transition:transform .2s,box-shadow .2s,border-color .2s}.fare:hover,.box2:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(108,77,246,.16)}a.card:hover{box-shadow:0 18px 40px rgba(108,77,246,.16)}
.box2.cta2{background:linear-gradient(145deg,#1B1340,#4a2fa8)}
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.rv.in{opacity:1;transform:none}
/* destination photo cards */
.dests{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:22px}
a.dest{position:relative;display:block;border-radius:6px 28px 6px 28px;overflow:hidden;aspect-ratio:4/5;color:#fff;text-decoration:none;box-shadow:0 12px 30px rgba(27,19,64,.18);transition:transform .25s,box-shadow .25s}
a.dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
a.dest:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(108,77,246,.3)}a.dest:hover img{transform:scale(1.07)}
a.dest:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(18,12,46,.92))}
a.dest span{position:absolute;z-index:2;left:18px;right:18px;bottom:16px}a.dest b{display:block;font:800 24px 'Outfit'}a.dest small{display:block;color:#e8e0ff;font-size:14px}
a.dest i{position:absolute;z-index:2;top:14px;left:14px;font:800 11px 'Manrope';font-style:normal;text-transform:uppercase;letter-spacing:.06em;background:#FFB703;color:#1B1340;border-radius:99px;padding:4px 11px}
/* island banner */
.islands{position:relative;border-radius:6px 40px 6px 40px;overflow:hidden;min-height:340px;display:grid;align-items:center;color:#fff;margin:10px 0;background:#0b3b5c var(--bg) center/cover}
.islands:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,12,46,.88) 0%,rgba(27,19,64,.6) 55%,rgba(27,19,64,.1))}
.islands .in2{position:relative;padding:40px 36px;max-width:560px}.islands h2{color:#fff;font-size:clamp(26px,3.6vw,40px);margin:0 0 10px}.islands h2:after{display:none}.islands p{color:#e5defd;margin:0 0 20px}
.islands .pic{position:absolute;right:28px;bottom:-26px;width:230px;aspect-ratio:4/3;object-fit:cover;border-radius:20px;border:5px solid #fff;box-shadow:0 18px 40px #0006;transform:rotate(4deg)}
/* sticky mobile call bar */
.callbar{display:none}
@media(max-width:900px){.call em small{display:none}.call em b{font-size:15px}.call{padding:7px 14px 7px 10px}.call svg{width:28px;height:28px}.islands .pic{display:none}}
@media(max-width:700px){body{padding-bottom:74px}
.callbar{position:fixed;z-index:60;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#1B1340,#4a2fa8);color:#fff;text-decoration:none;border-radius:18px;padding:10px 12px;box-shadow:0 14px 34px rgba(18,12,46,.5);border:1.5px solid #ffffff22}
.callbar svg{background:#FFB703;color:#1B1340;border-radius:50%;padding:8px;width:42px;height:42px;box-sizing:border-box;animation:wob 3s ease-in-out infinite;flex:none}
.callbar span{display:flex;flex-direction:column;line-height:1.2;flex:1}.callbar b{font:800 16px 'Outfit'}.callbar small{font-size:12.5px;color:#d9cffc}
.callbar i{font:800 14px 'Manrope';font-style:normal;background:linear-gradient(135deg,#FFB703,#FF8A00);color:#1B1340;padding:10px 16px;border-radius:12px;animation:ring2 2s infinite}
@keyframes ring2{50%{transform:scale(1.06)}}}
/* deal popup */
.dealpop{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(18,12,46,.74);backdrop-filter:blur(4px)}.dealpop.on{display:flex}
.dealbox{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;max-width:760px;width:100%;background:#fff;border-radius:8px 36px 8px 36px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.5);animation:pop .4s}
.dp-art{position:relative;display:grid;place-items:center;min-height:240px;background:radial-gradient(circle at 30% 20%,#6C4DF6,#1B1340 70%)}
.dp-badge{position:absolute;top:18px;left:18px;background:#FFB703;color:#1B1340;font:800 12px 'Manrope';text-transform:uppercase;letter-spacing:.07em;border-radius:99px;padding:5px 12px}
.dp-ring{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;color:#1B1340;background:linear-gradient(135deg,#FFD166,#FF8A00);animation:ring3 2s infinite}
@keyframes ring3{0%{box-shadow:0 0 0 0 rgba(255,183,3,.7)}100%{box-shadow:0 0 0 36px rgba(255,183,3,0)}}
.dp-body{padding:34px 30px 24px}.dp-body h2{font-size:clamp(26px,3.4vw,34px);margin:0 0 10px;color:var(--ink)}.dp-body p{margin:0 0 12px;color:#4b4670}
.dp-body ul{list-style:none;padding:0;margin:0 0 18px}.dp-body li{padding-left:28px;margin:7px 0;position:relative;font-weight:600}.dp-body li:before{content:"\2713";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:#e9fff3;color:#0a8f4d;display:grid;place-items:center;font-size:13px}
.dp-call{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#FFB703,#FF8A00);color:#1B1340;text-decoration:none;border-radius:16px;padding:12px 18px;box-shadow:0 12px 28px rgba(255,138,0,.45);transition:transform .15s}.dp-call:hover{transform:translateY(-2px)}
.dp-call svg{background:#1B1340;color:#FFD166;border-radius:50%;padding:9px;width:44px;height:44px;box-sizing:border-box;flex:none}.dp-call span{display:flex;flex-direction:column;line-height:1.15}.dp-call small{font:800 11px 'Manrope';text-transform:uppercase;letter-spacing:.06em;color:#6a3b00}.dp-call b{font:800 26px 'Outfit'}
.dp-later{display:block;margin:12px auto 0;background:none;border:0;color:#6b6690;font:600 14px 'Manrope';cursor:pointer;text-decoration:underline}
.dp-fine{display:block;margin-top:10px;color:#8a85a8;font-size:11.5px;line-height:1.4;text-align:center}
.dp-x{position:absolute;right:12px;top:6px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:#ffffffd9;font-size:26px;line-height:1;cursor:pointer;color:var(--ink)}
@media(max-width:640px){.dealbox{grid-template-columns:1fr;border-radius:8px 28px 8px 28px}.dp-art{min-height:120px}.dp-ring{width:70px;height:70px}.dp-ring svg{width:30px;height:30px}.dp-body{padding:22px 20px 18px}.dp-call b{font-size:23px}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
