/*
Theme Name: Big 5 Safaris
Author: The Big 5 Safaris
Description: Custom theme for premium tailor-made East African safaris.
Version: 0.1
*/
:root{
  --scrim:#14110c;
  --sand:#E4D9B4;
  --ink:#332B22;
  --heading:#263626;
  --gold:#F0A93E;
  --tawny:#A8763A;
  --d:"Fraunces",Georgia,serif;
  --s:"Archivo","Helvetica Neue",Arial,sans-serif;
  --e:cubic-bezier(.16,.84,.34,1);
}
*{box-sizing:border-box}
body{margin:0;background:var(--scrim);color:var(--sand);font-family:var(--s);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--gold);color:var(--scrim)}
header{position:fixed;inset:0 0 auto;z-index:40;padding:22px clamp(18px,3.2vw,44px);display:flex;align-items:center;gap:36px;pointer-events:none}
header>*{pointer-events:auto}
.mark{font-family:var(--d);font-size:19px;color:#fff;text-decoration:none;white-space:nowrap;line-height:1.05;text-shadow:0 1px 24px rgba(0,0,0,.55)}
.mark i{font-style:normal;display:block;font-family:var(--s);font-size:7px;letter-spacing:.46em;text-transform:uppercase;font-weight:400;opacity:.66;margin-top:3px}
.menu{display:flex;gap:28px;margin-left:auto}
.menu a{color:rgba(255,255,255,.84);text-decoration:none;font-size:11px;letter-spacing:.17em;text-transform:uppercase;position:relative;padding-block:4px;text-shadow:0 1px 18px rgba(0,0,0,.6)}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--tawny);transition:right .5s var(--e)}
.menu a:hover::after{right:0}
.btn{position:relative;z-index:1;font-family:var(--s);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:13px 24px;text-decoration:none;display:inline-block;overflow:hidden;background:var(--gold);color:var(--scrim);border:0;cursor:pointer;transition:color .5s var(--e)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--sand);transform:translateY(101%);transition:transform .5s var(--e)}
.btn:hover{color:var(--scrim)}
.btn:hover::before{transform:none}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.44);color:#fff}
.btn.ghost::before{background:#fff}
.btn.ghost:hover{color:var(--scrim)}
@media(max-width:1000px){.menu{display:none}.mark{margin-right:auto}}
@media(max-width:520px){header .btn{padding:11px 16px;font-size:9.5px}}
.stage{position:relative;height:100svh;overflow:hidden;isolation:isolate}
.bg{position:absolute;inset:0;z-index:0}
.bg video,.bg img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);animation:drift 22s var(--e) forwards}
@keyframes drift{to{transform:scale(1)}}
.bg video{filter:saturate(.94) contrast(1.06) brightness(.86)}
.still{position:absolute;inset:0;opacity:0;transition:opacity 1.1s var(--e);z-index:1}
.still.on{opacity:1}
.still picture{display:block;height:100%}
.still img{width:100%;height:100%;object-fit:cover;object-position:50% var(--fy,50%);transform:scaleX(var(--flip,1)) scale(1.04);filter:saturate(.96) contrast(1.04) brightness(.84);transition:transform 7s linear}
.still.on img{transform:scaleX(var(--flip,1)) scale(1.1)}
.wash{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(20,17,12,.86) 0%,rgba(20,17,12,.5) 42%,rgba(20,17,12,.12) 72%),linear-gradient(180deg,rgba(20,17,12,.66) 0%,rgba(20,17,12,0) 30%,rgba(20,17,12,.2) 58%,rgba(20,17,12,.92) 100%)}
.in{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;padding:0 clamp(20px,3.2vw,44px)}
.words{margin-top:auto;margin-bottom:clamp(24px,4vh,44px);max-width:min(1000px,86vw)}
.eyebrow{font-size:9.5px;letter-spacing:.42em;text-transform:uppercase;font-weight:500;color:var(--tawny);margin-bottom:clamp(14px,2.2vh,22px);opacity:0;animation:fi 1.1s var(--e) .5s forwards}
h1{margin:0;font-family:var(--d);font-weight:300;letter-spacing:-.045em;line-height:.86;font-size:clamp(42px,7.4vw,124px);color:#fff;text-wrap:balance;text-shadow:0 6px 70px rgba(0,0,0,.5)}
h1 em{font-style:italic;color:var(--gold)}
h1 span{display:block;overflow:hidden;padding-bottom:.06em}
h1 span b{display:block;font-weight:300;transform:translateY(108%);animation:up 1.5s var(--e) .15s forwards}
@keyframes up{to{transform:none}}
.copy{display:grid;margin-top:clamp(16px,2.4vh,28px);opacity:0;animation:fi 1.1s var(--e) 1.15s forwards}
.copy>.c{grid-area:1/1;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .22s var(--e),transform .22s var(--e)}
.copy>.c.on{opacity:1;transform:none;pointer-events:auto;transition:opacity .5s var(--e) .24s,transform .5s var(--e) .24s}
.copy p{font-size:14.5px;line-height:1.78;color:rgba(255,255,255,.88);margin:0;max-width:46ch}
.copy .sw{font-family:var(--d);font-size:clamp(22px,2vw,30px);color:#fff;margin:0 0 8px}
.acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:clamp(18px,2.8vh,30px);opacity:0;animation:fi 1.1s var(--e) 1.4s forwards}
@keyframes fi{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.rail{position:relative;z-index:5;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.18);opacity:0;animation:fi 1.1s var(--e) 1.65s forwards}
.rail button{position:relative;background:none;border:0;cursor:pointer;color:#fff;text-align:left;padding:clamp(16px,2vh,24px) clamp(8px,1.2vw,18px);border-left:1px solid rgba(255,255,255,.14);-webkit-tap-highlight-color:transparent;transition:background .5s var(--e);display:flex;flex-direction:column;gap:6px;min-width:0}
.rail button:first-child{border-left:0}
.rail button::before{content:"";position:absolute;top:-1px;left:0;right:100%;height:2px;background:var(--gold);transition:right .55s var(--e)}
.rail button.on::before{right:0}
.rail button:hover{background:rgba(255,255,255,.05)}
.rail .n{font-size:9px;letter-spacing:.28em;font-weight:500;color:rgba(255,255,255,.5);font-variant-numeric:tabular-nums;transition:color .5s var(--e)}
.rail button.on .n{color:var(--gold)}
.rail .w{font-family:var(--d);font-size:clamp(17px,1.8vw,27px);line-height:1;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s var(--e)}
@media(max-width:760px){
  .rail{grid-template-columns:repeat(5,1fr)}
  .rail button{padding:12px 6px;gap:4px;align-items:center;text-align:center}
  .rail .w{font-size:14px}
  .words{margin-bottom:16px}
  .copy p{font-size:13.5px}
  .wash{background:linear-gradient(180deg,rgba(20,17,12,.7) 0%,rgba(20,17,12,.1) 26%,rgba(20,17,12,.55) 62%,rgba(20,17,12,.95) 100%)}
}
:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important}
  h1 span b{transform:none}
  .eyebrow,.copy,.acts,.rail{opacity:1}
  .bg video{display:none}
}
.copy p[style]{max-width:46ch}
.big5-info{background:var(--sand);color:var(--ink);padding:9vh 7vw 10vh;text-align:center}
.b5-eyebrow{font-family:var(--s);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--tawny);font-weight:600;margin:0 0 12px}
.big5-info h2{font-family:var(--d);font-size:clamp(26px,3.6vw,40px);margin:0 0 14px;color:var(--heading)}
.b5-lead{font-family:var(--s);font-size:14.5px;color:#5a4f3d;max-width:56ch;margin:0 auto 3.4rem;line-height:1.6}
.b5-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.4rem;max-width:1200px;margin:0 auto;text-align:left}
.b5-card{background:#FBF6E9;border:1px solid rgba(51,43,34,.14);border-radius:10px;overflow:hidden}
.b5-card img{width:100%;height:150px;object-fit:cover;display:block}
.b5-card h3{font-family:var(--d);font-size:1.15rem;margin:14px 16px 6px;color:var(--heading)}
.b5-card p{font-family:var(--s);font-size:.86rem;color:#5a4f3d;line-height:1.5;margin:0 16px 16px}
/* ===== ITINERARY PAGE ===== */
.it-rail{position:fixed;left:0;top:0;bottom:0;width:150px;z-index:55;display:flex;flex-direction:column;justify-content:center;padding:6vh 0;pointer-events:none}
.it-rail::before{content:"";position:absolute;left:28px;top:8%;bottom:8%;width:2px;background:rgba(228,217,180,.22)}
.it-rail .stop{position:relative;padding:0 0 0 46px;flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}
.it-rail .stop::before{content:"";position:absolute;left:22px;top:50%;transform:translate(-50%,-50%);width:11px;height:11px;border-radius:50%;background:var(--scrim);border:2px solid rgba(228,217,180,.4);transition:.4s var(--e);z-index:2}
.it-rail .stop.on::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 5px rgba(240,169,62,.22)}
.it-rail .stop.done::before{background:rgba(228,217,180,.55);border-color:rgba(228,217,180,.55)}
.it-rail .stop b{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);opacity:.5;transition:opacity .4s var(--e);display:block;margin-bottom:2px}
.it-rail .stop span{font-size:12px;color:var(--sand);opacity:.35;transition:opacity .4s var(--e);max-width:15ch;line-height:1.25}
.it-rail .stop.on b,.it-rail .stop.on span{opacity:1}
.it-rail .stop.done span{opacity:.6}
@media(max-width:880px){.it-rail{display:none}}
.topbar{position:fixed;top:0;left:0;right:0;z-index:55;background:rgba(20,17,12,.88);backdrop-filter:blur(6px);padding:10px 16px 9px;display:none}
.topbar .row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.topbar .tb-day-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:600}
.topbar .loc{font-size:13px;color:var(--sand);font-weight:600}
.topbar .track{margin-top:7px;height:3px;background:rgba(228,217,180,.18);border-radius:3px;overflow:hidden}
.topbar .fill{height:100%;background:var(--gold);width:0%;transition:width .15s linear}
@media(max-width:880px){.topbar{display:block}}
#it-hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden}
#it-hero .bg{position:absolute;inset:0}
#it-hero .bg img{width:100%;height:100%;object-fit:cover}
#it-hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,12,.35) 0%,rgba(20,17,12,.55) 55%,rgba(20,17,12,.92) 100%)}
#it-hero .inner{position:relative;z-index:2;padding:14vh 7vw 8vh;width:100%;max-width:900px}
@media(min-width:880px){#it-hero .inner{padding-left:calc(150px + 7vw)}}
#it-hero h1{font-size:clamp(30px,5.6vw,58px);line-height:1.05;margin:14px 0 0;color:var(--sand);font-family:var(--d)}
#it-hero .meta{display:flex;flex-wrap:wrap;gap:8px 10px;margin:18px 0 0}
#it-hero .meta span{font-size:11.5px;letter-spacing:.03em;background:rgba(228,217,180,.12);border:1px solid rgba(228,217,180,.25);color:var(--sand);padding:6px 11px;border-radius:99px}
#it-hero p.brief{color:rgba(228,217,180,.82);font-size:15px;line-height:1.7;max-width:52ch;margin:20px 0 0}
.it-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
#it-hero .price{margin-top:18px;font-size:12.5px;color:rgba(228,217,180,.6);letter-spacing:.02em}
.cta{background:var(--gold);color:var(--scrim);border:0;padding:15px 24px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px;border-radius:5px;transition:.25s}
.cta:hover{transform:translateY(-1px);filter:brightness(1.06)}
.cta.ghost{background:transparent;border:1.5px solid rgba(228,217,180,.55);color:var(--sand)}
.cta.ghost:hover{background:rgba(228,217,180,.12)}
.cta.dark{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.cta.dark:hover{background:var(--ink);color:var(--sand)}
#it-overview{background:var(--sand);color:var(--ink);padding:9vh 7vw 8vh}
.ov-wrap{max-width:1000px;margin:0 auto}
.ov-eyebrow{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--tawny);font-weight:700}
#it-overview h2{color:var(--heading);font-size:clamp(24px,3.6vw,38px);margin:14px 0 18px;max-width:24ch;font-family:var(--d)}
#it-overview p.lead{font-size:15.5px;line-height:1.75;max-width:62ch;color:#4a4030;margin:0 0 3.4rem}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:rgba(51,43,34,.14);border:1px solid rgba(51,43,34,.14);border-radius:10px;overflow:hidden;margin-bottom:3.6rem}
.facts .f{background:#FBF6E9;padding:1.1rem 1.2rem}
.facts .f b{display:block;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tawny);margin-bottom:5px}
.facts .f span{font-size:14.5px;font-weight:600;color:var(--heading)}
.route-label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tawny);font-weight:700;margin-bottom:1.1rem}
.route{display:flex;align-items:center;gap:0;overflow-x:auto;padding-bottom:6px;margin-bottom:1rem}
.route-node{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;padding:0 22px;position:relative;cursor:pointer;font-family:var(--s)}
.route-node .dot{width:15px;height:15px;border-radius:50%;background:#FBF6E9;border:2.5px solid var(--tawny)}
.route-node b{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tawny)}
.route-node span{font-size:12.5px;font-weight:600;color:var(--heading);white-space:nowrap}
.route-line{flex:0 0 34px;height:2px;background:repeating-linear-gradient(90deg,var(--tawny) 0 6px,transparent 6px 11px);margin-top:-24px}
.it-day{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:flex-end}
.it-day .bg{position:absolute;inset:0}
.it-day .bg img{width:100%;height:100%;object-fit:cover}
.it-day .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,12,.18) 0%,rgba(20,17,12,.62) 62%,rgba(20,17,12,.94) 100%)}
.it-day .body{position:relative;z-index:2;padding:0 7vw 8vh;width:100%;max-width:760px}
@media(max-width:760px){.it-day .body{padding:0 6vw 12vh}}
@media(min-width:880px){.it-day .body{padding-left:calc(150px + 7vw)}}
.it-day .badge{display:inline-block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--scrim);background:var(--gold);padding:6px 12px;border-radius:99px;margin-bottom:14px}
.it-day .place{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold);margin:0 0 10px}
.it-day h2{font-size:clamp(22px,3.4vw,36px);line-height:1.22;color:var(--sand);max-width:22ch;font-family:var(--d);margin:0}
.it-day .desc{font-size:14.5px;line-height:1.75;color:rgba(228,217,180,.82);max-width:44ch;margin:16px 0 0}
.it-day .day-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.it-day .persistent-space{height:64px}
@media(max-width:880px){.it-day .body{padding-top:70px}}
.link-btn{background:rgba(228,217,180,.12);border:1px solid rgba(228,217,180,.35);color:var(--sand);font-size:11px;letter-spacing:.06em;padding:11px 16px;border-radius:5px;display:inline-flex;align-items:center;gap:7px;font-family:var(--s);cursor:pointer}
.link-btn:hover{background:rgba(228,217,180,.2)}
#it-close{min-height:80svh;background:var(--sand);color:var(--ink);display:grid;place-items:center;padding:12vh 7vw;text-align:center}
#it-close .eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--tawny);font-weight:700}
#it-close h2{font-size:clamp(26px,4.2vw,46px);line-height:1.14;margin:14px 0 0;max-width:20ch;color:var(--heading);font-family:var(--d)}
#it-close p{color:#4a4030;font-size:15px;line-height:1.7;max-width:48ch;margin:18px auto 0}
#it-close .acts{display:flex;gap:10px;justify-content:center;margin-top:30px;flex-wrap:wrap}
#it-close .fine{margin-top:22px;font-size:12px;color:#6b6353}
.floatbar{position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(20,17,12,.92);backdrop-filter:blur(8px);border-top:1px solid rgba(228,217,180,.14);display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
.floatbar .fb-info{display:none}
.floatbar .fb-acts{display:flex;gap:8px;flex:1}
.floatbar .fb-acts .cta{flex:1;justify-content:center;padding:13px 10px}
@media(min-width:880px){
  .floatbar{left:auto;right:26px;bottom:26px;border-radius:12px;border:1px solid rgba(228,217,180,.16);padding:14px 16px;max-width:380px}
  .floatbar .fb-info{display:block;font-size:11px;color:rgba(228,217,180,.7);margin-right:6px;font-family:var(--s)}
  .floatbar .fb-info b{display:block;color:var(--sand);font-size:13px;margin-bottom:2px}
  .floatbar .fb-acts{flex:0 0 auto}
  .floatbar .fb-acts .cta{flex:0 0 auto}
}
.modal-wrap{position:fixed;inset:0;z-index:100;display:none;align-items:flex-end;justify-content:center}
.modal-wrap.open{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(10,8,5,.72)}
.modal{position:relative;z-index:2;background:#FBF6E9;color:var(--ink);width:100%;max-width:640px;max-height:88svh;overflow-y:auto;border-radius:16px 16px 0 0;padding:1.4rem 1.4rem 2rem;font-family:var(--s)}
@media(min-width:640px){.modal-wrap{align-items:center}.modal{border-radius:16px;margin:20px}}
.modal-close{position:absolute;top:14px;right:14px;background:rgba(51,43,34,.08);border:0;width:34px;height:34px;border-radius:50%;font-size:16px;color:var(--ink);line-height:1;cursor:pointer}
.modal-eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--tawny);font-weight:700;margin-bottom:8px}
.modal h3{font-size:1.3rem;color:var(--heading);margin-bottom:.8rem;max-width:26ch;font-family:var(--d)}
.modal-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:1rem 0}
.modal-gallery img{width:100%;height:130px;object-fit:cover;border-radius:8px}
.modal-price{display:inline-block;background:var(--gold);color:var(--scrim);font-weight:700;font-size:.85rem;padding:8px 14px;border-radius:6px;margin:.9rem 0 0}
.modal-note{font-size:.85rem;color:#6b6353;line-height:1.5;margin-top:.8rem}
.arc-hero{background:var(--scrim);color:var(--sand);padding:16vh 7vw 7vh;text-align:center}
.arc-eyebrow{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700;font-family:var(--s)}
.arc-hero h1{font-family:var(--d);font-size:clamp(30px,4.6vw,50px);margin:14px 0;color:var(--sand)}
.arc-lead{font-family:var(--s);font-size:15px;color:rgba(228,217,180,.8);max-width:56ch;margin:0 auto;line-height:1.6}
.arc-grid{background:var(--sand);padding:6vh 7vw 10vh;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem;max-width:1200px;margin:0 auto}
.arc-card{background:#FBF6E9;border:1px solid rgba(51,43,34,.14);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--ink);display:block;transition:transform .3s var(--e)}
.arc-card:hover{transform:translateY(-4px)}
.arc-card-img{height:220px;overflow:hidden}
.arc-card-img img{width:100%;height:100%;object-fit:cover}
.arc-card-body{padding:1.3rem 1.4rem 1.5rem}
.arc-card-eyebrow{font-family:var(--s);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tawny);font-weight:700}
.arc-card h2{font-family:var(--d);font-size:1.4rem;margin:10px 0 8px;color:var(--heading)}
.arc-card p{font-family:var(--s);font-size:.88rem;color:#5a4f3d;line-height:1.55;margin:0 0 12px}
.arc-card-price{font-family:var(--s);font-weight:700;font-size:.9rem;color:var(--gold)}
.contact-hero{background:var(--scrim);color:var(--sand);padding:16vh 7vw 6vh;text-align:center}
.contact-hero h1{font-family:var(--d);font-size:clamp(30px,4.6vw,50px);margin:14px 0;color:var(--sand)}
.contact-quick{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:1.6rem}
.contact-form-wrap{background:var(--sand);padding:6vh 7vw 10vh;display:flex;justify-content:center}
.contact-form{max-width:520px;width:100%;display:flex;flex-direction:column;gap:1.1rem;font-family:var(--s)}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--heading);font-weight:600}
.contact-form input,.contact-form textarea{font-family:var(--s);font-size:.95rem;padding:12px 14px;border:1px solid rgba(51,43,34,.25);border-radius:6px;background:#FBF6E9;color:var(--ink)}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.contact-form button{align-self:flex-start;border:0;cursor:pointer;margin-top:.4rem}
.contact-success{max-width:520px;text-align:center;font-family:var(--s)}
.contact-success h2{font-family:var(--d);color:var(--heading);font-size:1.8rem;margin-bottom:.6rem}
.contact-success p{color:#5a4f3d;line-height:1.6}
.contact-error{max-width:520px;background:#f6dede;border:1px solid #e0b0b0;color:#7a2626;padding:.8rem 1rem;border-radius:6px;font-family:var(--s);font-size:.9rem;margin-bottom:1rem}

/* ---- Site header (non-hero pages) & footer ---- */
header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;padding:22px 7vw;gap:28px}
body:not(.home) header{position:relative;background:var(--scrim)}
.menu a[aria-current="page"]{color:#fff}
.menu a[aria-current="page"]::after{right:0}
.site-footer{background:var(--scrim);color:var(--sand);padding:64px 7vw 0}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;max-width:1200px;margin:0 auto;padding-bottom:44px;border-bottom:1px solid rgba(228,217,180,.14)}
@media(max-width:760px){.ft-grid{grid-template-columns:1fr;gap:2rem}}
.ft-brand .mark{display:inline-block;margin-bottom:14px}
.ft-brand p{color:rgba(228,217,180,.7);font-size:14.5px;line-height:1.7;max-width:38ch}
.ft-col h4{font-family:var(--s);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 16px}
.ft-col a{display:block;color:rgba(228,217,180,.82);text-decoration:none;font-size:14.5px;line-height:2.1}
.ft-col a:hover{color:var(--gold)}
.ft-bottom{max-width:1200px;margin:0 auto;padding:22px 0;font-size:12.5px;color:rgba(228,217,180,.55)}

/* ---- Destination single ---- */
.dest-body{max-width:700px;margin:0 auto;padding:64px 7vw 90px;font-family:var(--s);color:var(--ink);font-size:16px;line-height:1.8}
.dest-body p{margin:0 0 1.2em}
.dest-body{background:var(--sand)}
.dest-body{background:var(--sand);max-width:none;padding:0}
.dest-body-in{max-width:700px;margin:0 auto;padding:64px 7vw 90px;font-family:var(--s);color:var(--ink);font-size:16px;line-height:1.8}
.dest-body-in p{margin:0 0 1.2em}

/* ---- FAQs ---- */
.faq-wrap{background:var(--sand);max-width:800px;margin:0 auto;padding:64px 7vw 100px}
.faq-item{border-bottom:1px solid rgba(51,43,34,.14);padding:22px 0}
.faq-item summary{font-family:var(--d);font-size:1.15rem;color:var(--heading);cursor:pointer;list-style:none;position:relative;padding-right:28px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:0;top:0;font-family:var(--s);font-size:1.3rem;color:var(--tawny)}
.faq-item[open] summary::after{content:"\2212"}
.faq-item p{font-family:var(--s);color:#5a4f3d;font-size:15px;line-height:1.7;margin:14px 0 0;max-width:64ch}
.faq-item a{color:var(--tawny)}
.dest-body-in h2{font-family:var(--d);color:var(--heading);font-size:1.4rem;margin:2rem 0 .6rem}
.dest-body-in h2:first-child{margin-top:0}
.dest-body-in a{color:var(--tawny)}

/* ---- Mobile menu toggle ---- */
.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;background:none;border:0;cursor:pointer;margin-left:auto;padding:0}
.menu-toggle span{display:block;width:100%;height:2px;background:#fff;transition:transform .25s var(--e),opacity .25s var(--e)}
.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1000px){
  .menu-toggle{display:flex}
  .menu.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--scrim);padding:10px 7vw 24px;gap:4px;margin-left:0}
  .menu.open a{padding:12px 0;font-size:13px}
  header{position:relative;flex-wrap:wrap}
  .btn{margin-left:auto}
}

/* ---- Route map + inclusions on itinerary pages ---- */
#it-map{background:var(--scrim);padding:6vh 7vw 8vh}
#it-map .ov-eyebrow{font-family:var(--s);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 8px}
#it-map h2{font-family:var(--d);color:var(--sand);font-size:clamp(24px,3vw,34px);margin:0 0 24px}
#itRouteMap{height:420px;border-radius:14px;overflow:hidden;border:1px solid rgba(228,217,180,.14)}
.it-map-pin{background:var(--gold);color:#14110c;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--s);font-weight:700;font-size:12px;box-shadow:0 0 0 3px rgba(240,169,62,.28)}
.leaflet-popup-content-wrapper{background:#1f1b14;color:var(--sand);border-radius:8px}
.leaflet-popup-content{font-family:var(--s);font-size:13px}
.leaflet-popup-tip{background:#1f1b14}
#it-included{background:var(--sand);padding:6vh 7vw 8vh}
.inc-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;max-width:900px;margin:0 auto}
@media(max-width:700px){.inc-grid{grid-template-columns:1fr}}
.inc-col h3{font-family:var(--d);color:var(--heading);font-size:1.2rem;margin:0 0 14px}
.inc-col ul{list-style:none;margin:0;padding:0}
.inc-col li{font-family:var(--s);font-size:14.5px;color:#5a4f3d;line-height:1.6;padding:6px 0 6px 26px;position:relative}
.inc-yes li::before{content:"";position:absolute;left:0;color:#3f7d4f;font-weight:700}
.inc-no li::before{content:"";position:absolute;left:0;color:#a8442f;font-weight:700}

/* ================= v0.2 SAND-DOMINANT OVERRIDE ================= */
:root{
  --cream:#F7F1E2;--paper:#FFFCF3;--sand:#E8DCBB;--sand-deep:#DCCDA4;
  --scrim:#191309;--scrim-2:#241B10;
  --ink:#33291D;--ink-soft:#5E5140;--heading:#22301F;
  --gold:#E9982B;--tawny:#A8763A;--clay:#B5502F;--acacia:#46543A;
  --pad:clamp(20px,7vw,110px);
}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-weight:400}
img{max-width:100%}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.grain{position:relative}
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}
header{z-index:60;transition:background .5s var(--e),padding .5s var(--e)}
header.solid{background:rgba(25,19,9,.92);backdrop-filter:blur(10px);padding-block:14px}
.menu a::after{background:var(--gold)}
.btn{font-weight:600;border-radius:2px}
.btn::before{background:var(--paper)}
.eyebrow{color:var(--gold)}
.wash{background:linear-gradient(90deg,rgba(25,19,9,.8) 0%,rgba(25,19,9,.42) 44%,rgba(25,19,9,.06) 74%),linear-gradient(180deg,rgba(25,19,9,.6) 0%,rgba(25,19,9,0) 28%,rgba(25,19,9,.14) 56%,rgba(25,19,9,.88) 100%)}
.stage{background:var(--scrim)}
.bg video,.still img{filter:saturate(1.02) contrast(1.03) brightness(.89)}
.in{padding:0 var(--pad)}
.eyebrow-t{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--tawny);font-weight:600;margin:0 0 14px}
.sec-h{font-family:var(--d);font-weight:300;letter-spacing:-.025em;line-height:1.04;color:var(--heading);margin:0;font-size:clamp(30px,4.6vw,60px);text-wrap:balance}
.sec-lead{font-size:16px;line-height:1.75;color:var(--ink-soft);max-width:58ch;margin:20px 0 0}
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--e),transform .9s var(--e)}
.rv.seen{opacity:1;transform:none}
.rv-d1{transition-delay:.09s}.rv-d2{transition-delay:.18s}.rv-d3{transition-delay:.27s}.rv-d4{transition-delay:.36s}
.sec{padding:clamp(72px,11vh,148px) var(--pad)}
.sec-cream{background:var(--cream)}
.sec-sand{background:var(--sand)}
.sec-paper{background:var(--paper)}
.sec-head{max-width:1320px;margin:0 auto clamp(38px,5vh,64px)}
.sec-head.center{text-align:center}
.sec-head.center .sec-lead{margin-inline:auto}
.sec-wrap{max-width:1320px;margin:0 auto}
.sec-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:end;max-width:1320px;margin:0 auto clamp(38px,5vh,64px)}
.sec-split .sec-lead{margin-top:0}
@media(max-width:820px){.sec-split{grid-template-columns:1fr;gap:20px;align-items:start}}
.statement{background:var(--cream);padding:clamp(70px,12vh,150px) var(--pad);text-align:center;position:relative;overflow:hidden}
.statement .st-mark{font-family:var(--d);font-size:clamp(120px,20vw,300px);line-height:.7;color:var(--sand-deep);opacity:.5;position:absolute;top:-.06em;left:50%;transform:translateX(-50%);pointer-events:none;user-select:none}
.statement p{position:relative;font-family:var(--d);font-weight:300;font-size:clamp(24px,3.7vw,50px);line-height:1.22;letter-spacing:-.02em;color:var(--heading);max-width:20ch;margin:0 auto;text-wrap:balance}
.statement p em{font-style:italic;color:var(--clay)}
.statement .st-sub{font-family:var(--s);font-size:15px;line-height:1.75;color:var(--ink-soft);max-width:56ch;margin:26px auto 0;font-weight:400}
.lnk{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--heading);text-decoration:none;border-bottom:1px solid var(--sand-deep);padding-bottom:9px;transition:.4s var(--e)}
.lnk:hover{color:var(--clay);border-color:var(--clay);gap:16px}
.sec-more{text-align:center;margin-top:clamp(34px,5vh,58px)}
.pkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:clamp(18px,2.2vw,30px)}
.pkg{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid rgba(51,43,34,.13);border-radius:4px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .6s var(--e),box-shadow .6s var(--e),border-color .6s var(--e)}
.pkg:hover{transform:translateY(-7px);box-shadow:0 26px 60px -26px rgba(51,41,29,.45);border-color:var(--sand-deep)}
.pkg-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--sand-deep)}
.pkg-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.5s var(--e)}
.pkg:hover .pkg-img img{transform:scale(1.07)}
.pkg-days{position:absolute;left:14px;top:14px;background:rgba(25,19,9,.82);color:var(--sand);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:7px 12px;border-radius:2px}
.pkg-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.pkg-where{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--tawny);font-weight:600;margin:0 0 10px}
.pkg h3{font-family:var(--d);font-weight:400;font-size:22px;line-height:1.2;color:var(--heading);margin:0 0 12px;letter-spacing:-.015em}
.pkg p{font-size:14px;line-height:1.65;color:var(--ink-soft);margin:0 0 20px}
.pkg-foot{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid rgba(51,43,34,.12)}
.pkg-price{font-family:var(--d);font-size:20px;color:var(--clay);font-weight:400}
.pkg-price small{display:block;font-family:var(--s);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:2px}
.pkg-go{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--heading);display:inline-flex;align-items:center;gap:7px}
.pkg-go::after{content:"";width:16px;height:1px;background:currentColor;transition:width .45s var(--e)}
.pkg:hover .pkg-go::after{width:28px}
.day-strip{background:var(--scrim);color:var(--sand);padding:clamp(72px,11vh,140px) 0;overflow:hidden}
.day-strip .ds-head{padding:0 var(--pad);max-width:1320px;margin:0 auto clamp(34px,5vh,56px)}
.day-strip .sec-h{color:#fff}
.day-strip .sec-lead{color:rgba(232,220,187,.76)}
.day-strip .eyebrow-t{color:var(--gold)}
.ds-scroll{display:flex;gap:clamp(14px,1.6vw,22px);overflow-x:auto;padding:6px var(--pad) 26px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.ds-scroll::-webkit-scrollbar{height:3px}
.ds-scroll::-webkit-scrollbar-track{background:rgba(232,220,187,.12)}
.ds-scroll::-webkit-scrollbar-thumb{background:var(--gold)}
.ds-card{flex:0 0 clamp(240px,25vw,320px);scroll-snap-align:start;position:relative;border-radius:3px;overflow:hidden;aspect-ratio:3/4.1;background:var(--scrim-2)}
.ds-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.6s var(--e);filter:saturate(1.04)}
.ds-card:hover img{transform:scale(1.06)}
.ds-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,19,9,.05) 30%,rgba(25,19,9,.82) 100%)}
.ds-txt{position:absolute;inset:auto 0 0;z-index:2;padding:22px 20px}
.ds-time{font-family:var(--d);font-size:26px;color:var(--gold);line-height:1;margin:0 0 8px;font-variant-numeric:tabular-nums}
.ds-txt p{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.9);margin:0}
.ds-note{padding:0 var(--pad);max-width:1320px;margin:10px auto 0;font-size:12px;letter-spacing:.04em;color:rgba(232,220,187,.5)}
.dest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.2vw,16px);grid-auto-rows:minmax(180px,auto)}
.dest{position:relative;overflow:hidden;border-radius:3px;text-decoration:none;color:#fff;display:block;background:var(--sand-deep);min-height:200px}
.dest:nth-child(1){grid-column:span 2;grid-row:span 2}
.dest:nth-child(6){grid-column:span 2}
.dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.7s var(--e);filter:saturate(1.05)}
.dest:hover img{transform:scale(1.08)}
.dest::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,19,9,.08) 40%,rgba(25,19,9,.86) 100%)}
.dest-txt{position:absolute;inset:auto 0 0;z-index:2;padding:20px}
.dest-txt h3{font-family:var(--d);font-weight:400;font-size:clamp(19px,1.9vw,27px);margin:0;line-height:1.14;letter-spacing:-.015em}
.dest-txt span{display:block;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:7px}
.dest-txt p{font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.8);margin:8px 0 0;max-height:0;overflow:hidden;opacity:0;transition:max-height .6s var(--e),opacity .5s var(--e)}
.dest:hover .dest-txt p{max-height:70px;opacity:1}
@media(max-width:900px){.dest-grid{grid-template-columns:repeat(2,1fr)}.dest:nth-child(1){grid-column:span 2;grid-row:auto}.dest:nth-child(6){grid-column:span 2}}
@media(max-width:520px){.dest-grid{grid-template-columns:1fr}.dest:nth-child(1),.dest:nth-child(6){grid-column:span 1}}
.xp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(14px,1.8vw,24px)}
.xp{position:relative;border-radius:3px;overflow:hidden;aspect-ratio:1/1.16;display:block;text-decoration:none;color:#fff;background:var(--sand-deep)}
.xp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--e)}
.xp:hover img{transform:scale(1.07)}
.xp::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,19,9,.1) 35%,rgba(25,19,9,.85) 100%)}
.xp-txt{position:absolute;inset:auto 0 0;z-index:2;padding:20px}
.xp-txt h3{font-family:var(--d);font-weight:400;font-size:21px;margin:0 0 6px;line-height:1.14}
.xp-txt p{font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.82);margin:0}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(22px,3vw,44px)}
.why{position:relative;padding-top:26px;border-top:2px solid var(--heading)}
.why b{display:block;font-family:var(--d);font-size:clamp(30px,3.4vw,44px);font-weight:300;color:var(--clay);line-height:1;margin-bottom:14px;letter-spacing:-.02em}
.why h3{font-family:var(--s);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--heading);margin:0 0 10px}
.why p{font-size:14px;line-height:1.7;color:var(--ink-soft);margin:0}
.lodge-scroll{display:flex;gap:clamp(14px,1.6vw,22px);overflow-x:auto;padding-bottom:22px;scroll-snap-type:x mandatory}
.lodge-scroll::-webkit-scrollbar{height:3px}
.lodge-scroll::-webkit-scrollbar-track{background:rgba(51,43,34,.12)}
.lodge-scroll::-webkit-scrollbar-thumb{background:var(--tawny)}
.lodge{flex:0 0 clamp(250px,26vw,330px);scroll-snap-align:start;text-decoration:none;color:inherit}
.lodge-img{aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:var(--sand-deep);margin-bottom:15px}
.lodge-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s var(--e)}
.lodge:hover .lodge-img img{transform:scale(1.06)}
.lodge h3{font-family:var(--d);font-weight:400;font-size:19px;color:var(--heading);margin:0 0 5px}
.lodge span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--tawny);font-weight:600}
.close-cta{position:relative;min-height:76vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--scrim);padding:clamp(70px,10vh,130px) var(--pad)}
.close-cta .bg-img{position:absolute;inset:0}
.close-cta .bg-img img{width:100%;height:100%;object-fit:cover}
.close-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,19,9,.72),rgba(25,19,9,.86))}
.cc-in{position:relative;z-index:2;max-width:760px}
.close-cta h2{font-family:var(--d);font-weight:300;font-size:clamp(32px,5.2vw,68px);line-height:1.04;letter-spacing:-.03em;color:#fff;margin:0 0 22px;text-wrap:balance}
.close-cta h2 em{font-style:italic;color:var(--gold)}
.close-cta p{font-size:16px;line-height:1.75;color:rgba(232,220,187,.86);margin:0 auto 34px;max-width:50ch}
.cc-acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.cc-fine{margin-top:28px;font-size:12px;letter-spacing:.05em;color:rgba(232,220,187,.55)}
.cc-fine a{color:var(--gold);text-decoration:none}
.big5-info{background:var(--paper);padding:clamp(72px,11vh,140px) var(--pad)}
.big5-info h2{font-family:var(--d);font-weight:300;font-size:clamp(28px,4vw,48px);margin:0 0 16px;letter-spacing:-.02em}
.b5-lead{font-size:15px;color:var(--ink-soft);line-height:1.7}
.b5-grid{gap:1.2rem;max-width:1320px}
.b5-card{background:var(--cream);border:1px solid rgba(51,43,34,.12);border-radius:3px;transition:transform .6s var(--e),box-shadow .6s var(--e)}
.b5-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px -22px rgba(51,41,29,.4)}
.b5-card img{height:160px}
.b5-card h3{font-weight:400;font-size:1.2rem}
.b5-card p{color:var(--ink-soft);line-height:1.6}
.it-rail{opacity:0;visibility:hidden;transform:translateX(-14px);transition:opacity .6s var(--e),transform .6s var(--e),visibility .6s}
.it-rail.live{opacity:1;visibility:visible;transform:none}
.it-rail::before{background:rgba(232,220,187,.22)}
.it-rail .stop.on::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 5px rgba(233,152,43,.22)}
.topbar{background:rgba(25,19,9,.92);opacity:0;visibility:hidden;transform:translateY(-100%);transition:opacity .45s var(--e),transform .45s var(--e),visibility .45s}
.topbar.live{opacity:1;visibility:visible;transform:none}
@media(max-width:880px){.topbar{display:block}}
#it-hero{background:var(--scrim)}
#it-hero .scrim{background:linear-gradient(180deg,rgba(25,19,9,.28) 0%,rgba(25,19,9,.5) 55%,rgba(25,19,9,.9) 100%)}
#it-hero .inner{padding:14vh var(--pad) 8vh;max-width:980px}
#it-hero h1{font-weight:300;letter-spacing:-.03em;color:#fff;font-size:clamp(30px,5.6vw,62px)}
.cta{border-radius:2px}
.cta.dark{border-color:var(--heading);color:var(--heading)}
.cta.dark:hover{background:var(--heading);color:var(--sand)}
#it-overview{background:var(--cream);padding:clamp(70px,10vh,130px) var(--pad)}
.ov-wrap{max-width:1100px}
#it-overview h2{font-weight:300;letter-spacing:-.025em;font-size:clamp(26px,4vw,44px)}
#it-overview p.lead{font-size:16px;color:var(--ink-soft)}
.facts{border-radius:3px;background:rgba(51,43,34,.13);border-color:rgba(51,43,34,.13)}
.facts .f{background:var(--paper)}
.facts .f span{font-size:15px}
.route-node .dot{background:var(--paper);border-color:var(--tawny)}
#it-map{background:var(--sand);padding:clamp(70px,10vh,130px) var(--pad)}
#it-map h2{font-family:var(--d);font-weight:300;font-size:clamp(26px,3.6vw,42px);color:var(--heading);margin:0 0 8px;letter-spacing:-.025em}
#it-map .map-sub{font-size:14.5px;color:var(--ink-soft);margin:0 0 34px;max-width:56ch;line-height:1.7}
.map-shell{display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(18px,2.4vw,34px);max-width:1320px;margin:0 auto;align-items:stretch}
@media(max-width:900px){.map-shell{grid-template-columns:1fr}}
.map-canvas{position:relative;border-radius:3px;overflow:hidden;border:1px solid var(--sand-deep);background:#EFE4C6;min-height:440px;box-shadow:inset 0 0 90px rgba(168,118,58,.16)}
.map-canvas svg{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2}
.map-canvas::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;z-index:1;background:radial-gradient(closest-side at 22% 28%,rgba(168,118,58,.2),transparent 72%),radial-gradient(closest-side at 72% 66%,rgba(70,84,58,.18),transparent 74%),radial-gradient(closest-side at 52% 88%,rgba(181,80,47,.12),transparent 70%)}
.map-canvas::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.3;mix-blend-mode:multiply;z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23m)' opacity='.3'/%3E%3C/svg%3E")}
.rt-line{fill:none;stroke:var(--clay);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:7 9;opacity:.9}
.rt-line-draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw 2.6s var(--e) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.rt-stop{cursor:pointer}
.rt-stop circle.hit{fill:transparent}
.rt-stop circle.pin{fill:var(--paper);stroke:var(--clay);stroke-width:2.4;transition:.45s var(--e)}
.rt-stop text.num{font-family:"Archivo",sans-serif;font-size:11px;font-weight:700;fill:var(--clay);text-anchor:middle;dominant-baseline:central;pointer-events:none;transition:.45s var(--e)}
.rt-stop text.lbl{font-family:"Archivo",sans-serif;font-size:11.5px;font-weight:600;fill:var(--heading);pointer-events:none;paint-order:stroke;stroke:rgba(255,252,243,.85);stroke-width:3px}
.rt-stop:hover circle.pin,.rt-stop.on circle.pin{fill:var(--gold)}
.rt-stop:hover text.num,.rt-stop.on text.num{fill:var(--scrim)}
.map-legend{position:absolute;left:16px;bottom:14px;z-index:3;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--tawny);font-weight:600;background:rgba(255,252,243,.82);padding:7px 12px;border-radius:2px}
.map-list{display:flex;flex-direction:column;gap:2px;background:rgba(51,43,34,.12);border:1px solid rgba(51,43,34,.12);border-radius:3px;overflow:hidden}
.map-stop{display:flex;gap:15px;align-items:flex-start;padding:16px 18px;background:var(--paper);text-decoration:none;color:inherit;transition:background .35s var(--e);cursor:pointer;border:0;text-align:left;font-family:var(--s);width:100%}
.map-stop:hover,.map-stop.on{background:var(--cream)}
.map-stop .n{flex:0 0 27px;height:27px;border-radius:50%;border:2px solid var(--clay);color:var(--clay);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;transition:.35s var(--e)}
.map-stop:hover .n,.map-stop.on .n{background:var(--gold);border-color:var(--gold);color:var(--scrim)}
.map-stop .t b{display:block;font-family:var(--d);font-weight:400;font-size:16px;color:var(--heading);margin-bottom:3px}
.map-stop .t span{font-size:12.5px;color:var(--ink-soft);line-height:1.55}
#it-included{background:var(--cream);padding:clamp(60px,9vh,110px) var(--pad)}
.inc-col h3{border-bottom:2px solid currentColor;padding-bottom:12px}
.inc-col.inc-yes h3{color:var(--acacia)}
.inc-col.inc-no h3{color:var(--clay)}
.inc-col li{color:var(--ink-soft);font-size:14.5px;padding-left:26px}
.inc-col.inc-yes li::before{color:var(--acacia)}
.inc-col.inc-no li::before{color:var(--clay)}
.it-day{background:var(--scrim)}
.it-day .scrim{background:linear-gradient(180deg,rgba(25,19,9,.14) 0%,rgba(25,19,9,.58) 62%,rgba(25,19,9,.93) 100%)}
.it-day .body{padding:0 var(--pad) 8vh;max-width:800px}
@media(min-width:880px){.it-day .body,#it-hero .inner{padding-left:calc(150px + var(--pad))}}
.arc-hero{background:var(--scrim);padding:clamp(120px,20vh,210px) var(--pad) clamp(56px,8vh,86px)}
.arc-eyebrow{color:var(--gold)}
.arc-hero h1{font-family:var(--d);font-weight:300;font-size:clamp(34px,5.4vw,68px);color:#fff;letter-spacing:-.03em;max-width:16ch;line-height:1.02}
.arc-lead{font-size:16px;color:rgba(232,220,187,.8)}
.arc-grid{background:var(--cream);padding:clamp(56px,8vh,100px) var(--pad) clamp(72px,11vh,140px);grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:clamp(18px,2.2vw,30px)}
.arc-card{background:var(--paper);border:1px solid rgba(51,43,34,.13);border-radius:4px;transition:transform .6s var(--e),box-shadow .6s var(--e),border-color .6s var(--e)}
.arc-card:hover{transform:translateY(-7px);box-shadow:0 26px 60px -26px rgba(51,41,29,.45);border-color:var(--sand-deep)}
.arc-card-img{aspect-ratio:4/3;background:var(--sand-deep);height:auto}
.arc-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s var(--e)}
.arc-card:hover .arc-card-img img{transform:scale(1.07)}
.arc-card h2{font-family:var(--d);font-weight:400;font-size:22px;color:var(--heading);letter-spacing:-.015em}
.arc-card p{color:var(--ink-soft);font-size:14px}
.arc-card-price{font-family:var(--d);font-size:19px;color:var(--clay);border-top:1px solid rgba(51,43,34,.12);padding-top:16px;margin-top:auto}
.site-footer{background:var(--scrim);padding:clamp(56px,8vh,90px) var(--pad) 34px}
.ft-col h4{color:var(--gold)}
.ft-col a:hover{color:var(--gold)}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.rt-line-draw{animation:none;stroke-dashoffset:0}}

/* ---- Missing-photo placeholders (added 2026-07-28) ---- */
.arc-card-img.no-img{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(160deg,#2a2721 0%,#3a352c 100%);
  min-height:220px;
}
.arc-card-img.no-img .no-img-note{
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.42);
  text-align:center;
  padding:0 1rem;
}
#it-hero.no-img{
  background:linear-gradient(160deg,#2a2721 0%,#3a352c 100%);
}
#it-hero.no-img .bg{display:none;}
#it-hero.no-img .scrim{opacity:.35;}

/* ---- Accommodation carousel on itinerary pages (added 2026-07-28) ---- */
#it-stays{
  padding:clamp(56px,8vw,104px) 0 clamp(48px,7vw,88px);
  background:var(--cream,#f4efe6);
}
#it-stays .ov-eyebrow,
#it-stays h2{
  padding:0 var(--pad,24px);
  max-width:1240px;
  margin-left:auto;
  margin-right:auto;
}
#it-stays h2{
  font-family:var(--d);
  font-weight:300;
  letter-spacing:-.025em;
  line-height:1.05;
  color:var(--heading);
  font-size:clamp(28px,4.2vw,52px);
  margin:10px auto 30px;
}
.stay-strip{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  padding:4px var(--pad,24px) 18px;
  max-width:1240px;
  margin:0 auto;
}
.stay-strip::-webkit-scrollbar{height:6px}
.stay-strip::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18);border-radius:4px}
.stay-card{
  flex:0 0 auto;
  width:clamp(190px,42vw,250px);
  scroll-snap-align:start;
  border:0;
  padding:0;
  background:none;
  cursor:pointer;
  text-align:left;
  font:inherit;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:transform .35s var(--e,ease);
}
.stay-card:hover{transform:translateY(-4px)}
.stay-card:focus-visible{outline:2px solid var(--tawny,#b08d57);outline-offset:4px}
.stay-img{
  display:block;
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:3px;
  background:linear-gradient(160deg,#2a2721 0%,#3a352c 100%);
}
.stay-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 1.1s var(--e,ease);
}
.stay-card:hover .stay-img img{transform:scale(1.05)}
.stay-card.no-img .stay-img{
  display:flex;
  align-items:center;
  justify-content:center;
}
.stay-card.no-img .no-img-note{
  font-size:.66rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.42);
  text-align:center;
  padding:0 .8rem;
}
.stay-name{
  font-size:14px;
  line-height:1.4;
  color:var(--ink,#221f1a);
  font-weight:500;
}
.stay-hint{
  padding:0 var(--pad,24px);
  max-width:1240px;
  margin:6px auto 0;
  font-size:12.5px;
  letter-spacing:.02em;
  color:var(--ink-soft,#6b6459);
}
.modal-more{margin:14px 0 0}
.modal-more a{
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
}
@media (max-width:640px){
  .stay-card{width:clamp(160px,58vw,210px)}
}

/* ---- Route map restyle: static, light, print-like (2026-07-28) ---- */
#itRouteMap{background:#f2efe9}
.it-map-pin span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#9a6b2f;
  color:#fff;
  font-size:13px;
  font-weight:600;
  line-height:1;
  border:2.5px solid #fff;
  box-shadow:0 1px 4px rgba(0,0,0,.32);
}
.it-map-label{pointer-events:none}
.it-map-label span{
  display:inline-block;
  white-space:nowrap;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.02em;
  color:#2f2a22;
  text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
}
.leaflet-container{font-family:inherit}

/* ---- Map: tall + narrow, vertical route beside it (2026-07-28) ---- */
#it-map .map-shell{
  display:grid;
  grid-template-columns:minmax(280px,600px) minmax(220px,1fr);
  gap:clamp(20px,3vw,44px);
  align-items:start;
  max-width:1080px;
  margin:0 auto;
}
#itRouteMap{
  height:clamp(500px,76vh,760px);
  border-radius:4px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.14);
}
@media(max-width:900px){
  #it-map .map-shell{grid-template-columns:1fr}
  #itRouteMap{height:clamp(420px,58vh,560px)}
}

/* Vertical route list */
.route-v{
  list-style:none;
  margin:0;
  padding:0;
  position:relative;
}
.route-v::before{
  content:"";
  position:absolute;
  left:15px;
  top:16px;
  bottom:16px;
  width:2px;
  background:repeating-linear-gradient(180deg,var(--tawny,#9a6b2f) 0 5px,transparent 5px 11px);
  opacity:.55;
}
.route-v-item{margin:0 0 4px}
.route-v-node{
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  background:none;
  border:0;
  padding:9px 8px;
  cursor:pointer;
  font-family:var(--s);
  text-align:left;
  border-radius:4px;
  transition:background .25s ease;
}
.route-v-node:hover{background:rgba(154,107,47,.09)}
.route-v-node:focus-visible{outline:2px solid var(--tawny,#9a6b2f);outline-offset:2px}
.rv-dot{
  position:relative;
  z-index:1;
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#fff;
  border:2px solid var(--tawny,#9a6b2f);
  color:var(--tawny,#9a6b2f);
  font-size:12.5px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}
.rv-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.rv-txt b{
  font-size:9.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--tawny,#9a6b2f);
  font-weight:700;
}
.rv-txt span{
  font-size:13.5px;
  font-weight:600;
  color:var(--heading,#221f1a);
  line-height:1.3;
}

/* Travelling dot along the route */
.it-map-dot i{
  display:block;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#C2410C;
  border:2.5px solid #fff;
  box-shadow:0 0 0 4px rgba(194,65,12,.26),0 1px 5px rgba(0,0,0,.35);
  animation:big5DotPulse 1.9s ease-in-out infinite;
}
@keyframes big5DotPulse{
  0%,100%{box-shadow:0 0 0 4px rgba(194,65,12,.26),0 1px 5px rgba(0,0,0,.35)}
  50%{box-shadow:0 0 0 9px rgba(194,65,12,.10),0 1px 5px rgba(0,0,0,.35)}
}
@media (prefers-reduced-motion: reduce){
  .it-map-dot i{animation:none}
}

/* ---- Itinerary text legibility: heavier overlay, white type ---- */
.it-day .scrim{
  background:linear-gradient(180deg,rgba(10,8,5,.30) 0%,rgba(10,8,5,.66) 52%,rgba(10,8,5,.94) 100%);
}
.it-day .body::before{
  content:"";
  position:absolute;
  inset:-30px -38px -22px -38px;
  z-index:-1;
  pointer-events:none;
  border-radius:8px;
  background:linear-gradient(to top,rgba(8,6,4,.86) 0%,rgba(8,6,4,.60) 55%,rgba(8,6,4,0) 100%);
}
.it-day h2{color:#fff}
.it-day .desc{color:rgba(255,255,255,.93)}
.it-day .place{color:#F0A93E}

#it-hero .scrim{
  background:linear-gradient(180deg,rgba(10,8,5,.42) 0%,rgba(10,8,5,.60) 55%,rgba(10,8,5,.94) 100%);
}
#it-hero .inner::before{
  content:"";
  position:absolute;
  inset:-30px -38px -24px -38px;
  z-index:-1;
  pointer-events:none;
  border-radius:8px;
  background:linear-gradient(to top,rgba(8,6,4,.80) 0%,rgba(8,6,4,.52) 60%,rgba(8,6,4,0) 100%);
}
#it-hero .inner{position:relative}
#it-hero h1{color:#fff}
#it-hero .brief{color:rgba(255,255,255,.93)}
#it-hero .meta span{color:rgba(255,255,255,.88)}

/* ---- Overlay rebuild (2026-07-28b) ----
 * The previous version put a fixed-size gradient box behind the text block,
 * whose right edge showed as a hard black line. Replaced with full-section
 * gradients that have no boundary anywhere in frame.
 */
.it-day .body::before{content:none !important}
#it-hero .inner::before{content:none !important}

.it-day .scrim{
  background:
    linear-gradient(101deg,
      rgba(8,6,4,.92) 0%,
      rgba(8,6,4,.80) 22%,
      rgba(8,6,4,.52) 44%,
      rgba(8,6,4,.18) 64%,
      rgba(8,6,4,0) 82%),
    linear-gradient(180deg,
      rgba(8,6,4,.34) 0%,
      rgba(8,6,4,.30) 40%,
      rgba(8,6,4,.72) 82%,
      rgba(8,6,4,.92) 100%);
}
#it-hero .scrim{
  background:
    linear-gradient(101deg,
      rgba(8,6,4,.88) 0%,
      rgba(8,6,4,.74) 24%,
      rgba(8,6,4,.44) 48%,
      rgba(8,6,4,.12) 68%,
      rgba(8,6,4,0) 84%),
    linear-gradient(180deg,
      rgba(8,6,4,.40) 0%,
      rgba(8,6,4,.34) 42%,
      rgba(8,6,4,.76) 84%,
      rgba(8,6,4,.94) 100%);
}
/* Narrow screens: text spans the full width, so lead with the vertical wash. */
@media(max-width:760px){
  .it-day .scrim,
  #it-hero .scrim{
    background:linear-gradient(180deg,
      rgba(8,6,4,.30) 0%,
      rgba(8,6,4,.46) 38%,
      rgba(8,6,4,.82) 74%,
      rgba(8,6,4,.95) 100%);
  }
}

/* ---- Day marker: large, unboxed, at the entrance of each day ---- */
.it-day .badge{display:none}
.it-day .day-marker{
  position:absolute;
  top:clamp(84px,13vh,132px);
  left:var(--pad,24px);
  z-index:3;
  display:flex;
  align-items:baseline;
  gap:clamp(10px,1.1vw,16px);
  color:#F0A93E;
  text-shadow:0 2px 22px rgba(0,0,0,.72),0 1px 4px rgba(0,0,0,.55);
  pointer-events:none;
}
@media(min-width:880px){
  .it-day .day-marker{left:calc(150px + var(--pad,24px))}
}
@media(max-width:760px){
  .it-day .day-marker{top:92px;gap:9px}
}
.dm-label{
  font-family:var(--s);
  font-size:clamp(10px,.9vw,12.5px);
  letter-spacing:.34em;
  text-transform:uppercase;
  font-weight:700;
  opacity:.92;
  transform:translateY(-.15em);
}
.dm-num{
  font-family:var(--d);
  font-weight:300;
  font-size:clamp(52px,8vw,104px);
  line-height:.82;
  letter-spacing:-.045em;
}
.dm-rule{
  width:clamp(26px,3.4vw,58px);
  height:2px;
  background:currentColor;
  opacity:.55;
  transform:translateY(-.45em);
}
.dm-of{
  font-family:var(--s);
  font-size:clamp(13px,1.25vw,17px);
  font-weight:600;
  letter-spacing:.1em;
  opacity:.78;
  transform:translateY(-.35em);
}

/* The number lifts in as each day scrolls into view. */
.it-day .day-marker{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .8s var(--e,ease),transform .8s var(--e,ease);
}
.it-day.day-seen .day-marker{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion: reduce){
  .it-day .day-marker{opacity:1;transform:none;transition:none}
}

/* ---- Smaller trip cards, more per row (2026-07-28) ---- */
.pkg-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(268px,1fr));
  gap:clamp(16px,1.8vw,26px);
}
.pkg-img{aspect-ratio:4/3;overflow:hidden}
.pkg-img img{width:100%;height:100%;object-fit:cover;display:block}
.pkg-body{padding:16px 16px 18px}
.pkg-body h3{font-size:clamp(15px,1.25vw,18px);line-height:1.28;margin:6px 0 0}
.pkg-body p{font-size:13px;line-height:1.6;margin:8px 0 0}
.pkg-where{font-size:9.5px;letter-spacing:.18em}
.pkg-foot{margin-top:14px}
.pkg-price{font-size:15px}
.pkg-days{font-size:9.5px;padding:5px 9px}

.arc-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(272px,1fr));
  gap:clamp(16px,1.8vw,26px);
}
.arc-card-img{aspect-ratio:4/3;overflow:hidden}
.arc-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.arc-card-body{padding:16px 16px 18px}
.arc-card-body h2{font-size:clamp(15px,1.3vw,19px);line-height:1.28}
.arc-card-body p{font-size:13px;line-height:1.6}
.arc-card-price{font-size:14.5px}

@media(max-width:520px){
  .pkg-grid,.arc-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}
}

/* ---- Package filter bar (2026-07-28) ---- */
.pkg-filter{
  max-width:1240px;
  margin:0 auto;
  padding:0 var(--pad,24px) 26px;
}
.pf-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px 18px;
  align-items:end;
}
.pf-row-price{
  margin-top:16px;
  grid-template-columns:minmax(220px,2fr) auto 1fr;
  align-items:center;
}
.pf-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.pf-field>span{
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--tawny,#9a6b2f);
}
.pf-field>span b{font-weight:600;letter-spacing:.04em;text-transform:none;font-size:12px;color:var(--ink-soft,#6b6459)}
.pf-field select{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  font:inherit;
  font-size:14px;
  color:var(--heading,#221f1a);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239a6b2f' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;
  border:1px solid rgba(0,0,0,.16);
  border-radius:3px;
  padding:11px 36px 11px 13px;
  cursor:pointer;
}
.pf-field select:focus-visible{outline:2px solid var(--tawny,#9a6b2f);outline-offset:1px}
.pf-price input[type=range]{
  width:100%;
  accent-color:var(--tawny,#9a6b2f);
  cursor:pointer;
}
.pf-reset{
  font:inherit;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--tawny,#9a6b2f);
  background:none;
  border:1px solid rgba(154,107,47,.4);
  border-radius:3px;
  padding:10px 16px;
  cursor:pointer;
  white-space:nowrap;
  transition:background .25s ease;
}
.pf-reset:hover{background:rgba(154,107,47,.09)}
.pf-count{
  margin:0;
  text-align:right;
  font-size:12.5px;
  letter-spacing:.04em;
  color:var(--ink-soft,#6b6459);
}
.pf-empty{
  max-width:1240px;
  margin:0 auto;
  padding:10px var(--pad,24px) 70px;
  font-size:15px;
  color:var(--ink-soft,#6b6459);
}
.pf-empty a{border-bottom:1px solid currentColor}
.arc-card[hidden]{display:none !important}
@media(max-width:640px){
  .pf-row-price{grid-template-columns:1fr;align-items:stretch}
  .pf-count{text-align:left}
}

/* Destination photo strip reuses the lodge carousel, minus the pointer. */
#dest-gallery{padding:clamp(48px,7vw,86px) 0;background:var(--sand,#f4efe6)}
#dest-gallery .ov-eyebrow,#dest-gallery h2{max-width:1240px;margin-left:auto;margin-right:auto;padding:0 var(--pad,24px)}
#dest-gallery h2{font-family:var(--d);font-weight:300;font-size:clamp(24px,3.4vw,40px);color:var(--heading);margin:8px auto 26px;letter-spacing:-.02em}

/* ---- Trip-card destinations line, replacing the old excerpt (2026-07-28) ---- */
.pkg-dests{
  font-size:12.5px;
  line-height:1.55;
  color:var(--ink-soft,#6b6459);
  margin:8px 0 0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ---- Trip-card polish (2026-07-28c) ----
 * Fixes a real bug: .arc-card-price/.pkg-price used margin-top:auto to sit at
 * the card bottom, but the parent body was display:block, so auto-margins did
 * nothing and the price's border-top line overlapped the line above it by a
 * few pixels - reading as an underline beneath the destinations text. Making
 * the body a flex column is what actually fixes that, not just hiding a border.
 */
.pkg-body,
.arc-card-body{
  display:flex;
  flex-direction:column;
}
.pkg-foot,
.arc-card-price{
  margin-top:auto;
  padding-top:14px;
}

/* White cards on the creamy site background, with a permanent soft shadow
 * that deepens on hover so the grid reads as a stack of cards, not a wash. */
.pkg,
.arc-card{
  background:#ffffff;
  box-shadow:0 10px 28px -18px rgba(51,41,29,.28);
}
.pkg:hover,
.arc-card:hover{
  box-shadow:0 26px 60px -22px rgba(51,41,29,.42);
}

/* Heavier title weight so it reads as the primary line on the card. */
.pkg h3,
.pkg-body h3,
.arc-card h2,
.arc-card-body h2{
  font-weight:600;
}

/* Destinations: smaller, in the brand gold, no underline, capped at two lines. */
.pkg-dests{
  font-size:11.5px;
  line-height:1.5;
  color:var(--tawny,#9a6b2f);
  font-weight:600;
  letter-spacing:.01em;
  text-decoration:none;
  margin:6px 0 0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ---- Destinations line: specificity fix (2026-07-28d) ----
 * The earlier .pkg-dests rule (specificity 0,1,0) was silently losing to
 * .arc-card-body p (0,2,1) and .arc-card p (0,1,1) despite being later in
 * the file - CSS specificity beats source order. Re-declared here with
 * matching-or-higher specificity so it actually wins.
 */
.arc-card-body p.pkg-dests,
.pkg-body p.pkg-dests,
.arc-card p.pkg-dests,
.pkg p.pkg-dests{
  font-size:11.5px;
  line-height:1.5;
  color:var(--tawny,#9a6b2f);
  font-weight:600;
  letter-spacing:.01em;
  text-decoration:none;
  margin:6px 0 0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ---- Destinations line: label vs. list, clearly distinct (2026-07-28e) ---- */
.arc-card-body p.pkg-dests,
.pkg-body p.pkg-dests,
.arc-card p.pkg-dests,
.pkg p.pkg-dests{
  font-size:11.5px;
  line-height:1.5;
  font-weight:600;
  letter-spacing:.01em;
  text-decoration:none;
  margin:6px 0 0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:var(--ink,#221f1a);
}
.pkg-dests-label{
  color:var(--tawny,#9a6b2f);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:10px;
  font-weight:700;
  margin-right:4px;
}
.pkg-dests-list{
  color:var(--ink,#221f1a);
  font-weight:600;
}

/* ---- Archive hero: less height, less black, and a real gap into the
   filter bar instead of the filter starting flush at the color change
   (2026-07-28e) ---- */
.arc-hero{
  padding:clamp(64px,9vh,110px) var(--pad) clamp(34px,5vh,52px) !important;
}
.pkg-filter{
  padding-top:30px !important;
}

/* ---- Shrink every dark hero site-wide, except the homepage video stage
   (.stage is untouched) (2026-07-28f) ----
 * .arc-hero  -> archive-itinerary, archive-destination, archive-accommodation,
 *               page-about, page-faqs
 * #it-hero   -> single-itinerary, single-destination, single-accommodation,
 *               country-body (Kenya/Tanzania/Uganda pages)
 * .contact-hero -> page-contact
 */
.arc-hero{
  padding:clamp(44px,6vh,76px) var(--pad) clamp(22px,3.5vh,36px) !important;
}
.pkg-filter{
  padding-top:26px !important;
}

#it-hero{
  min-height:0 !important;
  height:clamp(420px,58vh,600px) !important;
}
#it-hero .inner{
  padding:clamp(48px,7vh,84px) var(--pad) clamp(32px,5vh,52px) !important;
}

.contact-hero{
  padding:clamp(48px,7vh,84px) 7vw clamp(28px,4vh,44px) !important;
}
