/* Let's View Tanzania — main styles. Mobile first. Colours come from Dashboard → Settings → Design. */
:root{
	--deep:#0E2233;--brand:#E8601C;--gold:#F6B638;--green:#1E6B52;--sand:#FFF6EA;--ink:#1B2430;--r:22px;
	--brand-d:color-mix(in srgb,var(--brand) 82%,#000);--brand-l:color-mix(in srgb,var(--brand) 14%,#fff);
	--deep-2:color-mix(in srgb,var(--deep) 86%,#fff);--gold-l:color-mix(in srgb,var(--gold) 22%,#fff);
	--muted:color-mix(in srgb,var(--ink) 62%,#fff);--line:color-mix(in srgb,var(--ink) 12%,transparent);
	--card:#fff;--wa:#1FAF5A;
	--sh-1:0 2px 8px rgba(14,34,51,.06),0 10px 30px rgba(14,34,51,.08);
	--sh-2:0 6px 18px rgba(14,34,51,.10),0 24px 60px rgba(14,34,51,.14);
	--r-s:calc(var(--r) * .55);--r-l:calc(var(--r) * 1.45);
	--fd:'Bricolage','Arial Black',system-ui,sans-serif;--fb:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
	--gut:16px;--max:1240px;--sec:clamp(54px,7vw,96px);
	--ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--sand);color:var(--ink);font:500 16px/1.62 var(--fb);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg,video,iframe{max-width:100%;display:block}
img{height:auto}
a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--brand)}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--fd);font-weight:800;line-height:1.08;letter-spacing:-.022em;margin:0 0 .5em;color:var(--deep);text-wrap:balance}
p{margin:0 0 1em}
ul,ol{padding:0;margin:0;list-style:none}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:820px}
.center{text-align:center}
.sr,.hp{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:999;background:var(--deep);color:#fff;padding:10px 16px;border-radius:999px}
.skip:focus{left:8px}
.ic{width:1.15em;height:1.15em;flex:none}
.small{font-size:.86rem;color:var(--muted)}
.muted{color:var(--muted)}
.empty{padding:28px;text-align:center;color:var(--muted);background:#fff;border-radius:var(--r);box-shadow:var(--sh-1)}
.alert{background:#FDECEC;color:#8A1C1C;padding:12px 16px;border-radius:12px}
@media(max-width:599px){.hide-sm{display:none!important}}
@media(max-width:899px){.hide-md{display:none!important}}

/* ---------- Highlighted words (dual-colour headings) ---------- */
.hl{color:var(--brand);position:relative;white-space:nowrap;z-index:0}
.hl::after{content:"";position:absolute;left:-.04em;right:-.04em;bottom:.04em;height:.28em;background:var(--gold);opacity:.55;border-radius:.2em;z-index:-1;transform:skewX(-12deg) scaleX(0);transform-origin:left;transition:transform .9s var(--ease) .25s}
.is-in .hl::after,.sh.is-in .hl::after,.phero .hl::after,.hero .hl::after,h1 .hl::after{transform:skewX(-12deg) scaleX(1)}
.phero .hl,.cta .hl,.planband .hl,.thero .hl{color:var(--gold)}
.phero .hl::after,.cta .hl::after,.planband .hl::after{background:var(--brand);opacity:.7}
@media (max-width:640px){.hl{white-space:normal;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(transparent 70%,var(--hlu,rgba(246,182,56,.55)) 70%,var(--hlu,rgba(246,182,56,.55)) 94%,transparent 94%)}.hl::after{display:none}.phero .hl,.cta .hl,.planband .hl{--hlu:rgba(232,96,28,.7)}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.78em 1.35em;border-radius:999px;border:2px solid transparent;font-weight:800;font-size:.98rem;line-height:1.1;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s,background .2s,color .2s;text-align:center;max-width:100%;-webkit-tap-highlight-color:transparent}
.site-head .btn,.dock .btn,.buybar .btn{white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--primary{background:linear-gradient(135deg,var(--brand),var(--brand-d));color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--brand) 38%,transparent)}
.btn--primary:hover{color:#fff;box-shadow:0 12px 30px color-mix(in srgb,var(--brand) 50%,transparent)}
.btn--dark{background:var(--deep);color:#fff}
.btn--dark:hover{color:#fff;background:var(--deep-2)}
.btn--outline{border-color:var(--deep);color:var(--deep);background:transparent}
.btn--outline:hover{background:var(--deep);color:#fff}
.btn--outline-light{border-color:rgba(255,255,255,.7);color:#fff}
.btn--outline-light:hover{background:#fff;color:var(--deep)}
.btn--glass{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.45);color:#fff;backdrop-filter:blur(8px)}
.btn--glass:hover{background:#fff;color:var(--deep)}
.btn--wa{background:var(--wa);color:#fff}
.btn--wa:hover{color:#fff;background:#15904a}
.btn--ghost{background:var(--brand-l);color:var(--brand-d)}
.btn--link{min-height:0;padding:.3em 0;color:var(--brand-d);border-radius:0}
.btn--sm{min-height:38px;padding:.5em 1em;font-size:.88rem}
.btn--lg{min-height:56px;font-size:1.05rem;padding:.9em 1.6em}
.btn--block{width:100%}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.btns--center{justify-content:center}
.btns--stack{flex-direction:column;align-items:stretch;flex-wrap:nowrap}
.btns.btns--stack>.btn{flex:none}
.btns--stack .btn{width:100%}
@media(max-width:479px){.btns:not(.btns--keep)>.btn{flex:1 1 100%}}

/* ---------- Section heads ---------- */
.sec{padding:var(--sec) 0}
.sec--soft{background:color-mix(in srgb,var(--gold) 9%,var(--sand))}
.eyebrow{display:inline-flex;align-items:center;gap:.5em;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-d);background:var(--brand-l);padding:.45em .9em;border-radius:999px;margin-bottom:14px}
.eyebrow--light{color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px)}
.sh{max-width:760px;margin:0 auto 34px}
.sh--center{text-align:center}
.sh--left{margin-left:0}
.sh__t{font-size:clamp(1.9rem,4.4vw,3.15rem);margin-bottom:.35em}
.sh__i{font-size:1.06rem;color:var(--muted);margin:0}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal,.reduce .reveal{opacity:1;transform:none}

/* ---------- Mountain ridge divider ---------- */
.ridge{position:absolute;left:0;right:0;bottom:-1px;height:clamp(28px,5vw,70px);pointer-events:none;z-index:3}
.ridge svg{width:100%;height:100%}
.ridge path{fill:var(--sand)}
.ridge--foot{top:-1px;bottom:auto;transform:scaleY(-1)}
.ridge--foot path{fill:var(--sand)}

/* ---------- Sample banner ---------- */
.sample-bar{background:linear-gradient(90deg,#0B0F0D,#14261C);color:#fff;font-size:.86rem;position:relative;z-index:60}
.sample-bar__in{display:flex;align-items:center;gap:10px;min-height:42px;padding-top:6px;padding-bottom:6px}
.sample-bar p{margin:0;flex:1;line-height:1.35}
.sample-bar__dot{color:#53E07A;display:flex}
.sample-bar__link{display:inline-flex;align-items:center;gap:6px;background:#53E07A;color:#0B0F0D;font-weight:800;padding:6px 12px;border-radius:999px;text-decoration:none;white-space:nowrap}
.sample-bar__link:hover{color:#0B0F0D;background:#fff}

/* ---------- Top bar ---------- */
.topbar{background:var(--deep);color:rgba(255,255,255,.88);font-size:.84rem;position:relative;z-index:55}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}
.topbar__list{display:flex;gap:18px;align-items:center}
.topbar__list li,.topbar__list a,.topbar__promise{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.topbar a:hover{color:var(--gold)}
.topbar__right{display:flex;align-items:center;gap:12px}
.topbar__promise{color:var(--gold);font-weight:700}
.cur select{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:3px 8px;font-size:.8rem;font-weight:700}
.cur option{color:var(--ink)}
.langs{position:relative}
.langs__btn{display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:3px 9px;font-weight:800;font-size:.8rem;cursor:pointer}
.langs__btn .ic:last-child{width:.9em}
.langs__menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;color:var(--ink);border-radius:14px;box-shadow:var(--sh-2);padding:6px;min-width:160px;display:none;z-index:80}
.langs.is-open .langs__menu{display:block}
.langs__menu a{display:block;padding:8px 12px;border-radius:9px;text-decoration:none;font-weight:600}
.langs__menu a:hover,.langs__menu a[aria-current]{background:var(--brand-l);color:var(--brand-d)}

/* ---------- Header ---------- */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.site-head.is-scrolled{box-shadow:0 10px 30px rgba(14,34,51,.10)}
.site-head__in{display:flex;align-items:center;gap:14px;min-height:72px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--deep);flex:none}
.logo:hover{color:var(--deep)}
.logo__mark svg{width:42px;height:42px}
.logo__word{font-family:var(--fd);font-weight:700;font-size:1.06rem;line-height:1;letter-spacing:-.01em}
.logo__word b{display:block;font-weight:800;font-size:1.22rem;color:var(--brand)}
.logo__img{display:inline-flex;align-items:center;background:#fff;border-radius:14px;padding:5px 10px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.logo__pic{height:48px;width:auto;max-width:190px;object-fit:contain}
.logo--sm .logo__pic{height:40px}
.nav{margin-left:auto;display:none}
.nav__list{display:flex;gap:2px}
.nav__item{position:relative}
.nav__item>a{display:inline-flex;align-items:center;gap:4px;padding:10px 12px;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;color:var(--deep)}
.nav__item>a .ic{width:.85em;opacity:.6;transition:transform .2s}
.nav__item:hover>a,.nav__item:focus-within>a{background:var(--brand-l);color:var(--brand-d)}
.nav__item:hover>a .ic{transform:rotate(180deg)}
.nav__sub{position:absolute;left:0;top:100%;min-width:250px;background:#fff;border-radius:16px;box-shadow:var(--sh-2);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s var(--ease)}
.nav__item:hover .nav__sub,.nav__item:focus-within .nav__sub{opacity:1;visibility:visible;transform:none}
.nav__sub a{display:block;padding:9px 12px;border-radius:10px;text-decoration:none;font-weight:600;font-size:.94rem}
.nav__sub a:hover{background:var(--sand);color:var(--brand-d)}
.site-head__cta{display:flex;align-items:center;gap:8px;margin-left:auto}
.site-head__cta .btn{min-height:44px;padding:.6em 1.05em;font-size:.92rem}
.burger{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;border:0;background:var(--deep);color:#fff;cursor:pointer}
.burger .ic{width:22px;height:22px}
@media(min-width:1100px){.nav{display:block}.site-head__cta{margin-left:10px}.burger{display:none}}
@media(max-width:479px){.site-head__cta .btn--primary span{display:none}.site-head__cta .btn--primary{width:46px;padding:0}.logo__word{font-size:.95rem}.logo__word b{font-size:1.08rem}}

/* Drawer */
.drawer{position:fixed;inset:0;z-index:90;background:rgba(9,20,30,.55);backdrop-filter:blur(3px)}
.drawer[hidden]{display:none}
.drawer__panel{position:absolute;right:0;top:0;bottom:0;width:min(420px,92vw);background:#fff;overflow:auto;padding:16px 18px 28px;animation:slideIn .35s var(--ease)}
@keyframes slideIn{from{transform:translateX(30px);opacity:0}}
.drawer__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.drawer__x{width:44px;height:44px;border-radius:12px;border:0;background:var(--sand);display:grid;place-items:center;cursor:pointer}
.drawer__list>li{border-bottom:1px solid var(--line)}
.drawer__list a,.drawer__list summary{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;font-weight:800;font-size:1.06rem;text-decoration:none;cursor:pointer;list-style:none;color:var(--deep)}
.drawer__list summary::-webkit-details-marker{display:none}
.drawer__list details[open] summary .ic{transform:rotate(180deg)}
.drawer__list ul a{font-weight:600;font-size:.98rem;padding:9px 12px;color:var(--ink)}
.drawer__cta{display:grid;gap:10px;margin:20px 0}
.drawer__langs{display:flex;flex-wrap:wrap;gap:6px}
.drawer__langs a{padding:8px 12px;border-radius:999px;background:var(--sand);text-decoration:none;font-weight:800;font-size:.85rem}
.drawer__langs a[aria-current]{background:var(--deep);color:#fff}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:min(100svh,880px);display:flex;align-items:center;color:#fff;overflow:hidden;isolation:isolate;padding:clamp(36px,6vw,70px) 0 clamp(70px,9vw,120px)}
.hero__slides,.hero__slide{position:absolute;inset:0}
.hero__slides{z-index:-2}
.hero__slide{opacity:0;transition:opacity 1.6s ease}
.hero__slide.is-on{opacity:1}
.hero__slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 9s linear}
.hero__slide.is-on img{transform:scale(1)}
.hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(9,22,33,.88) 0%,rgba(9,22,33,.62) 42%,rgba(9,22,33,.18) 75%),linear-gradient(0deg,rgba(9,22,33,.55),transparent 40%)}
.hero__in{display:grid;gap:30px;align-items:center}
.hero__t{color:#fff;font-size:clamp(2.6rem,8.4vw,5.4rem);line-height:.98;margin-bottom:.32em;letter-spacing:-.035em}
.rotator{display:grid;color:var(--gold)}
.rotator__w{grid-area:1/1;opacity:0;transform:translateY(.4em) rotateX(-40deg);transition:opacity .55s var(--ease),transform .55s var(--ease);white-space:nowrap}
.rotator__w.is-on{opacity:1;transform:none}
.hero__t2{display:block;font-size:.62em;color:#fff;opacity:.92}
.hero__lead{font-size:clamp(1.02rem,2vw,1.2rem);max-width:560px;color:rgba(255,255,255,.9)}
.hero__trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-weight:700;font-size:.92rem}
.hero__trust li{display:inline-flex;gap:7px;align-items:center}
.hero__trust .ic{color:var(--gold)}
.hero__dots{position:absolute;left:50%;bottom:clamp(44px,7vw,90px);transform:translateX(-50%);display:flex;gap:7px;z-index:4}
.hero__dots i{width:9px;height:9px;border-radius:9px;background:rgba(255,255,255,.4);transition:.3s}
.hero__dots i.is-on{width:26px;background:var(--gold)}
@media(min-width:980px){.hero__in{grid-template-columns:1.25fr .85fr}}

/* Quick plan card */
.quick{background:#fff;color:var(--ink);border-radius:var(--r-l);padding:22px;box-shadow:var(--sh-2);position:relative}
.quick__tag{position:absolute;top:-13px;left:22px;background:var(--gold);color:var(--deep);font-weight:800;font-size:.76rem;padding:5px 12px;border-radius:999px;letter-spacing:.04em}
.quick__t{font-size:1.5rem;margin:6px 0 14px}
.quick__want{border:0;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.quick__want legend{font-weight:800;font-size:.9rem;margin-bottom:8px}
.quick__row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.quick__row label{display:grid;gap:4px;font-size:.82rem;font-weight:800}
.quick__when{grid-column:1/-1}
.quick select,.field input,.field select,.field textarea,.news input,.sel select,.filters select{width:100%;min-height:48px;border:1.5px solid var(--line);border-radius:14px;background:#fff;padding:10px 14px;font-weight:600;transition:border-color .2s,box-shadow .2s}
.quick select:focus,.field input:focus,.field textarea:focus,.field select:focus,.news input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-l)}
.quick__note{display:flex;gap:6px;align-items:center;justify-content:center;font-size:.82rem;color:var(--muted);margin:10px 0 0}
.quick__note .ic{color:var(--green)}

/* Chips */
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span,.chip--link{display:inline-flex;align-items:center;gap:7px;justify-content:center;width:100%;min-height:46px;padding:9px 14px;border-radius:14px;border:1.5px solid var(--line);font-weight:700;font-size:.93rem;background:#fff;cursor:pointer;transition:.2s}
.chip input:checked+span{border-color:var(--brand);background:var(--brand-l);color:var(--brand-d);box-shadow:inset 0 0 0 1px var(--brand)}
.chip input:focus-visible+span{outline:3px solid var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips--wrap .chip span{width:auto}
.chip--link{width:auto;text-decoration:none;border-radius:999px;min-height:42px;background:#fff}
.chip--link:hover{border-color:var(--brand);color:var(--brand-d)}
.chip--link .ic{width:.9em;color:var(--brand)}

/* ---------- Trust ribbon ---------- */
.trust{position:relative;z-index:5;margin-top:-30px}
.trust__list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.trust__list li{background:#fff;border-radius:var(--r);box-shadow:var(--sh-1);padding:16px;display:grid;gap:2px;align-content:start}
.trust__list .ic{width:28px;height:28px;color:var(--brand);margin-bottom:6px}
.trust__list strong{font-family:var(--fd);font-size:1.02rem;color:var(--deep)}
.trust__list span{font-size:.85rem;color:var(--muted)}
.trust__list li:last-child{grid-column:1/-1}
@media(min-width:900px){.trust__list{grid-template-columns:repeat(5,1fr)}.trust__list li:last-child{grid-column:auto}}

/* ---------- Tabs ---------- */
.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 12px;margin-bottom:10px;justify-content:flex-start}
.tabs::-webkit-scrollbar{display:none}
@media(min-width:900px){.sec--trips .tabs,.tabs--center{justify-content:center}}
.tab{flex:none;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:10px 18px;font-weight:800;font-size:.92rem;cursor:pointer;transition:.2s;color:var(--deep)}
.tab:hover{border-color:var(--brand)}
.tab.is-on{background:var(--deep);border-color:var(--deep);color:#fff}

/* ---------- Trip cards ---------- */
.card{background:var(--card);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-1);display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s}
.card:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.card[hidden]{display:none}
.card__img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--deep)}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover .card__img img{transform:scale(1.07)}
.card__days{position:absolute;right:12px;bottom:12px;display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.94);color:var(--deep);font-weight:800;font-size:.82rem;padding:6px 11px;border-radius:999px}
.ribbon{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:5px;background:var(--brand);color:#fff;font-weight:800;font-size:.76rem;padding:6px 11px;border-radius:999px;letter-spacing:.02em;box-shadow:0 6px 16px rgba(0,0,0,.18);z-index:2}
.ribbon .ic{width:1em}
.ribbon--value{background:var(--gold);color:var(--deep)}
.ribbon--pick{background:var(--brand)}
.ribbon--lg{position:static;font-size:.82rem;padding:7px 14px;margin-bottom:14px}
.card__body{padding:18px 18px 16px;display:flex;flex-direction:column;flex:1}
.card__type{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-d)}
.card__t{font-size:1.2rem;margin:6px 0 8px}
.card__t a{text-decoration:none}
.card__s{font-size:.92rem;color:var(--muted);margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;border-top:1px dashed var(--line);padding-top:12px}
.card__go{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--deep);transition:.25s}
.card:hover .card__go{background:var(--brand);color:#fff;transform:rotate(-30deg)}
.card--pick{box-shadow:0 0 0 2px var(--brand),var(--sh-1)}
.card--value{box-shadow:0 0 0 2px var(--gold),var(--sh-1)}
.price{display:grid;line-height:1.15}
.price small{font-size:.74rem;color:var(--muted);font-weight:700}
.price strong{font-family:var(--fd);font-size:1.45rem;color:var(--deep);letter-spacing:-.02em}
.price del{font-size:.85rem;color:var(--muted);font-weight:700}
.price--lg strong{font-size:2rem}
.grid{display:grid;gap:18px}
@media(min-width:640px){.grid--3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.grid--3{grid-template-columns:repeat(3,1fr);gap:24px}}

/* Rails */
.rail{position:relative}
.rail__track{display:grid;grid-auto-flow:column;grid-auto-columns:min(84%,340px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 22px;scrollbar-width:none;cursor:grab;-webkit-mask:linear-gradient(90deg,#000 92%,transparent)}
.rail__track::-webkit-scrollbar{display:none}
.rail__track>*{scroll-snap-align:start}
.rail__track.is-drag{cursor:grabbing;scroll-snap-type:none}
.rail__nav{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:4px}
.rail__nav button{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s}
.rail__nav button:hover:not(:disabled){background:var(--deep);color:#fff}
.rail__nav button:disabled{opacity:.35;cursor:default}
.rail__bar{width:140px;height:4px;border-radius:4px;background:var(--line);overflow:hidden}
.rail__bar i{display:block;height:100%;width:30%;background:var(--brand);border-radius:4px;transition:transform .15s}
@media(min-width:1000px){.rail__track{grid-auto-columns:calc((100% - 54px)/4)}}

/* ---------- Spotlight bands (most recommended / great value) ---------- */
.spot{padding:var(--sec) 0;background:linear-gradient(180deg,var(--sand),color-mix(in srgb,var(--brand) 7%,var(--sand)))}
.spot--value{background:linear-gradient(180deg,var(--sand),color-mix(in srgb,var(--gold) 16%,var(--sand)))}
.spot__in{display:grid;gap:30px;align-items:center}
.spot__media{position:relative}
.spot__main{border-radius:200px 200px var(--r-l) var(--r-l);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-2);max-width:520px}
.spot__main img{width:100%;height:100%;object-fit:cover}
.spot__seal{position:absolute;right:4%;top:8%;width:110px;height:110px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;text-align:center;font-family:var(--fd);font-weight:800;font-size:.86rem;line-height:1.1;box-shadow:var(--sh-2);transform:rotate(-10deg);padding:14px;animation:float 6s ease-in-out infinite}
.spot__seal .ic{width:26px;height:26px;margin:0 auto 4px}
.spot--value .spot__seal{background:var(--gold);color:var(--deep)}
@keyframes float{50%{transform:rotate(-6deg) translateY(-8px)}}
.spot__thumbs{display:flex;gap:10px;margin-top:-46px;margin-left:20px;position:relative}
.spot__thumbs a{width:76px;height:76px;border-radius:18px;overflow:hidden;border:4px solid #fff;box-shadow:var(--sh-1)}
.spot__thumbs img{width:100%;height:100%;object-fit:cover}
.spot__t{font-size:clamp(1.9rem,4vw,2.9rem)}
.spot__route{display:flex;gap:8px;color:var(--muted);font-weight:600;font-size:.94rem}
.spot__route .ic{color:var(--brand);margin-top:3px}
.spot__q{margin:18px 0;padding:18px 20px;background:#fff;border-radius:var(--r);border-left:5px solid var(--brand);box-shadow:var(--sh-1)}
.spot--value .spot__q{border-left-color:var(--gold)}
.spot__q p{font-size:1.06rem;font-weight:600;margin-bottom:6px}
.spot__q cite{font-style:normal;font-size:.85rem;color:var(--muted);font-weight:700}
.spot__days{display:grid;gap:6px;margin:16px 0;counter-reset:d}
.spot__days li{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;font-size:.93rem;font-weight:600}
.spot__days b{width:30px;height:30px;border-radius:50%;background:var(--deep);color:#fff;display:grid;place-items:center;font-size:.8rem}
.spot__days em{font-style:normal;font-size:.78rem;font-weight:800;color:var(--brand-d);background:var(--brand-l);border-radius:999px;padding:2px 8px}
.spot__buy{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:20px}
.spot__buy .btns{margin:0}
@media(min-width:980px){.spot__in{grid-template-columns:.9fr 1.1fr;gap:60px}.spot--value .spot__media{order:2}.spot--value .spot__seal{right:auto;left:4%}}

/* Facts */
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.facts li{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-weight:700;font-size:.88rem}
.facts .ic{color:var(--brand)}
.facts--light li{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff;backdrop-filter:blur(6px)}
.facts--light .ic{color:var(--gold)}

/* ---------- Services ---------- */
.services{display:grid;gap:14px;grid-template-columns:1fr}
.service{position:relative;border-radius:var(--r-l);overflow:hidden;min-height:220px;color:#fff;text-decoration:none;display:flex;isolation:isolate;box-shadow:var(--sh-1)}
.service img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}
.service::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(9,22,33,.92),rgba(9,22,33,.15) 70%)}
.service:hover{color:#fff}
.service:hover img{transform:scale(1.07)}
.service__body{margin-top:auto;padding:20px;display:grid;gap:4px}
.service strong{font-family:var(--fd);font-size:1.3rem}
.service__body>span{font-size:.92rem;opacity:.88}
.service em{font-style:normal;font-weight:800;color:var(--gold);display:inline-flex;gap:6px;align-items:center;margin-top:6px;font-size:.9rem}
@media(min-width:640px){.services{grid-template-columns:repeat(2,1fr)}.service--big{grid-column:1/-1}}
@media(min-width:1000px){.services{grid-template-columns:repeat(4,1fr);grid-auto-rows:240px}.service--big{grid-column:span 2;grid-row:span 2}.service--big strong{font-size:2rem}.service:nth-child(n+6){grid-column:span 2}}

/* ---------- Group departures band ---------- */
.sec--groups{background:var(--deep);color:#fff;position:relative;overflow:hidden}
.sec--groups::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,240,200,.16),transparent 68%);right:-140px;top:-180px}
.sec--groups .sh__t{color:#fff}.sec--groups .sh__i{color:rgba(255,255,255,.75)}
.sec--groups .eyebrow{background:rgba(255,255,255,.1);color:var(--gold)}
.groups{display:grid;gap:30px;align-items:center;position:relative}
.deps{display:grid;gap:12px}
.dep{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:14px}
.dep__date{display:grid;place-items:center;text-align:center;width:72px;height:72px;border-radius:18px;background:var(--brand);font-weight:800;font-size:.76rem;line-height:1.05;text-transform:uppercase}
.dep__date b{font-family:var(--fd);font-size:1.7rem}
.dep__main{display:grid;gap:5px}
.dep__main a{color:#fff;font-weight:800;text-decoration:none}
.dep__main a:hover{color:var(--gold)}
.dep__main small{color:rgba(255,255,255,.7);font-size:.8rem}
.dep__price{grid-column:2;display:flex;gap:6px;align-items:baseline;font-family:var(--fd);font-weight:800;font-size:1.2rem;color:var(--gold)}
.dep__price small{font-family:var(--fb);font-size:.75rem;color:rgba(255,255,255,.7)}
.moon{font-style:normal;font-size:.76rem;font-weight:800;color:var(--gold);display:inline-flex;gap:4px;align-items:center}
.seats{display:block;height:6px;border-radius:6px;background:rgba(127,127,127,.25);overflow:hidden;max-width:220px}
.seats i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--brand));border-radius:6px}
@media(min-width:700px){.dep{grid-template-columns:auto 1fr auto}.dep__price{grid-column:auto;flex-direction:column;align-items:flex-end;gap:0}}
@media(min-width:1000px){.groups{grid-template-columns:.85fr 1.15fr;gap:50px}}

/* ---------- Promise ---------- */
.promise{display:grid;gap:40px;align-items:center}
.promise__pics{position:relative;max-width:560px;margin:0 auto;width:100%;padding-bottom:60px}
.promise__a{border-radius:var(--r-l) 160px var(--r-l) var(--r-l);overflow:hidden;aspect-ratio:4/5;width:78%;box-shadow:var(--sh-2)}
.promise__b{position:absolute;right:0;bottom:0;width:52%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:8px solid var(--sand);box-shadow:var(--sh-2)}
.promise__a img,.promise__b img{width:100%;height:100%;object-fit:cover}
.promise__stamp{position:absolute;left:6%;bottom:10%;background:var(--gold);color:var(--deep);border-radius:18px;padding:12px 16px;font-size:.84rem;font-weight:700;box-shadow:var(--sh-1);display:grid;line-height:1.2}
.promise__stamp strong{font-family:var(--fd);font-size:1.5rem}
.promises{display:grid;gap:14px}
.promises__i{background:#fff;border-radius:var(--r);padding:18px;box-shadow:var(--sh-1)}
.promises__i .ic{width:34px;height:34px;padding:7px;border-radius:12px;background:var(--brand-l);color:var(--brand);margin-bottom:10px}
.promises__i h3{font-size:1.1rem;margin-bottom:4px}
.promises__i p{font-size:.92rem;color:var(--muted);margin:0}
@media(min-width:640px){.promises{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.promise{grid-template-columns:.9fr 1.1fr;gap:60px}}

/* ---------- Destinations ---------- */
.sec--dests{background:var(--deep);position:relative}
.sec--dests .sh__t{color:#fff}.sec--dests .sh__i{color:rgba(255,255,255,.75)}
.sec--dests .eyebrow{background:rgba(255,255,255,.1);color:var(--gold)}
.dests{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.dest{position:relative;border-radius:var(--r-l);overflow:hidden;aspect-ratio:3/4;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;isolation:isolate}
.dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}
.dest::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(9,22,33,.9),transparent 60%)}
.dest:hover{color:#fff}.dest:hover img{transform:scale(1.08)}
.dest strong{font-family:var(--fd);font-size:1.12rem;line-height:1.15}
.dest__n{align-self:flex-start;margin-bottom:auto;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border-radius:999px;font-size:.74rem;font-weight:800;padding:5px 10px}
@media(min-width:800px){.dests{grid-template-columns:repeat(4,1fr);gap:16px}.dest:nth-child(even){transform:translateY(26px)}.dest:nth-child(even).reveal:not(.is-in){transform:translateY(48px)}}

/* ---------- Planner band ---------- */
.planband{position:relative;color:#fff;padding:var(--sec) 0;overflow:hidden;isolation:isolate}
.planband__bg{position:absolute;inset:0;z-index:-2}
.planband__bg img{width:100%;height:100%;object-fit:cover}
.planband::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,rgba(9,22,33,.94) 30%,rgba(9,22,33,.55))}
.planband__in{display:grid;gap:34px;align-items:center}
.planband__t{color:#fff;font-size:clamp(2rem,4.6vw,3.2rem)}
.planband p{color:rgba(255,255,255,.86);font-size:1.05rem;max-width:560px}
.steps{display:grid;gap:10px;margin:22px 0 4px}
.steps li{display:flex;gap:12px;align-items:center;font-weight:700}
.steps b{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--gold);color:var(--deep);font-family:var(--fd)}
.demo{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);border-radius:var(--r-l);padding:20px;max-width:380px;margin:0 auto;box-shadow:var(--sh-2);transform:rotate(2deg)}
.demo__row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14);font-weight:700}
.demo__row span{display:flex;gap:9px;align-items:center}
.demo__row .ic{color:var(--gold)}
.demo__row b{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.14);display:grid;place-items:center}
.demo__total{display:grid;text-align:center;padding-top:16px}
.demo__total strong{font-family:var(--fd);font-size:2.3rem;color:var(--gold)}
.demo__total small{opacity:.75;font-weight:700}
@media(min-width:980px){.planband__in{grid-template-columns:1.2fr .8fr}}

/* ---------- Why ---------- */
.why{display:grid;gap:36px;align-items:center}
.ticks{display:grid;gap:10px}
.ticks li{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.ticks .ic{flex:none;width:24px;height:24px;padding:4px;border-radius:50%;background:var(--green);color:#fff;margin-top:1px}
.ticks--grid{margin:18px 0}
@media(min-width:700px){.ticks--grid{grid-template-columns:1fr 1fr}}
.why__pic{position:relative;max-width:520px;margin:0 auto;width:100%}
.why__pic>img{border-radius:var(--r-l);aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--sh-2)}
.counters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:-60px 14px 0;position:relative}
.counters div{background:#fff;border-radius:var(--r);padding:14px;box-shadow:var(--sh-1);display:grid}
.counters strong{font-family:var(--fd);font-size:1.6rem;color:var(--brand);line-height:1.1}
.counters span{font-size:.82rem;color:var(--muted);font-weight:700}
.counters--row{margin:24px 0 0}
@media(min-width:700px){.counters--row{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1000px){.why{grid-template-columns:1.1fr .9fr;gap:60px}}

/* ---------- Reviews ---------- */
.badges{display:grid;gap:12px;margin-bottom:26px}
.badge{display:flex;gap:14px;align-items:center;background:#fff;border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh-1);text-decoration:none;transition:transform .25s}
.badge:hover{transform:translateY(-4px);color:inherit}
.badge>span:last-child{display:grid;gap:2px}
.badge strong{font-family:var(--fd);font-size:1.08rem;color:var(--deep)}
.badge small{color:var(--muted);font-weight:700;font-size:.82rem}
.badge__logo{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;flex:none;color:#fff;font-weight:900;font-size:1.4rem;font-family:var(--fd)}
.badge__logo .ic{width:30px;height:30px}
.badge__logo--ta{background:#34E0A1;color:#000}
.badge__logo--sb{background:#F28C28}
.badge__logo--g{background:#fff;color:#4285F4;box-shadow:inset 0 0 0 2px #EAEAEA}
@media(min-width:800px){.badges{grid-template-columns:repeat(3,1fr)}}
.stars{display:inline-flex;gap:1px;color:#D9D3C7;font-size:1.02rem;letter-spacing:1px}
.stars i{font-style:normal}
.stars .on{color:#F5A623}
.reviews{display:grid;gap:14px}
.reviews>*,.grid>*,.posts>*,.services>*,.deps>*,.faqwrap>*,.tour>*,.planner>*{min-width:0}
.review{margin:0;background:#fff;border-radius:var(--r-l);padding:22px;box-shadow:var(--sh-1);display:flex;flex-direction:column;gap:10px}
.review blockquote{margin:0;font-size:1.06rem;font-weight:600}
.review blockquote p{margin:0}
.review figcaption{display:flex;gap:12px;align-items:center;margin-top:auto}
.review figcaption>span:last-child{display:grid;line-height:1.3}
.review small{color:var(--muted)}
.review em{font-style:normal;font-size:.76rem;font-weight:800;color:var(--brand-d)}
.review__av{width:44px;height:44px;border-radius:50%;background:var(--deep);color:#fff;display:grid;place-items:center;font-weight:800;font-family:var(--fd)}
.review--cta{background:var(--deep);color:#fff}
.review--cta h3{color:#fff}
.review--cta p{color:rgba(255,255,255,.8)}
.review--cta .btn--outline{color:#fff;border-color:rgba(255,255,255,.6)}
@media(min-width:800px){.reviews{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}

/* ---------- Posts ---------- */
.posts{display:grid;gap:18px}
@media(min-width:700px){.posts{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.posts{grid-template-columns:repeat(3,1fr)}}
.post{background:#fff;border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-1);display:flex;flex-direction:column}
.post__img{position:relative;aspect-ratio:16/10;overflow:hidden;display:block}
.post__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.post:hover .post__img img{transform:scale(1.06)}
.post__date{position:absolute;left:14px;top:14px;background:#fff;border-radius:14px;padding:6px 10px;text-align:center;font-size:.72rem;font-weight:800;text-transform:uppercase;line-height:1.1;display:grid}
.post__date b{font-family:var(--fd);font-size:1.3rem;color:var(--brand)}
.post__body{padding:18px;display:flex;flex-direction:column;flex:1}
.post__meta{font-size:.8rem;color:var(--muted);font-weight:700}
.post h3{font-size:1.2rem;margin:6px 0 8px}
.post h3 a{text-decoration:none}
.post p{font-size:.93rem;color:var(--muted)}
.more{margin-top:auto;display:inline-flex;gap:6px;align-items:center;font-weight:800;color:var(--brand-d);text-decoration:none}

/* ---------- Photo strip ---------- */
.strip{padding:10px 0 var(--sec);overflow:hidden}
.strip__track{display:flex;gap:12px;width:max-content;animation:marquee 60s linear infinite}
.strip:hover .strip__track{animation-play-state:paused}
.strip__i{width:clamp(180px,22vw,280px);aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;flex:none}
.strip__i:nth-child(odd){transform:translateY(16px)}
.strip__i img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.strip__i:hover img{transform:scale(1.08)}
@keyframes marquee{to{transform:translateX(-50%)}}
.strip .btns{margin-top:34px}

/* ---------- Expert ---------- */
.sec--expert{background:linear-gradient(180deg,var(--sand),color-mix(in srgb,var(--green) 8%,var(--sand)))}
.expert{display:grid;gap:32px;align-items:center}
.expert__pic{position:relative;max-width:440px;margin:0 auto;width:100%}
.expert__pic img{border-radius:50% 50% var(--r-l) var(--r-l);aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--sh-2)}
.expert__badge{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);background:#fff;border-radius:999px;padding:9px 16px;font-weight:800;font-size:.86rem;box-shadow:var(--sh-1);display:flex;gap:8px;align-items:center;white-space:nowrap}
.expert__badge i{width:10px;height:10px;border-radius:50%;background:var(--wa);box-shadow:0 0 0 4px rgba(31,175,90,.2);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(31,175,90,0)}}
.expert__text p{font-size:1.06rem}
.expert__who{color:var(--muted);font-size:.95rem!important}
.contacts{display:grid;gap:10px;margin-top:18px}
.contact{display:flex;gap:12px;align-items:center;background:#fff;border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh-1);text-decoration:none;transition:transform .2s}
a.contact:hover{transform:translateY(-3px);color:inherit}
.contact>.ic{width:42px;height:42px;padding:10px;border-radius:14px;background:var(--brand-l);color:var(--brand)}
.contact span{display:grid;line-height:1.3;min-width:0}
.contact small{color:var(--muted);font-weight:700;font-size:.78rem}
.contact strong{font-size:.98rem;overflow-wrap:anywhere}
.contact--wa>.ic{background:var(--wa);color:#fff}
@media(min-width:700px){.contacts{grid-template-columns:repeat(3,1fr)}.contacts--stack{grid-template-columns:1fr}}
@media(min-width:1000px){.expert{grid-template-columns:.8fr 1.2fr;gap:60px}}

/* ---------- FAQ ---------- */
.faqwrap{display:grid;gap:30px}
.faq{display:grid;gap:10px}
.faq__i{background:#fff;border-radius:var(--r);box-shadow:var(--sh-1);overflow:hidden}
.faq__i summary{list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:17px 20px;font-weight:800;cursor:pointer;font-size:1.02rem}
.faq__i summary::-webkit-details-marker{display:none}
.faq__ic{width:32px;height:32px;padding:7px;border-radius:50%;background:var(--sand);transition:transform .3s,background .3s;flex:none}
.faq__i[open] .faq__ic{transform:rotate(45deg);background:var(--brand);color:#fff}
.faq__a{padding:0 20px 18px;color:var(--muted)}
.faq__a p{margin:0}
.faqgroup{font-size:1.4rem;margin:26px 0 12px}
.faqgroup:first-child{margin-top:0}
.askcard{background:var(--deep);color:#fff;border-radius:var(--r-l);padding:26px;align-self:start;position:sticky;top:100px}
.askcard>.ic{width:52px;height:52px;padding:12px;border-radius:16px;background:var(--brand);margin-bottom:14px}
.askcard h3{color:#fff;font-size:1.5rem}
.askcard p{color:rgba(255,255,255,.8)}
.askcard .btn--link{color:var(--gold)}
@media(min-width:1000px){.faqwrap{grid-template-columns:1.5fr .7fr;gap:50px}}

/* ---------- More places ---------- */
.more-places{background:#fff;border-radius:var(--r-l);padding:clamp(22px,4vw,40px);box-shadow:var(--sh-1);display:grid;gap:22px;align-items:center;border:2px dashed color-mix(in srgb,var(--brand) 30%,transparent)}
.more-places .sh__t{font-size:clamp(1.6rem,3.4vw,2.3rem)}
.more-places p{color:var(--muted);margin:0}
@media(min-width:1000px){.more-places{grid-template-columns:.8fr 1.2fr;gap:40px}}

/* ---------- CTA ---------- */
.cta{position:relative;color:#fff;padding:clamp(80px,11vw,150px) 0;overflow:hidden;isolation:isolate;text-align:center}
.cta__bg{position:absolute;inset:0;z-index:-2}
.cta__bg img{width:100%;height:100%;object-fit:cover}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(9,22,33,.55),rgba(9,22,33,.88))}
.cta h2{color:#fff;font-size:clamp(2.1rem,5.4vw,3.8rem);max-width:820px;margin:0 auto .35em}
.cta p{font-size:1.1rem;color:rgba(255,255,255,.88)}

/* ---------- Page heroes ---------- */
.phero{position:relative;color:#fff;padding:clamp(70px,10vw,130px) 0 clamp(80px,11vw,140px);overflow:hidden;isolation:isolate}
.phero--small{padding:clamp(56px,8vw,96px) 0 clamp(70px,9vw,110px)}
.phero--tall{min-height:min(78svh,700px);display:flex;align-items:center}
.phero__bg{position:absolute;inset:0;z-index:-2}
.phero__bg img{width:100%;height:100%;object-fit:cover}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(9,22,33,.9),rgba(9,22,33,.45))}
.phero h1{color:#fff;font-size:clamp(2.3rem,6vw,4.2rem);max-width:900px}
.phero p{font-size:1.1rem;max-width:660px;color:rgba(255,255,255,.88)}
.phero__meta{font-weight:700}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;font-weight:700;margin-bottom:16px;color:rgba(255,255,255,.75)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--gold)}

/* ---------- Trip page ---------- */
.thero{position:relative;color:#fff;padding:clamp(60px,9vw,120px) 0 clamp(80px,11vw,140px);overflow:hidden;isolation:isolate;min-height:min(86svh,760px);display:flex;align-items:flex-end}
.thero__bg{position:absolute;inset:0;z-index:-2}
.thero__bg img{width:100%;height:100%;object-fit:cover}
.thero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(9,22,33,.95),rgba(9,22,33,.35) 60%,rgba(9,22,33,.2))}
.thero__t{color:#fff;font-size:clamp(2.2rem,6vw,4.4rem);max-width:980px}
.thero__s{font-size:1.15rem;max-width:720px;color:rgba(255,255,255,.88)}
.subnav{position:sticky;top:72px;z-index:40;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 6px 18px rgba(14,34,51,.05)}
.subnav__in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;align-items:center;min-height:54px}
.subnav__in::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:9px 14px;border-radius:999px;font-weight:800;font-size:.9rem;text-decoration:none;color:var(--deep)}
.subnav a.is-on{background:var(--brand-l);color:var(--brand-d)}
.subnav__book{margin-left:auto;background:var(--brand);color:#fff!important}
.tour{display:grid;gap:30px;padding-top:30px;padding-bottom:var(--sec)}
.tour__main{min-width:0}
.tsec{padding:26px 0;border-bottom:1px solid var(--line)}
.tsec:last-child{border:0}
.tsec .sh{margin-bottom:20px}
.tsec .sh__t{font-size:clamp(1.7rem,3.6vw,2.4rem)}
.prose{font-size:1.06rem}
.prose h2{font-size:1.6rem;margin-top:1.5em}
.prose h3{font-size:1.25rem;margin-top:1.3em}
.prose ul{list-style:disc;padding-left:1.3em;margin-bottom:1em}
.prose ol{list-style:decimal;padding-left:1.3em;margin-bottom:1em}
.prose li{margin-bottom:.3em}
.prose a{color:var(--brand-d)}
.prose--article{font-size:1.1rem;line-height:1.75}
.prose--article p:first-child{font-size:1.25rem;font-weight:600;color:var(--deep)}
.note-lang{display:flex;gap:8px;align-items:center;background:var(--gold-l);padding:10px 14px;border-radius:12px;font-size:.92rem!important;font-weight:700}
.route{display:flex;gap:10px;background:#fff;border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh-1);font-size:.95rem}
.route .ic{color:var(--brand);margin-top:3px}
.tgal{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px}
.tgal__i{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.tgal__i img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tgal__i:hover img{transform:scale(1.06)}
.tgal__i--big{grid-column:1/-1;aspect-ratio:16/9}
@media(min-width:800px){.tgal{grid-template-columns:repeat(4,1fr)}.tgal__i--big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}}
.elev{background:var(--deep);border-radius:var(--r-l);padding:18px 14px 8px;margin:0 0 20px;color:#fff}
.elev figcaption{font-family:var(--fd);font-weight:800;padding:0 6px 6px}
.elev svg{width:100%;height:auto}
.elev__g{stroke:rgba(255,255,255,.12);stroke-dasharray:4 5}
.elev__l{fill:rgba(255,255,255,.62);font-size:11px;font-weight:700;font-family:var(--fb)}
.elev__a{fill:url(#none);fill:color-mix(in srgb,var(--brand) 32%,transparent)}
.elev__line{fill:none;stroke:var(--gold);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 2.2s var(--ease)}
.elev.is-in .elev__line{stroke-dashoffset:0}
.elev__p{fill:#fff;stroke:var(--brand);stroke-width:2.5}
.elev__p--top{fill:var(--gold);stroke:#fff}
.elev__top{fill:var(--gold);font-weight:800;font-size:13px;font-family:var(--fd)}
.days{display:grid;gap:10px;counter-reset:d}
.day details{background:#fff;border-radius:var(--r);box-shadow:var(--sh-1);overflow:hidden}
.day summary{list-style:none;display:flex;gap:12px;align-items:center;padding:14px 16px;cursor:pointer}
.day summary::-webkit-details-marker{display:none}
.day__n{flex:none;background:var(--deep);color:#fff;border-radius:12px;padding:6px 10px;font-weight:800;font-size:.8rem}
.day__t{font-weight:800;flex:1}
.day__ic{transition:transform .3s;color:var(--brand)}
.day details[open] .day__ic{transform:rotate(180deg)}
.day details[open] .day__n{background:var(--brand)}
.day__body{padding:0 16px 16px 16px}
.day__body p{color:var(--muted)}
.day__meta{display:flex;flex-wrap:wrap;gap:8px}
.day__meta li{display:inline-flex;gap:6px;align-items:center;background:var(--sand);border-radius:999px;padding:5px 11px;font-size:.84rem;font-weight:700}
.day__meta .ic{color:var(--brand);width:1em}
.ptable{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.ptable__c{background:#fff;border-radius:var(--r);padding:16px;box-shadow:var(--sh-1);display:grid;gap:2px;text-align:center}
.ptable__c>span{font-weight:800;font-size:.86rem;color:var(--muted)}
.ptable__c strong{font-family:var(--fd);font-size:1.5rem;color:var(--deep)}
.ptable__c small{font-size:.74rem;color:var(--muted)}
.ptable__c.is-hl{background:var(--deep);color:#fff}
.ptable__c.is-hl strong,.ptable__c.is-hl>span,.ptable__c.is-hl small{color:#fff}
@media(min-width:700px){.ptable{grid-template-columns:repeat(5,1fr)}}
.deptable{display:grid;gap:8px}
.deptable__r{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;background:#fff;border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh-1)}
.deptable__r.is-full{opacity:.55}
.deptable__d{display:grid}
.deptable__s{display:grid;gap:4px;grid-column:1}
.deptable__s small{font-size:.8rem;font-weight:700;color:var(--muted)}
.deptable__r>button,.deptable__r>span:last-child{grid-column:2;grid-row:1/span 2;align-self:center}
.deptable--full .deptable__r{grid-template-columns:1fr auto}
.deptable--full .deptable__r>span:nth-child(2){grid-column:1;display:grid}
.deptable--full .deptable__r>span:nth-child(2) small{color:var(--muted);font-size:.8rem}
.deptable--full .deptable__r>span:nth-child(2) a{font-weight:800;text-decoration:none}
.deptable__p{display:grid;font-family:var(--fd);font-weight:800;font-size:1.1rem;grid-column:1}
.deptable__p small{font-family:var(--fb);font-weight:700;font-size:.74rem;color:var(--muted)}
.deptable__r--head{display:none}
@media(min-width:900px){
	.deptable--full .deptable__r{grid-template-columns:1.1fr 1.6fr 1fr .8fr 90px}
	.deptable--full .deptable__r>*{grid-column:auto!important;grid-row:auto!important}
	.deptable__r--head{display:grid;background:none;box-shadow:none;padding:4px 16px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
}
.incl{display:grid;gap:14px}
.incl__c{background:#fff;border-radius:var(--r);padding:20px;box-shadow:var(--sh-1)}
.incl__c h3{display:flex;gap:8px;align-items:center;font-size:1.15rem}
.incl__c h3 .ic{width:28px;height:28px;padding:5px;border-radius:50%;color:#fff}
.incl__c--yes h3 .ic{background:var(--green)}
.incl__c--no h3 .ic{background:#B33A3A}
.incl__c li{padding:7px 0 7px 22px;border-bottom:1px dashed var(--line);position:relative;font-size:.95rem}
.incl__c li::before{content:"";position:absolute;left:4px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--green)}
.incl__c--no li::before{background:#C9A2A2}
@media(min-width:700px){.incl{grid-template-columns:1fr 1fr}}
@media(min-width:1060px){.tour{grid-template-columns:minmax(0,1fr) 400px;gap:40px}.tour__side{position:relative}.tour__side .bookbox{position:sticky;top:140px}}
.buybar{position:fixed;left:0;right:0;bottom:62px;z-index:45;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;padding:10px 16px;box-shadow:0 -8px 24px rgba(14,34,51,.12);transform:translateY(120%);transition:transform .35s var(--ease)}
.buybar.is-on{transform:none}
.buybar__p{display:grid;line-height:1.1}
.buybar__p small{font-size:.74rem;color:var(--muted);font-weight:700}
.buybar__p strong{font-family:var(--fd);font-size:1.3rem}
@media(min-width:1060px){.buybar{display:none}}

/* ---------- Booking box ---------- */
.bookbox{background:#fff;border-radius:var(--r-l);box-shadow:var(--sh-2);overflow:hidden;scroll-margin-top:130px}
.bookbox__head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 20px;background:var(--deep);color:#fff}
.bookbox__head .price small,.bookbox__head .price del{color:rgba(255,255,255,.7)}
.bookbox__head .price strong{color:#fff}
.bookbox__fast{display:inline-flex;gap:6px;align-items:center;background:var(--gold);color:var(--deep);font-weight:800;font-size:.8rem;padding:6px 11px;border-radius:999px;white-space:nowrap}
.bookform{padding:6px 20px 20px}
.bstep{padding:16px 0;border-bottom:1px solid var(--line)}
.bstep:last-child{border:0}
.bstep__t{display:flex;gap:10px;align-items:center;font-size:1.06rem;margin-bottom:12px}
.bstep__t b{width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:.85rem;flex:none}
.bstep__picked{margin:10px 0 0;font-weight:800;color:var(--brand-d);font-size:.94rem}
.cal__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cal__head strong{font-family:var(--fd);font-size:1.05rem}
.cal__nav{width:38px;height:38px;border-radius:12px;border:1.5px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer}
.cal__nav:disabled{opacity:.3;cursor:default}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal__dow{font-size:.7rem;font-weight:800;text-align:center;color:var(--muted);padding:4px 0}
.cd{position:relative;aspect-ratio:1;border:0;border-radius:10px;background:var(--sand);font-weight:800;font-size:.86rem;cursor:pointer;display:grid;place-items:center;line-height:1;transition:.15s}
.cd--open{background:color-mix(in srgb,var(--green) 12%,#fff);color:var(--green)}
.cd--open:hover{background:var(--green);color:#fff}
.cd--group{background:var(--gold);color:var(--deep)}
.cd--group:hover{background:var(--brand);color:#fff}
.cd__s{position:absolute;bottom:2px;left:0;right:0;font-size:.55rem;font-weight:800}
.cd--past,.cd--closed{background:transparent;color:color-mix(in srgb,var(--ink) 28%,#fff);cursor:default}
.cd--full{background:repeating-linear-gradient(135deg,#F3E6E6,#F3E6E6 4px,#fff 4px,#fff 8px);color:#B98A8A;cursor:not-allowed;text-decoration:line-through}
.cd.is-sel{background:var(--brand)!important;color:#fff!important;box-shadow:0 0 0 3px var(--brand-l)}
.cd--empty{background:none;cursor:default}
.cal__legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:.78rem;font-weight:700;color:var(--muted)}
.cal__legend li{display:inline-flex;gap:6px;align-items:center}
.lg{width:12px;height:12px;border-radius:4px;display:inline-block}
.lg--open{background:color-mix(in srgb,var(--green) 30%,#fff)}
.lg--group{background:var(--gold)}
.lg--full{background:repeating-linear-gradient(135deg,#E7CFCF,#E7CFCF 2px,#fff 2px,#fff 4px)}
.stepper-row{display:grid;gap:10px}
.stepper{display:flex;justify-content:space-between;align-items:center;gap:10px}
.stepper>span{display:grid;font-weight:800}
.stepper small{font-weight:600;font-size:.78rem;color:var(--muted)}
.stepper__c{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.stepper__c button{width:44px;height:44px;border:0;background:var(--sand);display:grid;place-items:center;cursor:pointer}
.stepper__c button:hover{background:var(--brand-l);color:var(--brand-d)}
.stepper__c input{width:52px;height:44px;border:0;text-align:center;font-weight:800;font-size:1.05rem;-moz-appearance:textfield}
.stepper__c input::-webkit-inner-spin-button{display:none}
.stepper__c--sm button{width:36px;height:36px}
.stepper__c--sm input{width:36px;height:36px}
.addons{display:grid;gap:8px}
.addon{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;font-weight:600;font-size:.93rem;transition:.2s}
.addon input{width:18px;height:18px;margin-top:2px;accent-color:var(--brand)}
.addon span{flex:1}
.addon em{font-style:normal;font-weight:800;font-size:.84rem;color:var(--brand-d);white-space:nowrap}
.addon:has(input:checked){border-color:var(--brand);background:var(--brand-l)}
.quote{margin:14px 0 4px;background:var(--sand);border-radius:var(--r);padding:14px 16px}
.quote__lines li{display:flex;justify-content:space-between;gap:10px;font-size:.9rem;padding:4px 0;color:var(--muted);font-weight:600}
.quote__lines b{color:var(--ink);white-space:nowrap}
.quote__group{font-size:.84rem;font-weight:700;color:var(--green);margin:6px 0 0}
.quote__total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--line);margin-top:8px;padding-top:10px;font-weight:800}
.quote__total strong{font-family:var(--fd);font-size:1.6rem;color:var(--deep)}
.quote__dep{display:flex;justify-content:space-between;font-size:.88rem;font-weight:700;color:var(--brand-d);margin-top:4px}
.fields{display:grid;gap:12px}
.field{display:grid;gap:5px}
.field>span{font-weight:800;font-size:.86rem}
.field--full{grid-column:1/-1}
.field textarea{min-height:90px;resize:vertical}
.field.has-err input,.field.has-err textarea{border-color:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
.field__err{color:#C0392B;font-size:.8rem;font-weight:700}
@media(min-width:560px){.fields{grid-template-columns:1fr 1fr}}
.tour__side .fields{grid-template-columns:1fr}
.paypick{border:0;padding:0;margin:14px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.paypick legend{font-weight:800;font-size:.9rem;margin-bottom:8px}
.payopt{position:relative}
.payopt input{position:absolute;opacity:0}
.payopt span{display:flex;gap:7px;align-items:center;justify-content:center;min-height:46px;border:1.5px solid var(--line);border-radius:14px;font-weight:700;font-size:.86rem;cursor:pointer;padding:6px 8px;text-align:center}
.payopt input:checked+span{border-color:var(--brand);background:var(--brand-l);color:var(--brand-d)}
.payopt input:focus-visible+span{outline:3px solid var(--gold)}
.bookbox__note{display:flex;gap:7px;align-items:flex-start;font-size:.82rem;color:var(--muted);margin:10px 0 0}
.bookbox__note .ic{color:var(--green);margin-top:2px}
.bookbox__wa{display:flex;gap:8px;align-items:center;justify-content:center;padding:14px;background:color-mix(in srgb,var(--wa) 10%,#fff);font-weight:800;text-decoration:none;color:#13703A}
.form__msg{margin:10px 0 0;font-weight:700;font-size:.92rem}
.form__msg.is-err{color:#C0392B}
.form__msg.is-ok{color:var(--green)}
.is-busy{opacity:.6;pointer-events:none}
.bookonly{max-width:560px}

/* ---------- Archive ---------- */
.filters{margin-bottom:20px}
.filters__row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.sel{display:grid;gap:4px;font-weight:800;font-size:.8rem;min-width:170px;flex:1}
.filters__count{margin:0 0 12px auto;font-weight:700;color:var(--muted);flex-basis:100%}
@media(min-width:700px){.sel{flex:0 0 220px}.filters__count{flex-basis:auto}}

/* Destination page */
.destinfo{display:grid;gap:16px}
.destinfo__c{background:#fff;border-radius:var(--r-l);padding:22px;box-shadow:var(--sh-1)}
.destinfo__c h2{font-size:1.3rem}
.destinfo__ic{width:48px;height:48px;border-radius:16px;background:var(--brand-l);color:var(--brand);display:grid;place-items:center;margin-bottom:12px}
.destinfo__ic .ic{width:24px;height:24px}
.destinfo__c--cta{background:var(--deep);color:#fff}
.destinfo__c--cta h2{color:#fff}
.destinfo__c--cta p{color:rgba(255,255,255,.82)}
@media(min-width:900px){.destinfo{grid-template-columns:repeat(3,1fr)}}
.destlist{display:grid;gap:16px}
.destrow{display:grid;grid-template-columns:110px 1fr;gap:14px;background:#fff;border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-1);text-decoration:none;transition:transform .25s}
.destrow:hover{transform:translateY(-4px);color:inherit}
.destrow__img img{width:100%;height:100%;object-fit:cover;min-height:130px}
.destrow__body{display:grid;gap:4px;padding:14px 14px 14px 0;align-content:center}
.destrow strong{font-family:var(--fd);font-size:1.2rem;color:var(--deep)}
.destrow__body>span{font-size:.9rem;color:var(--muted)}
.destrow em{font-style:normal;font-weight:800;color:var(--brand-d);display:inline-flex;gap:6px;align-items:center;font-size:.88rem}
@media(min-width:800px){.destlist{grid-template-columns:1fr 1fr}.destrow{grid-template-columns:200px 1fr}}

/* ---------- Planner ---------- */
.sec--planner{padding-top:30px}
.planner{display:grid;gap:24px}
.planner__main{min-width:0}
.pprog{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:20px}
.pprog button{width:100%;display:flex;flex-direction:column;gap:5px;align-items:center;border:0;background:none;cursor:pointer;font-weight:800;font-size:.78rem;color:var(--muted)}
.pprog b{width:38px;height:38px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;font-family:var(--fd);transition:.25s}
.pprog .is-on b,.pprog .is-done b{background:var(--brand);border-color:var(--brand);color:#fff}
.pprog .is-on{color:var(--deep)}
.pstep{display:none;border:0;margin:0;padding:22px;background:#fff;border-radius:var(--r-l);box-shadow:var(--sh-1)}
.pstep.is-on{display:block;animation:fadeUp .45s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}}
.pstep__t{font-family:var(--fd);font-weight:800;font-size:clamp(1.6rem,3.4vw,2.2rem);color:var(--deep);margin-bottom:14px;padding:0}
.pstep__h{display:flex;gap:8px;align-items:center;font-size:1.08rem;margin:22px 0 12px}
.pstep__h .ic{color:var(--brand)}
.pstep__two{display:grid;gap:10px}
@media(min-width:800px){.pstep__two{grid-template-columns:auto 1fr;gap:40px}}
.pstep__nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px;flex-wrap:wrap}
.pstep__nav .btn--primary{margin-left:auto}
.opts{display:grid;gap:8px}
@media(min-width:600px){.opts--climb{grid-template-columns:1fr 1fr}}
@media(min-width:800px){.opts--3{grid-template-columns:repeat(3,1fr)}}
.opt{position:relative}
.opt input{position:absolute;opacity:0}
.opt__b{display:grid;gap:2px;border:1.5px solid var(--line);border-radius:16px;padding:13px 15px;cursor:pointer;transition:.2s;height:100%}
.opt__b strong{font-size:.95rem}
.opt__b small{color:var(--muted);font-weight:600}
.opt input:checked+.opt__b{border-color:var(--brand);background:var(--brand-l);box-shadow:inset 0 0 0 1px var(--brand)}
.opt input:focus-visible+.opt__b{outline:3px solid var(--gold)}
.opt--big .opt__b{padding:20px;text-align:center;justify-items:center}
.opt--big .ic{width:34px;height:34px;color:var(--brand);margin-bottom:6px}
.parks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.park{display:grid;justify-items:center;gap:8px;text-align:center;border:1.5px solid var(--line);border-radius:18px;padding:12px;transition:.2s}
.park img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.park strong{font-size:.9rem}
.park.is-on{border-color:var(--brand);background:var(--brand-l)}
@media(min-width:700px){.parks{grid-template-columns:repeat(3,1fr)}}
.estimate{background:var(--deep);color:#fff;border-radius:var(--r-l);padding:20px;box-shadow:var(--sh-2)}
.estimate__head{display:grid;text-align:center;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.14)}
.estimate__head strong{font-family:var(--fd);font-size:2.4rem;color:var(--gold);line-height:1.1}
.estimate__head small{opacity:.75;font-weight:700}
.estimate__total{display:flex;justify-content:space-between;font-weight:800;margin:12px 0}
.estimate__title{font-family:var(--fd);font-weight:800;font-size:1.1rem;margin-bottom:8px}
.estimate__days{max-height:300px;overflow:auto;display:grid;gap:4px;margin-bottom:12px;padding-right:4px;counter-reset:pd}
.estimate__days li{display:grid;grid-template-columns:52px 1fr;gap:8px;font-size:.85rem;padding:4px 0;border-bottom:1px dashed rgba(255,255,255,.1)}
.estimate__days li b{color:var(--gold);font-size:.76rem}
.estimate__days li.muted{display:block;color:rgba(255,255,255,.65);border:0}
.estimate__lines li{display:flex;justify-content:space-between;gap:8px;font-size:.82rem;color:rgba(255,255,255,.75);padding:3px 0}
.estimate .small{color:rgba(255,255,255,.6);margin-top:10px}
@media(min-width:1060px){.planner{grid-template-columns:minmax(0,1fr) 370px;gap:36px}.planner__side .estimate{position:sticky;top:96px}}

/* ---------- Booking status ---------- */
.bk{display:grid;gap:24px}
.panel{background:#fff;border-radius:var(--r-l);padding:22px;box-shadow:var(--sh-1);margin-bottom:18px}
.panel h2{font-size:1.5rem}
.panel--dark{background:var(--deep);color:#fff}
.panel--dark h3{color:#fff}
.panel--dark p{color:rgba(255,255,255,.8)}
.panel--pay{border:2px solid var(--brand)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:20px;position:relative}
.timeline li{display:grid;justify-items:center;gap:6px;text-align:center;font-size:.78rem;font-weight:800;color:var(--muted);position:relative}
.timeline li::before{content:"";position:absolute;top:22px;left:-50%;width:100%;height:3px;background:var(--line);z-index:0}
.timeline li:first-child::before{display:none}
.timeline b{width:46px;height:46px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;position:relative;z-index:1}
.timeline .is-done b{background:var(--green);border-color:var(--green);color:#fff}
.timeline .is-done::before{background:var(--green)}
.timeline .is-now b{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 5px var(--brand-l)}
.timeline .is-done,.timeline .is-now{color:var(--deep)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 14px}
.kv dt{font-weight:800;color:var(--muted);font-size:.88rem}
.kv dd{margin:0;font-weight:700}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:800;background:var(--brand-l);color:var(--brand-d)}
.pill--confirmed,.pill--deposit,.pill--paid,.pill--done{background:color-mix(in srgb,var(--green) 14%,#fff);color:var(--green)}
.paycards{display:grid;gap:10px;margin:16px 0}
.paycard{border:1.5px solid var(--line);border-radius:var(--r);padding:16px}
.paycard.is-chosen{border-color:var(--brand);background:var(--brand-l)}
.paycard h3{display:flex;gap:8px;align-items:center;font-size:1.08rem;margin-bottom:6px}
.paycard h3 .ic{color:var(--brand)}
.paycard h3 em{font-style:normal;margin-left:auto;font-size:.72rem;background:var(--brand);color:#fff;padding:3px 8px;border-radius:999px}
.paycard p{font-size:.92rem;margin:0 0 8px}
@media(min-width:700px){.paycards{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.bk{grid-template-columns:1.4fr .6fr}}

/* Info cards / team / partners */
.infocards{display:grid;gap:14px;margin-top:30px}
.infocard{background:#fff;border-radius:var(--r-l);padding:22px;box-shadow:var(--sh-1)}
.infocard>.ic{width:46px;height:46px;padding:11px;border-radius:14px;background:var(--brand-l);color:var(--brand);margin-bottom:12px}
.infocard h3{font-size:1.15rem}
.infocard p{color:var(--muted);margin:0;font-size:.94rem}
@media(min-width:800px){.infocards{grid-template-columns:repeat(3,1fr)}.infocards--4{grid-template-columns:repeat(4,1fr)}}
.story{display:grid;gap:30px;align-items:center}
.story__pics{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;align-items:end}
.story__pics img{border-radius:var(--r-l);width:100%;object-fit:cover;box-shadow:var(--sh-1)}
.story__pics img:first-child{aspect-ratio:3/4}
.story__pics img:last-child{aspect-ratio:1;margin-bottom:40px}
@media(min-width:1000px){.story{grid-template-columns:1.1fr .9fr;gap:60px}}
.team{display:grid;gap:16px;max-width:760px;margin:0 auto}
.member{background:#fff;border-radius:var(--r-l);padding:24px;box-shadow:var(--sh-1);text-align:center}
.member__av{width:84px;height:84px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--gold));color:#fff;font-family:var(--fd);font-weight:800;font-size:1.6rem}
.member p{color:var(--muted);margin:0}
@media(min-width:640px){.team{grid-template-columns:1fr 1fr}}
.partners{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 26px;margin-top:34px}
.partners span{font-weight:800;color:var(--muted)}
.partners img{height:54px;width:auto;object-fit:contain;filter:grayscale(.3)}

/* Gallery */
.masonry{columns:2 160px;column-gap:12px}
.masonry__i{display:block;margin-bottom:12px;border-radius:var(--r);overflow:hidden;break-inside:avoid}
.masonry__i[hidden]{display:none}
.masonry__i img{width:100%;transition:transform .6s}
.masonry__i:hover img{transform:scale(1.05)}
@media(min-width:900px){.masonry{columns:4}}

/* Contact */
.contactwrap{display:grid;gap:24px}
.contactwrap__info{display:grid;gap:16px;align-content:start}
.map{border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-1);aspect-ratio:16/11}
.map iframe{width:100%;height:100%;border:0}
.cform h2{font-size:1.8rem}
@media(min-width:1000px){.contactwrap{grid-template-columns:.9fr 1.1fr;gap:40px}}

/* Article */
.article{display:grid;gap:30px}
.article__side{display:grid;gap:18px;align-content:start}
@media(min-width:1000px){.article{grid-template-columns:minmax(0,1fr) 340px;gap:50px}.article__side{position:sticky;top:100px}}
.pager .nav-links{display:flex;gap:8px;justify-content:center;margin-top:30px}
.pager .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;border-radius:12px;background:#fff;font-weight:800;text-decoration:none;box-shadow:var(--sh-1)}
.pager .current{background:var(--deep);color:#fff}

/* ---------- Footer ---------- */
.foot{position:relative;background:var(--deep);color:rgba(255,255,255,.78);padding:clamp(70px,9vw,110px) 0 0;margin-top:0}
.foot a{text-decoration:none}
.foot a:hover{color:var(--gold)}
.foot__grid{display:grid;gap:30px}
.foot__brand p{font-size:.94rem;margin:14px 0}
.logo--foot{color:#fff}
.logo--foot .logo__word{color:#fff}
.foot__h{font-size:1.02rem;color:#fff;margin-bottom:14px;letter-spacing:0}
.foot__list{display:grid;gap:9px;font-size:.94rem}
.foot__contact li,.foot__contact a{display:flex;gap:9px;align-items:flex-start}
.foot__contact .ic{color:var(--gold);margin-top:3px}
.social{display:flex;gap:8px;flex-wrap:wrap}
.social a{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:.2s}
.social a:hover{background:var(--brand);color:#fff}
.social--dark a{background:#fff;box-shadow:var(--sh-1);color:var(--deep)}
.foot__news p{font-size:.92rem}
.news{display:grid;grid-template-columns:1fr auto;gap:8px}
.news input{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff}
.news input::placeholder{color:rgba(255,255,255,.55)}
.news .form__msg{grid-column:1/-1}
.foot__pay{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:36px;padding:18px var(--gut);border-top:1px solid rgba(255,255,255,.1);font-weight:700;font-size:.85rem}
.paychip{display:inline-flex;gap:6px;align-items:center;font-style:normal;background:rgba(255,255,255,.08);border-radius:999px;padding:6px 11px;color:#fff}
.paychip .ic{color:var(--gold);width:1em}
.paychip--mpesa{background:#2E8B3A}.paychip--mixx{background:#1C4FA0}
.foot__rated{margin-left:auto;display:inline-flex;gap:8px;align-items:center}
.foot__bottom{background:rgba(0,0,0,.22);padding:16px 0 84px;font-size:.84rem}
.foot__bottom-in{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;align-items:center}
.foot__bottom p{margin:0}
.foot__bottom ul{display:flex;flex-wrap:wrap;gap:6px 16px}
@media(min-width:700px){.foot__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.foot__grid{grid-template-columns:1.4fr .8fr .8fr 1fr 1.2fr;gap:36px}.foot__bottom{padding-bottom:16px}}

/* ---------- Chat assistant ---------- */
.chat-fab{position:fixed;right:18px;bottom:20px;z-index:70;display:none;align-items:center;gap:9px;background:var(--deep);color:#fff;border:0;border-radius:999px;padding:13px 18px 13px 14px;font-weight:800;cursor:pointer;box-shadow:var(--sh-2);transition:transform .25s}
.chat-fab:hover{transform:translateY(-3px)}
.chat-fab .ic{width:24px;height:24px;color:var(--gold)}
.chat-fab__dot{position:absolute;top:8px;left:30px;width:10px;height:10px;border-radius:50%;background:var(--brand);border:2px solid var(--deep)}
.wa-fab{position:fixed;right:18px;bottom:86px;z-index:70;width:54px;height:54px;border-radius:50%;background:var(--wa);color:#fff;display:none;place-items:center;box-shadow:var(--sh-2)}
.wa-fab .ic{width:28px;height:28px}
.wa-fab:hover{color:#fff;transform:scale(1.06)}
@media(min-width:900px){.chat-fab{display:inline-flex}.wa-fab{display:grid}}
.chat{position:fixed;z-index:95;right:12px;left:12px;bottom:12px;top:auto;max-height:min(640px,calc(100svh - 24px));background:#fff;border-radius:var(--r-l);box-shadow:0 30px 80px rgba(9,20,30,.35);display:flex;flex-direction:column;overflow:hidden;animation:fadeUp .3s var(--ease)}
.chat[hidden]{display:none}
@media(min-width:600px){.chat{left:auto;width:390px;right:18px;bottom:18px;height:600px}}
.chat__head{display:flex;gap:12px;align-items:center;padding:14px 16px;background:var(--deep);color:#fff}
.chat__head div{display:grid;flex:1;line-height:1.25}
.chat__head small{opacity:.75;font-size:.78rem}
.chat__av{width:42px;height:42px;border-radius:50%;background:var(--brand);display:grid;place-items:center}
.chat__x{width:40px;height:40px;border-radius:12px;border:0;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer}
.chat__log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--sand);min-height:220px}
.msg{max-width:86%;padding:10px 14px;border-radius:18px;font-size:.93rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.msg--bot{background:#fff;border-bottom-left-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.04);align-self:flex-start}
.msg--me{background:var(--brand);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}
.msg--typing{color:var(--muted);font-style:italic}
.msg__cards{display:grid;gap:8px;align-self:stretch}
.msg__card{display:grid;grid-template-columns:1fr auto;gap:2px 10px;background:#fff;border-radius:14px;padding:10px 12px;text-decoration:none;box-shadow:0 2px 6px rgba(0,0,0,.05);border:1.5px solid transparent}
.msg__card:hover{border-color:var(--brand);color:inherit}
.msg__card strong{font-size:.9rem}
.msg__card small{color:var(--muted);font-size:.78rem}
.msg__card b{grid-row:1/span 2;grid-column:2;align-self:center;color:var(--brand-d);font-size:.88rem;white-space:nowrap}
.chat__quick{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:var(--sand);scrollbar-width:none}
.chat__quick::-webkit-scrollbar{display:none}
.chat__quick button{flex:none;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-weight:700;font-size:.82rem;cursor:pointer}
.chat__quick button:hover{border-color:var(--brand);color:var(--brand-d)}
.chat__form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}
.chat__form input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:999px;padding:10px 16px;min-height:46px}
.chat__form input:focus{outline:0;border-color:var(--brand)}
.chat__form button{width:46px;height:46px;border-radius:50%;border:0;background:var(--brand);color:#fff;display:grid;place-items:center;cursor:pointer}
.chat__wa{display:flex;gap:8px;align-items:center;justify-content:center;padding:10px;font-size:.85rem;font-weight:800;text-decoration:none;color:#13703A;background:color-mix(in srgb,var(--wa) 9%,#fff)}

/* ---------- Phone dock ---------- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(14,34,51,.08);padding-bottom:env(safe-area-inset-bottom)}
.dock a,.dock button{display:grid;justify-items:center;gap:2px;padding:9px 4px 8px;font-size:.72rem;font-weight:800;text-decoration:none;color:var(--deep);background:none;border:0;cursor:pointer}
.dock .ic{width:22px;height:22px}
.dock a:first-child .ic{color:var(--wa)}
.dock__main{background:var(--brand)!important;color:#fff!important;border-radius:16px 16px 0 0;margin-top:-10px}
@media(min-width:900px){.dock{display:none}}

/* ---------- Lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:120;background:rgba(6,14,22,.94);display:grid;place-items:center;padding:20px}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:min(1200px,94vw);text-align:center}
.lightbox img{max-height:82vh;width:auto;margin:0 auto;border-radius:14px}
.lightbox figcaption{color:#fff;margin-top:10px;font-weight:600}
.lightbox__x,.lightbox__nav{position:absolute;width:50px;height:50px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;cursor:pointer}
.lightbox__x{top:16px;right:16px}
.lightbox__prev{left:14px;top:50%}
.lightbox__next{right:14px;top:50%}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
@media print{.sample-bar,.topbar,.site-head,.dock,.chat-fab,.wa-fab,.foot,.subnav,.buybar{display:none!important}}
