/* ==========================================================================
   Serengeti Holiday Safaris - Luxury layer
   Loaded after style.css (and homepage-v2.css). Gold / ebony / cream palette,
   royal typography, motion, full-screen title-only heroes, premium footer.
   Photos are always shown in natural colour: no dark overlays anywhere.
   ========================================================================== */
:root{
  --lux-gold:#C6A15B;
  --lux-gold-light:#E4CC94;
  --lux-gold-deep:#9C7A3C;
  --lux-ebony:#16110C;
  --lux-ebony-2:#221A12;
  --lux-cream:#F8F3EA;
  --lux-ivory:#FCFAF5;
  --lux-line:#E8DCC4;
  --lux-display:'Cormorant Garamond', Georgia, serif;
  --lux-royal:'Cinzel', 'Cormorant Garamond', serif;
  --lux-script:'Pinyon Script', cursive;
  --lux-body:'Jost', 'Josefin Sans', system-ui, sans-serif;
  --lux-ease:cubic-bezier(.22,.61,.36,1);
  --lux-ease-out:cubic-bezier(.16,1,.3,1);
  /* re-map the site's own palette */
  --primary:#C6A15B;
  --secondary:#9C7A3C;
  --cream:#F8F3EA;
  --bg-lite:#F8F3EA;
  --heading:#221A12;
  --body-text:#62584A;
  --border:#E8DCC4;
}
html.lux-on body.lux .safari-home{
  --sh-dark:#16110C; --sh-dark-2:#221A12; --sh-terracotta:#C6A15B; --sh-terracotta-deep:#9C7A3C;
  --sh-cream:#F8F3EA; --sh-ivory:#FCFAF5; --sh-heading:#221A12; --sh-body:#62584A; --sh-border:#E8DCC4; --sh-gold:#C6A15B;
}
html{overflow-x:clip;scroll-behavior:smooth;}
body.lux{overflow-x:clip;font-family:var(--lux-body);font-weight:400;color:var(--body-text);font-size:16.5px;line-height:1.75;background:#fff;-webkit-font-smoothing:antialiased;}
body.lux ::selection{background:var(--lux-gold);color:#fff;}

/* ---------- Typography ---------- */
body.lux h1,body.lux h2,body.lux h3,body.lux h4{font-family:var(--lux-display);color:var(--heading);letter-spacing:.2px;}
body.lux h1,body.lux h2{font-weight:500;}
body.lux h2{font-size:clamp(34px,4.2vw,52px);line-height:1.1;}
body.lux h3{font-weight:600;}
body.lux .accent-word,body.lux h2 em,body.lux h1 em{font-style:italic;color:var(--lux-gold-deep);font-family:var(--lux-display);}
body.lux .eyebrow,body.lux .safari-home .eyebrow-2,body.lux .sh-badge-pill{
  font-family:var(--lux-royal);font-weight:500;letter-spacing:4px;font-size:12px;text-transform:uppercase;
  color:var(--lux-gold-deep);display:inline-flex;align-items:center;gap:14px;background:none;border:0;padding:0;border-radius:0;margin-bottom:16px;}
body.lux .eyebrow::before,body.lux .eyebrow::after,body.lux .safari-home .eyebrow-2::after,body.lux .sh-badge-pill::before,body.lux .sh-badge-pill::after{content:"";width:28px;height:1px;background:currentColor;opacity:.6;}
body.lux .safari-home .eyebrow-2 svg{display:none;}
body.lux .section-head{margin-bottom:56px;max-width:760px;}
body.lux .section-head h2{font-size:clamp(34px,4.2vw,52px);margin-top:4px;}
body.lux .section-head .eyebrow{justify-content:center;}
.lux-ornament{display:block;margin:18px auto 0;width:120px;height:14px;color:var(--lux-gold);}
body.lux a{transition:color .35s var(--lux-ease);}
body.lux .section{padding:110px 0;}
body.lux .section-lite{background:var(--lux-cream);}

/* ---------- Buttons ---------- */
body.lux .btn-primary,body.lux .btn-outline,body.lux .btn-cta,body.lux .sh-hf-submit,body.lux .quote-card .form-submit-btn,body.lux .btn-fill-sm,body.lux .btn-outline-sm,body.lux .act-view{
  position:relative;overflow:hidden;isolation:isolate;border-radius:0 !important;font-family:var(--lux-royal);font-weight:500;text-transform:uppercase;
  letter-spacing:2.5px;font-size:12.5px;padding:17px 38px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;text-decoration:none;
  transition:color .5s var(--lux-ease),border-color .5s var(--lux-ease),background .5s var(--lux-ease),transform .4s var(--lux-ease),box-shadow .5s var(--lux-ease);}
body.lux .btn-primary::before,body.lux .btn-outline::before,body.lux .btn-cta::before,body.lux .sh-hf-submit::before,body.lux .quote-card .form-submit-btn::before,body.lux .btn-fill-sm::before,body.lux .btn-outline-sm::before,body.lux .act-view::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--lux-ebony);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--lux-ease-out);}
body.lux .btn-primary:hover::before,body.lux .btn-outline:hover::before,body.lux .btn-cta:hover::before,body.lux .sh-hf-submit:hover::before,body.lux .quote-card .form-submit-btn:hover::before,body.lux .btn-fill-sm:hover::before,body.lux .btn-outline-sm:hover::before,body.lux .act-view:hover::before{transform:scaleX(1);transform-origin:left;}
body.lux .btn-primary::after,body.lux .btn-cta::after,body.lux .sh-hf-submit::after,body.lux .quote-card .form-submit-btn::after,body.lux .btn-fill-sm::after{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;z-index:1;pointer-events:none;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);}
body.lux .btn-primary:hover::after,body.lux .btn-cta:hover::after,body.lux .sh-hf-submit:hover::after,body.lux .quote-card .form-submit-btn:hover::after,body.lux .btn-fill-sm:hover::after{animation:lux-shine .9s var(--lux-ease);}
body.lux .btn-primary:hover,body.lux .btn-outline:hover,body.lux .btn-cta:hover,body.lux .sh-hf-submit:hover,body.lux .quote-card .form-submit-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(22,17,12,.45);}
body.lux .btn-primary,body.lux .sh-hf-submit,body.lux .quote-card .form-submit-btn,body.lux .btn-cta{background:var(--lux-gold) !important;border:1px solid var(--lux-gold) !important;color:#fff !important;}
body.lux .btn-primary:hover,body.lux .sh-hf-submit:hover,body.lux .quote-card .form-submit-btn:hover,body.lux .btn-cta:hover{color:#fff !important;border-color:var(--lux-ebony) !important;}
body.lux .btn-outline{background:transparent !important;border:1px solid var(--lux-ebony) !important;color:var(--lux-ebony) !important;}
body.lux .btn-outline:hover{color:#fff !important;}
body.lux .sh-cta-band .btn-outline{border-color:rgba(255,255,255,.7) !important;color:#fff !important;}
body.lux .sh-cta-band .btn-outline::before{background:#fff;}
body.lux .sh-cta-band .btn-outline:hover{color:var(--lux-ebony) !important;}
body.lux .btn-outline-sm,body.lux .btn-fill-sm{padding:13px 10px !important;font-size:10.5px !important;letter-spacing:1.8px !important;}
body.lux .btn-outline-sm{border:1px solid var(--lux-ebony) !important;color:var(--lux-ebony) !important;background:transparent !important;}
body.lux .btn-outline-sm:hover{color:#fff !important;}
body.lux .btn-fill-sm{background:var(--lux-gold) !important;border:1px solid var(--lux-gold) !important;color:#fff !important;}
body.lux .btn-fill-sm:hover{border-color:var(--lux-ebony) !important;}
body.lux .act-view{padding:13px 24px !important;font-size:11px !important;letter-spacing:2px !important;background:transparent !important;border:1px solid var(--lux-ebony) !important;color:var(--lux-ebony) !important;border-radius:0 !important;}
body.lux .act-view:hover{color:#fff !important;}
@keyframes lux-shine{from{left:-75%}to{left:130%}}

/* ---------- Top bar + header (transparent over the hero, solid on scroll) ---------- */
body.lux .top-bar{position:fixed;top:0;left:0;right:0;z-index:1001;background:var(--lux-ebony);color:rgba(255,255,255,.75);font-size:12.5px;letter-spacing:.6px;
  transition:transform .5s var(--lux-ease-out);height:38px;display:flex;align-items:center;padding:0;}
body.lux .top-bar .container{display:flex;align-items:center;justify-content:space-between;width:100%;}
body.lux .top-bar a{color:var(--lux-gold-light);font-family:var(--lux-royal);font-size:11.5px;letter-spacing:2px;text-transform:uppercase;}
body.lux .top-bar .trust-badges{display:flex;gap:26px;}
body.lux .site-header{position:fixed;top:38px;left:0;right:0;z-index:1000;background:transparent;box-shadow:none;border:0;
  transition:top .5s var(--lux-ease-out),background .5s var(--lux-ease),box-shadow .5s var(--lux-ease),backdrop-filter .5s;}
body.lux .header-inner{max-width:1360px;padding:18px 34px;transition:padding .5s var(--lux-ease-out);}
body.lux .logo-img{max-height:62px;width:auto;filter:brightness(0) invert(1) drop-shadow(0 2px 10px rgba(0,0,0,.35));transition:filter .5s,max-height .5s var(--lux-ease-out);}
body.lux .main-nav{gap:34px;}
body.lux .main-nav > a,body.lux .main-nav .dropdown-toggle{position:relative;font-family:var(--lux-royal);font-weight:500;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;white-space:nowrap;color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.55),0 2px 14px rgba(0,0,0,.35);}
body.lux .main-nav > a::after,body.lux .main-nav .dropdown-toggle::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--lux-gold-light);transform:scaleX(0);transition:transform .5s var(--lux-ease-out);}
body.lux .main-nav > a:hover::after,body.lux .main-nav > a.active::after,body.lux .main-nav .dropdown:hover .dropdown-toggle::after{transform:scaleX(1);}
body.lux .main-nav > a:hover,body.lux .main-nav > a.active,body.lux .main-nav .dropdown-toggle:hover{color:var(--lux-gold-light);}
body.lux .dropdown-menu{border-radius:0;border:0;border-top:2px solid var(--lux-gold);background:var(--lux-ivory);padding:12px 0;margin-top:18px;min-width:250px;box-shadow:0 30px 60px -25px rgba(22,17,12,.45);}
body.lux .dropdown-menu::before{content:"";position:absolute;left:0;right:0;top:-22px;height:22px;}
body.lux .dropdown-menu a{font-family:var(--lux-display);font-size:19px;font-weight:500;color:var(--heading);padding:9px 24px;text-shadow:none;transition:color .3s,padding .4s var(--lux-ease-out),background .3s;}
body.lux .dropdown-menu a:hover{background:transparent;color:var(--lux-gold-deep);padding-left:32px;}
body.lux .btn-cta{padding:13px 26px;font-size:11px;letter-spacing:2px;}
body.lux .mobile-toggle{color:#fff;}
body.lux.is-scrolled .top-bar{transform:translateY(-100%);}
body.lux.is-scrolled .site-header,body.lux.no-hero .site-header{top:0;background:rgba(248,243,234,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 40px -20px rgba(22,17,12,.35);}
body.lux.no-hero .site-header{top:38px;}
body.lux.no-hero.is-scrolled .site-header{top:0;}
body.lux.is-scrolled .header-inner{padding-top:10px;padding-bottom:10px;}
body.lux.is-scrolled .logo-img,body.lux.no-hero .logo-img{filter:none;max-height:52px;}
body.lux.is-scrolled .main-nav > a,body.lux.is-scrolled .main-nav .dropdown-toggle,body.lux.no-hero .main-nav > a,body.lux.no-hero .main-nav .dropdown-toggle{color:var(--heading);text-shadow:none;}
body.lux.is-scrolled .main-nav > a:hover,body.lux.is-scrolled .main-nav > a.active,body.lux.no-hero .main-nav > a.active{color:var(--lux-gold-deep);}
body.lux.is-scrolled .main-nav > a::after,body.lux.no-hero .main-nav > a::after{background:var(--lux-gold);}
body.lux.is-scrolled .mobile-toggle,body.lux.no-hero .mobile-toggle{color:var(--heading);}
body.lux.no-hero{padding-top:150px;}

/* hamburger */
body.lux .mobile-toggle span{display:block;width:26px;height:1.5px;background:currentColor;margin:6px 0;transition:transform .45s var(--lux-ease-out),opacity .3s;box-shadow:0 1px 4px rgba(0,0,0,.25);}
body.lux .mobile-toggle.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
body.lux .mobile-toggle.is-open span:nth-child(2){opacity:0;}
body.lux .mobile-toggle.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

/* ---------- Page loader ---------- */
@keyframes lux-load{to{transform:translateX(100%)}}
@keyframes lux-fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.lux-loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:none;pointer-events:all;visibility:visible;opacity:1;transition:visibility 0s linear 1.6s;}
.lux-loader.is-done{visibility:hidden;pointer-events:none;opacity:1;}
.lux-loader-curtain{position:absolute;left:0;right:0;height:50.5%;background:radial-gradient(ellipse at 50% 100%,#241a10 0%,var(--lux-ebony) 70%);transition:transform 1.1s cubic-bezier(.76,0,.24,1) .35s;}
.lux-loader-top{top:0;}
.lux-loader-bottom{bottom:0;background:radial-gradient(ellipse at 50% 0%,#241a10 0%,var(--lux-ebony) 70%);}
.lux-loader.is-done .lux-loader-top{transform:translateY(-100%);}
.lux-loader.is-done .lux-loader-bottom{transform:translateY(100%);}
.lux-loader-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;max-width:520px;padding:0 28px;box-sizing:border-box;transition:opacity .45s ease,transform .6s var(--lux-ease-out);}
.lux-loader.is-done .lux-loader-inner{opacity:0;transform:scale(.96);}
.lux-loader-emblem{position:relative;width:150px;height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:26px;opacity:0;animation:lux-fade-up 1s .1s var(--lux-ease-out) forwards;}
.lux-loader-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);}
.lux-loader-ring circle{fill:none;}
.lux-ring-track{stroke:rgba(228,204,148,.16);stroke-width:1;}
.lux-ring-arc{stroke:var(--lux-gold-light);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:478;stroke-dashoffset:478;animation:lux-ring 1.5s var(--lux-ease-out) .2s forwards;}
.lux-ring-dots{stroke:rgba(228,204,148,.45);stroke-width:1;stroke-dasharray:1 7;animation:lux-spin 18s linear infinite;transform-origin:80px 80px;}
@keyframes lux-ring{to{stroke-dashoffset:0}}
@keyframes lux-spin{to{transform:rotate(360deg)}}
.lux-loader-logo{position:relative;max-width:104px;max-height:60px;width:auto;height:auto;filter:brightness(0) invert(1) drop-shadow(0 0 18px rgba(228,204,148,.35));}
.lux-loader-mono{font-family:var(--lux-script);font-size:72px;color:var(--lux-gold-light);line-height:1;}
.lux-loader-script{font-family:var(--lux-script);font-size:40px;line-height:1.1;color:var(--lux-gold-light);opacity:0;animation:lux-fade-up 1s .45s var(--lux-ease-out) forwards;}
.lux-loader-name{display:block;max-width:100%;margin-top:6px;font-family:var(--lux-royal);font-weight:500;font-size:14px;letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;line-height:1.7;color:#fff;opacity:0;animation:lux-fade-up 1s .6s var(--lux-ease-out) forwards;}
.lux-loader-line{display:block;width:170px;max-width:60%;height:1px;margin:22px auto 16px;background:rgba(228,204,148,.2);overflow:hidden;position:relative;}
.lux-loader-line::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--lux-gold-light),transparent);transform:translateX(-100%);animation:lux-load 1.4s var(--lux-ease) infinite;}
.lux-loader-place{font-family:var(--lux-royal);font-size:10px;letter-spacing:.3em;padding-left:.3em;text-transform:uppercase;color:rgba(228,204,148,.75);opacity:0;animation:lux-fade-up 1s .8s var(--lux-ease-out) forwards;}
.lux-quick .lux-loader-inner{display:none;}
.lux-quick .lux-loader-curtain{transition-delay:0s;transition-duration:.7s;}
@media (max-width:480px){
  .lux-loader-emblem{width:124px;height:124px;margin-bottom:22px;}
  .lux-loader-logo{max-width:86px;max-height:50px;}
  .lux-loader-script{font-size:34px;}
  .lux-loader-name{font-size:12px;letter-spacing:.3em;padding-left:.3em;}
  .lux-loader-place{font-size:8.5px;letter-spacing:.2em;padding-left:.2em;}
}
@media (prefers-reduced-motion:reduce){.lux-loader{display:none;}}

/* ---------- Full-screen royal hero (natural photo, title only) ---------- */
.lux-hero-full{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--lux-ebony);}
.lux-hero-media{position:absolute;inset:0;}
.lux-hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 7s var(--lux-ease-out);}
.is-ready .lux-hero-media img{transform:scale(1);}
.lux-hero-title{position:relative;z-index:2;padding:120px 20px 0;max-width:1200px;}
.lux-hero-script{display:block;font-family:var(--lux-script);font-weight:400;font-size:clamp(44px,6vw,92px);line-height:1.1;color:#fff;margin:0 0 -.1em;letter-spacing:0;text-transform:none;
  text-shadow:0 1px 2px rgba(0,0,0,.7),0 3px 14px rgba(0,0,0,.6),0 0 50px rgba(0,0,0,.45);}
body.lux .lux-hero-title h1{font-family:var(--lux-royal);font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(38px,6.6vw,104px);line-height:1.06;color:#fff;margin:0;max-width:none;
  text-shadow:0 2px 3px rgba(0,0,0,.55),0 6px 30px rgba(0,0,0,.5),0 0 90px rgba(0,0,0,.35);}
body.lux .lux-hero-title h1.is-long{font-size:clamp(30px,4.4vw,66px);letter-spacing:.08em;line-height:1.15;max-width:1100px;margin:0 auto;}
body.lux .lux-hero-title h1 em{font-style:normal;color:var(--lux-gold-light);font-family:inherit;}
.lux-hero-rule{display:block;width:140px;height:1px;margin:34px auto 0;background:linear-gradient(90deg,transparent,var(--lux-gold-light),transparent);box-shadow:0 1px 6px rgba(0,0,0,.4);}
.lux-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;}
.lux-word > span{display:inline-block;transform:translateY(105%);transition:transform 1.2s var(--lux-ease-out);}
.is-ready .lux-word > span{transform:none;}
.lux-fade{opacity:0;transform:translateY(24px);transition:opacity 1.2s var(--lux-ease-out) .5s,transform 1.2s var(--lux-ease-out) .5s;}
.is-ready .lux-fade{opacity:1;transform:none;}
.lux-scroll{position:absolute;left:50%;bottom:34px;z-index:3;transform:translateX(-50%);color:#fff;font-family:var(--lux-royal);font-size:10px;letter-spacing:4px;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:12px;opacity:.9;text-shadow:0 1px 4px rgba(0,0,0,.7);}
.lux-scroll:hover{color:var(--lux-gold-light);}
.lux-scroll span{width:1px;height:52px;background:rgba(255,255,255,.35);position:relative;overflow:hidden;}
.lux-scroll span::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--lux-gold-light);animation:lux-drip 2.2s var(--lux-ease) infinite;}
@keyframes lux-drip{to{top:110%}}
#after-hero{scroll-margin-top:70px;}
.lux-hero-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-top:26px;font-family:var(--lux-royal);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7),0 2px 14px rgba(0,0,0,.5);}
.lux-hero-meta span{display:inline-flex;align-items:center;gap:10px;}
.lux-hero-meta span + span::before{content:"";width:6px;height:6px;background:var(--lux-gold-light);transform:rotate(45deg);margin-right:16px;box-shadow:0 1px 4px rgba(0,0,0,.4);}

/* intro strip under heroes */
.lux-intro{padding:100px 0 20px;text-align:center;background:#fff;}
.lux-intro .eyebrow{justify-content:center;}
.lux-intro-lead{max-width:760px;margin:0 auto;font-family:var(--lux-display);font-size:clamp(22px,2.4vw,29px);line-height:1.5;color:var(--heading);font-style:italic;}

/* ---------- Reveal on scroll ---------- */
body.lux .reveal,body.lux .safari-home .reveal{opacity:0;transform:translateY(46px);transition:opacity 1.1s var(--lux-ease-out),transform 1.1s var(--lux-ease-out);transition-delay:var(--d,0s);}
body.lux .reveal.is-in,body.lux .safari-home .reveal.in-view,body.lux .safari-home .reveal.is-in{opacity:1;transform:none;}
body.lux .safari-home .reveal-delay-1{--d:.12s;} body.lux .safari-home .reveal-delay-2{--d:.24s;} body.lux .safari-home .reveal-delay-3{--d:.36s;}
@media (prefers-reduced-motion:reduce){body.lux .reveal{opacity:1 !important;transform:none !important;}}

/* ==========================================================================
   HOME
   ========================================================================== */
body.lux .safari-home .sh-section{padding:120px 0;}
body.lux .safari-home .sh-section-tight{padding:100px 0;}
body.lux .safari-home .sh-head h2,body.lux .safari-home h2{font-size:clamp(34px,4.2vw,54px) !important;line-height:1.1;margin-bottom:14px !important;}
body.lux .safari-home .sh-head.center{text-align:center;}
body.lux .safari-home .sh-head p{font-size:17px;color:var(--body-text);}

/* Welcome + quote (was the hero) */
body.lux .safari-home .sh-hero{background:var(--lux-cream);padding:120px 0 0;}
body.lux .safari-home .sh-hero-grid{align-items:center;gap:70px;}
body.lux .safari-home .sh-hero-arch,body.lux .safari-home .sh-hero-sunburst{display:none !important;}
body.lux .safari-home .sh-hero-visual{min-height:0;padding:0;}
body.lux .safari-home .sh-hero-quote-wrap{position:relative !important;inset:auto !important;left:auto !important;right:auto !important;bottom:auto !important;top:auto !important;transform:none !important;width:100% !important;max-width:none;margin:0;}
body.lux .safari-home .sh-hero-h{font-family:var(--lux-display);font-weight:500;font-size:clamp(38px,4.6vw,62px) !important;line-height:1.08;color:var(--heading);margin:0 0 22px;}
body.lux .safari-home .sh-hero-h .accent-word{color:var(--lux-gold-deep);}
body.lux .safari-home .sh-hero-content p.lead{font-family:var(--lux-display);font-style:italic;font-size:23px;line-height:1.5;color:var(--body-text);max-width:520px;}
body.lux .safari-home .sh-hero-buttons{display:flex;flex-wrap:wrap;gap:14px;}
body.lux .safari-home .sh-hero-stats{margin-top:44px;padding-top:30px;border-top:1px solid rgba(156,122,60,.25);gap:30px;}
body.lux .safari-home .sh-hero-stats .stat strong{font-family:var(--lux-display);font-size:22px;font-weight:600;color:var(--heading);}
body.lux .safari-home .sh-hero-stats .stat span{font-family:var(--lux-royal);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--lux-gold-deep);}
body.lux .safari-home .sh-hero-card{background:#fff;border-radius:0;padding:46px 42px 42px;border:0;box-shadow:0 50px 90px -45px rgba(22,17,12,.45);position:relative;}
body.lux .safari-home .sh-hero-card::before{content:"";position:absolute;inset:12px;border:1px solid rgba(198,161,91,.35);pointer-events:none;}
body.lux .safari-home .sh-hero-card h3{font-family:var(--lux-display);font-size:34px;font-weight:500;text-align:center;margin-bottom:26px;}
body.lux .safari-home .sh-hero-card h3::after{content:"";display:block;width:60px;height:1px;background:var(--lux-gold);margin:14px auto 0;}
body.lux .safari-home .sh-hf-field label{font-family:var(--lux-royal);font-weight:500;font-size:10px;letter-spacing:2px;color:var(--lux-gold-deep);}
body.lux .safari-home .sh-hf-field input,body.lux .safari-home .sh-hf-field select{border-radius:0;background:var(--lux-ivory);border:1px solid var(--lux-line);padding:13px 14px;font-family:var(--lux-body);font-size:14.5px;transition:border-color .3s,background .3s;}
body.lux .safari-home .sh-hf-field input:focus,body.lux .safari-home .sh-hf-field select:focus{border-color:var(--lux-gold);background:#fff;}
body.lux .safari-home .sh-hf-submit{width:100%;margin-top:18px;padding:18px;}
body.lux .safari-home .sh-partners-band{margin-top:110px;background:var(--lux-ebony);padding:30px 0;}
body.lux .safari-home .sh-partners-band .label{font-family:var(--lux-royal);letter-spacing:3px;color:var(--lux-gold-light);font-size:11px;}
body.lux .safari-home .sh-partners-band img{opacity:.75;transition:opacity .4s,transform .4s var(--lux-ease-out);}
body.lux .safari-home .sh-partners-band img:hover{opacity:1;transform:translateY(-3px);}

/* Destinations: arch covers */
body.lux .safari-home .sh-dest-band{background:var(--lux-ebony);}
body.lux .safari-home .sh-dest-band h2{color:#fff;}
body.lux .safari-home .sh-dest-band .accent-word{color:var(--lux-gold-light);-webkit-text-stroke:0;}
body.lux .safari-home .sh-dest-band .sh-head{text-align:center;max-width:760px;margin:0 auto 60px;}
body.lux .safari-home .sh-dest-band .sh-head p{color:rgba(255,255,255,.7);}
body.lux .safari-home .sh-dest-band .sh-badge-pill{color:var(--lux-gold-light);}
body.lux .safari-home .sh-dest-band .sh-scroll-row{gap:22px;padding:6px 4px 26px;justify-content:flex-start;scrollbar-color:rgba(228,204,148,.35) transparent;}
body.lux .safari-home .sh-dest-item{flex:0 0 clamp(170px,15.2vw,200px);}
body.lux .safari-home .sh-dest-photo{width:100%;height:auto;aspect-ratio:3/4;border-radius:999px 999px 0 0;border:0;margin:0 0 18px;position:relative;box-shadow:none;}
body.lux .safari-home .sh-dest-photo::after{content:"";position:absolute;inset:8px;border-radius:999px 999px 0 0;border:1px solid rgba(255,255,255,0);transition:border-color .6s var(--lux-ease);}
body.lux .safari-home .sh-dest-photo img{transition:transform 1.6s var(--lux-ease-out);}
body.lux .safari-home .sh-dest-item:hover .sh-dest-photo{transform:none;box-shadow:none;}
body.lux .safari-home .sh-dest-item:hover .sh-dest-photo img{transform:scale(1.1);}
body.lux .safari-home .sh-dest-item:hover .sh-dest-photo::after{border-color:rgba(255,255,255,.85);}
body.lux .safari-home .sh-dest-item .divider-tick{display:block;width:26px;height:1px;background:var(--lux-gold);margin:0 auto 12px;}
body.lux .safari-home .sh-dest-item .name{display:block;font-family:var(--lux-display);font-size:22px;font-weight:500;line-height:1.2;color:#fff;transition:color .4s;}
body.lux .safari-home .sh-dest-item:hover .name{color:var(--lux-gold-light);}
body.lux .safari-home .sh-dest-item .count{display:block;margin-top:6px;font-family:var(--lux-royal);font-size:10.5px;letter-spacing:2.5px;color:var(--lux-gold-light);}

/* About */
body.lux .safari-home .sh-about-grid{gap:90px;align-items:center;}
body.lux .safari-home .sh-about-img{position:relative;}
body.lux .safari-home .sh-about-img img{border-radius:999px 999px 0 0;aspect-ratio:4/5;object-fit:cover;width:100%;}
body.lux .safari-home .sh-about-img::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid rgba(198,161,91,.55);border-radius:999px 999px 0 0;z-index:-1;}
body.lux .safari-home .sh-about-img .badge{background:var(--lux-ebony);border-radius:0;left:auto;right:-26px;bottom:40px;padding:24px 30px;box-shadow:0 30px 60px -25px rgba(22,17,12,.6);color:#fff;border-top:2px solid var(--lux-gold);}
body.lux .safari-home .sh-about-img .badge strong{font-family:var(--lux-display);font-weight:500;color:var(--lux-gold-light);font-size:24px !important;}
body.lux .safari-home .sh-about-img .badge span{font-family:var(--lux-royal);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;}
body.lux .safari-home .sh-stats-row{margin:36px 0 40px;padding:28px 0;border-top:1px solid rgba(156,122,60,.25);border-bottom:1px solid rgba(156,122,60,.25);}
body.lux .safari-home .sh-stat strong{font-family:var(--lux-display);font-weight:500;font-size:54px;color:var(--lux-gold-deep);}
body.lux .safari-home .sh-stat span{font-family:var(--lux-royal);font-size:10.5px;letter-spacing:2.2px;color:var(--heading);}

/* Tours carousel */
body.lux .safari-home .sh-section-head-row{align-items:flex-end;}
body.lux .safari-home .sh-scroll-btn{width:54px;height:54px;border-radius:50%;border:1px solid rgba(22,17,12,.3);background:transparent;color:var(--heading);font-size:18px;transition:background .4s,color .4s,border-color .4s,transform .4s var(--lux-ease-out);}
body.lux .safari-home .sh-scroll-btn:hover{background:var(--lux-ebony);border-color:var(--lux-ebony);color:var(--lux-gold-light);transform:translateY(-3px);}
body.lux .safari-home .sh-tours-row{gap:28px;padding-bottom:30px;}

/* Why */
body.lux .safari-home .sh-why-grid{gap:90px;align-items:center;}
body.lux .safari-home .sh-why-grid img{border-radius:0;box-shadow:30px 30px 0 -1px var(--lux-cream);width:100%;aspect-ratio:4/3;object-fit:cover;}
body.lux .safari-home .sh-why-list{margin-top:30px;}
body.lux .safari-home .sh-why-list li{padding:16px 0;border-bottom:1px solid rgba(156,122,60,.2);font-size:16.5px;margin:0;}
body.lux .safari-home .sh-why-list .tick{background:transparent;border:1px solid var(--lux-gold);color:var(--lux-gold-deep);width:30px;height:30px;font-size:12px;}

/* Process */
body.lux .safari-home .sh-process-band{background:var(--lux-cream);}
body.lux .safari-home .sh-process-grid{gap:0;border:1px solid rgba(156,122,60,.25);}
body.lux .safari-home .sh-process-step{border-radius:0;border:0;border-right:1px solid rgba(156,122,60,.25);background:transparent;padding:54px 44px;transition:background .6s var(--lux-ease);}
body.lux .safari-home .sh-process-step:last-child{border-right:0;}
body.lux .safari-home .sh-process-step:hover{background:#fff;}
body.lux .safari-home .sh-process-step .num{font-family:var(--lux-royal);font-size:14px;letter-spacing:4px;opacity:1;color:var(--lux-gold-deep);margin-bottom:26px;display:flex;align-items:center;gap:14px;}
body.lux .safari-home .sh-process-step .num::after{content:"";flex:1;height:1px;background:rgba(156,122,60,.35);}
body.lux .safari-home .sh-process-step h3{font-size:30px;font-weight:500;margin-bottom:12px;}

/* Moments gallery: natural photos, label plates */
body.lux .safari-home .sh-gallery-grid{gap:14px;}
body.lux .safari-home .sh-gallery-item{border-radius:0;}
body.lux .safari-home .sh-gallery-item::after{display:none !important;}
body.lux .safari-home .sh-gallery-item img{transition:transform 1.6s var(--lux-ease-out);}
body.lux .safari-home .sh-gallery-item:hover img{transform:scale(1.07);}
body.lux .safari-home .sh-gallery-item .cap{left:16px;bottom:16px;background:var(--lux-ebony);padding:10px 18px 12px;font-family:var(--lux-display);font-size:19px;color:#fff;transition:background .5s var(--lux-ease);max-width:calc(100% - 32px);}
body.lux .safari-home .sh-gallery-item:hover .cap{background:var(--lux-gold-deep);}

/* Blog cards */
body.lux .sh-blog-grid{gap:34px;}
body.lux .sh-blog-grid .tour-card,body.lux .page-blog .tour-card{border-radius:0;background:#fff;box-shadow:none;}

/* CTA band: solid ebony panel */
body.lux .safari-home .sh-cta-band{border-radius:0;background:var(--lux-ebony);padding:80px 70px;position:relative;}
body.lux .safari-home .sh-cta-band::before{content:"";position:absolute;inset:14px;border:1px solid rgba(228,204,148,.25);pointer-events:none;}
body.lux .safari-home .sh-cta-band h2{color:#fff;font-size:clamp(32px,3.6vw,46px) !important;}
body.lux .safari-home .sh-cta-band p{color:rgba(255,255,255,.72);font-size:17px;}
body.lux .safari-home .sh-cta-actions{display:flex;gap:14px;flex-wrap:wrap;position:relative;}

/* ==========================================================================
   CARDS (tours + blog) - image in natural colour, title on a solid plate
   ========================================================================== */
body.lux .tour-card{border-radius:0;background:#fff;transition:transform .7s var(--lux-ease-out),box-shadow .7s var(--lux-ease-out);}
body.lux .tour-card:hover{transform:translateY(-8px);box-shadow:0 40px 60px -35px rgba(22,17,12,.45);}
body.lux .tour-card-img{border-radius:0;aspect-ratio:4/3;background-size:0 0 !important;position:relative;overflow:hidden;}
body.lux .tour-card-img::after{display:none !important;}
body.lux .tour-card-img .lux-card-bg,body.lux .tour-card > .img-wrap .lux-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.6s var(--lux-ease-out);}
body.lux .tour-card:hover .lux-card-bg{transform:scale(1.08);}
body.lux .tour-card-img-title{position:absolute;left:0;right:auto;bottom:0;max-width:calc(100% - 64px);padding:16px 20px 18px;background:var(--lux-ebony);transition:background .5s var(--lux-ease);}
body.lux .tour-card:hover .tour-card-img-title{background:var(--lux-ebony-2);}
body.lux .tour-card-img-title .days-badge{background:transparent;color:var(--lux-gold-light);padding:0;border-radius:0;font-family:var(--lux-royal);font-weight:500;font-size:10.5px;letter-spacing:2.5px;margin-bottom:6px;}
body.lux .tour-card-img-title h3{font-family:var(--lux-display);font-weight:500;font-size:22px;line-height:1.2;color:#fff;text-shadow:none;}
body.lux .tour-card-whatsapp{bottom:auto;top:14px;right:14px;width:44px;height:44px;box-shadow:0 8px 20px -6px rgba(0,0,0,.4);transition:transform .4s var(--lux-ease-out);}
body.lux .tour-card-whatsapp:hover{transform:scale(1.1);}
body.lux .tour-card-body{border:1px solid var(--lux-line);border-top:0;border-radius:0;padding:24px 22px 24px;}
body.lux .tour-card-price{font-family:var(--lux-display);font-size:30px;font-weight:600;color:var(--heading);line-height:1.1;margin-bottom:10px;}
body.lux .tour-card-price span{display:block;font-family:var(--lux-royal);font-weight:500;font-size:9.5px;letter-spacing:2.2px;color:var(--lux-gold-deep);margin:4px 0 0;}
body.lux .tour-card-visits{font-size:14px;margin-bottom:20px;}
body.lux .tour-card-visits strong{font-weight:500;}
body.lux .tour-card-actions{gap:10px;}
body.lux .tour-card > .img-wrap{border-radius:0;height:auto;aspect-ratio:4/3;background-size:0 0 !important;overflow:hidden;}
body.lux .tour-card > .img-wrap .cat-badge,body.lux .cat-badge{border-radius:0;background:var(--lux-ebony);font-family:var(--lux-royal);font-size:10.5px;letter-spacing:2.5px;padding:8px 14px;z-index:2;color:var(--lux-gold-light);}
body.lux .tour-card > .body{border:1px solid var(--lux-line);border-top:0;border-radius:0;padding:26px 26px 30px;}
body.lux .tour-card > .body h3{font-size:26px;font-weight:500;line-height:1.2;}
body.lux .tour-card > .body h3 a:hover{color:var(--lux-gold-deep) !important;}
body.lux .tour-grid{gap:40px 32px;}

/* ==========================================================================
   INNER PAGES
   ========================================================================== */
/* Tours archive */
body.lux .archive-layout{gap:50px;grid-template-columns:280px 1fr;}
body.lux .archive-sidebar{border-radius:0;border:0;background:var(--lux-cream);padding:34px 28px;top:110px;}
body.lux .archive-widget{border-color:rgba(156,122,60,.22);}
body.lux .archive-widget h4{font-family:var(--lux-royal);font-weight:500;font-size:12px;letter-spacing:3px;color:var(--lux-gold-deep);}
body.lux .archive-widget a{border-radius:0;font-size:15px;padding:9px 12px;color:var(--heading);transition:background .3s,color .3s,padding .4s var(--lux-ease-out);}
body.lux .archive-widget a:hover{background:#fff;padding-left:18px;}
body.lux .archive-widget a.active{background:var(--lux-ebony);color:var(--lux-gold-light);font-weight:500;}
body.lux .archive-reset{font-family:var(--lux-royal);letter-spacing:2px;font-size:11px;text-transform:uppercase;color:var(--lux-gold-deep);}
body.lux.page-tours .tour-grid{grid-template-columns:repeat(2,1fr);}

/* Single tour / destination / blog post */
body.lux .tour-single-layout{margin-top:0;padding:100px 0 60px;gap:70px;}
body.lux .tour-main h2,body.lux .prose h2{font-size:clamp(30px,3.2vw,42px);font-weight:500;}
body.lux .tour-facts{border-top:1px solid var(--lux-line);border-bottom:1px solid var(--lux-line);padding:26px 0;margin:0 0 50px;gap:30px;}
body.lux .tour-facts .fact{font-family:var(--lux-royal);font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--lux-gold-deep);background:none;border:0;padding:0;}
body.lux .tour-facts .fact strong{display:block;font-family:var(--lux-display);font-size:22px;letter-spacing:0;text-transform:none;font-weight:600;color:var(--heading);margin-bottom:4px;}
body.lux .prose{font-size:17px;line-height:1.85;}
body.lux .prose a{color:var(--lux-gold-deep);border-bottom:1px solid rgba(156,122,60,.35);}
body.lux .prose h3{font-size:26px;font-weight:500;margin:26px 0 10px;}
body.lux .itinerary-day{position:relative;padding:0 0 34px 0;margin:0 0 34px;border-bottom:1px solid var(--lux-line);gap:30px;}
body.lux .itinerary-day .day-num{width:110px;font-family:var(--lux-royal);font-size:13px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--lux-gold-deep);padding-top:6px;}
body.lux .itinerary-day h3{font-size:26px !important;font-weight:500;}
body.lux .inc-exc-grid{gap:40px;}
body.lux .inc-exc-grid ul{background:var(--lux-cream);padding:30px 30px 24px;}
body.lux .inc-exc-grid li{font-size:15.5px;padding:8px 0 8px 30px;border-bottom:1px solid rgba(156,122,60,.15);}
body.lux .inc-exc-grid .includes li::before{color:var(--lux-gold-deep);}
body.lux .inc-exc-grid .excludes li::before{color:#a0522d;}
body.lux .sidebar-box{top:110px;background:#fff;padding:34px 30px;box-shadow:0 40px 80px -45px rgba(22,17,12,.5);border-top:2px solid var(--lux-gold);}
body.lux .sidebar-box > div:first-child > div{font-family:var(--lux-display);font-size:40px !important;font-weight:600 !important;color:var(--heading) !important;}
body.lux .sidebar-box > div:first-child span{font-family:var(--lux-royal);font-size:10px !important;letter-spacing:2.2px;text-transform:uppercase;color:var(--lux-gold-deep) !important;}
body.lux .sidebar-box .btn-outline{width:100%;}
body.lux .quote-card{border-radius:0;box-shadow:none;padding:0;background:transparent;}
body.lux .contact-grid .quote-card{background:#fff;padding:46px 40px;box-shadow:0 50px 90px -45px rgba(22,17,12,.45);border-top:2px solid var(--lux-gold);}
body.lux .quote-card h3{font-family:var(--lux-display);font-size:30px;font-weight:500;}
body.lux .quote-card .form-field label{font-family:var(--lux-royal);font-weight:500;font-size:10px;letter-spacing:2px;color:var(--lux-gold-deep);}
body.lux .quote-card .form-field input,body.lux .quote-card .form-field select,body.lux .quote-card .form-field textarea{border-radius:0;background:var(--lux-ivory);border:1px solid var(--lux-line);padding:13px 14px;font-family:var(--lux-body);font-size:14.5px;}
body.lux .quote-card .form-field input:focus,body.lux .quote-card .form-field select:focus,body.lux .quote-card .form-field textarea:focus{outline:none;border-color:var(--lux-gold);background:#fff;}
body.lux .quote-card .form-submit-btn{width:100%;padding:18px;}
body.lux .contact-grid{gap:80px;margin-top:0;align-items:start;}
body.lux .contact-grid ul li{font-size:16px;padding:14px 0;border-bottom:1px solid var(--lux-line);margin:0 !important;}
body.lux .contact-grid ul li strong{display:block;font-family:var(--lux-royal);font-weight:500;font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--lux-gold-deep);}
body.lux .lux-page-cta{background:var(--lux-ebony);color:rgba(255,255,255,.75);text-align:center;}
body.lux .lux-page-cta h2{color:#fff;}
body.lux .lux-page-cta p{color:rgba(255,255,255,.72);}
body.lux .section-lite h2{font-size:clamp(32px,3.6vw,46px);}

/* Destination / blog post heading block */
.lux-article-head{text-align:center;margin-bottom:40px;}
.lux-article-head .eyebrow{justify-content:center;}
.lux-article-head h2{font-size:clamp(34px,4vw,50px);}

/* ==========================================================================
   Premium footer
   ========================================================================== */
body.lux .lux-footer.site-footer{position:relative;padding:0;background:var(--lux-ebony);color:rgba(255,255,255,.72);margin:0;}
.lux-foot-sky{position:relative;min-height:clamp(380px,46vw,620px);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
.lux-foot-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.lux-foot-sky-text{position:relative;z-index:2;padding:60px 20px;}
.lux-foot-script{display:block;font-family:var(--lux-script);font-size:clamp(46px,5.4vw,84px);line-height:1.1;color:#fff;margin-bottom:-.1em;
  text-shadow:0 1px 2px rgba(0,0,0,.7),0 3px 14px rgba(0,0,0,.6),0 0 50px rgba(0,0,0,.45);}
body.lux .lux-foot-title{font-family:var(--lux-royal) !important;font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(28px,3.8vw,58px) !important;line-height:1.1;color:#fff !important;margin:0;
  text-shadow:0 2px 3px rgba(0,0,0,.55),0 6px 30px rgba(0,0,0,.5),0 0 90px rgba(0,0,0,.35);}
.lux-foot-sky .lux-hero-rule{margin:24px auto 30px;}
.lux-foot-cta{box-shadow:0 18px 40px -16px rgba(0,0,0,.6);}
.lux-foot-ground{padding:80px 0 26px;background:var(--lux-ebony);}
.lux-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:50px;}
body.lux .lux-foot-grid h4{font-family:var(--lux-royal);font-weight:500;font-size:13px;letter-spacing:3.5px;text-transform:uppercase;color:var(--lux-gold-light);margin:0 0 24px;position:relative;padding-bottom:14px;}
.lux-foot-grid h4::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:1px;background:var(--lux-gold);}
.lux-foot-grid ul{list-style:none;margin:0;padding:0;}
.lux-foot-grid li{margin:0 0 12px;font-size:15.5px;line-height:1.5;}
.lux-foot-grid a{color:rgba(255,255,255,.78);position:relative;transition:color .4s,padding .4s var(--lux-ease-out);}
.lux-foot-grid ul a::before{content:"";position:absolute;left:-14px;top:50%;width:6px;height:6px;transform:translateY(-50%) rotate(45deg) scale(0);background:var(--lux-gold);transition:transform .4s var(--lux-ease-out);}
.lux-foot-grid ul a:hover{color:var(--lux-gold-light);padding-left:14px;}
.lux-foot-grid ul a:hover::before{transform:translateY(-50%) rotate(45deg) scale(1);left:0;}
.lux-foot-grid .lux-foot-contact a:hover{padding-left:0;}
.lux-foot-grid .lux-foot-contact a::before{display:none;}
.lux-foot-logo img{max-height:70px;width:auto;filter:brightness(0) invert(1);margin-bottom:20px;}
.lux-foot-brand p{font-family:var(--lux-display);font-style:italic;font-size:21px;line-height:1.45;color:rgba(255,255,255,.82);max-width:320px;}
.lux-foot-social{display:flex;gap:10px;margin-top:22px;}
.lux-foot-social a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(228,204,148,.45);display:flex;align-items:center;justify-content:center;color:var(--lux-gold-light);font-size:17px;transition:background .4s,color .4s,transform .4s var(--lux-ease-out);}
.lux-foot-social a:hover{background:var(--lux-gold);color:var(--lux-ebony);transform:translateY(-4px);}
.lux-foot-contact li{display:flex;gap:14px;align-items:flex-start;color:rgba(255,255,255,.6);font-size:13px;letter-spacing:.3px;}
.lux-foot-contact li a{font-size:15.5px;color:#fff;}
.lux-foot-contact .ic{flex:0 0 36px;height:36px;border-radius:50%;border:1px solid rgba(228,204,148,.35);display:flex;align-items:center;justify-content:center;color:var(--lux-gold-light);}
.lux-foot-ornament{color:var(--lux-gold);margin:56px 0 6px;}
.lux-foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(228,204,148,.14);padding-top:22px;font-size:13.5px;color:rgba(255,255,255,.55);}
.lux-foot-sign{font-family:var(--lux-royal);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--lux-gold-light);}
.lux-top{width:46px;height:46px;border-radius:50%;border:1px solid rgba(228,204,148,.5);background:transparent;color:var(--lux-gold-light);font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .4s,color .4s,transform .4s var(--lux-ease-out);}
.lux-top:hover{background:var(--lux-gold);color:var(--lux-ebony);transform:translateY(-4px);}

/* ---------- Mobile bottom bar ---------- */
body.lux .mobile-bottom-nav{background:var(--lux-ebony);border-top:1px solid rgba(228,204,148,.25);box-shadow:0 -10px 30px -12px rgba(0,0,0,.5);}
body.lux .mobile-bottom-nav a{color:rgba(255,255,255,.85);font-family:var(--lux-royal);font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;padding:10px 4px 12px;}
body.lux .mobile-bottom-nav a .icon{color:var(--lux-gold-light);filter:grayscale(1) brightness(1.6) sepia(.6);}

/* ---------- Floating section navigator (phones & tablets) ---------- */
.lux-secnav-pill{position:fixed;left:50%;bottom:22px;z-index:900;transform:translate(-50%,160%);display:none;align-items:center;gap:10px;max-width:calc(100vw - 120px);min-width:150px;
  padding:13px 20px 13px 18px;border:1px solid rgba(228,204,148,.55);border-radius:40px;background:var(--lux-ebony);color:#fff;box-shadow:0 18px 40px -12px rgba(0,0,0,.5);
  font-family:var(--lux-royal);font-size:11.5px;letter-spacing:2px;text-transform:uppercase;transition:transform .6s var(--lux-ease-out),background .3s;cursor:pointer;}
.lux-secnav-pill.is-shown{transform:translate(-50%,0);}
.lux-secnav-pill:active{background:var(--lux-gold-deep);}
.lux-secnav-pill .ico{flex:0 0 auto;width:16px;height:12px;position:relative;border-top:1px solid var(--lux-gold-light);border-bottom:1px solid var(--lux-gold-light);}
.lux-secnav-pill .ico::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--lux-gold-light);transform:translateY(-50%);}
.lux-secnav-pill .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lux-secnav-pill .cur{color:var(--lux-gold-light);}
.lux-secnav-backdrop{position:fixed;inset:0;z-index:1950;background:rgba(248,243,234,.55);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;}
.lux-secnav-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1960;background:var(--lux-cream);border-radius:22px 22px 0 0;box-shadow:0 -20px 50px -20px rgba(0,0,0,.4);
  padding:14px 22px calc(26px + env(safe-area-inset-bottom));max-height:78vh;overflow-y:auto;transform:translateY(105%);transition:transform .6s var(--lux-ease-out);}
.lux-secnav.is-open .lux-secnav-backdrop{opacity:1;visibility:visible;}
.lux-secnav.is-open .lux-secnav-sheet{transform:none;}
.lux-secnav-grip{width:44px;height:4px;border-radius:4px;background:rgba(156,122,60,.35);margin:0 auto 16px;}
.lux-secnav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.lux-secnav-head span{font-family:var(--lux-script);font-size:34px;color:var(--lux-gold-deep);line-height:1.2;}
.lux-secnav-close{width:44px;height:44px;border-radius:50%;border:1px solid rgba(22,17,12,.2);background:transparent;font-size:24px;line-height:1;color:var(--lux-ebony);}
.lux-secnav-list{list-style:none;margin:0;padding:0;}
.lux-secnav-list li + li{border-top:1px solid rgba(156,122,60,.18);}
.lux-secnav-list button{width:100%;display:flex;align-items:center;gap:16px;padding:15px 4px;background:none;border:0;text-align:left;color:var(--heading);font-family:var(--lux-display);font-size:22px;font-weight:500;cursor:pointer;}
.lux-secnav-list b{font-family:var(--lux-royal);font-weight:500;font-size:11px;letter-spacing:2px;color:var(--lux-gold-deep);min-width:24px;}
.lux-secnav-list button.is-active{color:var(--lux-gold-deep);}
.lux-secnav-list button.is-active::after{content:"";margin-left:auto;width:8px;height:8px;transform:rotate(45deg);background:var(--lux-gold);}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1180px){
  body.lux .main-nav{gap:22px;}
  body.lux .main-nav > a,body.lux .main-nav .dropdown-toggle{font-size:11px;letter-spacing:1.2px;}
  body.lux .header-inner{padding-left:24px;padding-right:24px;}
}
@media (max-width:991px){
  .lux-secnav-pill{display:inline-flex;}
  body.lux .lux-secnav-pill{bottom:78px;}
  .lux-foot-grid{grid-template-columns:1fr 1fr;gap:40px;}
  body.lux .safari-home .sh-about-grid,body.lux .safari-home .sh-why-grid{gap:60px;}
  body.lux .safari-home .sh-process-step{padding:40px 28px;}
  body.lux.page-tours .tour-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  body.lux .top-bar .trust-badges span:first-child{display:none;}
  body.lux .main-nav{position:fixed;top:0;left:0;right:0;bottom:0;height:100vh;height:100dvh;background:var(--lux-ebony);flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:90px 24px 100px;
    border:0;display:flex;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .5s var(--lux-ease),visibility .5s,transform .6s var(--lux-ease-out);z-index:-1;overflow-y:auto;}
  body.lux .main-nav.open{opacity:1;visibility:visible;transform:none;}
  body.lux .main-nav > a,body.lux .main-nav .dropdown-toggle{font-family:var(--lux-display);text-transform:none;letter-spacing:.5px;font-size:30px;color:#fff !important;text-shadow:none;padding:6px 0;}
  body.lux .main-nav > a.active{color:var(--lux-gold-light) !important;}
  body.lux .main-nav > a::after,body.lux .main-nav .dropdown-toggle::after{display:none;}
  body.lux .main-nav .dropdown{text-align:center;}
  body.lux .main-nav .dropdown-menu{position:static;display:none;background:transparent;box-shadow:none;border:0;margin:4px 0 8px;padding:0;min-width:0;}
  body.lux .main-nav .dropdown:hover .dropdown-menu,body.lux .main-nav .dropdown.is-open .dropdown-menu{display:block;}
  body.lux .main-nav .dropdown-menu a{color:var(--lux-gold-light);font-size:18px;padding:5px 0;text-align:center;}
  body.lux .main-nav .dropdown-menu a:hover{padding-left:0;}
  body.lux .mobile-toggle{position:relative;z-index:2;padding:8px;}
  body.lux .mobile-toggle.is-open{color:#fff !important;}
  body.lux .logo{position:relative;z-index:2;}
  body.lux:has(.main-nav.open) .logo-img{filter:brightness(0) invert(1);}
  body.lux:has(.main-nav.open) .site-header{top:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
  body.lux:has(.main-nav.open) .top-bar{transform:translateY(-100%);}
  body.lux:has(.main-nav.open) .btn-cta{visibility:hidden;}
  body.lux:has(.main-nav.open){overflow:hidden;}
  body.lux .btn-cta{padding:11px 16px;font-size:10px;letter-spacing:1.5px;margin-left:auto;margin-right:14px;}
  body.lux .safari-home .sh-hero-grid{grid-template-columns:1fr;gap:50px;}
  body.lux .safari-home .sh-about-grid,body.lux .safari-home .sh-why-grid{grid-template-columns:1fr;}
  body.lux .safari-home .sh-about-img{max-width:520px;margin:0 auto;}
  body.lux .safari-home .sh-about-img .badge{right:0;}
  body.lux .safari-home .sh-process-grid{grid-template-columns:1fr;}
  body.lux .safari-home .sh-process-step{border-right:0;border-bottom:1px solid rgba(156,122,60,.25);}
  body.lux .safari-home .sh-process-step:last-child{border-bottom:0;}
  body.lux .tour-single-layout{padding-top:70px;gap:50px;}
  body.lux .archive-layout{grid-template-columns:1fr;gap:30px;}
  body.lux .archive-sidebar{position:static;padding:22px 18px;}
  body.lux .archive-widget{padding-bottom:16px;margin-bottom:16px;}
  body.lux .archive-widget ul{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;}
  body.lux .archive-widget ul::-webkit-scrollbar{display:none;}
  body.lux .archive-widget li{flex:0 0 auto;margin:0;}
  body.lux .archive-widget a{white-space:nowrap;background:#fff;gap:8px;font-size:14px;}
  body.lux .archive-widget a:hover{padding-left:12px;}
  body.lux .safari-home .sh-dest-item{flex-basis:40vw;}
  body.lux .sidebar-box{position:static;}
}
@media (max-width:767px){
  body.lux{font-size:16px;}
  body.lux .section,body.lux .safari-home .sh-section{padding:76px 0;}
  body.lux .safari-home .sh-section-tight{padding:70px 0;}
  body.lux .safari-home .sh-hero{padding-top:76px;}
  body.lux .safari-home .sh-partners-band{margin-top:76px;}
  body.lux h2,body.lux .safari-home .sh-head h2,body.lux .safari-home h2{font-size:clamp(30px,8.4vw,40px) !important;}
  body.lux .safari-home .sh-hero-h{font-size:clamp(34px,9.6vw,46px) !important;}
  body.lux .safari-home .sh-hero-card{padding:36px 24px 30px;}
  body.lux .safari-home .sh-hero-buttons a{flex:1 1 100%;}
  body.lux .safari-home .sh-hero-stats{flex-wrap:wrap;gap:18px 26px;}
  body.lux .safari-home .sh-section-head-row{flex-direction:column;align-items:flex-start;gap:18px;}
  body.lux .safari-home .sh-dest-item{flex-basis:44vw;}
  body.lux .safari-home .sh-stat strong{font-size:40px;}
  body.lux .safari-home .sh-stats-row{gap:14px;}
  body.lux .safari-home .sh-cta-band{padding:54px 26px;}
  body.lux .safari-home .sh-cta-actions a{flex:1 1 100%;}
  body.lux .safari-home .sh-why-grid img{box-shadow:16px 16px 0 -1px var(--lux-cream);}
  body.lux .safari-home .sh-gallery-item .cap{font-size:16px;padding:8px 12px 9px;}
  body.lux .btn-primary,body.lux .btn-outline{padding:15px 26px;}
  body.lux .header-inner{padding:12px 16px;}
  body.lux .logo-img{max-height:46px;}
  body.lux.is-scrolled .logo-img,body.lux.no-hero .logo-img{max-height:42px;}
  body.lux.page-tours .tour-grid,body.lux .tour-grid{grid-template-columns:1fr;}
  body.lux .archive-sidebar{padding:24px 20px;}
  body.lux .itinerary-day{flex-direction:column;gap:6px;}
  body.lux .itinerary-day .day-num{width:auto;}
  body.lux .inc-exc-grid{grid-template-columns:1fr;gap:20px;}
  body.lux .contact-grid{gap:50px;}
  body.lux .contact-grid .quote-card{padding:34px 22px;}
  .lux-hero-title{padding-top:90px;}
  body.lux .lux-hero-title h1{letter-spacing:.07em;font-size:clamp(32px,10.4vw,54px);}
  body.lux .lux-hero-title h1.is-long{font-size:clamp(26px,7.6vw,40px);letter-spacing:.05em;}
  .lux-hero-script{font-size:clamp(40px,12vw,60px);}
  .lux-hero-meta{font-size:10.5px;letter-spacing:2px;gap:8px 16px;}
  .lux-hero-meta span + span::before{margin-right:8px;}
  .lux-intro{padding:70px 0 10px;}
  .lux-foot-sky{min-height:92vw;}
  .lux-foot-grid{grid-template-columns:1fr 1fr;gap:34px 20px;}
  .lux-foot-brand{grid-column:1 / -1;text-align:center;}
  .lux-foot-brand p{margin:0 auto;}
  .lux-foot-social{justify-content:center;}
  .lux-foot-grid > div:last-child{grid-column:1 / -1;}
  .lux-foot-grid li{margin:0 0 4px;}
  .lux-foot-grid ul a{display:inline-block;padding:7px 0;}
  .lux-foot-contact li{margin-bottom:12px;}
  .lux-foot-bottom{flex-direction:column;text-align:center;gap:12px;padding-bottom:80px;}
}
@media (max-width:420px){
  body.lux .btn-cta{display:none;}
}
@media (min-width:1100px){
  body.lux .safari-home .sh-dest-band .sh-scroll-row{display:grid;grid-template-columns:repeat(6,1fr);overflow:visible;gap:24px;}
  body.lux .safari-home .sh-dest-item{flex:none;}
}
.lux-hero-media video{width:100%;height:100%;object-fit:cover;display:block;}
@media (prefers-reduced-motion:reduce){.lux-hero-video{display:none;}.lux-hero-media{background:var(--lux-ebony) center/cover no-repeat;}}

/* ==========================================================================
   Home: "Wild Tanzania Moments" photo collage (images only)
   ========================================================================== */
.sh-moments-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,16vw,240px);grid-auto-flow:dense;gap:12px;margin-top:10px;}
.sh-moment{margin:0;position:relative;overflow:hidden;cursor:zoom-in;background:var(--lux-cream);}
.sh-moment img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.6s var(--lux-ease-out);}
.sh-moment:hover img{transform:scale(1.07);}
.sh-moment::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,0);transition:border-color .6s var(--lux-ease);pointer-events:none;}
.sh-moment:hover::after{border-color:rgba(255,255,255,.85);}
.sh-moment:nth-child(8n+1){grid-column:span 2;grid-row:span 2;}
.sh-moment:nth-child(8n){grid-column:span 2;}
@media (max-width:767px){
  .sh-moments-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:40vw;gap:8px;}
  .sh-moment:nth-child(8n+1),.sh-moment:nth-child(8n){grid-column:span 2;grid-row:span 1;}
}

/* Lightbox */
.lux-lb{position:fixed;inset:0;z-index:3000;background:rgba(22,17,12,.94);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;}
.lux-lb.is-open{opacity:1;visibility:visible;}
.lux-lb img{max-width:90vw;max-height:84vh;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.lux-lb button{position:absolute;background:transparent;border:1px solid rgba(228,204,148,.5);color:var(--lux-gold-light);width:52px;height:52px;border-radius:50%;font-size:22px;cursor:pointer;transition:background .3s,color .3s;}
.lux-lb button:hover{background:var(--lux-gold);color:var(--lux-ebony);}
.lux-lb .lb-close{top:22px;right:22px;font-size:28px;}
.lux-lb .lb-prev{left:22px;top:50%;transform:translateY(-50%);}
.lux-lb .lb-next{right:22px;top:50%;transform:translateY(-50%);}
.lux-lb .lb-count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-family:var(--lux-royal);letter-spacing:3px;font-size:12px;color:var(--lux-gold-light);}

/* ==========================================================================
   Social: Instagram + YouTube cards (luxury styling)
   ========================================================================== */
body.lux .sws-social-section{background:var(--lux-cream);padding:120px 0;color:var(--heading);}
body.lux .sws-social-eyebrow{font-family:var(--lux-royal);font-weight:500;font-size:12px;letter-spacing:4px;color:var(--lux-gold-deep);display:inline-flex;align-items:center;gap:14px;margin-bottom:14px;}
body.lux .sws-social-eyebrow::before,body.lux .sws-social-eyebrow::after{content:"";width:28px;height:1px;background:currentColor;opacity:.6;}
body.lux .sws-social-heading h2{font-family:var(--lux-display);font-weight:500;font-size:clamp(34px,4.2vw,52px);color:var(--heading);}
body.lux .sws-social-heading p{font-family:var(--lux-body);font-size:17px;color:var(--body-text);}
body.lux .instagram-mini-grid{gap:18px;max-width:1140px;margin-top:50px;}
body.lux .instagram-mini-card{border-radius:0;border:1px solid var(--lux-line);box-shadow:none;background:#fff;transition:transform .7s var(--lux-ease-out),box-shadow .7s var(--lux-ease-out),border-color .5s;}
body.lux .instagram-mini-card:hover{transform:translateY(-6px);border-color:var(--lux-gold);box-shadow:0 30px 50px -30px rgba(22,17,12,.5);}
body.lux .instagram-mini-card__shade{display:none;}
body.lux .instagram-mini-card__icon{background:var(--lux-ebony);color:var(--lux-gold-light);border:1px solid rgba(228,204,148,.5);}
body.lux .instagram-mini-card__label{left:auto;right:14px;bottom:14px;background:var(--lux-ebony);padding:8px 14px;font-family:var(--lux-royal);font-weight:500;font-size:10.5px;letter-spacing:2.5px;color:var(--lux-gold-light);}
body.lux .sws-social-button-row{margin-top:44px;}
body.lux .sws-social-button{position:relative;overflow:hidden;border-radius:0;box-shadow:none;font-family:var(--lux-royal);font-weight:500;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;padding:17px 34px;min-height:0;background:var(--lux-ebony) !important;border:1px solid var(--lux-ebony);transition:background .5s,border-color .5s,transform .4s var(--lux-ease);}
body.lux .sws-social-button i{color:var(--lux-gold-light);font-size:16px;}
body.lux .sws-social-button:hover{background:var(--lux-gold) !important;border-color:var(--lux-gold);transform:translateY(-2px);}
body.lux .sws-social-button:hover i{color:#fff;}
body.lux .sws-youtube-heading{margin-top:110px;}
body.lux .sws-youtube-grid{gap:30px;margin-top:50px;}
body.lux .sws-youtube-card__media{border-radius:0;border:0;box-shadow:none;}
body.lux .sws-youtube-card__overlay{display:none;}
body.lux .sws-youtube-card__media img{transition:transform 1.6s var(--lux-ease-out);}
body.lux .sws-youtube-card__category{border-radius:0;background:var(--lux-ebony);font-family:var(--lux-royal);font-weight:500;font-size:10px;letter-spacing:2.2px;color:var(--lux-gold-light);padding:8px 12px;left:0;bottom:0;}
body.lux .sws-youtube-card__play{width:66px;height:66px;border-radius:50%;background:rgba(22,17,12,.72);border:1px solid rgba(228,204,148,.8);color:var(--lux-gold-light);font-size:20px;backdrop-filter:blur(4px);}
body.lux .sws-youtube-card__play i{margin-left:4px;}
body.lux .sws-youtube-card:hover .sws-youtube-card__play{background:var(--lux-gold);color:var(--lux-ebony);}
body.lux .sws-youtube-card__body{padding:20px 2px 0;}
body.lux .sws-youtube-card__body strong{font-family:var(--lux-display);font-weight:500;font-size:24px;line-height:1.25;color:var(--heading);transition:color .4s;}
body.lux .sws-youtube-card:hover .sws-youtube-card__body strong{color:var(--lux-gold-deep);}
body.lux .sws-youtube-card__body small{font-family:var(--lux-royal);font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--lux-gold-deep);}
@media (max-width:767px){ body.lux .sws-social-section{padding:76px 0;} body.lux .sws-youtube-heading{margin-top:70px;} body.lux .sws-social-button{width:100%;justify-content:center;} }

/* ==========================================================================
   About page
   ========================================================================== */
.sh-ab-story{padding:120px 0;background:#fff;}
.sh-ab-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:center;}
.sh-ab-media{position:relative;}
.sh-ab-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 0 0;display:block;}
.sh-ab-media::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid rgba(198,161,91,.55);border-radius:999px 999px 0 0;z-index:-1;}
.sh-ab-badge{position:absolute;right:-26px;bottom:44px;background:var(--lux-ebony);border-top:2px solid var(--lux-gold);padding:22px 28px;box-shadow:0 30px 60px -25px rgba(22,17,12,.6);text-align:center;}
.sh-ab-badge strong{display:block;font-family:var(--lux-display);font-weight:500;font-size:28px;color:var(--lux-gold-light);line-height:1.1;}
.sh-ab-badge span{font-family:var(--lux-royal);font-size:10px;letter-spacing:2.2px;text-transform:uppercase;color:rgba(255,255,255,.8);}
.sh-ab-text h2{font-size:clamp(34px,3.8vw,50px);margin:0 0 24px;}
.sh-ab-text .prose p{font-size:17px;}
.sh-ab-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.sh-ab-stats{background:var(--lux-ebony);padding:70px 0;}
.sh-ab-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.sh-ab-stats-grid > div{text-align:center;padding:10px 20px;border-right:1px solid rgba(228,204,148,.2);}
.sh-ab-stats-grid > div:last-child{border-right:0;}
.sh-ab-stats-grid strong{display:block;font-family:var(--lux-display);font-weight:500;font-size:clamp(40px,4vw,58px);color:var(--lux-gold-light);line-height:1;}
.sh-ab-stats-grid span{display:block;margin-top:12px;font-family:var(--lux-royal);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.75);}
.sh-ab-pillars{padding:120px 0;background:var(--lux-cream);}
.sh-ab-pillars .section-head{text-align:center;margin-left:auto;margin-right:auto;}
.sh-ab-pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(156,122,60,.25);}
.sh-ab-pillar{padding:48px 34px;border-right:1px solid rgba(156,122,60,.25);transition:background .6s var(--lux-ease);}
.sh-ab-pillar:last-child{border-right:0;}
.sh-ab-pillar:hover{background:#fff;}
.sh-ab-pillar .num{display:flex;align-items:center;gap:14px;font-family:var(--lux-royal);font-size:14px;letter-spacing:4px;color:var(--lux-gold-deep);margin-bottom:24px;}
.sh-ab-pillar .num::after{content:"";flex:1;height:1px;background:rgba(156,122,60,.35);}
.sh-ab-pillar h3{font-size:27px;font-weight:500;margin-bottom:12px;}
.sh-ab-pillar p{font-size:15.5px;margin:0;}
.sh-ab-partners{background:var(--lux-ebony);padding:40px 0;text-align:center;border-top:1px solid rgba(228,204,148,.15);}
.sh-ab-partners .eyebrow{color:var(--lux-gold-light);justify-content:center;}
.sh-ab-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:40px;margin-top:10px;}
.sh-ab-logos img{height:44px;width:auto;opacity:.8;transition:opacity .4s,transform .4s var(--lux-ease-out);}
.sh-ab-logos img:hover{opacity:1;transform:translateY(-3px);}
.sh-ab-where{padding:120px 0;background:#fff;}
.sh-ab-where .section-head{text-align:center;margin-left:auto;margin-right:auto;}
.sh-ab-dest-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px;}
.sh-ab-dest{text-align:center;color:var(--heading);}
.sh-ab-dest-img{display:block;aspect-ratio:3/4;overflow:hidden;border-radius:999px 999px 0 0;}
.sh-ab-dest-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--lux-ease-out);}
.sh-ab-dest:hover img{transform:scale(1.1);}
.sh-ab-dest-name{display:block;margin-top:16px;font-family:var(--lux-display);font-size:21px;font-weight:500;line-height:1.2;transition:color .4s;}
.sh-ab-dest:hover .sh-ab-dest-name{color:var(--lux-gold-deep);}
.sh-ab-cta{padding:0 0 120px;background:#fff;}
.sh-ab-cta-box{position:relative;background:var(--lux-ebony);padding:80px 60px;text-align:center;}
.sh-ab-cta-box::before{content:"";position:absolute;inset:14px;border:1px solid rgba(228,204,148,.25);pointer-events:none;}
.sh-ab-cta-box .eyebrow{color:var(--lux-gold-light);justify-content:center;}
.sh-ab-cta-box h2{color:#fff;}
.sh-ab-cta-box p{color:rgba(255,255,255,.72);max-width:580px;margin:12px auto 0;font-size:17px;}
.sh-ab-cta-box .sh-ab-actions{justify-content:center;position:relative;}
body.lux .sh-ab-cta-box .btn-outline{border-color:rgba(255,255,255,.7) !important;color:#fff !important;}
body.lux .sh-ab-cta-box .btn-outline::before{background:#fff;}
body.lux .sh-ab-cta-box .btn-outline:hover{color:var(--lux-ebony) !important;}
@media (max-width:991px){
  .sh-ab-grid{grid-template-columns:1fr;gap:60px;}
  .sh-ab-media{max-width:520px;margin:0 auto;}
  .sh-ab-badge{right:0;}
  .sh-ab-stats-grid{grid-template-columns:repeat(2,1fr);row-gap:30px;}
  .sh-ab-stats-grid > div:nth-child(2){border-right:0;}
  .sh-ab-pillar-grid{grid-template-columns:repeat(2,1fr);}
  .sh-ab-pillar:nth-child(2){border-right:0;}
  .sh-ab-pillar:nth-child(-n+2){border-bottom:1px solid rgba(156,122,60,.25);}
  .sh-ab-dest-grid{grid-template-columns:repeat(3,1fr);row-gap:34px;}
}
@media (max-width:767px){
  .sh-ab-story,.sh-ab-pillars,.sh-ab-where{padding:76px 0;}
  .sh-ab-cta{padding-bottom:76px;}
  .sh-ab-pillar-grid{grid-template-columns:1fr;}
  .sh-ab-pillar{border-right:0;border-bottom:1px solid rgba(156,122,60,.25);padding:36px 26px;}
  .sh-ab-pillar:last-child{border-bottom:0;}
  .sh-ab-dest-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
  .sh-ab-cta-box{padding:56px 24px;}
  .sh-ab-actions a{flex:1 1 100%;}
  .sh-ab-logos{gap:24px;}
  .sh-ab-logos img{height:34px;}
}

/* ==========================================================================
   Single tour page (tabbed details + summary sidebar)
   ========================================================================== */
.tv-crumbs{background:var(--lux-cream);border-bottom:1px solid var(--lux-line);padding:16px 0;font-size:13.5px;}
.tv-crumbs .container{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.tv-crumbs a{color:var(--body-text);}
.tv-crumbs a:hover{color:var(--lux-gold-deep);}
.tv-crumbs span{color:var(--lux-gold);}
.tv-crumbs b{font-weight:500;color:var(--heading);}
.tv-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:60px;align-items:start;padding:60px 0 100px;}
.tv-tabs{position:sticky;top:72px;z-index:20;display:flex;gap:6px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--lux-line);margin-bottom:10px;overflow-x:auto;scrollbar-width:none;}
.tv-tabs::-webkit-scrollbar{display:none;}
.tv-tabs a{flex:0 0 auto;padding:18px 20px 16px;font-family:var(--lux-royal);font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--heading);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .3s,border-color .3s;}
.tv-tabs a:hover{color:var(--lux-gold-deep);}
.tv-tabs a.is-active{color:var(--lux-gold-deep);border-bottom-color:var(--lux-gold);}
.tv-section{padding:56px 0 20px;scroll-margin-top:140px;border-bottom:1px solid var(--lux-line);}
.tv-section:last-child{border-bottom:0;}
.tv-section > h2{font-size:clamp(32px,3.2vw,44px);margin:0 0 22px;}
.tv-overview-text p{font-size:17px;line-height:1.85;}
.tv-box{margin-top:36px;border:1px solid var(--lux-line);background:#fff;}
.tv-box-title{padding:18px 26px;background:var(--lux-cream);border-bottom:1px solid var(--lux-line);font-family:var(--lux-royal);font-weight:600;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--heading);}
.tv-box-title small{display:block;margin-top:4px;font-family:var(--lux-body);font-size:13px;letter-spacing:0;text-transform:none;color:var(--body-text);font-weight:400;}
.tv-route{display:flex;flex-wrap:wrap;align-items:center;gap:10px 0;padding:28px 26px;}
.tv-route-stop{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:120px;padding:0 6px;color:var(--heading);}
.tv-route-stop .dot{width:14px;height:14px;border-radius:50%;background:var(--lux-gold);box-shadow:0 0 0 5px rgba(198,161,91,.2);margin-bottom:12px;}
.tv-route-stop strong{font-family:var(--lux-display);font-size:19px;font-weight:600;line-height:1.2;transition:color .3s;}
.tv-route-stop:hover strong{color:var(--lux-gold-deep);}
.tv-route-stop small{margin-top:4px;font-family:var(--lux-royal);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--lux-gold-deep);}
.tv-route-arrow{flex:1 1 30px;min-width:30px;max-width:90px;height:1px;background:linear-gradient(90deg,var(--lux-gold),rgba(198,161,91,.3));position:relative;margin-top:-38px;}
.tv-route-arrow::after{content:"";position:absolute;right:0;top:-4px;border:4px solid transparent;border-left:6px solid var(--lux-gold);}
.tv-features{display:grid;grid-template-columns:repeat(2,1fr);}
.tv-feature{display:flex;gap:16px;padding:22px 26px;border-bottom:1px solid var(--lux-line);}
.tv-feature:nth-child(odd){border-right:1px solid var(--lux-line);}
.tv-feature:nth-last-child(-n+2){border-bottom:0;}
.tv-feature i{flex:0 0 40px;height:40px;border-radius:50%;background:var(--lux-cream);color:var(--lux-gold-deep);display:flex;align-items:center;justify-content:center;font-size:16px;}
.tv-feature strong{display:block;font-family:var(--lux-display);font-size:20px;font-weight:600;color:var(--heading);line-height:1.2;}
.tv-feature span{display:block;font-size:14.5px;color:var(--body-text);margin-top:3px;line-height:1.5;}
.tv-next{display:inline-flex;align-items:center;gap:10px;margin:34px 0 20px;font-family:var(--lux-royal);font-weight:700;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--lux-gold-deep);}
.tv-next span{transition:transform .4s var(--lux-ease);}
.tv-next:hover span{transform:translateX(6px);}
.tv-days{border-left:1px solid rgba(198,161,91,.45);margin-left:10px;}
.tv-day{position:relative;padding-left:34px;margin-bottom:14px;}
.tv-day::before{content:"";position:absolute;left:-7px;top:24px;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--lux-gold);}
.tv-day[open]::before{background:var(--lux-gold);}
.tv-day summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;padding:16px 22px;background:var(--lux-cream);border:1px solid var(--lux-line);transition:background .3s;}
.tv-day summary::-webkit-details-marker{display:none;}
.tv-day summary:hover{background:#fff;}
.tv-day-num{flex:0 0 auto;font-family:var(--lux-royal);font-weight:700;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--lux-gold-deep);min-width:64px;}
.tv-day-title{flex:1;font-family:var(--lux-display);font-size:22px;font-weight:600;color:var(--heading);line-height:1.25;}
.tv-day-toggle{flex:0 0 16px;height:16px;position:relative;}
.tv-day-toggle::before,.tv-day-toggle::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--lux-gold-deep);transition:transform .3s;}
.tv-day-toggle::after{transform:rotate(90deg);}
.tv-day[open] .tv-day-toggle::after{transform:rotate(0);}
.tv-day-body{padding:20px 22px 8px;border:1px solid var(--lux-line);border-top:0;background:#fff;}
.tv-day-body p{font-size:16px;line-height:1.8;}
.tv-incl{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.tv-incl-box{border:1px solid var(--lux-line);background:#fff;}
.tv-incl-box h3{margin:0;padding:18px 24px;font-family:var(--lux-royal);font-size:13px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;background:var(--lux-cream);border-bottom:1px solid var(--lux-line);}
.tv-incl-box.is-yes h3{color:#4d6b2e;}
.tv-incl-box.is-no h3{color:#9a4a2a;}
.tv-incl-box ul{list-style:none;margin:0;padding:14px 24px 20px;}
.tv-incl-box li{position:relative;padding:9px 0 9px 30px;font-size:15.5px;border-bottom:1px dashed rgba(156,122,60,.2);}
.tv-incl-box li:last-child{border-bottom:0;}
.tv-incl-box li::before{position:absolute;left:0;top:9px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;}
.tv-incl-box.is-yes li::before{content:"\2713";background:rgba(77,107,46,.12);color:#4d6b2e;}
.tv-incl-box.is-no li::before{content:"\2715";background:rgba(154,74,42,.1);color:#9a4a2a;}
.tv-quote-lead{font-size:17px;max-width:620px;}
.tv-quote-card{margin-top:24px;background:#fff;border:1px solid var(--lux-line);border-top:2px solid var(--lux-gold);padding:34px 34px 26px;}
.tv-quote-card .quote-card{padding:0;box-shadow:none;background:transparent;}
.tv-side{position:sticky;top:96px;}
.tv-side-card{background:#fff;border:1px solid var(--lux-line);box-shadow:0 40px 80px -50px rgba(22,17,12,.55);}
.tv-side-photo{height:180px;background-size:cover;background-position:center;}
.tv-side-body{padding:26px 26px 24px;}
.tv-side-label{display:block;font-family:var(--lux-royal);font-weight:700;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--lux-gold-deep);margin-bottom:10px;}
.tv-side-line{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--lux-line);font-size:14.5px;}
.tv-side-line span{color:var(--body-text);}
.tv-side-line strong{font-weight:600;color:var(--heading);text-align:right;}
.tv-side-price{padding:18px 0 20px;}
.tv-side-price span{display:block;font-size:13.5px;color:var(--body-text);}
.tv-side-price strong{display:block;font-family:var(--lux-display);font-size:42px;font-weight:600;color:var(--heading);line-height:1.1;}
.tv-side-price small{font-family:var(--lux-royal);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--lux-gold-deep);}
body.lux .tv-side-btn{width:100%;padding:16px 20px !important;}
.tv-side-trust{text-align:center;font-size:12.5px;color:var(--body-text);margin:10px 0 16px;}
.tv-reading-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:1100px;margin:0 auto;}
.tv-reading-item{display:flex;flex-direction:column;padding:28px 26px;border:1px solid var(--lux-line);background:#fff;color:var(--heading);transition:border-color .4s,transform .6s var(--lux-ease-out),box-shadow .6s;}
.tv-reading-item:hover{border-color:var(--lux-gold);transform:translateY(-4px);box-shadow:0 30px 50px -35px rgba(22,17,12,.5);}
.tv-reading-item strong{font-family:var(--lux-display);font-size:22px;font-weight:600;line-height:1.25;}
.tv-reading-item span{margin-top:10px;font-size:14.5px;color:var(--body-text);flex:1;}
.tv-reading-item em{margin-top:16px;font-style:normal;font-family:var(--lux-royal);font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--lux-gold-deep);}
body.lux .tv-back{padding:40px 0 100px;}
@media (max-width:991px){
  .tv-layout{grid-template-columns:1fr;gap:40px;padding-top:30px;}
  .tv-side{position:static;order:-1;}
  .tv-side-photo{display:none;}
  .tv-tabs{top:64px;}
}
@media (max-width:767px){
  .tv-features{grid-template-columns:1fr;}
  .tv-feature:nth-child(odd){border-right:0;}
  .tv-feature:nth-last-child(2){border-bottom:1px solid var(--lux-line);}
  .tv-incl{grid-template-columns:1fr;}
  .tv-route{flex-direction:column;align-items:flex-start;}
  .tv-route-stop{flex-direction:row;gap:12px;min-width:0;text-align:left;}
  .tv-route-stop .dot{margin:0;}
  .tv-route-arrow{width:1px;height:22px;min-width:0;max-width:none;flex:none;margin:4px 0 4px 7px;background:var(--lux-gold);}
  .tv-route-arrow::after{display:none;}
  .tv-day{padding-left:22px;}
  .tv-day summary{flex-wrap:wrap;gap:6px 14px;padding:14px 16px;}
  .tv-day-title{font-size:19px;flex-basis:calc(100% - 40px);}
  .tv-quote-card{padding:24px 18px;}
  .tv-tabs a{padding:15px 14px 13px;font-size:11px;}
}
