/* self-hosted fonts - no third-party origin, no render-blocking request */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/fraunces-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/fraunces-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/fraunces-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/dm-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/dm-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/dm-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/dm-sans-latin-700-normal.woff2') format('woff2')}

:root{--pine:#0e5b54;--deep:#082f2b;--gold:#f4a621;--gold-2:#ffc24b;--coral:#db563d;--coral-d:#b8452f;
 --paper:#fbf8f1;--cream:#f0e7d7;--ink:#182622;--muted:#61716a;--line:#e6dccb;
 --sh-sm:0 4px 14px -8px rgba(8,47,43,.35);--sh:0 16px 38px -22px rgba(8,47,43,.4);--sh-lg:0 34px 70px -34px rgba(8,47,43,.45)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;width:100%;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}
.display{font-family:"Fraunces",serif}
h1,h2,h3,h4{margin:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.eyebrow{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:80rem;margin-inline:auto;padding-inline:1.25rem}
@media(max-width:360px){.wrap{padding-inline:.9rem}}
body{overflow-wrap:anywhere}
@media(min-width:1024px){.wrap{padding-inline:2rem}}
.fade-up{animation:fadeUp .7s cubic-bezier(.22,.65,.32,1) both}
.d1{animation-delay:.1s}.d2{animation-delay:.2s}.d3{animation-delay:.3s}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.22,.65,.32,1),transform .7s cubic-bezier(.22,.65,.32,1)}
.reveal.in{opacity:1;transform:none}
/* header */
.ustrip{background:var(--deep);color:#e9f2f0;font-size:.875rem}
.ustrip .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding-block:9px}
.ustrip .tag{color:var(--gold-2);font-weight:700;letter-spacing:.01em}
.ustrip .u{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end}
.ustrip .u a,.ustrip .hrs{display:inline-flex;align-items:center;gap:.45em;color:#e9f2f0;font-weight:600}
.ustrip .u a:hover{color:var(--gold-2)}
.ustrip svg{width:16px;height:16px}
@media(max-width:1100px){.ustrip .hrs{display:none}}
@media(max-width:860px){.ustrip .tag{display:none}.ustrip .wrap{justify-content:center}}
header.site{position:sticky;top:0;z-index:60;background:rgba(251,248,241,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hrow{display:flex;align-items:center;gap:clamp(14px,3vw,32px);padding-block:14px}
.brand{display:flex;align-items:center;gap:12px;flex:0 1 auto;min-width:0}
.brand>span{min-width:0}

.brand .mk{height:52px;width:auto;max-width:82px;object-fit:contain;flex:0 0 auto;display:block}
.brand .fmk{filter:brightness(1.18) saturate(1.05)}
@media(max-width:560px){.brand .mk{height:42px;max-width:60px}}
@media(max-width:520px){.brand>span{display:none}.brand .mk{height:46px;max-width:70px}}
.brand b{display:block;font-family:"Fraunces",serif;font-weight:800;font-size:1.12rem;color:var(--deep);line-height:1.1}
.brand span{display:block;font-size:.58rem;font-weight:800;letter-spacing:.26em;color:var(--coral);text-transform:uppercase;margin-top:3px}
.hsearch{position:relative;flex:1 1 auto;min-width:0;max-width:520px;display:flex;align-items:center;gap:.6em;background:#fff;border:1.5px solid var(--line);border-radius:100px;padding:.6em 1.05em}
.hsearch:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(244,166,33,.16)}
.hsearch input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:.95rem;font-weight:600;color:var(--ink);min-width:0}
.hsearch input::placeholder{color:var(--muted);font-weight:500}
.hres{position:absolute;top:calc(100% + 10px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-lg);padding:8px;max-height:340px;overflow-y:auto;z-index:90}
.hres a{display:flex;align-items:center;gap:10px;padding:.6em .7em;border-radius:10px;font-weight:700;font-size:.92rem}
.hres a:hover,.hres a.on{background:var(--cream)}
.hres .rm{margin-left:auto;font-size:.78rem;color:var(--muted);white-space:nowrap}
.hres .none{padding:.9em;color:var(--muted);font-size:.9rem;text-align:center}
.chip{display:inline-flex;align-items:center;gap:.5em;font-weight:800;color:var(--pine);font-size:.9rem;padding:.55em .95em;border-radius:100px;background:#e7f1ef;white-space:nowrap;flex:0 0 auto}
.chip svg{width:15px;height:15px}
.hcta{margin-left:auto;display:flex;align-items:center;gap:10px;flex:0 0 auto}
@media(max-width:360px){.hcta{gap:6px}.brand .mk{height:38px;max-width:46px}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:0;cursor:pointer;font:inherit;font-weight:800;font-size:.92rem;padding:.8em 1.4em;border-radius:100px;background:var(--coral);color:#fff;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px);background:var(--coral-d)}
.btn.gold{background:var(--gold);color:var(--ink)}.btn.gold:hover{background:var(--gold-2)}
.btn.pine{background:var(--pine);color:#fff}.btn.pine:hover{background:var(--deep)}
.btn.ghost{background:transparent;border:1.5px solid rgba(255,255,255,.5);color:#fff}.btn.ghost:hover{background:rgba(255,255,255,.14)}
.btn.sm{padding:.55em 1.05em;font-size:.84rem}
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;place-items:center;cursor:pointer}
.navrow{border-top:1px solid var(--line);background:rgba(255,255,255,.6)}
.navrow .wrap{display:flex;justify-content:center}
.mainnav{display:flex;align-items:center;gap:3px;flex-wrap:wrap;justify-content:center;padding-block:5px}
.mainnav{position:relative}
.ni{position:relative}
.ni>a,.ni>button{display:inline-flex;align-items:center;gap:.3em;background:none;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:.9rem;color:var(--ink);padding:.6em .75em;border-radius:10px;white-space:nowrap}
.ni>a:hover,.ni>button:hover,.ni:focus-within>button,.ni:focus-within>a{background:var(--cream);color:var(--pine)}
.ni .cx{width:14px;height:14px;transition:transform .25s}
.ni:hover .cx,.ni:focus-within .cx{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 8px);left:0;transform:translateY(8px);max-width:min(720px,calc(100vw - 2rem));background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-lg);padding:22px;opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s,transform .22s;z-index:80;width:min(720px,90vw)}
.ni:hover .mega,.ni:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0)}
.ni.mega-off .mega{opacity:0!important;visibility:hidden!important;transform:translateY(8px)!important}
.mega.sm{width:min(520px,88vw)}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 24px}
.mega.sm .mgrid{grid-template-columns:1fr 1fr}
.mgrid h4{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);font-weight:800;margin-bottom:9px}
.mgrid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.mgrid a{display:flex;justify-content:space-between;gap:10px;font-size:.87rem;font-weight:600;color:#3c4a44}
.mgrid a:hover{color:var(--pine)}
.mgrid .c{font-size:.72rem;color:var(--muted);font-weight:700;white-space:nowrap}
.mfoot{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.mfoot span{font-size:.82rem;color:var(--muted)}
@media(max-width:720px){.hsearch{display:none}}
@media(max-width:520px){.hcta .btn{display:none}}
/* drawer */
.drawer{position:fixed;inset:0;z-index:100;display:none}
.drawer.open{display:block}
.drawer .scrim{position:absolute;inset:0;background:rgba(8,47,43,.5)}
.drawer .panel{position:absolute;top:0;right:0;height:100%;width:min(360px,88vw);background:#fff;padding:22px;overflow-y:auto;transform:translateX(100%);transition:transform .34s cubic-bezier(.22,.65,.32,1)}
.drawer.open .panel{transform:none}
.drawer .x{background:none;border:0;font-size:1.9rem;cursor:pointer;line-height:1;margin-bottom:6px}
.drawer details{border-bottom:1px solid var(--line)}
.drawer summary{list-style:none;cursor:pointer;font-family:"Fraunces",serif;font-weight:700;font-size:1.1rem;padding:.7em 0;display:flex;justify-content:space-between}
.drawer summary::-webkit-details-marker{display:none}
.drawer .sub{padding:0 0 12px;display:flex;flex-direction:column;gap:8px}
.drawer .sub a{color:#43524b;font-weight:600;font-size:.93rem}
.drawer>.panel>a{display:block;padding:.7em 0;border-bottom:1px solid var(--line);font-family:"Fraunces",serif;font-weight:700;font-size:1.1rem}
/* hero */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(520px,74vh,780px);display:flex;align-items:flex-end}
.hslide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;z-index:-2}
.hslide.on{opacity:1}
.hslide img{width:100%;height:100%;object-fit:cover;transform:scale(1.03);transition:transform 11s linear}
.hslide.on img{transform:scale(1.11)}
.hshade{position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,rgba(6,28,26,.92) 0%,rgba(6,28,26,.62) 44%,rgba(6,28,26,.14) 78%,rgba(6,28,26,.34) 100%)}
@media(max-width:768px){.hshade{background:linear-gradient(180deg,rgba(6,28,26,.35),rgba(6,28,26,.94))}}
.hero .wrap{position:relative;padding-block:clamp(48px,9vw,90px);width:100%}
.hero .in{max-width:46rem;color:#fff}
.hero h1{font-size:clamp(2.3rem,5.4vw,4rem);font-weight:800;line-height:1.03;margin:.35em 0 .4em}
.hero p.l{font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.65;color:#e6efec;max-width:38rem}
.hbtns{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hcap{position:absolute;right:clamp(16px,4vw,40px);bottom:70px;z-index:5;text-align:right;color:#fff;max-width:17rem}
.hcap b{display:block;font-family:"Fraunces",serif;font-size:1.05rem;font-weight:700}
.hcap span{font-size:.82rem;color:#dfeae7}
@media(max-width:900px){.hcap{display:none}}
.hdots{position:absolute;left:0;right:0;bottom:22px;z-index:5;display:flex;justify-content:center;gap:8px}
.hdots button{width:30px;height:4px;border-radius:100px;border:0;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:.3s}
.hdots button.on{background:var(--gold);width:46px}
.harrows{position:absolute;right:clamp(16px,4vw,40px);bottom:18px;z-index:6;display:flex;gap:8px}
.harrows button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(8,47,43,.55);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px)}
.harrows button:hover{background:rgba(8,47,43,.8)}
.corp-hero{min-height:clamp(480px,72vh,760px);align-items:center}
.corp-hero .wrap{max-width:80rem}
.corp-hero h1{max-width:19ch;font-size:clamp(2.2rem,5vw,3.9rem)}
.corp-hero .cgrid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;-webkit-mask-image:linear-gradient(to right,#000,transparent 72%);mask-image:linear-gradient(to right,#000,transparent 72%);opacity:.5}
.scrolldot{width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;color:#fff;transition:.25s}
.scrolldot:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.scrolldot svg{width:20px;height:20px}
/* branches page */
.brgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:1000px){.brgrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.brgrid{grid-template-columns:1fr}}
.brc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:transform .28s,box-shadow .28s,border-color .28s}
.brc:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:var(--gold)}
.brc .bh{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.brc .bn{width:38px;height:38px;border-radius:50%;background:var(--pine);color:var(--gold-2);display:grid;place-items:center;font-family:"Fraunces",serif;font-weight:700;font-size:.86rem;flex:0 0 auto}
.brc h3{font-family:"Fraunces",serif;font-weight:700;font-size:1.24rem;line-height:1.15}
.brc .bs{font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.brc .ba{margin:0 0 18px;color:var(--muted);font-size:.9rem;line-height:1.65}
.brc .bp{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.brc .bp a{display:inline-flex;align-items:center;gap:.45em;background:var(--cream);border-radius:100px;padding:.5em .9em;font-weight:800;font-size:.86rem;color:var(--pine)}
.brc .bp a:hover{background:var(--gold);color:var(--ink)}
.brc .bp svg{width:14px;height:14px}
.brc .bmap{margin-top:auto;display:inline-flex;align-items:center;gap:.45em;font-weight:800;font-size:.86rem;color:var(--coral);padding-top:14px;border-top:1px dashed var(--line)}
.brc .bmap svg{width:15px;height:15px}
.brc .bmap:hover{color:var(--pine)}
a.br{text-decoration:none}

/* R.V. way: photo left with label beneath, content right */
.rvway{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:clamp(30px,5vw,72px);align-items:center}
.rvphoto{position:relative;margin:0}
.rvphoto img{display:block;width:100%;height:auto;aspect-ratio:1/1.08;object-fit:cover;object-position:47% 20%;border-radius:26px;box-shadow:0 26px 60px -30px rgba(8,47,43,.5),0 4px 14px -8px rgba(8,47,43,.25)}
.rvphoto figcaption{margin-top:22px;font-family:"DM Sans",sans-serif;text-align:center}
.rvphoto figcaption .who{display:block;font-family:"Fraunces",serif;font-size:1.22rem;font-weight:800;letter-spacing:0;text-transform:none;color:var(--ink);line-height:1.2}
.rvphoto figcaption .role{display:block;margin-top:3px;font-size:.9rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}
.rvtext .orn{display:flex;align-items:center;gap:12px;color:var(--pine);opacity:.55}
.rvtext .orn:before,.rvtext .orn:after{content:"";height:1px;background:currentColor;flex:1}
.rvtext .orn svg{width:16px;height:16px;flex:0 0 auto}
.rvtext .orn.tail:before{flex:0 0 78px}
.rvtext .orn.tail:after{flex:1}
.rvtext h2{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.08;margin:22px 0}
.rvtext p.body{color:var(--muted);font-size:1.02rem;line-height:1.85;margin:26px 0 0}
.rvtext p.line{font-family:"Fraunces",serif;font-style:italic;font-weight:700;font-size:1.12rem;color:var(--pine);margin:26px 0 0}
@media(max-width:860px){.rvway{grid-template-columns:1fr;gap:28px}.rvphoto{max-width:24rem}.rvtext h2{margin:18px 0}}
/* live departures panel (fed by booking/availability.php) */
.deps{max-width:52rem;margin:0 auto}
.deps .dhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.deps .dhead h3{font-family:"Fraunces",serif;font-weight:700;font-size:1.12rem}
.deps .live{display:inline-flex;align-items:center;gap:.45em;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pine)}
.deps .live i{width:8px;height:8px;border-radius:50%;background:#22a06b;display:inline-block}
.deprow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:10px;box-shadow:var(--sh-sm)}
.deprow .dt{font-family:"Fraunces",serif;font-weight:700;font-size:1.02rem;min-width:8.5rem}
.deprow .dt small{display:block;font-family:"DM Sans",sans-serif;font-weight:600;font-size:.76rem;color:var(--muted)}
.deprow .seats{font-size:.82rem;font-weight:800;padding:.25em .7em;border-radius:100px;background:#e4f0ec;color:var(--pine)}
.deprow .seats.low{background:#fdf0d8;color:#a06a12}
.deprow .seats.full{background:#fdece8;color:#b8452f}
.deprow .pr{margin-left:auto;font-family:"Fraunces",serif;font-weight:800;font-size:1.02rem;white-space:nowrap}
.deprow .pr small{display:block;font-family:"DM Sans",sans-serif;font-weight:600;font-size:.72rem;color:var(--muted)}
.deprow .go{flex:0 0 auto}
@media(max-width:620px){.deprow .pr{margin-left:0}.deprow{gap:10px}}
.deps .fallback{color:var(--muted);font-size:.9rem}
/* ---------- customised holidays ---------- */
.chero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(460px,58vh,600px);display:flex;align-items:center}
.chero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;z-index:-2}
.chero .sh{position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,rgba(6,28,26,.94),rgba(6,28,26,.66) 52%,rgba(6,28,26,.28))}
.chero .in{max-width:44rem;color:#fff;padding-block:clamp(48px,7vw,84px)}
.chero h1{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.05;margin:.3em 0 .35em;color:#fff}
.chero p{color:#dfeae7;font-size:1.04rem;line-height:1.7;max-width:34rem;margin:0}
.briefwrap{position:relative;z-index:5;margin-top:-58px}
.brief{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh-lg);padding:clamp(20px,3vw,28px)}
.brief .bt{font-family:"Fraunces",serif;font-weight:700;font-size:1.05rem;margin:0 0 16px}
.bgrid{display:grid;grid-template-columns:1.5fr 1.2fr .7fr 1.2fr auto;gap:14px;align-items:end}
@media(max-width:1000px){.bgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bgrid{grid-template-columns:1fr}}
.bgrid label{display:block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.bgrid input,.bgrid select{width:100%;padding:.72em .85em;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:.94rem;background:#fff;color:var(--ink)}
.bgrid input:focus,.bgrid select:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(244,166,33,.16)}
.tcards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.tcards{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.tcards{grid-template-columns:1fr}}
.tpick{position:relative;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:18px;padding:20px;cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s;font:inherit;color:inherit}
.tpick:hover{transform:translateY(-4px);border-color:var(--pine);box-shadow:var(--sh)}
.tpick .ico{width:38px;height:38px;border-radius:12px;background:var(--cream);color:var(--pine);display:grid;place-items:center;margin-bottom:14px}
.tpick .ico svg{width:19px;height:19px}
.tpick b{display:block;font-family:"Fraunces",serif;font-weight:700;font-size:1.06rem}
.tpick .d{display:block;font-size:.86rem;color:var(--muted);line-height:1.5;margin-top:4px}
.tpick[aria-pressed="true"]{border-color:var(--pine);background:#f3f8f7;box-shadow:var(--sh)}
.tpick[aria-pressed="true"]:after{content:"\2713";position:absolute;top:14px;right:16px;width:22px;height:22px;border-radius:50%;background:var(--pine);color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center}
.crev{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.crev{grid-template-columns:1fr;max-width:36rem;margin-inline:auto}}
.crev figure{margin:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:24px}
.crev .st{color:var(--gold-2);letter-spacing:2px;font-size:.86rem}
.crev p{color:#e4efec;font-size:.95rem;line-height:1.7;margin:12px 0 18px}
.crev figcaption{display:flex;align-items:center;gap:12px}
.crev .av{width:40px;height:40px;border-radius:50%;background:var(--gold);color:#16221e;display:grid;place-items:center;font-family:"Fraunces",serif;font-weight:700;flex:0 0 auto}
.crev figcaption b{display:block;color:#fff;font-size:.94rem}
.crev figcaption .r{font-size:.79rem;color:#bcd6d1}
.ct-bar .go svg{width:20px;height:20px}
.ct-pill{display:inline-flex;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border-radius:100px;padding:.55em 1.1em;font-size:.85rem;font-weight:700;margin-bottom:18px}
.ct-bar{position:relative;z-index:5;margin:-64px auto 0;width:92%;max-width:66rem}
.ct-bar form{background:#fff;border-radius:24px;padding:clamp(18px,2.2vw,26px);box-shadow:0 30px 60px -30px rgba(8,47,43,.45);display:grid;gap:16px;grid-template-columns:repeat(4,1fr) auto;align-items:end}
.ct-bar label{display:block;font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:7px}
.ct-bar input,.ct-bar select{width:100%;padding:.72em .8em;border:1px solid var(--line);background:#fff;border-radius:10px;font:inherit;font-size:.92rem;color:var(--ink)}
.ct-bar input:focus,.ct-bar select:focus{outline:0;border-color:var(--pine)}
.ct-bar .go{background:var(--pine);color:#fff;border:0;border-radius:10px;padding:.85em 1.6em;cursor:pointer;display:grid;place-items:center}
.ct-bar .go svg{width:20px;height:20px}
.ctchip.on{background:var(--pine);border-color:var(--pine);color:#fff}
.ctmodal.on{display:flex}
/* ===== customized tours page ===== */
.ct-pill{display:inline-flex;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border-radius:100px;padding:.55em 1.1em;font-size:.85rem;font-weight:700;margin-bottom:18px}
.ct-bar{position:relative;z-index:5;margin:-64px auto 0;width:92%;max-width:66rem}
.ct-bar form{background:#fff;border-radius:24px;padding:clamp(18px,2.2vw,26px);box-shadow:0 30px 60px -30px rgba(8,47,43,.45);display:grid;gap:16px;grid-template-columns:repeat(4,1fr) auto;align-items:end}
.ct-bar label{display:block;font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:7px}
.ct-bar input,.ct-bar select{width:100%;padding:.72em .8em;border:1px solid var(--line);background:#fff;border-radius:10px;font:inherit;font-size:.92rem;color:var(--ink)}
.ct-bar input:focus,.ct-bar select:focus{outline:0;border-color:var(--pine)}
.ct-bar .go{background:var(--pine);color:#fff;border:0;border-radius:10px;padding:.85em 1.6em;cursor:pointer;display:grid;place-items:center}
.ct-bar .go svg{width:20px;height:20px}
.ctchips{display:flex;gap:9px;flex-wrap:wrap}
.ctchip{border:1px solid var(--line);background:#fff;border-radius:100px;padding:.5em 1.05em;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;color:var(--ink);transition:.15s}
.ctchip:hover{border-color:var(--pine)}
.ctchip.on{background:var(--pine);border-color:var(--pine);color:#fff}
.ctgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}
.ctcard{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--sh-sm);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.ctcard:hover{transform:translateY(-7px);box-shadow:var(--sh-lg)}
.ctcard img{width:100%;height:11.5rem;object-fit:cover}
.ctcard .b{padding:18px;display:flex;flex-direction:column;flex:1}
.ctcard .loc{font-size:.82rem;font-weight:700;color:var(--coral)}
.ctcard h3{font-family:"DM Sans",sans-serif;font-weight:700;font-size:1.08rem;margin:5px 0 0;line-height:1.3;color:var(--deep)}
.ctcard .meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:.88rem;color:var(--muted)}
.ctcard .meta b{color:var(--pine);font-weight:700}
.ctcard .hl{margin:14px 0 0;font-size:.88rem;line-height:1.55;color:var(--muted)}
.ctcard .acts{display:flex;gap:9px;margin-top:auto;padding-top:18px}
.ctcard .acts button{flex:1;border-radius:10px;padding:.62em .5em;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}
.ctcard .det{background:#fff;border:1px solid var(--pine);color:var(--pine)}
.ctcard .det:hover{background:var(--cream)}
.ctcard .pick{background:var(--coral);border:0;color:#fff}
.nores{display:none;text-align:center;color:var(--muted);font-weight:600;margin-top:26px}
.tl{margin-top:30px;padding-left:26px;border-left:2px solid #9bd7d9}
.tl .tstep{position:relative;padding-bottom:24px}
.tl .tstep:last-child{padding-bottom:0}
.tl .tstep:before{content:"";position:absolute;left:-35px;top:3px;width:17px;height:17px;border-radius:50%;background:var(--pine);box-shadow:0 0 0 4px var(--cream)}
.tl .tstep:first-child:before{background:var(--coral)}
.tl .lab{font-size:.83rem;font-weight:700;color:var(--coral);margin:0}
.tl h3{font-weight:700;font-size:1.05rem;margin:3px 0 0;color:var(--deep)}
.tl p.d{margin:4px 0 0;color:var(--muted);font-size:.92rem;line-height:1.6}
.tlcard{background:#fff;border-radius:20px;padding:26px;box-shadow:var(--sh);align-self:start}
.tlcard h3{font-weight:700;font-size:1.15rem;margin:14px 0 0;color:var(--deep)}
.tlcard p{color:var(--muted);margin:10px 0 0;line-height:1.65;font-size:.93rem}
.tlcard svg{width:32px;height:32px}
.whoband{background:var(--deep);position:relative;overflow:hidden}
.whoh{font-family:"Fraunces",serif;font-weight:800;color:#fff;text-align:center;font-size:clamp(1.7rem,3.4vw,2.4rem);margin:0}
.whosub{text-align:center;color:#bcd6d1;margin:8px 0 0;font-size:.95rem}
.whogrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2.4vw,30px);margin-top:40px}
.who{background:none;border:0;padding:0;cursor:pointer;font:inherit;text-align:center;color:#fff}
.who .ph{display:block;position:relative;aspect-ratio:4/5;border-radius:50% 50% 46% 46%/38% 38% 8% 8%;
 overflow:hidden;background:#0f4b45;transition:transform .25s,box-shadow .25s}
.who .ph:before{content:"";position:absolute;inset:0;z-index:1;
 background:linear-gradient(180deg,transparent 55%,rgba(8,47,43,.35))}
.who img{width:100%;height:100%;object-fit:cover;display:block}
.who:hover .ph{transform:translateY(-6px);box-shadow:0 22px 44px -22px rgba(0,0,0,.55)}
.who .lab{display:inline-flex;align-items:center;gap:.4em;margin-top:16px;font-family:"Fraunces",serif;
 font-weight:800;font-size:clamp(1rem,1.7vw,1.3rem);letter-spacing:.02em;text-transform:uppercase;color:#fff}
.who .lab svg{width:17px;height:17px;color:var(--gold-2);transition:transform .2s}
.who:hover .lab svg{transform:translateX(4px)}
.who[aria-pressed="true"] .ph{box-shadow:0 0 0 3px var(--gold)}
.who[aria-pressed="true"] .lab{color:var(--gold-2)}
@media(max-width:820px){.whogrid{grid-template-columns:1fr 1fr;gap:26px}}
.ctrev{background:var(--deep)}
.ctrev h2{color:#fff}
.revgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.rev2{background:#fff;border-radius:18px;padding:24px;margin:0;box-shadow:var(--sh-sm)}
.rev2 p{margin:0;color:#3a4a44;line-height:1.7;font-size:.94rem}
.rev2 figcaption{margin-top:18px}
.rev2 figcaption b{display:block;font-weight:700;font-size:.95rem;color:var(--deep)}
.rev2 figcaption span{font-size:.85rem;color:var(--muted)}
.ctfaq{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;margin:32px auto 0;max-width:44rem}
.ctfaq .item{border-bottom:1px solid var(--line)}
.ctfaq .item:last-child{border-bottom:0}
.ctfaq button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;background:none;border:0;padding:18px 22px;font:inherit;font-weight:700;color:var(--deep);cursor:pointer}
.ctfaq .ico{color:var(--coral);font-size:1.3rem;line-height:1;transition:transform .25s;flex:0 0 auto}
.ctfaq .item.open .ico{transform:rotate(45deg)}
.ctfaq .ans{max-height:0;overflow:hidden;transition:max-height .3s ease}
.ctfaq .item.open .ans{max-height:340px}
.ctfaq .ans p{margin:0;padding:0 22px 20px;color:var(--muted);line-height:1.7;font-size:.93rem}
.sec.ctbookbg{background:#fdece8}
.ctbook{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}
.chosen{background:#fff;border-radius:14px;padding:15px 18px;margin-top:24px;font-weight:700;color:var(--pine);font-size:.94rem}
.chosen span{display:block;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.ctmodal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;background:rgba(8,47,43,.72);padding:20px}
.ctmodal.on{display:flex}
.ctmodal .box{background:#fff;border-radius:22px;padding:26px;width:min(30rem,100%);box-shadow:var(--sh-lg);max-height:88vh;overflow:auto;position:relative}
.ctmodal .box>img{width:100%;height:10rem;object-fit:cover;border-radius:12px;margin-bottom:16px}
.ctmodal .kick{font-size:.8rem;font-weight:700;color:var(--coral);margin:0}
.ctmodal h2{font-weight:700;font-size:1.35rem;margin:5px 0 0;color:var(--deep)}
.ctmodal .x{position:absolute;top:12px;right:14px;background:rgba(255,255,255,.92);border:0;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--ink);border-radius:50%;width:32px;height:32px}
.ctmodal .row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.92rem}
.ctmodal .row:last-of-type{border-bottom:0}
.cform{background:#fff;border-radius:20px;padding:clamp(20px,3vw,28px);box-shadow:var(--sh)}
.cform .fitem{margin-bottom:14px}
.cform label{display:block;font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:6px}
.cform input,.cform select,.cform textarea{width:100%;padding:.72em .85em;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:.94rem;background:#fff;color:var(--ink)}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:0;border-color:var(--pine)}
.cform textarea{resize:vertical}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fgrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.cform .btn{width:100%;margin-top:16px}
.cform .fine{font-size:.83rem;color:var(--muted);text-align:center;margin:12px 0 0}
@media(max-width:1080px){.ctgrid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.ct-bar form{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.ctbook{grid-template-columns:1fr}}
@media(max-width:880px){.revgrid{grid-template-columns:1fr}}
@media(max-width:700px){.fgrid,.fgrid3{grid-template-columns:1fr}}
@media(max-width:600px){.ctgrid{grid-template-columns:1fr}}
@media(max-width:560px){.ct-bar form{grid-template-columns:1fr}}
/* corporate strip: icon + line */
.cstrip{background:#fff;border-bottom:1px solid var(--line)}
.cstrip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding-block:26px}
.cstrip .ci{display:flex;align-items:center;gap:11px}
.cstrip .ci svg{width:20px;height:20px;flex:0 0 auto;color:var(--coral)}
.cstrip .ci p{margin:0;font-weight:700;font-size:.94rem;line-height:1.4;color:var(--ink)}
@media(max-width:980px){.cstrip .wrap{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cstrip .wrap{grid-template-columns:1fr;gap:16px}}
/* ===== corporate travel page ===== */
.co-hero{position:relative;min-height:min(560px,79vh);display:flex;align-items:center;overflow:hidden}
.co-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.co-hero .sh{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,47,43,.9),rgba(8,47,43,.62) 52%,rgba(8,47,43,.15))}
.co-hero .wrap{max-width:none;width:100%;margin-inline:0;padding-inline:clamp(1.25rem,5vw,4.5rem)}
.co-hero .in{max-width:40rem;margin:0;color:#fff;padding-block:clamp(52px,8vw,92px)}
.co-kick{font-size:.76rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin:0 0 16px}
.co-hero h1{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.08;margin:0}
.co-hero p{color:rgba(255,255,255,.88);line-height:1.7;margin:18px 0 0;max-width:32rem;font-size:1rem}
.co-hero .row{display:flex;gap:12px;align-items:center;margin-top:30px;flex-wrap:wrap}
.co-dot{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;color:#fff;transition:.2s}
.co-dot:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.co-dot svg{width:18px;height:18px}
.costrip{background:#fff;border-bottom:1px solid var(--line)}
.costrip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-block:22px;
 max-width:none;padding-inline:clamp(1.25rem,5vw,4.5rem)}
.costrip .i{display:flex;align-items:flex-start;gap:10px}
.costrip .i svg{width:18px;height:18px;flex:0 0 auto;color:var(--coral);margin-top:2px}
.costrip .i p{margin:0;font-weight:700;font-size:.88rem;line-height:1.4}
.cocards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.cocard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;transition:transform .25s,box-shadow .25s}
.cocard:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.cocard .coic{display:block;color:var(--coral);margin-bottom:15px}
.cocard .coic svg{width:24px;height:24px;display:block}
.cocard h3{font-weight:700;font-size:1.02rem;color:var(--deep);margin:0}
.cocard p{margin:9px 0 0;color:var(--muted);font-size:.9rem;line-height:1.6}
.cocard a.more2{display:inline-flex;align-items:center;gap:.4em;margin-top:14px;font-weight:800;font-size:.86rem;color:var(--pine)}
.cocard a.more2 svg{width:14px;height:14px}
.costudent{background:var(--cream)}
.costudent .g{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(26px,5vw,54px);align-items:center}
.costudent img{width:100%;height:clamp(15rem,26vw,19rem);object-fit:cover;border-radius:20px}
.coprocess{background:var(--deep);color:#fff}
.coprocess .g{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(26px,5vw,52px);align-items:start}
.coprocess h2{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(1.7rem,3.2vw,2.3rem);line-height:1.14;margin:.3em 0 0;color:#fff}
.coprocess .lead{color:#bcd6d1;line-height:1.75;margin:16px 0 0}
.coprocess img{width:100%;height:clamp(13rem,22vw,16rem);object-fit:cover;border-radius:18px;margin-top:28px}
.costeps{display:grid;gap:14px}
.costep{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:20px 22px;display:flex;gap:18px}
.costep .n{font-family:"Fraunces",serif;font-weight:800;font-size:1.5rem;color:var(--gold-2);line-height:1;flex:0 0 auto}
.costep h3{font-weight:700;font-size:1rem;margin:0;color:#fff}
.costep p{margin:7px 0 0;color:#bcd6d1;font-size:.9rem;line-height:1.6}
.coquote{background:var(--coral);color:#fff}
.coquote .g{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(24px,4vw,44px);align-items:center}
.coquote blockquote{margin:0;font-family:"Fraunces",serif;font-weight:700;font-size:clamp(1.25rem,2.5vw,1.75rem);line-height:1.32}
.coquote .who{display:flex;align-items:center;gap:13px;margin-top:24px}
.coquote .who img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.coquote .who b{display:block;font-weight:700;font-size:.95rem}
.coquote .who span{font-size:.84rem;color:rgba(255,255,255,.82)}
.coquote aside{background:rgba(255,255,255,.16);border-radius:18px;padding:24px}
.coquote aside p.k{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}
.coquote aside p{margin:0;line-height:1.65;font-size:.93rem}
.coform{background:var(--deep);border-radius:26px;padding:clamp(24px,4vw,44px);color:#fff;
 display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,48px);align-items:start}
.coform h2{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.18;margin:.3em 0 0;color:#fff}
.coform .lead{color:#bcd6d1;line-height:1.7;margin:14px 0 0;font-size:.95rem}
.coform .addr{color:#a9c4bf;font-size:.87rem;line-height:1.7;margin:20px 0 0}
.coform form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.coform label{display:block;font-size:.8rem;font-weight:700;color:#fff;margin-bottom:6px}
.coform input,.coform textarea{width:100%;padding:.75em .85em;border:1px solid rgba(255,255,255,.25);
 background:rgba(255,255,255,.1);border-radius:12px;font:inherit;font-size:.94rem;color:#fff}
.coform input::placeholder,.coform textarea::placeholder{color:rgba(255,255,255,.5)}
.coform input:focus,.coform textarea:focus{outline:0;border-color:var(--gold)}
.coform .full{grid-column:1/-1}
.coform textarea{resize:vertical;min-height:8rem}
.coform button{justify-self:start;background:var(--gold);color:#182622;border:0;border-radius:100px;
 padding:.85em 1.7em;font:inherit;font-weight:800;cursor:pointer;transition:transform .2s}
.coform button:hover{transform:translateY(-2px)}
@media(max-width:980px){.costrip .wrap{grid-template-columns:1fr 1fr}.cocards{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.costudent .g,.coprocess .g,.coquote .g,.coform{grid-template-columns:1fr}}
@media(max-width:640px){.cocards{grid-template-columns:1fr}.costrip .wrap{grid-template-columns:1fr}
 .coform form{grid-template-columns:1fr}}
.btn{white-space:nowrap}
.btn svg{width:1.05em;height:1.05em;flex:0 0 auto}
.btn.sm svg{width:1em;height:1em}
/* auto-hiding header: slides away on scroll down, returns on scroll up or near the top */
.ustrip,header.site{transition:transform .32s cubic-bezier(.4,0,.2,1)}
body.nav-hidden .ustrip,body.nav-hidden header.site{transform:translateY(-100%)}
.navpeek{cursor:default}
header.site{position:sticky;top:0;z-index:60}
body.nav-hidden header.site{pointer-events:none}
.navpeek{position:fixed;inset-inline:0;top:0;height:14px;z-index:59}
@media(prefers-reduced-motion:reduce){.ustrip,header.site{transition:none}}
.dkick{display:inline-flex;align-items:center;gap:.5em;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.34);backdrop-filter:blur(6px);padding:.6em 1.15em;border-radius:100px;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin:0 0 18px}
.dhero h1{font-size:clamp(2.1rem,5vw,3.5rem);letter-spacing:-.01em}
/* itinerary pages: slim bar always visible; full header drops over it on demand */
body.tour-overlay .ustrip{position:fixed;inset-inline:0;top:0;z-index:71;transform:none}
body.no-anim .ustrip,body.no-anim header.site{transition:none!important}
.tourbar{display:none}
body.tour-overlay .tourbar{display:block;position:fixed;inset-inline:0;top:var(--striph,40px);z-index:69;
 background:var(--paper);border-bottom:1px solid var(--line)}
.tourbar .in{display:flex;align-items:center;gap:24px;max-width:80rem;margin-inline:auto;
 padding:13px clamp(1.25rem,5vw,4.5rem)}
.tourbar .bm{display:flex;align-items:center;gap:11px;white-space:nowrap}
.tourbar .bt{display:flex;flex-direction:column;line-height:1.12}
.tourbar .bt b{font-family:"Fraunces",serif;font-weight:700;font-size:clamp(1rem,1.9vw,1.25rem);
 letter-spacing:.02em;color:var(--deep);text-transform:uppercase}
.tourbar .bt small{font-size:.62rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
 color:var(--coral);margin-top:3px}
.tourbar .bmk{height:38px;width:auto;flex:0 0 auto;display:block}
@media(max-width:560px){.tourbar .bmk{height:30px}}
@media(max-width:430px){.tourbar .bt small{display:none}}
body.tour-overlay header.site{position:fixed;inset-inline:0;top:var(--striph,40px);z-index:80;
 box-shadow:0 14px 34px -20px rgba(8,47,43,.5)}
body.tour-overlay.nav-hidden header.site{transform:translateY(calc(-101% - var(--striph,40px)))}
body.tour-overlay .dhero{margin-top:0}
body.tour-overlay .dhero .wrap{padding-top:calc(var(--striph,40px) + var(--barh,62px) + 30px)}
.tnav{display:flex;align-items:center;gap:clamp(14px,2.4vw,32px);margin-left:auto}
.tnav a{font-weight:700;font-size:.95rem;color:var(--ink);white-space:nowrap}
.tnav a:hover{color:var(--pine)}
.tnav a.cta{background:var(--coral);color:#fff;padding:.68em 1.3em;border-radius:100px;font-weight:800}
.tnav a.cta:hover{color:#fff}
@media(max-width:820px){
 .tourbar .in{gap:14px}
 .tnav{gap:16px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;justify-content:flex-end}
 .tnav::-webkit-scrollbar{display:none}
 .tnav a{font-size:.86rem}
 .tnav a.cta{padding:.58em 1em}
 .tourbar .bm{font-size:.98rem}
}
@media(max-width:560px){.tourbar .bm{font-size:.88rem}.tnav a:not(.cta){font-size:.82rem}}
/* home: texture, R.V. way, collections, why grid, closing */
.texture{background-image:linear-gradient(rgba(14,91,84,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(14,91,84,.035) 1px,transparent 1px);background-size:34px 34px}



.coll{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:980px){.coll{grid-template-columns:1fr;max-width:34rem;margin-inline:auto}}
.cc{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--sh-sm);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.cc:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.cc .im{height:15rem;overflow:hidden}
.cc .im img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.cc:hover .im img{transform:scale(1.055)}
.cc .bd{padding:28px;display:flex;flex-direction:column;flex:1}
.cc .nm{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--gold);margin:0}
.cc h3{font-family:"Fraunces",serif;font-weight:700;font-size:1.28rem;margin:12px 0 0}
.cc .cp{margin:14px 0 0;color:var(--muted);font-size:.93rem;line-height:1.65}
.cc .lk{display:inline-flex;align-items:center;gap:.45em;margin-top:22px;font-weight:800;font-size:.9rem;color:var(--pine)}
.cc .lk svg{width:17px;height:17px}
.cc:hover .lk{color:var(--coral)}
.cc .ls{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);color:#7b7565;font-size:.86rem;line-height:1.65;font-weight:500}
.whygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.16);border-radius:26px;overflow:hidden}
@media(max-width:980px){.whygrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.whygrid{grid-template-columns:1fr}}
.whygrid article{background:rgba(255,255,255,.05);padding:28px}
.whygrid .ic3{display:block;color:var(--gold-2);margin-bottom:26px}
.whygrid .ic3 svg{width:26px;height:26px}
.whygrid h3{font-family:"Fraunces",serif;font-weight:700;font-size:1.14rem;color:#fff}
.whygrid p{margin:14px 0 0;color:rgba(255,255,255,.75);font-size:.9rem;line-height:1.65}
.sec.closing{background:#e8dcc4}
.sec.closing .cta h2{margin:.35em 0 .45em}
/* quick tiles */
.qt{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px;max-width:56rem}
.qt a{position:relative;border-radius:16px;overflow:hidden;min-height:118px;display:flex;align-items:flex-end;box-shadow:var(--sh);transition:transform .25s}
.qt a:hover{transform:translateY(-4px)}
.qt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qt .c{position:relative;z-index:2;width:100%;padding:12px 13px;color:#fff;background:linear-gradient(0deg,rgba(6,28,26,.92),transparent)}
.qt .c b{display:block;font-family:"Fraunces",serif;font-weight:700;font-size:.98rem;line-height:1.2}
.qt .c span{font-size:.74rem;color:#dfeae7;font-weight:600}
@media(max-width:900px){.qt{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.qt a:nth-child(n+3){display:none}}
/* upcoming departures */
.dep-row{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 16px;scrollbar-width:none}
.dep-row::-webkit-scrollbar{display:none}
.dep{scroll-snap-align:start;flex:0 0 clamp(268px,80vw,330px);background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.dep:hover{transform:translateY(-5px);box-shadow:var(--sh-lg)}
.dep .im{position:relative;aspect-ratio:2/1;overflow:hidden}
.dep .im img{width:100%;height:100%;object-fit:cover}
.dep .tg{position:absolute;left:12px;bottom:10px;color:#fff;font-weight:800;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;background:rgba(6,28,26,.65);padding:.3em .6em;border-radius:100px}
.dep .bd{padding:15px 17px 17px;display:flex;flex-direction:column;gap:8px;flex:1}
.dep .bd h4{font-family:"Fraunces",serif;font-weight:700;font-size:1.05rem}
.dep .wn{display:inline-flex;align-items:center;gap:.4em;color:var(--pine);font-weight:700;font-size:.81rem}
.dep .wn svg{width:15px;height:15px}
.dep .ft{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:10px}
.dep .ft b{font-family:"Fraunces",serif;font-weight:800;font-size:1.14rem}
.dep .ft s{color:var(--muted);font-size:.8em;font-weight:700;margin-right:.25em}
/* head office note */
.jl{background:#fdf3dd;border:1px solid #f0d9a8;border-radius:18px;padding:22px 24px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:space-between;margin-top:24px}
.jl h3{font-family:"Fraunces",serif;font-weight:700;font-size:1.14rem;margin-bottom:4px}
.jl p{margin:0;color:#43524b;font-size:.9rem;max-width:52ch;line-height:1.6}
/* strips + sections */
.trust{background:var(--deep);color:#eaf3f1}
.trust .wrap{display:grid;gap:22px;padding-block:clamp(34px,4vw,46px);grid-template-columns:repeat(4,1fr);text-align:center}
.trust .t{display:block}
.trust b{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(2rem,3.6vw,2.8rem);color:var(--gold-2);line-height:1;display:block}
.trust span{display:block;font-size:.88rem;color:#bcd6d1;font-weight:600;margin-top:8px}
@media(max-width:680px){.trust .wrap{grid-template-columns:1fr 1fr;gap:24px 16px}}
.trust .t{display:block}
.trust b{display:block;font-family:"Fraunces",serif;font-weight:800;font-size:clamp(2rem,3.6vw,2.8rem);color:var(--gold-2);line-height:1}
.trust span{display:block;font-size:.88rem;color:#bcd6d1;font-weight:600;margin-top:8px}
@media(max-width:900px){.trust .wrap{grid-template-columns:1fr 1fr;gap:16px}}
.sec{padding-block:clamp(56px,8vw,104px)}
.sec.cream{background:var(--cream)}
.sec.pine{background:var(--deep);color:#eaf3f1}
.sec.pine h2,.sec.pine h3{color:#fff}
.sec.white{background:#fff}
.head{max-width:42rem}
.head.center{margin-inline:auto;text-align:center}
.head h2{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.12;margin:.35em 0 .4em}
.head p{color:var(--muted);font-size:1.02rem;line-height:1.65;margin:0}
.sec.pine .head p{color:#bcd6d1}
.hrow2{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,44px)}
.more{font-weight:800;color:var(--coral);display:inline-flex;align-items:center;gap:.45em;white-space:nowrap}
.sec.pine .more{color:var(--gold-2)}
.more svg{width:18px;height:18px;transition:transform .22s}.more:hover svg{transform:translateX(4px)}
/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.cards{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--sh-sm);transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.card .ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--cream)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.card:hover .ph img{transform:scale(1.07)}
.card .bdg{position:absolute;top:12px;left:12px;background:var(--coral);color:#fff;font-weight:800;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;padding:.35em .7em;border-radius:100px}
.card .bdg.gold{background:var(--gold);color:var(--ink)}
.card .dur{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.94);font-weight:800;font-size:.74rem;padding:.32em .62em;border-radius:100px}
.card .b{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .rg{font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--pine)}
.card h3{font-family:"Fraunces",serif;font-weight:700;font-size:1.18rem;line-height:1.25}
.card .sb{color:var(--muted);font-size:.87rem;margin:0;line-height:1.5}
.card .dp{display:inline-flex;align-items:center;gap:.4em;font-size:.8rem;font-weight:700;color:#3c4a44}
.card .dp svg{width:14px;height:14px;color:var(--coral)}
.card .ft{margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.card .pr small{display:block;font-size:.67rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.card .pr b{font-family:"Fraunces",serif;font-weight:800;font-size:1.24rem}
.card .pr s{color:var(--muted);font-weight:700;font-size:.8em;margin-right:.25em}
.card .pr .gst{display:block;font-size:.68rem;color:var(--muted);font-weight:700}
/* world grid */
.wgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1000px){.wgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.wgrid{grid-template-columns:1fr}}
.wc{position:relative;border-radius:20px;overflow:hidden;min-height:270px;display:flex;align-items:flex-end;box-shadow:var(--sh);transition:transform .3s}
.wc:hover{transform:translateY(-6px)}
.wc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.wc:hover img{transform:scale(1.07)}
.wc .cap{position:relative;z-index:2;width:100%;padding:18px;color:#fff;background:linear-gradient(0deg,rgba(6,28,26,.95),rgba(6,28,26,.4) 55%,transparent)}
.wc .cap .fl{font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2)}
.wc .cap h3{font-family:"Fraunces",serif;font-weight:700;font-size:1.16rem;margin:.2em 0 .3em}
.wc .cap .mt{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;font-size:.8rem;color:#cfe0dc;font-weight:600}
.wc .cap .mt b{font-family:"Fraunces",serif;font-size:1rem;color:#fff}
.why4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
@media(max-width:900px){.why4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.why4{grid-template-columns:1fr}}
.why4 .i{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px}
.why4 .i svg{width:22px;height:22px;color:var(--gold-2);flex:0 0 auto}
.why4 b{display:block;color:#fff;font-size:.96rem}
.why4 span{font-size:.84rem;color:#bcd6d1;line-height:1.5}
/* incl / steps / reviews / branches / faq */
.icards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.icards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.icards{grid-template-columns:1fr}}
.ic{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--sh-sm);transition:transform .3s,box-shadow .3s}
.ic:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.ic svg{width:24px;height:24px;color:var(--coral);margin-bottom:14px}
.ic h3{font-family:"Fraunces",serif;font-weight:700;font-size:1.1rem;margin-bottom:6px}
.ic p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:800px){.steps{grid-template-columns:1fr}}
.step{background:var(--pine);border-radius:20px;padding:26px;color:#fff}
.step .n{font-family:"Fraunces",serif;font-weight:800;font-size:2.4rem;color:var(--gold-2);line-height:1}
.step h3{font-family:"Fraunces",serif;font-weight:700;font-size:1.14rem;margin:10px 0 6px}
.step p{margin:0;color:#cfe4e0;font-size:.92rem;line-height:1.6}
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:900px){.revs{grid-template-columns:1fr;max-width:34rem;margin-inline:auto}}
.rev{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--sh-sm);display:flex;flex-direction:column}
.rev .st{color:var(--gold);letter-spacing:2px;font-size:.9rem}
.rev p{margin:12px 0 18px;color:#3c4a44;font-size:.96rem;line-height:1.7}
.rev .who{margin-top:auto;display:flex;align-items:center;gap:12px}
.rev .av{width:42px;height:42px;border-radius:50%;background:var(--pine);color:var(--gold-2);display:grid;place-items:center;font-family:"Fraunces",serif;font-weight:700;flex:0 0 auto}
.rev .who b{display:block;font-size:.95rem}.rev .who span{font-size:.78rem;color:var(--muted);font-weight:600}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center}
@media(max-width:680px){.stats{grid-template-columns:1fr 1fr}}
.stats b{display:block;font-family:"Fraunces",serif;font-weight:800;font-size:clamp(2rem,4vw,2.9rem);color:var(--gold-2);line-height:1}
.stats span{font-size:.88rem;color:#bcd6d1;font-weight:600}
.brs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1080px){.brs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.brs{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.brs{grid-template-columns:1fr}}
.br{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;transition:transform .25s,border-color .25s}
.br:hover{transform:translateY(-3px);border-color:var(--gold)}
.br .p{width:40px;height:40px;border-radius:12px;background:var(--cream);color:var(--coral);display:grid;place-items:center;flex:0 0 auto}
.br .p svg{width:20px;height:20px}
.br h4{font-family:"Fraunces",serif;font-weight:700;font-size:1.06rem;margin-bottom:2px}
.br p{margin:0;color:var(--muted);font-size:.85rem}
.faqw{max-width:52rem;margin-inline:auto}
.faq{border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:12px;overflow:hidden;box-shadow:var(--sh-sm)}
.faq summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;justify-content:space-between;gap:16px;font-family:"Fraunces",serif;font-weight:700;font-size:1.04rem}
.faq summary::-webkit-details-marker{display:none}
.faq .ic2{width:28px;height:28px;flex:0 0 auto;border-radius:9px;background:var(--cream);color:var(--pine);display:grid;place-items:center;transition:.25s}
.faq[open] .ic2{transform:rotate(45deg);background:var(--coral);color:#fff}
.faq .a{padding:0 20px 18px;color:var(--muted);font-size:.95rem;line-height:1.7}
.cta{background:var(--pine);border-radius:26px;padding:clamp(28px,5vw,52px);color:#fff;position:relative;overflow:hidden}
.cta h2{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(1.7rem,3.2vw,2.4rem);margin:.3em 0 .4em}
.cta p{color:#cfe4e0;margin:0 0 24px;max-width:36rem;line-height:1.65}
.cta .row{display:flex;gap:12px;flex-wrap:wrap}
/* listing */
.lhero{background:var(--deep);color:#fff;padding-block:clamp(34px,5vw,60px)}
.lhero h1{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(1.9rem,4vw,2.8rem);margin:.3em 0 .35em}
.lhero p{color:#bcd6d1;margin:0;max-width:44rem;line-height:1.65}
.crumb{display:flex;gap:.5em;font-size:.83rem;font-weight:700;color:#cfe4e0;margin-bottom:6px;flex-wrap:wrap}
.crumb a:hover{color:var(--gold-2)}
.lbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.lbar .wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-block:14px}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tab{border:1.5px solid var(--line);background:#fff;color:#43524b;font:inherit;font-weight:700;font-size:.9rem;padding:.55em 1.1em;border-radius:100px;cursor:pointer;display:inline-flex;gap:.5em;align-items:center;transition:.2s}
.tab:hover{border-color:var(--pine)}
.tab.on{background:var(--pine);border-color:var(--pine);color:#fff}
.tab .n{font-size:.72rem;color:var(--muted);font-weight:800}
.tab.on .n{color:rgba(255,255,255,.75)}
.lcount{margin-left:auto;color:var(--muted);font-weight:700;font-size:.85rem}
/* detail */
.dhero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(520px,84vh,880px);display:flex;align-items:flex-end}
.dhero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hcar{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hcs{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.hcs.on{opacity:1}
.hcnav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(8,47,43,.42);border:1px solid rgba(255,255,255,.42);backdrop-filter:blur(6px);color:#fff;cursor:pointer;transition:background .25s,border-color .25s}
.hcnav:hover{background:rgba(8,47,43,.75);border-color:#fff}
.hcnav:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
.hcnav svg{width:18px;height:18px;pointer-events:none}
.hcnav.pv{left:clamp(12px,1.6vw,22px)}
.hcnav.nx{right:clamp(12px,1.6vw,22px)}
.hcdots{position:absolute;left:50%;transform:translateX(-50%);bottom:clamp(72px,9vh,100px);z-index:4;display:flex;gap:10px}
.hcdot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.42);cursor:pointer;transition:background .25s,transform .25s}
.hcdot.on{background:#fff;transform:scale(1.25)}
.hcdot:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
@media(max-width:1400px){.hcnav{top:auto;bottom:clamp(72px,9vh,100px);transform:none}
.hcnav.pv{left:auto;right:calc(clamp(12px,1.6vw,22px) + 54px)}
.dhero .wrap{padding-bottom:clamp(150px,19vh,200px)}}
@media(prefers-reduced-motion:reduce){.hcs,.hcdot{transition:none}}
.dhero .sh{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,28,26,.60) 0%,rgba(6,28,26,.12) 26%,rgba(6,28,26,.26) 58%,rgba(6,28,26,.82) 100%),linear-gradient(90deg,rgba(6,28,26,.50) 0%,rgba(6,28,26,.14) 56%,rgba(6,28,26,0) 100%)}
@media(max-width:768px){.dhero .sh{background:linear-gradient(180deg,rgba(6,28,26,.55) 0%,rgba(6,28,26,.22) 30%,rgba(6,28,26,.90) 100%)}}
.dhero .wrap{position:relative;width:100%;padding-block:clamp(40px,6vw,64px) clamp(120px,15vh,158px)}
.dbadge{display:inline-flex;align-items:center;gap:.5em;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(6px);padding:.5em 1em;border-radius:100px;font-weight:800;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.dhero h1{font-family:"Fraunces",serif;font-weight:800;color:#fff;font-size:clamp(2.1rem,4.6vw,3.9rem);line-height:1.04;margin:.12em 0 .34em;max-width:20ch;text-transform:uppercase;letter-spacing:.005em;overflow-wrap:break-word;hyphens:auto}
@media(max-width:360px){.dhero h1{font-size:1.8rem;letter-spacing:0}}
.dhero .ds{color:#e7f0ed;max-width:46rem;line-height:1.62;margin:0 0 28px;font-size:clamp(1rem,1.2vw,1.1rem)}
.dhero .hr2{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.dhero .pr{font-weight:800;color:#fff}
.dhero .pr s{color:rgba(255,255,255,.6);margin-right:.3em}
.dhero .pr b{color:var(--gold-2)}
@media(max-width:860px){.dintro{grid-template-columns:1fr!important}}
.facts{margin-top:-58px;position:relative;z-index:5}
.facts .g{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:820px){.facts .g{grid-template-columns:1fr 1fr;gap:12px}.facts{margin-top:-40px}}
@media(max-width:460px){.facts .g{grid-template-columns:1fr}}
.fact{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--sh)}
.fact .i{width:34px;height:34px;border-radius:11px;background:var(--cream);color:var(--coral);display:grid;place-items:center;margin-bottom:12px}
.fact .i svg{width:18px;height:18px}
.fact .l{font-size:.66rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:3px}
.fact .v{font-family:"Fraunces",serif;font-weight:700;font-size:1.18rem;line-height:1.25}
.fact .v s{display:block;font-size:.78rem;color:var(--muted);font-weight:600}
.fact .v.fdates{color:var(--coral);font-size:1.02rem;line-height:1.4}
.fact .v.fdates em{display:block;font-style:normal;font-size:.74rem;color:var(--muted);font-weight:600;margin-top:3px}
.route{background:var(--pine);color:#fff;border-radius:22px;padding:clamp(22px,3vw,32px)}
.route h3{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin-bottom:18px}
.route h3{font-family:"Fraunces",serif;font-weight:800;font-size:1.35rem;letter-spacing:0;text-transform:none;color:var(--gold-2);margin-bottom:22px}
.rg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:640px){.rg{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.rg{grid-template-columns:1fr}}
.ri{display:grid;place-items:center;text-align:center;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:14px;padding:.85em .6em;font-weight:700;font-size:.95rem;color:#fff;transition:background .25s,border-color .25s}
.ri:hover{background:rgba(255,194,75,.14);border-color:rgba(255,194,75,.55)}
.itin{max-width:52rem;margin-inline:auto;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--sh)}
.day{border-bottom:1px solid var(--line)}
.day:last-child{border-bottom:0}
.day summary{list-style:none;cursor:pointer;padding:16px 20px;display:flex;align-items:center;gap:16px}
.day summary::-webkit-details-marker{display:none}
.day .num{width:38px;height:38px;border-radius:50%;background:var(--cream);color:var(--pine);display:grid;place-items:center;font-family:"Fraunces",serif;font-weight:700;font-size:.86rem;flex:0 0 auto;transition:.25s}
.day .tx{flex:1;min-width:0}
.day .tt{font-family:"Fraunces",serif;font-weight:700;font-size:1.02rem;line-height:1.3;display:block}
.day .rt{font-size:.81rem;color:var(--muted);font-weight:600;margin-top:2px;display:block}
.day .cv{width:26px;height:26px;color:var(--muted);flex:0 0 auto;transition:transform .28s}
.day[open]{background:var(--pine);color:#fff}
.day[open] .num{background:var(--gold);color:var(--ink)}
.day[open] .tt{color:#fff}.day[open] .rt{color:#a8ccc5}
.day[open] .cv{transform:rotate(180deg);color:#cfe4e0}
.day .pn{background:#fff;color:#43524b;padding:18px 20px 22px 74px;border-top:1px solid var(--line)}
@media(max-width:600px){.day .pn{padding-left:20px}}
.day .pn ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.day .pn li{font-size:.92rem;line-height:1.6}
.day .pn li::marker{color:var(--coral)}
.ie{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:62rem;margin-inline:auto}
@media(max-width:820px){.ie{grid-template-columns:1fr}}
.iebox{border-radius:22px;padding:28px}
.iebox h3{font-family:"Fraunces",serif;font-weight:700;font-size:1.14rem;margin-bottom:18px;display:flex;align-items:center;gap:.6em}
.iebox h3 .b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.iebox h3 .b svg{width:15px;height:15px}
.iebox ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.iebox li{position:relative;padding-left:30px;font-size:.92rem;line-height:1.55}
.iebox li:before{position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:.66rem;font-weight:800}
.iebox.inc{background:var(--pine);color:#eaf3f1;box-shadow:var(--sh-lg)}
.iebox.inc h3{color:#fff}.iebox.inc h3 .b{background:var(--gold);color:var(--ink)}
.iebox.inc li:before{content:"✓";background:rgba(255,194,75,.18);color:var(--gold-2)}
.iebox.exc{background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm);color:#43524b}
.iebox.exc h3 .b{background:var(--coral);color:#fff}
.iebox.exc li:before{content:"—";background:#fdece8;color:var(--coral)}
.gal{position:relative;overflow:hidden}
.gtrack{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px;scrollbar-width:none}
.gtrack::-webkit-scrollbar{display:none}
.gcard{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start;border-radius:18px;overflow:hidden;position:relative;aspect-ratio:4/3;box-shadow:var(--sh)}
@media(max-width:860px){.gcard{flex:0 0 calc((100% - 16px)/2)}}
@media(max-width:560px){.gcard{flex:0 0 88%}}
.gcard img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.gcard:hover img{transform:scale(1.07)}
.gcard .c{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;color:#fff;font-weight:700;font-size:.9rem;background:linear-gradient(0deg,rgba(6,28,26,.9),transparent)}
.gnav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:var(--sh);display:grid;place-items:center;cursor:pointer;color:var(--pine);z-index:4}
.gnav:hover{background:var(--pine);color:#fff}
.gnav.p{left:-14px}.gnav.n{right:-14px}
@media(max-width:900px){.gnav{display:none}}
.bookband{background:var(--pine);border-radius:26px;padding:clamp(20px,4vw,48px);color:#fff}
@media(max-width:380px){.bookband{padding:18px;border-radius:18px}}
.bookband .cols{display:grid;grid-template-columns:1fr 26rem;gap:clamp(26px,4vw,48px);align-items:start}
@media(max-width:900px){.bookband .cols{grid-template-columns:minmax(0,1fr)}.bookband .cols>*{min-width:0}}
.bookband h2{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(1.5rem,2.8vw,2.1rem);margin:.3em 0 .4em}
.bookband p.bl{color:#bcd6d1;margin:0 0 24px;line-height:1.65;max-width:34rem}
.bcs{display:flex;gap:12px;flex-wrap:wrap}
.bc{display:inline-flex;align-items:center;gap:.6em;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:.75em 1.05em;font-weight:700;font-size:.9rem;color:#fff}
.bc:hover{background:rgba(244,166,33,.16);border-color:var(--gold)}
.bc svg{width:17px;height:17px;color:var(--gold-2)}
.bform{background:#fff;border-radius:20px;padding:26px;color:var(--ink);box-shadow:var(--sh-lg)}
.bform h3{font-family:"Fraunces",serif;font-weight:700;font-size:1.14rem;margin-bottom:16px}
.bf{margin-bottom:15px}
.bf label{display:block;font-size:.74rem;font-weight:800;color:var(--muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em}
.bf input,.bf select{width:100%;font:inherit;font-size:.96rem;font-weight:600;padding:.55em 0;border:0;border-bottom:1.5px solid var(--line);background:transparent;outline:0;color:var(--ink)}
.bf input:focus,.bf select:focus{border-color:var(--gold)}
.bform .btn{width:100%;margin-top:4px}
.bform .fine{font-size:.76rem;color:var(--muted);text-align:center;margin:12px 0 0}
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.tcards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tcards{grid-template-columns:1fr}}
.tc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--sh-sm);transition:transform .25s,border-color .25s}
.tc:hover{transform:translateY(-3px);border-color:var(--gold)}
.tc .i{width:32px;height:32px;border-radius:10px;background:var(--cream);color:var(--coral);display:grid;place-items:center;margin-bottom:14px}
.tc .i svg{width:17px;height:17px}
.tc h4{font-family:"Fraunces",serif;font-weight:700;font-size:1.02rem;margin-bottom:7px}
.tc p{margin:0;font-size:.87rem;color:var(--muted);line-height:1.62}
/* footer */
footer.st{background:var(--deep);color:#a9c4bf;padding-top:clamp(48px,6vw,74px)}
.fb p{margin:14px 0 16px;font-size:.89rem;max-width:30ch;line-height:1.6}
.socs{display:flex;gap:9px}
.socs a{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;color:#dfeae7;transition:.22s}
.socs a:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.socs svg{width:19px;height:19px}
.fcol h5{font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;color:var(--gold-2);margin-bottom:14px}
.fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.fcol a{font-size:.88rem;color:#a9c4bf}.fcol a:hover{color:#fff}
.fnote{font-size:.75rem;color:#7ba59e;padding-block:18px;line-height:1.7;border-bottom:1px solid rgba(255,255,255,.1)}
.fbot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-block:18px;font-size:.81rem;color:#8fb0aa}
.fbot a:hover{color:#fff}
.fab{position:fixed;right:18px;bottom:18px;z-index:50;display:flex;flex-direction:column;gap:10px}
.fab a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:var(--sh-lg);color:#fff;transition:transform .2s}
.fab a:hover{transform:scale(1.07)}
.fab .wa{background:#25d366}.fab .cl{background:var(--coral)}
.fab svg{width:26px;height:26px}
@media(min-width:1181px){.fab .cl{display:none}}
#listing,#detail,#corporate{display:none}
body.v-list #home,body.v-list #detail,body.v-list #corporate{display:none}
body.v-list #listing{display:block}
body.v-detail #home,body.v-list2,body.v-detail #listing,body.v-detail #corporate{display:none}
body.v-detail #detail{display:block}
body.v-corp #home,body.v-corp #listing,body.v-corp #detail{display:none}
body.v-corp #corporate{display:block}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(160%);background:var(--deep);color:#fff;padding:14px 22px;border-radius:100px;box-shadow:var(--sh-lg);z-index:120;font-weight:700;transition:transform .4s;max-width:92vw}
.toast.on{transform:translateX(-50%) translateY(0)}

/* card: photo + text are one link, actions sit below it */
.card .cwrap{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}
.card .btxt{padding:18px 20px 0;display:flex;flex-direction:column;gap:8px;flex:1}
.card .b{padding:0 20px 20px;display:flex;flex-direction:column;gap:8px}
.card .cacts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.card .btn.ghost{background:transparent;color:var(--pine);border:1px solid var(--line)}
.card .btn.ghost:hover{border-color:var(--pine);background:#fff}
@media(max-width:420px){
  .card .ft{flex-direction:column;align-items:stretch}
  .card .cacts{justify-content:stretch}
  .card .cacts .btn{flex:1;text-align:center}
}

/* ---------- ready-made private tours (FIT booklet) ---------- */
.ftlisthero{padding-top:2.6rem}
.ftchips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem}
.ftchip{font:inherit;font-weight:600;font-size:.86rem;padding:.5rem .95rem;border-radius:999px;
  border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:.18s}
.ftchip:hover{border-color:var(--pine);color:var(--pine)}
.ftchip.on{background:var(--pine);border-color:var(--pine);color:#fff}
.ftgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1.1rem}
.ftcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.15rem 1.2rem;
  display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--sh);min-width:0}
.ftctop{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.ftpill{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--pine);background:var(--cream);padding:.28rem .6rem;border-radius:999px}
.ftdur{font-size:.82rem;font-weight:700;color:var(--muted)}
.ftcard h3{font-family:"Fraunces",serif;font-size:1.12rem;line-height:1.25;margin:.1rem 0 0}
.ftcard h3 a{color:inherit;text-decoration:none}
.ftcard h3 a:hover{color:var(--pine)}
.ftplaces{font-size:.87rem;color:var(--muted);margin:0;overflow-wrap:break-word}
.ftfoot{display:flex;align-items:flex-end;justify-content:space-between;gap:.7rem;margin-top:auto;padding-top:.7rem}
.ftprice b{display:block;font-family:"Fraunces",serif;font-size:1.2rem;color:var(--pine)}
.ftprice span{font-size:.76rem;color:var(--muted)}
.ftshero{background:var(--deep);color:#fff;padding:3.2rem 0 2.6rem}
.ftshero h1{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(1.9rem,4vw,3rem);
  line-height:1.06;margin:.15em 0 .3em;overflow-wrap:break-word}
.ftsub{color:#cfe0db;margin:0 0 1.4rem}
.ftfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.9rem;margin-bottom:1.5rem}
.ftfacts div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:12px;padding:.75rem .9rem;min-width:0}
.ftfacts b{display:block;font-family:"Fraunces",serif;font-size:1.15rem;color:var(--gold)}
.ftfacts span{font-size:.78rem;color:#bcd2cc}
.ftcta{display:flex;flex-wrap:wrap;gap:.7rem}
.ftdays{display:flex;flex-direction:column;gap:.9rem;margin-top:1.4rem}
.ftday{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1rem;background:#fff;
  border:1px solid var(--line);border-radius:14px;padding:1rem 1.15rem}
.ftdn{font-family:"Fraunces",serif;font-weight:700;color:var(--pine)}
.ftdb h3{font-size:1rem;margin:0 0 .4rem;line-height:1.3}
.ftdb ul{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.9rem}
.ftdb li{margin:.2rem 0}
.ftsh{font-family:"Fraunces",serif;font-size:1.1rem;margin:0 0 .6rem}
.ftlist{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.92rem}
.ftlist li{margin:.28rem 0}
.hintline{color:var(--muted);text-align:center;margin-top:1.4rem}
@media(max-width:560px){.ftday{grid-template-columns:minmax(0,1fr);gap:.35rem}}

/* ---------- private tour photography ---------- */
.ftshero{position:relative;overflow:hidden;isolation:isolate}
.ftheroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ftheroshade{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(8,47,43,.72) 0%,rgba(8,47,43,.82) 55%,rgba(8,47,43,.94) 100%)}
.ftthumb{display:block;margin:-1.15rem -1.2rem .2rem;border-radius:16px 16px 0 0;overflow:hidden;aspect-ratio:16/10}
.ftthumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.ftcard:hover .ftthumb img{transform:scale(1.04)}
.ftgal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin-top:1.3rem}
.ftgcard{margin:0;border-radius:14px;overflow:hidden;position:relative;box-shadow:var(--sh);aspect-ratio:4/3}
.ftgcard img{width:100%;height:100%;object-fit:cover;display:block}
.ftgcard figcaption{position:absolute;left:0;right:0;bottom:0;padding:.55rem .8rem;color:#fff;
  font-size:.85rem;font-weight:600;background:linear-gradient(180deg,rgba(8,47,43,0),rgba(8,47,43,.8))}

/* ---------- destination search on Customized Holidays ---------- */
.ctac{position:relative}
.ctaclist{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;
  background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;
  box-shadow:0 24px 48px -20px rgba(8,47,43,.4);max-height:19rem;overflow-y:auto}
.ctaclist.on{display:block}
.ctacitem{display:block;padding:.6rem .85rem;text-decoration:none;color:var(--ink);
  border-bottom:1px solid var(--line)}
.ctacitem:last-child{border-bottom:0}
.ctacitem:hover,.ctacitem.on{background:var(--cream)}
.ctacn{display:block;font-weight:700;font-size:.92rem;line-height:1.3}
.ctacm{display:block;font-size:.78rem;color:var(--muted);margin-top:.12rem}
.ctacnone{padding:.75rem .85rem;font-size:.88rem;color:var(--muted)}

/* ---------- private tour enquiry form ---------- */
.ftenqhero{background:var(--deep);color:#fff;padding:3rem 0 2.4rem}
.ftenqhero h1{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(1.8rem,3.6vw,2.7rem);
  line-height:1.08;margin:.15em 0 .35em;overflow-wrap:break-word}
.ftenqwrap{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:2rem;align-items:start}
.ftenq{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.4rem;box-shadow:var(--sh)}
.ftenqpkg{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;background:var(--cream);
  border-radius:12px;padding:.7rem .9rem;margin-bottom:1.1rem}
.ftenqpkg span{font-size:.8rem;color:var(--muted)}
.ftenqpkg b{font-family:"Fraunces",serif;font-size:1.02rem}
.ftenqpkg a{font-size:.8rem;margin-left:auto}
.ftenqgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:1rem}
.ftenqfull{grid-column:1/-1}
.ftenq label{display:block;font-size:.82rem;font-weight:700;margin-bottom:.35rem}
.ftenq label i{color:var(--coral);font-style:normal}
.ftenq input,.ftenq select,.ftenq textarea{width:100%;padding:.7em .8em;border:1px solid var(--line);
  border-radius:10px;font:inherit;font-size:.93rem;color:var(--ink);background:#fff}
.ftenq input:focus,.ftenq select:focus,.ftenq textarea:focus{outline:0;border-color:var(--pine)}
.ftenq textarea{resize:vertical;min-height:6rem}
.ftenqnote{font-size:.82rem;color:var(--muted);margin:1rem 0 .9rem}
.ftenqside{background:var(--cream);border-radius:18px;padding:1.3rem 1.4rem}
.ftenqside h3{font-family:"Fraunces",serif;font-size:1.1rem;margin:0 0 .7rem}
.ftenqside ol{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.92rem}
.ftenqside li{margin:.4rem 0}
.ftenqcall{margin:1.1rem 0 0;font-size:.9rem;color:var(--muted)}
.ftenqcall a{font-family:"Fraunces",serif;font-size:1.25rem;color:var(--pine);font-weight:700}
@media(max-width:900px){.ftenqwrap{grid-template-columns:minmax(0,1fr)}}

/* ---------- phone beside Book now in the tour header ---------- */
.tnav .tphone{display:inline-flex;align-items:center;gap:.4em;font-weight:800;font-size:.92rem;
  color:var(--pine);text-decoration:none;white-space:nowrap;padding:.45em .8em;border-radius:999px;
  border:1px solid var(--line);background:#fff;transition:.18s}
.tnav .tphone:hover{border-color:var(--pine);background:var(--cream)}
.tnav .tphone svg{width:16px;height:16px}
@media(max-width:1100px){.tnav .tphone{padding:.4em .6em}.tnav .tphone svg{width:15px;height:15px}}
@media(max-width:820px){.tnav .tphone span,.tnav .tphone{font-size:.86rem}}

/* ---------- about: vision & mission ---------- */
.abvm{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1.1rem;margin-top:1.8rem}
.abvm article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.5rem 1.6rem;box-shadow:var(--sh);min-width:0}
.abvl{display:block;font-size:.76rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--coral);margin-bottom:.7rem}
.abvm p{margin:0;font-family:"Fraunces",serif;font-size:1.12rem;line-height:1.5;color:var(--ink)}

/* a hidden dropdown must never widen the page — it is measured even when unseen */
nav.main,.nav,.navrow{max-width:100vw}
.ni{position:relative}

/* ===== customized tours hero — content left, destination mosaic ===== */
.ct-hero{position:relative;min-height:min(620px,84vh);overflow:hidden;display:flex;align-items:center;justify-content:center}
.ct-hero .wrap{width:100%}
.ct-hero .shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,47,43,.86),rgba(8,47,43,.5) 55%,rgba(8,47,43,.35) 100%)}
.ct-hero .in{max-width:44rem;color:#fff;padding-block:clamp(50px,8vw,96px)}
.ct-hero h1{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(2rem,4.8vw,3.4rem);line-height:1.06;margin:0}
.ct-hero p{font-size:clamp(.98rem,1.5vw,1.12rem);line-height:1.65;color:rgba(255,255,255,.9);margin:18px 0 0;max-width:34rem}
.ct-hero .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.ct-mos{position:absolute;inset:0;z-index:-2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ct-mos img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:768px){.ct-mos{grid-template-columns:minmax(0,1fr)}.ct-mos img:nth-child(n+2){display:none}
.ct-hero .shade{background:linear-gradient(180deg,rgba(8,47,43,.55) 0%,rgba(8,47,43,.72) 55%,rgba(8,47,43,.92) 100%)}}

/* ---------- link to the full Google reviews ---------- */
.grmore{margin:28px 0 0;text-align:center;font-size:.95rem}
.grmore a{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center;
  color:var(--pine);font-weight:700;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}
.grmore a:hover{border-color:var(--pine)}
.grmore b{font-family:"Fraunces",serif;font-size:1.12rem;color:var(--ink);font-weight:800}
.grstars{color:var(--gold);letter-spacing:.08em;font-size:1.02rem}

/* ---------- photograph credits ---------- */
.crlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.5rem 1.4rem;
  list-style:none;padding:0;margin:0}
.crlist li{font-size:.94rem;color:var(--muted);padding:.35rem 0;border-bottom:1px solid var(--line)}
.crlist a{color:var(--ink);text-decoration:none}
.crlist a:hover{color:var(--pine)}
.crnote{margin-top:2rem;font-size:.9rem;line-height:1.7;color:var(--muted);max-width:44rem}
