:root{--navy:#0b1f3a;--navy2:#12315a;--gold:#c9a24b;--gold2:#e6c97a;--ink:#14213a;--mute:#5b6678;--soft:#f6f3ec;--line:#e5e0d3;--green:#1fa855;--r:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:var(--gold) var(--navy)}
body{margin:0;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,6.5vw,3.6rem)}
h2{font-size:clamp(1.5rem,4vw,2.2rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;margin:0 0 12px}
.lead{font-size:1.1rem;color:var(--mute);max-width:46rem}
.muted{color:var(--mute)}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(11,31,58,.97);backdrop-filter:blur(8px);color:#fff}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.brand{font-weight:800;font-size:1.3rem;letter-spacing:.05em;text-decoration:none}
.brand span{color:var(--gold);font-weight:500;margin-left:6px;font-size:.75em}
.menu-btn{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:99px;padding:8px 16px;font:inherit;font-weight:600}
.nav{display:flex;align-items:center;gap:6px}
.nav a{padding:8px 12px;border-radius:99px;text-decoration:none;font-weight:600;font-size:.95rem;opacity:.9}
.nav a:hover,.nav a[aria-current]{background:rgba(255,255,255,.1);opacity:1}
.nav .cta{background:var(--gold);color:var(--navy);opacity:1}
.nav .cta:hover{background:var(--gold2)}
@media(max-width:860px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--navy);flex-direction:column;align-items:stretch;padding:12px 20px 20px;border-top:1px solid rgba(255,255,255,.12)}
  .nav.open{display:flex}
  .nav a{padding:12px 14px}
}

/* hero */
.hero{position:relative;color:#fff;background:var(--navy) center/cover no-repeat;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,31,58,.92) 0%,rgba(11,31,58,.7) 55%,rgba(11,31,58,.35) 100%);z-index:-1}
.hero .wrap{padding:84px 0 92px}
.hero.small .wrap{padding:60px 0 64px}
.hero p.lead{color:#dbe3f0}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.btn{display:inline-block;padding:14px 26px;border-radius:99px;font-weight:700;text-decoration:none;border:2px solid transparent;transition:transform .15s,background .15s;cursor:pointer;font:inherit;font-weight:700}
.btn:hover{transform:translateY(-2px)}
.btn.gold{background:var(--gold);color:var(--navy)}
.btn.gold:hover{background:var(--gold2)}
.btn.wa{background:var(--green);color:#fff}
.btn.line{border-color:rgba(255,255,255,.6);color:#fff}
.btn.dark{background:var(--navy);color:#fff}

/* sections */
section.s{padding:72px 0}
section.s.soft{background:var(--soft)}
section.s.navy{background:var(--navy);color:#fff}
section.s.navy .lead,section.s.navy p{color:#cfd8e8}
.head{margin-bottom:34px}
.grid{display:grid;gap:20px}
@media(min-width:700px){.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.soft .card{border-color:transparent;box-shadow:0 8px 30px -18px rgba(11,31,58,.35)}
.card .ico{width:46px;height:46px;border-radius:14px;background:var(--navy);color:var(--gold);display:grid;place-items:center;margin-bottom:14px}
.card .ico svg{width:24px;height:24px}
.card p:last-child{margin:0}
.step{counter-increment:st}
.step::before{content:counter(st);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:800;margin-bottom:12px}
.steps{counter-reset:st}

/* destination cards */
.dest{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;color:#fff;text-decoration:none;background:var(--navy);isolation:isolate}
.dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;z-index:-2}
.dest::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,31,58,.9),rgba(11,31,58,0) 60%);z-index:-1}
.dest:hover img{transform:scale(1.05)}
.dest div{position:absolute;left:18px;right:18px;bottom:16px}
.dest b{display:block;font-size:1.2rem}
.dest small{opacity:.85}
.dest em{display:inline-block;margin-top:8px;font-style:normal;font-weight:700;color:var(--gold2);font-size:.9rem}
.dgrid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.dgrid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.dgrid{grid-template-columns:repeat(4,1fr)}}

/* search box and enquiry forms */
.enq{background:#fff;color:var(--ink);border-radius:26px;padding:24px;box-shadow:0 34px 70px -30px rgba(11,31,58,.55);border:1px solid var(--line)}
.enq form{margin:0}
.tabs{display:flex;gap:4px;margin:0 0 20px;padding:5px;background:var(--soft);border-radius:99px;width:max-content;max-width:100%;overflow-x:auto}
.tabs button{display:flex;align-items:center;gap:8px;border:0;background:transparent;border-radius:99px;padding:11px 20px;font:inherit;font-weight:700;cursor:pointer;color:var(--mute);white-space:nowrap;transition:background .15s,color .15s}
.tabs button svg{width:19px;height:19px}
.tabs button:hover{color:var(--navy)}
.tabs button[aria-pressed=true]{background:var(--navy);color:#fff;box-shadow:0 8px 18px -10px rgba(11,31,58,.8)}
.trip{display:flex;gap:20px;margin:0 0 14px;font-weight:600;font-size:.92rem}
.trip label{display:flex;align-items:center;gap:7px;cursor:pointer}
.trip input{accent-color:var(--navy);width:17px;height:17px;margin:0}
.sgrid{display:grid;gap:12px;grid-template-columns:1fr 1fr;align-items:stretch;margin-bottom:12px}
.sgrid .sf:first-child,.sgrid .wide{grid-column:1/-1}
.sgrid .swap{display:none}
.sgrid .sf:nth-child(3){grid-column:1/-1}
.srow{display:grid;gap:12px;grid-template-columns:1fr 1fr;align-items:stretch}
.srow .go{grid-column:1/-1}
.sf{position:relative;display:block;border:1.5px solid #ddd6c4;border-radius:16px;padding:11px 16px 9px;background:#fff;transition:border-color .15s,box-shadow .15s;min-width:0}
.sf:hover{border-color:#c9c0a8}
.sf:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,162,75,.22)}
.sf>span{display:block;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--mute)}
.sf input,.sf select,.sf textarea{display:block;width:100%;border:0;padding:5px 0 0;font:inherit;font-size:1.02rem;font-weight:600;color:var(--ink);background:transparent;outline:0;min-width:0}
.sf input::placeholder{color:#a39b86;font-weight:500}
.sf select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%235b6678' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") right 2px center/12px no-repeat;padding-right:20px;cursor:pointer}
.sf textarea{min-height:92px;resize:vertical;font-weight:500}
.oneway .ret{opacity:.4;pointer-events:none}
.go{display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--navy);font:inherit;font-weight:800;font-size:1.05rem;padding:16px 26px;cursor:pointer;box-shadow:0 14px 28px -14px rgba(201,162,75,.9);transition:transform .15s,box-shadow .15s}
.go:hover{transform:translateY(-2px);box-shadow:0 18px 32px -14px rgba(201,162,75,1)}
.go:disabled{opacity:.7;cursor:wait;transform:none}
.go svg{width:21px;height:21px}
@media(min-width:900px){
  .sgrid.flight,.sgrid.package{grid-template-columns:1.25fr 44px 1.25fr 1fr 1fr}
  .sgrid .sf:first-child,.sgrid .sf:nth-child(3){grid-column:auto}
  .sgrid .swap{display:grid;place-items:center;align-self:center;width:44px;height:44px;border-radius:50%;border:1.5px solid #ddd6c4;background:#fff;color:var(--navy);cursor:pointer;z-index:1;transition:transform .2s,background .15s}
  .sgrid .swap:hover{background:var(--soft);transform:rotate(180deg)}
  .sgrid .swap svg{width:20px;height:20px}
  .sgrid.hotel{grid-template-columns:2fr 1fr 1fr}
  .sgrid.hotel .wide{grid-column:auto}
  .srow{grid-template-columns:1fr 1fr 1fr 1.3fr}
  .srow .go{grid-column:auto}
}
.sum{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;border-radius:16px;background:var(--soft);margin:0 0 20px}
.sum b{font-size:1.1rem;display:block}
.sum i{font-style:normal;color:var(--gold)}
.sum small{color:var(--mute);font-weight:600}
.edit{border:1.5px solid #d3cbb6;background:#fff;border-radius:99px;padding:8px 16px;font:inherit;font-weight:700;font-size:.88rem;cursor:pointer;color:var(--navy)}
.edit:hover{border-color:var(--gold)}
.step2 h3{font-size:1.3rem;margin:0 0 4px}
.cgrid{display:grid;gap:12px;grid-template-columns:1fr;margin:14px 0 6px}
@media(min-width:700px){.cgrid{grid-template-columns:1fr 1fr 1fr}.cgrid .full{grid-column:1/-1}}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.enq .small{font-size:.84rem;color:var(--mute);margin:10px 0}
.enq .msg{padding:12px 16px;border-radius:14px;font-weight:600;margin:12px 0}
.enq .msg.err{background:#fdecec;color:#9a1f1f}
.proceed{width:100%;margin-top:6px}
.done{text-align:center;padding:26px 10px}
.done h3{font-size:1.6rem;margin:14px 0 8px}
.done p{max-width:34rem;margin:0 auto 10px}
.tick-big{width:74px;height:74px;border-radius:50%;margin:0 auto;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--navy);box-shadow:0 18px 34px -16px rgba(201,162,75,1)}
.tick-big svg{width:38px;height:38px}

/* misc */
.pillrow{display:flex;gap:10px;flex-wrap:wrap}
.pill{border:1px solid var(--line);border-radius:99px;padding:6px 14px;font-weight:600;font-size:.9rem;background:#fff}
table.info{width:100%;border-collapse:collapse}
table.info th,table.info td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
table.info th{width:38%;color:var(--mute);font-weight:600}
ul.tick{list-style:none;padding:0;margin:0 0 1em}
ul.tick li{padding-left:28px;position:relative;margin:8px 0}
ul.tick li::before{content:"";position:absolute;left:0;top:.5em;width:14px;height:8px;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);transform:rotate(-45deg)}
.band{border-radius:24px;background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:44px;display:grid;gap:18px;align-items:center}
@media(min-width:800px){.band{grid-template-columns:1fr auto}}
.band p{color:#cfd8e8;margin:0}
.split{display:grid;gap:36px;align-items:center}
@media(min-width:860px){.split{grid-template-columns:1fr 1fr}}
.photo{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.photo img{width:100%;height:100%;object-fit:cover}
.prose{max-width:46rem}
.prose h2{margin-top:1.6em;font-size:1.4rem}
.note{font-size:.88rem;color:var(--mute)}

footer{background:var(--navy);color:#cfd6e3;padding:52px 0 30px;font-size:.92rem}
footer .cols{display:grid;gap:28px}
@media(min-width:760px){footer .cols{grid-template-columns:1.4fr 1fr 1fr}}
footer h4{color:#fff;margin:0 0 10px;font-size:.95rem;letter-spacing:.04em}
footer a{text-decoration:none;display:block;padding:3px 0}
footer a:hover{color:var(--gold2)}
footer .legal{border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding-top:18px;font-size:.82rem;opacity:.85}
.fab{position:fixed;right:16px;bottom:16px;z-index:30;display:flex;flex-direction:column;gap:10px}
.fab a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);text-decoration:none;font-weight:800;font-size:.75rem}
.fab .w{background:var(--green)}
.fab .c{background:var(--navy);border:2px solid var(--gold)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* graphics: flight-route arcs over the hero, trust strip, softer cards */
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 500' fill='none' stroke='%23e6c97a' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M-20 430C220 120 520 60 760 190S1100 330 1240 90' stroke-dasharray='2 9'/%3E%3Cpath d='M120 480C380 260 640 250 900 360S1120 420 1260 300' stroke-dasharray='2 9' opacity='.7'/%3E%3Ccircle cx='760' cy='190' r='5' fill='%23e6c97a'/%3E%3Ccircle cx='240' cy='330' r='4' fill='%23e6c97a'/%3E%3Ccircle cx='900' cy='360' r='4' fill='%23e6c97a'/%3E%3Cpath d='M752 186l16 4-12 6 1-8z' fill='%23e6c97a'/%3E%3C/svg%3E") right center/cover no-repeat}
.hero .wrap{position:relative}
.trust{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin:26px 0 0}
@media(min-width:860px){.trust{grid-template-columns:repeat(4,1fr)}}
.trust div{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;font-weight:700;font-size:.92rem;box-shadow:0 10px 26px -20px rgba(11,31,58,.5)}
.trust svg{flex:none;width:38px;height:38px;padding:8px;border-radius:12px;background:var(--navy);color:var(--gold2)}
.trust small{display:block;font-weight:500;color:var(--mute);font-size:.8rem}
.card{transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(11,31,58,.45)}
.band{position:relative;overflow:hidden}
.band::after{content:"";position:absolute;right:-40px;top:-40px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(230,201,122,.28),transparent 70%);pointer-events:none}
section.s.navy{background:radial-gradient(900px 300px at 85% 0,rgba(230,201,122,.14),transparent),var(--navy)}
.dest::before{content:"";position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.35);z-index:0}
.dest::after{z-index:-1}
.dest em::after{content:""}
.sgrid.hotel .sf:nth-child(3){grid-column:auto}
.nav .tel{opacity:1;color:var(--gold2);font-weight:700;display:none}
@media(min-width:1100px){.nav .tel{display:inline-block}}
.hero h1{max-width:16ch;text-wrap:balance}
.hero .lead{font-size:1.15rem}
.hero .wrap{padding-bottom:110px}
.hero.small .wrap{padding-bottom:70px}
section.s{padding:84px 0}
.head h2{margin-bottom:10px}
.enq .done .small{margin:10px auto;max-width:34rem}
