:root{--navy:#0F2454;--teal:#2095AE;--text:#5E6282;--bg:#F4F5F8;--white:#fff;--r:22px}
body{font-family:'Barlow Semi Condensed',system-ui,sans-serif;color:var(--text);font-size:1.08rem;background:#fff}
h1,h2,h3,h4,.navbar-brand,.btn{font-family:'Barlow Condensed',sans-serif;color:var(--navy);font-weight:600}
h2{font-size:clamp(2rem,4vw,2.9rem)}a{color:var(--teal)}
.btn-wb{background:var(--teal);color:#fff;border-radius:50px;padding:.55rem 1.6rem;font-size:1.1rem;transition:.3s}
.btn-wb:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.btn-line{border:2px solid #fff;color:#fff;border-radius:50px;padding:.5rem 1.5rem}.btn-line:hover{background:#fff;color:var(--navy)}
.wb-nav{background:#fff;box-shadow:0 2px 18px rgba(15,36,84,.08)}.wb-nav .nav-link{color:var(--navy);font-weight:500}
.hero{background:var(--navy);color:#fff;padding:5rem 0 6rem;overflow:hidden;position:relative}
.hero h1{color:#fff;font-size:clamp(2.8rem,7vw,5.2rem);line-height:1;text-transform:uppercase;animation:up .9s ease-out both}
.hero p{max-width:34rem;animation:up .9s .15s ease-out both}.hero .acts{animation:up .9s .3s ease-out both}
.arches{display:flex;gap:14px;justify-content:center}
.arches .a{flex:1;max-width:190px;aspect-ratio:1/2;border-radius:100px 100px 20px 20px;overflow:hidden;background:linear-gradient(160deg,var(--teal),#164c80)}
.arches .a:nth-child(2){margin-top:2.5rem;border-radius:20px 20px 100px 100px}.arches img{width:100%;height:100%;object-fit:cover;animation:zoom 14s ease-in-out infinite alternate}
.sec{padding:5rem 0}.sec.alt{background:var(--bg)}
.card-wb{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 10px 35px rgba(15,36,84,.08);height:100%;transition:.4s}
.card-wb:hover{transform:translateY(-6px)}.card-wb img,.card-wb .ph{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.card-wb .body{padding:1.2rem 1.4rem 1.5rem}.card-wb:hover img{transform:scale(1.04)}.card-wb img{transition:.6s}.card-wb .imgw{overflow:hidden}
.ph{background:linear-gradient(135deg,#2095AE,#0F2454)}
.price{color:var(--navy);font-weight:700;font-size:1.25rem}.old{opacity:.6}.off{background:#f5a524;color:#fff;border-radius:6px;padding:0 .4rem;font-size:.85rem}
.route{display:block;background:#fff;border-radius:16px;padding:1rem 1.2rem;text-decoration:none;color:var(--navy);font-family:'Barlow Condensed';font-size:1.3rem;box-shadow:0 6px 20px rgba(15,36,84,.07)}
.route:hover{background:var(--navy);color:#fff}
.cta{background:var(--navy);color:#fff;border-radius:var(--r);padding:3rem;text-align:center}.cta h2{color:#fff}

.wa-float{position:fixed;right:18px;bottom:18px;background:#25D366;color:#fff;border-radius:50px;padding:.6rem 1.1rem;z-index:99;text-decoration:none;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.enq-msg{margin-left:.6rem}.enq-msg.ok{color:#198754}.enq-msg.err{color:#dc3545}
.accordion-button:not(.collapsed){color:var(--navy);background:var(--bg)}
.page-head{background:var(--navy);color:#fff;padding:3.5rem 0}.page-head h1{color:#fff}

@keyframes up{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}@keyframes zoom{to{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* layout hardening */
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto}
html{overflow-x:hidden}
.card-wb.auto{height:auto}
.card-wb .body,.accordion-body{overflow-wrap:anywhere}
.wb-foot{position:relative;clear:both;padding-bottom:5.5rem}
.accordion-button{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;color:var(--navy)}
@media(max-width:576px){.wa-float{right:10px;bottom:10px;padding:.5rem .9rem}.sec{padding:3rem 0}}
/* animated hero rails */
.rails{display:flex;gap:14px;justify-content:center;height:520px}
.rails .a{flex:1;max-width:190px;border-radius:100px 100px 20px 20px;overflow:hidden;background:linear-gradient(160deg,var(--teal),#164c80);aspect-ratio:auto}
.rails .a.c1{margin-top:2.5rem;border-radius:20px 20px 100px 100px;height:calc(100% - 2.5rem)}
.track{display:flex;flex-direction:column;will-change:transform}
.c0 .track{animation:vup 30s linear infinite}.c1 .track{animation:vdown 36s linear infinite}.c2 .track{animation:vup 42s linear infinite}
.t{padding-bottom:12px}.t img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:16px}
.hrail{overflow:hidden;margin-top:3rem}.htrack{display:flex;width:max-content;animation:hright 45s linear infinite}
.htrack .t{padding:0 14px 0 0;width:210px;flex:none}.htrack .t img{aspect-ratio:3/2;border-radius:18px}
.hero:hover .track,.hero:hover .htrack{animation-play-state:paused}
@keyframes vup{to{transform:translateY(-50%)}}@keyframes vdown{from{transform:translateY(-50%)}to{transform:none}}
@keyframes hright{from{transform:translateX(-50%)}to{transform:none}}
@media(max-width:991px){.rails{height:380px}.rails .a{max-width:none}}
/* destination module */
.dsec{background:var(--bg)}
.dcard{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;color:#fff;text-decoration:none;box-shadow:0 10px 35px rgba(15,36,84,.12);transition:transform .4s}
.dcard:hover{transform:translateY(-6px);color:#fff}.dcard>img,.dcard>.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}.dcard:hover>img{transform:scale(1.08)}
.dcard .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,36,84,0) 35%,rgba(15,36,84,.92));transition:opacity .4s}.dcard:hover .shade{background:linear-gradient(180deg,rgba(15,36,84,.2) 10%,rgba(15,36,84,.96))}
.dtxt{position:absolute;left:0;right:0;bottom:0;padding:1.4rem}.dtxt h3{color:#fff;margin:.2rem 0}.dtxt p{margin:0 0 .3rem;color:#e6ebf7}.dtxt .sd{font-size:.98rem}
.dcat{display:inline-block;background:var(--teal);color:#fff;border-radius:50px;padding:0 .7rem;font-size:.85rem}.card-wb .dcat{margin-bottom:.4rem}
.go{font-family:'Barlow Condensed';font-size:1.15rem}.arr{display:inline-block;font-style:normal;transition:transform .3s}.dcard:hover .arr{transform:translateX(6px)}
.dhero2,.dhero{background-size:cover;background-position:center;position:relative}.dhero2::before{content:"";position:absolute;inset:0;background:rgba(15,36,84,.65)}.dhero2 .container{position:relative}
.crumbs{font-size:.95rem;margin-bottom:.5rem;color:#cfd8f3}.crumbs a{color:#fff}
.dhero{min-height:70vh;display:flex;align-items:flex-end;color:#fff;background-color:var(--navy);overflow:hidden}.dhero picture,.dhero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dhero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,36,84,.35),rgba(15,36,84,.85));z-index:1}.dhero .container{position:relative;z-index:2;padding-bottom:3rem}.dhero h1{color:#fff;font-size:clamp(2.6rem,7vw,5rem);animation:up .9s both}.dhero p{animation:up .9s .15s both}
.snav{position:sticky;top:64px;z-index:20;background:#fff;box-shadow:0 2px 12px rgba(15,36,84,.07);overflow-x:auto;white-space:nowrap}.snav a{display:inline-block;padding:.8rem 1rem;text-decoration:none;color:var(--navy);font-family:'Barlow Condensed';font-size:1.1rem}.snav a:hover{color:var(--teal)}
.gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:12px}.gal a{overflow:hidden;border-radius:18px;display:block}.gal a:first-child{grid-row:span 2}.gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gal a:hover img{transform:scale(1.06)}
@media(max-width:767px){.gal{grid-template-columns:1fr 1fr;grid-template-rows:200px 120px 120px}.gal a:first-child{grid-column:span 2;grid-row:auto}}
.ico{display:flex;gap:.8rem}.ico>i{flex:none;width:42px;height:42px;border-radius:50%;background:var(--bg);color:var(--teal);display:grid;place-items:center;font-size:1.2rem}
.season.rec{border:2px solid var(--teal)}.thumbs a{display:inline-block;margin:0 6px 6px 0}.thumbs img{height:64px;width:auto;border-radius:10px}
.lb{position:fixed;inset:0;background:rgba(5,12,32,.94);z-index:2000;display:flex;align-items:center;justify-content:center}.lb[hidden]{display:none}.lb img{max-width:92vw;max-height:82vh;border-radius:12px}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.6rem;padding:.4rem 1rem;cursor:pointer}.lb-x{top:6px;right:10px}.lb-p{left:6px;top:42%}.lb-n{right:6px;top:42%}.lb-c{position:absolute;bottom:14px;color:#fff;text-align:center;width:100%;padding:0 3rem}body.lb-open{overflow:hidden}
