/* =====================================================================
   SWAN LANKA TOURS — V4 REDESIGN
   Dark forest-teal + lime "adventure" look (desktop + mobile).
   Loaded after style.css / enhancements.css and overrides them.
   ===================================================================== */

/* ---------- 0. Tokens ---------- */
:root{
  --bg:#0b161b; --bg-2:#0e1d23; --card:#12262c; --card-2:#183840; --card-3:#21505a;
  --lime:#5cba47; --lime-2:#86e06b; --lime-d:#3f8f33;
  --txt:#e9eeea; --txt-2:#b7c4c3; --mut:#8c9fa2;
  --hair:rgba(255,255,255,.10); --hair-2:rgba(92,186,71,.35);
  --head:"Marcellus","Cormorant Garamond",Georgia,serif;
  --caps:"Montserrat","Lato",Arial,sans-serif;
  --body:"Lato","Montserrat",system-ui,Arial,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --r:14px;
  /* legacy token remap */
  --ink:#e9eeea;--paper:#12262c;--soft:#0e1d23;--muted:#8c9fa2;--line:rgba(255,255,255,.10);
  --charcoal:#081317;--charcoal-2:#0e1d23;--serif:var(--head);--sans:var(--body);
  --cyan:#3f8a8c;--blue:#3f8a8c;--green:#5cba47;--mint:#86e06b;--violet:#2f6a6b;--coral:#5cba47;--sun:#86e06b;
  --action-green:#5cba47;--action-blue:#86e06b;--grad:linear-gradient(100deg,#86e06b,#5cba47 55%,#3f8f33);
  --lime-bg:#12262c;--peach:#12262c;--lav:#12262c;--lime:#5cba47;
  --header-h:96px;
}
html{scroll-behavior:smooth;background:var(--bg);color-scheme:dark}
html,body{overflow-x:clip;max-width:100%}
body,html[data-theme="dark"] body{
  background:
    radial-gradient(1100px 640px at 50% -8%,rgba(35,92,92,.55),transparent 70%),
    radial-gradient(900px 600px at 100% 40%,rgba(30,75,70,.28),transparent 70%),
    var(--bg)!important;
  background-attachment:scroll;
  color:var(--txt-2);font-family:var(--body);font-weight:300;font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased}
::selection{background:var(--lime);color:#0b161b}
body.lux-loading{overflow:hidden}
h1,h2,h3,h4{font-family:var(--head);font-weight:400;color:var(--txt);letter-spacing:.01em}
p{color:var(--txt-2)}
a{color:inherit}
img{max-width:100%}
.container{width:min(100% - 56px,1200px)}
.container-wide{width:min(100% - 56px,1320px)}

/* ---------- 1. Header ---------- */
.theme-switch,.header-mini-feature{display:none!important}
.site-header,.site-header.scrolled{border:0!important;border-image:none!important;
  background:linear-gradient(180deg,rgba(7,15,19,.78),rgba(7,15,19,0))!important;transition:background .4s,backdrop-filter .4s,box-shadow .4s}
.site-header.scrolled{background:rgba(9,19,24,.9)!important;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 1px 0 var(--hair)}
.utility-bar{height:30px!important;background:transparent!important;backdrop-filter:none!important;border-bottom:1px solid rgba(255,255,255,.07)!important;color:var(--mut)!important;overflow:hidden;transition:height .4s,opacity .3s}
.site-header.scrolled .utility-bar{height:0!important;opacity:0;border:0!important}
.utility-inner{font-family:var(--caps);font-size:.64rem!important;letter-spacing:.14em!important;text-transform:uppercase}
.utility-tag{color:var(--mut)!important;font-weight:500!important}
.utility-tag:before{background:var(--lime)!important;box-shadow:0 0 0 4px rgba(92,186,71,.16)!important}
.utility-actions>a{background:none!important;color:var(--txt-2)!important;padding:4px 8px!important}
.utility-actions>a:hover{background:none!important;color:var(--lime)!important}
.nav-wrap{height:76px!important;display:flex;align-items:center;gap:26px}
.brand,.brand img{width:132px!important;height:auto!important;flex-basis:132px!important}
.brand img{max-height:62px;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(0,0,0,.4))}
.main-nav{margin-left:auto}
.main-nav>ul{display:flex;gap:2px;align-items:center}
.nav-item>a,.main-nav a{font-family:var(--caps);font-size:.7rem!important;font-weight:600!important;letter-spacing:.1em;text-transform:uppercase;color:#dfe7e5;padding:30px 12px!important;position:relative;transition:color .3s}
.nav-item>a:hover,.nav-item.active>a{color:var(--lime)}
.nav-item>a:after{content:"";position:absolute;left:12px;right:12px;bottom:20px;height:1px;background:var(--lime)!important;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav-item.active>a:after,.nav-item:hover>a:after{transform:scaleX(1)}
.chev{color:var(--lime)}
.dropdown-menu{background:rgba(9,20,25,.97)!important;border:1px solid var(--hair)!important;border-radius:12px!important;box-shadow:0 30px 70px rgba(0,0,0,.55)!important;padding:10px!important}
.dropdown-menu a{font-family:var(--body)!important;text-transform:none!important;letter-spacing:.01em!important;font-size:.9rem!important;font-weight:400!important;color:var(--txt-2)!important;padding:9px 14px!important;border-radius:8px}
.dropdown-menu a:hover{background:rgba(92,186,71,.1)!important;color:var(--lime)!important}
.dropdown-all{color:var(--lime)!important;font-weight:700!important}
.nav-cta{font-family:var(--caps)!important;font-size:.68rem!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase;padding:11px 22px!important;border-radius:999px!important;
  background:transparent!important;color:var(--lime)!important;border:1px solid var(--lime)!important;box-shadow:none!important;white-space:nowrap}
.nav-cta:hover{background:var(--lime)!important;color:#0b161b!important;transform:none!important}
.menu-toggle span{background:var(--lime)!important}

/* header search */
.nav-search{position:relative;flex:0 1 270px;min-width:170px}
.nav-search form{display:flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.08);transition:background .3s,border-color .3s}
.nav-search form:focus-within{background:rgba(255,255,255,.16);border-color:var(--hair-2)}
.nav-search svg{width:15px;height:15px;stroke:#cfd9d6;fill:none;stroke-width:1.8;flex:none}
.nav-search input{all:unset;flex:1;min-width:0;font-family:var(--body);font-size:.82rem;color:#fff;letter-spacing:.02em}
.nav-search input::placeholder{color:#b9c6c4}
.ns-results{position:absolute;left:0;right:0;top:calc(100% + 8px);background:rgba(9,20,25,.98);border:1px solid var(--hair);border-radius:14px;padding:6px;display:none;max-height:320px;overflow:auto;box-shadow:0 30px 60px rgba(0,0,0,.55);z-index:30}
.ns-results.on{display:block}
.ns-results a{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:9px;font-size:.88rem;color:var(--txt-2)}
.ns-results a small{color:var(--mut);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;align-self:center}
.ns-results a:hover,.ns-results a.sel{background:rgba(92,186,71,.12);color:var(--lime)}
.ns-empty{padding:10px 12px;color:var(--mut);font-size:.85rem}
.nav-search.in-drawer{display:none}

/* ---------- 2. Buttons ---------- */
.btn,.btn-primary,.btn-dark,.btn-light,.btn-ghost,.contact-pill,button.btn,.booking-form button,.contact-form button[type=submit]{
  font-family:var(--caps)!important;font-size:.7rem!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px!important;border-radius:999px!important;cursor:pointer;
  background:var(--lime)!important;color:#0b161b!important;border:1px solid var(--lime)!important;box-shadow:none!important;transition:background .35s,color .35s,transform .45s var(--ease),box-shadow .45s!important}
.btn:hover,.btn-primary:hover,.btn-dark:hover,.contact-pill:hover,.booking-form button:hover,.contact-form button[type=submit]:hover{background:var(--lime-2)!important;border-color:var(--lime-2)!important;color:#0b161b!important;transform:translateY(-2px);box-shadow:0 14px 34px rgba(92,186,71,.28)!important}
.btn-ghost,.btn-light{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.55)!important}
.btn-ghost:hover,.btn-light:hover{background:#fff!important;color:#0b161b!important;border-color:#fff!important;box-shadow:none!important}
.btn span[aria-hidden]{transition:transform .4s var(--ease)}.btn:hover span[aria-hidden]{transform:translateX(5px)}
.text-link,.image-card-copy a,.day-copy a,.guide-card a,.tour-copy a{color:var(--lime)!important;font-weight:700;font-size:.82rem;letter-spacing:.06em}
.text-link:hover{color:var(--lime-2)!important}
.center-action{text-align:center;margin-top:44px}

/* ---------- 3. Typography blocks ---------- */
.eyebrow,.micro{font-family:var(--caps)!important;font-size:.66rem!important;font-weight:600!important;letter-spacing:.26em!important;text-transform:uppercase;color:var(--lime)!important;
  background:none!important;border:0!important;padding:0!important;box-shadow:none!important;backdrop-filter:none!important;display:inline-flex;align-items:center;gap:12px}
.eyebrow:before{display:none!important}
.section{padding:clamp(64px,8vw,110px) 0!important;background:transparent!important;position:relative}
.section-soft{background:linear-gradient(180deg,rgba(18,50,54,.55),rgba(11,22,27,0))!important}
.section-dark{background:linear-gradient(180deg,#0a1519,#0d1d22)!important}
.section-head{text-align:center;max-width:760px;margin:0 auto 52px!important}
.section-head h2,.detail-main h2,.tour-intro-grid h2,.cta-inner h2,.experience-head h2,.form-head h2,.contact-details h2,.article-section h2{
  font-family:var(--head)!important;font-weight:400!important;font-size:clamp(1.9rem,3.6vw,3rem)!important;line-height:1.15!important;letter-spacing:.015em!important;color:var(--txt)!important;margin:12px 0 0}
.section-head h2:after,.experience-head h2:after,.lux-title-line:after{content:""!important;display:block!important;width:108px!important;height:2px!important;background:var(--lime)!important;margin:20px auto 0!important;border-radius:0!important;box-shadow:none!important;opacity:.9}
.section-head.left{text-align:left;margin-left:0}.section-head.left h2:after{margin-left:0!important}
.section-head p{color:var(--mut)!important;font-size:.98rem;margin:20px auto 0;max-width:62ch}
.body-lg{color:var(--txt-2)!important;font-size:1.02rem}
.detail-main h3,.article-section h2,.timeline-copy h3{font-family:var(--head);color:var(--txt)}
.detail-main p,.article-main p,.tour-intro-grid p{color:var(--txt-2)}

/* ---------- 4. HERO ---------- */
.hero-slider{height:100vh!important;height:100svh!important;min-height:660px!important;max-height:1040px;background:#071013!important;position:relative;overflow:hidden}
.hero-slider:after{display:none!important}
.hero-slide{background-size:cover!important;background-position:center!important;transform:scale(1.12)!important;transition:opacity 1.6s ease,transform 10s linear!important}
.hero-slide.is-active{transform:scale(1.02)!important}
.hero-overlay{background:
  linear-gradient(180deg,rgba(6,14,18,.7) 0%,rgba(6,14,18,.1) 28%,rgba(6,14,18,.25) 60%,rgba(11,22,27,.96) 100%),
  radial-gradient(ellipse at 50% 55%,rgba(6,14,18,.15),rgba(6,14,18,.5) 100%)!important}
.hero-content{max-width:1120px!important;text-align:center!important;margin:0 auto;padding-top:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding-bottom:150px}
.hero-content .eyebrow{color:var(--lime-2)!important;font-size:.7rem!important;margin-bottom:22px;letter-spacing:.34em!important}
.hero-content h1,.hero-content h2.hero-title{font-family:var(--caps)!important;font-weight:800!important;text-transform:uppercase;font-size:clamp(2.3rem,5.4vw,5.6rem)!important;line-height:1.02!important;letter-spacing:.02em!important;
  color:#fff!important;max-width:16ch!important;margin:0 auto;text-shadow:0 10px 70px rgba(0,0,0,.6)}
.hero-content p{color:#e1e9e6!important;font-size:clamp(.95rem,1.25vw,1.1rem)!important;max-width:54ch!important;margin:26px auto 0!important;font-weight:300;text-shadow:0 2px 24px rgba(0,0,0,.6)}
.hero-actions{justify-content:center;gap:14px;margin-top:34px!important}
.hero-note{display:none!important}
/* vertical numeric index */
.hero-dots{position:absolute!important;left:clamp(14px,4vw,64px)!important;right:auto!important;top:36%!important;bottom:auto!important;transform:none!important;
  display:flex!important;flex-direction:column;align-items:flex-start;gap:12px!important;z-index:9;counter-reset:dot}
.hero-dot{all:unset;box-sizing:border-box;counter-increment:dot;cursor:pointer;display:flex;align-items:flex-start;gap:12px;font-family:var(--caps);font-size:.62rem;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.55);transition:color .3s}
.hero-dot:before{content:"0" counter(dot)}
.hero-dot:after{content:"";display:block;width:1px;height:0;background:var(--lime);transition:height .6s var(--ease);margin-top:2px}
.hero-dot.active{color:#fff}.hero-dot.active:after{height:78px}
.hero-dot:hover{color:var(--lime-2)}
/* 4-up feature strip */
.hero-features{position:absolute;left:0;right:0;bottom:0;z-index:8;background:linear-gradient(180deg,rgba(9,19,24,0),rgba(9,19,24,.82) 40%);padding:34px 0 0}
.hero-features .container{display:grid;grid-template-columns:repeat(4,1fr);gap:0;width:min(100% - 56px,1240px)}
.hf-item{display:flex;align-items:center;gap:14px;padding:20px 18px 24px;position:relative;border-top:1px solid rgba(255,255,255,.14);transition:background .4s}
.hf-item:after{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--lime);transition:width .7s var(--ease)}
.hf-item:hover:after,.hf-item.on:after{width:100%}
.hf-item:hover{background:rgba(255,255,255,.04)}
.hf-ico{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;transition:transform .4s, opacity .4s, background-color .4s, border-color .4s, color .4s, box-shadow .4s}
.hf-ico svg{width:15px;height:15px;stroke:var(--lime);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hf-item:hover .hf-ico{background:var(--lime);border-color:var(--lime)}.hf-item:hover .hf-ico svg{stroke:#0b161b}
.hf-item strong{display:block;font-family:var(--body);font-weight:700;font-size:.84rem;color:#fff;letter-spacing:.02em;line-height:1.3}
.hf-item span{display:block;font-size:.76rem;color:#aebdbb;font-weight:300;line-height:1.4}

/* inner hero */
.inner-hero{height:auto!important;min-height:clamp(420px,62vh,560px)!important;background-size:cover!important;background-position:center!important;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.inner-hero:after{display:none!important}
.inner-hero-overlay{position:absolute!important;inset:0!important;z-index:1;background:
  linear-gradient(180deg,rgba(6,14,18,.72) 0%,rgba(6,14,18,.2) 38%,rgba(6,14,18,.5) 70%,rgba(11,22,27,1) 100%),
  linear-gradient(90deg,rgba(6,14,18,.65),rgba(6,14,18,.05) 70%)!important}
.inner-hero>.container,.inner-hero-content{position:relative;z-index:3;padding-top:150px!important;padding-bottom:58px!important}
.inner-hero h1{font-family:var(--caps)!important;font-weight:800!important;text-transform:uppercase;font-size:clamp(2rem,4.6vw,4.2rem)!important;line-height:1.05!important;letter-spacing:.02em!important;color:#fff!important;max-width:20ch;margin:10px 0 0;text-shadow:0 8px 50px rgba(0,0,0,.55)}
.inner-hero p{color:#dfe8e5!important;max-width:60ch;margin-top:14px;font-size:1.04rem}
.breadcrumbs{font-family:var(--caps);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:#aebdbb;margin-bottom:14px}
.breadcrumbs a{color:#dbe5e2}.breadcrumbs a:hover{color:var(--lime)}
.inner-hero:before{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;z-index:2;background:linear-gradient(180deg,transparent,var(--bg));pointer-events:none}

/* WebGL particle canvas */
.lux-gl{position:absolute;inset:0;z-index:4;pointer-events:none;mix-blend-mode:screen;opacity:0;transition:opacity 2s}
.lux-gl.on{opacity:1}.inner-hero>.lux-gl{z-index:2}

/* ---------- 5. Shared components ---------- */
.ico{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle}
.round-btn{all:unset;box-sizing:border-box;width:52px;height:52px;border-radius:50%;background:var(--lime);color:#0b161b;display:grid;place-items:center;cursor:pointer;transition:transform .4s var(--ease),background .3s,box-shadow .4s;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.round-btn svg{width:20px;height:20px;stroke:#0b161b;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.round-btn:hover{background:var(--lime-2);transform:scale(1.08)}
.round-btn.sm{width:42px;height:42px}.round-btn.sm svg{width:16px;height:16px}
.round-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.line-lime{width:108px;height:2px;background:var(--lime);margin:20px 0 22px}

/* ---------- 6. Wonders carousel ---------- */
.wonders{overflow:hidden}
.wonders-wrap{position:relative}
.wonders-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 10px;scroll-behavior:smooth}
.wonders-track::-webkit-scrollbar{display:none}
.w-card{position:relative;flex:0 0 calc((100% - 66px)/4);aspect-ratio:3/4.2;border-radius:var(--r);overflow:hidden;scroll-snap-align:start;background:var(--card);isolation:isolate;border:1px solid var(--hair)}
.w-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);z-index:-2}
.w-card:hover img{transform:scale(1.09)}
.w-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,14,18,0) 35%,rgba(6,14,18,.92) 100%);transition:opacity .4s}
.w-copy{position:absolute;left:0;right:0;bottom:0;padding:22px 22px 24px;transform:translateY(46px);transition:transform .6s var(--ease)}
.w-card:hover .w-copy{transform:none}
.w-pin{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-size:1.5rem;color:#fff;letter-spacing:.02em}
.w-pin svg{width:18px;height:18px;stroke:var(--lime);fill:none;stroke-width:1.8}
.w-copy p{font-size:.86rem;line-height:1.55;color:#cbd6d3;margin:8px 0 12px;opacity:0;transition:opacity .5s .08s}
.w-copy a{font-family:var(--caps);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--lime);opacity:0;transition:opacity .5s .12s}
.w-card:hover p,.w-card:hover a,.w-card:focus-within p,.w-card:focus-within a{opacity:1}
.wonders-next,.wonders-prev{position:absolute;top:58%;z-index:5}
.wonders-next{right:max(14px,calc((100vw - 1200px)/2 - 26px))}.wonders-prev{left:max(14px,calc((100vw - 1200px)/2 - 26px))}
.wonders{position:relative}

/* ---------- 7. Reasons ---------- */
.reasons{background:linear-gradient(180deg,rgba(24,56,64,.5),rgba(11,22,27,0))!important}
.reason-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.reason{padding:34px 16px 30px;text-align:center;border-left:1px solid var(--hair);transition:background .4s}
.reason:first-child{border-left:0}
.reason:hover{background:rgba(92,186,71,.05)}
.reason-ico{width:60px;height:60px;margin:0 auto 18px;border-radius:50%;border:1px solid var(--hair-2);display:grid;place-items:center;transition:transform .5s var(--ease), opacity .5s var(--ease), background-color .5s var(--ease), border-color .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease)}
.reason-ico svg{width:26px;height:26px;stroke:var(--lime);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s, opacity .4s, background-color .4s, border-color .4s, color .4s, box-shadow .4s}
.reason:hover .reason-ico{background:var(--lime);transform:translateY(-4px)}.reason:hover .reason-ico svg{stroke:#0b161b}
.reason h3{font-family:var(--caps);font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--txt);line-height:1.5;margin:0}

/* ---------- 8. Collage ---------- */
.collage-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:center}
.collage-photos{position:relative;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:62px;gap:12px}
.collage-photos img{width:100%;height:100%;object-fit:cover;border-radius:var(--r);border:1px solid var(--hair);transition:transform .8s var(--ease),filter .5s;filter:saturate(.95)}
.collage-photos img:hover{transform:scale(1.03);filter:saturate(1.15);z-index:2}
.collage-photos img:nth-child(1){grid-column:1/4;grid-row:1/5}
.collage-photos img:nth-child(2){grid-column:4/7;grid-row:1/4}
.collage-photos img:nth-child(3){grid-column:4/7;grid-row:4/7}
.collage-photos img:nth-child(4){grid-column:1/3;grid-row:5/8}
.collage-photos img:nth-child(5){grid-column:3/4;grid-row:5/8}
.collage-photos img:nth-child(6){grid-column:4/7;grid-row:7/8;display:none}
.collage-chip{position:absolute;left:16px;bottom:16px;background:rgba(9,20,25,.88);backdrop-filter:blur(10px);border:1px solid var(--hair-2);border-radius:999px;padding:10px 20px;display:flex;flex-direction:column;line-height:1.3;z-index:3}
.collage-chip strong{font-family:var(--caps);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.collage-chip span{font-size:.78rem;color:var(--txt-2)}
.collage-copy h2{font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.15;margin:12px 0 0;color:var(--txt)}
.collage-copy p{margin:0 0 14px;color:var(--txt-2)}
.collage-copy .btn{margin-top:14px}

/* ---------- 9. Callout banner ---------- */
.callout-banner{position:relative;border-radius:20px;min-height:clamp(380px,46vw,560px);background-size:cover;background-position:center;overflow:hidden;border:1px solid var(--hair)}
.callout-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,14,18,.65),rgba(6,14,18,.15) 50%,rgba(6,14,18,.55)),linear-gradient(180deg,transparent 50%,rgba(6,14,18,.7))}
.callout-frame{position:absolute;left:50%;top:50%;width:min(34%,300px);aspect-ratio:1/1.1;transform:translate(-50%,-50%);border:2px solid var(--lime);border-radius:6px;box-shadow:0 0 0 9999px rgba(6,14,18,.0),inset 0 0 40px rgba(92,186,71,.15)}
.callout-frame i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px rgba(92,186,71,.22)}
.callout-frame i.d1{left:-5px;top:20%}.callout-frame i.d2{right:-5px;top:42%}.callout-frame i.d3{left:-5px;bottom:14%}
.callout{position:absolute;z-index:3;display:block;padding:14px 22px;border-radius:12px;background:rgba(9,20,25,.78);backdrop-filter:blur(10px);border:1px solid var(--hair-2);transition:transform .5s var(--ease), opacity .5s var(--ease), background-color .5s var(--ease), border-color .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease)}
.callout small{display:block;font-family:var(--caps);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lime)}
.callout strong{font-family:var(--head);font-weight:400;font-size:1.5rem;color:#fff}
.callout:hover{background:var(--lime);transform:translateY(-4px)}.callout:hover small,.callout:hover strong{color:#0b161b}
.callout:before{content:"";position:absolute;top:50%;height:1px;width:clamp(40px,9vw,140px);background:var(--lime)}
.callout.c1{left:5%;top:16%}.callout.c1:before{left:100%}
.callout.c2{right:5%;top:40%}.callout.c2:before{right:100%}
.callout.c3{left:5%;bottom:14%}.callout.c3:before{left:100%}
.callout-foot{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:30px;flex-wrap:wrap}
.chip-row{display:flex;gap:10px;flex-wrap:wrap}
.chip-row span{font-family:var(--caps);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;padding:10px 18px;border-radius:999px;border:1px solid var(--hair-2);color:var(--txt)}
.callout-note{flex:1;min-width:200px;display:flex;flex-direction:column}
.callout-note strong{font-family:var(--head);font-weight:400;font-size:1.25rem;color:var(--txt)}
.callout-note span{font-size:.88rem;color:var(--mut)}

/* ---------- 10. Fan / coverflow cards ---------- */
.fan{position:relative}
.fan-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 4px 18px}
.fan-track::-webkit-scrollbar{display:none}
.fan-card{flex:0 0 min(340px,80%);scroll-snap-align:center;background:var(--card);border:1px solid var(--hair);border-radius:18px;overflow:hidden;transition:transform .7s var(--ease),opacity .6s,box-shadow .6s,filter .6s}
.fan-img{position:relative;aspect-ratio:4/3.1;overflow:hidden}
.fan-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.fan-card:hover .fan-img img{transform:scale(1.07)}
.heart{all:unset;box-sizing:border-box;position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;background:rgba(9,20,25,.55);backdrop-filter:blur(8px);display:grid;place-items:center;cursor:pointer;transition:transform .3s, opacity .3s, background-color .3s, border-color .3s, color .3s, box-shadow .3s;z-index:3}
.heart svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.8;transition:transform .3s, opacity .3s, background-color .3s, border-color .3s, color .3s, box-shadow .3s}
.heart:hover{background:rgba(9,20,25,.85)}
.heart[aria-pressed=true]{background:var(--lime)}.heart[aria-pressed=true] svg{fill:#0b161b;stroke:#0b161b}
.badge{position:absolute;left:14px;bottom:14px;font-family:var(--caps);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;background:var(--lime);color:#0b161b;padding:6px 14px;border-radius:999px}
.fan-copy{padding:20px 22px 24px}
.fan-copy h3{font-size:1.4rem;margin:6px 0 8px;color:var(--txt)}
.fan-copy p{font-size:.88rem;line-height:1.6;margin:0 0 10px;color:var(--txt-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.route-line{font-size:.76rem;color:var(--mut);border-top:1px dashed var(--hair);padding-top:10px;margin-bottom:12px}
.fan-ctrl{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px}
.fan-dots{display:flex;gap:8px}
.fan-dots button{all:unset;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;transition:transform .4s var(--ease), opacity .4s var(--ease), background-color .4s var(--ease), border-color .4s var(--ease), color .4s var(--ease), box-shadow .4s var(--ease)}
.fan-dots button.on{width:30px;border-radius:6px;background:var(--lime)}
/* JS coverflow mode */
.fan.on .fan-track{display:block;position:relative;overflow:visible;height:var(--fh,560px);padding:0;scroll-snap-type:none}
.fan.on .fan-card{position:absolute;left:50%;top:0;width:var(--fw,340px);margin-left:calc(var(--fw,340px) / -2);cursor:pointer;will-change:transform}
.fan.on .fan-card:not(.is-c) .fan-copy{pointer-events:none}
.fan.on .fan-card.is-c{box-shadow:0 40px 80px rgba(0,0,0,.55),0 0 0 1px var(--hair-2)}
.fan.on .fan-card:not(.is-c){filter:brightness(.62) saturate(.9)}
.fan-sec{overflow:hidden}

/* ---------- 11. Island + stats ---------- */
.section.lux-island,html[data-theme="dark"] .section.lux-island{background:linear-gradient(180deg,rgba(14,34,40,.9),rgba(11,22,27,0))!important;overflow:hidden;color:var(--txt)}
.lux-island-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);align-items:center}
.lux-island h2{font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.12;margin:12px 0 0;color:var(--txt)}
.section.lux-island p{color:var(--txt-2)!important}
.lux-pin-list{list-style:none;margin:24px 0 28px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lux-pin-list a{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--hair);border-radius:12px;color:var(--txt)!important;font-size:.9rem;font-weight:400;background:rgba(18,38,44,.7);transition:transform .4s var(--ease), opacity .4s var(--ease), background-color .4s var(--ease), border-color .4s var(--ease), color .4s var(--ease), box-shadow .4s var(--ease)}
.lux-pin-list a i{width:8px;height:8px;border-radius:50%;background:var(--lime);flex:none;transition:transform .4s, opacity .4s, background-color .4s, border-color .4s, color .4s, box-shadow .4s}
.lux-pin-list a small{margin-left:auto;color:var(--mut);font-family:var(--caps);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase}
.lux-pin-list a:hover,.lux-pin-list a.hot{background:rgba(92,186,71,.12);border-color:var(--lime);transform:translateX(5px)}
.lux-pin-list a.hot i,.lux-pin-list a:hover i{box-shadow:0 0 0 6px rgba(92,186,71,.22)}
.lux-island-stage{position:relative;aspect-ratio:1/1.02;min-height:420px;border-radius:20px;background:none;border:0;touch-action:pan-y;overflow:hidden;user-select:none;-webkit-user-select:none}
/* the sea in the map texture fades to transparent, so it blends into the section colour in light and dark themes */
.tl-layer{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.tl{position:absolute;left:0;top:0;white-space:nowrap;font:600 10px/1.15 var(--caps);letter-spacing:.06em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 6px rgba(0,0,0,.7);opacity:.92;will-change:transform}
.tl small{font-weight:500;opacity:.8;letter-spacing:.03em;margin-left:4px}
.tl.mt{text-transform:uppercase;font-size:9.5px}
.tl.lk{font-weight:500;font-style:italic;letter-spacing:.04em;font-size:9px;color:#d6edf7;opacity:.82}
.tl-dot{position:absolute;left:0;top:0;width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-bottom:6px solid #fff;margin:-6px 0 0 -3.5px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.8));will-change:transform}
.tl.hide,.tl-dot.hide{visibility:hidden}
@media(max-width:520px){.tl.mt{font-size:8.5px}.tl.mt small{display:none}}
.lux-island-attr{margin:10px 2px 0;font-size:.7rem;line-height:1.5;color:var(--txt-2)}
.lux-island-attr a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.lux-island-attr a:hover{color:var(--txt)}
.lux-island-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.lux-island-tip{position:absolute;left:0;top:0;pointer-events:none;z-index:3;padding:8px 16px;border-radius:999px;font-family:var(--caps);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--lime);color:#0b161b;opacity:0;transform:translate(-50%,-140%) scale(.9);transition:opacity .3s,transform .4s var(--ease);white-space:nowrap}
.lux-island-tip.on{opacity:1;transform:translate(-50%,-140%) scale(1)}
.lux-island-hint{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:3;font-family:var(--caps);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--mut);pointer-events:none}
.lux-island-fallback{position:absolute;inset:0;display:none;align-items:center;justify-content:center;color:var(--mut);text-align:center;padding:30px}
.lux-island.no-gl .lux-island-fallback{display:flex}
.lux-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,6vw,80px);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.lux-stat{padding:34px 22px;text-align:center;border-left:1px solid var(--hair)}.lux-stat:first-child{border-left:0}
.lux-stat b{display:block;font-family:var(--head);font-weight:400;font-size:clamp(2.8rem,5.4vw,4.6rem);line-height:1;color:var(--lime)}
.lux-stat span{display:block;margin-top:10px;font-family:var(--caps);font-size:.64rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--txt-2)}

/* ---------- 12. Advantages timeline ---------- */
.adv-line{position:relative;max-width:1000px;margin:0 auto}
.adv-line:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--lime) 8%,var(--lime) 92%,transparent)}
.adv-item{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:0;padding:26px 0}
.adv-num{width:46px;height:46px;border-radius:50%;margin:0 auto;background:var(--bg);border:1px solid var(--lime);color:var(--lime);display:grid;place-items:center;font-family:var(--head);font-size:1.3rem;position:relative;z-index:2;box-shadow:0 0 0 8px var(--bg)}
.adv-text{text-align:right;padding-right:28px}
.adv-text h3{font-size:1.7rem;margin:0 0 8px;color:var(--txt)}
.adv-text p{margin:0;font-size:.95rem}
.adv-img{padding-left:28px}
.adv-img img{width:clamp(150px,18vw,230px);aspect-ratio:1;border-radius:50%;object-fit:cover;border:2px solid var(--lime);padding:6px;background:var(--bg);transition:transform .8s var(--ease)}
.adv-item:hover .adv-img img{transform:scale(1.06) rotate(3deg)}
.adv-item:nth-child(even) .adv-text{order:3;text-align:left;padding:0 0 0 28px}
.adv-item:nth-child(even) .adv-img{order:1;padding:0 28px 0 0;display:flex;justify-content:flex-end}

/* ---------- 13. Experience pills ---------- */
.experience-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:960px;margin:0 auto}
.exp-pill{display:inline-flex;align-items:center;gap:12px;padding:14px 26px 14px 18px;border:1px solid var(--hair-2);border-radius:999px;background:rgba(18,38,44,.7);transition:transform .45s var(--ease), opacity .45s var(--ease), background-color .45s var(--ease), border-color .45s var(--ease), color .45s var(--ease), box-shadow .45s var(--ease);cursor:default}
.exp-pill svg{width:22px;height:22px;stroke:var(--lime);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s, opacity .3s, background-color .3s, border-color .3s, color .3s, box-shadow .3s}
.exp-pill span{font-family:var(--caps);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--txt)}
.exp-pill:hover{background:var(--lime);transform:translateY(-4px)}.exp-pill:hover svg{stroke:#0b161b}.exp-pill:hover span{color:#0b161b}

/* ---------- 14. Fleet ---------- */
.fleet-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fleet-mini{background:var(--card);border:1px solid var(--hair);border-radius:18px;padding:18px 18px 24px;text-align:center;transition:transform .6s var(--ease), opacity .6s var(--ease), background-color .6s var(--ease), border-color .6s var(--ease), color .6s var(--ease), box-shadow .6s var(--ease)}
.fleet-mini:hover{border-color:var(--hair-2);transform:translateY(-6px);background:var(--card-2)}
.fleet-mini-img{aspect-ratio:16/10;display:grid;place-items:center;margin-bottom:12px;overflow:hidden;border-radius:12px;background:radial-gradient(circle at 50% 60%,rgba(63,138,140,.3),transparent 70%)}
.fleet-mini-img img{width:100%;height:100%;object-fit:contain}
.fleet-mini h3{font-size:1.25rem;margin:0 0 4px;color:var(--txt)}
.fleet-mini p{margin:0;font-size:.8rem;color:var(--lime);font-family:var(--caps);letter-spacing:.08em;text-transform:uppercase}

/* ---------- 15. Blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:var(--card);border:1px solid var(--hair);border-radius:18px;overflow:hidden;transition:transform .6s var(--ease), opacity .6s var(--ease), background-color .6s var(--ease), border-color .6s var(--ease), color .6s var(--ease), box-shadow .6s var(--ease);display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-6px);border-color:var(--hair-2)}
.blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1.2s var(--ease)}
.blog-card:hover img{transform:scale(1.06)}
.blog-card{overflow:hidden}
.blog-copy{padding:22px 24px 26px;background:var(--card-2);flex:1}
.blog-copy h3{font-size:1.3rem;line-height:1.3;margin:0 0 8px;color:var(--txt)}
.blog-copy p{font-size:.9rem;margin:0 0 12px}

/* ---------- 16. CTA ---------- */
.cta-band{padding:clamp(60px,8vw,100px) 0!important;background:linear-gradient(120deg,var(--card-2),var(--card) 60%)!important;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);position:relative;overflow:hidden}
.cta-band:before{content:"";position:absolute;right:-8%;top:-40%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(92,186,71,.16),transparent 68%)}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap;position:relative}
.cta-inner h2{margin:10px 0 0;max-width:20ch}.cta-inner h2:after{display:none!important}
.cta-inner p{max-width:52ch;color:var(--txt-2);margin:14px 0 0}
.cta-actions{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- 17. Inner-page polish ---------- */
.image-card,.attraction-card,.local-card,.tour-card,.day-card,.vehicle-card,.experience-card,.guide-card,.info-card,.side-card,.include-card,.included,.excluded,.notice,.quote-panel,.route-panel,.tour-facts,.route-box,.map-panel,.contact-form,.booking-form,.feature-list li,.icon-list li{
  background:var(--card)!important;border:1px solid var(--hair)!important;border-radius:16px!important;box-shadow:none!important;color:var(--txt-2)}
.image-card,.attraction-card,.local-card,.tour-card,.day-card,.vehicle-card,.experience-card,.guide-card{transition:transform .6s var(--ease),border-color .4s!important}
.image-card:hover,.attraction-card:hover,.local-card:hover,.tour-card:hover,.day-card:hover,.vehicle-card:hover,.experience-card:hover,.guide-card:hover{transform:translateY(-6px);border-color:var(--hair-2)!important}
.image-card h3,.attraction-card h3,.local-card h3,.tour-card h3,.day-card h3,.vehicle-card h3,.experience-card h3,.guide-card h3,.side-card h3,.info-card h3,.include-card h3{font-family:var(--head);color:var(--txt);font-weight:400}
.image-card-copy,.attraction-copy,.local-copy,.tour-copy,.day-copy,.vehicle-copy{color:var(--txt-2)}
.perk-icon{color:var(--lime)!important;background:rgba(92,186,71,.12)!important;border-color:var(--hair-2)!important}
.vibrant-band{background:linear-gradient(120deg,var(--card-2),var(--card))!important;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.route-chip,.route-chips span,.tag-row span,.vehicle-tags span{background:transparent!important;border:1px solid var(--hair-2)!important;color:var(--txt)!important;border-radius:999px!important;font-family:var(--caps);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase}
.timeline-marker{background:var(--lime)!important;color:#0b161b!important;border:0!important;box-shadow:0 0 0 8px rgba(92,186,71,.15)!important}
.timeline:before,.timeline-line{background:var(--hair-2)!important}
.timeline-copy{background:var(--card)!important;border:1px solid var(--hair)!important;border-radius:16px!important}
.itinerary-photo img,.attraction-media img,.local-media img,.tour-image img,.day-card img,.image-card img{transition:transform 1.2s var(--ease)}
.image-card:hover img,.attraction-card:hover img,.local-card:hover img,.tour-card:hover img{transform:scale(1.06)}
.tour-image .badge{position:absolute}
input,select,textarea{background:rgba(255,255,255,.05)!important;border:1px solid var(--hair)!important;color:var(--txt)!important;border-radius:12px!important;font-family:var(--body)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--lime)!important;box-shadow:0 0 0 3px rgba(92,186,71,.16)}
label{color:var(--txt-2)}
select option{background:#12262c;color:#fff}
.gallery-filters button{font-family:var(--caps);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;background:transparent;border:1px solid var(--hair-2);color:var(--txt);padding:10px 20px;cursor:pointer;transition:transform .3s, opacity .3s, background-color .3s, border-color .3s, color .3s, box-shadow .3s}
.gallery-filters button.active,.gallery-filters button:hover{background:var(--lime);color:#0b161b;border-color:var(--lime)}
.gallery-item{border-radius:14px;overflow:hidden;border:1px solid var(--hair)}
.mini-dest{background:var(--card);border:1px solid var(--hair);border-radius:14px}
.map-panel iframe{filter:invert(.9) hue-rotate(180deg) saturate(.6)}
.whatsapp-float{background:var(--lime)!important;color:#0b161b!important;font-family:var(--caps);font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.45)!important}
.to-top{background:var(--card-2)!important;color:var(--lime)!important;border:1px solid var(--hair-2)!important}
.faq-item,details{background:var(--card);border:1px solid var(--hair);border-radius:14px}

/* ---------- 18. Footer ---------- */
.site-footer{background:linear-gradient(180deg,#0b161b,#071013)!important;border-top:1px solid var(--hair);padding:clamp(56px,7vw,96px) 0 0!important;position:relative;overflow:hidden;color:var(--txt-2)}
.site-footer:after{content:"SWAN LANKA";position:absolute;left:50%;bottom:-.22em;transform:translateX(-50%);font-family:var(--caps);font-weight:800;font-size:clamp(4rem,15vw,15rem);letter-spacing:.04em;color:rgba(92,186,71,.05);white-space:nowrap;pointer-events:none;line-height:1}
.footer-grid{display:grid!important;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:clamp(24px,4vw,64px);position:relative;z-index:2}
.footer-brand img{width:150px;margin-bottom:14px}
.site-footer h3{font-family:var(--caps)!important;font-size:.7rem!important;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--lime)!important;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--hair)}
.site-footer a{color:var(--txt-2);transition:color .3s,padding .3s}
.footer-grid>div>a{display:block;padding:5px 0;font-size:.92rem}
.footer-grid>div>a:hover{color:var(--lime);padding-left:6px}
.site-footer p{margin:0 0 10px;font-size:.92rem;color:var(--txt-2)}
.site-footer .contact-pill{display:inline-flex;margin-top:8px;color:#0b161b!important}
.footer-bottom{display:flex!important;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:26px 0 30px!important;margin-top:48px;border-top:1px solid var(--hair);font-size:.76rem;color:var(--mut);position:relative;z-index:2;font-family:var(--caps);letter-spacing:.08em}

/* ---------- 19. Preloader ---------- */
.lux-loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:26px;transition:clip-path 1s var(--ease) .1s;clip-path:inset(0 0 0 0)}
.lux-loader.done{clip-path:inset(0 0 100% 0);pointer-events:none}
.lux-loader img{width:min(200px,50vw);animation:swfloat 2.4s ease-in-out infinite}
.lux-loader .bar{width:min(240px,56vw);height:2px;background:rgba(255,255,255,.12);position:relative;overflow:hidden}
.lux-loader .bar:after{content:"";position:absolute;inset:0;background:var(--lime);animation:swload 1.1s var(--ease) infinite}
@keyframes swload{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes swfloat{50%{transform:translateY(-8px)}}
html.lux-pre body:before{content:"";position:fixed;inset:0;background:var(--bg);z-index:9998;animation:swfail 0s 4s forwards}
@keyframes swfail{to{opacity:0;visibility:hidden}}

/* ---------- 20. Motion ---------- */
.lux-split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.lux-split .w>span{display:inline-block;transform:translateY(112%);opacity:0;transition:transform 1.1s var(--ease),opacity .9s;transition-delay:calc(var(--i)*60ms + var(--d,0ms))}
.hero-slide.is-active .lux-split .w>span,.lux-split.in .w>span{transform:none;opacity:1}
.reveal{transform:translateY(40px);transition:opacity .9s ease,transform 1.1s var(--ease)!important;transition-delay:var(--rd,0ms)!important}
.reveal.in{transform:none}
.lux-tilt{will-change:transform}
.lux-tilt.is-tilting{transition:transform .08s linear!important}

/* ---------- 21. Tablet ---------- */
@media(max-width:1100px){
  .nav-search{display:none}
  .w-card{flex-basis:calc((100% - 44px)/3)}
  .reason-grid{grid-template-columns:repeat(3,1fr)}.reason:nth-child(4){border-left:0}.reason:nth-child(n+4){border-top:1px solid var(--hair)}
  .fleet-mini-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .lux-island-grid,.collage-grid{grid-template-columns:1fr}
  .lux-island-stage{min-height:380px;aspect-ratio:1/1}
  .blog-grid{grid-template-columns:1fr 1fr}
  .w-card{flex-basis:calc((100% - 22px)/2)}
  .hero-features .container{grid-template-columns:repeat(2,1fr)}
  .wonders-next,.wonders-prev{display:none}
}
/* ---------- 22. Mobile ---------- */
@media(max-width:980px){
  :root{--header-h:70px}
  .container,.container-wide{width:min(100% - 36px,1200px)}
  .utility-bar{display:none!important}
  .nav-wrap{height:68px!important;gap:12px}
  .brand,.brand img{width:96px!important;flex-basis:96px!important}
  .menu-toggle{margin-left:auto;display:flex!important}
  .nav-cta{display:none!important}
  .main-nav{position:fixed!important;inset:0 0 0 auto!important;width:min(86vw,360px)!important;height:100dvh!important;background:rgba(7,15,19,.98)!important;backdrop-filter:blur(18px);padding:84px 24px 30px!important;transform:translateX(105%);transition:transform .6s var(--ease);overflow:auto;border-left:1px solid var(--hair);margin:0!important;z-index:60}
  .main-nav.open{transform:none}
  .main-nav>ul{flex-direction:column;align-items:stretch;gap:0}
  .nav-item>a,.main-nav a{padding:15px 4px!important;font-size:.78rem!important;border-bottom:1px solid var(--hair)}
  .nav-item>a:after{display:none}
  .dropdown-menu{position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;box-shadow:none!important;border:0!important;background:transparent!important;padding:0 0 6px 12px!important;display:none}
  .nav-item.open .dropdown-menu,.nav-item.is-open .dropdown-menu{display:block}
  .nav-search.in-drawer{display:block;flex:none;margin-bottom:18px}
}
@media(max-width:820px){
  .hero-slider{min-height:640px!important}
  .hero-content{padding-bottom:230px;padding-top:80px}
  .hero-content h1,.hero-content h2.hero-title{font-size:clamp(1.9rem,9vw,3rem)!important;max-width:12ch!important}
  .hero-content p{font-size:.92rem!important}
  .hero-actions{flex-direction:column;align-items:stretch;width:100%;max-width:300px}
  .hero-dots{top:auto!important;bottom:206px!important;left:50%!important;transform:translateX(-50%)!important;flex-direction:row;gap:18px!important}
  .hero-dot:after{display:none}.hero-dot.active{color:var(--lime)}
  .hero-features{padding-top:18px}
  .hero-features .container{width:100%;grid-template-columns:repeat(2,1fr)}
  .hf-item{padding:14px 12px 16px;gap:10px}.hf-ico{width:28px;height:28px}
  .hf-item strong{font-size:.76rem}.hf-item span{font-size:.68rem}
  .section-head{margin-bottom:34px!important}
  .w-card{flex-basis:78%;aspect-ratio:3/4}
  .w-copy{transform:none}.w-copy p,.w-copy a{opacity:1}
  .reason-grid{grid-template-columns:repeat(2,1fr)}.reason:nth-child(n){border-left:1px solid var(--hair);border-top:1px solid var(--hair)}.reason:nth-child(odd){border-left:0}.reason:nth-child(-n+2){border-top:0}
  .collage-photos{grid-auto-rows:52px;gap:8px}
  .callout-banner{min-height:520px}
  .callout-frame{width:46%;top:46%}
  .callout{padding:10px 14px}.callout strong{font-size:1.15rem}.callout:before{display:none}
  .callout.c1{left:4%;top:6%}.callout.c2{right:4%;top:auto;bottom:22%}.callout.c3{left:4%;bottom:6%}
  .callout-foot{flex-direction:column;align-items:flex-start}
  .lux-pin-list{grid-template-columns:1fr 1fr}
  .lux-stats-grid{grid-template-columns:repeat(2,1fr)}.lux-stat:nth-child(3){border-left:0}.lux-stat:nth-child(n+3){border-top:1px solid var(--hair)}
  .adv-line:before{left:23px}
  .adv-item,.adv-item:nth-child(even){grid-template-columns:46px 1fr;gap:0 18px;padding:22px 0}
  .adv-num{order:1;grid-row:1/3;align-self:start}
  .adv-item .adv-text,.adv-item:nth-child(even) .adv-text{order:2;text-align:left;padding:0}
  .adv-item .adv-img,.adv-item:nth-child(even) .adv-img{order:3;padding:14px 0 0;display:block;grid-column:2}
  .adv-img img{width:120px}
  .experience-pills{gap:10px}.exp-pill{padding:11px 18px 11px 14px}.exp-pill span{font-size:.64rem}
  .fleet-mini-grid{gap:12px}.fleet-mini{padding:12px 12px 18px}
  .blog-grid{grid-template-columns:1fr}
  .cta-inner{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-brand{grid-column:1/-1}
  .inner-hero{min-height:400px!important}
  .inner-hero>.container,.inner-hero-content{padding-top:110px!important;padding-bottom:40px!important}
  .detail-grid,.split,.article-layout,.contact-grid,.booking-layout,.tour-intro-grid{grid-template-columns:1fr!important}
  .cards-grid,.attraction-grid,.local-grid,.tour-grid,.day-grid,.vehicle-grid,.guide-grid,.experience-card-grid,.values-grid{grid-template-columns:1fr!important}
  .field-row{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .w-card{flex-basis:84%}
  .lux-pin-list{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .collage-photos{grid-auto-rows:44px}
  .fleet-mini-grid{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .lux-split .w>span{transform:none!important;opacity:1!important;transition:none!important}
  .lux-loader{display:none}
  html{scroll-behavior:auto}
}

@media(max-width:980px){.dropdown.open .dropdown-menu{display:block!important}}

/* fixes */
.hero-dot,.hero-dot.active{background:none!important;width:auto!important;height:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
.nav-search{flex:0 1 190px;min-width:150px}
.nav-wrap{gap:18px}
.brand,.brand img{width:112px!important;flex-basis:112px!important}
.nav-item>a,.main-nav a{padding:30px 9px!important;font-size:.66rem!important;letter-spacing:.08em}
.nav-item>a:after{left:9px;right:9px}
.nav-cta{padding:10px 18px!important;font-size:.64rem!important}
@media(min-width:1101px) and (max-width:1320px){.nav-search{display:none}}
.hero-content h1,.hero-content h2.hero-title{font-size:clamp(2rem,4.3vw,4.6rem)!important;max-width:19ch!important}
.collage-photos{grid-template-rows:repeat(7,62px)}
.collage-photos img:nth-child(1){grid-column:1/4;grid-row:1/5}
.collage-photos img:nth-child(1){grid-column:1/4}
.collage-photos img:nth-child(2){grid-column:4/7;grid-row:1/4}
.collage-photos img:nth-child(3){grid-column:4/7;grid-row:4/8}
.collage-photos img:nth-child(4){grid-column:1/3;grid-row:5/8}
.collage-photos img:nth-child(5){grid-column:3/4;grid-row:5/8}
.fan-img .badge,.tour-image .badge{position:absolute!important;left:14px!important;top:auto!important;right:auto!important;bottom:14px!important;width:auto!important;height:auto!important;min-height:0!important;transform:none!important;background:var(--lime)!important;color:#0b161b!important;padding:6px 14px!important;border-radius:999px!important;line-height:1.3!important;writing-mode:horizontal-tb!important;display:inline-block}
.adv-item .adv-text{grid-column:1;grid-row:1}.adv-item .adv-num{grid-column:2;grid-row:1}.adv-item .adv-img{grid-column:3;grid-row:1}
.adv-item:nth-child(even) .adv-img{grid-column:1}.adv-item:nth-child(even) .adv-num{grid-column:2}.adv-item:nth-child(even) .adv-text{grid-column:3}
.adv-item:nth-child(even) .adv-img{justify-content:flex-end;display:flex}
@media(max-width:820px){
  .adv-item .adv-num,.adv-item:nth-child(even) .adv-num{grid-column:1;grid-row:1/3}
  .adv-item .adv-text,.adv-item:nth-child(even) .adv-text{grid-column:2;grid-row:1}
  .adv-item .adv-img,.adv-item:nth-child(even) .adv-img{grid-column:2;grid-row:2;display:block;padding:14px 0 0}
}
html[data-theme="dark"] .fan-img .badge,html[data-theme="dark"] .tour-image .badge,html[data-theme="dark"] .badge{background:var(--lime)!important;color:#0b161b!important;border:0!important}
.fleet-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.fleet-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fleet-mini{min-width:0}
.exp-pill,.exp-pill.is-static{min-height:0!important;flex-direction:row!important;justify-content:flex-start!important;border-radius:999px!important;padding:14px 26px 14px 18px!important;width:auto;height:auto;aspect-ratio:auto}
.exp-pill svg{flex:none}
.exp-pill:hover,.exp-pill.is-static:hover{background:var(--lime)!important;transform:translateY(-4px)!important}
.exp-pill span{font-family:var(--caps)!important;font-size:.7rem!important}
@media(max-width:820px){.exp-pill,.exp-pill.is-static{padding:11px 18px 11px 14px!important}.exp-pill span{font-size:.64rem!important}}
.footer-bottom span span{display:inline!important}
.menu-toggle{width:44px;height:44px;display:none;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;background:transparent!important;border:0!important;z-index:70}
.menu-toggle span{display:block;height:2px;width:26px;border-radius:2px}.menu-toggle span:nth-child(2){width:18px}
@media(max-width:980px){.menu-toggle{display:flex!important}}
.main-nav .ns-results a{font-family:var(--body)!important;text-transform:none!important;letter-spacing:0!important;font-size:.88rem!important;font-weight:400!important;padding:10px 12px!important;border-bottom:0!important}
.main-nav .ns-results a small{font-family:var(--caps);font-size:.6rem}
.nav-search input,.nav-search input:focus{border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:0!important;outline:0}
.nav-search input[type=search]::-webkit-search-cancel-button{display:none}
html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .micro,.eyebrow,.micro{color:var(--lime)!important}

/* dropdown spacing */
.main-nav .dropdown-menu a{padding:8px 14px!important;line-height:1.35!important;min-height:0!important;margin:0!important;border:0!important;font-size:.86rem!important}
.main-nav .dropdown-menu{padding:8px!important;gap:0!important;max-height:min(70vh,460px);overflow-y:auto}
.main-nav .dropdown-menu li{margin:0!important}
.main-nav .dropdown-menu::-webkit-scrollbar{width:6px}.main-nav .dropdown-menu::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:6px}

/* taller hero + clearance below header */
.hero-slider{min-height:max(100svh,860px)!important;max-height:none!important}
.hero-content{padding-top:210px!important;padding-bottom:190px!important;justify-content:center}
@media(max-width:980px){.hero-slider{min-height:max(100svh,760px)!important}.hero-content{padding-top:150px!important;padding-bottom:250px!important}}
@media(max-width:820px){.hero-slider{min-height:max(100svh,780px)!important}.hero-content{padding-top:140px!important;padding-bottom:260px!important}}

/* ---------- Language switcher ---------- */
.utility-bar{overflow:visible!important}
.site-header.scrolled .utility-bar{overflow:hidden!important}
.lang-sw{position:relative;display:inline-block}
.lang-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-family:var(--caps);font-size:.64rem;font-weight:700;letter-spacing:.14em;color:var(--txt-2);padding:4px 10px;border:1px solid var(--hair);border-radius:999px;transition:transform .3s, opacity .3s, background-color .3s, border-color .3s, color .3s, box-shadow .3s}
.lang-btn svg{width:14px;height:14px;stroke:var(--lime);fill:none;stroke-width:1.7;stroke-linecap:round}
.lang-btn:hover,.lang-sw.open .lang-btn{color:#fff;border-color:var(--lime)}
.lang-chev{width:5px;height:5px;border-right:1.5px solid var(--lime);border-bottom:1.5px solid var(--lime);transform:rotate(45deg) translateY(-2px);transition:transform .3s, opacity .3s, background-color .3s, border-color .3s, color .3s, box-shadow .3s}
.lang-sw.open .lang-chev{transform:rotate(-135deg)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;max-height:min(70vh,420px);overflow:auto;margin:0;padding:6px;list-style:none;background:rgba(9,20,25,.98);border:1px solid var(--hair);border-radius:14px;box-shadow:0 30px 60px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(-6px);transition:transform .3s var(--ease), opacity .3s var(--ease), background-color .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease);z-index:90}
.lang-sw.open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-menu button{all:unset;box-sizing:border-box;display:block;width:100%;padding:9px 14px;border-radius:9px;font-family:var(--body);font-size:.88rem;color:var(--txt-2);cursor:pointer}
.lang-menu button:hover{background:rgba(92,186,71,.12);color:var(--lime)}
.lang-menu button.on{color:var(--lime);font-weight:700}
@media(max-width:980px){
  .lang-sw.in-bar{display:none}
  .lang-sw.in-drawer{display:block;margin-top:22px}
  .lang-sw.in-drawer .lang-btn{padding:10px 16px;font-size:.72rem}
  .lang-sw.in-drawer .lang-menu{position:static;box-shadow:none;margin-top:8px;display:none;opacity:1;visibility:visible;transform:none;max-height:260px}
  .lang-sw.in-drawer.open .lang-menu{display:block}
}
html.lang-busy body{cursor:progress}
/* hide Google's own UI */
body{top:0!important}
.goog-te-banner-frame,iframe.skiptranslate,.goog-te-balloon-frame,#goog-gt-tt,.goog-tooltip{display:none!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
font{background:none!important;box-shadow:none!important}
.lang-menu,.lang-menu button{text-transform:none!important;letter-spacing:0!important;font-family:var(--body)!important}
.lang-menu button{font-size:.9rem!important;font-weight:400!important}.lang-menu button.on{font-weight:700!important}

/* switcher placements */
.lang-sw.in-nav{margin-left:14px;flex:none}
.lang-sw.in-nav .lang-btn{padding:9px 13px;background:rgba(255,255,255,.08);font-size:.66rem}
.lang-sw.in-float{position:fixed;left:18px;bottom:18px;z-index:80;margin:0;display:block!important}
.lang-sw.in-float .lang-btn{padding:11px 16px;background:rgba(9,20,25,.88);backdrop-filter:blur(10px);border-color:var(--hair-2);box-shadow:0 12px 30px rgba(0,0,0,.4);color:#fff}
.lang-sw.in-float .lang-menu{right:auto;left:0;top:auto;bottom:calc(100% + 8px);transform:translateY(6px)}
.lang-sw.in-float.open .lang-menu{transform:none}
.lang-toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);background:#0e1d23;color:#fff;border:1px solid var(--hair-2);padding:12px 20px;border-radius:12px;font-size:.88rem;opacity:0;pointer-events:none;transition:transform .4s var(--ease), opacity .4s var(--ease), background-color .4s var(--ease), border-color .4s var(--ease), color .4s var(--ease), box-shadow .4s var(--ease);z-index:100}
.lang-toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){
  .lang-sw.in-nav{display:block!important;margin-left:auto}
  .menu-toggle{margin-left:6px!important}
  .lang-sw.in-nav .lang-menu{right:-50px}
  .lang-sw.in-float{left:12px;bottom:12px}
}
@media(max-width:560px){.lang-sw.in-nav .lang-btn{padding:8px 10px}.lang-sw.in-nav .lang-chev{display:none}}
@media(min-width:981px) and (max-width:1560px){
  .nav-wrap{gap:12px}
  .brand,.brand img{width:96px!important;flex-basis:96px!important}
  .nav-search{flex:0 1 140px;min-width:110px}
  .nav-item>a,.main-nav a{padding:30px 7px!important;font-size:.62rem!important;letter-spacing:.06em}
  .nav-item>a:after{left:7px;right:7px}
  .nav-cta{padding:9px 14px!important;font-size:.6rem!important}
  .lang-sw.in-nav{margin-left:4px}
}
@media(min-width:981px) and (max-width:1180px){.nav-search{display:none}}

/* ---------- Theme toggle button ---------- */
.theme-tg{all:unset;box-sizing:border-box;flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;border:1px solid var(--hair);background:rgba(255,255,255,.08);margin-left:10px;transition:transform .3s, opacity .3s, background-color .3s, border-color .3s, color .3s, box-shadow .3s;color:#fff}
.theme-tg svg{grid-area:1/1;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s var(--ease), opacity .45s var(--ease), background-color .45s var(--ease), border-color .45s var(--ease), color .45s var(--ease), box-shadow .45s var(--ease)}
.theme-tg:hover{border-color:var(--lime);color:var(--lime)}
.theme-tg .i-moon{opacity:0;transform:rotate(-60deg) scale(.5)}
html[data-theme="light"] .theme-tg .i-sun{opacity:0;transform:rotate(60deg) scale(.5)}
html[data-theme="light"] .theme-tg .i-moon{opacity:1;transform:none}
@media(max-width:980px){.theme-tg{margin-left:auto}.lang-sw.in-nav{margin-left:8px!important}}
@media(max-width:560px){.theme-tg{width:34px;height:34px}}

/* =====================================================================
   LIGHT THEME
   ===================================================================== */
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f3f7f1; --bg-2:#e9f0e6; --card:#ffffff; --card-2:#eef4ec; --card-3:#dbe8d8;
  --txt:#12262c; --txt-2:#3b5258; --mut:#62777b;
  --hair:rgba(18,38,44,.12); --hair-2:rgba(63,143,51,.45);
  --ink:#12262c;--paper:#ffffff;--soft:#e9f0e6;--muted:#62777b;--line:rgba(18,38,44,.12);
  --lime-txt:#2f7a28;
}
html[data-theme="light"] body{background:radial-gradient(1100px 640px at 50% -8%,rgba(92,186,71,.16),transparent 70%),radial-gradient(900px 600px at 100% 40%,rgba(63,143,140,.10),transparent 70%),var(--bg)!important;color:var(--txt-2)}
html[data-theme="light"] h1,html[data-theme="light"] h2,html[data-theme="light"] h3,html[data-theme="light"] h4{color:var(--txt)}
html[data-theme="light"] p{color:var(--txt-2)}
/* header */
html[data-theme="light"] .site-header.scrolled{background:rgba(255,255,255,.92)!important;box-shadow:0 1px 0 var(--hair),0 10px 30px rgba(18,38,44,.06)}
html[data-theme="light"] .site-header.scrolled .nav-item>a,html[data-theme="light"] .site-header.scrolled .main-nav a{color:#12262c}
html[data-theme="light"] .site-header.scrolled .nav-item>a:hover,html[data-theme="light"] .site-header.scrolled .nav-item.active>a{color:var(--lime-txt)}
html[data-theme="light"] .site-header.scrolled .nav-cta{color:var(--lime-txt)!important;border-color:var(--lime-txt)!important}
html[data-theme="light"] .site-header.scrolled .nav-cta:hover{background:var(--lime-txt)!important;color:#fff!important}
html[data-theme="light"] .site-header.scrolled .nav-search form,html[data-theme="light"] .site-header.scrolled .theme-tg,html[data-theme="light"] .site-header.scrolled .lang-btn{background:rgba(18,38,44,.06);border-color:var(--hair);color:#12262c}
html[data-theme="light"] .site-header.scrolled .nav-search input{color:#12262c}
html[data-theme="light"] .site-header.scrolled .nav-search input::placeholder{color:#62777b}
html[data-theme="light"] .site-header.scrolled .nav-search svg{stroke:#3b5258}
html[data-theme="light"] .site-header.scrolled .brand img{filter:none}
html[data-theme="light"] .site-header.scrolled .menu-toggle span{background:#2f7a28!important}
html[data-theme="light"] .dropdown-menu,html[data-theme="light"] .ns-results,html[data-theme="light"] .lang-menu{background:rgba(255,255,255,.98)!important;border-color:var(--hair)!important;box-shadow:0 24px 60px rgba(18,38,44,.18)!important}
html[data-theme="light"] .dropdown-menu a,html[data-theme="light"] .ns-results a,html[data-theme="light"] .lang-menu button{color:#2b4046!important}
html[data-theme="light"] .dropdown-menu a:hover,html[data-theme="light"] .ns-results a:hover,html[data-theme="light"] .ns-results a.sel,html[data-theme="light"] .lang-menu button:hover{background:rgba(92,186,71,.14)!important;color:var(--lime-txt)!important}
html[data-theme="light"] .dropdown-all,html[data-theme="light"] .lang-menu button.on{color:var(--lime-txt)!important}
/* text accents readable on light */
html[data-theme="light"] .eyebrow,html[data-theme="light"] .micro,html[data-theme="light"] html .eyebrow{color:var(--lime-txt)!important}
html[data-theme="light"] .hero-content .eyebrow,html[data-theme="light"] .inner-hero .eyebrow,html[data-theme="light"] .hero-features .eyebrow{color:var(--lime-2)!important}
html[data-theme="light"] .text-link,html[data-theme="light"] .image-card-copy a,html[data-theme="light"] .day-copy a,html[data-theme="light"] .guide-card a,html[data-theme="light"] .tour-copy a{color:var(--lime-txt)!important}
html[data-theme="light"] .section-head h2,html[data-theme="light"] .detail-main h2,html[data-theme="light"] .tour-intro-grid h2,html[data-theme="light"] .experience-head h2,html[data-theme="light"] .form-head h2,html[data-theme="light"] .contact-details h2,html[data-theme="light"] .article-section h2,html[data-theme="light"] .collage-copy h2,html[data-theme="light"] .lux-island h2{color:var(--txt)!important}
html[data-theme="light"] .section-head p{color:var(--mut)!important}
html[data-theme="light"] .body-lg,html[data-theme="light"] .detail-main p,html[data-theme="light"] .article-main p,html[data-theme="light"] .tour-intro-grid p,html[data-theme="light"] .collage-copy p,html[data-theme="light"] .section.lux-island p{color:var(--txt-2)!important}
/* ghost button on light sections */
html[data-theme="light"] .btn-ghost,html[data-theme="light"] .btn-light{color:#12262c!important;border-color:rgba(18,38,44,.4)!important}
html[data-theme="light"] .btn-ghost:hover,html[data-theme="light"] .btn-light:hover{background:#12262c!important;color:#fff!important;border-color:#12262c!important}
html[data-theme="light"] .hero-actions .btn-ghost,html[data-theme="light"] .cta-actions .btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.55)!important}
html[data-theme="light"] .hero-actions .btn-ghost:hover{background:#fff!important;color:#0b161b!important}
/* sections */
html[data-theme="light"] .section-soft{background:linear-gradient(180deg,rgba(92,186,71,.09),rgba(243,247,241,0))!important}
html[data-theme="light"] .section-dark{background:linear-gradient(180deg,#e6efe3,#f3f7f1)!important}
html[data-theme="light"] .reasons{background:linear-gradient(180deg,rgba(92,186,71,.10),rgba(243,247,241,0))!important}
html[data-theme="light"] .section.lux-island{background:linear-gradient(180deg,rgba(92,186,71,.09),rgba(243,247,241,0))!important}
html[data-theme="light"] .reason h3,html[data-theme="light"] .exp-pill span,html[data-theme="light"] .fleet-mini h3,html[data-theme="light"] .adv-text h3,html[data-theme="light"] .blog-copy h3,html[data-theme="light"] .fan-copy h3{color:var(--txt)}
html[data-theme="light"] .reason-ico svg,html[data-theme="light"] .exp-pill svg{stroke:var(--lime-txt)}
html[data-theme="light"] .reason:hover .reason-ico svg,html[data-theme="light"] .exp-pill:hover svg{stroke:#0b161b}
html[data-theme="light"] .exp-pill{background:#fff;border-color:var(--hair-2)}
html[data-theme="light"] .exp-pill:hover span{color:#0b161b}
html[data-theme="light"] .fan.on .fan-card:not(.is-c){filter:brightness(.82) saturate(.9)}
html[data-theme="light"] .fan-card,html[data-theme="light"] .blog-card,html[data-theme="light"] .fleet-mini{box-shadow:0 14px 40px rgba(18,38,44,.08)}
html[data-theme="light"] .fan-card.is-c{box-shadow:0 30px 70px rgba(18,38,44,.2),0 0 0 1px var(--hair-2)!important}
html[data-theme="light"] .route-line,html[data-theme="light"] .fan-copy p{color:var(--txt-2)}
html[data-theme="light"] .blog-copy{background:var(--card-2)}
html[data-theme="light"] .fleet-mini-img{background:radial-gradient(circle at 50% 60%,rgba(92,186,71,.22),transparent 70%)}
html[data-theme="light"] .fleet-mini p,html[data-theme="light"] .lux-stat b{color:var(--lime-txt)}
html[data-theme="light"] .lux-stat span,html[data-theme="light"] .chip-row span,html[data-theme="light"] .callout-note strong{color:var(--txt)}
html[data-theme="light"] .callout-note span{color:var(--mut)}
html[data-theme="light"] .lux-pin-list a{background:#fff;color:var(--txt)!important}
html[data-theme="light"] .lux-pin-list a:hover,html[data-theme="light"] .lux-pin-list a.hot{background:rgba(92,186,71,.14)}
html[data-theme="light"] .lux-island-stage{background:none}
html[data-theme="light"] .lux-island-hint{color:var(--mut)}
html[data-theme="light"] .adv-num{background:var(--bg);color:var(--lime-txt);border-color:var(--lime-txt);box-shadow:0 0 0 8px var(--bg)}
html[data-theme="light"] .adv-img img{background:var(--bg)}
html[data-theme="light"] .collage-chip{background:rgba(255,255,255,.92)}
html[data-theme="light"] .collage-chip strong{color:var(--lime-txt)}
html[data-theme="light"] .collage-chip span{color:var(--txt-2)}
html[data-theme="light"] .cta-band{background:linear-gradient(120deg,#dcebd8,#eef5ec 60%)!important}
html[data-theme="light"] .cta-inner h2{color:var(--txt)!important}
html[data-theme="light"] .round-btn.sm{box-shadow:0 8px 20px rgba(18,38,44,.15)}
html[data-theme="light"] .fan-dots button{background:rgba(18,38,44,.22)}
html[data-theme="light"] .fan-dots button.on{background:var(--lime-txt)}
/* inner pages */
html[data-theme="light"] .image-card,html[data-theme="light"] .attraction-card,html[data-theme="light"] .local-card,html[data-theme="light"] .tour-card,html[data-theme="light"] .day-card,html[data-theme="light"] .vehicle-card,html[data-theme="light"] .experience-card,html[data-theme="light"] .guide-card,html[data-theme="light"] .info-card,html[data-theme="light"] .side-card,html[data-theme="light"] .include-card,html[data-theme="light"] .included,html[data-theme="light"] .excluded,html[data-theme="light"] .notice,html[data-theme="light"] .quote-panel,html[data-theme="light"] .route-panel,html[data-theme="light"] .tour-facts,html[data-theme="light"] .route-box,html[data-theme="light"] .map-panel,html[data-theme="light"] .contact-form,html[data-theme="light"] .booking-form,html[data-theme="light"] .feature-list li,html[data-theme="light"] .icon-list li,html[data-theme="light"] .timeline-copy,html[data-theme="light"] .mini-dest,html[data-theme="light"] .faq-item,html[data-theme="light"] details{background:#fff!important;border-color:var(--hair)!important;color:var(--txt-2);box-shadow:0 10px 30px rgba(18,38,44,.06)!important}
html[data-theme="light"] .image-card-copy,html[data-theme="light"] .attraction-copy,html[data-theme="light"] .local-copy,html[data-theme="light"] .tour-copy,html[data-theme="light"] .day-copy,html[data-theme="light"] .vehicle-copy{color:var(--txt-2)}
html[data-theme="light"] .image-card h3,html[data-theme="light"] .attraction-card h3,html[data-theme="light"] .local-card h3,html[data-theme="light"] .tour-card h3,html[data-theme="light"] .day-card h3,html[data-theme="light"] .vehicle-card h3,html[data-theme="light"] .experience-card h3,html[data-theme="light"] .guide-card h3,html[data-theme="light"] .side-card h3,html[data-theme="light"] .info-card h3,html[data-theme="light"] .include-card h3,html[data-theme="light"] .detail-main h3,html[data-theme="light"] .timeline-copy h3{color:var(--txt)}
html[data-theme="light"] .image-card-shade{background:linear-gradient(180deg,transparent 30%,rgba(6,14,18,.85))}
html[data-theme="light"] .image-card .image-card-copy,html[data-theme="light"] .image-card .image-card-copy h3,html[data-theme="light"] .image-card .image-card-copy p{color:#fff}
html[data-theme="light"] .route-chip,html[data-theme="light"] .route-chips span,html[data-theme="light"] .tag-row span,html[data-theme="light"] .vehicle-tags span{color:var(--txt)!important;background:#fff!important}
html[data-theme="light"] .vibrant-band{background:linear-gradient(120deg,#dcebd8,#eef5ec)!important}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:#fff!important;color:var(--txt)!important;border-color:rgba(18,38,44,.2)!important}
html[data-theme="light"] select option{background:#fff;color:#12262c}
html[data-theme="light"] label{color:var(--txt-2)}
html[data-theme="light"] .map-panel iframe{filter:none}
html[data-theme="light"] .gallery-filters button{color:var(--txt);border-color:var(--hair-2)}
html[data-theme="light"] .to-top{background:#fff!important;color:var(--lime-txt)!important}
html[data-theme="light"] .timeline-marker{color:#0b161b!important}
/* footer */
html[data-theme="light"] .site-footer{background:linear-gradient(180deg,#e4eee1,#d5e5d1)!important}
html[data-theme="light"] .site-footer:after{color:rgba(18,38,44,.05)}
html[data-theme="light"] .site-footer h3{color:var(--lime-txt)!important}
html[data-theme="light"] .site-footer a,html[data-theme="light"] .site-footer p{color:var(--txt-2)}
html[data-theme="light"] .site-footer a:hover{color:var(--lime-txt)}
html[data-theme="light"] .site-footer .contact-pill{color:#0b161b!important}
html[data-theme="light"] .footer-bottom{color:var(--mut)}
html[data-theme="light"] .lang-btn{color:#fff}
html[data-theme="light"] .lang-sw.in-float .lang-btn{background:rgba(255,255,255,.92);color:#12262c}
html[data-theme="light"] .lux-loader{background:var(--bg)}
html[data-theme="light"] .lang-toast{background:#fff;color:#12262c}
html[data-theme="light"] .nav-search input,html[data-theme="light"] .nav-search input:focus{background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important}
html[data-theme="light"] .site-header.scrolled .nav-search input{color:#12262c!important}
html[data-theme="light"] .utility-bar,html[data-theme="light"] .utility-tag,html[data-theme="light"] .utility-actions>a{color:#dfe8e5!important}
html[data-theme="light"] .utility-actions>a:hover{color:var(--lime-2)!important}

/* ---------- Social links ---------- */
.soc-title{font-family:var(--caps)!important;font-size:.64rem!important;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)!important;margin:22px 0 10px!important;font-weight:600}
.social-row{display:flex;flex-wrap:wrap;gap:10px}
.soc{width:42px;height:42px;border-radius:50%;display:grid!important;place-items:center;border:1px solid var(--hair-2);background:rgba(92,186,71,.06);transition:transform .4s var(--ease), opacity .4s var(--ease), background-color .4s var(--ease), border-color .4s var(--ease), color .4s var(--ease), box-shadow .4s var(--ease);padding:0!important}
.soc svg{width:19px;height:19px;stroke:var(--lime);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s, opacity .3s, background-color .3s, border-color .3s, color .3s, box-shadow .3s}
.soc:hover{background:var(--lime);border-color:var(--lime);transform:translateY(-4px)}
.soc:hover svg{stroke:#0b161b}
.site-footer .footer-grid>div>a.soc{padding:0!important}
.site-footer .footer-grid>div>a.soc:hover{padding:0!important}
.social-row.big{justify-content:center;margin-top:30px}
.social-row.big .soc{width:52px;height:52px}.social-row.big .soc svg{width:23px;height:23px}
html[data-theme="light"] .soc svg{stroke:var(--lime-txt)}
html[data-theme="light"] .soc:hover svg{stroke:#0b161b}
html[data-theme="light"] .soc{background:#fff}

/* ---------- Google map panels ---------- */
.map-panel{padding:10px!important;border-radius:22px!important;overflow:hidden}
.map-panel iframe,.map-panel iframe:not(.x){filter:none!important;width:100%!important;height:clamp(320px,46vw,480px)!important;min-height:320px;border:0!important;border-radius:14px!important;display:block;background:#e8e6e1}
.map-caption{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:18px 14px 8px}
.map-caption h3{font-size:1.3rem;margin:0 0 4px}.map-caption p{margin:0;font-size:.9rem}
.tour-route-map{height:clamp(320px,46vw,460px)!important;border-radius:14px!important;background:#e8e6e1}
@media(max-width:820px){.map-panel iframe{height:340px!important}.map-caption{padding:16px 6px 6px}.map-caption .btn{width:100%}}
