/* Mission Tripzy — site styles
   Tokens: lagoon (brand teal), ink (deep sea navy), marigold (price + primary action), mist (quiet sections) */
:root{
  --lagoon:#0DCDC2; --lagoon-deep:#087A75; --lagoon-soft:#D7F5F3;
  --ink:#0F2A3D; --ink-2:#36506A; --ink-3:#6B8195;
  --mist:#EEF6F6; --line:#D9E6E8; --paper:#FFFFFF;
  --marigold:#FFB23F; --marigold-deep:#E8920C;
  --r-sm:8px; --r-md:14px; --r-lg:22px;
  --shadow:0 18px 40px -22px rgba(15,42,61,.45);
  --wrap:1200px;
  --f:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--lagoon-deep);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--marigold);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{line-height:1.15;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
h1{font-size:clamp(34px,5vw,58px)}
h2{font-size:clamp(26px,3.2vw,38px)}
h3{font-size:20px;font-weight:700}
p{max-width:68ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.num{font-variant-numeric:tabular-nums}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 15px/1 var(--f);padding:14px 22px;border-radius:999px;border:0;cursor:pointer;text-decoration:none!important;transition:background .2s,transform .2s}
.btn-primary{background:var(--marigold);color:var(--ink)}
.btn-primary:hover{background:var(--marigold-deep)}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}
.btn-line:hover{box-shadow:inset 0 0 0 2px var(--lagoon)}
.btn-wa{background:#25D366;color:#06381c}
.btn-wa:hover{background:#1fb457}
.link-more{font-weight:700;color:var(--lagoon-deep)}

/* top bar + header */
.topbar{background:var(--ink);color:#C9D7E1;font-size:13px}
.topbar .wrap{display:flex;gap:22px;align-items:center;min-height:38px;flex-wrap:wrap}
.topbar a{color:#fff}
.topbar .tb-offices{margin-left:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:26px;min-height:74px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--ink);text-decoration:none!important}
.brand img{height:50px;width:50px;border-radius:50%;object-fit:cover}
.mainnav{display:flex;gap:4px;margin-left:auto;align-items:center}
.mainnav>.ni{position:relative}
.mainnav>.ni>a,.mainnav>.ni>button{display:block;padding:10px 12px;font:600 15px var(--f);color:var(--ink);background:none;border:0;cursor:pointer;border-radius:8px}
.mainnav>.ni>a:hover,.mainnav>.ni>button:hover,.mainnav>.ni.open>button{background:var(--mist);text-decoration:none}
.mainnav>.ni>button::after{content:"";display:inline-block;margin-left:6px;border:5px solid transparent;border-top-color:currentColor;transform:translateY(3px)}
.mega{position:absolute;top:100%;left:-20px;padding-top:10px;display:none}
.ni.open .mega,.ni:hover .mega{display:block}
.mega-in{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);padding:20px;display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:4px 18px;width:max-content}
.mega-in.two{grid-template-columns:repeat(2,minmax(190px,1fr))}
.mega-in a{display:flex;justify-content:space-between;gap:14px;padding:8px 10px;border-radius:8px;color:var(--ink);font-weight:600;font-size:14.5px}
.mega-in a small{color:var(--ink-3);font-weight:500}
.mega-in a:hover{background:var(--mist);text-decoration:none}
.mega-in .mega-all{grid-column:1/-1;border-top:1px solid var(--line);margin-top:6px;padding-top:12px;color:var(--lagoon-deep)}
.header-cta{margin-left:8px}
.navtoggle{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer}
.navtoggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px auto;transition:.2s}

/* hero */
.hero{position:relative;min-height:min(88vh,760px);color:#fff;overflow:hidden;display:flex;align-items:flex-end;background:var(--ink)}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.hero-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 7s ease-out}
.hero-slide.on{opacity:1}
.hero-slide.on img{transform:scale(1)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,42,61,.88) 0%,rgba(15,42,61,.55) 45%,rgba(15,42,61,.1) 100%),linear-gradient(0deg,rgba(15,42,61,.75),transparent 45%)}
.hero .wrap{position:relative;z-index:2;width:100%;padding-top:90px;padding-bottom:56px;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:end}
.hero h1{color:#fff;max-width:14ch;margin-bottom:18px}
.hero p.lead{font-size:18px;color:#DCEAF0;max-width:46ch;margin-bottom:26px}
.hero-price{display:inline-block;background:var(--marigold);color:var(--ink);font-weight:800;padding:6px 14px;border-radius:999px;font-size:14px;margin-bottom:18px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-place{margin-top:34px;font-size:13px;color:#BFD2DD;display:flex;align-items:center;gap:8px}
.hero-place svg{flex:none}
.hero-dots{display:flex;gap:6px;margin-left:12px}
.hero-dots button{width:22px;height:4px;border-radius:4px;border:0;background:rgba(255,255,255,.35);cursor:pointer}
.hero-dots button.on{background:var(--marigold)}

/* boarding pass (hero enquiry + ticket cards) */
.pass{background:#fff;color:var(--ink);border-radius:var(--r-lg);box-shadow:0 30px 60px -25px rgba(0,0,0,.55);display:grid;grid-template-columns:1fr;position:relative}
.pass-head{background:var(--lagoon);color:var(--ink);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;font-weight:700}
.pass-head .route{font-size:22px;font-weight:800;letter-spacing:.04em;display:flex;align-items:center;gap:10px}
.pass-body{padding:20px 22px 22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pass-body .full{grid-column:1/-1}
.pass-perf{position:relative;height:0;border-top:2px dashed var(--line);margin:0 22px}
.pass-perf::before,.pass-perf::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--notch,var(--ink))}
.pass-perf::before{left:-35px}.pass-perf::after{right:-35px}
.fld label{display:block;font-size:12px;font-weight:700;color:var(--ink-3);margin-bottom:5px}
.fld input,.fld select,.fld textarea{width:100%;font:500 15px var(--f);color:var(--ink);padding:11px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--lagoon);box-shadow:0 0 0 3px var(--lagoon-soft)}
.pass .btn{width:100%}
.form-note{font-size:12.5px;color:var(--ink-3);margin-top:2px}
.hp{position:absolute;left:-9999px}

/* sections */
.sec{padding:84px 0}
.sec-mist{background:var(--mist)}
.sec-ink{background:var(--ink);color:#DCEAF0}
.sec-ink h2,.sec-ink h3{color:#fff}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}
.sec-head p{color:var(--ink-2);margin-top:10px}
.sec-ink .sec-head p{color:#BFD2DD}

/* trust strip */
.trust{background:var(--mist);border-bottom:1px solid var(--line)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:26px;padding-bottom:26px}
.trust div{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;font-weight:600;line-height:1.4}
.trust svg{flex:none;color:var(--lagoon-deep)}

/* destination tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:16px}
.tiles.mosaic .tile:first-child{grid-column:span 2;grid-row:span 2}
.tile{position:relative;border-radius:var(--r-md);overflow:hidden;color:#fff;text-decoration:none!important;background:var(--ink);isolation:isolate}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,42,61,.85),rgba(15,42,61,0) 60%);z-index:-1}
.tile:hover img{transform:scale(1.05)}
.tile .t-in{position:absolute;left:18px;right:18px;bottom:16px}
.tile .t-code{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--lagoon)}
.tile h3{color:#fff;font-size:22px;margin:2px 0}
.tiles.mosaic .tile:first-child h3{font-size:32px}
.tile .t-from{font-size:14px;color:#DCEAF0}
.tile .t-from b{color:var(--marigold);font-size:16px}
.tiles.small{grid-auto-rows:190px}

/* ticket cards */
.tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ticket{--notch:var(--paper);display:flex;flex-direction:column;background:#fff;border-radius:var(--r-md);box-shadow:0 1px 0 var(--line),0 14px 30px -24px rgba(15,42,61,.6);border:1px solid var(--line);overflow:hidden;color:var(--ink);text-decoration:none!important;transition:border-color .2s}
.sec-mist .ticket{--notch:var(--mist)}
.ticket:hover{border-color:var(--lagoon)}
.ticket-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink)}
.ticket-img img{width:100%;height:100%;object-fit:cover}
.ticket-dur{position:absolute;left:12px;top:12px;background:rgba(15,42,61,.85);color:#fff;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:999px}
.ticket-route{display:flex;align-items:center;gap:10px;padding:14px 18px 0;font-weight:800;letter-spacing:.06em;font-size:15px;color:var(--lagoon-deep)}
.ticket-route .plane{flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 10px);position:relative}
.ticket-route .plane svg{position:absolute;left:50%;top:-8px;transform:translateX(-50%);background:#fff;padding:0 4px;color:var(--ink-3)}
.ticket-main{padding:10px 18px 16px;flex:1}
.ticket-main h3{font-size:18px;margin-bottom:6px}
.ticket-main .t-sub{font-size:13.5px;color:var(--ink-3)}
.ticket .pass-perf{margin:0 18px;--notch:inherit}
.ticket .pass-perf::before{left:-29px;background:var(--notch)}
.ticket .pass-perf::after{right:-29px;background:var(--notch)}
.ticket-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 18px}
.ticket-foot small{display:block;font-size:12px;color:var(--ink-3)}
.ticket-foot .price{font-size:22px;font-weight:800}
.ticket-foot .go{font-size:14px;font-weight:700;color:var(--lagoon-deep)}

/* themes row */
.themes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.theme{position:relative;border-radius:var(--r-md);overflow:hidden;min-height:200px;display:flex;align-items:flex-end;padding:18px;color:#fff;text-decoration:none!important;isolation:isolate}
.theme img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.theme::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,42,61,.9),rgba(15,42,61,.1));z-index:-1}
.theme h3{color:#fff;font-size:19px}
.theme p{font-size:13.5px;color:#DCEAF0;margin-top:4px}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;position:relative}
.step{padding:0 22px 0 0;position:relative}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--lagoon);color:var(--ink);font-weight:800;font-size:18px;margin-bottom:16px;position:relative;z-index:1}
.step::after{content:"";position:absolute;top:23px;left:46px;right:0;border-top:2px dashed rgba(255,255,255,.25)}
.step:last-child::after{display:none}
.step h3{font-size:17px;margin-bottom:6px}
.step p{font-size:14.5px;color:#BFD2DD}

/* split blocks */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.split-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3}
.split-img img{width:100%;height:100%;object-fit:cover}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}
.stat{border-left:3px solid var(--lagoon);padding:4px 0 4px 14px}
.stat b{display:block;font-size:34px;font-weight:800;line-height:1.1}
.stat span{font-size:14px;color:var(--ink-2)}

/* review */
.review{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;max-width:880px}
.review .qmark{font-size:110px;line-height:.8;color:var(--lagoon);font-weight:800}
.review blockquote{font-size:clamp(20px,2.4vw,28px);font-weight:600;line-height:1.4}
.review cite{display:block;margin-top:16px;font-style:normal;color:var(--ink-2);font-size:15px}
.stars{color:var(--marigold);letter-spacing:2px}

/* services + offices */
.svc{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.svc div{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:20px}
.svc svg{color:var(--lagoon-deep);margin-bottom:12px}
.svc h3{font-size:16px;margin-bottom:6px}
.svc p{font-size:14px;color:var(--ink-2)}
.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.office{border-top:3px solid var(--lagoon);background:#fff;padding:20px;border-radius:0 0 var(--r-md) var(--r-md);box-shadow:0 1px 0 var(--line)}
.office h3{font-size:18px}
.office .lbl{font-size:12.5px;font-weight:700;color:var(--lagoon-deep)}
.office p{font-size:14.5px;color:var(--ink-2);margin:8px 0 10px}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--lagoon) 0%,#46DDD4 100%);color:var(--ink)}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:48px;padding-bottom:48px;flex-wrap:wrap}
.cta-band h2{max-width:20ch}
.cta-band .btns{display:flex;gap:12px;flex-wrap:wrap}
.cta-band .btn-primary{background:var(--ink);color:#fff}
.cta-band .btn-primary:hover{background:#1c3f58}

/* page hero (inner pages) */
.phero{position:relative;color:#fff;background:var(--ink);overflow:hidden;isolation:isolate}
.phero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,42,61,.9),rgba(15,42,61,.35));z-index:-1}
.phero .wrap{padding-top:70px;padding-bottom:56px}
.phero h1{color:#fff;font-size:clamp(30px,4.2vw,48px);max-width:22ch}
.phero p{color:#DCEAF0;font-size:17px;margin-top:12px}
.crumbs{font-size:13px;color:#BFD2DD;margin-bottom:14px}
.crumbs a{color:#fff}
.phero .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff}
.chip.c-gold{background:var(--marigold);color:var(--ink)}

/* package page */
.pkg-layout{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}
.pkg-layout section{margin-bottom:44px}
.pkg-layout h2{font-size:26px;margin-bottom:16px}
.hl{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hl li{list-style:none;display:flex;gap:10px;align-items:flex-start;background:var(--mist);padding:12px 14px;border-radius:10px;font-weight:600;font-size:15px}
.hl svg{flex:none;color:var(--lagoon-deep);margin-top:2px}
.days{border-left:2px solid var(--line);margin-left:16px}
.day{position:relative;padding:0 0 24px 30px}
.day::before{content:attr(data-day);position:absolute;left:-17px;top:-2px;width:32px;height:32px;border-radius:50%;background:var(--lagoon);color:var(--ink);font-weight:800;font-size:13px;display:grid;place-items:center}
.day h3{font-size:17px;margin-bottom:4px}
.day p{color:var(--ink-2);font-size:15px}
.incexc{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.incexc ul{list-style:none}
.incexc li{padding:7px 0 7px 28px;position:relative;font-size:15px;border-bottom:1px solid var(--line)}
.incexc .inc li::before{content:"";position:absolute;left:2px;top:12px;width:12px;height:7px;border-left:2.5px solid var(--lagoon-deep);border-bottom:2.5px solid var(--lagoon-deep);transform:rotate(-45deg)}
.incexc .exc li::before{content:"×";position:absolute;left:3px;top:3px;color:#C2410C;font-weight:800;font-size:18px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.facts div{border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.facts small{display:block;font-size:12.5px;font-weight:700;color:var(--ink-3);margin-bottom:4px}
.facts span{font-size:14.5px;font-weight:600;line-height:1.45;display:block}
.side{position:sticky;top:96px}
.side .pass{--notch:var(--paper);box-shadow:0 1px 0 var(--line),0 24px 50px -30px rgba(15,42,61,.55);border:1px solid var(--line)}
.tiers{width:100%;border-collapse:collapse;font-size:15px}
.tiers td{padding:9px 0;border-bottom:1px solid var(--line)}
.tiers td:last-child{text-align:right;font-weight:800}
.tiers tr.on td{color:var(--lagoon-deep)}
.side .from{font-size:13px;color:var(--ink-3)}
.side .big{font-size:34px;font-weight:800;line-height:1.1}
.side .note{font-size:12.5px;color:var(--ink-3);margin-top:6px}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{cursor:pointer;font-weight:700;font-size:16.5px;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--lagoon-deep);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:10px;color:var(--ink-2)}

/* filters */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.filters button{font:600 14px var(--f);padding:9px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.filters button.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.cbox{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}
.cbox .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cbox .full{grid-column:1/-1}
.clines{list-style:none;margin:20px 0 30px}
.clines li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-weight:600}
.clines svg{color:var(--lagoon-deep);flex:none;margin-top:3px}
.alert{padding:14px 16px;border-radius:10px;margin-bottom:18px;font-weight:600}
.alert.err{background:#FDECEA;color:#9A2414}
.alert.ok{background:#E3F7EA;color:#16632F}

/* prose (policies) */
.prose{max-width:760px}
.prose h2{font-size:22px;margin:30px 0 10px}
.prose p,.prose li{color:var(--ink-2);margin-bottom:10px}
.prose ul{padding-left:22px}

/* footer */
.site-footer{background:var(--ink);color:#BFD2DD;font-size:14.5px}
.site-footer .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.2fr;gap:34px;padding-top:64px;padding-bottom:40px}
.site-footer h4{color:#fff;font-size:15px;margin-bottom:14px}
.site-footer a{color:#DCEAF0;display:block;padding:3px 0}
.site-footer .f-brand p{margin:14px 0}
.site-footer .f-office{margin-bottom:12px}
.site-footer .f-office b{color:#fff;display:block}
.social{display:flex;gap:10px;margin-top:10px}
.social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;padding:0}
.social a:hover{background:var(--lagoon);color:var(--ink)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12)}
.foot-bottom .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;grid-template-columns:none;font-size:13px}
.foot-bottom a{display:inline;color:#BFD2DD}

.wa-float{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 10px 25px -8px rgba(0,0,0,.45)}

/* responsive */
@media (max-width:1080px){
  .mainnav,.header-cta{display:none}
  .navtoggle{display:block}
  .mainnav.show{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);padding:10px 20px 20px;max-height:80vh;overflow:auto}
  .mainnav.show .mega{position:static;padding:0}
  .ni:hover .mega{display:none}.ni.open .mega{display:block}
  .mega-in,.mega-in.two{grid-template-columns:1fr 1fr;width:auto;box-shadow:none;border:0;padding:4px 0 10px}
  .hero .wrap{grid-template-columns:1fr}
  .tickets{grid-template-columns:1fr 1fr}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .themes{grid-template-columns:repeat(2,1fr)}
  .svc{grid-template-columns:repeat(2,1fr)}
  .site-footer .wrap{grid-template-columns:1fr 1fr}
  .pkg-layout{grid-template-columns:1fr}
  .side{position:static}
  .split{grid-template-columns:1fr;gap:32px}
  .trust .wrap{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;gap:28px}
  .step::after{display:none}
}
@media (max-width:640px){
  body{font-size:15.5px}
  .topbar .tb-offices,.topbar .tb-mail{display:none}
  .sec{padding:60px 0}
  .sec-head{flex-direction:column;align-items:flex-start;gap:12px}
  .tickets,.themes,.svc,.offices,.contact-grid,.incexc,.hl,.facts,.steps,.trust .wrap{grid-template-columns:1fr}
  .tiles{grid-auto-rows:200px;grid-template-columns:1fr 1fr}
  .tiles.mosaic .tile:first-child{grid-column:span 2;grid-row:span 1}
  .tile h3{font-size:18px}.tiles.mosaic .tile:first-child h3{font-size:24px}
  .pass-body,.cbox .grid2{grid-template-columns:1fr}
  .site-footer .wrap{grid-template-columns:1fr}
  .review{grid-template-columns:1fr;gap:4px}.review .qmark{font-size:70px}
  .brand span{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .hero-slide img{transform:none}
}

/* refinements after first review */
.ticket-route .plane svg{transform:translateX(-50%) rotate(45deg)}
.pass-head .route svg{transform:rotate(45deg)}
.hero .pass .pass-perf::before,.hero .pass .pass-perf::after{display:none}
.hero .pass .pass-perf{margin:0}
.chip svg{transform:rotate(45deg)}
.mbar{display:none}
@media (max-width:1080px){
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;background:#fff;border-top:1px solid var(--line);padding:10px 16px;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -10px 24px -18px rgba(15,42,61,.5)}
  .mbar small{display:block;font-size:12px;color:var(--ink-3)}
  .mbar b{font-size:20px}
  body:has(.mbar) .wa-float{bottom:84px}
  body:has(.mbar) .site-footer{padding-bottom:70px}
}
.svc.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:1080px){.svc.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.svc.four{grid-template-columns:1fr}}
.tickets.two{grid-template-columns:repeat(2,1fr)}
@media (max-width:640px){.tickets.two{grid-template-columns:1fr}}

/* activities */
.todo{display:grid;gap:0;border-top:1px solid var(--line)}
.todo-row{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}
.todo-ic{width:44px;height:44px;border-radius:12px;background:var(--mist);color:var(--lagoon-deep);display:grid;place-items:center}
.todo-row h3{font-size:16.5px}
.todo-row h3 a{color:var(--ink)}
.todo-where{font-size:14.5px;color:var(--ink-2)}
.todo-note{font-size:13.5px;color:var(--ink-3);margin-top:2px}
.todo-season{font-size:12.5px;font-weight:700;color:var(--lagoon-deep);background:var(--lagoon-soft);padding:5px 10px;border-radius:999px;max-width:220px;text-align:right;line-height:1.35;display:inline-flex;gap:6px;align-items:flex-start}
.todo-season svg{flex:none;margin-top:1px}
.act-chips{display:flex;flex-wrap:wrap;gap:8px}
.act-chip{display:inline-flex;align-items:center;gap:6px;font:600 14px var(--f);padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;text-decoration:none!important}
.act-chip svg{color:var(--lagoon-deep)}
.act-chip:hover{border-color:var(--lagoon)}
.act-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.act-chip[aria-pressed="true"] svg{color:var(--lagoon)}
.picker-group{margin-bottom:22px}
.picker-group h3{font-size:15px;margin-bottom:10px;color:var(--ink-2)}
.picker-bar{position:sticky;top:74px;z-index:20;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:26px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.picker-bar .seg{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden}
.picker-bar .seg button{font:600 13.5px var(--f);border:0;background:#fff;padding:8px 14px;cursor:pointer;color:var(--ink)}
.picker-bar .seg button[aria-pressed="true"]{background:var(--lagoon);color:var(--ink)}
.picker-bar .count{font-weight:700;margin-left:auto}
.picker-bar .clear{background:none;border:0;font:600 14px var(--f);color:var(--lagoon-deep);cursor:pointer;text-decoration:underline}
.results{display:grid;gap:18px}
.result{display:grid;grid-template-columns:260px 1fr;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff}
.result-img{position:relative;min-height:200px;background:var(--ink)}
.result-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.result-img .match{position:absolute;left:12px;top:12px;background:var(--marigold);color:var(--ink);font-weight:800;font-size:13px;padding:5px 10px;border-radius:999px}
.result-body{padding:18px 22px}
.result-body h3{font-size:22px}
.result-body .meta{font-size:14px;color:var(--ink-3);margin:2px 0 12px}
.result-body ul{list-style:none;display:grid;gap:8px;margin-bottom:16px}
.result-body li{display:grid;grid-template-columns:22px 1fr;gap:8px;font-size:14.5px}
.result-body li b{display:block}
.result-body li span{color:var(--ink-3);font-size:13.5px}
.result-body li svg{color:var(--lagoon-deep);margin-top:2px}
.result-body li.miss{opacity:.55}
.result-actions{display:flex;gap:10px;flex-wrap:wrap}
.empty-note{background:var(--mist);border-radius:var(--r-md);padding:24px;text-align:left}
.act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.act-card{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--ink);text-decoration:none!important}
.act-card:hover{border-color:var(--lagoon)}
.act-card h3{font-size:16px}
.act-card p{font-size:13.5px;color:var(--ink-3)}
.act-card small{display:block;font-size:12.5px;font-weight:700;color:var(--lagoon-deep);margin-top:4px}
.where-table{width:100%;border-collapse:collapse}
.where-table th{text-align:left;font-size:12.5px;color:var(--ink-3);padding:8px 10px;border-bottom:2px solid var(--line)}
.where-table td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top;font-size:15px}
.where-table td:first-child{font-weight:700;white-space:nowrap}
.tablebox{overflow-x:auto}
@media (max-width:1080px){.act-grid{grid-template-columns:1fr 1fr}.result{grid-template-columns:200px 1fr}}
@media (max-width:640px){
  .act-grid{grid-template-columns:1fr}
  .result{grid-template-columns:1fr}.result-img{min-height:160px}
  .todo-row{grid-template-columns:40px 1fr}.todo-season{grid-column:2;justify-self:start;text-align:left}
  .picker-bar{top:74px}.picker-bar .count{margin-left:0;width:100%}
}
.tile .t-in{text-shadow:0 1px 10px rgba(15,42,61,.75)}
.tile .t-code{color:#fff;opacity:.85}

/* header: keep every item on one line */
.site-header .wrap{max-width:1280px;gap:18px}
.brand,.brand span,.mainnav>.ni>a,.mainnav>.ni>button,.header-cta{white-space:nowrap}
.mainnav{gap:2px}
.mainnav>.ni>a,.mainnav>.ni>button{padding:10px 10px;font-size:14.5px}
.mainnav>.ni>a[aria-current="page"]{color:var(--lagoon-deep)}
.header-cta{padding:12px 18px;flex:none}
@media (max-width:1240px){
  .mainnav,.header-cta{display:none}
  .navtoggle{display:block}
  .mainnav.show{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);padding:10px 20px 20px;max-height:80vh;overflow:auto}
  .mainnav.show .mega{position:static;padding:0}
  .ni:hover .mega{display:none}.ni.open .mega{display:block}
  .mega-in,.mega-in.two{grid-template-columns:1fr 1fr;width:auto;box-shadow:none;border:0;padding:4px 0 10px}
}
.topbar .wrap{max-width:1280px}

/* full logo: icon + wordmark */
.brand .logo{height:62px;width:auto;border-radius:0;object-fit:contain}
.foot-logo{display:inline-block;background:#fff;border-radius:14px;padding:8px 14px}
.foot-logo img{height:56px;width:auto;border-radius:0;display:block}
@media (max-width:640px){.brand .logo{height:50px}}
.mega-right{left:auto;right:-20px}
.mega-in.one{grid-template-columns:1fr;min-width:250px}
.policy-layout{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start}
.policy-nav{position:sticky;top:100px;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--line);padding-left:14px}
.policy-nav h3{font-size:14px;color:var(--ink-3);margin-bottom:8px}
.policy-nav a{color:var(--ink);font-weight:600;font-size:14.5px;padding:6px 0}
.policy-nav a[aria-current="page"]{color:var(--lagoon-deep)}
@media (max-width:1240px){.mega-right{right:auto}}
@media (max-width:820px){.policy-layout{grid-template-columns:1fr;gap:24px}.policy-nav{position:static}}
.site-footer .foot-logo{display:inline-flex;width:auto}
.hero h1{max-width:none}
.hero h1 .hl{display:block}
.hero h1 .hl:last-child{color:var(--marigold)}
/* grid children must be allowed to shrink so wide tables scroll inside their box */
.pkg-layout>div,.pkg-layout>aside,.contact-grid>*,.split>*,.policy-layout>*{min-width:0}
@media (max-width:640px){.where-table td:first-child{white-space:normal}}
#quote{scroll-margin-top:90px}

/* careers */
.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.job{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--ink);text-decoration:none!important}
.job:hover{border-color:var(--lagoon)}
.job-dept{font-size:12.5px;font-weight:700;color:var(--lagoon-deep)}
.job h3{font-size:19px}
.job p{font-size:14.5px;color:var(--ink-2);flex:1}
.job-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--ink-3)}
.job-meta span{display:inline-flex;gap:5px;align-items:center}
@media (max-width:1080px){.jobs{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.jobs{grid-template-columns:1fr}}
.tb-careers{font-weight:700;color:var(--marigold)!important}

/* hotels */
.hotels{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.hotel{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fff}
.hotel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.hotel-cat{font-size:12px;font-weight:700;color:var(--lagoon-deep);background:var(--lagoon-soft);padding:2px 8px;border-radius:999px}
.hotel h3{font-size:16px}
.hotel-area{font-size:13px;color:var(--ink-3);display:flex;gap:4px;align-items:center}
.hotel-note{font-size:13.5px;color:var(--ink-2);margin-top:4px}
.tier-eg{display:block;font-size:12px;color:var(--ink-3);font-weight:500;margin-top:2px}
.tiers td{vertical-align:top}
@media (max-width:640px){.hotels{grid-template-columns:1fr}}
.hotels.three{grid-template-columns:repeat(3,1fr)}
.hotel[hidden],.hotel-group[hidden]{display:none!important}
@media (max-width:1080px){.hotels.three{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.hotels.three{grid-template-columns:1fr}}
.hotel{padding:0;overflow:hidden;display:flex;flex-direction:column}
.hotel-body{padding:14px 16px;flex:1;display:flex;flex-direction:column}
.hotel-quote{font-size:14px;margin-top:auto;padding-top:8px;display:inline-block}
.hotel-ph{position:relative;aspect-ratio:16/10;background:var(--mist)}
.hotel-ph img{width:100%;height:100%;object-fit:cover;display:block}
.hotel-rep{position:absolute;left:8px;bottom:8px;background:rgba(15,42,61,.75);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}
