:root{--bg:#0d1615;--cream:#f4f4f2;--ink:#1b2321;--soft:#5b655f;--gold:#d9a441;--goldd:#a97612;--line:rgba(27,35,33,.14);
 --panel:rgba(255,255,255,.52);--panel2:rgba(255,255,255,.46);--panel3:rgba(255,255,255,.40);
 --card:rgba(255,255,255,.82);--cardsolid:#fff;--chip:rgba(255,255,255,.5);--glassb:rgba(255,255,255,.55);--shadow:0 10px 30px rgba(20,30,28,.10);--blur:blur(20px) saturate(1.5);--chipwarm:#faeeda;--chipwarmt:#633806}
:root[data-theme=dark]{--cream:#0b1010;--ink:#eee8dc;--soft:#a3aea8;--goldd:#e2b45e;--line:rgba(244,239,230,.14);
 --panel:rgba(8,11,11,.50);--panel2:rgba(8,11,11,.44);--panel3:rgba(8,11,11,.38);
 --card:rgba(255,255,255,.07);--cardsolid:#16231f;--chip:rgba(255,255,255,.08);--glassb:rgba(255,255,255,.10);--shadow:0 10px 30px rgba(0,0,0,.35);--chipwarm:rgba(217,164,65,.18);--chipwarmt:#f0cf8a;color-scheme:dark}
body,.panel,.dc,.rc,.tcard{transition:background-color .35s,color .35s,border-color .35s}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',system-ui,sans-serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}
body.is-home{background:var(--bg)}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#1a1408;padding:8px 14px;border-radius:8px;z-index:200}
.skip:focus{left:8px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.adminnote{color:var(--soft);font-size:14px;padding:12px 18px}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;color:#f4efe6;transition:background .3s}
.site-header.solid,body.is-inner .site-header{background:rgba(13,22,21,.62);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid rgba(244,239,230,.10)}
body.admin-bar .site-header{top:32px}
.logo{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;letter-spacing:.02em}
.logo b{color:var(--gold);font-weight:600}
.logo img{max-height:40px;width:auto;display:block}
nav#nav{display:none;gap:28px;font-size:14px;letter-spacing:.04em}
nav#nav ul{display:flex;gap:28px;list-style:none}
nav#nav a:hover{color:var(--gold)}
.hdr-r{display:flex;align-items:center;gap:12px}
.pill{display:inline-block;background:var(--gold);color:#1a1408;font-weight:500;font-size:14px;padding:10px 18px;border-radius:999px}
.burger{width:34px;height:34px;border:1px solid rgba(244,239,230,.4);border-radius:50%;display:grid;place-content:center;gap:4px;background:none;cursor:pointer}
.burger i{display:block;width:14px;height:1.5px;background:#f4efe6}
body.menu-open{overflow:hidden}
body.menu-open nav#nav{display:flex;position:fixed;inset:0;z-index:55;background:rgba(13,22,21,.97);flex-direction:column;align-items:center;justify-content:center;gap:22px;font-size:26px;font-family:'Cormorant Garamond',serif}
body.menu-open nav#nav ul{flex-direction:column;align-items:center;gap:22px}

/* hero */
.hero{position:relative;z-index:2;min-height:100svh;color:#f4efe6;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px 20px;overflow:hidden;background:var(--bg)}
.vid{position:absolute;inset:-12%;background:radial-gradient(70% 60% at 28% 30%,#2f6350 0%,transparent 62%),radial-gradient(60% 55% at 78% 72%,#9a6416 0%,transparent 65%),radial-gradient(50% 40% at 60% 20%,#3b4f6a 0%,transparent 70%),#0d1615;animation:drift 22s ease-in-out infinite alternate}
.vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@keyframes drift{from{transform:scale(1) translate(0,0)}to{transform:scale(1.12) translate(-2%,2%)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(13,22,21,.55),rgba(13,22,21,.15) 40%,rgba(13,22,21,.7))}
.hero>*{position:relative;z-index:2}
.hero>.vid{position:absolute;z-index:0}
#ink{width:min(94vw,860px);height:auto;overflow:visible}
#ink text{font-family:'Pinyon Script',cursive;font-size:150px}
.hline{max-width:36ch;margin:4px auto 18px;font-size:clamp(16px,4vw,20px);line-height:1.5;font-weight:300;color:rgba(244,239,230,.86);transition:opacity .7s,transform .7s}
.tags{display:flex;gap:10px;justify-content:center;margin-bottom:20px;transition:opacity .7s}
.tags a{background:rgba(255,255,255,.10);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(244,239,230,.35);border-radius:999px;padding:7px 16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.tags a:hover{border-color:var(--gold);color:var(--gold)}
.hbtn{display:inline-block;background:var(--gold);color:#1a1408;font-weight:500;padding:15px 30px;border-radius:999px;font-size:15px;transition:opacity .7s,transform .7s}
.hide{opacity:0;transform:translateY(8px)}
.dashes{position:absolute!important;bottom:34px;left:0;right:0;display:flex;gap:8px;justify-content:center;z-index:3}
.dashes button{width:34px;height:3px;border:0;border-radius:2px;background:rgba(244,239,230,.3);cursor:pointer;padding:0}
.dashes button.on{background:var(--gold)}
.tabs{display:none}
.scrollcue{position:absolute!important;bottom:10px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,239,230,.5);z-index:3}

/* sections */
.s{position:relative;z-index:2;padding:0}
.wrap{max-width:1240px;margin:0 auto;padding:0 18px}
.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--goldd);margin-bottom:8px}
h2.ty{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(34px,8vw,58px);line-height:1.08;min-height:1.1em}
.sub{color:var(--soft);font-weight:300;margin-top:10px;max-width:46ch;line-height:1.55}
.caret{display:inline-block;width:2px;height:.82em;background:var(--gold);margin-left:4px;vertical-align:-.04em;animation:bl 1s steps(1) infinite}
@keyframes bl{50%{opacity:0}}
.head{margin-bottom:0}

/* stage */
.stage{position:fixed;inset:0;z-index:0;pointer-events:none;background:#0d1615}
.stage div{position:absolute;inset:-6%;opacity:0;transition:opacity 1.5s ease;background-size:cover;background-position:center}
.stage div.on{opacity:1;animation:kb 24s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1) translate(0,0)}to{transform:scale(1.1) translate(-1.5%,1.5%)}}
.band{position:relative;min-height:40svh;display:flex;align-items:flex-end;padding:96px 0 30px;color:#fff}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,14,13,.74),rgba(8,14,13,.1) 70%,rgba(8,14,13,.32))}
.band>*{position:relative;width:100%}
.band .eyebrow{color:var(--gold)}
.band h2.ty{color:#fff}
.band h2.ty::after{content:"";display:block;height:2px;width:0;background:var(--gold);margin-top:12px;transition:width .9s ease .2s}
.band h2.ty.done::after{width:68px}
.band .eyebrow,.band .sub{opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform .8s ease}
.band .sub{color:rgba(255,255,255,.88);transition-delay:.7s}
.band.in .eyebrow,.band.in .sub{opacity:1;transform:none}
.panel{position:relative;border-top:1px solid rgba(255,255,255,.35);background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:28px 28px 0 0;padding:34px 0 60px;margin-top:-1px;box-shadow:0 -18px 40px rgba(0,0,0,.18)}
.panel.alt{background:var(--panel2)}
.panel.sand{background:var(--panel3)}
.guide{background:transparent}

/* filters */
.fchips{display:flex;gap:8px;flex-wrap:wrap}
.fchips button{font:inherit;font-size:13px;padding:7px 15px;border-radius:999px;border:1px solid var(--line);background:var(--glassb);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--ink);cursor:pointer}
.fchips button.on{background:var(--gold);color:#1a1408;border-color:var(--gold)}
.gone{display:none!important}

/* packages */
.deck{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 18px 10px;scrollbar-width:none}
.deck::-webkit-scrollbar{display:none}
.pk{position:relative;flex:0 0 78%;height:470px;border-radius:18px;overflow:hidden;scroll-snap-align:center;color:#fff;background:#222}
.phs>div{position:absolute;inset:0;opacity:0;transition:opacity 1.3s ease,transform 6s ease}
.phs>div.on{opacity:1;transform:scale(1.06)}
.pk::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,14,13,.86),rgba(8,14,13,.05) 58%);pointer-events:none}
.pk.cta::after{display:none}
.days{position:absolute;top:14px;left:14px;z-index:3;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px)}
.badge{-webkit-backdrop-filter:blur(6px);position:absolute;top:14px;right:14px;z-index:3;font-size:11px;padding:6px 12px;border-radius:999px;background:var(--gold);color:#1a1408;font-weight:500}
.bars{position:absolute;top:0;left:14px;right:14px;display:flex;gap:4px;z-index:4;padding-top:6px}
.bars span{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.3)}
.bars span.on{background:#fff}
.vt{display:none}
.full{position:absolute;left:16px;right:16px;bottom:18px;z-index:3}
.full h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:32px;line-height:1.05;color:#fff}
.hook{font-weight:300;color:rgba(255,255,255,.82);margin:6px 0 12px;font-size:15px}
.hl{display:none}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.price{font-size:21px;font-weight:500;color:var(--gold)}
.price small{font-size:12px;color:rgba(255,255,255,.7);font-weight:300;margin-left:3px}
.go{width:44px;height:44px;border-radius:50%;background:#fff;color:#1a1408;display:grid;place-content:center;font-size:18px;flex:none}
.gob,.wa{display:none}
.pk.cta{background:var(--gold);color:#1a1408}
.pk.cta .full{top:50%;bottom:auto;transform:translateY(-50%)}
.pk.cta h3{color:#1a1408}
.pk.cta .hook{color:rgba(26,20,8,.75)}
.pk.cta .ctab{display:inline-block;background:#1a1408;color:#f4efe6;padding:13px 22px;border-radius:999px;font-size:14px;font-weight:500}

/* day trips */
.dt{display:flex;flex-direction:column;gap:10px;padding:0 18px;max-width:1320px;margin:0 auto}
.dc{display:flex;gap:12px;background:var(--card);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:16px;overflow:hidden;align-items:stretch}
.dph{flex:0 0 108px;min-height:112px;position:relative;overflow:hidden;display:block}
.dph i{position:absolute;inset:0;transition:transform .8s ease}
.dbody{flex:1;padding:12px 12px 12px 0;display:flex;flex-direction:column;justify-content:center;min-width:0}
.dbody h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:22px;line-height:1.1}
.dmeta{font-size:12px;color:var(--soft);margin:3px 0 8px}
.drow{display:flex;justify-content:space-between;align-items:center;gap:8px}
.dprice{font-weight:500;color:var(--goldd);font-size:17px}
.dprice small{font-size:11px;color:var(--soft);font-weight:300;margin-left:3px}
.dgo{font-size:13px;border-bottom:1px solid currentColor;color:var(--ink)}
.more{display:inline-block;margin-top:14px;font-size:14px;color:var(--goldd);border-bottom:1px solid currentColor}

/* reviews */
.rv{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 18px 10px;scrollbar-width:none}
.rv::-webkit-scrollbar{display:none}
.rc{flex:0 0 82%;scroll-snap-align:center;background:var(--card);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow);border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.rph{height:180px}
.rb{padding:16px}
.stars{color:var(--goldd);letter-spacing:3px;font-size:15px}
.rb p{font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1.35;margin:8px 0 12px;font-weight:500}
.who{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;font-size:13px;color:var(--soft)}
.who b{display:block;color:var(--ink);font-weight:500;font-size:14px}
.chip{font-size:11px;padding:3px 9px;border-radius:999px;background:var(--chipwarm);color:var(--chipwarmt);white-space:nowrap}
.chip.ok{background:#e3f0e6;color:#1f5a33}

/* guide */
.gwrap{display:grid;gap:26px}
.gtop{display:flex;gap:16px;align-items:center}
.por{flex:0 0 112px;height:140px;border-radius:14px;background:linear-gradient(160deg,#e6b04f,#a97612);display:grid;place-content:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(26,20,8,.6);text-align:center}
.gname{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600;line-height:1}
.gmeta{font-size:13px;color:var(--soft);margin:4px 0 10px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:var(--chip);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.gq{font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1.35;margin:16px 0 4px;font-weight:500}
.pastlabel{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--goldd);margin-bottom:10px}
.ps{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -18px;padding:0 18px}
.ps::-webkit-scrollbar{display:none}
.pt{flex:0 0 138px;height:176px;border-radius:14px;scroll-snap-align:start;position:relative}
.pt span{position:absolute;left:10px;bottom:10px;font-size:12px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.wabtn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:#1a1408;border-radius:999px;padding:15px 22px;font-weight:500;margin-top:20px}

/* footer */
.site-footer{position:relative;z-index:2;background:var(--bg);color:#d9d3c7}
.fcta{padding:64px 20px;text-align:center;background:radial-gradient(70% 120% at 50% 0%,#1f3d33,transparent 70%)}
.fcta h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(34px,8vw,56px);color:#f4efe6;line-height:1.08}
.fcta p{margin:10px auto 22px;max-width:40ch;font-weight:300}
.walink{display:inline-block;margin-top:6px;color:var(--gold);border-bottom:1px solid currentColor;font-size:14px}
.fform{display:flex;flex-direction:column;gap:10px;max-width:420px;margin:0 auto 14px;text-align:left}
.fform input[type=text],.fform input[type=email],.fform textarea{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:14px 16px;border-radius:12px;border:1px solid rgba(244,239,230,.25);background:rgba(244,239,230,.06);color:#f4efe6;font:inherit;font-size:15px;width:100%}
.fform input::placeholder{color:rgba(244,239,230,.5)}
.fform .pill{border:0;font:inherit;font-weight:500;padding:14px;cursor:pointer;font-size:15px}
.fform .pill[disabled]{opacity:.6;cursor:wait}
.fmsg{font-size:14px;min-height:1.4em;text-align:center;color:var(--gold)}
.fmsg.err{color:#f3a79b}
.fmsg a{text-decoration:underline}
.fcols{display:grid;grid-template-columns:1fr 1fr;gap:28px 18px;padding:40px 18px;max-width:1240px;margin:0 auto;border-top:1px solid rgba(244,239,230,.12)}
.fcols h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-weight:500}
.fcols ul{list-style:none}
.fcols li{font-size:14px;margin-bottom:8px;color:#bfb9ac}
.fcols a:hover{color:var(--gold)}
.fbrand{grid-column:1/-1}
.fbrand p{font-size:14px;color:#bfb9ac;max-width:34ch;margin-top:8px}
.fbase{padding:20px 18px 54px;text-align:center;font-size:12px;color:#8f9a94;border-top:1px solid rgba(244,239,230,.1)}
.social{display:flex;gap:10px;justify-content:center;margin-bottom:12px}
.social a{width:34px;height:34px;border:1px solid rgba(244,239,230,.25);border-radius:50%;display:grid;place-content:center;font-size:12px}
.social a:hover{border-color:var(--gold);color:var(--gold)}
.wafloat{position:fixed;right:14px;bottom:18px;z-index:70;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-content:center;font-weight:600;font-size:12px;box-shadow:0 6px 18px rgba(0,0,0,.3)}

/* inner pages */
.inner{background:transparent;position:relative;z-index:2;min-height:70vh}
body.is-inner{background:var(--bg)}
.pagebg{position:fixed;inset:0;z-index:0;overflow:hidden;background-color:#0d1615;background-size:cover;background-position:center;pointer-events:none}
.pagebg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pagebg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,12,12,.55),rgba(8,12,12,.25) 40%,rgba(8,12,12,.6))}
.pagebg.pb-default:not([style]){background-image:radial-gradient(70% 60% at 28% 30%,#2f6350,transparent 62%),radial-gradient(60% 55% at 78% 72%,#9a6416,transparent 65%)}
.pagebg.pb-trips:not([style]){background-image:radial-gradient(70% 60% at 30% 30%,#6b8f3a,transparent 62%),radial-gradient(60% 55% at 78% 72%,#b9791f,transparent 65%)}
.pagebg.pb-lodges:not([style]){background-image:radial-gradient(70% 60% at 30% 30%,#8a5a2b,transparent 62%),radial-gradient(60% 55% at 75% 70%,#3b2a1a,transparent 65%)}
.pagebg.pb-destinations:not([style]){background-image:radial-gradient(70% 60% at 30% 30%,#2c4a6e,transparent 62%),radial-gradient(60% 55% at 75% 70%,#1c7f8a,transparent 65%)}
.pagebg.pb-daytrips:not([style]){background-image:radial-gradient(70% 60% at 30% 30%,#a2451d,transparent 62%),radial-gradient(60% 55% at 75% 70%,#e7b552,transparent 65%)}
.inner .prose,.inner .notfound,.inner .nonefound,.inner .gal{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid rgba(255,255,255,.28);border-radius:20px;padding:24px;box-shadow:var(--shadow)}
.inner .gal{padding:8px}
.inner .notfound{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.inner .hlist li{color:var(--ink)}
.ihead{background:transparent;color:#fff;padding:130px 0 30px;position:relative;z-index:2;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.ihead>*{position:relative}
.ihead h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(36px,8vw,64px);line-height:1.08}
.ihead h1.done::after{content:"";display:block;height:2px;width:68px;background:var(--gold);margin-top:12px}
.ihead .lead{margin-top:10px;font-weight:300;font-size:18px;color:rgba(255,255,255,.88);max-width:52ch}
.ibody{padding:36px 0 70px}
.prose{max-width:760px;font-size:17px;line-height:1.7}
.prose p,.prose ul,.prose ol{margin-bottom:1.1em}
.prose h2,.prose h3{font-family:'Cormorant Garamond',serif;line-height:1.15;margin:1.4em 0 .5em}
.prose ul,.prose ol{padding-left:1.3em}
.prose a{color:var(--goldd);border-bottom:1px solid currentColor}
.tgrid{display:grid;gap:16px;grid-template-columns:1fr}
.tcard{background:var(--card);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:block}
.tcard .tph{height:200px;background-size:cover;background-position:center}
.tcard .tb{padding:14px 16px 18px}
.tcard h3{font-family:'Cormorant Garamond',serif;font-size:26px;line-height:1.1}
.tcard .dmeta{margin:4px 0 8px}
.tcard .dprice{font-size:18px}
.sgrid{display:grid;gap:36px;grid-template-columns:1fr}
.sidebox{background:rgba(13,22,21,.72);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid rgba(244,239,230,.14);box-shadow:var(--shadow);color:#e9e4da;border-radius:18px;padding:22px}
.sidebox h3{font-family:'Cormorant Garamond',serif;font-size:28px;color:#fff;line-height:1.1;margin-bottom:6px}
.sidebox .price{display:block;margin-bottom:14px}
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:26px}
.gal img{width:100%;height:100%;object-fit:cover;border-radius:12px;aspect-ratio:4/3}
.gal img:first-child{grid-column:1/-1;aspect-ratio:16/9}
.hlist{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0}
.hlist li{font-size:13px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--glassb)}
.pager{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap}
.pager a,.pager span{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--glassb);font-size:14px}
.pager .current{background:var(--gold);color:#1a1408;border-color:var(--gold)}
.notfound{text-align:center;padding:40px 0}

@media (min-width:600px){
 .tgrid{grid-template-columns:repeat(2,1fr)}
}

@media (min-width:900px){
 .site-header{padding:18px 40px}
 nav#nav{display:flex}
 .burger{display:none}
 .hero{padding:110px 60px}
 .tabs{display:flex;flex-direction:column;gap:14px;position:absolute!important;right:44px;top:50%;transform:translateY(-50%);z-index:3;text-align:right}
 .tabs button{background:none;border:0;color:rgba(244,239,230,.55);font:inherit;font-size:13px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:4px 0;border-right:2px solid transparent;padding-right:12px}
 .tabs button.on{color:#f4efe6;border-right-color:var(--gold)}
 .band{min-height:44svh;padding:120px 0 40px}
 .panel{padding:64px 0 96px;border-radius:40px 40px 0 0}
 .wrap{padding:0 40px}
 .head{margin-bottom:0}
 .panel>.wrap:first-child{margin-bottom:22px!important}
 .deck{overflow:visible;padding:0 40px;max-width:1320px;margin:0 auto;gap:10px;scroll-snap-type:none}
 .pk{flex:1 1 0;height:580px;transition:flex .7s cubic-bezier(.2,.7,.2,1);cursor:pointer}
 .pk.active{flex:4.4}
 .bars{display:none}
 .vt{display:block;position:absolute;left:50%;bottom:26px;z-index:3;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;white-space:nowrap;transition:opacity .3s}
 .pk.active .vt{opacity:0}
 .full{left:30px;right:30px;bottom:30px;opacity:0;transform:translateY(14px);transition:opacity .5s .2s,transform .5s .2s;pointer-events:none}
 .pk.active .full{opacity:1;transform:none;pointer-events:auto}
 .pk.cta .full{transform:translateY(-50%)}
 .pk.cta.active .full{transform:translateY(-50%)}
 .full h3{font-size:46px}
 .hook{font-size:18px}
 .hl{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;list-style:none}
 .hl li{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(255,255,255,.10);font-size:13px;padding:6px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px}
 .price{font-size:26px}
 .go{display:none}
 .gob{display:inline-block;background:#fff;color:#1a1408;padding:12px 22px;border-radius:999px;font-size:14px;font-weight:500}
 .wa{display:inline-block;border:1px solid rgba(255,255,255,.6);padding:11px 20px;border-radius:999px;font-size:14px}
 .row{flex-wrap:wrap}
 .row .btns{display:flex;gap:10px}
 .pk.cta .vt{color:#1a1408}
 .pk.cta .full h3{font-size:40px}
 .dt{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:0 40px}
 .dc{flex-direction:column;gap:0}
 .dph{flex:none;height:220px;min-height:0}
 .dc:hover .dph i{transform:scale(1.07)}
 .dbody{padding:16px 16px 18px}
 .dbody h3{font-size:26px}
 .rv{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;padding:0 40px;max-width:1320px;margin:0 auto;gap:20px}
 .rc{flex:none}
 .rph{height:230px}
 .gwrap{grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
 .por{flex:0 0 150px;height:190px}
 .gname{font-size:42px}
 .ps{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:150px;gap:12px;margin:0;padding:0;overflow:visible}
 .pt{flex:none;height:auto}
 .pt:first-child{grid-row:span 2}
 .pt:nth-child(4){grid-column:span 2}
 .fcta{padding:96px 40px}
 .fform{max-width:520px}
 .fcols{grid-template-columns:1.4fr 1fr 1fr 1fr;padding:56px 40px}
 .fbrand{grid-column:auto}
 .wafloat{display:none}
 .tgrid{grid-template-columns:repeat(3,1fr)}
 .sgrid{grid-template-columns:1.6fr 1fr;align-items:start}
 .sidebox{position:sticky;top:100px}
 .ihead{padding:150px 0 40px}
}
@media (prefers-reduced-motion:reduce){
 .vid,.caret,.stage div.on{animation:none}
 html{scroll-behavior:auto}
}

/* theme switch */
.tswitch{width:34px;height:34px;border:1px solid rgba(244,239,230,.4);border-radius:50%;display:grid;place-content:center;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f4efe6;cursor:pointer;padding:0}
.tswitch:hover{border-color:var(--gold);color:var(--gold)}
.tswitch svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tswitch .moon{display:none}
:root[data-theme=dark] .tswitch .sun{display:none}
:root[data-theme=dark] .tswitch .moon{display:block}
.fform input[type=text]:focus,.fform input[type=email]:focus{outline:2px solid var(--gold);outline-offset:1px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 :root{--panel:rgba(255,255,255,.95);--panel2:rgba(255,255,255,.95);--panel3:rgba(255,255,255,.95);--card:#fff}
 :root[data-theme=dark]{--panel:rgba(11,16,16,.96);--panel2:rgba(11,16,16,.96);--panel3:rgba(11,16,16,.96);--card:#16231f}
 .site-header.solid,body.is-inner .site-header{background:rgba(13,22,21,.94)}
}
@media (max-width:899px){:root{--blur:blur(10px) saturate(1.2)}}
@media (prefers-reduced-transparency:reduce){
 :root{--panel:#fff;--panel2:#fff;--panel3:#fff;--card:#fff}
 :root[data-theme=dark]{--panel:#0b1010;--panel2:#0b1010;--panel3:#0b1010;--card:#16231f}
}

/* dedicated pages */
.ihd{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(28px,5vw,40px);color:#fff;margin:34px 0 14px;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.clist{list-style:none;padding:0!important;margin-top:18px}
.clist li{margin-bottom:10px}
.clist a,.clist span{display:flex;flex-wrap:wrap;gap:4px 12px;border-bottom:0!important;color:var(--ink)}
.clist b{min-width:84px;color:var(--goldd);font-weight:500}
.rq{font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1.35;font-weight:500;margin:8px 0 12px}

/* destinations: picker, cards, dreams */
.pick{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:22px 0 20px;margin:0 0 26px;box-shadow:var(--shadow)}
.step{padding:0 18px;margin-bottom:24px}
.st{text-align:center;font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:4px}
.st b{color:var(--goldd);font-weight:500;margin-right:4px}
.ss{text-align:center;color:var(--soft);font-weight:300;font-size:14px;margin-bottom:14px}
.rail{position:relative}
.tiles{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px}
.tiles::-webkit-scrollbar{display:none}
.tile{position:relative;flex:0 0 64%;height:230px;border-radius:20px;overflow:hidden;border:2px solid transparent;cursor:pointer;scroll-snap-align:center;color:#fff;font:inherit;text-align:left;padding:0;background:#222;box-shadow:var(--shadow);transition:border-color .25s,transform .25s}
.tile .ph{position:absolute;inset:0;transition:transform 1.2s ease}
.tile:hover .ph{transform:scale(1.07)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,14,13,.82),rgba(8,14,13,.05) 62%)}
.tile .reg{position:absolute;top:12px;left:12px;z-index:3;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tile b{position:absolute;left:16px;right:16px;bottom:14px;z-index:3;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:28px;line-height:1.05}
.tile i{position:absolute;top:12px;right:12px;z-index:3;width:30px;height:30px;border:1.5px solid rgba(255,255,255,.7);border-radius:999px;display:grid;place-content:center;font-style:normal;font-size:14px;color:transparent;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tile.on{border-color:var(--gold)}
.tile.on i{background:var(--gold);border-color:var(--gold);color:#1a1408}
.arr{display:none}
.pick .chips{justify-content:center;flex-wrap:wrap}
.pick .chips button{font:inherit;font-size:13px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--glassb);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--ink);cursor:pointer}
.pick .chips button.on{background:var(--gold);color:#1a1408;border-color:var(--gold)}
.sum{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:16px 18px 0;margin-top:6px;border-top:1px solid var(--line);font-size:14px;color:var(--soft)}
.sum b{color:var(--ink);font-weight:500}
.clr{font:inherit;font-size:13px;background:none;border:0;border-bottom:1px solid currentColor;color:var(--goldd);cursor:pointer}
.rh{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(28px,5vw,40px);color:#fff;margin:6px 0 14px;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.rsub{color:rgba(255,255,255,.9);font-weight:300;margin:-6px 0 16px;text-shadow:0 2px 14px rgba(0,0,0,.4)}

.dg{display:grid;gap:14px;grid-template-columns:1fr;padding-bottom:40px}
.dd{position:relative;min-height:400px;border-radius:20px;overflow:hidden;color:#fff;display:flex;align-items:flex-end;box-shadow:var(--shadow);transition:opacity .4s,transform .4s}
.dd .ph{position:absolute;inset:0;transition:transform 1.2s ease}
.dd:hover .ph{transform:scale(1.07)}
.dd::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,14,13,.88),rgba(8,14,13,.05) 62%);pointer-events:none}
.dd.dim{opacity:.35;transform:scale(.985)}
.dd .reg{position:absolute;top:14px;left:14px;z-index:3;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.dd .now,.dd .match{position:absolute;top:14px;right:14px;z-index:3;font-size:11px;padding:6px 12px;border-radius:999px;background:var(--gold);color:#1a1408;font-weight:500;display:none}
.dd.fit .match{display:block}
.dd .in{position:relative;z-index:3;padding:18px;width:100%}
.dd h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:34px;line-height:1.05}
.dd .hook{font-weight:300;color:rgba(255,255,255,.85);margin:6px 0 8px;font-size:15px}
.dd .why{font-size:12px;color:rgba(255,255,255,.75);margin:0 0 10px}
.dd .why:empty{display:none}
.mo{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin-bottom:6px}
.mo i{height:6px;border-radius:2px;background:rgba(255,255,255,.22)}
.mo i.g{background:#7fd28a}.mo i.o{background:var(--gold)}.mo i.sel{outline:1.5px solid #fff;outline-offset:1px}
.mol{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.6);margin-bottom:12px}
.dd .meta{display:flex;justify-content:space-between;align-items:center;gap:10px}
.dd .trips{font-size:13px;color:rgba(255,255,255,.8)}
.dd .go{width:auto;height:auto;border-radius:999px;display:inline-block;background:#fff;color:#1a1408;padding:10px 18px;font-size:14px;font-weight:500}

.bl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:40px}
.bk{position:relative;min-height:150px;border-radius:16px;overflow:hidden;color:#fff;display:flex;align-items:flex-end;border:2px solid transparent;cursor:pointer;font:inherit;text-align:left;padding:0;box-shadow:var(--shadow)}
.bk .ph{position:absolute;inset:0;transition:transform .8s ease}.bk:hover .ph{transform:scale(1.07)}
.bk::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,14,13,.7),transparent 60%)}
.bk span{position:relative;z-index:2;padding:12px;font-size:15px;font-weight:500}
.bk i{position:absolute;top:10px;right:10px;z-index:2;width:26px;height:26px;border:1.5px solid rgba(255,255,255,.7);border-radius:999px;display:grid;place-content:center;font-style:normal;font-size:13px;color:transparent;background:rgba(255,255,255,.12)}
.bk.on{border-color:var(--gold)}.bk.on i{background:var(--gold);border-color:var(--gold);color:#1a1408}
.bk.big{grid-column:span 2;min-height:210px}.bk.big span{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600}

.why4{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:26px 20px;margin-bottom:26px;box-shadow:var(--shadow);text-align:center}
.why4 h4{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;margin:8px 0 4px}
.why4 p{font-size:13px;color:var(--soft);font-weight:300}
.ic{width:44px;height:44px;margin:0 auto;border:1.5px solid var(--gold);border-radius:50%;display:grid;place-content:center;color:var(--gold);font-size:18px}
.dcta{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:26px 20px;box-shadow:var(--shadow);display:grid;gap:18px}
.dcta h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(30px,6vw,44px);line-height:1.08}
.dcta p{color:var(--soft);font-weight:300;max-width:42ch;margin-top:6px}
.dcta .fform input[type=text]{color:var(--ink);border-color:var(--line);background:var(--glassb)}
.dcta .fform input::placeholder{color:var(--soft)}
.dcta .fmsg{color:var(--goldd)}

/* single destination */
.mwrap{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid rgba(255,255,255,.28);border-radius:20px;padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}
.tl2{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--goldd);margin-bottom:10px}
.mwrap .mo i{background:rgba(127,127,127,.28);height:10px}
.mwrap .mo i.g{background:#4fae5e}
.mwrap .mol{color:var(--soft)}
.legend{font-size:12px;color:var(--soft);display:flex;align-items:center;gap:6px}
.legend span{width:14px;height:6px;border-radius:2px;display:inline-block;margin-left:8px}
.legend span.o{background:var(--gold)}.legend span.g{background:#4fae5e}

@media (min-width:900px){
 .pick{padding:30px 0 26px}.step{padding:0 40px}
 .tile{flex:0 0 calc(25% - 8px);height:330px;scroll-snap-align:start}
 .tiles.five .tile{flex-basis:calc(20% - 8px)}
 .tile b{font-size:30px}
 .arr{display:grid;place-content:center;position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--glassb);color:var(--ink);cursor:pointer;z-index:4;font-size:16px}
 .arr.l{left:-18px}.arr.r{right:-18px}
 .dg{grid-template-columns:repeat(3,1fr);gap:16px}
 .dd{min-height:460px}.dd .in{padding:24px}.dd h3{font-size:40px}
 .bl{grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:10px}
 .bk{min-height:0}.bk.big{grid-column:span 2;grid-row:span 2}.bk.wide{grid-column:span 2}
 .why4{grid-template-columns:repeat(4,1fr);padding:34px}
 .dcta{grid-template-columns:1fr 1fr;align-items:center;padding:40px;gap:40px}
 .dcta .fform{max-width:none;margin:0}
}

/* month strips on other cards, home destinations row */
.tcard .mo i{background:rgba(127,127,127,.3);height:7px}
.tcard .mo i.g{background:#4fae5e}.tcard .mo i.o{background:var(--gold)}
.tcard .mol{color:var(--soft);margin-bottom:10px}
.full .mo{margin-top:2px}.full .mol{margin-bottom:12px}
.pk .full .hook{margin-bottom:8px}
.dg.home{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 18px 14px}
.dg.home::-webkit-scrollbar{display:none}
.dg.home .dd{flex:0 0 80%;scroll-snap-align:center}
@media (min-width:900px){
 .dg.home{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;max-width:1320px;margin:0 auto;padding:0 40px 24px}
 .dg.home .dd{flex:none}
}

/* month pop-up: hover on a mouse, touch and drag on a phone */
.mo{position:relative;cursor:crosshair;touch-action:none;-webkit-tap-highlight-color:transparent}
.mo::before{content:"";position:absolute;inset:-14px 0}
.mo i{transition:transform .15s,filter .15s}
.mo i.hot{transform:scaleY(2.1);filter:brightness(1.3)}
.mtip{position:fixed;z-index:200;max-width:260px;min-width:170px;padding:12px 14px;border-radius:14px;background:rgba(10,14,14,.78);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid rgba(255,255,255,.22);box-shadow:0 14px 34px rgba(0,0,0,.45);color:#f4efe6;font-size:13px;line-height:1.45;pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .15s,transform .15s}
.mtip.on{opacity:1;transform:none}
.mtip::after{content:"";position:absolute;left:var(--ax,50%);bottom:-6px;width:12px;height:12px;margin-left:-6px;background:rgba(10,14,14,.78);border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);transform:rotate(45deg)}
.mtip.below::after{bottom:auto;top:-6px;transform:rotate(225deg)}
.mtip b{display:block;font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;line-height:1.1;margin-bottom:4px}
.mtip .rt{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-bottom:6px;background:rgba(255,255,255,.14)}
.mtip .rt.p{background:var(--gold);color:#1a1408}
.mtip .rt.g{background:#4fae5e;color:#07200c}
.mtip p{white-space:pre-line;color:rgba(244,239,230,.92)}
.mtip p.dim{color:rgba(244,239,230,.6)}

/* ===== reveals ===== */
@keyframes rise{from{opacity:0;transform:translateY(28px) scale(.985)}to{opacity:1;transform:none}}
@keyframes failsafe{to{opacity:1}}
.rev .reveal{opacity:0;animation:failsafe 0s 4.5s forwards}
.rev .reveal.in{animation:rise .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)}

/* ===== focus ===== */
a:focus-visible,button:focus-visible,.tile:focus-visible,.bk:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}

/* ===== buttons: always-on polish ===== */
.pill,.hbtn,.wabtn,.ctab,.gob,.wa,.dd .go,.go{position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background-color .25s,color .25s,border-color .25s}
.pill::after,.hbtn::after,.wabtn::after,.ctab::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s ease;pointer-events:none}
.pill:active,.hbtn:active,.wabtn:active,.ctab:active,.gob:active,.wa:active,.go:active,.dgo:active{transform:scale(.96)}
.hbtn.pulse,.wafloat{animation:ring 3.2s ease-out infinite}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(217,164,65,.55)}70%,100%{box-shadow:0 0 0 18px rgba(217,164,65,0)}}
.wafloat{animation-name:ringg;transition:transform .25s}
@keyframes ringg{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6),0 6px 18px rgba(0,0,0,.3)}70%,100%{box-shadow:0 0 0 18px rgba(37,211,102,0),0 6px 18px rgba(0,0,0,.3)}}
/* arrows that point the way */
.more::after,.gob::after{content:" →";display:inline-block;transition:transform .25s}
.tcard h3::after,.dbody h3::after,.dd h3::after{content:"→";display:inline-block;margin-left:10px;font-family:'Jost',sans-serif;font-size:.7em;color:var(--gold);opacity:0;transform:translateX(-10px);transition:opacity .3s,transform .3s}
/* nav underline */
nav#nav a{position:relative}
nav#nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
/* cards: base transitions */
.dc,.rc,.tcard,.dd,.bk,.tile{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s,opacity .4s,background-color .35s}
.tcard .tph{transition:transform 1s ease}
.tcard{overflow:hidden}
.tcard .tph{overflow:hidden}

/* ===== hover (mouse only, so phones don't get stuck states) ===== */
@media (hover:hover){
 .pill:hover,.hbtn:hover,.wabtn:hover,.ctab:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(217,164,65,.45)}
 .pill:hover::after,.hbtn:hover::after,.wabtn:hover::after,.ctab:hover::after{left:130%}
 .ctab:hover{background:#000}
 .gob:hover{background:var(--gold);transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.35)}
 .gob:hover::after,.more:hover::after{transform:translateX(5px)}
 .wa:hover{background:rgba(255,255,255,.18);border-color:#fff;transform:translateY(-2px)}
 .go:hover{background:var(--gold);transform:scale(1.1) rotate(-8deg)}
 .dd .go:hover{background:var(--gold);transform:translateY(-2px);box-shadow:0 10px 22px rgba(217,164,65,.45)}
 .dgo{transition:color .25s,letter-spacing .25s}.dgo:hover{color:var(--goldd);letter-spacing:.04em}
 .more{transition:letter-spacing .25s}.more:hover{letter-spacing:.03em}
 .tags a{transition:all .25s}.tags a:hover{background:var(--gold);color:#1a1408;border-color:var(--gold);transform:translateY(-2px)}
 .fchips button,.pick .chips button,.dashes button{transition:transform .2s,background-color .2s,color .2s,border-color .2s}
 .fchips button:hover,.pick .chips button:hover{transform:translateY(-2px);border-color:var(--gold)}
 .dashes button:hover{background:rgba(244,239,230,.7)}
 .tabs button{transition:color .25s,padding-right .25s}.tabs button:hover{color:var(--gold);padding-right:18px}
 nav#nav a:hover::after{transform:scaleX(1)}
 .tswitch:hover{transform:rotate(25deg) scale(1.08)}
 .wafloat:hover{transform:scale(1.12)}
 .social a{transition:all .25s}.social a:hover{transform:translateY(-3px);background:var(--gold);color:#1a1408}
 .fcols a{transition:color .2s,padding-left .2s}.fcols a:hover{padding-left:4px}
 /* cards lift, glow and invite the click */
 .tcard:hover,.dc:hover,.rc:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,0,0,.28);border-color:rgba(217,164,65,.7)}
 .tcard:hover .tph{transform:scale(1.07)}
 .tcard:hover h3::after,.dc:hover h3::after,.dd:hover h3::after{opacity:1;transform:none}
 .dd:hover{transform:translateY(-8px);box-shadow:0 26px 52px rgba(0,0,0,.4),0 0 0 1.5px rgba(217,164,65,.8)}
 .dd.dim:hover{opacity:.75}
 .tile:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,0,0,.4)}
 .bk:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,0,0,.4)}
 .pt{transition:transform .4s,box-shadow .4s}.pt:hover{transform:scale(1.04);box-shadow:0 14px 30px rgba(0,0,0,.35);z-index:2}
 .why4>div{transition:transform .3s}.why4>div:hover{transform:translateY(-4px)}
 .why4>div:hover .ic{background:var(--gold);color:#1a1408}.ic{transition:background-color .3s,color .3s}
 .pk.cta:hover .ctab{transform:translateY(-3px)}
 .mo i:hover{filter:brightness(1.3)}
}
/* phones: press feedback instead of hover */
@media (hover:none){
 .tcard:active,.dc:active,.rc:active,.dd:active,.tile:active,.bk:active{transform:scale(.985)}
}
@media (prefers-reduced-motion:reduce){
 .rev .reveal{opacity:1;animation:none}
 .hbtn.pulse,.wafloat{animation:none}
 .tcard:hover,.dc:hover,.rc:hover,.dd:hover,.tile:hover{transform:none}
}
.hbtn{transition:opacity .7s,transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background-color .25s}

/* ---- trips filter bar ---- */
.tfilter{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:18px;padding:14px 16px 12px;margin-bottom:22px;box-shadow:var(--shadow)}
.tf-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tf-search{flex:1 1 220px}
.tf-search input{width:100%;font:inherit;font-size:15px;padding:11px 16px;border-radius:999px;border:1px solid var(--line);background:var(--glassb);color:var(--ink)}
.tf-search input:focus{outline:2px solid var(--gold);outline-offset:1px}
.tf-toggle,.tf-clear{font:inherit;font-size:13px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--glassb);color:var(--ink);cursor:pointer}
.tf-toggle b{font-weight:600;color:var(--gold)}
.tf-clear{border-color:var(--gold);color:var(--gold)}
.tf-groups{display:grid;gap:14px;margin-top:14px;grid-template-columns:1fr}
.tf-groups.shut{display:none}
.tf-l{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);margin-bottom:7px}
.tf-c{display:flex;flex-wrap:wrap;gap:7px}
.tf-c button{font:inherit;font-size:13px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--chip);color:var(--ink);cursor:pointer;transition:transform .2s,background-color .2s,border-color .2s}
.tf-c button small{margin-left:6px;opacity:.55;font-size:11px}
.tf-c button.on{background:var(--gold);border-color:var(--gold);color:#1a1408}
.tf-c button.on small{opacity:.75}
@media (hover:hover){.tf-c button:hover{transform:translateY(-2px);border-color:var(--gold)}}
.tf-count{margin:12px 2px 0;font-size:13px;color:var(--soft)}
.tf-none{text-align:center;padding:30px 10px}
.tf-none p{margin-bottom:14px}
@media (min-width:900px){.tf-groups{grid-template-columns:repeat(2,1fr);gap:16px 28px}}

/* long imported trip titles stay tidy */
.full h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.pk.cta .full h3{-webkit-line-clamp:unset;line-clamp:unset;display:block;overflow:visible}
.vt{max-height:470px;overflow:hidden;text-overflow:ellipsis}
@media (min-width:900px){.full h3{font-size:38px}.pk.cta .full h3{font-size:40px}}
.tcard h3,.dbody h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}

/* ---- no big glass slab behind the cards: just the photo and the cards ---- */
.panel,.panel.alt,.panel.sand{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:0;box-shadow:none;margin-top:0}
.stage::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(6,10,10,.30),rgba(6,10,10,.42));pointer-events:none}
/* things that used to sit on the slab now carry their own surface */
.more{background:var(--gold);color:#1a1408;border:0;border-radius:999px;padding:12px 22px;font-weight:500}
.adminnote{background:var(--glassb);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:14px;color:var(--ink);max-width:560px}

/* ---- every big container removed: only photo, titles and cards ---- */
.pick,.why4,.dcta,.mwrap,.tfilter,.panel.sand>.wrap{
  background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  --ink:#f4efe6;--soft:rgba(244,239,230,.82);--line:rgba(255,255,255,.28);--chip:rgba(14,20,20,.5);--glassb:rgba(14,20,20,.5);
  color:#f4efe6;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.pick,.why4,.dcta,.mwrap,.tfilter{padding-left:0;padding-right:0}
.pick button,.pick .tile,.tfilter button,.tfilter input,.dcta input,.dcta textarea,.dcta select,.dcta button,.mwrap button{text-shadow:none}
.tfilter input{background:rgba(14,20,20,.5);color:#f4efe6}
.tfilter input::placeholder{color:rgba(244,239,230,.6)}

/* ---- header: logo size, no wrapping, burger on narrower laptops ---- */
.logo{display:flex;align-items:center;flex:none}
.logo img,.logo .custom-logo{height:48px;width:auto;max-width:190px;max-height:none;object-fit:contain;background:rgba(255,255,255,.94);border-radius:12px;padding:3px 8px;box-shadow:0 4px 16px rgba(0,0,0,.25)}
nav#nav a,.pill{white-space:nowrap}
.hdr-r{flex:none}
@media (min-width:900px) and (max-width:1139px){
 nav#nav{display:none}
 .burger{display:grid}
}
@media (min-width:1140px) and (max-width:1320px){
 nav#nav,nav#nav ul{gap:18px}
 nav#nav{font-size:13px}
}
@media (max-width:899px){.logo img,.logo .custom-logo{height:40px;max-width:150px}}

/* ================= Safaris page ================= */
.thead{padding-bottom:36px}
.thead .eyebrow{color:var(--gold);margin-bottom:10px}
.tstats{display:flex;flex-wrap:wrap;gap:10px 34px;list-style:none;margin:26px 0 6px}
.tstats li{display:flex;flex-direction:column}
.tstats b{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,6vw,46px);line-height:1;color:var(--gold);font-weight:600}
.tstats span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-top:4px}
.tctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.tghost{display:inline-block;padding:10px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.55);color:#fff;font-size:14px;transition:background-color .25s,border-color .25s,transform .25s}
@media (hover:hover){.tghost:hover{background:rgba(255,255,255,.14);border-color:#fff;transform:translateY(-3px)}}

.tcard.trip{position:relative;display:flex;flex-direction:column;padding:0;overflow:hidden}
.trip .tph{position:relative;display:block;height:270px;overflow:hidden;background:#1b2623}
.trip .tph img,.trip .tph .tnone{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.3s cubic-bezier(.2,.7,.2,1)}
.trip .tph img:nth-of-type(n+2){opacity:0}
.trip .tph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,14,13,.88),rgba(8,14,13,.12) 62%,rgba(8,14,13,.25));pointer-events:none}
.tdays{position:absolute;top:14px;left:14px;z-index:3;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(14,20,20,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.25)}
.tbadge{position:absolute;top:14px;right:14px;z-index:3;font-size:11px;font-weight:500;padding:6px 12px;border-radius:999px;background:var(--gold);color:#1a1408}
.tov{position:absolute;left:18px;right:18px;bottom:16px;z-index:3;color:#fff}
.tov h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:27px;line-height:1.06;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.45);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.tcard.trip{isolation:isolate}
.tdest{margin-top:6px;font-size:13px;letter-spacing:.03em;color:rgba(255,255,255,.88)}
.trip .tb{display:flex;flex-direction:column;gap:11px;padding:16px 18px 18px;flex:1}
.thook{font-weight:300;line-height:1.45;color:var(--soft);font-size:15px}
.tchips{display:flex;flex-wrap:wrap;gap:6px;list-style:none}
.tchips li{font-size:12px;padding:5px 11px;border-radius:999px;background:var(--chip);border:1px solid var(--line);color:var(--ink)}
.trip .mo{margin-top:2px}
.trow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:6px}
.trow .dprice.ask{font-size:15px;color:var(--soft)}
.tgo{font-size:14px;font-weight:500;color:var(--goldd);white-space:nowrap}
.tgo::after{content:" →";display:inline-block;transition:transform .3s}
.tcard.trip{overflow:hidden}

@media (hover:hover){
 .tcard.trip{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s,opacity .4s}
 .tcard.trip:hover{transform:translateY(-8px);box-shadow:0 26px 60px rgba(0,0,0,.4);border-color:var(--gold)}
 .tcard.trip:hover .tph img:first-of-type,.tcard.trip:hover .tph .tnone{transform:scale(1.09)}
 .tcard.trip:hover .tph img:nth-of-type(n+2){animation:xf 7.5s ease-in-out infinite}
 .tcard.trip:hover .tph img:nth-of-type(3){animation-delay:2.5s}
 .tcard.trip:hover .tph img:nth-of-type(2){animation-delay:5s}
 .tcard.trip:hover .tgo::after{transform:translateX(6px)}
 .tcard.trip:hover .tgo{color:var(--gold)}
}
@keyframes xf{0%{opacity:0}12%{opacity:1}45%{opacity:1}57%{opacity:0}100%{opacity:0}}
@media (hover:none){.tcard.trip:active{transform:scale(.985)}}

/* featured trip: wide on desktop */
@media (min-width:1000px){
 .tgrid .tcard.feat{grid-column:span 2}
 .tgrid .tcard.feat .tph{height:100%;min-height:440px;flex:1}
 .tgrid .tcard.feat .tov h3{font-size:44px;-webkit-line-clamp:2;line-clamp:2}
 .tgrid .tcard.feat .tdest{font-size:15px}
 .tgrid .tcard.feat{display:grid;grid-template-columns:1.25fr 1fr}
 .tgrid .tcard.feat .tb{justify-content:center;padding:26px 26px 28px}
 .tgrid .tcard.feat .thook{font-size:18px}
 .tgrid.filtered .tcard.feat{grid-column:auto;display:flex}
 .tgrid.filtered .tcard.feat .tph{height:270px;min-height:0;flex:none}
 .tgrid.filtered .tcard.feat .tov h3{font-size:27px}
}

/* "we will build it" card */
.tcta{background:var(--gold);color:#1a1408;border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;justify-content:center;gap:12px;min-height:270px}
.tcta h3{font-family:'Cormorant Garamond',serif;font-size:34px;line-height:1.05;font-weight:600;color:#1a1408}
.tcta p{font-weight:400;line-height:1.5;color:rgba(26,20,8,.82)}
.tbtn{align-self:flex-start;background:#1a1408;color:#f4efe6;padding:13px 22px;border-radius:999px;font-size:14px;font-weight:500;transition:transform .25s,box-shadow .25s}
.tlink{align-self:flex-start;font-size:14px;border-bottom:1px solid currentColor;color:#1a1408}
@media (hover:hover){.tbtn:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.35)}}
@media (min-width:1000px){.tgrid:not(.filtered) .tcard.feat .trow{margin-top:10px}.tgrid:not(.filtered) .tcard.feat .tb{gap:16px}}

/* ===== 1.0.8 Safaris: cover cards, filter sheet, mobile bar ===== */
.crumb{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(244,239,230,.75);margin:0 0 10px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.crumb a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(244,239,230,.35)}.crumb span{margin:0 4px;color:var(--gold)}
.tgrid{gap:34px 22px;grid-template-columns:1fr}
@media (min-width:700px){.tgrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.tgrid{grid-template-columns:repeat(3,1fr)}}
.tcard.cover{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;overflow:visible;display:flex;flex-direction:column;gap:14px;color:#f4efe6;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.cv{position:relative;display:block;aspect-ratio:4/5;border-radius:18px;overflow:hidden;isolation:isolate;box-shadow:0 18px 44px rgba(0,0,0,.4);color:#fff;text-decoration:none;background:#1c2a26}
.cv-bg,.cv-bg img,.cv-bg i{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cv-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.05) 40%,rgba(0,0,0,.6))}
.cv-frame{position:absolute;inset:7% 7% 25%;border:7px solid #fff;border-radius:6px;overflow:hidden;background:#222;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.cv-frame img,.cv-frame i{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cv-frame img:nth-of-type(n+2){opacity:0}
.cv-badge{position:absolute;top:4%;right:4%;width:74px;height:74px;border-radius:50%;background:#fff;color:#1b2523;display:grid;place-content:center;text-align:center;font:700 10px/1.15 'Jost',sans-serif;letter-spacing:.05em;text-transform:uppercase;padding:8px;text-shadow:none;box-shadow:0 6px 18px rgba(0,0,0,.35);z-index:2;transform:rotate(8deg)}
.cv-big{position:absolute;left:8%;right:8%;bottom:6%;z-index:2;font:800 clamp(34px,9vw,54px)/.95 'Jost',sans-serif;text-transform:uppercase;letter-spacing:.01em;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.55)}
.cv-big b{color:var(--gold)}
.cv-big small{display:block;margin-top:8px;font:600 13px/1.2 'Jost',sans-serif;letter-spacing:.16em;text-transform:uppercase;opacity:.92}
.cv-info{padding:0 4px}
.cv-days{font-size:11.5px;letter-spacing:.14em;color:var(--gold);margin:0 0 6px;font-weight:600}
.tcard.cover h3{font-size:27px;margin:0 0 6px;-webkit-line-clamp:3;line-clamp:3}
.tcard.cover h3 a{color:#fff;text-decoration:none}
.tcard.cover .thook{margin:0 0 8px;opacity:.9;font-size:15px}
.tcard.cover .trow{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tcard.cover .dprice{font-size:18px;color:#fff}.tcard.cover .dprice small{display:block;font-size:11px;opacity:.75;letter-spacing:.06em}
.tcard.cover .tgo{color:var(--gold);text-decoration:none;font-weight:600;border-bottom:1px solid currentColor}
.tcard.cover .tgo::after{content:" →"}
@media (hover:hover){
 .tcard.cover:hover{transform:none;box-shadow:none;border-color:transparent}
 .cv{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
 .tcard.cover:hover .cv{transform:translateY(-6px);box-shadow:0 28px 60px rgba(0,0,0,.5)}
 .tcard.cover:hover .cv-frame img:nth-of-type(n+2){animation:xf 7.5s ease-in-out infinite}
 .tcard.cover:hover .cv-frame img:nth-of-type(3){animation-delay:2.5s}
 .tcard.cover:hover .cv-frame img:nth-of-type(2){animation-delay:5s}
}
@media (hover:none){.tcard.cover:active .cv{transform:scale(.985)}}

/* filter: button row, collapsed by default */
.tf-top{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tf-toggle::before{content:"";display:inline-block;width:16px;height:16px;margin-right:8px;vertical-align:-3px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h10M18 6h2M4 12h2M10 12h10M4 18h12M20 18h0'/%3E%3Ccircle cx='16' cy='6' r='2'/%3E%3Ccircle cx='8' cy='12' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h10M18 6h2M4 12h2M10 12h10M4 18h12M20 18h0'/%3E%3Ccircle cx='16' cy='6' r='2'/%3E%3Ccircle cx='8' cy='12' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E") center/contain no-repeat}
.tf-back,.tf-sh,.tf-sd{display:none}
@media (max-width:760px){
 .tf-groups{position:fixed;left:0;right:0;bottom:0;z-index:120;max-height:82vh;max-height:82dvh;overflow:auto;margin:0;padding:0 18px 18px;background:#14201d;color:#f4efe6;border-radius:22px 22px 0 0;box-shadow:0 -20px 60px rgba(0,0,0,.6);transform:translateY(0);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
 .tf-groups.shut{display:grid;transform:translateY(105%);visibility:hidden;transition:transform .35s,visibility 0s .35s}
 .tf-sh{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#14201d;padding:16px 0 10px;z-index:1}
 .tf-sh b{font-size:18px}.tf-sh button{background:none;border:0;color:inherit;font-size:30px;line-height:1;padding:0 4px}
 .tf-sd{display:flex;gap:14px;align-items:center;position:sticky;bottom:0;background:#14201d;padding:12px 0 calc(4px + env(safe-area-inset-bottom))}
 .tf-sd .tbtn{flex:1}.tf-clear2{background:none;border:0;color:var(--gold);text-decoration:underline;font:inherit}
 .tf-back{display:block;position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .3s}
 body.tf-open .tf-back{opacity:1;pointer-events:auto}
 body.tf-open{overflow:hidden}
}

/* mobile bottom bar */
.mbar{display:none}
@media (max-width:760px){
 .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;align-items:center;justify-content:space-around;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(14,22,20,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.1)}
 .mbar a{display:flex;flex-direction:column;align-items:center;gap:3px;color:rgba(244,239,230,.75);text-decoration:none;font-size:11px;letter-spacing:.06em;min-width:72px}
 .mbar a.on{color:var(--gold)}
 .mbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .mbar .mgo{background:var(--gold);color:#1b2523;font-weight:700;font-size:13px;padding:12px 20px;border-radius:999px;min-width:0;flex-direction:row}
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .wafloat{bottom:calc(84px + env(safe-area-inset-bottom))}
}
@media (max-width:760px){body.tf-open .mbar,body.tf-open .wafloat{visibility:hidden}}
.tf-sd .tbtn{background:var(--gold);color:#1b2523;border:0;border-radius:999px;padding:14px 22px;font-weight:700;text-shadow:none}
.tcard.cover .thook{color:rgba(244,239,230,.88)}
.tcard.cover .dprice small{color:rgba(244,239,230,.75);padding:0}
.tcard.cover .tgo::after{content:none}

/* ===== 1.0.13 Kilimanjaro & treks hub ===== */
.pagebg.pb-treks:not([style]){background-image:radial-gradient(70% 60% at 30% 30%,#3f5f7a,transparent 62%),radial-gradient(60% 55% at 75% 70%,#e0b26a,transparent 65%)}
.trek-hub .ibody{padding-top:8px;color:#f4efe6;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.jump{position:sticky;top:76px;z-index:60;background:rgba(10,16,15,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1)}
.jump .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:8px;padding-bottom:8px}
.jump a{flex:none;color:#f4efe6;text-decoration:none;font-size:13px;letter-spacing:.06em;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);text-shadow:none;transition:background .25s,color .25s}
.jump a:hover,.jump a:focus-visible{background:var(--gold);color:#1b2523;border-color:var(--gold)}
.tsec{padding:46px 0 10px;scroll-margin-top:120px}
.tsh{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(30px,5vw,46px);line-height:1.08;color:#fff;margin:0 0 10px}
.tsh.sm{font-size:clamp(26px,4vw,34px);margin:46px 0 18px}
.tsl{max-width:62ch;color:rgba(244,239,230,.88);font-size:17px;margin:0 0 26px}
.fine{font-size:13px;color:rgba(244,239,230,.75);margin-top:12px;max-width:70ch}
.rgrid,.ogrid{margin-top:6px}
.rcard .cv-big{font-size:clamp(28px,7vw,40px)}
.rcard .cv-big small,.ocard .cv-big small{letter-spacing:.12em}
.rb{margin:0 0 10px;color:rgba(244,239,230,.92);font-size:15px;line-height:1.55}
.rf{font-size:14px;margin:10px 0 0;color:rgba(244,239,230,.88)}.rf b{color:var(--gold);font-weight:600;margin-right:4px}
.rm{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.rm li{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.04em;color:rgba(244,239,230,.85)}
.meter{display:inline-flex;gap:3px}.meter i{width:11px;height:7px;border-radius:3px;background:rgba(255,255,255,.22)}.meter i.on{background:var(--gold)}
.tcard.cover .tlink{color:rgba(244,239,230,.9);font-size:14px;text-decoration:none;border-bottom:1px dotted currentColor}
.tcard.cover .tlink:hover{color:var(--gold)}
.ocard h3{font-size:25px}
.tkw[hidden],.ocard[hidden]{display:none}
.trk-f{margin-bottom:22px}.tk-c{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tf-none{color:#f4efe6;text-align:center;padding:24px 0}

/* compare table */
.ctable{overflow-x:auto;border-radius:16px;border:1px solid rgba(255,255,255,.16);-webkit-overflow-scrolling:touch}
.ctable table{border-collapse:collapse;min-width:860px;width:100%;font-size:14px}
.ctable th,.ctable td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.1);color:#f4efe6;text-shadow:none}
.ctable thead th{font-family:'Cormorant Garamond',serif;font-size:20px;color:#fff;background:rgba(10,16,15,.6)}
.ctable tbody th{position:sticky;left:0;background:rgba(10,16,15,.82);font-weight:500;color:var(--gold);white-space:nowrap}
.ctable td{background:rgba(10,16,15,.34)}
.ctable tr:last-child td{font-size:13px;line-height:1.5}

/* lab */
.lab{padding-bottom:26px}
.ltabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:22px;padding-bottom:4px}
.ltabs button{flex:none;font:inherit;font-size:15px;color:#f4efe6;background:rgba(10,16,15,.5);border:1px solid rgba(255,255,255,.2);padding:11px 20px;border-radius:999px;cursor:pointer;text-shadow:none;transition:background .25s,color .25s,transform .2s}
.ltabs button.on{background:var(--gold);color:#1b2523;border-color:var(--gold);font-weight:600}
@media (hover:hover){.ltabs button:not(.on):hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}}
.lpane{display:none;animation:rise .45s both}.lpane.on{display:block}
.lcols{display:grid;gap:28px}@media (min-width:860px){.lcols{grid-template-columns:1.1fr 1fr;align-items:start}}
.lab h3,.lab h4{font-family:'Cormorant Garamond',serif;color:#fff;font-weight:600}
.lab h3{font-size:28px;margin:0 0 10px}.lab h4{font-size:23px;margin:26px 0 10px}
.lsteps{padding-left:1.2em;line-height:1.7}.lsteps li{margin-bottom:8px}
.qform{display:grid;gap:22px;max-width:880px}
.qform.tight{gap:14px;max-width:420px}
.qs{border:0;padding:0;margin:0;min-width:0}.qs legend{font-size:18px;font-weight:500;margin-bottom:10px;color:#fff;padding:0}
.qo{display:flex;flex-wrap:wrap;gap:8px}
.qc{position:relative;cursor:pointer}.qc input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}
.qc span{display:block;padding:11px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:rgba(10,16,15,.5);font-size:15px;line-height:1.3;text-shadow:none;transition:background .2s,border-color .2s,transform .2s}
.qc input:checked+span{background:var(--gold);color:#1b2523;border-color:var(--gold);font-weight:600}
.qc input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
@media (hover:hover){.qc:hover span{border-color:var(--gold);transform:translateY(-2px)}}
.qage,.qform label{display:grid;gap:6px;font-size:14px}.qform input[type=number],.lbar select{font:inherit;color:#f4efe6;background:rgba(10,16,15,.55);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:12px 14px;max-width:260px;text-shadow:none}
.qform .pill,.lacts .pill{justify-self:start;display:inline-block;padding:14px 26px;border:0;cursor:pointer;text-decoration:none}
.lout{margin-top:26px;padding-top:6px}
.lscore{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.ring{--p:50;width:112px;height:112px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--gold) calc(var(--p)*1%),rgba(255,255,255,.16) 0);position:relative;flex:none}
.ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#14201d}
.ring b,.ring small{position:relative;text-shadow:none}.ring b{font-size:34px;line-height:1;color:#fff}.ring small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,239,230,.75)}
.warn{padding:12px 16px;border-radius:12px;background:rgba(190,60,40,.32);border:1px solid rgba(255,140,120,.5);margin:14px 0;text-shadow:none}
.okmsg{padding:12px 16px;border-radius:12px;background:rgba(80,160,100,.28);border:1px solid rgba(140,220,160,.4);margin:14px 0;text-shadow:none}
.rlist{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.rlist li{padding:16px 0;border-top:1px solid rgba(255,255,255,.16)}
.rn{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}.rn b{font-size:21px;color:#fff;font-family:'Cormorant Garamond',serif}.rn span{font-size:13px;opacity:.8}
.rpct{position:relative;height:10px;border-radius:6px;background:rgba(255,255,255,.18);margin:10px 0 6px;overflow:visible}.rpct i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#b9791f,var(--gold))}.rpct em{position:absolute;right:0;top:-22px;font-style:normal;font-size:12px;letter-spacing:.06em}
.rlist p{margin:6px 0 8px;font-size:15px}
.plan{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.plan li{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}
.plan b{color:var(--gold);font-size:18px}.plan span{font-size:13px;opacity:.8;align-self:center}.plan p{grid-column:1/-1;margin:2px 0 0;font-size:15px}
.lacts{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;align-items:center}
.lbar{display:flex;gap:18px;flex-wrap:wrap;align-items:end;margin-bottom:20px}.lbar label{display:grid;gap:6px;font-size:14px}.lbar .chk{display:flex;align-items:center;gap:10px;padding-bottom:10px}
.lbar select{min-width:260px}
.altwrap{margin:10px 0 0;overflow-x:auto}.altsvg{width:100%;min-width:560px;height:auto;display:block}
.altsvg text{font-family:'Jost',sans-serif;text-shadow:none}
.al-g{stroke:rgba(255,255,255,.22);stroke-dasharray:4 5}.al-t{fill:rgba(244,239,230,.6);font-size:11px}
.al-v{fill:#fff;font-size:12px;font-weight:600}.al-l{fill:#f4efe6;font-size:11px;letter-spacing:.04em}.al-n{fill:rgba(244,239,230,.65);font-size:10px}
rect.al-b,.legend i.al-b{fill:#5aa874;background:#5aa874}rect.al-a,.legend i.al-a{fill:#e0a53a;background:#e0a53a}rect.al-r,.legend i.al-r{fill:#d2543f;background:#d2543f}
rect.al-d{fill:#3d6f7e}rect.al-x{fill:#7a9fd4}rect.al-s,.legend i.al-s{fill:#f4efe6;background:#f4efe6}
.al-hi{fill:var(--gold);stroke:#fff;stroke-width:1.5}.al-dash{stroke:var(--gold);stroke-dasharray:3 3}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;align-items:center;margin:14px 0}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-1px}.legend i.al-hi2{background:var(--gold);border-radius:50%}
.legend i.m4{background:#4fae5e}.legend i.m3{background:#a5c85a}.legend i.m2{background:#e0b441}.legend i.m1{background:#6b8fb0}
.jumps{list-style:none;padding:0;display:grid;gap:8px}.jumps li{padding:10px 14px;border-radius:12px;border-left:4px solid;background:rgba(10,16,15,.5);text-shadow:none}.jumps .amb{border-color:#e0a53a}.jumps .red{border-color:#d2543f}
.pbar{position:relative;height:36px;border-radius:999px;background:rgba(10,16,15,.55);border:1px solid rgba(255,255,255,.2);overflow:hidden;margin-bottom:20px}
.pbar i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#b9791f,var(--gold));transition:width .4s}.pbar span{position:relative;display:block;text-align:center;line-height:34px;font-size:14px;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.pgrid{display:grid;gap:22px 30px;grid-template-columns:1fr}@media (min-width:760px){.pgrid{grid-template-columns:1fr 1fr}}@media (min-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)}}
.pcat ul{list-style:none;padding:0;margin:0}.pcat li label{display:flex;gap:10px;align-items:flex-start;padding:7px 0;cursor:pointer;font-size:15px;line-height:1.4}.pcat input{margin-top:4px;accent-color:#d9a441;width:17px;height:17px;flex:none}
.pcat h4{margin:0 0 6px!important}
.mrow{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;align-items:end;height:130px;max-width:760px}
.mc{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;background:none;border:0;color:#f4efe6;font:inherit;font-size:12px;cursor:pointer;padding:0;text-shadow:none}
.mc i{display:block;width:100%;max-width:38px;border-radius:7px 7px 3px 3px;transition:transform .25s,filter .25s}
.mc.r4 i{background:#4fae5e}.mc.r3 i{background:#a5c85a}.mc.r2 i{background:#e0b441}.mc.r1 i{background:#6b8fb0}
.mc.on span{color:var(--gold);font-weight:700}.mc.on i{outline:2px solid #fff;outline-offset:2px}
@media (hover:hover){.mc:hover i{transform:translateY(-4px);filter:brightness(1.15)}}
.minfo{min-height:3.2em;margin:16px 0 0;font-size:17px}

/* operator checklist and faq */
.opcheck{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:0;max-width:860px}
.opcheck li{padding:14px 0 14px 34px;border-top:1px solid rgba(255,255,255,.16);position:relative;line-height:1.55}
.opcheck li::before{content:"✓";position:absolute;left:4px;top:13px;color:var(--gold);font-weight:700}
.opcheck b{display:block;color:#fff;font-weight:600}
.faq{max-width:860px}.faq details{border-top:1px solid rgba(255,255,255,.16);padding:14px 0}.faq summary{cursor:pointer;font-size:18px;font-weight:500;color:#fff;list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--gold);font-size:24px;line-height:1}.faq details[open] summary::after{content:"−"}
.faq p{margin:10px 0 0;line-height:1.65;color:rgba(244,239,230,.9)}
.trek-hub .clist.onsh a,.trek-hub .clist.onsh span{color:#f4efe6}.trek-hub .clist b{color:var(--gold)}
.trek-hub .sidebox .fmsg{text-shadow:none}
@media (max-width:760px){.jump{top:60px}.rm{grid-template-columns:1fr}.lscore{gap:14px}.ring{width:96px;height:96px}}

/* old Elementor pages shown inside our theme: keep the words readable on the photo */
body.page:not(.home):not(.trek-hub) .inner .elementor,
body.page:not(.home):not(.trek-hub) .inner .elementor *:not(a):not(.elementor-button):not(svg):not(path){color:#f4efe6!important;text-shadow:0 1px 10px rgba(0,0,0,.65)}
body.page:not(.home):not(.trek-hub) .inner .elementor a:not(.elementor-button){color:var(--gold)!important}
body.page:not(.home):not(.trek-hub) .inner .elementor .elementor-button{text-shadow:none}
body.page:not(.home) .pagebg::after{background:linear-gradient(to bottom,rgba(8,12,12,.72),rgba(8,12,12,.6) 45%,rgba(8,12,12,.8))}
.lab .tlink,.lab a.tlink{color:var(--gold);border-bottom:1px dotted currentColor;text-decoration:none;background:none;border-top:0;border-left:0;border-right:0;font:inherit;cursor:pointer;padding:0}
.rpct{margin:12px 0 28px}.rpct em{top:14px;right:auto;left:0}
.rcard .cv-frame,.ocard .cv-frame{inset:6% 7% 31%}
.rcard .cv-big{font-size:clamp(24px,6vw,32px);bottom:5%}.rcard .cv-big small{margin-top:6px;font-size:12px}

/* ===== Plan my trip ===== */
.plan{min-height:calc(100svh - 80px);display:flex;align-items:center;padding:120px 0 60px;color:#f4efe6;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.plan .wrap{width:100%}
.pw{position:relative;max-width:900px;margin:0 auto;text-align:center}
.pback{position:absolute;left:-6px;top:46%;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(10,16,15,.45);color:#fff;display:grid;place-content:center;cursor:pointer;text-shadow:none;transition:background .25s,transform .25s;z-index:2}
.pback:hover{background:var(--gold);color:#1b2523;transform:translateX(-3px)}
@media (max-width:1000px){.pback{position:static;margin:0 auto 14px 0;display:grid}}
.pscreen{animation:pin .5s cubic-bezier(.2,.7,.2,1) both}.pscreen.back{animation-name:pinb}
@keyframes pin{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:none}}@keyframes pinb{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pscreen{animation:none}}
.pkick{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.pctx{display:inline-block;margin:0 0 14px;padding:6px 14px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:13px}
.pq{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(34px,6vw,58px);line-height:1.05;color:#fff;margin:0 0 12px;outline:none}
.phint{max-width:56ch;margin:0 auto 26px;color:rgba(244,239,230,.88);font-size:17px}
.pbody{margin-top:26px}
.popts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto 6px;max-width:820px}
.popt{position:relative;cursor:pointer}.popt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.popt span{display:block;padding:14px 24px;border-radius:999px;border:1.5px solid rgba(255,255,255,.55);background:rgba(10,16,15,.4);font-size:15px;letter-spacing:.06em;text-transform:uppercase;text-shadow:none;transition:background .2s,color .2s,border-color .2s,transform .2s}
.popt input:checked+span{background:var(--gold);border-color:var(--gold);color:#1b2523;font-weight:700}
.popt input:focus-visible+span{outline:2px solid #fff;outline-offset:3px}
@media (hover:hover){.popt:hover span{border-color:var(--gold);transform:translateY(-2px)}}
.plab{margin:26px 0 12px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,230,.85)}
.psteps{display:flex;gap:30px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.pstep{display:grid;gap:8px;justify-items:center;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.pstep div{display:flex;align-items:center;gap:16px}.pstep output{font-size:30px;min-width:1.6em;font-family:'Cormorant Garamond',serif;color:#fff}
.pstep button{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:rgba(10,16,15,.4);color:#fff;font-size:22px;cursor:pointer;text-shadow:none}
.pstep button:hover{background:var(--gold);color:#1b2523;border-color:var(--gold)}
.pdyn{margin-top:22px}.prow{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.pfield{display:grid;gap:6px;text-align:left;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0 auto 16px;width:100%;max-width:460px}
.prow .pfield{flex:1 1 200px;margin:0 0 16px}
.pfield input,.pfield select,.pfield textarea{font:inherit;font-size:17px;letter-spacing:0;text-transform:none;color:#f4efe6;background:rgba(10,16,15,.55);border:1px solid rgba(255,255,255,.4);border-radius:14px;padding:14px 16px;width:100%;text-shadow:none;color-scheme:dark}
.pfield textarea{max-width:none;min-height:150px;resize:vertical}
.pbody:has(textarea) .pfield{max-width:760px}
.pfield input:focus,.pfield select:focus,.pfield textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.pconsent{display:flex;gap:12px;align-items:flex-start;text-align:left;max-width:460px;margin:8px auto 0;font-size:15px;line-height:1.4;cursor:pointer}.pconsent input{margin-top:3px;width:18px;height:18px;accent-color:#d9a441;flex:none}
.perr{min-height:1.4em;margin:16px 0 0;color:#ffb4a4;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.7)}.perr a{color:var(--gold)}
.pnav{margin-top:16px}.pnext{padding:15px 38px;border:0;cursor:pointer;font-size:15px;letter-spacing:.1em;text-transform:uppercase}.pnext:disabled{opacity:.6;cursor:wait}
.pprog{max-width:720px;margin:46px auto 0;text-align:left;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.pprog div{height:8px;border-radius:6px;background:rgba(255,255,255,.22);margin-top:8px;overflow:hidden}
.pprog i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#b9791f,var(--gold));transition:width .6s cubic-bezier(.2,.7,.2,1)}
.psum{max-width:640px;margin:0 auto;text-align:left;display:grid;gap:0}
.psum>div{display:grid;grid-template-columns:120px 1fr auto;gap:4px 14px;padding:13px 0;border-top:1px solid rgba(255,255,255,.2);align-items:baseline}
.psum dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.psum dd{margin:0;font-size:16px;line-height:1.45;overflow-wrap:anywhere}
.psum .tlink{background:none;border:0;border-bottom:1px dotted currentColor;color:rgba(244,239,230,.85);font:inherit;font-size:14px;cursor:pointer;padding:0}
@media (max-width:560px){.psum>div{grid-template-columns:1fr auto}.psum dt{grid-column:1/-1}}
.pscreen.done .lacts{justify-content:center}.pscreen.done .pill{display:inline-block;padding:16px 32px;text-decoration:none}
.pfoot{text-align:center;margin:26px 0 0;font-size:13px;color:rgba(244,239,230,.75)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.plan-page .pagebg::after{background:linear-gradient(to bottom,rgba(8,12,12,.7),rgba(8,12,12,.55) 45%,rgba(8,12,12,.78))}
.pprog{margin-bottom:10px}.pfoot{margin-top:34px}

/* ===== 1.0.15 Day trips, and hardening against old Elementor styles ===== */
.tf-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tcard.cover.dcard .cv-big{font-size:clamp(30px,8vw,46px)}
.tcard.cover.dcard .cv-big small{font-size:12px}
.tcard.cover .thook{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
/* Elementor's global link and button colours must never reach our header, bar or floating buttons */
body #hdr nav#nav a,body #hdr .logo{color:#f4efe6!important}
body #hdr nav#nav a:hover{color:var(--gold)!important}
body #hdr .pill,body .mbar .mgo,body .tgo.pill{background:var(--gold)!important;color:#1a1408!important;border:0!important;text-shadow:none}
body #hdr .tswitch,body #hdr .burger{background:rgba(255,255,255,.1)!important;border:1px solid rgba(244,239,230,.4)!important;border-radius:50%!important;color:#f4efe6!important;box-shadow:none}
body #hdr .burger i{background:#f4efe6!important}
body .mbar a:not(.mgo){color:rgba(244,239,230,.8)!important}body .mbar a.on{color:var(--gold)!important}
body .wafloat{background:#25d366!important;color:#fff!important}
@media (max-width:760px){
 /* the cookie-settings button sits above the bottom bar instead of on top of it */
 .cky-btn-revisit-wrapper{bottom:calc(84px + env(safe-area-inset-bottom))!important;left:12px!important}
}

/* ===== 1.0.16 Single day trip ===== */
.dsingle{gap:28px}
.dmain{display:flex;flex-direction:column;gap:22px;min-width:0}
.dhero{margin:0;display:grid;gap:8px}
.dhero .dh-main{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}
.dhero .dh-t{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.dhero .dh-t img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.dfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0}
.dfacts div{background:rgba(13,22,21,.72);border:1px solid rgba(244,239,230,.14);border-radius:14px;padding:12px 14px}
.dfacts dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 4px}
.dfacts dd{margin:0;color:#f4efe6;font-size:15px;line-height:1.3}
.dsingle .dhl{margin:0}
.dsingle .dhl li{color:#f4efe6;background:rgba(13,22,21,.6);border-color:rgba(244,239,230,.2)}
.dprose,.dtime,.dcard2,.dcombo{color:#e9e4da}
.dprose h2,.dtime h2{font-family:'Cormorant Garamond',serif;font-size:32px;color:#fff;line-height:1.1;margin:0 0 10px}
.dprose{text-shadow:0 1px 10px rgba(0,0,0,.45)}
.dprose p{line-height:1.7;margin:0 0 12px}
.dtime ol{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid rgba(217,164,65,.5);display:grid;gap:12px}
.dtime li{position:relative;background:rgba(13,22,21,.72);border:1px solid rgba(244,239,230,.14);border-radius:14px;padding:12px 16px;display:flex;gap:14px;align-items:baseline}
.dtime li:before{content:"";position:absolute;left:-26px;top:18px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(217,164,65,.25)}
.dtime li b{color:var(--gold);font-weight:600;min-width:62px;white-space:nowrap}
.dtime li span{color:#f4efe6;line-height:1.5}
.dlists{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.dcard2{background:rgba(13,22,21,.72);border:1px solid rgba(244,239,230,.14);border-radius:16px;padding:18px 20px}
.dcard2 h3{font-family:'Cormorant Garamond',serif;font-size:26px;color:#fff;margin:0 0 8px}
.dcard2 ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dcard2 li{position:relative;padding-left:24px;line-height:1.45;color:#f4efe6}
.dcard2 .tick li:before{content:"\2713";position:absolute;left:0;color:#7fc58a;font-weight:700}
.dcard2 .dot li:before{content:"";position:absolute;left:6px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.dgal{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.dgal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.dcombo{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;background:rgba(13,22,21,.72);border:1px solid rgba(217,164,65,.4);border-radius:18px;padding:20px 22px}
.dcombo h3{font-family:'Cormorant Garamond',serif;font-size:26px;color:#fff;margin:0 0 4px}
.dcombo p{margin:0;max-width:46ch;line-height:1.5}
.dcombo .dc-b{display:flex;gap:16px;align-items:center}
.dcombo .tbtn{background:var(--gold);color:#1a1408}
.dcombo .tlink{color:var(--gold);border-bottom:1px solid currentColor}
.dbook .dpoints{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px;font-size:14px}
.dbook .dpoints li{padding-left:22px;position:relative}
.dbook .dpoints li:before{content:"\2713";position:absolute;left:0;color:#7fc58a}
.dbook{scroll-margin-top:100px}
@media(max-width:560px){.dhero .dh-t{grid-template-columns:repeat(2,1fr)}.dtime li{flex-direction:column;gap:2px}.dtime ol{padding-left:16px}.dprose h2,.dtime h2{font-size:28px}.dsingle .sidebox{position:static}}

/* ===== 1.0.18 Contact and About ===== */
.cways,.awhat{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.cway,.awc,.cform,.cplan,.aval,.csteps li,.csoc,.aquote{background:rgba(13,22,21,.72);border:1px solid rgba(244,239,230,.14);border-radius:18px;color:#e9e4da;padding:22px;box-shadow:var(--shadow)}
.cway,.awc{display:flex;flex-direction:column;gap:8px;transition:transform .25s,border-color .25s}
@media(hover:hover){.cway:hover,.awc:hover{transform:translateY(-4px);border-color:rgba(217,164,65,.6)}}
.cw-wa{border-color:rgba(217,164,65,.55);background:linear-gradient(160deg,rgba(217,164,65,.22),rgba(13,22,21,.78))}
.cw-k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.cway h3,.awc h3,.cform h3,.cplan h3,.aval h3,.csteps h3,.csoc h3{font-family:'Cormorant Garamond',serif;font-size:28px;line-height:1.1;color:#fff;margin:0}
.cway p,.awc p,.cplan p,.aval p,.csteps p,.csoc p{margin:0;line-height:1.55;color:rgba(244,239,230,.88)}
.cw-v{color:#fff;font-weight:500;word-break:break-word;margin-top:auto;padding-top:6px}
.cw-go{color:var(--gold);font-size:14px}
.cduo{display:grid;gap:16px;grid-template-columns:1fr}
.cform .cf-s{margin:4px 0 14px;color:rgba(244,239,230,.85)}
.cplan{display:flex;flex-direction:column;gap:12px;border-color:rgba(217,164,65,.4)}
.cplan .tbtn{background:var(--gold);color:#1a1408;margin-top:6px}
.cplan .tick,.csteps{list-style:none;margin:0;padding:0}
.cplan .tick{display:grid;gap:8px}
.cplan .tick li{position:relative;padding-left:24px}
.cplan .tick li:before{content:"\2713";position:absolute;left:0;color:#7fc58a;font-weight:700}
.csteps{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.csteps li{display:flex;flex-direction:column;gap:6px}
.csteps b,.aval b{font-family:'Cormorant Garamond',serif;font-size:44px;line-height:1;color:var(--gold);font-weight:600}
.chelp{display:grid;gap:22px;grid-template-columns:1fr}
.chips{margin-top:6px}
.inner .chips li,.chips li{color:#f4efe6;background:rgba(13,22,21,.6);border-color:rgba(244,239,230,.2)}
.csl{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.csl a{padding:9px 16px;border:1px solid rgba(244,239,230,.3);border-radius:999px;color:#fff;font-size:14px}
.csoc{align-self:start}
.astory{display:grid;gap:22px;grid-template-columns:1fr}
.aprose{font-size:17px}
.aquote{align-self:start;border-color:rgba(217,164,65,.4)}
.aquote p{font-family:'Cormorant Garamond',serif;font-size:30px;line-height:1.2;color:#fff;margin:0 0 12px}
.aquote span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.avals{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.aval{display:flex;flex-direction:column;gap:6px}
.aguides .cv{display:block}
.acta{border-color:rgba(217,164,65,.45)}
.chead .tstats b{font-size:clamp(30px,5vw,40px)}
@media(min-width:900px){.cduo{grid-template-columns:1.1fr 1fr}.chelp{grid-template-columns:1.4fr 1fr}.astory{grid-template-columns:1.5fr 1fr}}
.inner .chips li{color:#f4efe6}
@media(min-width:900px){.avals{grid-template-columns:repeat(3,1fr)}}

/* ===== 1.0.24 Home photo carousel ===== */
.moments{padding-bottom:30px}
.mq{position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:34px 0 30px;cursor:grab;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq::-webkit-scrollbar{display:none}
.mq.drag{cursor:grabbing}
.mq-track{display:flex;gap:16px;width:max-content;padding:0 16px;align-items:center}
.mq-i{margin:0;position:relative;flex:0 0 auto;height:clamp(230px,34vw,400px);aspect-ratio:4/5;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s;z-index:1}
.mq-i.s1{aspect-ratio:3/2}.mq-i.s2{aspect-ratio:1/1}.mq-i.s3{aspect-ratio:16/10}
.mq-b{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px -18px rgba(0,0,0,.7)}
.mq-b img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .4s;-webkit-user-drag:none;user-select:none}
.mq-i figcaption{position:absolute;left:12px;right:12px;bottom:12px;color:#fff;font-size:13px;letter-spacing:.06em;text-shadow:0 1px 8px rgba(0,0,0,.8);opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s;pointer-events:none}
@media (hover:hover){
  .mq-i:hover,.mq-i:focus-within{transform:scale(1.1);z-index:3}
  .mq-i:hover .mq-b img{transform:scale(1.06)}
  .mq-i:hover figcaption,.mq-i:focus-within figcaption{opacity:1;transform:none}
  .mq:hover .mq-i:not(:hover) .mq-b img{filter:brightness(.62) saturate(.85)}
}
.mq-i.on{transform:scale(1.08);z-index:3}.mq-i.on figcaption{opacity:1;transform:none}
.mq-b:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.mq-ctl{display:flex;justify-content:flex-end;margin-top:-6px}
.mq-pp{background:rgba(13,22,21,.6);color:#f4efe6;border:1px solid rgba(244,239,230,.3);border-radius:999px;padding:7px 16px;font:inherit;font-size:13px;cursor:pointer}
.mq-lb{position:fixed;inset:0;z-index:300;background:rgba(5,9,8,.92);display:flex;align-items:center;justify-content:center;padding:56px 12px}
.mq-lb[hidden]{display:none}
.mq-lb figure{margin:0;max-width:min(1200px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
.mq-lb img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.mq-lb figcaption{color:#f4efe6;font-size:15px;text-align:center}
.mq-lb button{position:absolute;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:50%;width:48px;height:48px;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center}
.mq-x{top:14px;right:14px}.mq-prev{left:14px;top:50%;transform:translateY(-50%)}.mq-next{right:14px;top:50%;transform:translateY(-50%)}
body.mq-open{overflow:hidden}
body.mq-open .mbar,body.mq-open .wafloat{display:none}
@media(max-width:560px){.mq-i{height:260px}.mq-lb .mq-prev,.mq-lb .mq-next{top:auto;bottom:14px;transform:none}}
@media (prefers-reduced-motion:reduce){.mq-i,.mq-b img{transition:none}}

/* ===== 1.0.25 Mobile menu fix =====
   The frosted header on inner pages (backdrop-filter) trapped the fixed menu
   inside the header bar, so the links spilled over the page with no backdrop.
   While the menu is open the header drops the filter and the menu covers the screen. */
body.menu-open .site-header,body.menu-open.is-inner .site-header,body.menu-open .site-header.solid{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:transparent!important;border-bottom-color:transparent!important;transform:none!important}
body.menu-open nav#nav{position:fixed!important;inset:0!important;height:100vh;height:100dvh;overflow-y:auto;padding:96px 24px 40px;justify-content:center;background:rgba(10,16,15,.98)!important;z-index:55}
body.menu-open nav#nav ul{margin:auto 0;padding:0}
body.menu-open nav#nav a{font-size:28px;color:#f4efe6!important;display:block;padding:4px 10px}
body.menu-open .site-header .logo,body.menu-open .site-header .hdr-r{position:relative;z-index:56}
body.menu-open .site-header .hdr-r .pill,body.menu-open .site-header .tswitch{visibility:hidden}
body.menu-open .burger{position:relative}
body.menu-open .burger i{transition:transform .25s}
body.menu-open .burger i:first-child{transform:translateY(2.75px) rotate(45deg)}
body.menu-open .burger i:last-child{transform:translateY(-2.75px) rotate(-45deg)}
body.menu-open .mbar,body.menu-open .wafloat,body.menu-open .cky-btn-revisit-wrapper,body.menu-open .cky-revisit-bottom-left{display:none!important}
.csl span{padding:9px 16px;border:1px dashed rgba(244,239,230,.3);border-radius:999px;color:#fff;font-size:14px}.site-footer .social span{cursor:default}
.social span{width:34px;height:34px;border:1px dashed rgba(244,239,230,.3);border-radius:50%;display:grid;place-content:center;font-size:12px;color:#f4efe6}

/* ===== 1.0.27 About us (FIF's own story) ===== */
.ahero{display:grid;gap:26px;align-items:center}
.alogo{margin:0;justify-self:start;width:clamp(150px,34vw,250px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 40%,#fbf7ee,#efe6d2);display:grid;place-items:center;box-shadow:0 24px 60px -24px rgba(0,0,0,.7),0 0 0 6px rgba(217,164,65,.25)}
.alogo img{width:78%;height:auto;display:block}
@media(min-width:900px){.ahero{grid-template-columns:1fr auto}.alogo{justify-self:end}}
.aways{margin-top:16px}
.anature .aprose{max-width:70ch}
.aplaces{list-style:none;margin:18px 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.aplaces li{padding:10px 16px;border-radius:14px;background:rgba(13,22,21,.72);border:1px solid rgba(217,164,65,.35);color:#fff;font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1.1}
html.rev .aplaces li{opacity:0;transform:translateY(10px);animation:aplace .6s calc(var(--i)*70ms) forwards}
@keyframes aplace{to{opacity:1;transform:none}}
.awhat .awc p{font-size:15px}
.arep{display:flex;flex-wrap:wrap;gap:14px}
.arep a,.arep span{display:inline-flex;align-items:center;gap:8px;padding:16px 24px;border-radius:16px;background:rgba(244,239,230,.94);color:#1f3d1f;font-weight:600;font-size:17px;letter-spacing:.01em;box-shadow:0 14px 30px -18px rgba(0,0,0,.7);transition:transform .25s}
@media(hover:hover){.arep a:hover{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){html.rev .aplaces li{opacity:1;transform:none;animation:none}}

/* ===== 1.0.27 Opening preloader ===== */
.pl{display:none}
html.pl-on body{overflow:hidden}
html.pl-on .pl{display:block;position:fixed;inset:0;z-index:99999;background:#0c1a12;color:#fff;overflow:hidden;
  border-radius:0;transition:transform .75s cubic-bezier(.77,0,.18,1),border-radius .75s;
  animation:plFail .4s 10s forwards}
@keyframes plFail{to{opacity:0;visibility:hidden;pointer-events:none}}
html.pl-on .wafloat,html.pl-on .mbar,html.pl-on .cky-btn-revisit-wrapper,html.pl-on .cky-consent-container{visibility:hidden}
html.pl-opening .wafloat,html.pl-opening .mbar{visibility:visible}

.pl-slides,.pl-s,.pl-shade{position:absolute;inset:0}
.pl-s{margin:0;background:var(--g);z-index:0;transition:clip-path .62s cubic-bezier(.77,0,.18,1)}
.pl-s img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.22);transition:transform 3.2s cubic-bezier(.2,.7,.2,1)}
.pl-s.on img,.pl-s.was img{transform:scale(1.02)}
.pl-s.on{z-index:2}.pl-s.was{z-index:1}
.pl-s.fx1{clip-path:inset(0 0 0 100%)}
.pl-s.fx2{clip-path:circle(0% at 50% 55%)}
.pl-s.fx3{clip-path:inset(100% 0 0 0)}
.pl-s.fx4{clip-path:polygon(0 0,0 0,0 100%,0 100%)}
.pl-s.fx1.on,.pl-s.fx1.was,.pl-s.fx3.on,.pl-s.fx3.was{clip-path:inset(0 0 0 0)}
.pl-s.fx2.on,.pl-s.fx2.was{clip-path:circle(150% at 50% 55%)}
.pl-s.fx4.on,.pl-s.fx4.was{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.pl-shade{z-index:3;background:radial-gradient(120% 90% at 50% 45%,rgba(8,16,11,.15),rgba(8,16,11,.7)),linear-gradient(180deg,rgba(8,16,11,.55),transparent 28%,transparent 62%,rgba(8,16,11,.85));transition:background .6s}

.pl-top,.pl-mid,.pl-bot,.pl-end{position:absolute;z-index:4;left:0;right:0}
.pl-top{top:0;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;transition:opacity .4s}
.pl-brand{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.pl-skip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:8px 16px;font:inherit;font-size:13px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pl-skip:hover{background:rgba(255,255,255,.22)}
.pl-mid{top:50%;transform:translateY(-55%);text-align:center;padding:0 16px;transition:opacity .4s,transform .6s}
.pl-kick{margin:0 0 6px;color:#e7b955;font-size:clamp(12px,1.6vw,15px);letter-spacing:.42em;text-transform:uppercase;text-indent:.42em;opacity:0;animation:plKick .7s .1s forwards}
@keyframes plKick{from{opacity:0;letter-spacing:.9em}to{opacity:1;letter-spacing:.42em}}
.pl-words{position:relative;height:clamp(70px,15vw,170px);overflow:visible}
.pl-w{position:absolute;left:0;right:0;top:0;display:flex;justify-content:center;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(58px,13.5vw,160px);line-height:1;letter-spacing:-.01em;white-space:nowrap;text-shadow:0 10px 40px rgba(0,0,0,.45)}
.pl-w i{font-style:normal;display:inline-block}
.pl-w .wd{display:inline-flex;white-space:nowrap;font-weight:inherit}
.pl-w.in i{animation:plIn .6s cubic-bezier(.2,.8,.2,1) calc(var(--k) * 32ms) both}
.pl-w.out i{animation:plOut .42s cubic-bezier(.6,0,.8,.4) calc(var(--k) * 16ms) forwards}
@keyframes plIn{from{opacity:0;transform:translateY(55%) rotate(7deg) scale(.9);filter:blur(12px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes plOut{to{opacity:0;transform:translateY(-45%) rotate(-5deg);filter:blur(10px)}}
.pl-mid .pl-w .wd:last-child i:last-child{color:#e7b955}

.pl-bot{bottom:0;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:18px;padding:0 20px 26px;transition:opacity .4s}
.pl-count{display:flex;align-items:flex-end;gap:4px;font-family:'Cormorant Garamond',Georgia,serif;line-height:.8}
.pl-n{position:relative;display:inline-block;height:clamp(54px,9vw,96px);width:1.15em;overflow:hidden;font-size:clamp(64px,10.5vw,112px);font-weight:600}
.pl-n b{position:absolute;left:0;top:0;font-weight:600}
.pl-n b.in{animation:plNumIn .45s cubic-bezier(.2,.8,.2,1) both}
.pl-n b.out{animation:plNumOut .4s cubic-bezier(.6,0,.8,.4) forwards}
@keyframes plNumIn{from{transform:translateY(100%);opacity:0}to{transform:none;opacity:1}}
@keyframes plNumOut{to{transform:translateY(-100%);opacity:0}}
.pl-count i{font-style:normal;font-size:clamp(16px,2.2vw,22px);color:rgba(255,255,255,.6);padding-bottom:6px}
.pl-track{height:3px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden;margin-bottom:12px}
.pl-fill{display:block;height:100%;background:linear-gradient(90deg,#c9892b,#f2c869);transform:scaleX(0);transform-origin:left;box-shadow:0 0 14px rgba(242,200,105,.8)}
.pl-pct{font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:.12em;color:rgba(255,255,255,.8);margin-bottom:6px;min-width:4ch;text-align:right}

.pl-end{top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:16px;pointer-events:none;opacity:0}
.pl-plate{width:clamp(150px,34vw,220px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 40%,#fbf7ee,#ece2cc);display:grid;place-items:center;box-shadow:0 30px 80px -20px rgba(0,0,0,.8),0 0 0 8px rgba(231,185,85,.28);transform:scale(.6) rotate(-8deg)}
.pl-plate img{width:80%;height:auto}
.pl-tag{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(22px,4vw,34px);color:#f2c869;letter-spacing:.06em;opacity:0;transform:translateY(10px)}

.pl.end .pl-top,.pl.end .pl-bot{opacity:0}
.pl.end .pl-mid{opacity:0;transform:translateY(-70%)}
.pl.end .pl-shade{background:rgba(8,16,11,.78)}
.pl.end .pl-end{opacity:1;transition:opacity .3s}
.pl.end .pl-plate{transform:none;transition:transform .55s cubic-bezier(.2,1.4,.4,1)}
.pl.end .pl-tag{opacity:1;transform:none;transition:opacity .4s .15s,transform .4s .15s}
html.pl-on .pl.open{transform:translateY(-104%);border-radius:0 0 50% 50% / 0 0 12% 12%}

@media (min-width:900px){.pl-top{padding:26px 44px}.pl-bot{padding:0 44px 38px;gap:30px}}
@media (prefers-reduced-motion:reduce){
  .pl-s,.pl-s img,.pl-w.in i,.pl-w.out i,.pl-n b,.pl-kick{transition:none!important;animation:none!important}
  .pl-s{clip-path:none!important;opacity:0}.pl-s.on,.pl-s.was{opacity:1}
  .pl-s img{transform:none}
  .pl-w.out{display:none}
  html.pl-on .pl.open{transform:none;opacity:0;transition:opacity .4s}
}
@media(min-width:900px){.avals{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ahead~.inner .awhat{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}

/* ===== 1.0.28 FIF route map ===== */
.fm{--fm-sea1:#123a44;--fm-sea2:#0a1f26;--fm-nb:#1d2a22;--fm-nb-line:rgba(244,239,230,.12);--fm-tz:#2a3a2b;--fm-tz-line:rgba(231,185,85,.55);--fm-lake:#1f5a66;--fm-river:#2f7484;
  --fm-park:rgba(127,197,138,.16);--fm-park-line:rgba(127,197,138,.28);--fm-text:#f4efe6;--fm-soft:rgba(244,239,230,.62);--fm-route:#e7b955;--fm-route2:rgba(231,185,85,.35);
  --fm-ui:rgba(10,18,16,.78);--fm-ring:rgba(231,185,85,.22);
  position:relative;border-radius:22px;overflow:hidden;background:var(--fm-sea2);box-shadow:0 30px 70px -30px rgba(0,0,0,.8);color:var(--fm-text);isolation:isolate}
:root[data-theme=light] .fm{--fm-sea1:#cfe3e6;--fm-sea2:#a9c9cf;--fm-nb:#e9e2d2;--fm-nb-line:rgba(60,50,30,.18);--fm-tz:#f6f0e2;--fm-tz-line:rgba(169,118,18,.65);--fm-lake:#8fc0c9;--fm-river:#6aa7b3;
  --fm-park:rgba(84,140,72,.16);--fm-park-line:rgba(84,140,72,.3);--fm-text:#1b2321;--fm-soft:rgba(27,35,33,.62);--fm-route:#b07812;--fm-route2:rgba(176,120,18,.35);--fm-ui:rgba(255,252,245,.88);--fm-ring:rgba(176,120,18,.2)}
.fm-stage{position:relative;height:clamp(340px,62vh,620px);touch-action:pan-y;cursor:grab}
.fm-stage.drag{cursor:grabbing}
.fm-svg{position:absolute;inset:0;width:100%;height:100%;display:block;font-family:'Jost','Inter',system-ui,sans-serif}
.fm-loading .fm-stage::after,.fm-loading::after{content:"Loading map…";position:absolute;inset:0;display:grid;place-items:center;color:var(--fm-soft);font-size:14px;letter-spacing:.1em}
.fm-loading{min-height:340px}
.fm-failed{display:none}
.fm-nb{fill:var(--fm-nb);stroke:var(--fm-nb-line);stroke-width:calc(var(--s,1)*1px)}
.fm-tz{fill:var(--fm-tz);stroke:var(--fm-tz-line);stroke-width:calc(var(--s,1)*1.6px);stroke-linejoin:round}
.fm-lake{fill:var(--fm-lake);stroke:none}
.fm-river{fill:none;stroke:var(--fm-river);stroke-width:calc(var(--s,1)*1.1px);opacity:.75}
.fm-mara{stroke-width:calc(var(--s,1)*1.8px);opacity:.95}
.fm-park{stroke:var(--fm-park-line);stroke-width:calc(var(--s,1)*1px);stroke-dasharray:calc(var(--s,1)*4px) calc(var(--s,1)*3px)}
.fm-ring{fill:none;stroke:var(--fm-ring);stroke-width:calc(var(--s,1)*1.1px)}
.fm-ring:nth-child(4n+1){stroke-width:calc(var(--s,1)*1.8px)}
.fm-ring:nth-last-child(-n+2){fill:rgba(244,239,230,.10);stroke:rgba(244,239,230,.5)}
.fm-pday{fill:var(--fm-route);font-size:10px;letter-spacing:.06em;opacity:.8}
.fm-labels text{pointer-events:none}
.fm-lpark{fill:rgba(127,197,138,.9);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
:root[data-theme=light] .fm-lpark{fill:#3f6b35}
.fm-lwater{fill:#7fc0cc;font-size:12px;font-style:italic;letter-spacing:.08em}
:root[data-theme=light] .fm-lwater{fill:#3c7f8b}
.fm-lcountry{fill:var(--fm-soft);font-size:13px;letter-spacing:.5em;font-weight:500;opacity:.55}
.fm-peak-i{fill:#f4efe6;stroke:#1b2321;stroke-width:1}
.fm-lpeak{fill:var(--fm-text);font-size:11px;font-weight:500;paint-order:stroke;stroke:rgba(10,18,16,.7);stroke-width:3px}
:root[data-theme=light] .fm-lpeak{stroke:rgba(255,255,255,.8)}
.fm-r-base{fill:none;stroke:var(--fm-route2);stroke-width:calc(var(--s,1)*2px);stroke-dasharray:calc(var(--s,1)*2px) calc(var(--s,1)*6px);stroke-linecap:round}
.fm-r-base.on{stroke:var(--fm-route);opacity:.5}
.fm-r-line{fill:none;stroke:var(--fm-route);stroke-width:calc(var(--s,1)*3.4px);stroke-linecap:round;stroke-linejoin:round;opacity:.0}
.fm-r-line.done{opacity:.55}
.fm-r-line.now{opacity:1;stroke-width:calc(var(--s,1)*4.4px)}
.fm-m{cursor:default}
.fm-m[role=button]{cursor:pointer}
.fm-m-ring{fill:var(--fm-route);opacity:.25}
.fm-m-dot{fill:#0d1615;stroke:var(--fm-route);stroke-width:2}
:root[data-theme=light] .fm-m-dot{fill:#fffaf0}
.fm-m-n{fill:var(--fm-route);font-size:9.5px;font-weight:700}
.fm-m-end .fm-m-dot{fill:var(--fm-route)}.fm-m-end .fm-m-n{fill:#1a1408}
.fm-m-start{fill:var(--fm-route);stroke:#0d1615;stroke-width:1.5}
.fm-m-peak{fill:#f4efe6;stroke:var(--fm-route);stroke-width:2}
.fm-m-via{fill:var(--fm-text);stroke:#0d1615;stroke-width:1.2}
.fm-ml-t{fill:var(--fm-text);font-size:11.5px;font-weight:500;paint-order:stroke;stroke:rgba(10,18,16,.85);stroke-width:3.5px;stroke-linejoin:round}
:root[data-theme=light] .fm-ml-t{stroke:rgba(255,255,255,.9)}
.fm-m-via .fm-ml-t{font-size:10px;opacity:.85}
.fm-m:hover .fm-m-ring,.fm-m:focus-visible .fm-m-ring{opacity:.6}
.fm-m:focus-visible{outline:none}.fm-m:focus-visible .fm-m-dot{stroke-width:3.5}
.fm-mover{pointer-events:none;transition:opacity .4s}
.fm-mover-halo{fill:var(--fm-route);opacity:.25;animation:fmPulse 1.6s ease-out infinite;transform-box:fill-box;transform-origin:center}
.fm-mover-dot{fill:var(--fm-route)}
.fm-mover-i{fill:none;stroke:#1a1408;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.fm-safari .fm-mover-i,.fm-day .fm-mover-i{fill:#1a1408;stroke-width:.6}
@keyframes fmPulse{from{transform:scale(.7);opacity:.5}to{transform:scale(1.8);opacity:0}}
.fm-ui{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:12px}
.fm-ui>*{pointer-events:auto}
.fm-chip{align-self:flex-start;max-width:calc(100% - 10px);background:var(--fm-ui);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(231,185,85,.35);color:var(--fm-text);border-radius:999px;padding:8px 14px;font-size:13px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-ctl{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-end;margin-top:auto}
.fm-b{background:var(--fm-ui);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--fm-text);border:1px solid rgba(244,239,230,.25);border-radius:999px;min-width:36px;height:36px;padding:0 12px;font:inherit;font-size:13px;cursor:pointer;transition:border-color .2s,background .2s}
.fm-b:hover,.fm-b:focus-visible{border-color:var(--fm-route)}
.fm-play{background:var(--fm-route);color:#1a1408;border-color:transparent;font-weight:600}
.fm-legend{position:absolute;left:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:var(--fm-soft);max-width:55%;pointer-events:none}
.fm-k{display:inline-flex;align-items:center;gap:6px}
.fm-k::before{content:"";display:inline-block}
.fm-k-route::before{width:18px;height:3px;border-radius:2px;background:var(--fm-route)}
.fm-k-stay::before{width:10px;height:10px;border-radius:50%;border:2px solid var(--fm-route);background:#0d1615}
.fm-k-park::before{width:12px;height:10px;border-radius:2px;background:repeating-linear-gradient(35deg,var(--fm-park) 0 3px,var(--fm-park-line) 3px 5px)}
.fm-src{flex-basis:100%;font-size:10px;opacity:.7}
@media(max-width:600px){.fm-legend{position:static;max-width:none;padding:8px 2px 0}.fm-ui{padding:10px}.fm-chip{font-size:12px}.fm-ctl{gap:5px}.fm-b{height:34px;min-width:34px;padding:0 10px}}
.fm-prof{padding:12px 16px 14px;border-top:1px solid rgba(244,239,230,.08);background:linear-gradient(180deg,rgba(10,18,16,.6),rgba(10,18,16,.9))}
:root[data-theme=light] .fm-prof{background:linear-gradient(180deg,#f3ecdc,#efe6d2);border-top-color:rgba(0,0,0,.06)}
.fm-prof-h{margin:0 0 4px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fm-route)}
.fm-prof-svg{width:100%;height:auto;display:block}
.fm-pg{stroke:rgba(244,239,230,.08)}:root[data-theme=light] .fm-pg{stroke:rgba(0,0,0,.08)}
.fm-pt{fill:var(--fm-soft);font-size:10px}
.fm-pl{fill:none;stroke:var(--fm-route);stroke-width:2.2;stroke-linejoin:round}
.fm-pd circle{fill:#0d1615;stroke:var(--fm-route);stroke-width:1.6;transition:r .3s}
.fm-pd.past circle{fill:var(--fm-route2)}
.fm-pd.on circle{fill:var(--fm-route);r:6}
.fm-pt2{fill:var(--fm-text);font-size:9.5px;opacity:.75}
.fm-pd.on .fm-pt2{opacity:1;font-weight:700}
.fm-mr-line{fill:none;stroke:var(--c);stroke-width:calc(var(--s,1)*2.6px);stroke-linecap:round;opacity:.8;transition:opacity .25s,stroke-width .25s}
.fm-mr.off .fm-mr-line{opacity:.12}
.fm-mr.on .fm-mr-line{opacity:1;stroke-width:calc(var(--s,1)*4.5px)}
.fm-mlist{list-style:none;margin:0;padding:12px 14px 16px;display:flex;flex-wrap:wrap;gap:8px;background:rgba(10,18,16,.85)}
:root[data-theme=light] .fm-mlist{background:#efe6d2}
.fm-mlist a{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid rgba(244,239,230,.18);font-size:13px;color:var(--fm-text)}
.fm-mlist a i{width:14px;height:4px;border-radius:2px;background:var(--c)}
.fm-mlist a:hover,.fm-mlist a:focus-visible{border-color:var(--c)}
@media (prefers-reduced-motion:reduce){.fm-mover-halo{animation:none}}

/* ===== 1.0.28 Itinerary pages ===== */
.itin .card-d,.iday,.ioc,.istc,.icalc,.iterms{background:rgba(13,22,21,.74);border:1px solid rgba(244,239,230,.13);border-radius:18px;color:#e9e4da}
.ih{padding:110px 0 30px;position:relative;z-index:2}
.ih-in{display:grid;gap:26px}
.ih .eyebrow{color:var(--gold)}
.ih .eyebrow b{color:#fff;font-weight:600}
.ih h1{color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.45)}
.ih .lead{color:rgba(255,255,255,.92);font-size:clamp(17px,2.2vw,21px);max-width:44ch}
.ih .crumb a{color:inherit}
.ih-facts{list-style:none;display:flex;flex-wrap:wrap;gap:12px 30px;margin:22px 0 4px;padding:0}
.ih-facts li{display:flex;flex-direction:column}
.ih-facts b{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,44px);line-height:1;color:var(--gold);font-weight:600}
.ih-facts b.sm{font-size:clamp(22px,3vw,28px);padding-top:8px}
.ih-facts span{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-top:4px}
.ih-media{position:relative;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:clamp(260px,46vw,460px)}
.ih-media.none{grid-template-columns:1fr;grid-template-rows:1fr}
.ih-ph{position:relative;display:block;padding:0;border:0;border-radius:16px;overflow:hidden;cursor:zoom-in;background:#111;box-shadow:0 20px 50px -25px rgba(0,0,0,.8)}
.ih-ph img,.ih-ph i{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.ih-ph:hover img{transform:scale(1.05)}
.ih-ph.p0{grid-row:1/3}
.ih-ph.p3{display:none}
.ih-media:not(:has(.p1)) .ih-ph.p0{grid-column:1/3}
.ih-more{position:absolute;right:12px;bottom:12px;background:rgba(10,18,16,.8);color:#fff;border:1px solid rgba(244,239,230,.3);border-radius:999px;padding:8px 14px;font-size:13px}
@media(min-width:1000px){.ih-in{grid-template-columns:1fr 1.05fr;align-items:center}.ih{padding-top:130px}}
.inav{position:sticky;top:64px;z-index:20;background:rgba(10,16,15,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-block:1px solid rgba(244,239,230,.08)}
body.admin-bar .inav{top:96px}
.inav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-block:8px}
.inav .wrap::-webkit-scrollbar{display:none}
.inav a{flex:0 0 auto;padding:8px 14px;border-radius:999px;color:rgba(244,239,230,.82);font-size:14px;white-space:nowrap;transition:background .2s,color .2s}
.inav a.on,.inav a:hover{background:rgba(231,185,85,.16);color:#fff}
.inav a.inav-go{margin-left:auto;background:var(--gold);color:#1a1408;font-weight:500}
.itin .tsec{scroll-margin-top:130px}
.io{display:grid;gap:22px}
.io-sum{font-size:clamp(17px,2vw,19px);line-height:1.7;color:#f4efe6;max-width:68ch;text-shadow:0 1px 10px rgba(0,0,0,.4);margin:0 0 16px}
.io-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-content:start}
.ioc{padding:18px 20px}
.ioc h3{margin:0 0 10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:500}
.ioc p{margin:0;color:#f4efe6;line-height:1.5}
.io-meals{display:flex;flex-wrap:wrap;gap:6px 16px}
.io-meals b{font-family:'Cormorant Garamond',serif;font-size:26px;color:#fff}
.io-n{opacity:.75;font-size:14px;margin-top:4px!important}
@media(min-width:1000px){.io{grid-template-columns:1.4fr 1fr;align-items:start}.io-cards{grid-template-columns:1fr}}

.iroute{display:grid;gap:22px}
.imap{min-width:0}
.imap .fm-stage{height:clamp(320px,58vh,560px)}
.itin-trek .imap .fm-stage{height:clamp(300px,46vh,460px)}
@media(min-width:1000px){
  .iroute{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start}
  .imap{order:2;position:sticky;top:136px}
  .imap .fm-stage{height:calc(100vh - 190px);max-height:720px}
  .itin-trek .imap .fm-stage{height:calc(100vh - 380px);min-height:320px}
}
.idays{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:d}
.iday{position:relative;transition:border-color .3s,box-shadow .3s,transform .3s}
.iday.cur{border-color:rgba(231,185,85,.6);box-shadow:0 0 0 1px rgba(231,185,85,.25),0 24px 50px -30px rgba(0,0,0,.9)}
.iday-h{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:18px 18px 12px}
.iday-n{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px;background:linear-gradient(160deg,rgba(231,185,85,.22),rgba(231,185,85,.05));border:1px solid rgba(231,185,85,.4);font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600;color:var(--gold);line-height:.9}
.iday-n small{font-family:inherit;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,239,230,.75);font-weight:500;margin-bottom:2px}
.iday.cur .iday-n{background:var(--gold);color:#1a1408}.iday.cur .iday-n small{color:#1a1408}
.iday-t h3{margin:2px 0 4px;font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.6vw,27px);line-height:1.1;color:#fff;font-weight:600}
.iday-r{margin:0 0 8px;font-size:13px;color:rgba(244,239,230,.75);letter-spacing:.02em}
.iday-meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.im-stay,.im-end,.im-elev{font-size:12.5px;padding:4px 10px;border-radius:999px;background:rgba(244,239,230,.08);border:1px solid rgba(244,239,230,.12);color:#f4efe6}
.im-stay::before{content:"\263E  ";color:var(--gold)}
.im-elev{border-color:rgba(231,185,85,.4);color:var(--gold)}
.mls{display:inline-flex;gap:3px}
.mls .ml{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:600;border:1px solid rgba(244,239,230,.18);color:rgba(244,239,230,.35)}
.mls .ml.on{background:rgba(127,197,138,.18);border-color:rgba(127,197,138,.6);color:#a8e0b1}
.iday-tg{display:none;width:34px;height:34px;border-radius:50%;border:1px solid rgba(244,239,230,.25);background:none;color:#fff;cursor:pointer;position:relative}
.iday-tg::after{content:"";position:absolute;left:50%;top:45%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-50%,-50%) rotate(45deg);transition:transform .25s}
.iday.open .iday-tg::after{transform:translate(-50%,-20%) rotate(-135deg)}
.iday-b{padding:0 18px 18px 96px}
.iday-ph{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;margin:4px 0 14px}
.iday-ph button,.istay-ph button,.istc-more button,.ivh-ph button,.igal button{padding:0;border:0;background:#111;border-radius:10px;overflow:hidden;cursor:zoom-in;display:block}
.iday-ph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .8s}
.iday-ph button:hover img,.igal button:hover img{transform:scale(1.05)}
.iacts{list-style:none;margin:0;padding:0 0 0 2px;position:relative}
.iacts::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1.5px;background:linear-gradient(rgba(231,185,85,.6),rgba(231,185,85,.08))}
.iacts li{position:relative;padding:0 0 12px 26px}
.iacts li::before{content:"";position:absolute;left:2px;top:6px;width:11px;height:11px;border-radius:50%;background:#0d1615;border:2px solid var(--gold)}
.iacts time{display:block;font-size:12px;letter-spacing:.1em;color:var(--gold);font-weight:600;margin-bottom:2px}
.iacts p{margin:0;line-height:1.6;color:#e9e4da;font-size:15px}
.istay{margin-top:6px;padding:14px;border-radius:14px;background:rgba(244,239,230,.05);border:1px dashed rgba(231,185,85,.35);display:grid;gap:10px}
.istay-t{display:flex;flex-direction:column;gap:2px}
.istay-t span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.istay-t b{font-family:'Cormorant Garamond',serif;font-size:22px;color:#fff;font-weight:600}
.istay-t a{font-size:13px;color:var(--gold)}
.istay-ph{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.istay-ph img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.iday-map{margin-top:10px;background:none;border:1px solid rgba(231,185,85,.45);color:var(--gold);border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer}
@media(min-width:1000px){.iday-map{display:none}}
@media(max-width:999px){
  .iday-tg{display:block}
  .iday-h{cursor:pointer}
  .iday:not(.open) .iday-b{display:none}
}
@media(max-width:560px){.iday-b{padding:0 14px 16px}.iday-h{padding:14px 14px 10px;gap:10px}.iday-n{width:52px;height:52px;font-size:24px}.istay-ph{grid-template-columns:repeat(2,1fr)}}

.istays{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.istc{overflow:hidden;display:flex;flex-direction:column}
.istc-ph{position:relative;aspect-ratio:16/10;overflow:hidden}
.istc-ph img,.istc-ph i{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.istc-n{position:absolute;left:12px;top:12px;background:var(--gold);color:#1a1408;font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px}
.istc-b{padding:14px 16px 6px}.istc-b h3{margin:0 0 4px;font-family:'Cormorant Garamond',serif;font-size:24px;color:#fff}.istc-b p{margin:0 0 6px;font-size:13px;opacity:.8}
.istc-more{display:flex;gap:6px;padding:4px 16px 16px}.istc-more img{width:64px;height:64px;object-fit:cover;display:block}

.icalc{display:grid;gap:18px;padding:20px;margin-bottom:16px}
.icalc-in{display:grid;gap:14px}
.icalc-s span,.icalc-p>span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.icalc select{width:100%;max-width:360px;background:#0d1615;color:#fff;border:1px solid rgba(244,239,230,.25);border-radius:12px;padding:12px 14px;font:inherit}
.icalc-p div{display:flex;flex-wrap:wrap;gap:6px}
.icalc-p button{width:46px;height:46px;border-radius:12px;border:1px solid rgba(244,239,230,.22);background:none;color:#fff;font:inherit;font-size:17px;cursor:pointer;transition:all .2s}
.icalc-p button.on{background:var(--gold);color:#1a1408;border-color:transparent;font-weight:700}
.icalc-out{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 30px}
.icalc-out p{margin:0;display:flex;flex-direction:column}
.icalc-out b{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,6vw,52px);line-height:1;color:var(--gold);font-weight:600}
.icalc-out span{font-size:13px;color:rgba(244,239,230,.8)}
.icalc-out .pill{margin-left:auto}
@media(min-width:900px){.icalc{grid-template-columns:1.2fr 1fr;align-items:center}}
.itable{overflow-x:auto;border-radius:16px;border:1px solid rgba(244,239,230,.13);background:rgba(13,22,21,.7)}
.itable table{width:100%;border-collapse:collapse;min-width:640px;color:#e9e4da;font-size:14px}
.itable th,.itable td{padding:12px 14px;text-align:right;border-bottom:1px solid rgba(244,239,230,.08);white-space:nowrap}
.itable th:first-child{text-align:left}
.itable thead th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-weight:500}
.itable thead small{display:block;font-size:10px;opacity:.7;text-transform:none;letter-spacing:0;color:#e9e4da}
.itable tbody th{font-weight:500;color:#fff}
.itable tbody tr:last-child>*{border-bottom:0}
.iinc .cross li:before{content:"\2715";position:absolute;left:0;color:#e58a7a;font-weight:700}
.iinc li.hd{padding-left:0;margin-top:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.iinc li.hd::before{display:none}
.ivh{display:grid;gap:16px}
.ivh-ph{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ivh-ph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
@media(min-width:900px){.ivh{grid-template-columns:1fr 2fr;align-items:center}}
.igal{columns:2 160px;column-gap:8px}
.igal button{width:100%;margin:0 0 8px;break-inside:avoid}
.igal img{width:100%;height:auto;display:block;transition:transform .8s}
.igal .g1 img,.igal .g4 img{aspect-ratio:3/4;object-fit:cover}.igal .g2 img,.igal .g5 img{aspect-ratio:1;object-fit:cover}.igal .g0 img,.igal .g3 img,.igal .g6 img{aspect-ratio:4/3;object-fit:cover}
@media(min-width:900px){.igal{columns:4 200px}}
.ibook{display:grid;gap:22px}
.iterms{padding:16px 18px;margin:0 0 16px}
.iterms h3{margin:0 0 6px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:500}
.iterms p{margin:0 0 8px;line-height:1.6}
@media(min-width:900px){.ibook{grid-template-columns:1.3fr 1fr;align-items:start}}
.ilb{position:fixed;inset:0;z-index:300;background:rgba(5,9,8,.94);display:flex;align-items:center;justify-content:center;padding:56px 12px}
.ilb[hidden]{display:none}
.ilb figure{margin:0;max-width:min(1200px,100%);display:flex;flex-direction:column;align-items:center;gap:10px}
.ilb img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:12px}
.ilb figcaption{color:#f4efe6;font-size:15px;text-align:center}
.ilb button{position:absolute;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:50%;width:48px;height:48px;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center}
.ilb-x{top:14px;right:14px}.ilb-p{left:14px;top:50%;transform:translateY(-50%)}.ilb-n{right:14px;top:50%;transform:translateY(-50%)}
@media(max-width:560px){.ilb-p,.ilb-n{top:auto;bottom:14px;transform:none}}
.hubchips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hubchips>span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-right:4px}
.hubchips a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:rgba(13,22,21,.7);border:1px solid rgba(244,239,230,.18);color:#fff;font-size:14px;transition:border-color .2s,transform .2s}
.hubchips a small{font-size:11px;color:var(--gold)}
.hubchips a:hover{border-color:var(--gold);transform:translateY(-2px)}
.arch-hubs{margin:0 0 18px}
.arch-map{margin-top:40px}
.hubh .lead p{margin:0}

.fm-zoom{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px}
.fm-chip{max-width:calc(100% - 70px)}
.fm-legend{max-width:42%}
@media(max-width:700px){.fm-legend{max-width:none}}
.istay-t em{font-style:normal;font-size:12.5px;opacity:.75}
/* Small phones: the bottom bar already has "Plan my trip", so the header keeps room for the menu button. */
@media(max-width:480px){body #hdr .hdr-r .pill{display:none!important}body #hdr .logo{font-size:clamp(18px,5.6vw,24px);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* ===== 1.0.29 Preloader: slower, every page, "now opening" ===== */
.pl-s{transition:clip-path 1s cubic-bezier(.77,0,.18,1)}
.pl-s img{transition:transform 5s cubic-bezier(.2,.7,.2,1)}
.pl-w.in i{animation-duration:.85s}
.pl-w.in i{animation-delay:calc(var(--k) * 45ms)}
.pl-open{margin:4px 0 0;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.85);opacity:0;transform:translateY(8px)}
.pl-open span{color:#e7b955}
.pl.end .pl-open{opacity:1;transform:none;transition:opacity .5s .35s,transform .5s .35s}
.pl-page{display:none}
.pl.short .pl-slides,.pl.short .pl-mid,.pl.short .pl-count,.pl.short .pl-end{display:none}
.pl.short .pl-bot{grid-template-columns:1fr auto}
.pl.short .pl-page{display:block;position:absolute;inset:0;z-index:2}
.pl-pg-ph{position:absolute;inset:0;margin:0;background:linear-gradient(135deg,#1d3a26,#0c1a12)}
.pl-pg-ph img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.18);animation:plZoom 3.6s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes plZoom{to{transform:scale(1.02)}}
.pl.short .pl-shade{background:radial-gradient(110% 80% at 50% 50%,rgba(8,16,11,.35),rgba(8,16,11,.82))}
.pl-pg-t{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;padding:0 18px;z-index:4}
.pl-pg-k{margin:0 0 10px;color:#e7b955;font-size:clamp(11px,1.5vw,14px);letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;opacity:0;animation:plKick .7s .05s forwards}
.pl-pg-n{margin:0;display:flex;justify-content:center;flex-wrap:wrap;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(40px,9vw,112px);line-height:1.02;color:#fff;text-shadow:0 10px 40px rgba(0,0,0,.5)}
.pl-pg-n .pl-w{position:static;display:inline-flex;flex-wrap:wrap;justify-content:center;white-space:normal;font-size:inherit}
.pl-pg-s{margin:24px 0 0;font-size:clamp(12px,1.6vw,15px);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8);opacity:0;animation:plKick .8s .5s forwards}
.pl.short{cursor:pointer}
@media (prefers-reduced-motion:reduce){.pl-pg-ph img{animation:none;transform:none}}
.pl.short .pl-page{z-index:auto}.pl-pg-ph{z-index:1}

.pl-pg-n .pl-w.long{font-size:.72em}.pl-pg-n .pl-w.xlong{font-size:.56em}
