:root{
  --ink:#20271c;
  --green:#2a3326;
  --green-deep:#1a2118;
  --cream:#f6f1e6;
  --cream-2:#efe7d8;
  --paper:#fbf8f1;
  --brass:#b08d57;
  --brass-2:#c7a86c;
  --brass-d:#977538;--brass-text:#7d5f2b;
  --on-dark:#ece7da;
  --on-dark-soft:#a9ad9c;
  --line-dark:rgba(236,231,218,.16);
  --line-light:rgba(32,39,28,.14);
  --display:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --wrap:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--cream);
  font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:400;line-height:1.06;letter-spacing:-.005em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 48px}
.eyebrow{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--brass-text)}
.idx{font-family:var(--sans);font-weight:400;font-size:12px;letter-spacing:.3em;color:var(--brass-text);text-transform:uppercase}

/* reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}
  .hero .eyebrow,.hero h1 .l{opacity:1!important;transform:none!important;transition:none}
  .hero__bg{animation:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:14px;font-family:var(--sans);font-weight:500;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;padding:17px 34px;cursor:pointer;
  border:1px solid var(--brass-text);color:var(--brass-text);background:none;transition:.45s var(--ease);position:relative;overflow:hidden}
.btn .ln{width:24px;height:1px;background:currentColor;transition:background .45s var(--ease)}
.btn:hover{background:var(--brass-text);color:#fff;border-color:var(--brass-text)}
.btn:hover .ln{background:#fff}
.btn--solid{background:var(--brass-text);color:#fff}
.btn--solid:hover{background:var(--brass-d);border-color:var(--brass-d)}
.btn--light{border-color:rgba(236,231,218,.5);color:var(--on-dark)}
.btn--light:hover{background:var(--on-dark);color:var(--green);border-color:var(--on-dark)}

/* ============ ANNOUNCEMENT + HEADER ============ */
.topbar{background:var(--green-deep);color:var(--on-dark-soft);text-align:center;
  font-family:var(--sans);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;padding:9px 20px;position:relative;z-index:70}
.topbar b{color:var(--brass-2);font-weight:400}
.site-header{position:fixed;top:42px;left:0;right:0;z-index:60;display:flex;align-items:center;
  justify-content:space-between;gap:24px;padding:22px 56px;transition:background .5s var(--ease),padding .5s var(--ease),border-color .5s,top .5s var(--ease)}
.site-header{border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(26,33,24,.94);backdrop-filter:blur(12px);padding:15px 56px;border-bottom:1px solid var(--line-dark);top:0}
.topbar{position:relative;z-index:55}
/* ---- luxury logo ---- */
.brand{display:flex;align-items:center;gap:14px;color:#fff}
/* custom logo image (drop assets/adulis-logo.png) — replaces the emblem+wordmark when present */
.brand__photo{height:46px;width:auto;display:block}
.brand:has(.brand__photo) .emblem,.brand:has(.brand__photo) .wm{display:none}
@media(max-width:600px){.brand__photo{height:38px}}
.brand .emblem{width:48px;height:48px;border-radius:50%;border:1px solid var(--brass);display:grid;place-items:center;flex:none;position:relative;transition:.5s var(--ease);overflow:hidden}
.brand .emblem::after{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(176,141,87,.3)}
.brand .emblem svg{width:21px;height:21px;fill:var(--brass-2);transform:rotate(-10deg);transition:.55s var(--ease);position:relative;z-index:1}
.brand:hover .emblem{border-color:var(--brass-2)}
.brand:hover .emblem svg{transform:rotate(0) translate(2px,-2px)}
.brand .wm{display:flex;flex-direction:column;line-height:.94;flex:none}
.brand .mark{font-family:var(--display);font-weight:500;font-size:25px;letter-spacing:.06em;color:#fff;white-space:nowrap}
.brand .mark em{font-style:italic;font-weight:500;color:var(--brass-2)}
.brand .sub{font-family:var(--sans);font-weight:400;font-size:8.5px;letter-spacing:.4em;color:var(--brass-2);margin-top:4px;white-space:nowrap}
.main-nav{display:flex;align-items:center;gap:40px}
.main-nav > a,.nav-item > a{font-family:var(--sans);color:var(--on-dark);font-weight:400;font-size:13px;letter-spacing:.18em;
  text-transform:uppercase;position:relative;padding:8px 0;display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.main-nav > a::after,.nav-item > a::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1px;background:var(--brass);transition:width .4s var(--ease)}
.main-nav > a:hover,.nav-item > a:hover{color:#fff}.main-nav > a:hover::after,.nav-item:hover > a::after{width:100%}
.nav-item{position:relative}
.nav-item .caret{font-size:8px;color:var(--brass-2);transition:transform .35s var(--ease)}
.nav-item:hover .caret{transform:rotate(180deg)}
/* ---- luxury mega dropdown (All Destinations) ---- */
.dropdown{position:absolute;top:calc(100% + 18px);left:0;width:min(900px,94vw);
  background:rgba(20,26,18,.98);backdrop-filter:blur(14px);border:1px solid var(--line-dark);
  padding:26px 28px;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:.4s var(--ease);z-index:80;box-shadow:0 36px 80px rgba(0,0,0,.55)}
.nav-item:hover .dropdown,.nav-item.open .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown::before{content:"";position:absolute;top:-9px;left:42px;transform:rotate(45deg);
  width:14px;height:14px;background:rgba(20,26,18,.98);border-left:1px solid var(--line-dark);border-top:1px solid var(--line-dark)}
.mega-grid{display:grid;grid-template-columns:1fr 0.9fr 1.35fr;gap:24px}
.mega-col{display:flex;flex-direction:column;gap:1px}
.dropdown .dd-label{font-family:var(--sans);font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--brass-2);padding:2px 10px 11px;border-bottom:1px solid var(--line-dark);margin-bottom:7px}
.dropdown a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px;
  font-family:var(--display);font-size:17px;font-weight:400;color:var(--on-dark);text-decoration:none;transition:.25s var(--ease)}
.dropdown a .dn{font-family:var(--sans);font-size:10px;letter-spacing:.12em;color:var(--brass);opacity:.5}
.dropdown a:hover,.dropdown a.active{background:rgba(176,141,87,.14);color:#fff;padding-left:16px}
.dropdown a:hover .dn,.dropdown a.active .dn{opacity:1}
.mega-col.cities a{font-size:15px;color:var(--on-dark-soft)}
.mega-multi{margin-top:9px;background:rgba(176,141,87,.16);border:1px solid var(--brass);color:#fff;font-style:italic}
.mega-multi:hover,.mega-multi.active{background:rgba(176,141,87,.3);padding-left:10px}
/* interactive map zone */
.mega-map-zone{border-left:1px solid var(--line-dark);padding-left:24px;display:flex;flex-direction:column;gap:14px}
.map-stage{position:relative;width:100%;max-width:300px;margin:0 auto}
.map-stage .mega-map{display:block;width:100%;height:auto;overflow:visible}
.map-cap{text-align:center;min-height:76px}
.map-cap h4{font-family:var(--display);font-weight:400;font-size:20px;color:#fff;margin:0 0 5px;line-height:1.08}
.map-cap p{font-family:var(--sans);font-weight:300;font-size:11.5px;color:#cbc6b8;line-height:1.6;margin:0 auto;max-width:240px}
.header-right{display:flex;align-items:center;gap:22px}
.nav-toggle{display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;padding:6px;z-index:200;position:relative}
.nav-toggle span{width:26px;height:1px;background:#fff;display:block;transition:transform .35s var(--ease),opacity .35s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============ HERO ============ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#171d15;padding:120px 0 90px}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero__inner{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:980px;margin:0 auto}
/* travel-start section (green) — Start + Curated side by side, with carousel peek */
.travel-start{background:var(--green);padding:104px 0 110px;overflow:hidden}
.ts-grid{display:grid;grid-template-columns:clamp(235px,19vw,427px) 1fr;gap:92px;align-items:center;padding-left:227px}
.ts-grid > *{min-width:0}
.hero__start{position:relative;z-index:2}
.hero__start .idx{color:var(--brass-2)}
.hero__start-h{font-family:var(--display);font-weight:300;font-size:clamp(30px,4vw,50px);color:#fff;line-height:1.04;margin:14px 0 16px}
.hero__start-h em{font-style:italic;color:var(--brass-2)}
.hero__start-copy{max-width:100%;color:var(--on-dark-soft);font-weight:300;font-size:15px;line-height:1.8;margin-bottom:26px}
.hero__check{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:13px;max-width:100%}
.hero__check li{display:flex;gap:11px;align-items:baseline;color:var(--on-dark);font-size:14px;font-weight:300}
.hero__check .c{color:var(--brass-2);font-weight:400}
.hero__curated{position:relative;z-index:2}
.hero__curated .shead{margin-bottom:34px}
.hero__curated .shead .l h2{color:#fff}
.hero__curated .shead .meta{color:var(--on-dark-soft)}
.hero__curated .shead h2 em{font-style:italic;color:var(--brass-2)}
/* interactive country selector */
.cs{display:grid;grid-template-columns:0.62fr 0.92fr 1fr;gap:46px;align-items:stretch}
.cs-nav{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line-light);padding-right:20px}
.cs-nav button{all:unset;cursor:pointer;font-family:var(--display);font-weight:400;font-size:clamp(22px,2.2vw,32px);
  color:var(--ink);opacity:.42;padding:7px 0;display:flex;gap:13px;align-items:baseline;transition:.3s var(--ease)}
.cs-nav button .no{font-family:var(--sans);font-size:11px;letter-spacing:.08em;color:var(--brass);opacity:.7;transform:translateY(-3px)}
.cs-nav button.active,.cs-nav button:hover{opacity:1;color:var(--brass)}
.cs-photo{position:relative;overflow:hidden;min-height:480px;background:var(--green-deep)}
.cs-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transform:scale(1.05) translateY(26px);transition:opacity .7s var(--ease),transform 1s var(--ease);will-change:opacity,transform}
.cs-photo img.active{opacity:1;transform:scale(1) translateY(0);z-index:1}
/* description = fixed-height stage: panes are stacked & slide (roll) up/down on
   switch, so the container never resizes with content length and never jumps */
.cs-desc{position:relative;overflow:hidden}
.cs-desc .pane{position:absolute;left:0;right:0;top:0;opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(var(--enter,34px));
  transition:opacity .55s var(--ease),transform .62s var(--ease);will-change:opacity,transform}
.cs-desc .pane.active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);z-index:2}
.cs-desc .pane.leaving{opacity:0;visibility:visible;transform:translateY(var(--leave,-34px));z-index:1}
.cs-desc .pane > .eyebrow{margin-bottom:12px}
.cs-desc h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,3vw,38px);color:var(--ink);margin:6px 0 14px;line-height:1.08}
.cs-desc p{font-weight:300;font-size:14.5px;color:#55594a;line-height:1.85;margin-bottom:22px}
.best-h2{font-family:var(--display);font-weight:400;font-size:20px;color:var(--ink);margin:26px 0 8px}
.best-tours{display:flex;flex-direction:column}
.best-tours .bt{display:flex;gap:16px;align-items:center;padding:13px 0;border-top:1px solid var(--line-light);transition:.35s var(--ease);text-decoration:none}
.best-tours .bt:last-child{border-bottom:1px solid var(--line-light)}
.best-tours .bt img{width:66px;height:50px;object-fit:cover;flex:none;background:var(--cream-2)}
.best-tours .bt .t{font-family:var(--display);font-size:18px;color:var(--ink);flex:1;line-height:1.2;transition:color .3s}
.best-tours .bt .ar{color:var(--brass);transition:transform .35s var(--ease)}
.best-tours .bt:hover .t{color:var(--brass)}
.best-tours .bt:hover .ar{transform:translateX(5px)}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  animation:kenburns 24s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.16)}}
.hero__overlay{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(20,26,18,.5) 0%,rgba(20,26,18,.24) 32%,rgba(33,41,30,.5) 64%,rgba(40,49,38,.86) 88%,#2a3326 100%)}
.hero__inner{position:relative;z-index:2;color:#fff;padding:0 0 9vh;max-width:1000px}
.hero .eyebrow{color:var(--brass-2);margin-bottom:30px;opacity:0;transform:translateY(20px);transition:opacity 1s var(--ease) .15s,transform 1s var(--ease) .15s}
.hero h1{font-weight:300;font-size:clamp(46px,8vw,108px);line-height:.98;letter-spacing:-.02em;
  text-shadow:0 2px 40px rgba(0,0,0,.35);margin-bottom:34px}
.hero h1 .l{display:block;opacity:0;transform:translateY(40px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.hero h1 .l:nth-child(1){transition-delay:.3s}.hero h1 .l:nth-child(2){transition-delay:.5s}
.hero h1 em{font-style:italic;color:var(--brass-2)}
.hero__lede{max-width:560px;margin:0 auto;color:#e9e4d6;font-weight:300;font-size:16px;line-height:1.8}
/* multi-country grid — own card CSS (these cards use a direct <img>, not .tcard__media) */
.multi__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:8px}
.multi__grid .tcard{flex:initial;height:480px;scroll-snap-align:none;overflow:hidden}
.multi__grid .tcard > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  transition:transform 1.2s var(--ease)}
.multi__grid .tcard:hover > img{transform:scale(1.06)}
.multi__grid .tcard .tcard__grad{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(18,24,16,0) 32%,rgba(18,24,16,.55) 60%,rgba(12,16,11,.95) 100%)}
.multi__grid .tcard .tcard__line{z-index:3}
.multi__grid .tcard .tcard__body{position:relative;z-index:2}
.multi .shead{justify-content:center;text-align:center;flex-direction:column;align-items:center}
.multi .shead h2 em{font-style:italic;color:var(--brass)}
.hero__caption{position:absolute;right:48px;bottom:9vh;z-index:2;writing-mode:vertical-rl;
  font-family:var(--sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.scrollcue{position:absolute;left:50%;bottom:38px;transform:translateX(-50%);z-index:3;width:54px;height:54px;
  border-radius:50%;border:1px dashed rgba(255,255,255,.55);background:none;cursor:pointer;display:grid;place-items:center;
  color:rgba(255,255,255,.85);transition:.4s var(--ease)}
.scrollcue:hover{border-color:var(--brass-2);color:var(--brass-2);border-style:solid}
.scrollcue svg{width:16px;height:16px;animation:bob 2s var(--ease) infinite}
@keyframes bob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}

/* ============ MARQUEE / TRUST  (option 2 design) ============ */
.trust{background:var(--green);color:var(--on-dark);padding:72px 0}
.trust .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}
.trust .stat{text-align:center;flex:1}
.trust .num{font-family:var(--display);font-weight:300;font-size:clamp(40px,4.5vw,68px);
  line-height:1;color:#fff;letter-spacing:-.02em}
/* "+" rendered as a small raised superscript, not inline full-height */
.trust .num span{color:var(--brass-2);font-size:.42em;vertical-align:super;font-weight:400;letter-spacing:0}
.trust .lbl{font-family:var(--sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  color:#9bbfb2;margin-top:18px}
.trust .vr{width:1px;align-self:stretch;background:rgba(155,191,178,.18)}

/* ============ INTRO STATEMENT ============ */
.statement{background:var(--cream);padding:130px 0;text-align:center}
.statement .eyebrow{margin-bottom:28px}
.statement p{font-family:var(--display);font-weight:300;font-size:clamp(26px,3.6vw,46px);line-height:1.28;
  max-width:1000px;margin:0 auto;color:var(--ink);letter-spacing:-.01em}
.statement p em{font-style:italic;color:var(--brass-d)}

/* ============ SECTION SHELL ============ */
.section{padding:120px 0}
.section--green{background:var(--green);color:var(--on-dark)}
.section--cream{background:var(--cream)}
.section--paper{background:var(--paper)}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:60px;flex-wrap:wrap}
.shead .l h2{font-family:var(--display);font-weight:300;font-size:clamp(34px,4.6vw,60px);line-height:1.04;letter-spacing:-.015em;margin-top:18px}
.shead .l h2 em{font-style:italic;color:var(--brass)}
.section--green .shead h2{color:#fff}
.shead .meta{max-width:340px;font-weight:300;font-size:14.5px}
.section--green .shead .meta{color:var(--on-dark-soft)}
.section--cream .shead .meta{color:#5a5f4f}

/* ============ CURATED (carousel) ============ */
/* overflow:hidden clips left; clip-path is a belt-and-suspenders guarantee
   — right side extends 999px so the peeking 4th card is never cut off        */
.tcarousel{position:relative;min-width:0;overflow:hidden;
  clip-path:inset(0 -999px 0 0)}
.tmask{overflow:visible;min-width:0}
.ttrack{display:flex;gap:18px;min-width:0;padding:0 0 30px;will-change:transform}
.ttrack::-webkit-scrollbar{display:none}
.tcard{flex:0 0 var(--tcard-w,346px);scroll-snap-align:start;position:relative;height:455px;overflow:visible;
  display:flex;align-items:flex-end;cursor:pointer;background:#222a1f}
.tcard__media{position:absolute;inset:0;z-index:0;overflow:hidden;background:linear-gradient(155deg,#41512f 0%,#2b3621 48%,#191f15 100%)}
.tcard__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:transform 1.1s var(--ease)}
.tcard__ph{position:absolute;left:0;right:0;top:30%;z-index:0;padding:0 22px;text-align:center;
  font-family:var(--display);font-weight:300;font-size:34px;line-height:1;color:rgba(216,183,121,.5);
  letter-spacing:.06em;pointer-events:none}
.tcard__ph::after{content:"Adulis Travel";display:block;margin-top:13px;font-family:var(--sans);
  font-size:9px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:rgba(199,168,108,.62)}
.tcard:hover .tcard__media img{transform:scale(1.07)}
.tcard__grad{position:absolute;inset:0;z-index:2;transition:opacity .5s var(--ease);
  background:linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.85) 18%,rgba(0,0,0,.66) 42%,rgba(0,0,0,.5) 66%,rgba(0,0,0,.42) 100%)}
.tcard__media img{transition:transform 1.1s var(--ease),filter .5s var(--ease)}
.tcard:hover .tcard__grad{opacity:.82}
.tcard:hover .tcard__media img{filter:brightness(1.12) saturate(1.05)}
.tcard__pop{position:absolute;right:20px;bottom:20px;z-index:5;width:92px;height:92px;border-radius:50%;
  background:transparent;border:1px solid rgba(198,178,128,.62);color:#e8e2d2;display:grid;place-items:center;text-align:center;
  font-family:var(--sans);font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.65;
  text-shadow:0 1px 5px rgba(0,0,0,.65)}
.tcard__pop::after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px solid rgba(198,178,128,.5);pointer-events:none}
.tcard__line{position:absolute;top:0;left:0;height:2px;width:0;background:var(--brass);z-index:3;transition:width .6s var(--ease)}
.tcard:hover .tcard__line{width:100%}
.tcard__body{position:relative;z-index:2;padding:28px 26px;color:#fff;width:100%}
.tcard__tag{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:11px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.tcard__body h3{font-family:var(--display);font-weight:400;font-size:32px;line-height:1.05;margin-bottom:15px;text-wrap:balance;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.tcard__meta{font-family:var(--sans);font-weight:300;font-size:14px;line-height:1.65;color:#e9e5da;margin-bottom:18px;padding-right:84px;text-shadow:0 1px 6px rgba(0,0,0,.55)}
.tcard__more{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-2);display:inline-flex;gap:8px;align-items:center;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.tcard__more .ar{font-size:18px;line-height:1;transition:transform .35s var(--ease)}
.tcard:hover .tcard__more{color:#fff}
.tcard:hover .tcard__more .ar{transform:translateX(4px)}
/* floating prev/next arrows, vertically centred on the cards (like reference) */
.tcaro-arrow{position:absolute;top:250px;transform:translateY(-50%);z-index:8;width:52px;height:52px;border-radius:50%;
  border:1px solid rgba(255,255,255,.65);background:rgba(20,26,18,.3);backdrop-filter:blur(3px);
  color:#fff;display:grid;place-items:center;cursor:pointer;transition:.35s var(--ease);box-shadow:0 6px 20px rgba(0,0,0,.35)}
.tcaro-arrow:hover{background:var(--brass);border-color:var(--brass)}
.tcaro-arrow svg{width:18px;height:18px}
.tcaro-prev{left:14px}
.tcaro-next{right:14px}
@media(max-width:900px){.tcaro-arrow{display:none}}
.cnav{display:flex;gap:14px;margin-top:38px;align-items:center}
.cbtn{width:52px;height:52px;border-radius:50%;border:1px solid var(--line-dark);background:none;color:var(--on-dark);cursor:pointer;display:grid;place-items:center;transition:.4s var(--ease)}
.cbtn:hover{background:var(--brass);border-color:var(--brass);color:#fff}
.cbtn svg{width:16px;height:16px}
.cprog{flex:1;height:1px;background:var(--line-dark);position:relative;margin-left:14px;max-width:340px}
.cprog i{position:absolute;left:0;top:0;height:100%;background:var(--brass);width:28%;transform:translateX(0);transition:transform .4s var(--ease);will-change:transform}

/* ============ WHY (values) ============ */
.why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.why .item{padding:0 44px;border-left:1px solid var(--line-dark)}
.why .item:first-child{padding-left:0;border-left:0}
.why .item .ri{font-family:var(--display);font-weight:300;font-size:30px;color:var(--brass-2);margin-bottom:26px;font-style:italic}
.why .item h3{font-family:var(--display);font-weight:400;font-size:25px;color:#fff;margin-bottom:16px;line-height:1.15}
.why .item p{font-weight:300;font-size:14px;color:var(--on-dark-soft);line-height:1.8}
.why__cta{margin-top:70px;text-align:center}

/* ============ THINGS TO DO IN ERITREA ============ */
.todo__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 34px;margin-top:8px}
.todo__item{border-top:2px solid var(--brass);padding:24px 2px 0;transition:transform .4s var(--ease)}
.todo__item:hover{transform:translateY(-4px)}
.todo__item .n{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.2em;color:var(--brass)}
.todo__item h3{font-family:var(--display);font-weight:400;font-size:25px;color:var(--ink);margin:13px 0 11px;line-height:1.14}
.todo__item p{font-weight:300;font-size:14px;color:#55594a;line-height:1.8}
@media(max-width:1024px){.todo__grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.todo__grid{grid-template-columns:1fr;gap:26px}}

/* ============ FUTURE ============ */
.future .grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:70px;align-items:center}
.future__imgs{display:flex;gap:22px}
.future__imgs .im{position:relative;overflow:hidden;flex:1;aspect-ratio:3/4.2}
.future__imgs .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.future__imgs .im:hover img{transform:scale(1.06)}
.future__imgs .im:first-child{margin-top:48px}
.future__txt h2{font-family:var(--display);font-weight:300;font-size:clamp(34px,4.4vw,56px);line-height:1.06;margin-bottom:26px}
.future__txt h2 em{font-style:italic;color:var(--brass)}
.future__txt p{font-weight:300;font-size:15px;color:#55594a;line-height:1.85;margin-bottom:34px;max-width:440px}
.future__txt p b{font-weight:500;color:var(--ink)}
.tags{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:38px}
.tag{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line-light);
  padding:11px 20px;font-family:var(--sans);font-size:12px;letter-spacing:.08em;cursor:pointer;transition:.4s var(--ease);color:#3a4032}
.tag:hover{border-color:var(--brass);color:var(--brass)}
.tag .dot{width:5px;height:5px;border-radius:50%;background:var(--brass)}

/* ============ TESTIMONIAL ============ */
.voices{position:relative;background:#222a1f;color:#fff;padding:84px 0;overflow:hidden;text-align:center}
.voices__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.5}
.voices__ov{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at center,rgba(26,33,24,.3),rgba(18,23,16,.72))}
.voices__in{position:relative;z-index:2;max-width:920px;margin:0 auto}
.voices .qmark{font-family:var(--display);font-size:96px;line-height:.4;color:var(--brass);opacity:.55;height:44px}
.vquote{min-height:172px;display:flex;flex-direction:column;justify-content:center}
.vquote p{font-family:var(--display);font-weight:300;font-size:clamp(24px,3.2vw,38px);line-height:1.38;font-style:italic;
  transition:opacity .6s var(--ease);letter-spacing:-.01em}
.vquote .who{font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-2);margin-top:22px;transition:opacity .6s var(--ease)}
.vnav{display:flex;gap:16px;justify-content:center;margin-top:20px}
.vbtn{width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:none;color:#fff;cursor:pointer;display:grid;place-items:center;transition:.4s var(--ease)}
.vbtn:hover{background:var(--brass);border-color:var(--brass)}
.vbtn svg{width:15px;height:15px}
.ratings{display:flex;gap:56px;justify-content:center;margin-top:40px;padding-top:32px;border-top:1px solid var(--line-dark);flex-wrap:wrap}
.rating{text-align:center}
.rating .stars{color:var(--brass-2);letter-spacing:4px;font-size:16px;line-height:1;margin-bottom:12px}
.rating .line2{font-family:var(--sans);font-size:12px;letter-spacing:.1em;color:var(--on-dark);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.rating .line2 b{color:#fff;font-weight:600}
.rating .line2 .sep{color:var(--on-dark-soft);opacity:.6}
.rating .line2 a{color:var(--brass-2);text-decoration:none;letter-spacing:.1em;transition:color .3s}
.rating .line2 a:hover{color:#fff}

/* ============ SIGNATURE TOURS ============ */
.sig__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.sig .card{position:relative;height:600px;overflow:hidden;display:flex;align-items:flex-end;cursor:pointer;background:var(--green-deep)}
.sig .card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform 1.2s var(--ease)}
.sig .card:hover img{transform:scale(1.07)}
.sig .card__grad{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,20,14,0) 30%,rgba(16,20,14,.5) 60%,rgba(12,16,10,.95) 100%)}
.sig .card__body{position:relative;z-index:2;padding:36px;color:#fff;transform:translateY(20px);transition:transform .6s var(--ease)}
.sig .card:hover .card__body{transform:none}
.sig .card__no{font-family:var(--sans);font-size:11px;letter-spacing:.24em;color:var(--brass-2);margin-bottom:16px}
.sig .card__body h3{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.1;margin-bottom:16px}
.sig .card__body p{font-weight:300;font-size:13.5px;color:#ddd8c9;line-height:1.7;margin-bottom:22px;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .6s var(--ease)}
.sig .card:hover .card__body p{max-height:140px;opacity:1}
.sig .card__more{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;gap:10px;align-items:center}
.sig .card__more .ln{width:22px;height:1px;background:var(--brass-2)}

/* ============ CTA BANNER ============ */
.cta{position:relative;background:var(--green-deep);color:#fff;text-align:center;padding:120px 0}
.cta .eyebrow{color:var(--brass-2);margin-bottom:26px}
.cta h2{font-family:var(--display);font-weight:300;font-size:clamp(36px,5vw,68px);line-height:1.05;margin-bottom:38px}
.cta h2 em{font-style:italic;color:var(--brass-2)}

/* ============ FOOTER ============ */
.site-footer{background:var(--green-deep);color:var(--on-dark);padding:90px 0 0;border-top:1px solid var(--line-dark)}
.site-footer .grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:48px}
.f-brand .mark{font-family:var(--display);font-weight:500;font-size:30px;color:#fff;letter-spacing:.03em}
.f-brand .sub{font-family:var(--sans);font-size:9.5px;letter-spacing:.42em;color:var(--brass-2);margin:5px 0 24px}
.f-brand p{font-weight:300;font-size:14px;color:var(--on-dark-soft);line-height:1.85;max-width:340px}
.fcol h4,.fcol h3{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-2);margin-bottom:22px}
.fcol ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px}
.fcol a,.fcol p{font-weight:300;font-size:14px;color:var(--on-dark-soft);line-height:1.7;transition:color .3s}
.fcol a:hover{color:var(--brass-2)}
.footer-bottom{margin-top:70px;border-top:1px solid var(--line-dark);padding:26px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-family:var(--sans);font-size:11px;letter-spacing:.1em;color:var(--on-dark-soft)}\n.travel-start .idx,.section--green .idx,.voices .idx{color:var(--brass-2)}\n.section--cream h2 em,.section--paper h2 em,.dest h2 em,.future h2 em{color:var(--brass-d)}\n.section--green .btn,.travel-start .btn,.voices .btn{color:var(--brass-2);border-color:var(--brass-2)}

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){
  .wrap{padding:0 32px}
  .site-header,.site-header.scrolled{padding:18px 32px}
  .main-nav,.header-right .btn{display:none}
  .nav-toggle{display:flex}
  .main-nav.open{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;flex-direction:column;align-items:flex-start;background:rgba(20,26,18,.98);padding:80px 32px 32px;gap:18px;border-top:1px solid var(--line-dark);overflow-y:auto;z-index:55}
  .main-nav.open .nav-item{width:100%}
  .main-nav.open .nav-item .caret{display:none}
  .main-nav.open .dropdown{display:block;position:static;transform:none;opacity:1;visibility:visible;width:auto;min-width:0;
    background:transparent;backdrop-filter:none;box-shadow:none;border:0;border-top:1px solid var(--line-dark);padding:8px 0 0;margin-top:12px}
  .main-nav.open .dropdown::before{display:none}
  .main-nav.open .mega-grid{grid-template-columns:1fr 1fr;gap:6px 24px}
  .main-nav.open .mega-map-zone{display:none}
  .main-nav.open .dropdown .dd-label{padding-left:0}
  .main-nav.open .dropdown a{font-size:16px;padding:9px 0}
  .why__grid{grid-template-columns:1fr;gap:50px}
  .why .item{padding:0;border-left:0;border-top:1px solid var(--line-dark);padding-top:40px}
  .why .item:first-child{border-top:0;padding-top:0}
  .future .grid{grid-template-columns:1fr;gap:46px}
  .ts-grid{grid-template-columns:1fr;gap:34px;padding-left:32px}
  .ts-grid .hero__start{padding-right:32px}
  .cs{grid-template-columns:1fr;gap:30px}
  .cs-nav{flex-direction:row;flex-wrap:wrap;gap:8px 22px;border-right:0;border-bottom:1px solid var(--line-light);padding:0 0 18px}
  .cs-nav button{font-size:22px}
  .cs-photo{min-height:300px}
  .site-footer .grid{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:760px){
  .wrap{padding:0 22px}
  .site-header,.site-header.scrolled{padding:16px 22px}
  .hero__caption{display:none}
  .trust .wrap{flex-wrap:wrap;gap:30px}.trust .stat{flex:0 0 40%}.trust .vr{display:none}
  .trust .num{font-size:42px}
  .sig__grid{grid-template-columns:1fr;gap:20px}
  .sig .card{height:480px}
  .sig .card__body p{max-height:140px;opacity:1}
  .sig .card__body{transform:none}
  .tcard{flex-basis:78vw}
  .travel-start .tcard{flex:0 0 78vw}
  .hero__check{grid-template-columns:1fr}
  .multi__grid{grid-template-columns:1fr}
  .site-footer .grid{grid-template-columns:1fr 1fr}
  .ratings{gap:36px}
}
@media(max-width:600px){
  .topbar{font-size:9px;letter-spacing:.16em;padding:8px 14px}
  .site-header{top:35px}
  .brand .emblem{width:42px;height:42px}
  .brand .mark{font-size:22px}
  .brand .sub{font-size:8px;letter-spacing:.34em}
  .hero{min-height:100svh;padding:110px 0 80px}
  .hero h1{font-size:clamp(34px,10vw,52px)}
  .hero .eyebrow{margin-bottom:20px;font-size:11px}
  .hero__lede{font-size:15px}
  .travel-start{padding:70px 0 80px}
  .ts-grid{padding-left:20px}
  .ts-grid .hero__start{padding-right:20px}
  .hero__start-h{font-size:30px}
  .section{padding:72px 0}
  .shead .l h2,.future__txt h2,.cta h2,.statement p{font-size:30px}
  .trust{padding:48px 0}.trust .stat{flex:0 0 44%}.trust .num{font-size:36px}
  .cs-desc h3,.cs-desc .pane h3{font-size:26px}
  .cs-nav button{font-size:20px}
  .best-tours .bt .t{font-size:16px}
  .voices{padding:84px 0}
  .vquote p{font-size:22px}
  .ratings{flex-direction:column;gap:26px;align-items:center}
  .sig .card{height:440px}
  .site-footer .grid{grid-template-columns:1fr;gap:34px}
  .footer-bottom{flex-direction:column;text-align:center;gap:8px}
  .btn{padding:15px 26px;font-size:11px}
  .cnav{flex-wrap:wrap}
  /* detail page mobile */
  .detail{padding:60px 0 80px}
  .book{padding:28px 20px}
  .itin-head{margin-bottom:28px}
  .btmonths{flex-wrap:wrap;gap:4px}
  .btmo{min-width:44px;flex:0 0 calc(25% - 4px);padding:10px 2px 8px;font-size:10px}
  .btpanel{padding:22px 16px}
  .acc__head{gap:12px}
  .acc__day{min-width:56px}
  body{font-size:15px}
}

/* =====================================================================
   ===============  INNER-PAGE COMPONENTS (shared)  ====================
   Built strictly on the existing tokens so every page matches the
   reference home page exactly. Cards & carousel keep the original look.
   ===================================================================== */

/* ---- compact page hero (inner pages) ---- */
.page-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;overflow:hidden;background:#171d15;padding:160px 0 64px}
.page-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;animation:kenburns 26s ease-in-out infinite alternate}
.page-hero__ov{position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(20,26,18,.86) 0%,rgba(20,26,18,.5) 46%,rgba(26,33,24,.34) 70%,rgba(176,141,87,.22) 100%),linear-gradient(0deg,rgba(20,26,18,.92),rgba(20,26,18,0) 60%)}
.page-hero .wrap{position:relative;z-index:2;width:100%}
.page-hero .eyebrow{color:var(--brass-2);display:block;margin-bottom:18px}
.page-hero h1{font-weight:300;font-size:clamp(40px,6.4vw,84px);line-height:1;color:#fff;letter-spacing:-.02em;text-shadow:0 2px 40px rgba(0,0,0,.4)}
.page-hero h1 em{font-style:italic;color:var(--brass-2)}
.page-hero__lede{max-width:560px;margin:24px 0 0;color:#e9e4d6;font-weight:300;font-size:16px;line-height:1.8}
.crumbs{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark-soft);margin-bottom:26px;display:flex;gap:10px;align-items:center}
.crumbs a{color:var(--on-dark-soft);transition:color .3s}.crumbs a:hover{color:var(--brass-2)}
.crumbs .sep{color:var(--brass-2);opacity:.6}

/* ---- filter bar ---- */
.filterbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:56px}
.fbtn{all:unset;cursor:pointer;font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);padding:12px 24px;border:1px solid var(--line-light);transition:.4s var(--ease);white-space:nowrap}
.section--green .fbtn{color:var(--on-dark);border-color:var(--line-dark)}
.fbtn:hover{border-color:var(--brass);color:var(--brass)}
.fbtn.active{background:var(--brass);border-color:var(--brass);color:#fff}
.fcount{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5a5f4f;text-align:center;margin-bottom:40px}

/* ---- journeys grid (uses signature-card look = original card design) ---- */
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.jgrid .card{position:relative;height:520px;overflow:hidden;display:flex;align-items:flex-end;cursor:pointer;background:var(--green-deep);text-align:left}
.jgrid .card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform 1.2s var(--ease)}
.jgrid .card:hover>img{transform:scale(1.07)}
.jgrid .card__grad{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,20,14,0) 26%,rgba(16,20,14,.5) 56%,rgba(12,16,10,.95) 100%)}
.jgrid .card__line{position:absolute;top:0;left:0;height:2px;width:0;background:var(--brass);z-index:3;transition:width .6s var(--ease)}
.jgrid .card:hover .card__line{width:100%}
.jgrid .card__body{position:relative;z-index:2;padding:34px;color:#fff;width:100%}
.jgrid .card__no{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-2);margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
.jgrid .card__no .price{color:#fff;font-family:var(--display);font-size:20px;letter-spacing:0;text-transform:none}
.jgrid .card__body h3{font-family:var(--display);font-weight:400;font-size:29px;line-height:1.08;margin-bottom:13px;text-wrap:balance}
.jgrid .card__body p{font-weight:300;font-size:13.5px;color:#ddd8c9;line-height:1.7;margin-bottom:20px}
.jgrid .card__more{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;gap:10px;align-items:center;color:#fff}
.jgrid .card__more .ln{width:22px;height:1px;background:var(--brass-2);transition:width .4s var(--ease)}
.jgrid .card:hover .card__more .ln{width:36px}
.jempty{grid-column:1/-1;text-align:center;padding:60px 0;color:#5a5f4f;font-weight:300}
@media(max-width:1024px){.jgrid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.jgrid{grid-template-columns:1fr}.jgrid .card{height:460px}}

/* ---- detail page layout ---- */
.detail{padding:96px 0 120px}
.detail__grid{display:grid;grid-template-columns:1fr 392px;gap:64px;align-items:stretch;margin-bottom:72px}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line-light);margin-bottom:42px;flex-wrap:wrap}
.tab{all:unset;cursor:pointer;font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:#5a5f4f;padding:16px 22px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.35s var(--ease)}
.tab:hover{color:var(--ink)}
.tab.active{color:var(--brass);border-bottom-color:var(--brass)}
@keyframes tfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hl-grid{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hl-grid li{display:flex;gap:13px;align-items:flex-start;font-weight:300;font-size:14.5px;color:#3a4032;line-height:1.6}
.hl-grid li .c{color:var(--brass);font-size:16px;line-height:1.4;flex:none}
.sub-h{font-family:var(--display);font-weight:400;font-size:24px;color:var(--ink);margin:38px 0 10px}


/* pricing */
.pcols{display:grid;grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:40px;margin-top:8px}
.pcols h4{font-family:var(--display);font-weight:400;font-size:23px;color:var(--ink);margin-bottom:14px}
.pcols ul{list-style:none;padding:0;margin:0}
.pcols li{display:flex;gap:12px;align-items:flex-start;padding:7px 0;font-weight:300;font-size:14.5px;color:#3a4032;line-height:1.55}
.pcols li .mk{flex:none;font-size:15px;line-height:1.5}
.pcols .inc li .mk{color:var(--brass)}
.pcols .exc li .mk{color:#9aa08c}
@media(max-width:600px){.pcols{grid-template-columns:1fr;gap:30px}.hl-grid{grid-template-columns:1fr}}

/* accommodation */
.acc__row{display:grid;grid-template-columns:200px 1fr;gap:28px;padding:26px 0;border-top:1px solid var(--line-light);align-items:center}
.acc__row:last-child{border-bottom:1px solid var(--line-light)}
/* image wrapper with hover overlay */
.acc__img-wrap{position:relative;overflow:hidden;cursor:zoom-in;flex:none}
.acc__img-wrap img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--cream-2);display:block;transition:transform .4s var(--ease)}
.acc__img-wrap:hover img{transform:scale(1.04)}
/* hover overlay */
.acc__img-wrap::after{content:'';position:absolute;inset:0;background:rgba(12,16,10,.42);opacity:0;transition:opacity .3s}
.acc__img-wrap:hover::after{opacity:1}
/* zoom icon + text always visible in corner */
.acc__img-badge{position:absolute;bottom:10px;right:10px;z-index:2;background:rgba(12,16,10,.55);
  backdrop-filter:blur(4px);color:#fff;display:flex;align-items:center;gap:6px;padding:5px 10px;
  font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;
  transition:background .3s}
.acc__img-wrap:hover .acc__img-badge{background:var(--brass)}
/* centered overlay icon */
.acc__img-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:8px;opacity:0;transition:opacity .3s;pointer-events:none}
.acc__img-wrap:hover .acc__img-overlay{opacity:1}
.acc__img-overlay svg{width:32px;height:32px;color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.acc__img-overlay span{font-family:var(--sans);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#fff;
  font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.5)}

/* ---- hotel image lightbox ---- */
.hlb{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(12,16,10,.88);backdrop-filter:blur(6px)}
.hlb.open{display:flex}
.hlb__box{position:relative;max-width:860px;width:100%;animation:hlbIn .35s var(--ease)}
@keyframes hlbIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.hlb__img{width:100%;max-height:70vh;object-fit:contain;display:block;filter:brightness(1.02) contrast(1.04) saturate(.9) sepia(.05)}
.hlb__caption{background:rgba(12,16,10,.72);padding:18px 24px;display:flex;justify-content:space-between;align-items:center}
.hlb__name{font-family:var(--display);font-weight:400;font-size:20px;color:#fff}
.hlb__lvl{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.hlb__close{all:unset;cursor:pointer;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;color:#fff;transition:.25s;flex:none}
.hlb__close:hover{background:var(--brass);border-color:var(--brass)}
.acc__lvl{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:8px}
.acc__row h4{font-family:var(--display);font-weight:400;font-size:23px;color:var(--ink);margin-bottom:6px}
.acc__nights{font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-2);margin-bottom:8px !important}
.acc__row p{font-weight:300;font-size:14px;color:#55594a;line-height:1.75;margin:0}
@media(max-width:600px){.acc__row{grid-template-columns:1fr;gap:16px}}

/* booking card (sticky sidebar) */
.book{position:sticky;top:120px;background:var(--green);color:var(--on-dark);padding:36px 32px;border:1px solid var(--line-dark)}
.book .from{font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-2);margin-bottom:8px}
.book .price{font-family:var(--display);font-weight:300;font-size:48px;color:#cda35e;line-height:1;margin:8px 0 4px}
.book .price small{font-family:var(--sans);font-size:13px;letter-spacing:.06em;color:var(--on-dark-soft);text-transform:none}
.book .meta-rows{margin:24px 0 0;border-top:1px solid var(--line-dark)}
.book .mrow{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line-dark);font-weight:300;font-size:14px}
.book .mrow span{color:var(--on-dark-soft)}.book .mrow b{color:#fff;font-weight:400}
.book label{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-2);margin:20px 0 10px}
.book input,.book select,.book textarea{width:100%;padding:14px 16px;background:var(--green-deep);border:1px solid var(--line-dark);color:#fff;font-family:var(--sans);font-weight:300;font-size:14px;border-radius:0;box-sizing:border-box}
.book input::placeholder,.book textarea::placeholder{color:#8e937f}
.book input:focus,.book select:focus,.book textarea:focus{outline:none;border-color:var(--brass)}
.book textarea{resize:vertical;min-height:72px;line-height:1.6}
.book select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c7a86c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}
.book .btn{width:100%;justify-content:center;margin-top:26px;border-color:var(--brass-2);color:#fff;background:var(--brass)}
.book .btn:hover{background:var(--brass-d);border-color:var(--brass-d)}
.book .btn--ghost{width:100%;justify-content:center;margin-top:12px;background:none;border:1px solid var(--brass-2);color:#fff}
.book .btn--ghost:hover{background:rgba(176,141,87,.18);border-color:var(--brass-2)}
.book .note{font-weight:300;font-size:12px;color:var(--on-dark-soft);text-align:center;margin-top:14px;line-height:1.6}
.date-note{margin-top:14px;font-weight:300;font-size:13px;color:#fff;background:rgba(176,141,87,.22);border:1px solid var(--brass);padding:12px 14px;display:none}
.date-note.show{display:block;animation:tfade .4s var(--ease)}
.date-note .c{color:var(--brass-2)}
/* departure warning */
.book__warn{display:none;margin-top:12px;font-family:var(--sans);font-weight:400;font-size:12.5px;
  color:#ffd9d0;background:rgba(192,96,80,.22);border:1px solid rgba(208,112,96,.7);padding:11px 13px;line-height:1.5}
.book__warn.show{display:block;animation:tfade .35s var(--ease)}
/* room / bed preference */
.book__bed{margin-top:16px;display:flex;flex-direction:column;gap:9px;
  border:1px solid var(--line-dark);padding:14px;background:rgba(0,0,0,.15)}
.book__bed[hidden]{display:none}
.book__bed-q{font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-2);margin-bottom:2px}
.book__bed .book__check{margin:0!important}
/* children checkbox + panel */
.book__check{display:flex!important;align-items:center;gap:10px;cursor:pointer;
  font-family:var(--sans);font-size:13px!important;font-weight:300!important;letter-spacing:0!important;
  text-transform:none!important;color:var(--on-dark)!important;margin:18px 0 0!important}
.book__check input{width:auto!important;padding:0!important;margin:0;accent-color:var(--brass);width:16px!important;height:16px!important;flex:none}
.book__children{margin-top:14px;display:flex;flex-direction:column;gap:10px;
  border:1px solid var(--line-dark);padding:14px;background:rgba(0,0,0,.15)}
.book__children[hidden]{display:none}
.child-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.child-row span{font-family:var(--sans);font-size:13px;font-weight:300;color:var(--on-dark)}
.child-row span em{font-style:normal;color:var(--brass-2);font-size:11px;letter-spacing:.04em}
.child-row .child-sel{width:72px!important;padding:8px 10px!important;margin:0}
@media(max-width:980px){.detail__grid{grid-template-columns:1fr;gap:40px}.book{position:static;max-width:520px}}

/* flatpickr — brass/green theme to match the house style */
.flatpickr-calendar{background:var(--green-deep);border:1px solid var(--line-dark);box-shadow:0 30px 70px rgba(0,0,0,.5);border-radius:0;font-family:var(--sans)}
.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{display:none}
.flatpickr-months,.flatpickr-month,.flatpickr-current-month input.cur-year{background:var(--green-deep);color:#fff;fill:#fff}
.flatpickr-current-month .flatpickr-monthDropdown-months{background:var(--green-deep);color:#fff}
.flatpickr-weekday{background:var(--green-deep);color:var(--brass-2)!important;font-weight:500}
.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{fill:var(--brass-2)}
.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#fff}
.flatpickr-day{color:var(--on-dark);border-radius:0}
.flatpickr-day:hover{background:rgba(176,141,87,.22);border-color:transparent}
.flatpickr-day.today{border-color:var(--brass-2)}
.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--brass);border-color:var(--brass);color:#fff}
.flatpickr-day.flatpickr-disabled,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:rgba(236,231,218,.28)}
.flatpickr-innerContainer,.flatpickr-rContainer,.flatpickr-days,.dayContainer{background:var(--green-deep)}

/* ---- extra dintro detail text ---- */
.dintro__extra{margin-top:36px;padding-top:32px;border-top:1px solid var(--line-light)}
.dintro__extra p{font-weight:300;font-size:14.5px;color:#4f5446;line-height:1.9;margin-bottom:16px}
.dintro__extra p:last-child{margin-bottom:0}
.dintro__extra strong{font-family:var(--sans);font-weight:500;color:var(--ink)}

/* ---- custom tour modal (two-panel) ---- */
/* place cards */
/* per-place options (Keren / Dahlak) — only shown when the card is selected */
/* keren note */
.keren-note{display:flex;gap:14px;align-items:flex-start;background:rgba(176,141,87,.12);border:1px solid var(--brass);padding:16px 18px;margin-bottom:16px}
.keren-note__icon{font-size:24px;flex:none;line-height:1}
.keren-note strong{font-family:var(--sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-d);display:block;margin-bottom:5px}
.keren-note p{font-weight:300;font-size:13px;color:#4f5446;line-height:1.65;margin:0}
.keren-note__date{margin-top:8px;font-family:var(--sans);font-size:12px;font-weight:500;color:var(--brass-d)}

/* departure input in modal */
/* summary panel */
/* non-blocking toast */
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);z-index:400;max-width:420px;width:calc(100% - 40px);
  background:var(--green-deep);color:#fff;border-left:3px solid var(--brass);padding:15px 20px;
  font-family:var(--sans);font-size:13.5px;font-weight:300;line-height:1.55;box-shadow:0 12px 36px rgba(0,0,0,.4);
  opacity:0;visibility:hidden;transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s}
.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}

/* right form in modal */
.full{grid-column:1/-1}
/* ---- tour filter sidebar ---- */
.tours-layout{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start}
.tour-filter{position:sticky;top:110px;display:flex;flex-direction:column;gap:0}
.tf-block{padding:22px 0;border-bottom:1px solid var(--line-light)}
.tf-block:last-of-type{border-bottom:none}
.tf-title{font-family:var(--sans);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
.tf-range-val{font-family:var(--sans);font-size:11px;color:var(--ink);letter-spacing:0;text-transform:none;font-weight:500}
.tf-opt{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:13px;font-weight:300;color:#4f5446;cursor:pointer;padding:5px 0;transition:color .25s}
.tf-opt:hover{color:var(--ink)}
.tf-opt input[type="radio"],.tf-opt input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--line-light);border-radius:50%;flex:none;cursor:pointer;transition:.25s;position:relative}
.tf-opt input[type="checkbox"]{border-radius:0}
.tf-opt input[type="radio"]:checked,.tf-opt input[type="checkbox"]:checked{border-color:var(--brass);background:var(--brass)}
.tf-opt input[type="radio"]:checked::after,.tf-opt input[type="checkbox"]:checked::after{content:"";position:absolute;inset:3px;background:#fff;border-radius:50%}
.tf-opt input[type="checkbox"]:checked::after{content:"✓";inset:0;border-radius:0;background:none;font-size:11px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}
.tf-range{width:100%;-webkit-appearance:none;appearance:none;height:2px;background:var(--line-light);outline:none;margin:8px 0 6px}
.tf-range::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--brass);border:2px solid #fff;box-shadow:0 0 0 1px var(--brass);cursor:pointer}
.tf-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--brass);border:2px solid #fff;cursor:pointer}
.tf-range-ends{display:flex;justify-content:space-between;font-family:var(--sans);font-size:11px;color:#9aa08c}
.tf-reset{all:unset;cursor:pointer;font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9aa08c;margin-top:18px;transition:color .25s}
.tf-reset:hover{color:var(--brass)}
.tf-count{font-family:var(--sans);font-size:12px;color:#9aa08c;margin-top:10px}
.tours-grid-wrap{min-width:0}
.scard.hidden{display:none}
@media(max-width:860px){
  .tours-layout{grid-template-columns:1fr}
  .tour-filter{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-items:start}
  .tf-block{border-bottom:none;padding:12px 0}
  #tfDurationBlock{grid-column:1}
  #tfTypeBlock{grid-column:2}
  #tfBudgetBlock,.tf-reset,.tf-count{grid-column:1/-1}
  #tfTypeOpts{max-height:180px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:6px}
}

/* ---- inspiration / blog grid ---- */
.blog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 30px}
.bcard{cursor:pointer;background:none;display:flex;flex-direction:column}
.bcard__media{position:relative;overflow:hidden;aspect-ratio:3/2.05;background:var(--green-deep)}
.bcard__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.bcard:hover .bcard__media img{transform:scale(1.06)}
.bcard__cat{position:absolute;top:0;left:0;z-index:2;font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:rgba(176,141,87,.92);padding:8px 14px}
.bcard__b{padding:22px 2px 0}
.bcard__meta{font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-bottom:11px}
.bcard__b h3{font-family:var(--display);font-weight:400;font-size:25px;color:var(--ink);line-height:1.16;margin-bottom:11px;transition:color .3s}
.bcard:hover .bcard__b h3{color:var(--brass)}
.bcard__b p{font-weight:300;font-size:14px;color:#55594a;line-height:1.8;margin-bottom:16px}
.bcard__more{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);display:inline-flex;gap:10px;align-items:center}
.bcard__more .ln{width:22px;height:1px;background:var(--brass);transition:width .4s var(--ease)}
.bcard:hover .bcard__more .ln{width:36px}
.bfeat{display:grid;grid-template-columns:1.25fr 1fr;gap:0;background:var(--green);color:#fff;margin-bottom:56px;overflow:hidden}
.bfeat__media{position:relative;min-height:380px;overflow:hidden}
.bfeat__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bfeat__b{padding:clamp(34px,4vw,64px)}
.bfeat__b .bcard__meta{color:var(--brass-2)}
.bfeat__b h2{font-family:var(--display);font-weight:300;font-size:clamp(28px,3.4vw,44px);line-height:1.08;margin-bottom:18px}
.bfeat__b h2 em{font-style:italic;color:var(--brass-2)}
.bfeat__b p{font-weight:300;font-size:15px;color:var(--on-dark-soft);line-height:1.85;margin-bottom:26px;max-width:52ch}
@media(max-width:1024px){.blog__grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.blog__grid{grid-template-columns:1fr}.bfeat{grid-template-columns:1fr}.bfeat__media{min-height:240px}}

/* ---- blog detail (single-column article) ---- */
.article-hero{position:relative;min-height:60vh;display:flex;align-items:flex-end;overflow:hidden;
  background:#171d15 center/cover no-repeat;padding:170px 0 60px}
.article-hero__ov{position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg,rgba(20,26,18,.94) 0%,rgba(20,26,18,.5) 45%,rgba(20,26,18,.2) 100%)}
.article-hero .wrap{position:relative;z-index:2;width:100%;max-width:860px}
.article-hero .crumbs{margin-bottom:22px}
.article-hero .eyebrow{color:var(--brass-2);display:block;margin-bottom:16px}
.article-hero h1{font-weight:300;font-size:clamp(32px,5vw,60px);line-height:1.05;color:#fff;letter-spacing:-.01em;
  text-shadow:0 2px 40px rgba(0,0,0,.4);max-width:18ch}
.article-hero__meta{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--on-dark-soft);margin-top:22px}

/* single column body */
.article{max-width:74ch;margin:0 auto}
.article .article__lead{font-family:var(--display);font-weight:400;font-size:clamp(20px,2.4vw,26px);
  font-style:italic;color:var(--ink);line-height:1.5;margin:0 0 34px;padding-bottom:30px;
  border-bottom:1px solid var(--line-light)}
.article h2{font-family:var(--display);font-weight:400;font-size:clamp(24px,3vw,32px);color:var(--ink);
  line-height:1.18;margin:42px 0 16px}
.article h2 em{font-style:italic;color:var(--brass)}
.article p{font-weight:300;font-size:16px;color:#43483b;line-height:1.95;margin:0 0 20px}
/* table of contents */
.article__toc{background:var(--paper);border:1px solid var(--line-light);border-left:3px solid var(--brass);
  padding:24px 28px;margin:0 0 38px}
.article__toc-title{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--brass);margin-bottom:14px}
.article__toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.article__toc li{counter-increment:toc;margin:0;padding:0}
.article__toc li + li{margin-top:9px}
.article__toc a{display:flex;gap:12px;align-items:baseline;font-family:var(--sans);font-weight:300;
  font-size:14.5px;color:#43483b;line-height:1.5;transition:color .25s}
.article__toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--sans);font-size:11px;
  font-weight:500;letter-spacing:.05em;color:var(--brass);flex:none}
.article__toc a:hover{color:var(--brass)}

.article__fig{margin:34px 0;}
.article__fig img{width:100%;height:360px;object-fit:cover;display:block;background:var(--cream-2);border-radius:2px}
.article__fig figcaption{font-family:var(--sans);font-size:12.5px;font-style:italic;color:#8a8f7c;
  text-align:center;margin-top:12px;letter-spacing:.01em}
.article__foot{max-width:74ch;margin:48px auto 0;padding-top:28px;border-top:1px solid var(--line-light)}
.article__back{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--brass);display:inline-flex;align-items:center;gap:12px;transition:gap .3s}
.article__back .ln{width:26px;height:1px;background:var(--brass);transition:width .3s}
.article__back:hover{gap:16px}
.article__back:hover .ln{width:38px}
@media(max-width:760px){
  .article-hero{min-height:50vh;padding:130px 0 44px}
  .article p{font-size:15px}
}

/* simple modal for "read more" */
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px}
.modal.open{display:flex}
.modal__ov{position:absolute;inset:0;background:rgba(12,16,10,.74);backdrop-filter:blur(4px)}
.modal__box{position:relative;z-index:2;max-width:640px;width:100%;background:var(--cream);padding:clamp(32px,4vw,56px);max-height:86vh;overflow:auto;border-top:3px solid var(--brass)}
.modal__box .eyebrow{display:block;margin-bottom:14px}
.modal__box h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.4vw,38px);color:var(--ink);line-height:1.1;margin-bottom:18px}
.modal__box p{font-weight:300;font-size:15px;color:#4f5446;line-height:1.9;margin-bottom:16px}
.modal__close{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-light);background:none;cursor:pointer;display:grid;place-items:center;color:var(--ink);transition:.3s}
.modal__close:hover{background:var(--brass);border-color:var(--brass);color:#fff}
.related{padding-top:8px}

/* active top-nav link (inner pages) */
.main-nav > a.active,.nav-item.active > a{color:var(--brass-2)}
.main-nav > a.active::after,.nav-item.active > a::after{width:100%}

/* =====================================================================
   DETAIL PAGE — overview intro + vertical tab programme + accordion
   ===================================================================== */
.dintro-col{display:flex;flex-direction:column}
.dintro{margin-bottom:0;max-width:78ch;position:relative;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1)}
/* fade gradient at bottom when collapsed */
.dintro.is-collapsed::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;
  background:linear-gradient(to bottom,transparent,#f5f0e8);pointer-events:none}
.dintro h3{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.4vw,42px);color:var(--ink);margin:14px 0 18px;line-height:1.08}
.dintro h3 em{font-style:italic;color:var(--brass)}
.dintro>p{font-weight:300;font-size:15.5px;color:#4f5446;line-height:1.9;margin-bottom:8px}
/* read more button — sits right below the clipped dintro */
.dintro__readmore{display:none;padding:10px 0 0}
.dintro__readmore.visible{display:block}
.dintro__readmore a{cursor:pointer;font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.05em;color:var(--brass);text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:gap .3s}
.dintro__readmore a:hover{gap:12px}

.vtabs{display:grid;grid-template-columns:212px 1fr;gap:40px;align-items:start;margin-top:8px}
.vtabs .vnav{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line-light);padding-right:14px;position:sticky;top:120px}
.vpill{all:unset;cursor:pointer;font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  color:#6c7259;padding:14px 14px;border-right:2px solid transparent;margin-right:-15px;transition:.3s var(--ease);text-align:right;line-height:1.3}
.vpill:hover{color:var(--ink)}
.vpill.active{color:var(--brass);border-right-color:var(--brass)}
.vpanel{display:none;animation:tfade .5s var(--ease)}
.vpanel.active{display:block}
.vcontent{min-width:0;padding-right:24px;width:95%}
@media(max-width:760px){.vcontent{padding-right:0;max-width:none}}

/* itinerary section header */
.itin-head{text-align:center;margin-bottom:40px;padding-bottom:0;border-bottom:none}
.itin-head__line{display:block;width:32px;height:1px;background:var(--brass);margin:0 auto 16px}
.itin-head__eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--brass);opacity:1;font-weight:600}
.itin-head__title{font-family:var(--display);font-weight:600;font-size:clamp(32px,3.8vw,46px);color:var(--ink);margin:10px 0 0;line-height:1.08}
.itin-head__title em{font-style:italic;color:var(--brass)}

/* accordion (day-by-day) */
.acc__item{border-top:1px solid var(--line-light)}
.acc__item:last-child{border-bottom:1px solid var(--line-light)}
.acc__head{all:unset;cursor:pointer;display:flex;align-items:center;gap:20px;width:100%;padding:22px 2px;transition:color .3s}
.acc__head:hover .acc__t{color:var(--brass)}
.acc__day{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);min-width:78px}
.acc__t{font-family:var(--display);font-weight:400;font-size:23px;color:var(--ink);flex:1;line-height:1.14;transition:color .3s}
.acc__item.open .acc__t{color:var(--brass)}
.acc__chev{flex:none;width:32px;height:32px;border:1px solid var(--line-light);border-radius:50%;display:grid;place-items:center;color:var(--brass);transition:.45s var(--ease);position:relative}
.acc__chev::before,.acc__chev::after{content:"";position:absolute;background:currentColor;border-radius:2px}
.acc__chev::before{width:12px;height:1.5px}
.acc__chev::after{width:1.5px;height:12px;transition:transform .45s var(--ease)}
.acc__item.open .acc__chev{background:var(--brass);border-color:var(--brass);color:#fff;transform:rotate(180deg)}
.acc__item.open .acc__chev::after{transform:scaleY(0)}
.acc__panel{max-height:0;overflow:hidden;transition:max-height .55s var(--ease)}
.acc__inner{padding:0 2px 26px 98px;color:#55594a;font-weight:300;font-size:14.5px;line-height:1.85}
.acc__inner .acc__feat{display:flex;flex-wrap:wrap;gap:26px 40px;margin-top:18px}
.acc__feat .f{font-family:var(--sans)}
.acc__feat .f .lbl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);display:flex;align-items:center;gap:8px;margin-bottom:5px}
.acc__feat .f .val{font-family:var(--display);font-size:18px;color:var(--ink)}
@media(max-width:760px){
  .vtabs{grid-template-columns:1fr;gap:20px}
  .vtabs .vnav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-right:0;border-bottom:0;background:var(--cream-2);margin-left:-22px;margin-right:-22px;padding:9px 22px;gap:2px;position:sticky;top:var(--vnav-top,56px);z-index:40;transition:background .2s var(--ease),box-shadow .2s var(--ease)}
  .vtabs .vnav.is-stuck{box-shadow:0 8px 22px rgba(32,39,28,.14)}
  .vtabs .vnav::-webkit-scrollbar{display:none}
  .vpill{text-align:center;background:none;border:0;color:#6c7259;margin:0;padding:9px 13px;white-space:nowrap;flex-shrink:0;font-weight:500;transition:color .2s}
  .vpill.active{background:none;color:var(--brass);font-weight:700}
  .acc__inner{padding-left:2px}
  .acc__t{font-size:20px}
  .eqmodal__inner{padding:32px 22px}
  .eqmodal__box{max-width:100vw!important;margin:0!important;border-radius:0}
}


/* practical info */
.pinfo{display:flex;flex-direction:column}
.pinfo .pi{padding:22px 0;border-top:1px solid var(--line-light)}
.pinfo .pi:last-child{border-bottom:1px solid var(--line-light)}
.pinfo h4{font-family:var(--display);font-weight:400;font-size:22px;color:var(--ink);margin-bottom:7px}
.pinfo p{font-weight:300;font-size:14.5px;color:#55594a;line-height:1.85;margin:0}

/* =====================================================================
   JOURNEYS LIST — card layout matching the reference list cards
   (square image + bottom gradient + hover "read more" + badge,
    meta line · title · price below the image)
   ===================================================================== */
.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 30px}
.scard{display:block;cursor:pointer;color:var(--ink);min-width:0}
.scard__media{position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--green-deep)}
.scard__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.scard:hover .scard__media img{transform:scale(1.06)}
.scard__grad{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,16,10,.82) 0%,rgba(12,16,10,.08) 55%,rgba(12,16,10,0) 100%);opacity:.85;transition:opacity .45s var(--ease)}
.scard:hover .scard__grad{opacity:1}
.scard__rm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#fff;opacity:0;transition:.45s var(--ease);white-space:nowrap}
.scard:hover .scard__rm{opacity:1}
.scard__badge{position:absolute;right:14px;bottom:14px;z-index:3;font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(176,141,87,.94);padding:7px 12px}
.scard__meta{font-family:var(--sans);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--brass-d);padding-top:20px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scard__title{font-family:var(--display);font-weight:400;font-size:26px;color:var(--ink);margin:10px 0 16px;line-height:1.12;transition:color .3s}
.scard:hover .scard__title{color:var(--brass)}
.scard__foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line-light);padding-top:15px}
.scard__price{font-family:var(--display);font-weight:500;font-size:20px;color:var(--ink)}
.scard__more{font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);display:inline-flex;gap:8px;align-items:center}
.scard__more .ln{width:18px;height:1px;background:var(--brass);transition:width .4s var(--ease)}
.scard:hover .scard__more .ln{width:30px}
@media(max-width:1024px){.sgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 26px}}
@media(max-width:560px){.sgrid{grid-template-columns:minmax(0,1fr)}}

/* =====================================================================
   WHITE MEGA MENU + interactive Horn-of-Africa map
   ===================================================================== */
@media(min-width:1025px){
  .dropdown.mega{background:#fff;border-color:rgba(32,39,28,.12);box-shadow:0 36px 80px rgba(20,26,18,.20)}
  .dropdown.mega::before{background:#fff;border-left-color:rgba(32,39,28,.12);border-top-color:rgba(32,39,28,.12)}
  .dropdown.mega .dd-label{color:var(--brass-d);border-bottom-color:rgba(32,39,28,.12)}
  .dropdown.mega a{color:var(--ink)}
  .dropdown.mega a .dn{color:var(--brass)}
  .dropdown.mega a:hover,.dropdown.mega a.active{background:rgba(176,141,87,.13);color:var(--ink)}
  .dropdown.mega .mega-col.cities a{color:#6c7259}
  .dropdown.mega .mega-col.cities a:hover{color:var(--ink)}
  .dropdown.mega .mega-multi{background:rgba(176,141,87,.14);border-color:var(--brass);color:var(--brass-d)}
  .dropdown.mega .mega-multi:hover,.dropdown.mega .mega-multi.active{background:rgba(176,141,87,.24);color:var(--brass-d)}
  .dropdown.mega .mega-map-zone{border-left-color:rgba(32,39,28,.12)}
  .dropdown.mega .map-stage{filter:none;max-width:300px}
  .dropdown.mega .map-cap h4{color:var(--ink)}
  .dropdown.mega .map-cap p{color:#6c7259}
}

/* full inline SVG map in mega menu */
.dropdown.mega .land{fill:rgba(255,255,255,0.1);stroke:rgba(255,255,255,0.2);stroke-width:0.6;transition:fill 0.25s}
.dropdown.mega #ER,.dropdown.mega #ET,.dropdown.mega #DJ,.dropdown.mega #SO,.dropdown.mega #SS,.dropdown.mega #SD,.dropdown.mega #KE,.dropdown.mega #UG,.dropdown.mega #TZ,.dropdown.mega #RW,.dropdown.mega #BI{fill:rgba(255,255,255,0.28)}
.dropdown.mega #ER:hover,.dropdown.mega #ET:hover,.dropdown.mega #DJ:hover,.dropdown.mega #SO:hover,.dropdown.mega #SS:hover,.dropdown.mega #SD:hover,.dropdown.mega #KE:hover,.dropdown.mega #UG:hover,.dropdown.mega #TZ:hover,.dropdown.mega #RW:hover,.dropdown.mega #BI:hover{fill:#b08d57;cursor:pointer}
.dropdown.mega path.on{fill:#b08d57!important}
@media(min-width:1025px){
  .dropdown.mega .land{fill:rgba(32,39,28,0.1);stroke:rgba(32,39,28,0.15);stroke-width:0.6}
  .dropdown.mega #ER,.dropdown.mega #ET,.dropdown.mega #DJ,.dropdown.mega #SO,.dropdown.mega #SS,.dropdown.mega #SD,.dropdown.mega #KE,.dropdown.mega #UG,.dropdown.mega #TZ,.dropdown.mega #RW,.dropdown.mega #BI{fill:rgba(42,51,38,0.22)}
  .dropdown.mega #ER:hover,.dropdown.mega #ET:hover,.dropdown.mega #DJ:hover,.dropdown.mega #SO:hover,.dropdown.mega #SS:hover,.dropdown.mega #SD:hover,.dropdown.mega #KE:hover,.dropdown.mega #UG:hover,.dropdown.mega #TZ:hover,.dropdown.mega #RW:hover,.dropdown.mega #BI:hover{fill:#b08d57;cursor:pointer}
}

/* =====================================================================
   FLOATING ACTION BUTTONS — WhatsApp + back-to-top
   ===================================================================== */
.fab-stack{position:fixed;right:22px;bottom:22px;z-index:130;display:flex;flex-direction:column;gap:12px}
.fab{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;cursor:pointer;border:none;
  box-shadow:0 6px 20px rgba(0,0,0,.28);transition:transform .25s,opacity .3s,visibility .3s;color:#fff;text-decoration:none}
.fab:hover{transform:translateY(-3px)}
.fab svg{width:26px;height:26px}
.fab--wa{background:#25D366}
.fab--top{background:var(--green);opacity:0;visibility:hidden}
.fab--top.show{opacity:1;visibility:visible}
@media(max-width:600px){.fab-stack{right:14px;bottom:14px;gap:10px}.fab{width:48px;height:48px}.fab svg{width:23px;height:23px}}

/* =====================================================================
   DETAIL PAGE v2 — best time, gallery, airlines, add-ons, custom tour
   + DESTINATION page components
   ===================================================================== */

/* section heading helper (centered) */
.shead--c{justify-content:center;text-align:center;flex-direction:column;align-items:center;margin-bottom:48px}
.shead--c h2{text-align:center}

.lead-c{text-align:center;max-width:720px;margin:0 auto 50px;font-weight:300;font-size:15px;color:#5a5f4f;line-height:1.85}

/* ---- best time section ---- */
.section--besttime{background:linear-gradient(160deg,var(--green-deep) 0%,var(--green) 50%,#1e2d1a 100%);color:var(--on-dark)}
.section--besttime .shead h2{color:#fff}
.section--besttime .idx{color:var(--brass-text)}

/* month picker */
.btmonths{display:flex;gap:6px;flex-wrap:nowrap;justify-content:center;margin-bottom:28px}
.btmo{flex:1 1 0;min-width:52px;max-width:88px;text-align:center;padding:14px 4px 10px;
  border:1px solid rgba(255,255,255,.14);cursor:pointer;transition:background .2s,border-color .2s;
  font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(236,231,218,.5);user-select:none;display:flex;flex-direction:column;align-items:center;gap:8px}
.btmo:hover{border-color:rgba(255,255,255,.35);color:var(--on-dark)}
.btmo.active{background:rgba(176,141,87,.20);border-color:var(--brass-2);color:var(--on-dark)}
.btmo__dot{width:6px;height:6px;border-radius:50%;flex:none}
.btmo.btmo--excellent .btmo__dot{background:#7ec88e}
.btmo.btmo--good .btmo__dot{background:var(--brass-2)}
.btmo.btmo--challenging .btmo__dot{background:#d07060}
.btmo.active .btmo__dot{background:rgba(255,255,255,.8)}

/* info panel */
.btpanel{width:50%;max-width:none;margin:0 auto 32px;border:1px solid rgba(255,255,255,.13);padding:32px 40px;text-align:center;background:rgba(0,0,0,.15)}
#btPanel{width:60%}
.btpanel__eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass);margin-bottom:10px}
.btpanel__title{font-family:var(--display);font-weight:400;font-size:28px;color:#fff;margin:0 0 12px;line-height:1.2}
.btpanel__desc{font-weight:300;font-size:14px;color:var(--on-dark-soft);line-height:1.85;margin:0}

/* legend */
.btlegend{display:flex;justify-content:center;gap:28px;margin-top:8px}
.btleg__item{display:flex;align-items:center;gap:7px;font-family:var(--sans);font-size:12px;
  font-weight:300;color:var(--on-dark-soft);letter-spacing:.04em}
.btleg__dot{width:8px;height:8px;border-radius:50%;flex:none}
.btleg__dot--excellent{background:#7ec88e}
.btleg__dot--good{background:var(--brass-2)}
.btleg__dot--challenging{background:#d07060}

@media(max-width:760px){
  .btmonths{flex-wrap:wrap;gap:4px}
  .btmo{min-width:46px;padding:10px 3px 8px;font-size:10px}
  .btpanel{width:100%;padding:24px 20px}#btPanel{width:100%}
}



/* ---- enquiry modal ---- */
.eqmodal__box{max-width:560px;padding:0;background:var(--cream);border:none;max-height:90vh;display:flex;flex-direction:column}

/* ---- thank you modal ---- */
.tqmodal__box{max-width:480px;padding:0;background:var(--cream);border:none;border-top:3px solid var(--brass)}
.tqmodal__inner{padding:52px 48px;text-align:center;display:flex;flex-direction:column;align-items:center}
.tqmodal__icon{width:72px;height:72px;border-radius:50%;border:2px solid var(--brass);display:grid;place-items:center;margin:0 auto 24px;color:var(--brass)}
.tqmodal__icon svg{width:36px;height:36px}
.tqmodal__eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin-bottom:10px}
.tqmodal__title{font-family:var(--display);font-weight:400;font-size:clamp(28px,4vw,36px);color:var(--ink);line-height:1.15;margin-bottom:18px}
.tqmodal__body{font-weight:300;font-size:15px;color:#4f5446;line-height:1.85;margin-bottom:32px;max-width:36ch}
.tqmodal__body strong{font-weight:500;color:var(--ink)}
.tqmodal__body a{color:var(--brass);text-decoration:underline}
.tqmodal__btn{min-width:200px;justify-content:center}
.eqform__req{color:var(--brass);margin-left:2px}
@media(max-width:560px){.tqmodal__inner{padding:40px 28px}}
/* required field highlight on submit attempt */
.eqform__section input:invalid:not(:placeholder-shown){border-color:#c06050}
.eqform__section input:required:focus:invalid{border-color:#c06050;box-shadow:0 0 0 2px rgba(192,96,80,.15)}
.eqmodal__inner{padding:48px 44px;overflow-y:auto;flex:1;min-height:0}
.eqmodal__eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin-bottom:8px}
.eqmodal__title{font-family:var(--display);font-weight:400;font-size:28px;color:var(--ink);line-height:1.15;margin-bottom:28px}
/* form */
.eqform{display:flex;flex-direction:column;gap:0}
.eqform__summary{border-top:1px solid var(--line-light);margin-bottom:24px}
.eqsummary__row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line-light);font-family:var(--sans);font-size:13px;font-weight:300}
.eqsummary__row span{color:#9aa08c}
.eqsummary__row b{color:var(--ink);font-weight:400}
.eqsummary__row--sub{padding:7px 0;border-bottom:1px dashed var(--line-light)}
.eqsummary__row--sub span{font-size:12px;color:#8a8f7c}
.eqsummary__row--sub b{font-size:12px;color:#55594a;font-weight:400}
.eqsummary__row--total{border-bottom:none;padding-top:13px}
.eqsummary__row--total span{color:var(--ink);font-weight:500}
.eqsummary__row--total b{color:var(--brass-d);font-weight:600;font-size:15px}
.eqform__nights-label{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.04em;color:#6c7259;margin:6px 0 2px}
.eqform__section{margin-bottom:18px}
.eqform__section label{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:8px}
.eqform__section input,.eqform__section select,.eqform__section textarea{width:100%;max-width:100%;padding:12px 14px;border:1px solid var(--line-light);background:#fff;font-family:var(--sans);font-size:13px;font-weight:300;color:var(--ink);border-radius:0;box-sizing:border-box}
.eqform__section input::placeholder,.eqform__section textarea::placeholder{color:#b0b5a0}
.eqform__section input:focus,.eqform__section select:focus,.eqform__section textarea:focus{outline:none;border-color:var(--brass)}
.eqform__section select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23957a45' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.eqform__section textarea{resize:vertical;min-height:80px;line-height:1.6}
.eqform__dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.eqform__divider{border:none;border-top:1px solid var(--line-light);margin:6px 0 18px}
/* toggles */
.eqform__toggle-group{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:8px}
.eqform__toggle-label{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--ink);flex:1;line-height:1.4}
.eqform__toggle-sub{display:block;font-family:var(--sans);font-size:12px;font-weight:300;color:#9aa08c;margin-top:2px}
.eqform__link{color:var(--brass);text-decoration:underline;font-size:12px}
.eqform__toggle-btns{display:flex;gap:4px;flex:none}
.eqform__btn-toggle{all:unset;cursor:pointer;font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border:1px solid var(--line-light);color:#9aa08c;transition:.25s}
.eqform__btn-toggle:hover{border-color:var(--brass);color:var(--ink)}
.eqform__btn-toggle--active{background:var(--green);border-color:var(--green);color:#fff}
.eqform__expandable{overflow:hidden;max-height:0;transition:max-height .4s cubic-bezier(.16,1,.3,1);margin-bottom:-18px}
.eqform__expandable.open{max-height:300px;margin-bottom:18px}
.eqform__visa-info{margin:8px 0 0;font-family:var(--sans);font-size:13px;font-weight:300;color:#4f5446;line-height:1.65}
.eqform__visa-info b{font-weight:600;color:var(--ink)}
.eqform__select{width:100%;max-width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line-light);background:#fff;font-family:var(--sans);font-size:13px;font-weight:300;color:var(--ink);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23957a45' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;margin-top:8px}
/* submit */
.eqform__submit{width:100%;justify-content:center;margin-top:24px}
.eqform__note{font-family:var(--sans);font-size:12px;font-weight:300;color:#9aa08c;text-align:center;margin-top:12px;line-height:1.6;font-style:italic}

/* ---- destination FAQ ---- */
.dest-faq{display:flex;flex-direction:column;gap:0;max-width:780px}
.dest-faq__item{border-bottom:1px solid var(--line-light)}
.dest-faq__q{all:unset;cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:center;
  gap:12px;padding:13px 0;font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.01em;color:var(--ink);
  transition:color .3s}
.dest-faq__q:hover{color:var(--brass)}
.dest-faq__icon{flex:none;width:22px;height:22px;border:1px solid var(--line-light);border-radius:50%;
  display:grid;place-items:center;color:var(--brass);font-size:14px;transition:.35s;line-height:1}
.dest-faq__item.open .dest-faq__icon{transform:rotate(45deg);background:var(--brass);border-color:var(--brass);color:#fff}
.dest-faq__a{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1)}
.dest-faq__a-inner{font-weight:300;font-size:13.5px;color:#4f5446;line-height:1.75;padding:0 0 13px}

/* ---- gallery + lightbox ---- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gal a{position:relative;display:block;overflow:hidden;cursor:pointer;background:var(--green-deep);aspect-ratio:1200/674}
.gal a.big{grid-column:span 2;grid-row:span 2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .6s ease;filter:brightness(1.02) contrast(1.04) saturate(.9) sepia(.05)}\r\n.gal a:hover img{filter:brightness(1.03) contrast(1.05) saturate(.95) sepia(.04)}
.gal a:hover img{transform:scale(1.07)}
.gal a::after{content:"";position:absolute;inset:0;background:rgba(176,141,87,0);transition:background .4s}
.gal a:hover::after{background:rgba(176,141,87,.16)}
@media(max-width:760px){.gal{grid-template-columns:1fr}.gal a.big{grid-column:auto;grid-row:auto}}
.lb{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;background:rgba(10,13,8,.94)}
.lb.open{display:flex}
.lb img{width:1025px;height:615px;max-width:92vw;max-height:85vh;object-fit:cover;border-radius:4px;box-shadow:0 30px 80px rgba(0,0,0,.6);filter:brightness(1.02) contrast(1.04) saturate(.9) sepia(.05)}
.lb__btn{position:absolute;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:.3s}
.lb__btn:hover{background:var(--brass);border-color:var(--brass)}
.lb__btn svg{width:20px;height:20px}
.lb__close{top:26px;right:26px}
.lb__prev{left:24px;top:50%;transform:translateY(-50%)}
.lb__next{right:24px;top:50%;transform:translateY(-50%)}
.lb__count{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:#fff;font-family:var(--sans);font-size:12px;letter-spacing:.2em}

/* ---- airlines guide ---- */
.air-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.air{border:1px solid var(--line-light);padding:28px;background:#fff;transition:.4s var(--ease)}
.air:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(20,26,18,.4)}
.air .hub{font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}
.air h4{font-family:var(--display);font-weight:400;font-size:24px;color:var(--ink);margin:6px 0 14px}
.air .row{display:flex;justify-content:space-between;gap:12px;font-weight:300;font-size:13.5px;color:#55594a;padding:9px 0;border-top:1px solid var(--line-light)}
.air .row b{color:var(--ink);font-weight:500}
.air-note{font-weight:300;font-size:13px;color:#6c7259;font-style:italic;margin-top:26px;text-align:center}
@media(max-width:900px){.air-grid{grid-template-columns:1fr}}

/* ---- itinerary day: hotel / meals / upgrade ---- */
.acc__feat .f .lbl i{font-style:normal}
.day-up{margin-top:18px}
.day-up a{font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);display:inline-flex;gap:9px;align-items:center;cursor:pointer}
.day-up a:hover{color:var(--brass-d)}
.day-up a .ln{width:18px;height:1px;background:currentColor}

/* ---- optional add-ons (revamped) ---- */
.addh{font-family:var(--display);font-weight:400;font-size:24px;color:var(--ink);margin:6px 0 18px}
.addh:not(:first-child){margin-top:44px}
.addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.addon{display:grid;grid-template-columns:128px 1fr;gap:18px;border:1px solid var(--line-light);background:#fff;align-items:stretch}
.addon img{width:128px;height:100%;min-height:128px;object-fit:cover;background:var(--cream-2);filter:brightness(1.02) contrast(1.04) saturate(.9) sepia(.05)}
.addon__b{padding:16px 16px 16px 0;display:flex;flex-direction:column}
.addon__b h5{font-family:var(--display);font-weight:400;font-size:19px;color:var(--ink);margin:0 0 5px;line-height:1.15}
.addon__b p{font-weight:300;font-size:13px;color:#55594a;line-height:1.6;margin:0 0 10px;flex:1}
.addon__row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.addon__price{font-family:var(--display);font-weight:500;font-size:18px;color:var(--brass-d)}
.addon__pick{font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6c7259;display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}
.addon__pick input{width:16px;height:16px;accent-color:var(--brass)}
.addon__contact{font-weight:300;font-size:11.5px;color:#8a8f7c;font-style:italic;margin-top:8px}
/* hotel room type radio selector */
.addon__room-opts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:2px}.addon__room-opts .addon__room-opt:first-child{grid-column:1/-1}.addon__room-opts .addon__room-opt{min-width:0}.addon__room-opts .addon__room-opt:not(:first-child) .addon__room-info{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px}
.addon__room-opt{display:flex;align-items:center;gap:8px;cursor:pointer;padding:7px 9px;border:1px solid var(--line-light);transition:border-color .25s,background .25s;border-radius:0}
.addon__room-opt:hover{border-color:var(--brass);background:rgba(176,141,87,.04)}
.addon__room-opt input[type="radio"]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--line-light);border-radius:50%;flex:none;cursor:pointer;transition:.25s;position:relative}
.addon__room-opt input[type="radio"]:checked{border-color:var(--brass);background:var(--brass)}
.addon__room-opt input[type="radio"]:checked::after{content:'';position:absolute;inset:3px;background:#fff;border-radius:50%}
.addon__room-opt input[type="radio"]:checked ~ .addon__room-dot{background:var(--brass)}
.addon__room-opt:has(input:checked){border-color:var(--brass);background:rgba(176,141,87,.07)}
.addon__room-dot{display:none}
.addon__room-info{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;flex:1}
.addon__room-type{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--ink);letter-spacing:.04em}
.addon__room-price{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--brass-d)}
.addon-actions{margin-top:26px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.extend-note{margin-top:30px;border:1px solid var(--line-light);border-left:3px solid var(--brass);background:#fff;padding:22px 24px}
.extend-note h5{font-family:var(--display);font-weight:400;font-size:20px;color:var(--ink);margin:0 0 6px}
.extend-note p{font-weight:300;font-size:14px;color:#55594a;line-height:1.7;margin:0}
.extend-note b{color:var(--brass-d);font-weight:500}
@media(max-width:680px){.addon-grid{grid-template-columns:1fr}}

/* custom-tour / enquiry modal form */
.cform{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px;text-align:left}
.cform .full{grid-column:1/-1}
.cform label{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-d);margin-bottom:7px}
.cform input,.cform select,.cform textarea{width:100%;padding:12px 14px;border:1px solid var(--line-light);background:#fff;font-family:var(--sans);font-weight:300;font-size:14px;color:var(--ink);border-radius:0}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--brass)}
.cform textarea{min-height:90px;resize:vertical}
.cform .btn{grid-column:1/-1;justify-content:center}
@media(max-width:560px){.cform{grid-template-columns:1fr}}

/* =====================================================================
   DESTINATION page
   ===================================================================== */
.why3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.why3 .item{padding:0 40px;border-left:1px solid var(--line-dark)}
.why3 .item:first-child{padding-left:0;border-left:0}
.why3 .ri{font-family:var(--display);font-weight:300;font-style:italic;font-size:30px;color:var(--brass-2);margin-bottom:22px}
.why3 .item h3{font-family:var(--display);font-weight:400;font-size:24px;color:#fff;margin-bottom:14px;line-height:1.15}
.why3 .item p{font-weight:300;font-size:14px;color:var(--on-dark-soft);line-height:1.8}
@media(max-width:860px){.why3{grid-template-columns:1fr;gap:40px}.why3 .item{padding:0;border-left:0;border-top:1px solid var(--line-dark);padding-top:34px}.why3 .item:first-child{border-top:0;padding-top:0}}
@media(max-width:700px){.dest-visa-faq{grid-template-columns:1fr!important}}

/* horizontal info tabs (Things to do / About / Travel) */
.htabs{display:flex;gap:6px;border-bottom:1px solid var(--line-light);margin-bottom:40px;flex-wrap:wrap;justify-content:center}
.htab{all:unset;cursor:pointer;font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5a5f4f;padding:16px 24px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.3s}
.htab:hover{color:var(--ink)}
.htab.active{color:var(--brass);border-bottom-color:var(--brass)}
.hpanel{display:none;animation:tfade .5s var(--ease)}
.hpanel.active{display:block}
.things{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 34px}
.thing{border-top:2px solid var(--brass);padding-top:18px}
.thing .n{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.2em;color:var(--brass)}
.thing h4{font-family:var(--display);font-weight:400;font-size:23px;color:var(--ink);margin:12px 0 10px;line-height:1.14}
.thing p{font-weight:300;font-size:14px;color:#55594a;line-height:1.8;margin:0}
@media(max-width:900px){.things{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.things{grid-template-columns:1fr}}
.prose{max-width:74ch;margin:0 auto}
.prose p{font-weight:300;font-size:15.5px;color:#4f5446;line-height:1.95;margin-bottom:18px}
.prose h4{font-family:var(--display);font-weight:400;font-size:24px;color:var(--ink);margin:30px 0 10px}

/*ADULIS-ARTICLE-TABLES*/
.article table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}
.article th,.article td{border:1px solid rgba(32,39,28,.14);padding:10px 14px;text-align:left;vertical-align:top}
.article thead th{background:rgba(176,141,87,.12);font-family:var(--sans);font-weight:600;color:var(--ink)}
.article figure{margin:26px 0}
.article figure img{width:100%;height:auto;display:block;border-radius:2px}
.article figcaption{font-size:12.5px;color:#777;margin-top:8px;font-style:italic}
.article ul{margin:18px 0;padding-left:22px}
.article ul li{margin:7px 0}
.article h3{margin-top:26px}

/*ADULIS-ARTICLE-EXTRA*/
html{scroll-behavior:smooth}
.article h2,.article h3,.article__toc{scroll-margin-top:100px}
.article h3{font-family:var(--display);font-weight:500;font-size:clamp(19px,2.2vw,23px);color:var(--ink);margin:28px 0 10px;line-height:1.25}
.article a{color:var(--brass-d);text-decoration:underline;text-underline-offset:3px;transition:color .25s}
.article a:hover{color:var(--brass)}
.article strong{color:var(--ink);font-weight:600}
.article em{font-style:italic}
.article ul{margin:18px 0;padding-left:22px;list-style:disc}
.article ul li{margin:7px 0;font-weight:300;color:#43483b;line-height:1.8}

/*ADULIS-ARTICLE-COMPONENTS*/
.article .adl-timeline{position:relative;margin:30px 0 28px;padding-left:30px;border-left:2px solid var(--line-light)}
.article .adl-timeline h3{position:relative;margin:24px 0 6px}
.article .adl-timeline h3:first-child{margin-top:4px}
.article .adl-timeline h3::before{content:"";position:absolute;left:-39px;top:11px;width:11px;height:11px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 4px var(--paper),0 0 0 5px rgba(176,141,87,.45)}
.article .adl-timeline p{margin:0 0 6px}
.article .adl-itin__day{position:relative;background:var(--paper);border:1px solid var(--line-light);border-left:3px solid var(--brass);padding:20px 24px;margin:14px 0;border-radius:2px}
.article .adl-itin__day h3{margin:0 0 8px;font-size:clamp(18px,2vw,21px)}
.article .adl-itin__day p{margin:0;font-size:15px}
.article .adl-faq{margin:22px 0}
.article .adl-faq__item{border-top:1px solid var(--line-light)}
.article .adl-faq__item:last-child{border-bottom:1px solid var(--line-light)}
.article .adl-faq__item summary{list-style:none;cursor:pointer;padding:18px 42px 18px 0;position:relative;font-family:var(--display);font-weight:500;font-size:clamp(17px,2vw,20px);color:var(--ink)}
.article .adl-faq__item summary::-webkit-details-marker{display:none}
.article .adl-faq__item summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:24px;font-weight:300;color:var(--brass);transition:.3s}
.article .adl-faq__item[open] summary{color:var(--brass)}
.article .adl-faq__item[open] summary::after{content:"\2212"}
.article .adl-faq__a{padding:0 0 20px;animation:adlfaq .35s var(--ease)}
.article .adl-faq__a p{margin:0}
@keyframes adlfaq{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/*ADULIS-ARTICLE-CTA*/
.article .adl-cta{background:linear-gradient(160deg,var(--cream) 0%,var(--paper) 100%);border:1px solid var(--line-light);border-top:3px solid var(--brass);padding:30px 34px;margin:34px 0;border-radius:2px}
.article .adl-cta h3{margin:0 0 12px}
.article .adl-cta p{margin:0 0 18px}
.article .adl-cta p:last-of-type{margin-bottom:0}
.article .adl-cta--center{text-align:center}
.article .adl-cta a{display:inline-flex;align-items:center;gap:8px;background:var(--brass);color:#fff;text-decoration:none;font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:14px 26px;margin:6px 8px 6px 0;transition:background .35s}
.article .adl-cta a:hover{background:var(--brass-d)}
.article .adl-cta a[href="/contact/"]{background:transparent;color:var(--brass-d);border:1px solid var(--brass)}
.article .adl-cta a[href="/contact/"]:hover{background:var(--brass);color:#fff}
.article .adl-cta ul{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--ink)}
.article .adl-cta ul li{margin:0}
/*ADULIS-FACTS*/
.article .adl-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:24px 0}
.article .adl-facts__item{display:flex;align-items:flex-start;gap:12px;background:var(--paper);border:1px solid var(--line-light);padding:14px 16px;border-radius:2px}
.article .adl-facts__ico{font-size:20px;line-height:1.3;flex:0 0 auto}
.article .adl-facts__k{display:block;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-d);margin-bottom:3px}
.article .adl-facts__v{display:block;font-size:15px;line-height:1.5;color:var(--ink)}
.article .adl-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:24px 0}
.article .adl-stats__item{text-align:center;background:linear-gradient(160deg,var(--cream) 0%,var(--paper) 100%);border:1px solid var(--line-light);border-top:3px solid var(--brass);padding:20px 14px;border-radius:2px}
.article .adl-stats__n{display:block;font-family:var(--display);font-weight:600;font-size:clamp(26px,3.4vw,34px);color:var(--brass-d);line-height:1}
.article .adl-stats__c{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.03em;color:var(--green);opacity:.82;margin-top:7px}

/* breadcrumbs removed on ported pages */
.crumbs{display:none !important}

/*ADULIS-DETAILS-STANDARD*/
.article details{border-top:1px solid var(--line-light);margin:0;background:none}
.article details:last-of-type{border-bottom:1px solid var(--line-light)}
.article details > summary{list-style:none;cursor:pointer;padding:18px 42px 18px 0;position:relative;font-family:var(--display);font-weight:500;font-size:clamp(17px,2vw,20px);color:var(--ink)}
.article details > summary::-webkit-details-marker{display:none}
.article details > summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--sans);font-size:24px;font-weight:300;color:var(--brass);transition:.3s}
.article details[open] > summary{color:var(--brass)}
.article details[open] > summary::after{content:"\2212"}
.article details > *:not(summary){margin:0 0 20px;color:#43483b}

/*ADULIS-HIDE-ASTRA-SCROLLTOP*/
#ast-scroll-top,.ast-scroll-to-top-wrapper{display:none !important}
.screen-reader-text{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/*ADULIS-ACC-VISIBLE*/
.acc__item.open .acc__panel{max-height:2000px}
.acc__inner{color:#43483b}

/*ADULIS-IMG-SIZE*/
#aBody figure img{width:100%;height:400px;object-fit:cover;display:block;border-radius:2px}
#aBody .wp-block-gallery img,#aBody .wp-block-columns img{height:auto;object-fit:initial}

/*ADULIS-IMG-PLACEHOLDER*/
.article .wp-block-image:empty,.article figure.wp-block-image:not(:has(img)){display:flex;align-items:center;justify-content:center;min-height:240px;margin:26px 0;border:2px dashed #c7a86c;border-radius:8px;background:repeating-linear-gradient(45deg,#faf7f0,#faf7f0 12px,#f3ecdd 12px,#f3ecdd 24px);}
.article .wp-block-image:empty::after,.article figure.wp-block-image:not(:has(img))::after{content:'\1F5BC  Add image here';color:#b2935a;font-size:15px;letter-spacing:.04em;font-weight:600;}
.article .wp-block-gallery:empty,.article figure.wp-block-gallery:not(:has(img)){display:flex;align-items:center;justify-content:center;min-height:200px;margin:26px 0;border:2px dashed #c7a86c;border-radius:8px;background:repeating-linear-gradient(45deg,#faf7f0,#faf7f0 12px,#f3ecdd 12px,#f3ecdd 24px);}
.article .wp-block-gallery:empty::after,.article figure.wp-block-gallery:not(:has(img))::after{content:'\1F5BC  Add a photo gallery here';color:#b2935a;font-size:15px;letter-spacing:.04em;font-weight:600;}


/*ADULIS-SOURCE-BOXES*/
.article .info-panel{background:var(--cream-2);border-left:4px solid var(--brass);padding:16px 20px;border-radius:8px;margin:24px 0;font-size:15px}
.article .pro-tip{background:#eaf2e6;border-left:4px solid #5a7d4e;padding:16px 20px;border-radius:8px;margin:24px 0;font-size:15px}
.article .warning-box{background:#fdecea;border-left:4px solid #d9534f;padding:16px 20px;border-radius:8px;margin:24px 0;font-size:15px}
.article .info-box{background:#fef9e7;border-left:4px solid #e0a93b;padding:16px 20px;border-radius:8px;margin:24px 0;font-size:15px}
.article .event-list{list-style:none;padding:0;margin:24px 0}
.article .event-list li{display:flex;gap:16px;align-items:flex-start;margin:0 0 22px;background:none}
.article .event-list li::before{display:none}
.article .event-icon{flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:var(--brass);margin-top:7px;box-shadow:0 0 0 4px rgba(176,141,87,.16)}
.article .event-body h4{margin:0 0 4px;font-size:clamp(17px,2vw,20px);color:var(--green-deep)}
.article .event-body p{margin:0}
.article .spu-box{background:linear-gradient(155deg,var(--green) 0%,var(--green-deep) 100%);color:var(--on-dark);padding:28px 30px;border-radius:14px;margin:28px 0}
.article .spu-box h3{color:#fff;margin:0 0 14px}
.article .spu-box p{color:var(--on-dark);opacity:.92;margin:0 0 12px}
.article .spu-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:18px}
.article .spu-fact{background:rgba(255,255,255,.06);border:1px solid var(--line-dark);border-radius:10px;padding:16px 18px}
.article .spu-fact-num{font-family:var(--display);font-weight:600;font-size:clamp(22px,3vw,28px);color:var(--brass-2);line-height:1}
.article .spu-fact-label{font-family:var(--sans);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-soft);margin-top:6px}
.article .check-list{list-style:none;padding:0;margin:24px 0}
.article .check-list li{position:relative;padding:0 0 12px 30px;margin:0;background:none}
.article .check-list li::before{content:'\2713';position:absolute;left:0;top:0;color:var(--brass-d);font-weight:700}
.article .check-list li strong{color:var(--green-deep)}

/*ADULIS-DEST-CARDS*/
.article .dest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:26px 0}
.article .dest-card{background:var(--paper);border:1px solid var(--line-light);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.article .dest-img{aspect-ratio:16/10;background:var(--cream-2);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line-light)}
.article .dest-img .ph-overlay{margin:14px;padding:18px 14px;width:calc(100% - 28px);text-align:center;border:2px dashed rgba(176,141,87,.45);border-radius:8px}
.article .dest-img .ph-overlay small{font-family:var(--sans);font-size:11px;letter-spacing:.03em;color:var(--brass-d);opacity:.85;word-break:break-word}
.article .dest-body{padding:18px 20px}
.article .dest-tag{display:inline-block;font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--brass);padding:5px 12px;border-radius:999px;margin:0 0 4px}
.article .dest-body h3{margin:6px 0 8px}
.article .dest-body p{margin:0;font-size:15px}

/* Country filter (inspiration/blog) */
.blog-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.blog-filter__btn{font-family:var(--sans,'Helvetica Neue',sans-serif);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#7a6f5d;background:#fff;border:1px solid #e2dac9;border-radius:30px;padding:9px 18px;cursor:pointer;transition:.2s}
.blog-filter__btn:hover{border-color:#b08d57;color:#7a5c25}
.blog-filter__btn.is-active{background:#7a5c25;border-color:#7a5c25;color:#fff}
@media(max-width:560px){.blog-filter__btn{padding:8px 14px;font-size:11px}}


/*ADULIS-VISA-PAGE*/
.article .adl-eyebrow{display:inline-block;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-d);font-size:13px;font-weight:600;margin:0 0 8px}
.article h3.adl-subhead{margin:34px 0 12px;font-size:clamp(18px,2vw,21px)}

.article .wp-block-list{list-style:none;padding:0;margin:24px 0}
.article .wp-block-list>li{display:flex;gap:16px;align-items:flex-start;margin:0 0 14px;padding:18px 20px;background:var(--paper);border:1px solid var(--line-light);border-radius:2px}
.article .wp-block-list>li::before{display:none}
.article .wp-block-list>li>div:first-child{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--brass);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:600;font-size:15px;margin-top:2px}
.article .wp-block-list>li>div:last-child{flex:1;font-weight:300;font-size:16px;line-height:1.8;color:#43483b}
.article .wp-block-list>li>div:last-child strong{color:var(--green-deep)}

.article .adl-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:24px 0}
.article .adl-options__card{background:var(--paper);border:1px solid var(--line-light);border-top:3px solid var(--brass);padding:22px 24px;border-radius:2px}
.article .adl-options__card .adl-eyebrow{display:block}
.article .adl-options__card h4{margin:6px 0 10px;font-family:var(--display);font-weight:500;font-size:19px;color:var(--ink)}
.article .adl-options__card p{margin:0;font-size:15px;line-height:1.8}

.article .adl-timeline{margin:24px 0 0;border-left:2px solid var(--line-light);padding-left:26px}
.article .adl-timeline__step{position:relative;margin:0 0 28px}
.article .adl-timeline__step:last-child{margin-bottom:4px}
.article .adl-timeline__step::before{content:'';position:absolute;left:-32px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--brass);border:2px solid var(--paper);box-shadow:0 0 0 2px var(--line-light)}
.article .adl-timeline__when{display:block;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--brass-d);font-size:12px;font-weight:600;margin:0 0 4px}
.article .adl-timeline__step h4{margin:0 0 6px}
.article .adl-timeline__step p{margin:0}

/*ADULIS-ABOUT-EXTRA*/
#aboutProse h3{font-family:var(--display);font-weight:500;font-size:clamp(18px,2vw,22px);color:var(--ink);margin:28px 0 10px}
#aboutProse h4{font-family:var(--display);font-weight:500;font-size:16px;color:var(--ink);margin:18px 0 8px}
#aboutProse ul{margin:10px 0 16px;padding-left:20px}
#aboutProse ul li{margin:6px 0}


/*ADULIS-TRAVEL-EXTRA*/
#travelProse h3{font-family:var(--display);font-weight:500;font-size:clamp(18px,2vw,22px);color:var(--ink);margin:28px 0 10px}
#travelProse h4{font-family:var(--display);font-weight:500;font-size:16px;color:var(--ink);margin:18px 0 8px}
#travelProse ul{margin:10px 0 16px;padding-left:20px}
#travelProse ul li{margin:6px 0}

/*ADULIS-DEST-GALLERY*/
.dgal-strip{display:flex;gap:14px;overflow-x:auto;padding:8px 24px 20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.dgal-strip__item{flex:0 0 auto;scroll-snap-align:start}
.dgal-strip__item img{height:300px;width:auto;max-width:none;display:block;border-radius:2px;object-fit:cover;background:var(--cream-2)}
@media(max-width:640px){.dgal-strip__item img{height:210px}}


/*ADULIS-ADDON-NOTE*/
.addon__upg-note{font-family:var(--sans);font-size:12px;color:#7a7f6c;margin:2px 0 10px;line-height:1.5}

/* tour details extra accommodation */
.addon--xacc{grid-column:1/-1}
.xacc-row{display:flex;gap:18px;margin-top:14px}
.xacc-f{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#3a342c}
.xacc-f select{width:100%;min-width:0;padding:9px 12px;border:1px solid var(--line-light,#d9d3c7);border-radius:6px;background:#fff;font-size:14px}

@media(max-width:600px){.xacc-row{flex-direction:column}}

/* extra nights box - matches .extend-note */
.xacc-box{margin-top:6px;border:1px solid var(--line-light);border-left:3px solid var(--brass);background:#fff;padding:22px 24px}
.xacc-bd{display:block}
.xacc-box h5{font-family:var(--display);font-weight:400;font-size:20px;color:var(--ink);margin:0 0 6px}
.xacc-box p{font-weight:300;font-size:14px;color:#55594a;line-height:1.7;margin:0;max-width:none}


/* modern scrollbar for the destination gallery strip */
.dgal-strip{scrollbar-width:thin;scrollbar-color:var(--brass,#b08d57) rgba(0,0,0,.07)}
.dgal-strip::-webkit-scrollbar{height:8px}
.dgal-strip::-webkit-scrollbar-track{background:rgba(0,0,0,.06);border-radius:999px;margin:0 24px}
.dgal-strip::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--brass,#b08d57),var(--brass-2,#caa15a));border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.dgal-strip::-webkit-scrollbar-thumb:hover{background:var(--brass-d,#9a7635)}

/* ---- Hotel accommodation gallery button + lightbox ---- */
.acc__img-wrap.has-gal{position:relative;overflow:visible}
.acc__img-wrap.has-gal img{display:block;width:100%;height:100%;object-fit:cover}
.acc__img-ph{width:100%;height:100%;background:var(--cream,#f5f0e8)}
.acc__gal-btn{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;gap:5px;padding:5px 10px 5px 8px;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-family:var(--sans);line-height:1;backdrop-filter:blur(4px);transition:background .2s}
.acc__gal-btn:hover{background:rgba(0,0,0,.75)}
.acc__gal-btn span{font-size:16px;font-weight:700;line-height:1}
.acc__gal-btn em{font-style:normal;opacity:.85}
/* hotel lightbox */
.hlb{display:none;position:fixed;inset:0;z-index:9999;}
.hlb.open{display:flex;align-items:center;justify-content:center;}
.hlb__bg{position:absolute;inset:0;background:rgba(0,0,0,.88);}
.hlb__wrap{position:relative;z-index:1;display:flex;align-items:center;gap:12px;max-width:92vw;max-height:92vh;}
.hlb__img{display:block;max-width:82vw;max-height:88vh;object-fit:contain;border-radius:4px;box-shadow:0 4px 32px rgba(0,0,0,.5);}
.hlb__close{position:absolute;top:-36px;right:0;background:none;border:none;color:#fff;font-size:26px;cursor:pointer;line-height:1;padding:4px 8px;}
.hlb__prev,.hlb__next{background:rgba(255,255,255,.15);border:none;color:#fff;font-size:28px;cursor:pointer;padding:10px 14px;border-radius:6px;line-height:1;flex-shrink:0;transition:background .2s;}
.hlb__prev:hover,.hlb__next:hover{background:rgba(255,255,255,.3);}
.hlb__count{position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:12px;font-family:var(--sans);white-space:nowrap;}
/* ---- hotel star ratings ---- */
.hstars{color:#c8a24c;letter-spacing:1px;font-size:.9em;white-space:nowrap;}
.acc__lvl .hstars,.acc__lvl{letter-spacing:.5px;}
.addon--hotel h5 .hstars{margin-left:6px;font-size:.85em;vertical-align:middle;}

/* ---- room arrangement (booking card) ---- */
.book__bed#roomPanel:not([hidden]){display:block}
#roomPanel[hidden],#roomSummary[hidden]{display:none!important}
.book__roomopts{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.book__roomopts .book__check{display:flex;align-items:center;gap:8px;margin:0}
.book__roomone{margin-top:6px;font-size:14px;color:#3a342c;font-weight:600}
.book__roomx{margin-left:auto;color:#9a7635;font-weight:600;font-size:13px}
.book__roomsum{margin-top:10px;font-size:13px;color:rgba(255,255,255,.7);line-height:1.5}
.book__roomsum b{color:#fff}

/* ---- enquiry modal: children summary under Travellers ---- */
.eqform__pax-row{display:flex;gap:14px;align-items:flex-start}
.eqform__pax-col{flex:1 1 0;min-width:0}
.eqform__children{width:100%;max-width:100%;padding:12px 14px;border:1px solid var(--line-light);background:#fff;font-family:var(--sans);font-size:13px;font-weight:300;color:var(--ink);border-radius:0;box-sizing:border-box;line-height:1.5;min-height:43px;display:flex;align-items:center;flex-wrap:wrap;gap:2px 8px}

/* collapsible children panel in booking card */
.book__childdone{margin-top:12px;display:inline-block;padding:8px 20px;border:0;border-radius:8px;background:var(--brass,#b08d57);color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.book__childdone:hover{background:var(--brass-d,#9a7635)}
.book__childsum{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;font-size:13.5px;color:rgba(255,255,255,.78);line-height:1.5}
.book__childsum-txt{min-width:0}
.book__childedit{flex:0 0 auto;background:none;border:0;color:var(--brass-2,#caa15a);font-size:12.5px;font-weight:600;text-decoration:underline;cursor:pointer;padding:0}
.book__childedit:hover{color:#fff}


/* hotel media card (Optional Add - Hotel upgrades) */
#addHotels.addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){#addHotels.addon-grid{grid-template-columns:1fr}}
.hcard{display:flex;gap:0;background:#fff;border:1px solid var(--line-light);border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.hcard__media{position:relative;flex:0 0 230px;width:230px;align-self:stretch;min-height:190px;cursor:pointer;background:#ece7da;overflow:hidden}
.hcard__media[data-media]:hover .hcard__cover{transform:scale(1.04)}
.hcard__cover{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;filter:brightness(1.02) contrast(1.04) saturate(.9) sepia(.05)}
.hcard__cover--empty{background:#e6e0d2}
.hcard__badge{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:rgba(20,25,18,.72);color:#fff;font-size:13px;font-weight:600;backdrop-filter:blur(2px)}
.hcard__badge--play{font-size:12px;padding-left:11px}
.hcard__body{flex:1 1 auto;min-width:0;padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.hcard__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}
.hcard__name{margin:0;font-family:var(--display);font-size:19px;font-weight:600;color:var(--ink);line-height:1.2}
.hcard__loc{font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--brass);font-weight:600}
.hcard__meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.hcard__status{color:var(--brass);font-size:15px;letter-spacing:1px}
.hcard__rooms{display:flex;flex-wrap:wrap;gap:8px}
.hcard__room{position:relative;cursor:pointer}
.hcard__room input{position:absolute;opacity:0;inset:0;cursor:pointer}
.hcard__room-in{display:flex;flex-direction:column;gap:1px;padding:7px 14px;border:1px solid var(--line-light);border-radius:10px;background:#faf7f0;transition:border-color .2s,background .2s;min-width:74px}
.hcard__room input:checked + .hcard__room-in{border-color:var(--brass);background:#fff;box-shadow:0 0 0 1px var(--brass) inset}
.hcard__room-type{font-size:12px;font-weight:600;color:var(--ink)}
.hcard__room-price{font-size:12px;color:#6b6557}
.hcard__note{margin:0;font-size:11.5px;color:#8a8473;line-height:1.4}
.hcard__desc{margin:0;font-size:13.5px;color:#4a4538;line-height:1.55}
@media(max-width:640px){
  .hcard{flex-direction:column}
  .hcard__media{flex-basis:auto;width:100%;height:200px;min-height:0}
}

/* shared media lightbox */
.mlb{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(15,18,13,.92);padding:24px}
.mlb.open{display:flex}
.mlb__stage{max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.mlb__media{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px;display:block}
.mlb__video{width:min(90vw,1100px);aspect-ratio:16/9}
.mlb__video iframe{width:100%;height:100%;border:0;border-radius:6px}
.mlb__x{position:absolute;top:18px;right:22px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.mlb__x:hover{background:rgba(255,255,255,.22)}
.mlb__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.mlb__nav:hover{background:rgba(255,255,255,.22)}
.mlb__prev{left:20px}.mlb__next{right:20px}
.mlb__count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.8);font-size:13px;letter-spacing:.05em}
@media(max-width:640px){.mlb__nav{width:40px;height:40px}.mlb__prev{left:8px}.mlb__next{right:8px}}

/* activity media card */
.hcard__price{font-size:14px;font-weight:600;color:var(--ink)}
.hcard__add{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--brass);cursor:pointer}
.hcard__add input{accent-color:var(--brass);width:16px;height:16px}

.book__bed#roomSummary:not([hidden]){display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;margin-top:6px;padding:0 !important;border:0 !important;background:transparent !important;font-size:13.5px;color:rgba(255,255,255,.78);line-height:1.5;width:100%}
.book__bed#roomSummary .book__childsum-txt{min-width:0;flex:1 1 auto}
.book__bed#roomSummary .book__childedit{flex:0 0 auto;margin-left:auto}

/* === Eritrea Travel Info (practical tab) === */
.eti{color:#3a3b34;line-height:1.6}
.eti *{box-sizing:border-box}
.eti-hero{margin:0 0 24px}
.eti-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9a8a4e;font-weight:700;margin-bottom:10px}
.eti-title{font-size:1.9em;line-height:1.12;color:#403a2b;margin:0 0 10px;font-weight:500}
.eti-sub{color:#6f6a5c;font-size:1.02em;margin:0}
.eti-sec{margin:30px 0;padding-top:26px;border-top:1px solid rgba(120,110,80,.14)}
.eti-sec:first-of-type{border-top:0;padding-top:0;margin-top:0}
.eti-h2{font-size:1.45em;line-height:1.2;color:#403a2b;margin:36px 0 12px;font-weight:500;position:relative;padding-left:15px}
.eti-h2:before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:3px;background:#c9b586;border-radius:3px}
.eti-h3{font-size:1.05em;color:#5b6b3f;margin:20px 0 8px;font-weight:700}
.eti p{margin:0 0 12px}
.eti-box{border:1px solid rgba(125,115,85,.20);background:rgba(255,255,255,.42);border-radius:10px;padding:14px 16px;margin:15px 0}
.eti-box__h{display:flex;align-items:center;gap:9px;font-weight:600;color:#403a2b;margin-bottom:8px}
.eti-box__l{margin:0;padding-left:18px}
.eti-box__l li{margin:5px 0;color:#4a4b40}
.eti-ic{flex:0 0 auto;width:20px;height:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;line-height:1}
.eti-ic--info{background:#a2a68b}
.eti-ic--ok{background:#8d9c6b}
.eti-ic--warn{background:#c1a06a}
.eti-ic--tip{background:#c1ab6d}
.eti-tw{overflow-x:auto;margin:13px 0}
.eti-table{width:100%;border-collapse:collapse;font-size:.93em;min-width:340px}
.eti-table th{background:rgba(91,107,63,.14);color:#43432f;text-align:left;padding:9px 12px;font-weight:700;border-bottom:1px solid rgba(91,107,63,.32)}
.eti-table td{padding:9px 12px;border-bottom:1px solid rgba(120,110,80,.14);vertical-align:top}
.eti-table tbody tr:nth-child(odd){background:rgba(255,255,255,.35)}
.eti-table td:first-child{font-weight:600;color:#403a2b}
.eti-faqsec .eti-h2{margin-bottom:6px}
.eti-faq__item{border-top:1px solid rgba(120,110,80,.14);padding:13px 0}
.eti-faq__item:first-child{border-top:0}
.eti-faq__q{font-weight:600;color:#403a2b;margin:0 0 6px}
.eti-faq__a{margin:0;color:#4a4b40}
@media(max-width:600px){.eti-title{font-size:1.5em}.eti-h2{font-size:1.22em}}

/* === More visible lightbox close button === */
.lb__close{background:rgba(20,26,18,.62);border-color:rgba(255,255,255,.9);box-shadow:0 4px 16px rgba(0,0,0,.45);width:56px;height:56px}
.lb__close:hover{background:var(--brass);border-color:var(--brass)}
.lb__close svg{width:26px;height:26px}

/* === Journey overview: review-above-highlights layout === */
.dintro{display:flex;flex-direction:column}
.dintro__review{margin-top:auto}
.dintro__more{overflow:hidden}
/* === Adulis review carousel === */
.adl-revcar{position:relative;margin-top:14px}
.adl-revcar__track{position:relative}
.adl-revcar__track .adl-review{display:none;position:relative;border-left:3px solid #C9A227;background:rgba(255,255,255,.5);border-radius:0 8px 8px 0;padding:14px 16px;font-size:.95em}
.adl-revcar__track .adl-review.is-active{display:block}
.adl-review__stars{color:#C9A227;letter-spacing:2px;margin-bottom:4px}
.adl-review__q{color:#33352e;font-style:italic;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.adl-review__meta{margin-top:6px;color:#6b6b5e;font-size:.85em}
.adl-review__meta a{color:#C9A227;text-decoration:underline}
.adl-revcar__nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}
.adl-revcar__prev,.adl-revcar__next{background:transparent;border:1px solid #C9A227;color:#C9A227;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}
.adl-revcar__prev:hover,.adl-revcar__next:hover{background:#C9A227;color:#fff}
.adl-revcar__dots{display:flex;gap:6px;align-items:center}
.adl-revcar__dot{width:8px;height:8px;border-radius:50%;background:rgba(201,162,39,.35);cursor:pointer;transition:background .15s}
.adl-revcar__dot.is-active{background:#C9A227}

/* room arrangement hint */
.book__roomhint{font-size:11px;opacity:.55;margin-top:6px}
.book__roomhint[data-warn]{opacity:1;color:#e6c200}
.book__bed .child-row{margin-top:6px}

/* room arrangement steppers */
.book__roomrow{align-items:center}
.book__rstep{display:inline-flex;align-items:center;gap:12px}
.book__rstep .rstep{width:26px;height:26px;border:1px solid rgba(255,255,255,.35);background:transparent;color:inherit;border-radius:50%;cursor:pointer;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}
.book__rstep .rstep:hover{background:var(--brass-2,#C9A227);border-color:var(--brass-2,#C9A227);color:#fff}
.book__rstep .rqty{min-width:16px;text-align:center;font-variant-numeric:tabular-nums}


/* === Adulis: Destinations photo melt + gallery toning (2026-06-24) === */
.cs-photo{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 8%,#000 58%,transparent 100%),linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 8%,#000 58%,transparent 100%),linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-composite:intersect}
.cs-photo::after{background:linear-gradient(180deg,rgba(246,241,230,0) 48%,rgba(246,241,230,.6) 100%)}
.cs-photo img{filter:brightness(1.02) contrast(1.04) saturate(.9) sepia(.05);transition:opacity .8s var(--ease),transform 1.1s var(--ease),filter .5s ease}
.cs-photo:hover img.active{filter:brightness(1.06) contrast(1.07) saturate(.99) sepia(.03)}

/* === Adulis: Destinations living pan === */
.cs-photo img.active{animation:csPan 22s ease-in-out infinite alternate}
/* === Adulis: home Eritrea SEO (handoff-exact v6) === */
.adl-why,.adl-faqs{background:#EDE6D5;color:#2B2C22}
.adl-band{background:#3B3C2E;color:#EDE6D5}
.adl-why,.adl-band,.adl-faqs{font-family:'Hanken Grotesk',system-ui,sans-serif}
.eri-em{font-family:'Cormorant Garamond',serif;font-style:italic;color:#A6843E;font-weight:500}
.eri-em-lt{font-family:'Cormorant Garamond',serif;font-style:italic;color:#C8AE74;font-weight:500}
.adl-gold{color:#C8AE74}
.adl-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.adl-eyebrow__line{height:1px;width:40px;background:#B89A5C}
.adl-eyebrow__t{font-size:11.5px;letter-spacing:.4em;text-transform:uppercase;color:#97783A}
.adl-eyebrow--dark .adl-eyebrow__line{background:#C8AE74}
.adl-eyebrow--dark .adl-eyebrow__t{color:#C8AE74}
.adl-eyebrow--center{justify-content:center;margin-bottom:18px}
.adl-why{padding:clamp(64px,10vh,128px) clamp(24px,5vw,72px) clamp(40px,6vh,72px)}
.adl-why__wrap{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,88px);align-items:stretch}
.adl-why__txt{display:flex;flex-direction:column}
.adl-h{font-family:'Cormorant Garamond',serif;font-weight:500;color:#2B2C22;font-size:clamp(40px,5.2vw,76px);line-height:1;letter-spacing:-.005em}
.adl-why__intro{margin-top:24px;max-width:50ch;font-size:clamp(15px,1.25vw,17px);line-height:1.74;color:#5C5A48}
.adl-list{margin-top:clamp(32px,4vh,46px);border-top:1px solid rgba(43,44,34,.16)}
.adl-list__row{display:flex;gap:22px;padding:20px 0;border-bottom:1px solid rgba(43,44,34,.16)}
.adl-list__n{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:30px;line-height:1;color:#B89A5C;flex-shrink:0;width:42px}
.adl-list__row h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:23px;line-height:1.15;color:#2B2C22}
.adl-list__row p{margin-top:6px;font-size:14.5px;line-height:1.6;color:#6E6B57;max-width:48ch}
.adl-why__cta{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:clamp(32px,4vh,44px)}
.adl-btn{background:#B89A5C;color:#2E2F23;text-decoration:none;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:16px 34px;border-radius:1px;font-weight:600;transition:background .25s}
.adl-btn:hover{background:#A6843E}
.adl-why__note{font-size:12.5px;letter-spacing:.03em;color:#6E6B57}
.adl-why__media{position:relative;min-height:clamp(480px,72vh,820px);border-radius:2px;overflow:hidden;background:#3B3C2E}
.adl-why__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.adl-band__wrap{max-width:1280px;margin:0 auto;padding:clamp(64px,10vh,128px) clamp(24px,5vw,72px)}
.adl-band__lead{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(23px,3vw,38px);line-height:1.36;letter-spacing:-.005em;max-width:48ch;color:#F2ECDD}
.adl-band__sub{margin-top:28px;max-width:62ch;font-size:15.5px;line-height:1.8;color:rgba(237,230,213,.72)}
.adl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(237,230,213,.16);margin-top:clamp(44px,6vh,72px);border:1px solid rgba(237,230,213,.16)}
.adl-stat{background:#3B3C2E;padding:30px 26px}
.adl-stat__k{font-family:'Cormorant Garamond',serif;font-size:30px;color:#C8AE74;margin-bottom:10px}
.adl-stat__v{font-size:13px;letter-spacing:.03em;color:rgba(237,230,213,.8);line-height:1.5}
.adl-faqs{padding:clamp(64px,10vh,128px) clamp(24px,5vw,72px)}
.adl-faqs__wrap{max-width:960px;margin:0 auto}
.adl-faqs__h{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(32px,4.6vw,54px);line-height:1.06;text-align:center;margin-bottom:clamp(40px,6vh,60px);color:#2B2C22}
.adl-faqs__list{border-top:1px solid rgba(43,44,34,.18)}
.adl-faqs__item{border-bottom:1px solid rgba(43,44,34,.18)}
.adl-faqs__item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 4px;cursor:pointer;font-family:'Cormorant Garamond',serif;color:#2B2C22;font-size:clamp(20px,2.3vw,26px);line-height:1.2;font-weight:500}
.adl-faqs__item summary::-webkit-details-marker{display:none}
.adl-faqs__item summary::after{content:'+';font-family:'Hanken Grotesk',sans-serif;font-size:24px;font-weight:300;color:#A6843E;flex-shrink:0;line-height:1}
.adl-faqs__item[open] summary::after{content:'\2013'}
.adl-faqs__a{padding:0 4px 30px;max-width:64ch}
.adl-faqs__a p{font-size:15.5px;line-height:1.8;color:#5C5A48}
.adl-faqs__item[open] .adl-faqs__a{animation:adlfaqIn .4s ease}
@keyframes adlfaqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:880px){.adl-why__wrap{grid-template-columns:1fr;gap:34px}.adl-why__media{order:-1;min-height:340px}.adl-stats{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.adl-stats{grid-template-columns:1fr}}
/* Adulis: brighten Curated carousel cards (match Multi) */
.tcarousel .tcard__media img{filter:brightness(.93) saturate(1.02)}
.tcarousel .tcard__grad{background:linear-gradient(180deg,rgba(18,24,16,0) 42%,rgba(18,24,16,.55) 64%,rgba(12,16,11,.94) 100%)}
.tcarousel .tcard__media{background:#2b3621}

.addon--hotel .addon__media{position:relative;overflow:hidden;cursor:default}
.addon--hotel .addon__media[data-media]{cursor:pointer}
.addon--hotel .addon__media img{width:100%;height:100%;object-fit:cover;display:block}
.addon--hotel .addon__media[data-media]:hover img{filter:brightness(.9)}


/* itinerary day header (mobile): drop first-day top line + stack title under DAY label */
@media(max-width:760px){
  .acc__item:first-child{border-top:0}
  .acc__head{flex-wrap:wrap;align-items:center;gap:5px 12px}
  .acc__day{order:1;min-width:auto}
  .acc__chev{order:2;margin-left:auto}
  .acc__t{order:3;flex:1 1 100%;font-size:20px}
}


/* ===== mobile sticky booking bar (tour page) ===== */
.mbar{display:none}
@media(max-width:760px){
  .mbar{display:flex;align-items:center;gap:6px;position:fixed;left:0;right:0;bottom:0;z-index:140;background:#232a1c;padding:15px 10px;border-top:1px solid rgba(255,255,255,.07);transition:transform .25s ease}
  .mbar.is-hidden{transform:translateY(112%)}
  /* 2026-08-19 eqmodal pax-row: ordet 'travellers' upprepade rubriken och stegaren fick inte plats
   i 120px, sa delarna krockade. Ordet doljs, resenarsfaltet far 60% och knapparna sprids ut mot
   kanterna sa dodytan forsvinner. Barnrutan far samma hojd som stegaren. Scopat till #eqModal. */
#eqModal .eqform__pax-row>.eqform__pax-col:first-child{flex:0 0 60%}
#eqModal .eqform__pax-row>#eqChildrenCol{flex:1 1 auto}
#eqModal .eqform__paxstep{padding-left:10px;padding-right:10px}
#eqModal .eqform__paxstep-lbl{display:none}
#eqModal .eqform__paxstep-ctl{margin:0;width:100%;display:flex;justify-content:space-between;align-items:center}
#eqModal .eqform__children{min-height:54px;display:flex;align-items:center}
.mbar__price{display:flex;align-items:baseline;gap:5px;white-space:nowrap;flex:0 1 auto;min-width:0}
  .mbar__from{font-size:14px;font-weight:500;color:#b89150}.mbar__pp{font-size:12px;color:#cfc9b6;font-weight:400}
  .mbar__amt{color:#cda35e;font-size:22px;font-weight:500}
  .mbar__chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #4a5340;background:none;color:#d8d2bf;font-size:12.5px;padding:11px 8px;border-radius:6px;cursor:pointer;white-space:nowrap}
  .mbar__chip:first-of-type{margin-left:auto}
  .mbar__send{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #6e5e34;background:none;color:#cda35e;padding:11px 12px;border-radius:6px;cursor:pointer;font-size:13.5px;font-weight:600}
  .mbar svg{width:16.5px;height:16.5px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mbar__send svg{fill:currentColor;stroke:none;width:17px;height:17px}
  .fab-stack{bottom:0px!important;transition:bottom .3s ease}
  .fab-stack.raised{bottom:86px!important}
}

/* mobile: hide green form; bar + popovers are the only booking entry */
@media(max-width:760px){
  .detail__grid aside{display:none}
  .mbar-pop{display:none;position:absolute;bottom:calc(100% + 9px);right:10px;background:#2c3422;border:1px solid #4a5340;border-radius:8px;padding:6px;grid-template-columns:repeat(5,1fr);gap:5px;z-index:160;width:290px}
  .mbar-pop.is-open{display:grid}
  .mbar-pop button{padding:9px 2px;border:1px solid #4a5340;background:none;color:#d8d2bf;border-radius:6px;font-size:12px;cursor:pointer;white-space:nowrap}
  .mbar-pop button:active{background:#3a4430}
  .mbar__lbl{white-space:nowrap}
/* Mellansteg for vanliga telefonbredder. Tyska ar det bredaste spraket (Termine / 2 Pers. / Weiter)
   och landade pa 391px av 390 med full typgrad, dvs exakt pa grasen. Detta steg ger ca 18px luft. */
@media(max-width:420px){.mbar{gap:5px;padding:14px 9px}.mbar__amt{font-size:21px}.mbar--por .mbar__amt{font-size:18px}.mbar__from{font-size:13.5px}.mbar__chip{font-size:12px;padding:10px 7px}.mbar__send{font-size:13px;padding:10px 11px}.mbar svg{width:15.5px;height:15.5px}.mbar__send svg{width:16px;height:16px}}
/* 2026-08-19: the bar carries four items on one line. Above 380px the larger type fits;
   below that it would overflow, so scale the type and padding down a notch instead of wrapping. */
@media(max-width:380px){.mbar{gap:5px;padding:13px 8px}.mbar__amt{font-size:19px}.mbar--por .mbar__amt{font-size:16px}.mbar__from{font-size:12.5px}.mbar__pp{font-size:11px}.mbar__chip{font-size:11.5px;padding:10px 7px}.mbar__send{font-size:12.5px;padding:10px 10px}.mbar svg{width:15px;height:15px}.mbar__send svg{width:15px;height:15px}}
}

/* fix: scrolled header backdrop-filter creates a containing block that traps the fixed mobile menu into a thin strip when scrolled — disable blur while the menu is open */
@media(max-width:1024px){
  .site-header.scrolled:has(.main-nav.open){backdrop-filter:none;-webkit-backdrop-filter:none}
}


/* mobile: Room arrangement + children relocated into the light enquiry modal */
.eqmobile-extra .book__bed,.eqmobile-extra .book__children{background:#fff;border-color:rgba(32,39,28,.15)}
.eqmobile-extra .book__bed-q,.eqmobile-extra .child-row span,.eqmobile-extra .book__roomsum,.eqmobile-extra .book__check,.eqmobile-extra .rqty{color:var(--ink)}
.eqmobile-extra .book__roomsum b{color:var(--ink)}
.eqmobile-extra .book__rstep .rstep,.eqmobile-extra .cstep{border-color:rgba(32,39,28,.4);color:var(--ink)}
.eqmobile-extra .child-row em{color:var(--brass-d)}
.eqmobile-extra .book__check{color:var(--ink)!important}
.eqmobile-extra .book__check input{accent-color:var(--brass)}


/* room summary + visa spacing (mobile modal) */
@media(max-width:760px){
  .eqmobile-extra .book__roomsum{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
  .eqform__divider{margin:18px 0}
  .eqform__toggle-group{padding:4px 0}
}

/* force active visa toggle text visible (overrides any inherited -webkit-text-fill-color) */
#eqVisaToggle .eqform__btn-toggle--active{background:var(--green,#2a3326)!important;border-color:var(--green,#2a3326)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}


/* iOS: prevent input auto-zoom (font>=16px) + nicer native time fields on mobile */
@media(max-width:760px){
  .eqform input,.eqform select,.eqform textarea,#mbarFpInput,.book input,.book select,.book textarea{font-size:16px}
  #eqArrTime,#eqDepTime{-webkit-appearance:none;appearance:none;width:100%;box-sizing:border-box;text-align:left;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f735f' stroke-width='1.6'><circle cx='12' cy='12' r='9'/><path d='M12 7.5v4.8l3 1.8'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:17px;padding-right:38px}
  #eqArrTime::-webkit-calendar-picker-indicator,#eqDepTime::-webkit-calendar-picker-indicator{opacity:0}
  #eqArrTime::-webkit-date-and-time-value,#eqDepTime::-webkit-date-and-time-value{text-align:left;margin:0}
}
.book__basis{font-family:var(--sans);font-size:11.5px;line-height:1.4;color:rgba(230,221,200,.6);margin-top:7px}

#bAddonBox{background:rgba(184,146,79,.1)!important;border:1px solid #56492a;border-radius:8px;padding:13px 14px;margin-top:14px}
#bAddonBox .mrow{display:flex;justify-content:space-between;font-size:13px;color:#cfc9b6;padding:3px 0;border:0}
#bAddonBox .mrow b{color:#cfc9b6;font-weight:400}
#bAddonBox .mrow--btotal{border-top:1px solid rgba(255,255,255,.12)!important;margin-top:8px;padding-top:9px;align-items:baseline}
#bAddonBox .mrow--btotal span{color:#fff;font-size:15px;font-weight:500}
#bAddonBox .mrow--btotal b{color:#cda35e;font-size:23px;font-weight:500}
#bAddonBox .book__totalnote{color:#9aa18c;font-size:11px;margin-top:7px}


.book__paxstep{display:flex;align-items:center;justify-content:space-between;background:#1a2117;border:1px solid #3a4430;border-radius:7px;padding:9px 14px;margin-top:2px}
.book__paxstep-lbl{color:#e3ddcc;font-size:14px}
.book__paxstep-ctl{display:flex;align-items:center;gap:14px}
.book__stepbtn{all:unset;width:28px;height:28px;border:1px solid #5a6450;border-radius:50%;color:#e3ddcc;display:flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer;transition:.2s}
.book__stepbtn:hover{border-color:var(--brass);color:#fff}
.book__stepval{color:#fff;font-size:15px;font-weight:500;min-width:14px;text-align:center}

.book__roomhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.book__roomcollapse{font-size:10px;color:#7e856e;letter-spacing:0;text-transform:none}
.book__suppflag{font-size:10px;color:#d6b878;font-weight:400}


/* hide booking meta-rows (design 2): Destination/Duration/Style, keep total card */


/* design 2: hide date field on desktop form (collected in modal); #datePick stays for mobile bar */


.book #pax{display:none}

@media(min-width:761px){.book .bsheet-close{display:none!important}}

/* enquiry popup legibility (v243) */
.eqform__section label{font-size:11px;letter-spacing:.13em;color:#5f5530;font-weight:600}
.eqform__section input,.eqform__section select,.eqform__section textarea,.eqform__select{font-size:14px;font-weight:400}
.eqform__section input::placeholder,.eqform__section textarea::placeholder{color:#969b85}
.eqsummary__row{font-size:14px;font-weight:400}
.eqsummary__row span{color:#6c7259}
.eqsummary__row--sub span,.eqsummary__row--sub b{font-size:12.5px;color:#4f5446}
.eqform__nights-label{font-size:12px;color:#5b6149}
.eqform__toggle-label{font-size:14px}
.eqform__toggle-sub{font-size:12.5px;color:#7a8068}
.eqmodal__eyebrow{font-size:11px;letter-spacing:.18em;color:var(--brass-d)}

/* book .price font-weight override (v245) */
.book .price{font-weight:500}

/* popup room tweaks v247 */
.book__roomsum{display:flex;justify-content:space-between;align-items:center;gap:12px}
.book__suppflag{display:none}

/* eqPax stepper styling v249 */
.eqform__pax-col #eqPax{display:none}
.eqform__paxstep{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line-light);background:#fff;padding:11px 14px;margin-top:8px}
.eqform__paxstep-lbl{font-family:var(--sans);font-size:14px;color:var(--ink)}
.eqform__paxstep-ctl{display:flex;align-items:center;gap:13px}
.eqform__stepbtn{width:30px;height:30px;border:1px solid #c9c3b2;border-radius:50%;background:none;color:#5f5530;font-size:17px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.2s}
.eqform__stepbtn:hover{border-color:var(--brass);color:var(--brass-d)}
.eqform__stepval{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--ink);min-width:14px;text-align:center}
#eqVisaPanel:not(.open){margin-bottom:10px}

/* children stepper round + summary v251 */
.book__children .cstep{width:30px;height:30px;border:1px solid #c9c3b2;border-radius:50%;background:none;color:#5f5530;font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:all .15s}
.book__children .cstep:hover{border-color:var(--brass);color:var(--brass-d)}
.book__childsum{margin-top:10px;font-size:13px;color:var(--ink)}
.book__childsum b{font-weight:600;color:var(--ink)}

/* childsum flex v253 */
.book__childsum{display:flex;justify-content:space-between;align-items:center;gap:12px}

.gal a.gal-hide{display:none}
.gal-more{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:rgba(15,32,25,.62);color:#f5efe0;font-family:var(--sans);font-size:clamp(24px,3vw,34px);font-weight:600;letter-spacing:1px;pointer-events:none}

.book--por .price{font-size:32px!important;line-height:1.2}
.book--por .price small{display:block;margin-top:6px;font-size:13px}
.book--por .from{display:none!important}
.book--por .book__basis{display:none!important}
.mbar--por .mbar__from,.mbar--por .mbar__pp{display:none!important}

/* ===== full-width feature rows in the tours grid (destination list) ===== */
.sfullrow{grid-column:1/-1;text-decoration:none;color:inherit;display:block}
.sfullrow.hidden{display:none}
.sfeat{position:relative;overflow:hidden;min-height:340px;background:var(--green-deep)}
.sfeat__gal{position:absolute;inset:0;overflow:hidden;transition:transform 1.2s var(--ease)}
.sfeat:hover .sfeat__gal{transform:scale(1.03)}
.sfeat__slide{position:absolute;inset:0;opacity:0;transition:opacity 2s ease-in-out}
.sfeat__slide.is-active{opacity:1}
.sfeat__slide-img{position:absolute;inset:-8%;background-size:cover;background-position:center;transform:scale(1.03);will-change:transform,opacity;backface-visibility:hidden;animation:sfeatKB 9s linear forwards;animation-play-state:paused}
.sfeat__slide.is-active .sfeat__slide-img{animation-play-state:running}
@keyframes sfeatKB{from{transform:scale(1.03) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(-2%,-1.5%,0)}}
@media(prefers-reduced-motion:reduce){.sfeat__slide-img{animation:none!important;transform:scale(1.04)!important}.sfeat__gal,.sfeat:hover .sfeat__gal{transform:none}}
.sfeat__grad{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,16,10,.86) 0%,rgba(12,16,10,.5) 46%,rgba(12,16,10,.12) 100%)}
.sfeat__body{position:relative;z-index:2;max-width:560px;min-height:340px;padding:44px 48px;display:flex;flex-direction:column;justify-content:flex-end}
.sfeat__eyebrow{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--brass-2);margin-bottom:12px}
.sfeat__title{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.4vw,36px);line-height:1.06;color:#fff;margin:0 0 10px}
.sfeat__meta{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark);margin-bottom:20px}
.sfeat__cta{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#fff;border:1px solid var(--brass-2);padding:12px 28px;display:inline-flex;gap:10px;align-self:flex-start;transition:.4s var(--ease)}
.sfeat:hover .sfeat__cta{background:var(--brass);border-color:var(--brass)}
.sfeat::after{content:"";position:absolute;inset:16px;border:1px solid rgba(199,168,108,.4);z-index:1;pointer-events:none}
.sdyo{display:grid;grid-template-columns:1.15fr 1fr;background:var(--green);color:var(--on-dark);overflow:hidden;min-height:340px}
.sdyo__media{background:linear-gradient(155deg,#41512f,#2b3621 48%,#191f15);background-size:cover;background-position:center;min-height:340px}
.sdyo__body{padding:40px 46px;display:flex;flex-direction:column;justify-content:center}
.sdyo__eyebrow{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--brass-2);margin-bottom:14px}
.sdyo__title{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.4vw,36px);line-height:1.08;color:#fff;margin:0 0 14px}
.sdyo__title em{font-style:italic;color:var(--brass-2)}
.sdyo__txt{font-family:var(--sans);font-weight:300;font-size:14px;line-height:1.7;color:var(--on-dark-soft);margin:0 0 24px;max-width:44ch}
.sdyo__cta{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--brass);padding:14px 30px;display:inline-flex;gap:10px;align-self:flex-start;transition:.4s var(--ease)}
.sdyo:hover .sdyo__cta{background:var(--brass-d)}
@media(max-width:760px){.sfeat__body{max-width:none;min-height:580px}.sdyo{grid-template-columns:1fr}.sdyo__media{min-height:170px}.sfeat__body,.sdyo__body{padding:30px 26px}.sfeat{min-height:580px}}

.sfeat__departs{position:absolute;top:30px;right:30px;z-index:3;display:flex;flex-direction:column;align-items:stretch;gap:10px}
.sfeat__depart{text-align:center;padding:10px 22px;border:1px solid var(--brass-2);background:rgba(12,16,10,.34)}
.sfeat__depart-lbl{display:block;font-family:var(--sans);font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-bottom:6px}
.sfeat__depart-no{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-left:7px;border-radius:50%;font-size:9.5px;font-weight:700;font-style:normal;line-height:1;background:#fff;color:#1f3327;vertical-align:middle;box-shadow:0 1px 4px rgba(0,0,0,.28);transition:transform .3s var(--ease)}
.sfeat__depart-dates{display:block;font-family:var(--sans);font-size:12.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-2);white-space:nowrap}
.sfeat__depart-dates b{position:absolute;left:0;right:0;top:0;font-family:var(--sans);font-size:12.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-2);white-space:nowrap;opacity:0;transform:translateY(105%);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.sfeat__depart-dates b.is-on{opacity:1;transform:translateY(0)}
.sfeat__depart-dates b.is-off-up{opacity:0;transform:translateY(-105%)}
.sfeat__depart-dots{display:flex;gap:5px;justify-content:center}
.sfeat__depart-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.35);transition:background .45s var(--ease)}
.sfeat__depart-dots i.on{background:var(--brass-2)}
@media(max-width:640px){.sfeat__departs{top:24px;right:24px;gap:8px}.sfeat__depart{padding:8px 15px}.sfeat__depart-lbl{font-size:8.5px;letter-spacing:.15em;margin-bottom:4px}.sfeat__depart-dates{font-size:11px}}

#toursTitle{font-family:var(--display);font-weight:300;font-size:clamp(34px,4.6vw,53px);line-height:1.04;letter-spacing:-.015em;color:var(--ink);margin-top:-24px}
#toursTitle em{font-style:italic;color:var(--brass)}
@media(max-width:640px){#toursTitle{font-size:30px}}

.sfeatcar{position:relative}
.sfeatcar__panel{position:absolute;inset:0;display:block;opacity:0;transition:opacity 1.4s ease-in-out;color:inherit;text-decoration:none}
.sfeatcar__panel.is-on{opacity:1}
.inc-note{width:100%;margin-top:22px}
.inc-note h4{font-family:var(--display);font-weight:400;font-size:23px;color:var(--ink);margin-bottom:12px}
.inc-note p{max-width:85%;font-weight:300;font-size:14.5px;color:#4f5446;line-height:1.9;margin:0}

.add-optnote:not(:empty){margin-top:26px;padding-top:28px;padding-bottom:20px;border-top:1px solid var(--line-light)}
.add-optnote .eti-eyebrow{margin-top:0!important}

/* a11y final overrides (must win specificity) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.travel-start .idx,.section--green .idx,.voices .idx{color:var(--brass-2)!important}
.section--cream h2 em,.section--paper h2 em,.dest h2 em,.future h2 em,.future__txt h2 em,.section--cream .shead .l h2 em{color:var(--brass-d)!important}

/* a11y contrast round 5 (destination/tours filters, cards, guide, best-time) */
.tf-title,.scard__more,.acc__lvl,.htab.active,.thing .n,.scard__meta{color:var(--brass-text)!important}
.tf-count,.tf-reset,.tf-range-ends,.tf-range-ends span{color:#5f6553!important}
.btmo.active{background:rgba(176,141,87,.20)!important;border-color:var(--brass-2)!important}

/* language switcher (header) */
.lang-switch{display:inline-flex;gap:2px;align-items:center;margin-right:14px}
.lang-switch a{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--brass-text,#7d5f2b);padding:5px 7px;border-radius:4px;text-decoration:none;transition:color .2s,background .2s}
.lang-switch a:hover{color:var(--brass)}
.lang-switch a.active{color:#fff;background:var(--brass,#b08d57)}
.at-top .lang-switch a:not(.active){color:rgba(255,255,255,.85)}
.at-top .lang-switch a.active{background:rgba(255,255,255,.22);color:#fff}
@media(max-width:900px){.lang-switch{margin-right:8px}.lang-switch a{padding:4px 5px;font-size:10px}}


/* FAQ accordion (07 - Good to know) */
.faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;max-width:980px;margin:0 auto}
.faq__item{border-bottom:1px solid var(--line-light)}
.faq__q{width:100%;text-align:left;background:none;border:none;padding:20px 4px;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-family:var(--display);font-weight:500;font-size:19px;line-height:1.3;color:var(--ink)}
.faq__icon{font-family:var(--sans);font-size:18px;color:var(--brass);flex-shrink:0}
.faq__a{font-family:var(--sans);font-size:14px;line-height:1.75;color:var(--ink);opacity:.72;max-height:0;overflow:hidden;padding:0 4px;transition:max-height .35s var(--ease),padding .35s var(--ease)}
.faq__a p{margin:0 0 20px}
.faq__item.is-open .faq__a{max-height:240px}
@media(max-width:760px){.faq__grid{grid-template-columns:1fr}}

/* review 4-line clamp + accommodations 2-col (2026-07-17) */
.vquote #vText{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
#accGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
#accGrid .acc__row{grid-template-columns:140px 1fr;gap:20px}
@media(max-width:760px){#accGrid{grid-template-columns:1fr}#accGrid .acc__row{grid-template-columns:200px 1fr}}

/* ---- Legal documents (privacy policy, terms) ---- */
.legal-doc{max-width:74ch;margin:0 auto;font-size:1.02rem;line-height:1.75}
.legal-doc>p{margin:0 0 1.05em}
.legal-doc h2{font-size:clamp(21px,2.4vw,27px);line-height:1.25;margin:2.2em 0 .55em;padding-top:1.1em;border-top:1px solid rgba(0,0,0,.09)}
.legal-doc h2:first-of-type{margin-top:1.2em}
.legal-doc h3{font-size:clamp(16px,1.7vw,19px);margin:1.7em 0 .4em;letter-spacing:.01em}
.legal-doc ul{margin:.2em 0 1.3em;padding-left:1.15em}
.legal-doc li{margin:.3em 0}
.legal-doc a{text-decoration:underline;text-underline-offset:2px}
.legal-doc .legal-eff{font-size:.86rem;letter-spacing:.09em;text-transform:uppercase;opacity:.66;margin-bottom:2em}
@media(max-width:640px){.legal-doc{font-size:.98rem}.legal-doc h2{margin-top:1.8em}}

/* Tripadvisor award badge in the tour booking card */
.adl-award{display:block;background:#fff;border-radius:6px;padding:8px 10px;margin:12px 0 0;line-height:0;text-align:center}
.adl-award img{width:74px;height:auto;display:inline-block}
/* ---- featured post card: one height in every language ------------------------
   The card is a two-column grid, so its height follows whichever column is taller.
   The media floor is 380px, but a long headline makes the text column overrun it:
   the English title runs to two lines and a 397px card, the German to four and 492.
   Holding the headline to two lines puts every language back on 397. The full title
   stays in the HTML for search; only the display is capped, and the fade makes the
   cut read as deliberate rather than broken. Untouched below 760px, where the card
   stacks and there is no second column to match. */
@media(min-width:761px){
  .bfeat__b h2{max-height:calc(2 * 1lh);max-height:96px;overflow:hidden;position:relative} /* bfeat-equal-height */
  .bfeat__b h2::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.05em;
    background:linear-gradient(90deg,rgba(47,61,45,0) 55%,var(--green) 96%);pointer-events:none}
  .bfeat__b p{max-height:calc(3 * 1lh);max-height:84px;overflow:hidden}
}

/* Featured row side column. In the default overlay layout the wrapper is transparent
   so .sfeat__departs keeps its absolute placement, and the blurb stays hidden -
   that layout has no green panel to put it in. */
.sfeat__side{display:contents}
.sfeat__blurb{display:none}

/* adx-award-center: on mobile the Tripadvisor Travellers' Choice badge column was flex-end (off to one
   side); centre it. Desktop keeps its two-column right-aligned placement. */
@media(max-width:860px){ .eg-awardcol{justify-content:center!important} }

/* adx-flightinfo v2: Flight Info tab, one station per itinerary day. Information only. */
.fli__intro{font-weight:300;color:#4f5446;line-height:1.9;margin:0 0 34px}
.fmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;position:relative;margin-bottom:46px}
.fmap::before{content:'';position:absolute;left:10%;right:10%;top:32px;height:1px;background:var(--brass);opacity:.4}
.fstop{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;position:relative}
.fstop__d{font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-text)}
.fstop__n{width:13px;height:13px;border-radius:50%;background:var(--paper);border:2px solid var(--brass);z-index:1}
.fstop--fix .fstop__n{background:var(--brass)}
.fstop__t{font-family:var(--display);font-size:18px;color:var(--ink);line-height:1.2}
.fstop__p{font-family:var(--sans);font-size:9px;letter-spacing:.15em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--brass);color:var(--brass-text)}
.fstop--fix .fstop__p{background:var(--brass);border-color:var(--brass);color:#fff}
.fstn{display:grid;grid-template-columns:190px 1fr;gap:40px;padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid rgba(32,39,28,.08)}
.fstn:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.fstn__rail{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.fstn__day{font-family:var(--display);font-size:29px;color:var(--brass);line-height:1}
.fstn__p{font-family:var(--sans);font-size:9px;letter-spacing:.15em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--brass);color:var(--brass-text)}
.fstn__p--fix{background:var(--brass);border-color:var(--brass);color:#fff}
.fstn__code{font-family:var(--sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#8b8f7d}
.fstn__body{min-width:0;display:flex;flex-direction:column;gap:14px}
.fstn__h{font-family:var(--display);font-weight:400;font-size:26px;color:var(--ink);margin:0}
.fstn__lede{font-weight:300;font-size:14.5px;color:#5a5f4f;line-height:1.8;margin:0}
.fstn__note{font-weight:300;font-size:13.5px;color:#6c7259;font-style:italic;line-height:1.7;margin:0}
.fhop{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative;padding:6px 0 2px}
.fhop::before{content:'';position:absolute;left:8%;right:8%;top:26px;height:1px;background:var(--brass);opacity:.38}
.fbead{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;position:relative}
.fbead__c{font-family:var(--display);font-size:23px;color:var(--ink);line-height:1}
.fbead--mid .fbead__c{font-size:19px;color:#55594a}
.fbead__n{width:11px;height:11px;border-radius:50%;background:var(--brass);z-index:1}
.fbead__t{font-size:13px;color:#55594a;font-variant-numeric:tabular-nums}
.fbead__f{font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8b8f7d}
.fhop__meta{font-weight:300;font-size:13.5px;color:#5a5f4f;margin:0;padding-top:14px;border-top:1px solid rgba(32,39,28,.08)}
.fgrp__head,.frow{display:grid;grid-template-columns:88px minmax(0,1.5fr) 122px minmax(0,1.5fr);gap:16px;align-items:baseline}
.fgrp__head{padding:0 0 8px;border-bottom:1px solid var(--line-light)}
.fgrp__head span{font-family:var(--sans);font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--brass-text)}
.frow{padding:13px 0;border-bottom:1px solid rgba(32,39,28,.07)}
.frow:last-child{border-bottom:0}
.frow__t{font-family:var(--display);font-size:24px;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.frow__a{font-size:14.5px;color:var(--ink);font-weight:400}
.frow__a s{display:block;text-decoration:none;font-size:13px;color:#7c806e;margin-top:2px;font-weight:300}
.frow__o{font-size:12.5px;color:#6c7259;font-weight:300}
.frow__w{font-size:13.5px;color:#55594a;font-weight:300;line-height:1.55;display:flex;gap:8px;align-items:baseline}
.fdot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;display:inline-block;transform:translateY(-1px)}
.fdot--full{background:#5c8047}.fdot--part{background:var(--brass)}.fdot--none{background:#b0644a}
.fband{font-weight:300;font-size:13.5px;color:#55594a;line-height:1.7;margin:0;padding:13px 17px;border-left:2px solid #b0644a;background:rgba(176,100,74,.06)}
.fwhy{background:var(--cream);border-left:2px solid var(--brass);padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.fwhy b{font-family:var(--display);font-weight:400;font-size:19px;color:var(--ink)}
.fwhy p{font-weight:300;font-size:13.5px;color:#55594a;line-height:1.75;margin:0}
.fli__legend{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;padding-top:18px;border-top:1px solid var(--line-light)}
.fli__legend i{display:flex;align-items:center;gap:7px;font-style:normal;font-size:11.5px;color:#6c7259}
.fli__note{font-weight:300;font-size:13px;color:#6c7259;font-style:italic;line-height:1.75;margin-top:16px}
@media(max-width:860px){
  .fmap{grid-template-columns:1fr;gap:0;margin-bottom:32px}
  .fmap::before{left:6px;right:auto;top:10px;bottom:10px;width:1px;height:auto}
  .fstop{flex-direction:row;align-items:center;text-align:left;gap:11px;padding:8px 0}
  .fstop__d{order:2;min-width:42px;font-size:9px}
  .fstop__n{order:1}
  .fstop__t{order:3;flex:1;font-size:16px}
  .fstop__p{order:4;font-size:8.5px;padding:2px 6px}
  .fstn{grid-template-columns:1fr;gap:13px;padding-bottom:30px;margin-bottom:30px}
  .fstn__rail{flex-direction:row;align-items:center;flex-wrap:wrap;gap:9px}
  .fstn__day{font-size:20px}
  .fstn__h{font-size:22px}
  .fgrp__head{display:none}
  .frow{grid-template-columns:1fr;gap:4px;padding:15px 0}
  .frow__t{font-size:22px}
  .frow__w{border-left:2px solid var(--brass);padding-left:10px;margin-top:5px}
  .fhop{grid-template-columns:1fr;gap:15px}
  .fhop::before{left:7px;right:auto;top:10px;bottom:10px;width:1px;height:auto}
  .fbead{flex-direction:row;align-items:center;text-align:left;gap:11px}
  .fbead__c{font-size:19px;min-width:50px}
  .fbead--mid .fbead__c{font-size:17px}
}

/* adx-itin-contrast: the itinerary used --brass (#b08d57) for text, which is 2.74:1 on cream and
   below the 4.5:1 AA floor. --brass-text (#7d5f2b) is the accessible token from the earlier pass
   and gives 5.26:1 while keeping the brass character. Tiny uppercase labels also get more weight. */
.acc__item.open .acc__t{color:var(--brass-text)}
.acc__head:hover .acc__t{color:var(--brass-text)}
.acc__day{color:var(--brass-text)}
.acc__feat .f .lbl{color:var(--brass-text);font-weight:600}
.day-up a{color:var(--brass-text);font-weight:500}
.day-up a:hover{color:var(--ink)}

/* adx-itin-size: itinerary body copy 14.5px -> 15.5px (Yonatan 2026-08-16). */
.acc__inner{font-size:16px}

/* adx-type-bump: body copy sizes raised on request (Yonatan 2026-08-16).
   Same specificity as the base rules but later in the file, so these win. */
.addon__b p{font-size:15px}
.xacc-box p{font-size:16px}
.pcols li{font-size:16px}


/* ================= 2026-08-19  hotel upgrade inside the enquiry modal =================
   .book__check is built for the DARK booking card (--on-dark). In the modal it sits on
   white, so it needs its own light variant. Rows only, no images, no room-type step. */
.eqform__check{display:flex!important;align-items:center;gap:10px;cursor:pointer;font-family:var(--sans);font-size:13.5px!important;font-weight:400!important;line-height:1.35;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important;margin:0!important}
.eqform__check input[type=checkbox]{width:16px!important;height:16px!important;min-width:0;padding:0!important;margin:0;flex:0 0 16px;accent-color:var(--brass)}
#eqUpgPanel{margin-top:12px}
.eqform__hlabel{display:block;margin:0 0 8px}
.eqform__hlabel+.eqhotel{margin-top:0}
.eqhotel~.eqform__hlabel{margin-top:14px}
.eqhotel{display:block;cursor:pointer;margin:0 0 8px;position:relative}
.eqhotel input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.eqhotel__box{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--line-light);background:#fff;box-sizing:border-box;font-family:var(--sans);font-size:13.5px;font-weight:400;line-height:1.4;color:var(--ink);text-transform:none;letter-spacing:0;transition:border-color .18s ease,box-shadow .18s ease}
.eqhotel:hover .eqhotel__box{border-color:var(--brass)}
.eqhotel input:focus-visible+.eqhotel__box{outline:2px solid var(--brass);outline-offset:2px}
.eqhotel input:checked+.eqhotel__box{border-color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}
.eqhotel__l{display:flex;align-items:baseline;gap:7px;min-width:0}
.eqhotel__n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eqhotel__s{color:var(--brass);font-size:10.5px;letter-spacing:.5px;flex:none}
.eqhotel__p{flex:none;white-space:nowrap;font-weight:500}
.eqform__upg-note{margin:2px 0 0;font-size:12px;line-height:1.5;color:#6b7264;font-weight:300;font-family:var(--sans)}
#eqUpgSum{display:none;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:13px;color:#5c6255;font-family:var(--sans)}
#eqUpgSum.is-on{display:flex}
#eqUpgEdit{color:var(--brass);text-decoration:none;flex:none}
#eqUpgEdit:hover{text-decoration:underline}
@media(max-width:420px){.eqhotel__box{padding:11px 12px;font-size:13px}.eqhotel__s{font-size:10px}}


/* 2026-08-19: hide the floating buttons while the footer is on screen, see site-v2.js */
.fab-stack{transition:opacity .25s ease,visibility .25s ease,bottom .3s ease}
.fab-stack.is-atfooter{opacity:0;visibility:hidden;pointer-events:none}

/* 2026-08-20 children count centred, same size/weight as the travellers number (15px/600) */
#eqModal .eqform__children{justify-content:center;text-align:center;font-size:14px;font-weight:400}
/* travellers number toned down to match: the 600-weight pair shouted next to the 300-weight room rows */
#eqModal .eqform__stepval{font-size:14px;font-weight:400}

/* 2026-08-20 mobile tour tabs: quiet button look for every tab, brass underline marks the
   active one. Same white-box-on-cream language as the form fields, desktop rail untouched. */
@media(max-width:760px){
  .vtabs .vnav{gap:6px;justify-content:flex-start}
  .vpill{border:0;background:transparent;padding:9px 12px;position:relative}
  .vpill.active{color:var(--brass)}
  .vpill.active::after{content:'';position:absolute;left:12px;right:12px;bottom:-9px;height:6px;background:var(--brass)}
}

/* ================= 2026-08-21  R1 featured card (approved in preview) ==================
   Departures become two-line rows: label above, full period below, arrow right.
   #toursGrid prefix is required: destination-eritrea.php ships a later sheet with
   #toursGrid .sfeat rules, and it also REWRITES the box contents to .dep-kind/.dep-dates,
   so both markups are styled here. No ::before headings: pseudo-content cannot be
   translated for IT/DE. */
#toursGrid .sfeat .sfeat__cta{display:none}
#toursGrid .sfeat .sfeat__departs{display:block;width:100%}
#toursGrid .sfeat .sfeat__departs .sfeat__depart{display:flex;flex-wrap:wrap;align-items:center;
  gap:0 10px;background:none;border:0;border-top:1px solid rgba(205,163,94,.28);
  border-radius:0;padding:11px 0;margin:0;text-align:left;transition:padding-left .18s var(--ease)}
#toursGrid .sfeat .sfeat__departs .sfeat__depart:last-child{border-bottom:1px solid rgba(205,163,94,.28)}
#toursGrid .sfeat:hover .sfeat__departs .sfeat__depart:hover{padding-left:5px}
#toursGrid .sfeat .sfeat__departs .sfeat__depart::after{content:"\2192";color:#e0b979;font-size:16px;line-height:1;flex:none;margin-left:auto}
#toursGrid .sfeat .sfeat__depart .dep-kind,#toursGrid .sfeat .sfeat__depart .sfeat__depart-lbl{flex:0 0 100%;display:block;
  font-family:var(--sans);font-size:9.5px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;
  color:#e0b979;margin:0 0 3px}
#toursGrid .sfeat .sfeat__depart-no{display:none}
#toursGrid .sfeat .sfeat__depart .dep-dates,#toursGrid .sfeat .sfeat__depart .sfeat__depart-dates{display:block;
  font-family:var(--display);font-weight:500;font-size:16px;letter-spacing:0;text-transform:none;
  color:#ece7da;white-space:nowrap}
/* small type on the photo was 4.8-6.4 contrast at 8.5-10.5px; lifted to 8+ */
#toursGrid .sfeat .sfeat__eyebrow{color:#e0b979;font-size:10.5px;letter-spacing:2.4px}
#toursGrid .sfeat .sfeat__meta{color:#e2dccc;font-size:11px;letter-spacing:1.5px}
#toursGrid .sfeat .sfeat__blurb{font-size:11.5px;line-height:1.55;color:#c3c8b6;margin-top:14px}

}

/* 2026-08-21 calm featured gallery on mobile: the Ken Burns zoom ran on BOTH layers during
   the crossfade and dropped frames on phones (visible flash). Static image + a longer fade
   reads as one calm dissolve. Desktop keeps the zoom. */
/* gal stacking: the swap raises slides with inline z-index; without an isolated stacking
   context they climb ABOVE the sibling .sfeat__grad, so the dark scrim vanished during the
   fade and "came back in" at the end (the flash Yonatan saw). isolate keeps them contained. */
.sfeat__gal{isolation:isolate}
@media(max-width:760px){
  .sfeat__slide-img{animation:none!important;transform:scale(1.04)!important}
  .sfeat__slide{transition-duration:2.8s}
}

/* 2026-08-28: the enquiry modal offers two ways out - Book (primary) and the original
   Send my enquiry for people who want to ask first. Same form, different intent. */
.eqform__actions{display:flex;gap:10px;align-items:stretch;margin-top:24px;flex-wrap:wrap}
.eqform__actions .eqform__submit{flex:1 1 58%;margin-top:0;justify-content:center;min-width:170px}
.eqform__ask{flex:1 1 34%;min-width:150px;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink,#33372c);background:transparent;border:1px solid var(--line,#d8d3c6);padding:0 16px;cursor:pointer;transition:border-color .2s,color .2s,background .2s;line-height:1.3}
.eqform__ask:hover{border-color:var(--brass,#b08d57);color:var(--brass-text,#8a6f3f);background:rgba(176,141,87,.06)}
@media(max-width:520px){.eqform__actions{flex-direction:column}.eqform__ask{padding:13px 16px}}
