:root {
  color-scheme: light;
  color: #0f172a;
  background: #f8fafc;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  font-synthesis: none;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  min-height: 100vh;
  background: linear-gradient(180deg, #020e28 0%, #05163d 55%, #07182f 100%);
  color: #f8fafc;
}
.home {
  background: #f8fafc;
  color: #0f172a;
}
.home .site-header {
  background: rgba(2, 18, 43, 0.96);
}
.home .site-header.solid {
  background: rgba(2, 18, 43, 0.96);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.home .section-light {
  background: #ffffff;
}
.home .section-light .section-header h2,
.home .section-light .section-header p {
  color: #0f172a;
}
img {
  max-width: 100%;
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  border: none;
  background: none;
}
.container {
  width: min(1200px, calc(100% - 2rem));
  margin: 0 auto;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, 0.9);
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(18px);
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, border 0.3s ease;
}
.site-header.solid {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid rgba(15, 23, 42, 0.12);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  min-height: 72px;
}
.brand {
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #fff;
  font-size: 1.1rem;
}
.nav-links {
  display: flex;
  gap: 2rem;
  align-items: center;
}
.nav-links a {
  color: #0f172a;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}
.nav-links a:hover {
  color: #2563eb;
}
.menu-toggle {
  display: none;
  font-weight: 700;
  color: #eef2ff;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.9rem 1.7rem;
  font-weight: 700;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.btn:hover {
  transform: translateY(-1px);
}
.btn-primary {
  background: linear-gradient(135deg, #4f7cff, #5aa2ff);
  color: #fff;
  box-shadow: 0 20px 35px rgba(79, 134, 255, 0.25);
}
.btn-primary.btn-large {
  min-width: 240px;
}
.btn-secondary {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.18);
}
/* =========================
   MODERN CINEMATIC HERO
========================= */

.hero{
  position:relative;
  overflow:hidden;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#000;
}

/* VIDEO */

.hero-video{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}

.hero-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.08);

  filter:
  brightness(.65)
  contrast(1.05)
  saturate(1.2);
}

/* OVERLAY */

.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;

  background:
  linear-gradient(
    to bottom,
    rgba(0,0,0,.72),
    rgba(0,0,0,.35),
    rgba(0,0,0,.78)
  );
}

/* CONTENT */

.hero-grid{
  position:relative;
  z-index:5;
  width:100%;
}

.hero-content{
  position:relative;
  z-index:5;
  max-width:900px;
  margin:auto;
  text-align:center;
  padding:160px 20px 120px;
}

.hero-content .eyebrow{
  color:#7dd3fc;
  letter-spacing:4px;
  text-transform:uppercase;
  font-weight:700;
}

.hero-content h1{
  font-size:clamp(4rem,8vw,7rem);
  line-height:1;
  margin:20px 0;

  color:#fff;
  font-weight:900;
  letter-spacing:-4px;

  text-shadow:
  0 10px 30px rgba(0,0,0,.45);
}

.hero-content h1 span{
  color:#2563eb;
}

.hero-text{
  color:rgba(255,255,255,.88);
  font-size:1.15rem;
  line-height:1.8;
}

.hero-subtext{
  color:rgba(255,255,255,.7);
  margin-top:15px;
}

/* BUTTON */

.hero-actions{
  margin-top:35px;
}

.btn-primary{
  background:
  linear-gradient(
    135deg,
    #2563eb,
    #3b82f6
  ) !important;

  border:none;
  color:#fff;

  box-shadow:
  0 15px 40px rgba(37,99,235,.45);

  transition:.4s;
}

.btn-primary:hover{
  transform:
  translateY(-5px)
  scale(1.03);
}

/* STATS */

.hero-stats{
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
  margin-top:50px;
}

.hero-stats div{
  background:rgba(255,255,255,.08);

  backdrop-filter:blur(18px);

  border:
  1px solid rgba(255,255,255,.12);

  border-radius:24px;

  padding:25px 35px;

  min-width:160px;

  box-shadow:
  0 10px 30px rgba(0,0,0,.25);
}

.hero-stats strong{
  display:block;
  color:#fff;
  font-size:38px;
}

.hero-stats span{
  color:rgba(255,255,255,.72);
}

/* SCROLL */

.hero-scroll{
  display:inline-block;
  margin-top:40px;

  color:#fff;

  letter-spacing:6px;
  font-size:.8rem;
  opacity:.8;
}

/* HEADER */

.site-header{
  position:fixed;
  top:0;
  width:100%;
  z-index:999;

  background:
  linear-gradient(
    to bottom,
    rgba(0,0,0,.55),
    rgba(0,0,0,0)
  ) !important;

  backdrop-filter:none;
  border:none !important;
}

.site-header.solid{
  background:
  rgba(0,0,0,.55) !important;

  backdrop-filter:blur(14px);
}

/* NAV */

.brand{
  color:#fff !important;
  font-size:28px;
  font-weight:800;
}

.nav-links a{
  color:#fff !important;
}

.nav-links a:hover{
  color:#60a5fa !important;
}

/* MOBILE */

@media(max-width:768px){

  .hero-content h1{
    font-size:4rem;
    letter-spacing:-2px;
  }

  .hero-stats{
    flex-direction:column;
    align-items:center;
  }

}
.tour-detail-hero {
  position: relative;
  min-height: auto;
  display: flex;
  align-items: flex-start;
  background: #f8fafc;
  padding: 3rem 0 5.5rem;
  overflow: hidden;
}

.mountain-highlight-list {
  display: flex;
  flex-wrap: wrap;
  gap: .48rem;
  margin-top: .65rem;
}

.mountain-highlight-list span {
  padding: .48rem .82rem;
  border: 1px solid rgba(230, 212, 180, .16);
  border-radius: 999px;
  background: rgba(239, 225, 200, .055);
  color: #dfd1b7;
  font-size: .78rem;
  font-weight: 600;
}

.private-experience-grid {
  display: grid;
  grid-template-columns: minmax(280px, .84fr) minmax(350px, 1fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}

.private-experience-media {
  overflow: hidden;
  min-height: clamp(410px, 48vw, 610px);
  border-radius: clamp(22px, 3vw, 34px);
  box-shadow: 0 34px 70px rgba(0, 0, 0, .28);
}

.private-experience-media img,
.private-experience-media video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  filter: saturate(.86) brightness(.8);
}

.private-experience-copy h2 {
  max-width: 610px;
  margin: 1rem 0 1.05rem;
  color: var(--cinema-white);
  font-size: clamp(2.45rem, 4.5vw, 4rem);
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.065em;
}

.private-experience-copy > p {
  max-width: 555px;
  color: var(--cinema-muted);
}

.promise-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin: 2rem 0 2.1rem;
}

.promise-grid article {
  padding: 1.15rem;
  border: 1px solid var(--cinema-line);
  border-radius: 18px;
  background: rgba(242, 228, 203, .045);
}

.promise-grid h3 {
  margin: 0 0 .42rem;
  color: #f8f3e8;
  font-size: .97rem;
}

.promise-grid p {
  margin: 0;
  color: var(--cinema-muted);
  font-size: .82rem;
  line-height: 1.55;
}

@media (max-width: 980px) {
  .private-experience-grid {
    grid-template-columns: 1fr;
  }

  .private-experience-media {
    min-height: clamp(320px, 72vw, 500px);
  }
}

@media (max-width: 620px) {
  .home .hero-content h1 {
    font-size: clamp(2.75rem, 14vw, 4.2rem) !important;
  }

  .promise-grid {
    grid-template-columns: 1fr;
  }
}

.tour-detail-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 20%, rgba(59, 130, 246, 0.08), transparent 22%),
              radial-gradient(circle at 20% 80%, rgba(59, 130, 246, 0.04), transparent 20%),
              radial-gradient(circle at 80% 70%, rgba(96, 165, 250, 0.04), transparent 20%);
  pointer-events: none;
  z-index: 1;
}
.tour-detail-video {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.tour-detail-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.18;
}
.tour-detail-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), rgba(248, 250, 252, 0.96));
  z-index: 2;
}
.tour-detail-content {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  width: min(100%, 1320px);
  padding: 2rem 1rem 3rem;
  margin: 0 auto;
  color: #0f172a;
  text-align: center;
}
.tour-detail-content .eyebrow {
  display: inline-flex;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #0076e7;
  font-weight: 800;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}
.tour-detail-content h1 {
  color: #0f172a;
  font-size: clamp(3.2rem, 5.3vw, 5.6rem);
  line-height: 1.05;
  margin: 0;
  max-width: none;
  letter-spacing: -0.035em;
}
.tour-detail-content h1 span {
  color: #0076e7;
}
.tour-detail-subtitle {
  margin: 1.5rem auto 0.75rem;
  color: rgba(15, 23, 42, 0.8);
  max-width: 700px;
  line-height: 1.7;
  font-size: 1.05rem;
}
.tour-detail-badge {
  display: inline-flex;
  margin: 0 auto 1rem;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.14);
  color: #0f172a;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.78rem;
}
.tour-detail-hero-meta {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin: 1.25rem 0 0.5rem;
}
.tour-detail-hero-meta span {
  display: inline-flex;
  align-items: center;
  padding: 0.75rem 1rem;
  border-radius: 999px;
  background: #eef2ff;
  color: #0f172a;
  font-size: 0.95rem;
}
.tour-detail-tagline {
  margin: 0 auto 2rem;
  color: rgba(15, 23, 42, 0.7);
  font-size: 0.95rem;
}
.tour-detail-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.tour-detail-actions .btn {
  min-width: 260px;
}
.tour-detail-tron {
  width: min(100%, 1280px);
  height: clamp(560px, 62vh, 760px);
  margin: 3.25rem auto 0;
  overflow: hidden;
  border-radius: 18px;
  background: #071426;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .2);
}
.tour-detail-tron video,
.tour-detail-tron img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.booking-step {
  padding-top: 4rem;
  padding-bottom: 4rem;
  display: none;
}
.booking-step.active {
  display: block;
}
.booking-header {
  text-align: center;
  margin-bottom: 2rem;
}
.booking-header h2 {
  font-size: clamp(2rem, 3vw, 3rem);
  margin: 0.5rem 0 0.5rem;
}
.booking-header p {
  margin: 0;
  color: rgba(248, 250, 252, 0.78);
}
.booking-grid,
.option-grid,
.review-grid{
    display:grid;

    grid-template-columns:420px 1fr;

    gap:60px;

    align-items:start;
}

/* LEFT SIDE */

.review-summary{
    position:sticky;
    top:120px;
}

.review-score{
    font-size:5rem;
    font-weight:800;
    line-height:1;
    color:#0f172a;
}

.review-stars{
    color:#f59e0b;
    font-size:1.2rem;
    margin:10px 0;
}

.review-total{
    color:#64748b;
    font-size:1rem;
    margin-bottom:35px;
}

.review-platforms{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

.review-platform{
    display:flex;
    align-items:center;
    gap:10px;

    padding:14px 22px;

    border:1px solid rgba(15,23,42,.08);

    border-radius:999px;

    background:#fff;

    font-weight:700;

    box-shadow:
    0 10px 25px rgba(15,23,42,.04);
}

.trust-proof-list {
    display: grid;
    gap: 12px;
    margin-top: 24px;
}

.trust-proof-list article {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border: 1px solid rgba(37, 99, 235, .12);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .05);
}

.trust-proof-list strong {
    color: #061226;
    font-size: .96rem;
}

.trust-proof-list span {
    color: #526984;
    font-size: .88rem;
    line-height: 1.55;
}

/* RIGHT SIDE */

.review-cards{
    display:grid;

    grid-template-columns:repeat(3,minmax(240px,1fr));

    gap:24px;

    align-items:stretch;
}

.review-card{
    background:#fff;

    border:1px solid rgba(15,23,42,.08);

    border-radius:28px;

    padding:30px;

    min-height:auto;

    width:100%;

    display:block;

    box-shadow:
    0 15px 35px rgba(15,23,42,.05);

    transition:.3s ease;
}

.review-card:hover{
    transform:translateY(-6px);
}

.review-user{
    display:flex;
    align-items:center;
    gap:14px;

    margin-bottom:20px;
}

.review-avatar{
    width:48px;
    height:48px;

    border-radius:50%;

    background:#dbeafe;

    color:#2563eb;

    display:flex;
    align-items:center;
    justify-content:center;

    font-weight:800;
}

.review-user h4{
    margin:0;
    font-size:1rem;
    color:#0f172a;
}

.review-user span{
    font-size:.9rem;
    color:#64748b;
}

.review-card .stars{
    color:#f59e0b;
    margin-bottom:14px;
}

.review-card h3{
    font-size:1.25rem;
    margin-bottom:12px;
    color:#0f172a;
}

.review-card p{
    color:#64748b;
    line-height:1.8;
}

.review-form {
    display: grid;
    gap: 12px;
}

.review-form:hover {
    transform: none;
}

.review-form-head h3 {
    margin: .35rem 0 .25rem;
}

.review-form-head {
    display: grid;
    gap: .25rem;
    position: relative;
}

.review-form-head [data-review-close] {
    position: absolute;
    top: -.35rem;
    right: -.35rem;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #f1f5f9;
    color: #0f172a;
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
}

.review-form label {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 800;
}

.review-form input,
.review-form select,
.review-form textarea {
    width: 100%;
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: 14px;
    background: #f8fafc;
    color: #0f172a;
    padding: .82rem .9rem;
    font: inherit;
    outline: none;
}

.review-form textarea {
    resize: vertical;
}

.review-form input:focus,
.review-form select:focus,
.review-form textarea:focus {
    border-color: #2563eb;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}

.review-form .btn {
    margin-top: .35rem;
    width: 100%;
}

.form-message {
    display: inline-flex;
    align-items: center;
    border-radius: 14px;
    padding: .8rem .9rem;
    font-weight: 800;
    line-height: 1.45;
}

.form-message.success {
    background: #ecfdf5;
    color: #166534;
}

.form-message.error {
    background: #fef2f2;
    color: #991b1b;
}

.review-write-row {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-top: 1.25rem;
}

.review-write-row .btn {
    min-width: 170px;
}

.review-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}

.review-modal.is-open {
    display: flex;
}

.review-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 6, 23, .58);
    backdrop-filter: blur(10px);
}

.review-modal-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 460px);
    max-height: min(760px, calc(100vh - 2.5rem));
    overflow: auto;
}

/* MOBILE */

@media(max-width:1100px){

    .review-grid{
        grid-template-columns:1fr;
    }

    .review-summary{
        position:relative;
        top:auto;
    }

    .review-cards{
        grid-template-columns:1fr;
    }

    .review-write-row{
        grid-column:1;
    }

}
.date-input {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin-top: 1rem;
  padding: 1rem 1rem;
  border-radius: 24px;
  border: 1px solid #3b82f6;
  background: #fff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
  user-select: none;
}
.date-input:hover {
  border-color: #60a5fa;
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.08);
}
.date-input span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 16px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 1.1rem;
  pointer-events: none;
}
.date-input input {
  width: 100%;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  color: #0f172a;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  pointer-events: none;
}
.date-input input::placeholder {
  color: #94a3b8;
  font-weight: 500;
}
.date-picker {
  position: absolute;
  top: calc(100% + 1rem);
  left: 0;
  right: 0;
  width: min(760px, 100%);
  border-radius: 28px;
  padding: 1rem;
  background: #ffffff;
  border: 1px solid rgba(148, 163, 184, 0.35);
  box-shadow: 0 40px 90px rgba(15, 23, 42, 0.13);
  z-index: 20;
  display: none;
}
.date-picker.active {
  display: block;
}
.date-picker-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.date-picker-title {
  font-weight: 700;
  color: #0f172a;
  font-size: 1rem;
}
.date-picker-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.date-picker-panel {
  background: #f8fafc;
  border-radius: 24px;
  padding: 1rem;
}
.date-picker-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}
.date-picker-head strong {
  font-size: 0.95rem;
  color: #0f172a;
}
.date-picker-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.35rem;
}
.day-label {
  font-size: 0.72rem;
  text-align: center;
  color: #64748b;
}
.day-cell {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: transparent;
  border: 1px solid transparent;
  color: #0f172a;
  font-size: 0.95rem;
  cursor: pointer;
}
.day-cell:hover {
  background: rgba(59, 130, 246, 0.08);
}
.day-cell.disabled {
  color: #cbd5e1;
  cursor: not-allowed;
}
.day-cell.selected {
  background: #3b82f6;
  color: #ffffff;
  border-color: transparent;
}
.date-nav {
  all: unset;
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.4);
  background: #f8fafc;
  color: #0f172a;
  cursor: pointer;
}
.date-nav:hover {
  background: #eff6ff;
}
.date-picker-footer {
  margin-top: 1rem;
  display: flex;
  justify-content: flex-end;
}
.date-picker-close {
  all: unset;
  cursor: pointer;
  color: #2563eb;
  background: #eff6ff;
  border-radius: 999px;
  padding: 0.75rem 1.25rem;
  font-weight: 600;
}
.guest-row {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 1rem;
  margin-top: .9rem;
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 18px;
  background: #fbfdff;
}
.guest-row strong {
  display: block;
  margin-bottom: 0.25rem;
  color: #0f172a;
}
.guest-row p {
  margin: 0;
  color: rgba(15, 23, 42, 0.65);
}
.guest-control {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  justify-self: end;
  padding: 5px;
  border-radius: 999px;
  background: #f1f5f9;
}
.guest-action {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  background: #fff;
  color: #0f172a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
}
.guest-count {
  min-width: 2rem;
  text-align: center;
  color: #061226;
  font-size: 1.1rem;
  font-weight: 900;
}
.booking-note {
  margin-top: 1.5rem;
  color: rgba(248, 250, 252, 0.72);
  background: rgba(255, 255, 255, 0.04);
  padding: 1rem 1.2rem;
  border-radius: 18px;
}
.seat-status {
  margin-top: 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #475569;
  font-size: .88rem;
  font-weight: 700;
}
.seat-status[data-state="open"] {
  border-color: transparent;
  background: transparent;
  color: #166534;
}
.seat-status[data-state="full"] {
  border-color: transparent;
  background: transparent;
  color: #991b1b;
}
.seat-status[data-state="loading"] {
  border-color: transparent;
  background: transparent;
  color: #1d4ed8;
}
.checkout-summary .btn:disabled {
  cursor: not-allowed;
  opacity: .55;
}
.feature-row {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-bottom: 1rem;
}
.feature-row span {
  color: #60a5fa;
  font-size: 1.25rem;
}
.option-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.option-card {
  display: grid;
  gap: 1rem;
}
.option-card img {
  width: 100%;
  border-radius: 20px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.option-card--highlight {
  border-color: rgba(79, 124, 255, 0.45);
}
.option-card--active {
  border-color: rgba(79, 124, 255, 0.6);
}
.option-card--disabled {
  opacity: 0.55;
  pointer-events: none;
}
.option-card--disabled .option-body {
  opacity: 0.8;
}
.option-label,
.option-tag {
  display: inline-flex;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #bfdbfe;
  font-size: 0.75rem;
  font-weight: 700;
}
.option-body h3 {
  margin-top: 0.5rem;
}
.option-body p {
  color: rgba(248, 250, 252, 0.78);
}
.option-card ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: grid;
  gap: 0.55rem;
}
.option-card ul li {
  color: rgba(248, 250, 252, 0.82);
}
.option-price {
  margin: 1rem 0 0;
  font-weight: 700;
}
.option-disabled {
  margin-top: 1rem;
  color: rgba(248, 250, 252, 0.72);
}
.toggle-list {
  display: grid;
  gap: 1rem;
}
.toggle-card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1rem;
}
.toggle-button {
  min-width: 3rem;
}
.review-grid {
  grid-template-columns: 1.4fr 1fr;
}
.review-card {
  display: grid;
  gap: 1.25rem;
}
.review-card--summary {
  background: rgba(255, 255, 255, 0.1);
}
.review-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: rgba(248, 250, 252, 0.8);
}
.review-row--total {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 1rem;
  margin-top: 1rem;
}
.review-row strong {
  color: #fff;
}
.booking-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
  gap: 1rem;
}
.booking-actions .btn {
  flex: 1;
  max-width: 200px;
}
.booking-alert {
  width: min(980px, 100%);
  margin: 0 auto 24px;
  padding: 16px 18px;
  border-radius: 16px;
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
  font-weight: 700;
}
.admin-dashboard {
  min-height: 100vh;
  background: #f4f7fb;
  color: #0f172a;
}
.admin-hero {
  padding: 140px 0 42px;
  background:
    linear-gradient(135deg, rgba(7, 16, 38, .98), rgba(16, 70, 133, .92)),
    #071026;
  color: #fff;
}
.admin-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
}
.admin-hero .eyebrow,
.admin-panel .eyebrow,
.admin-login-card .eyebrow {
  display: inline-flex;
  margin-bottom: .75rem;
  color: #93c5fd;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.admin-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 4rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
}
.admin-hero p {
  max-width: 680px;
  margin: 1rem 0 0;
  color: rgba(226, 232, 240, .78);
}
.admin-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .75rem;
}
.admin-hero-actions .btn {
  min-height: 46px;
  padding: .75rem 1.05rem;
  white-space: nowrap;
}
.admin-content {
  padding: 32px 0 64px;
}
.booking-admin-page .admin-content {
  padding-top: 24px;
}
.admin-compact-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin-bottom: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(15, 23, 42, .06);
}
.admin-compact-bar .eyebrow {
  display: block;
  margin-bottom: 3px;
  color: #2563eb;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.admin-compact-bar strong {
  color: #061226;
  font-size: 1.1rem;
}
.admin-compact-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .55rem;
}
.admin-compact-actions .btn {
  min-height: 38px;
  padding: 0 .9rem;
  font-size: .82rem;
}
.admin-login-card {
  width: min(460px, 100%);
  margin: 0 auto;
}
.admin-login-card p {
  margin: -10px 0 22px;
  color: #64748b;
}
.admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: -72px;
  margin-bottom: 24px;
}
.booking-admin-page .admin-stat-grid {
  margin-top: 0;
}
.admin-stat-card {
  min-height: 162px;
  padding: 22px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(15, 23, 42, .08);
}
.admin-stat-card span,
.admin-stat-card small {
  display: block;
}
.admin-stat-card span {
  color: #64748b;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.admin-stat-card strong {
  display: block;
  margin: .65rem 0 .2rem;
  color: #0f172a;
  font-size: clamp(2rem, 3.2vw, 3rem);
  line-height: 1;
  letter-spacing: -0.035em;
}
.admin-stat-card strong.stat-text {
  font-size: 1.05rem;
  line-height: 1.35;
  letter-spacing: 0;
}
.admin-stat-card small {
  color: #64748b;
}
.insights-grid {
  margin-top: 18px;
}
.admin-stat-card.pending {
  border-color: rgba(245, 158, 11, .28);
}
.admin-stat-card.confirmed {
  border-color: rgba(34, 197, 94, .25);
}
.admin-stat-card.revenue {
  border-color: rgba(37, 99, 235, .22);
}
.admin-panel {
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .07);
}
.availability-panel {
  margin-bottom: 24px;
  scroll-margin-top: 118px;
}
.security-panel {
  margin-bottom: 24px;
}
.admin-panel-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: end;
  padding: 24px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.admin-panel-head h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.5rem, 2.2vw, 2.2rem);
}
.admin-panel-head p {
  margin: .35rem 0 0;
  color: #64748b;
}
.admin-filter {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) 150px 190px auto auto;
  gap: 10px;
  align-items: end;
}
.admin-filter label {
  display: grid;
  gap: 6px;
  color: #475569;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.admin-filter input,
.admin-filter select,
.admin-status-form select {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(148, 163, 184, .45);
  border-radius: 14px;
  padding: 0 14px;
  background: #fff;
  color: #0f172a;
  font: inherit;
  outline: none;
}
.admin-filter input:focus,
.admin-filter select:focus,
.admin-status-form select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}
.admin-filter .btn {
  min-height: 46px;
  padding: 0 18px;
}
.admin-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #0f172a;
  font-weight: 800;
}
.admin-status-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 16px 24px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.admin-status-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: .9rem;
  font-weight: 800;
  white-space: nowrap;
}
.admin-status-tabs a.active,
.admin-status-tabs a:hover {
  border-color: transparent;
  background: #0f172a;
  color: #fff;
}
.admin-status-tabs strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .16);
  font-size: .78rem;
}
.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 32px;
  align-items: start;
}
#step1,
#selected-destination,
#shared-destinations {
  scroll-margin-top: 118px;
}
.checkout-main {
  display: grid;
  gap: 18px;
}
.checkout-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-weight: 800;
}
.booking-card {
  position: relative;
  padding: 24px;
  border-radius: 22px;
}

.booking-card h3 {
  margin: 0 0 .35rem;
  font-size: 1.15rem;
  color: #061226;
}

.booking-card > p {
  margin: 0 0 1.2rem;
  color: #526984;
  font-size: .92rem;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.form-field-wide {
  grid-column: 1 / -1;
}
.form-field {
  display: grid;
  gap: 8px;
  color: #0f172a;
  font-weight: 700;
}
.form-field span {
  font-size: .9rem;
}
.form-field input,
.form-field select,
.form-field textarea,
.admin-table select {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, .45);
  border-radius: 14px;
  padding: 15px 16px;
  font: inherit;
  color: #0f172a;
  background: #fbfdff;
  outline: none;
}
.form-field textarea {
  resize: vertical;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}
.availability-form {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) 180px 140px auto auto;
  gap: 14px;
  align-items: end;
  padding: 24px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.security-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 14px;
  align-items: end;
  padding: 24px;
}
.restore-form {
  grid-template-columns: minmax(240px, 1fr) minmax(220px, 1fr) auto;
}
.restore-preview {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 0 24px 18px;
  color: #475569;
}
.restore-preview strong,
.restore-preview span {
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 12px;
  background: #f8fafc;
}
.restore-preview strong {
  color: #0f172a;
}
.restore-cancel {
  padding: 0 24px 24px;
}
.availability-check {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  color: #0f172a;
  font-weight: 800;
}
.availability-check input {
  width: 18px;
  height: 18px;
  accent-color: #2563eb;
}
.payment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.payment-option {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 17px;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 18px;
  background: #fff;
  cursor: pointer;
}
.payment-option input {
  margin-top: 4px;
  accent-color: #2563eb;
}
.payment-option strong,
.payment-option small {
  display: block;
}
.payment-option small {
  margin-top: 4px;
  color: #64748b;
  line-height: 1.4;
}
.payment-option.active {
  border-color: #2563eb;
  background: #eff6ff;
  box-shadow: 0 16px 34px rgba(37, 99, 235, .12);
}
.checkout-summary,
.invoice-card {
  position: sticky;
  top: 110px;
  padding: 24px;
  border-radius: 22px;
  background: linear-gradient(180deg, #071426, #0b1730);
  color: #fff;
  box-shadow: 0 30px 80px rgba(2, 6, 23, .22);
}
.checkout-summary h3,
.invoice-card h2,
.invoice-card h3 {
  margin: 8px 0 22px;
  color: #fff;
}
.summary-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .78);
}
.summary-row strong {
  color: #fff;
  text-align: right;
}
.summary-total {
  margin-bottom: 18px;
  border-bottom: none;
  font-size: 1.2rem;
}
.checkout-summary .btn,
.invoice-card .btn {
  width: 100%;
  min-height: 48px;
  margin-top: 10px;
}
.payment-proof-form {
  display: grid;
  gap: 10px;
  margin: 18px 0 10px;
}
.payment-instructions {
  display: grid;
  gap: 8px;
  margin: 18px 0 8px;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 16px;
  background: rgba(255, 255, 255, .07);
}
.payment-instructions strong,
.payment-instructions code,
.payment-instructions span {
  color: #fff;
}
.payment-instructions code {
  display: inline-flex;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .1);
  font: inherit;
  font-weight: 900;
}
.payment-instructions p {
  margin: 0;
  color: rgba(226, 232, 240, .82);
  line-height: 1.6;
}
.invoice-copy-panel,
.payment-copy-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -8px 0 14px;
}
.payment-copy-row {
  margin: 4px 0 2px;
}
.copy-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}
.copy-action:hover,
.copy-action.copied {
  background: rgba(96, 165, 250, .28);
  transform: translateY(-1px);
}
.payment-proof-form .form-field span {
  color: rgba(226, 232, 240, .86);
}
.payment-proof-form input {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .16);
  color: #fff;
}
.checkout-destination-detail {
  display: grid;
  gap: 10px;
  margin: 12px 0 18px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 16px;
  background: rgba(255, 255, 255, .06);
}
.checkout-destination-detail strong {
  color: #fff;
  font-size: .86rem;
}
.checkout-destination-detail ul,
.checkout-destination-detail ol {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 1.1rem;
  color: rgba(226, 232, 240, .86);
  font-size: .82rem;
  line-height: 1.45;
}
.checkout-destination-detail li::marker {
  color: #60a5fa;
  font-weight: 900;
}

.trip-date-picker {
  position: relative;
  display: grid;
  gap: 1rem;
}

.date-display {
  width: 100%;
  min-height: 56px;
  display: flex;
  align-items: center;
  padding: 0 1.1rem;
  border-radius: 14px;
  background: #fff;
  color: #0f172a;
  border: 2px solid #0072f0;
  box-shadow: 0 0 0 4px rgba(0, 114, 240, .08);
  font-size: 1rem;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.date-display::before {
  content: "";
  width: 20px;
  height: 20px;
  margin-right: .75rem;
  border-radius: 5px;
  border: 2px solid #bfdbfe;
  box-shadow: inset 0 5px 0 #bfdbfe;
}

.trip-calendar {
  position: relative;
  width: 100%;
  margin-top: .75rem;
  padding: 1.35rem 1.45rem 1.45rem;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 20px 44px rgba(15, 23, 42, .12);
  border: 1px solid rgba(15, 23, 42, .08);
}

.calendar-range-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin: 0 5.2rem 1.1rem 0;
}

.calendar-range-panel div {
  display: grid;
  gap: .25rem;
  min-height: 68px;
  padding: .9rem 1rem;
  border: 1px solid rgba(37, 99, 235, .14);
  border-radius: 14px;
  background: #f8fbff;
}

.calendar-range-panel span {
  color: #64748b;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.calendar-range-panel strong {
  color: #061226;
  font-size: .94rem;
  line-height: 1.2;
}

.calendar-nav {
  position: absolute;
  top: 1.35rem;
  right: 1.45rem;
  display: flex;
  gap: .5rem;
}

.calendar-nav button {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  color: #64748b;
  border: 1px solid #e2e8f0;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}

.calendar-nav button:hover {
  color: #0072f0;
  border-color: #bfdbfe;
}

.calendar-months {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
}

.calendar-month h4 {
  margin: 0 0 1rem;
  color: #0f172a;
  font-size: 1rem;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: .35rem;
}

.calendar-dow,
.calendar-day {
  min-width: 38px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 12px;
  font-weight: 800;
}

.calendar-dow {
  color: #cbd5e1;
  font-size: .7rem;
}

.calendar-day {
  color: #475569;
  cursor: pointer;
}

.calendar-day:disabled {
  color: #cbd5e1;
  cursor: not-allowed;
}

.calendar-day.in-range {
  background: #e0f2fe;
  color: #0072f0;
  border-radius: 8px;
}

.calendar-day.selected {
  background: #0072f0;
  color: #fff;
  box-shadow: 0 12px 24px rgba(0, 114, 240, .28);
}

.calendar-day.range-end {
  background: #0f172a;
}

.calendar-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(148, 163, 184, .18);
}

.calendar-actions span {
  color: #526984;
  font-size: .84rem;
  font-weight: 800;
}

.calendar-actions div {
  display: flex;
  gap: .55rem;
}

.calendar-clear,
.calendar-done {
  min-height: 38px;
  padding: 0 .95rem;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-size: .82rem;
  font-weight: 900;
}

.calendar-clear {
  background: #f1f5f9;
  color: #334155;
}

.calendar-done {
  background: #0072f0;
  color: #fff;
}

@media (max-width: 760px) {
  .trip-calendar {
    margin-top: .25rem;
    padding: 1rem;
  }

  .calendar-range-panel,
  .calendar-actions {
    grid-template-columns: 1fr;
  }

  .calendar-range-panel {
    margin-right: 0;
  }

  .calendar-actions {
    display: grid;
  }

  .calendar-actions div {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .calendar-months {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .calendar-day,
  .calendar-dow {
    min-width: 0;
  }

}
.invoice-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 28px;
  align-items: start;
}
.invoice-panel {
  padding: 28px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 22px 60px rgba(15, 23, 42, .08);
}
.invoice-title {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 26px;
}
.invoice-panel .review-row {
  color: #334155;
  padding: 14px 0;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.invoice-panel .review-row strong {
  color: #0f172a;
}
.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: #fef3c7;
  color: #92400e;
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
}
.status-pill.paid,
.status-pill.proof_uploaded,
.status-pill.confirmed {
  background: #dcfce7;
  color: #166534;
}
.status-pill.cancelled {
  background: #fee2e2;
  color: #991b1b;
}
.status-pill.expired {
  background: #fef3c7;
  color: #92400e;
}

.invoice-page {
  background: #f5f8fc;
}

.invoice-page main .section-light {
  background:
    radial-gradient(circle at 12% 0%, rgba(37, 99, 235, .09), transparent 28%),
    radial-gradient(circle at 82% 8%, rgba(14, 165, 233, .08), transparent 26%),
    #f5f8fc;
}

.invoice-page .invoice-panel {
  border: 1px solid rgba(15, 23, 42, .06);
  border-radius: 28px;
  box-shadow: 0 30px 80px rgba(15, 23, 42, .08);
}

.invoice-success {
  display: grid;
  gap: .45rem;
  margin-bottom: 1.6rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid rgba(37, 99, 235, .12);
  border-radius: 18px;
  background: linear-gradient(135deg, #eff6ff, #ffffff);
}

.invoice-success span {
  color: #2563eb;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.invoice-success strong {
  color: #061226;
  font-size: 1.1rem;
}

.invoice-success p {
  margin: 0;
  color: #526984;
}

.invoice-title {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
  margin-bottom: 1.5rem;
}

.invoice-title h1 {
  margin: .45rem 0 .6rem;
  color: #061226;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.invoice-title p {
  margin: 0;
  color: #526984;
}

.invoice-section {
  display: grid;
  gap: .9rem;
  padding: 1.2rem 0;
  border-top: 1px solid rgba(15, 23, 42, .08);
}

.invoice-section h2 {
  margin: 0;
  color: #061226;
  font-size: 1rem;
}

.invoice-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.invoice-page .invoice-panel .review-row {
  display: grid;
  gap: .35rem;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 16px;
  background: #fbfdff;
}

.invoice-page .invoice-panel .review-row strong {
  color: #64748b;
  font-size: .76rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.invoice-page .invoice-panel .review-row span {
  color: #061226;
  font-weight: 800;
}

.invoice-chip-list,
.invoice-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.invoice-chip-list span,
.invoice-benefits span {
  padding: .72rem .9rem;
  border-radius: 999px;
  background: #eff6ff;
  color: #1e3a8a;
  font-weight: 800;
}

.invoice-benefits span {
  border-radius: 14px;
  background: #f8fafc;
  color: #334155;
}

.invoice-page .invoice-card {
  border: 1px solid rgba(255, 255, 255, .12);
  background:
    radial-gradient(circle at 20% 0%, rgba(96, 165, 250, .18), transparent 34%),
    linear-gradient(180deg, #071426, #081225 72%, #050b18);
}

.invoice-page .payment-proof-form input[type="file"] {
  padding: .9rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, .1);
}

.qris-box {
  display: grid;
  gap: .9rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 18px;
  background: rgba(255, 255, 255, .08);
}

.qris-box div {
  display: grid;
  gap: .25rem;
}

.invoice-page .payment-instructions {
  background: rgba(15, 23, 42, .52) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 22px !important;
}

.invoice-page .payment-instructions strong,
.invoice-page .payment-instructions code,
.invoice-page .qris-box strong {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}

.invoice-page .payment-instructions span,
.invoice-page .payment-instructions p,
.invoice-page .qris-box span,
.invoice-page .qris-box p,
.invoice-page .payment-deadline span,
.invoice-page .payment-deadline small {
  color: rgba(226, 232, 240, .9) !important;
  -webkit-text-fill-color: rgba(226, 232, 240, .9) !important;
}

.invoice-page .payment-instructions code {
  display: inline-flex !important;
  width: fit-content !important;
  padding: .55rem .8rem !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .12) !important;
  font-weight: 900 !important;
}

.invoice-page .payment-copy-row .copy-action,
.invoice-page .invoice-copy-panel .copy-action {
  background: rgba(255, 255, 255, .16) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
}

.invoice-page .invoice-card .eyebrow,
.invoice-page .invoice-card h2,
.invoice-page .invoice-card h3,
.invoice-page .invoice-card strong,
.invoice-page .payment-deadline strong,
.invoice-page .invoice-event strong,
.invoice-page .invoice-timeline strong {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}

.invoice-page .invoice-card p,
.invoice-page .invoice-card span,
.invoice-page .invoice-card small,
.invoice-page .invoice-event span,
.invoice-page .invoice-event p,
.invoice-page .invoice-timeline p,
.invoice-page .invoice-timeline div:not(.active) strong,
.invoice-page .payment-deadline span,
.invoice-page .payment-deadline small {
  color: rgba(226, 232, 240, .92) !important;
  -webkit-text-fill-color: rgba(226, 232, 240, .92) !important;
}

.invoice-page .invoice-event,
.invoice-page .invoice-timeline div {
  background: rgba(255, 255, 255, .10) !important;
  border-color: rgba(255, 255, 255, .10) !important;
}

.invoice-page .invoice-timeline .active {
  background: rgba(59, 130, 246, .18) !important;
  border-color: rgba(96, 165, 250, .24) !important;
}

.qris-box strong,
.qris-box span {
  color: #fff;
}

.qris-box span {
  color: rgba(226, 232, 240, .78);
  font-size: .86rem;
}

.qris-box img {
  width: min(100%, 260px);
  aspect-ratio: 1;
  justify-self: center;
  padding: .75rem;
  border-radius: 18px;
  background: #fff;
  object-fit: contain;
}

.qris-box p {
  margin: 0;
  color: rgba(226, 232, 240, .84);
  line-height: 1.55;
}

@media (max-width: 760px) {
  .invoice-title,
  .invoice-detail-grid {
    grid-template-columns: 1fr;
  }

  .invoice-title {
    display: grid;
  }
}

/* Restore homepage original natural color system */
.home {
  --premium-bg: #f6efe3;
  --premium-bg-2: #234434;
  --premium-card: rgba(255,255,255,.74);
  --premium-border: rgba(70,48,31,.14);
  --premium-text: #17251c;
  --premium-muted: #6f756b;
  --premium-accent: #e88a3f;
  --premium-accent-hover: #d9772f;
  background: #f6efe3 !important;
  color: #17251c !important;
}

.home main {
  background:
    radial-gradient(circle at 12% 4%, rgba(232,138,63,.12), transparent 28%),
    linear-gradient(180deg, #f6efe3 0%, #faf8f2 42%, #f3eadc 100%) !important;
}

.home .site-header,
.home .site-header.solid {
  background: rgba(246,239,227,.86) !important;
  border-bottom: 1px solid rgba(70,48,31,.12) !important;
  backdrop-filter: blur(18px);
}

.home .brand-logo,
.home .brand-logo:visited,
.home .nav-links a {
  color: #17251c !important;
}

.home .nav-links {
  background: rgba(255,255,255,.7) !important;
  border-color: rgba(70,48,31,.12) !important;
}

.home .nav-links a:hover {
  background: rgba(232,138,63,.12) !important;
}

.home .nav-links a[href="contact.php"],
.home .btn-primary {
  background: #e88a3f !important;
  color: #17251c !important;
  box-shadow: 0 18px 45px rgba(232,138,63,.22) !important;
}

.home .btn-primary:hover {
  background: #d9772f !important;
}

.home .btn-secondary {
  color: #17251c !important;
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(70,48,31,.16) !important;
}

.home .hero-overlay {
  background:
    linear-gradient(90deg, rgba(246,239,227,.94), rgba(246,239,227,.58) 48%, rgba(35,68,52,.28)),
    linear-gradient(180deg, rgba(246,239,227,.12), rgba(246,239,227,.9)) !important;
}

.home .hero-content h1,
.home .cinematic-heading h2,
.home .section-heading h2,
.home .section-header h2 {
  color: #17251c !important;
}

.home .hero-content h1 span,
.home .cinematic-heading h2 span,
.home .section-heading h2 span,
.home .section-header h2 span {
  color: #e88a3f !important;
}

.home .hero-text,
.home .hero-subtext,
.home .cinematic-heading p,
.home .section-heading p,
.home .section-header p {
  color: #596455 !important;
}

.home .eyebrow,
.home .planner-heading span,
.home .route-label {
  color: #8f4f22 !important;
  background: rgba(232,138,63,.12) !important;
  border-color: rgba(232,138,63,.24) !important;
}

.home .hero-stats div,
.home .hero-booking-panel,
.home .glass-panel,
.home .promise-grid article,
.home .review-card,
.home .faq-card,
.home .review-platform,
.home .trust-proof-list article {
  background: rgba(255,255,255,.74) !important;
  border: 1px solid rgba(70,48,31,.12) !important;
  box-shadow: 0 24px 70px rgba(70,48,31,.1) !important;
  color: #17251c !important;
}

.home .premium-trust-strip strong,
.home .feature-card h3,
.home .tour-card h3,
.home .review-card h3,
.home .review-card h4,
.home .faq-card h3,
.home .booking-story-copy h2 {
  color: #17251c !important;
}

.home .premium-trust-strip span,
.home .feature-card p,
.home .tour-card p,
.home .review-card p,
.home .faq-card p,
.home .booking-story-copy p {
  color: #596455 !important;
}

.home .hero-booking-panel select,
.home .review-form input,
.home .review-form select,
.home .review-form textarea {
  color: #17251c !important;
  background: rgba(255,255,255,.8) !important;
  border: 1px solid rgba(70,48,31,.14) !important;
}

.home .tour-types,
.home #gallery.section-light,
.home .booking-experience,
.home #faq,
.home #reviews.section-light,
.home .destination-stories,
.home .private-experience {
  background:
    radial-gradient(circle at 86% 0%, rgba(232,138,63,.1), transparent 28%),
    #faf8f2 !important;
  color: #17251c !important;
}

.home .journey-steps article {
  border-left-color: rgba(232,138,63,.34) !important;
}

.home .journey-steps strong {
  color: #e88a3f !important;
}

.home .site-footer {
  background:
    linear-gradient(rgba(35,68,52,.94), rgba(23,37,28,.98)),
    #234434 !important;
}

.home .site-footer .brand,
.home .site-footer h4 {
  color: #fff !important;
}

.home .site-footer p,
.home .site-footer a {
  color: rgba(255,255,255,.72) !important;
}
.admin-table-wrap {
  overflow-x: auto;
  border-radius: 0;
  border: none;
}
.admin-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 920px;
  background: #fff;
  color: #0f172a;
}
.admin-table th,
.admin-table td {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  text-align: left;
  vertical-align: middle;
}
.admin-table th {
  background: #f8fafc;
  font-size: .78rem;
  text-transform: uppercase;
  color: #475569;
  letter-spacing: .08em;
  white-space: nowrap;
}
.admin-table td strong,
.admin-table td small {
  display: block;
}
.admin-table td small {
  margin-top: 3px;
  color: #64748b;
  font-size: .82rem;
}
.proof-thumb {
  display: block;
  width: 82px;
  height: 58px;
  margin-top: 8px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 10px;
  background: #f8fafc;
}
.proof-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.admin-table tbody tr:hover {
  background: #f8fafc;
}
.booking-table {
  min-width: 1080px;
  table-layout: fixed;
}
.booking-table th,
.booking-table td {
  padding: 12px 14px;
  vertical-align: middle;
}
.booking-table th:nth-child(1),
.booking-table td:nth-child(1) {
  width: 110px;
}
.booking-table th:nth-child(2),
.booking-table td:nth-child(2) {
  width: 190px;
}
.booking-table th:nth-child(3),
.booking-table td:nth-child(3) {
  width: 210px;
}
.booking-table th:nth-child(4),
.booking-table td:nth-child(4),
.booking-table th:nth-child(5),
.booking-table td:nth-child(5),
.booking-table th:nth-child(7),
.booking-table td:nth-child(7) {
  width: 86px;
}
.booking-table th:nth-child(6),
.booking-table td:nth-child(6) {
  width: 130px;
}
.booking-table th:nth-child(8),
.booking-table td:nth-child(8) {
  width: 118px;
}
.booking-table th:nth-child(9),
.booking-table td:nth-child(9) {
  width: 190px;
}
.booking-table td strong,
.booking-table td small {
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
}
.booking-invoice {
  line-height: 1.25;
}
.booking-destination {
  color: #1e3a8a !important;
  font-weight: 800;
}
.booking-route {
  display: -webkit-box !important;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.35;
}
.booking-package {
  display: inline-flex !important;
  width: auto;
  max-width: 100%;
  margin-top: 6px !important;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef2ff;
  color: #1e3a8a !important;
  font-size: .76rem !important;
  font-weight: 800;
}
.booking-table .status-pill {
  white-space: nowrap;
}
.admin-status-form {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.admin-status-form .btn {
  min-height: 46px;
  padding: 0 15px;
}
.admin-empty-state {
  display: grid;
  place-items: center;
  gap: .25rem;
  min-height: 180px;
  text-align: center;
  color: #64748b;
}
.admin-empty-state strong {
  color: #0f172a;
  font-size: 1.05rem;
}
@media (max-width: 960px) {
  .checkout-layout,
  .invoice-layout {
    grid-template-columns: 1fr;
  }
  .checkout-summary,
  .invoice-card {
    position: static;
  }
  .admin-hero-inner,
  .admin-panel-head,
  .admin-compact-bar {
    grid-template-columns: 1fr;
  }
  .admin-hero-actions {
    justify-content: flex-start;
  }
  .admin-compact-actions {
    justify-content: flex-start;
  }
  .admin-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-filter {
    grid-template-columns: 1fr 1fr;
  }
  .availability-form {
    grid-template-columns: 1fr 1fr;
  }
  .security-form {
    grid-template-columns: 1fr 1fr;
  }
  .restore-preview {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .booking-flow-panel,
  .tour-gallery-strip,
  .tour-trust-strip,
  .tour-proof-stats {
    grid-template-columns: 1fr;
  }

  .booking-flow-item {
    min-height: 0;
  }

  .tour-facts-list div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .book-button-secondary {
    margin-left: 0;
    margin-top: 10px;
  }

  .tour-scan-meta {
    grid-template-columns: 1fr;
  }

  .destination-bottom .destination-cta-button,
  .destination-bottom .destination-wa-button {
    width: 100%;
  }

  .tour-proof-panel,
  .tour-faq-panel {
    padding: 20px;
    border-radius: 16px;
  }

  .form-grid,
  .payment-grid {
    grid-template-columns: 1fr;
  }
  .admin-hero {
    padding-top: 118px;
  }
  .admin-stat-grid,
  .admin-filter,
  .admin-status-form,
  .availability-form,
  .security-form {
    grid-template-columns: 1fr;
  }
  .restore-preview {
    grid-template-columns: 1fr;
  }
  .admin-stat-grid {
    margin-top: -46px;
  }
  .admin-panel-head,
  .admin-status-tabs {
    padding-left: 16px;
    padding-right: 16px;
  }
  .admin-compact-bar {
    border-radius: 14px;
  }
  .admin-compact-actions .btn {
    width: 100%;
  }
}
.section-dark {
  background: #071026;
}
.tour-detail-highlights-header {
  max-width: 760px;
  margin: 0 auto 2rem;
  text-align: center;
}
.tour-detail-highlights-header .eyebrow {
  margin-bottom: 1rem;
}
.tour-detail-highlights-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  margin: 0;
  color: #fff;
}
.tour-detail-highlights-header p {
  margin: 1rem auto 0;
  color: rgba(248, 250, 252, 0.74);
  max-width: 650px;
  line-height: 1.8;
}
.included-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
.included-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 1.6rem;
  display: grid;
  gap: 1rem;
}
.included-card img {
  width: 3rem;
  height: 3rem;
  object-fit: contain;
}
.included-card h3 {
  margin: 0;
  font-size: 1.15rem;
}
.included-card p {
  margin: 0;
  color: rgba(248, 250, 252, 0.76);
  line-height: 1.7;
}
.tour-detail-itinerary {
  padding-top: 5rem;
  padding-bottom: 4rem;
  background:
    linear-gradient(180deg, #f5f8fc 0%, #ffffff 100%);
  color: #0f172a;
}
.tour-detail-itinerary .container {
  max-width: 1040px;
}
.tour-detail-itinerary .eyebrow {
  color: #2563eb;
  font-weight: 900;
}
.tour-detail-itinerary h2 {
  margin-top: 0.5rem;
  margin-bottom: .75rem;
  color: #061226;
  font-size: clamp(2rem, 3.2vw, 3rem);
}
.itinerary-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .85rem;
  margin-top: 2.25rem;
}

.itinerary-grid::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 28px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #bfdbfe, transparent);
}
.itinerary-card {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: start;
  gap: .55rem;
  min-height: 148px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 16px;
  padding: 1.15rem;
  box-shadow: 0 18px 46px rgba(15, 23, 42, .055);
}
.itinerary-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: #dbeafe;
  color: #2563eb;
  font-weight: 700;
  margin-bottom: .35rem;
}
.itinerary-card strong {
  color: #2563eb;
  font-size: .88rem;
}
.itinerary-card p {
  margin: 0;
  color: #334155;
  line-height: 1.55;
  font-weight: 700;
}
.tour-detail-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 2rem;
  align-items: start;
}
.tour-detail-list {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
  display: grid;
  gap: 0.85rem;
}
.tour-detail-list li {
  background: #fff;
  border-radius: 16px;
  padding: 1rem 1.15rem;
  color: #0f172a;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}
.tour-detail-summary-card {
  background: #0f172a;
  border-radius: 32px;
  padding: 2rem;
  color: #f8fafc;
  display: grid;
  gap: 1.25rem;
}
.tour-detail-summary-card .eyebrow {
  color: #7dd3fc;
  margin: 0;
}

.quick-fact-list {
  display: grid;
  gap: .75rem;
}

.quick-fact-list span {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  color: rgba(226, 232, 240, .82);
}

.quick-fact-list strong {
  color: #fff;
}
.tour-detail-summary-card h3 {
  margin: 0;
  font-size: 2rem;
}
.tour-detail-summary-card p {
  margin: 0;
  color: rgba(248, 250, 252, 0.82);
}
.tour-detail-summary-card .btn {
  width: fit-content;
}
.tour-detail-summary-card h3 + p {
  color: rgba(248, 250, 252, 0.72);
}
.whatsapp-float {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 30;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.95rem 1.5rem;
  border-radius: 999px;
  background: #25d366;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 18px 40px rgba(37, 211, 102, 0.25);
  text-decoration: none;
}
.hero-panel-faq .faq-teaser {
  margin-bottom: 1rem;
}
.hero-panel-faq .faq-teaser strong {
  display: block;
  color: #fff;
  margin-bottom: 0.45rem;
  font-size: 0.95rem;
}
.hero-panel-faq .faq-teaser p {
  margin: 0;
  color: rgba(226, 232, 240, 0.78);
}
.hero-panel-faq .link-primary {
  display: inline-block;
  margin-top: 1rem;
  color: #bfdbfe;
  font-weight: 700;
}
.hero-media {
  display: none;
}
.hero-card {
  background: #0b182f;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.35);
  border-radius: 32px;
  overflow: hidden;
}
.hero-card img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.hero-card p {
  margin: 0;
  padding: 1.5rem;
  color: #cbd5e1;
}
.section {
  padding: 4rem 0;
}
.section-light {
  background: #f8fafc;
  color: #0f172a;
}
.section-light .section-header h2,
.section-light .section-header p,
.section-light .booking-header h2,
.section-light .booking-header p,
.section-light .feature-row p,
.section-light .tour-detail-summary-card,
.section-light .tour-detail-list li,
.section-light .tour-detail-summary-card p,
.section-light .tour-detail-summary-card h3 {
  color: #0f172a;
}
.section-light .section-header .eyebrow {
  color: #0ea5e9;
}
.section-light .booking-card,
.section-light .option-card,
.section-light .review-card,
.section-light .toggle-card {
  background: #ffffff;
  border-color: rgba(15, 23, 42, 0.08);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.06);
}
.section-light .booking-header p {
  color: #475569;
}
.section-light .tab {
  background: #f1f5f9;
  color: #0f172a;
  border-color: rgba(148, 163, 184, 0.4);
}
.section-light .tab.active,
.section-light .tab:hover {
  background: #3b82f6;
  color: #fff;
  border-color: transparent;
}
.section-light .duration-buttons button,
.section-light .guest-action,
.section-light .toggle-button,
.section-light .option-card button,
.section-light .review-card button,
.section-light .date-input input {
  background: #fff;
  color: #0f172a;
  border-color: rgba(148, 163, 184, 0.4);
}
.section-light .duration-buttons button:hover,
.section-light .option-card button:hover,
.section-light .review-card button:hover,
.section-light .toggle-button:hover,
.section-light .guest-action:hover {
  background: #e2e8f0;
}
.section-light .date-input {
  background: #fff;
}
.section-light .booking-note {
  background: #eff6ff;
  color: #334155;
}
.section-header {
  max-width: 740px;
  margin-bottom: 2rem;
}
.section-header .eyebrow {
  display: inline-flex;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  color: #0ea5e9;
  font-weight: 700;
  font-size: 0.8rem;
}
.section-tag {
  margin: 0.75rem 0 0.35rem;
  color: #64748b;
  font-size: 0.9rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.section-header h2 {
  margin: 0.35rem 0 1rem;
  font-size: clamp(2rem, 3vw, 2.8rem);
}
.section-header p {
  color: #475569;
  margin: 0;
}
.section-light .section-header h2 span {
  color: #0ea5e9;
}
.section:not(.section-light) .section-header h2 {
  color: #f8fafc;
}
.section:not(.section-light) .section-header h2 span {
  color: #60a5fa;
  font-style: italic;
}
.section:not(.section-light) .section-header p {
  color: rgba(226, 232, 240, 0.72);
}
.grid {
  display: grid;
  gap: 1.5rem;
}
#included {
  padding-top: 5.5rem;
  padding-bottom: 4.25rem;
}

#included .section-header {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}

#included .section-header .eyebrow {
  justify-content: center;
  color: #0076e7;
  font-weight: 900;
  letter-spacing: .24em;
}

#included .section-header h2 {
  max-width: 720px;
  margin: .9rem auto .75rem;
  color: #020b20;
  font-size: clamp(2.1rem, 3.4vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

#included .section-header h2 span {
  display: inline-block;
  color: #0076e7;
  font-style: italic;
}

#included .section-header p {
  color: #506987;
  font-weight: 600;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 52px;
}

.feature-card {
  position: relative;
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  align-items: center;
  min-height: 176px;
  padding: 24px 34px 24px 30px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .09);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 35px rgba(15, 23, 42, .045);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.feature-card:first-child {
  border-top-color: #0b7dff;
  border-top-width: 4px;
}

.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 55px rgba(15, 23, 42, .09);
}

.feature-card img {
  width: 112px;
  height: 92px;
  object-fit: contain;
  margin: 0;
}

.feature-card-copy {
  min-width: 0;
  padding-right: 36px;
}

.feature-card h3 {
  margin: 0 0 8px;
  color: #07152f;
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 900;
}

.feature-card p {
  max-width: 230px;
  margin: 0;
  color: #526984;
  font-size: .9rem;
  line-height: 1.65;
  font-weight: 600;
}

.feature-card .number {
  position: absolute;
  top: 14px;
  right: 18px;
  color: #eaf2fb;
  font-size: 2.15rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .02em;
}

@media(max-width:1100px) {
  .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:720px) {
  #included {
    padding-top: 4rem;
  }

  .cards-grid {
    grid-template-columns: 1fr;
    margin-top: 36px;
  }

  .feature-card {
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 156px;
    padding: 22px;
  }

  .feature-card img {
    width: 90px;
    height: 82px;
  }
}
.tour-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:32px;
  margin-top:70px;
}

.tour-card{
  display:block;
  position:relative;
  overflow:hidden;

  border-radius:34px;

  min-height:520px;

  background:#081528;

  border:
  1px solid rgba(96,165,250,.25);

  transition:.5s;

  text-decoration:none;
  color:inherit;

  box-shadow:
  0 25px 60px rgba(0,0,0,.35);
}

.tour-card:hover{
  transform:
  translateY(-10px);
}

.tour-card:focus-visible{
  outline:4px solid rgba(96,165,250,.75);
  outline-offset:5px;
}

.tour-media{
  position:absolute;
  inset:0;
  z-index:1;
}

.tour-media img,
.tour-media video{

  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;

  opacity:1;

  z-index:1;

  transition:1s;
}

.tour-card:hover img,
.tour-card:hover video{
  transform:scale(1.08);
}

.tour-overlay{
  position:absolute;
  inset:0;
  z-index:2;

  background:
  linear-gradient(
    to top,
    rgba(0,0,0,.78),
    rgba(0,0,0,.18),
    rgba(0,0,0,.08)
  );
}

.tour-card-content{
  position:absolute;

  left:0;
  bottom:0;

  width:100%;

  z-index:3;

  padding:38px;
}

.tour-card .tag,
.tour-badge{
  position:absolute;

  top:28px;
  right:28px;

  background:
  rgba(255,255,255,.15);

  backdrop-filter:blur(12px);

  color:#fff;

  padding:12px 18px;

  border-radius:999px;

  font-size:.85rem;

  font-weight:700;

  border:
  1px solid rgba(255,255,255,.15);
}

.tour-card h3{
  font-size:3rem;

  line-height:1;

  margin:0 0 16px;

  color:#fff;

  font-weight:800;

  letter-spacing:-2px;
}

.tour-card p{
  color:rgba(255,255,255,.82);

  line-height:1.8;

  max-width:90%;
}

.tour-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;

  margin-top:28px;

  padding-top:22px;

  border-top:
  1px solid rgba(255,255,255,.12);

  font-size:1rem;

  color:#fff;
}

.link-primary,
.tour-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  margin-top:22px;

  min-height:46px;
  padding:0 20px;

  color:#081528;
  background:#fff;

  font-weight:700;

  text-decoration:none;

  border-radius:999px;

  box-shadow:0 14px 30px rgba(0,0,0,.2);

  transition:background-color .2s ease, color .2s ease, transform .2s ease;
}

.tour-link:hover{
  color:#081528;
  background:#93c5fd;
  transform:translateY(-2px);
}

@media(max-width:992px){

  .tour-grid{
    grid-template-columns:1fr;
  }

}

@media(max-width:768px){
  .tour-detail-tron {
    height: clamp(360px, 58vh, 540px);
    margin-top: 2rem;
    border-radius: 14px;
  }

  .tour-card{
    min-height:430px;
  }

  .tour-card-content{
    padding:28px;
  }

  .tour-card h3{
    font-size:2.2rem;
  }

}
.gallery-grid{
    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    grid-template-rows:240px 240px;

    gap:4px;

    margin-top:60px;
}

.gallery-large{
    grid-row:1 / span 2;
}

.gallery-grid img,
.gallery-grid video{
    width:100%;
    height:100%;
    object-fit:cover;

    display:block;
}

.gallery-large img,
.gallery-large video{
    border-radius:32px 0 0 32px;
}

.gallery-small img,
.gallery-small video{
    border-radius:0;
}

.gallery-last{
    position:relative;
}

.gallery-last img,
.gallery-last video{
    border-radius:0 32px 32px 0;
}

.gallery-button{
    position:absolute;

    right:20px;
    bottom:20px;

    border:none;

    background:#fff;

    color:#0f172a;

    padding:14px 22px;

    border-radius:999px;

    font-weight:700;

    cursor:pointer;

    box-shadow:
    0 10px 30px rgba(0,0,0,.12);
}

.section-header.center{
    text-align:center;
}

.section-header.center h2 span{
    color:#0ea5e9;
    font-style:italic;
}

@media(max-width:900px){

    .gallery-grid{
        grid-template-columns:1fr;
        grid-template-rows:auto;
    }

    .gallery-large img,
    .gallery-large video,
    .gallery-small img,
    .gallery-small video,
    .gallery-last img,
    .gallery-last video{
        border-radius:24px;
    }

}
.trust-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 2rem;
  align-items: start;
}
.review-badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}
.review-badges div {
  background: #fff;
  border-radius: 20px;
  padding: 1rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  text-align: center;
}
.review-badges strong {
  display: block;
  font-size: 1.75rem;
  color: #0f172a;
}
.review-badges span {
  color: #475569;
}
.testimonial-list {
  display: grid;
  gap: 1.25rem;
}
.testimonial-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 24px;
  border: 1px solid rgba(15, 23, 42, 0.08);
}
.testimonial-card p {
  margin: 0 0 1rem;
  color: #334155;
}
.testimonial-card span {
  color: #0f172a;
  font-weight: 700;
}
.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 1rem;
}
.team-grid div {
  text-align: center;
}
.team-grid img {
  width: 100%;
  border-radius: 24px;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.team-grid span {
  display: block;
  margin-top: 0.75rem;
  font-weight: 700;
}
.faq-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.faq-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 24px;
  padding: 1.75rem;
}
.faq-card h3 {
  margin: 0 0 0.75rem;
}
.faq-card p {
  margin: 0;
  color: #475569;
}
.site-footer {
  background: #0f172a;
  color: #e2e8f0;
  padding: 3rem 0 2rem;
}
.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2rem;
}
.site-footer h4 {
  margin-bottom: 1rem;
}
.site-footer a {
  display: block;
  margin-bottom: 0.75rem;
  color: #e2e8f0;
}
.site-footer p {
  color: #cbd5e1;
}
.footer-bottom {
  border-top: 1px solid rgba(226, 232, 240, 0.16);
  margin-top: 2rem;
  padding-top: 1.5rem;
  text-align: center;
}
@media (max-width: 900px) {

  .hero-content h1 {
    font-size: clamp(2.8rem, 7vw, 4.5rem);
  }
  .hero-text {
    max-width: 100%;
  }
  .hero-actions {
    justify-content: center;
  }
  .hero-actions .btn {
    width: auto;
  }
  .hero-stats {
    gap: 1rem;
  }
  .review-badges {
    grid-template-columns: 1fr;
  }
  .gallery-grid {
    grid-template-columns: 1fr;
  }
  .gallery-aside {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(2, minmax(180px, 1fr));
  }
  .gallery-item-feature {
    min-height: 360px;
  }
  .gallery-item img {
    min-height: 180px;
  }
  .gallery-item-button {
    right: 0.9rem;
    bottom: 0.9rem;
  }
  .gallery-cta {
    display: block;
  }
  .nav-links a {
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }
  .tour-detail-content {
    padding: 4rem 1rem 4.5rem;
  }
  .tour-detail-grid {
    grid-template-columns: 1fr;
  }
  .tour-detail-summary-card {
    margin-top: 2rem;
  }
  .included-card-grid {
    grid-template-columns: 1fr;
  }
  .itinerary-grid {
    grid-template-columns: 1fr;
  }
  .booking-grid,
  .option-grid,
  .review-grid,
  .toggle-list {
    grid-template-columns: 1fr;
  }
  .booking-card,
  .option-card,
  .review-card,
  .toggle-card {
    padding: 1.4rem;
  }
  .date-input {
    flex-direction: column;
    align-items: stretch;
  }
  .guest-row {
    grid-template-columns: 1fr;
  }
  .feature-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 620px) {
  .gallery-aside {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .header-inner {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .menu-toggle {
    display: inline-flex;
  }
  .nav-links {
    width: 100%;
    flex-direction: column;
    gap: 0.75rem;
    display: none;
    padding-top: 1rem;
  }
  .nav-links.nav-open {
    display: flex;
  }
  .nav-links a {
    font-size: 0.95rem;
  }

  .hero-content {
    padding: 0 1rem;
  }
  .hero-actions {
    flex-direction: column;
    width: 100%;
  }
  .hero-actions .btn {
    width: 100%;
  }
  .hero-stats {
    flex-direction: column;
    align-items: center;
  }
  .hero-stats div {
    width: 100%;
    max-width: 320px;
  }
  .hero-panel,
  .hero-card {
    display: none;
  }
  .whatsapp-float {
    right: 1rem;
    bottom: 1rem;
  }
}

/* =========================
   MODERN CINEMATIC UPDATE
========================= */

.hero-video video{
    opacity:.75 !important;
    transform:none;
    filter:
    brightness(.75)
    saturate(1.2)
    contrast(1.05);
}

.hero-overlay{
    background:
    linear-gradient(
        to bottom,
        rgba(0,0,0,.68),
        rgba(0,0,0,.35),
        rgba(0,0,0,.72)
    ) !important;
    backdrop-filter:none;
}

.hero-content{
    animation:fadeUp 1s ease;
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

.hero-content h1{
    color:#fff !important;
    font-size:clamp(2.8rem,4.6vw,4.8rem) !important;
    font-weight:900 !important;
    letter-spacing:-2px;
    text-shadow:
    0 10px 30px rgba(0,0,0,.45);
}

.hero-content .eyebrow{
    font-size:.72rem !important;
    letter-spacing:3px !important;
}

.hero-text{
    color:rgba(255,255,255,.88) !important;
    font-size:.82rem !important;
    line-height:1.65 !important;
}

.hero-subtext{
    color:rgba(255,255,255,.7) !important;
    font-size:.75rem !important;
}

.hero-stats div{
    background:rgba(255,255,255,.08) !important;
    backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    min-width:86px;
    padding:14px 18px;
    box-shadow:
    0 10px 30px rgba(0,0,0,.25);
}

.hero-stats strong{
    color:#fff;
    font-size:1.55rem;
}

.hero-stats span{
    color:rgba(255,255,255,.7);
    font-size:.68rem;
}

.hero-actions{
    margin-top:24px;
}

.hero-actions .btn{
    min-width:150px;
    padding:.65rem 1.25rem;
    font-size:.72rem;
}

.hero-stats{
    gap:12px;
    margin-top:32px;
}

.hero-scroll{
    margin-top:28px;
    font-size:.62rem;
    letter-spacing:5px;
}

.btn-primary{
    background:
    linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    ) !important;

    box-shadow:
    0 15px 40px rgba(37,99,235,.45);

    transition:.4s;
}

.btn-primary:hover{
    transform:
    translateY(-6px)
    scale(1.03);

    box-shadow:
    0 20px 60px rgba(37,99,235,.6);
}

.site-header{
    background:
    rgba(0,0,0,.22) !important;

    backdrop-filter:blur(20px);
    border:none !important;
}

.nav-links a{
    color:#fff !important;
}

.nav-links a:hover{
    color:#60a5fa !important;
}

.tour-card{
    transition:.45s;
}

.tour-card:hover{
    transform:
    translateY(-10px)
    scale(1.02);
}

.feature-card{
    transition:.4s;
}

.feature-card:hover{
    transform:translateY(-10px);
    box-shadow:
    0 30px 80px rgba(0,0,0,.15);
}

.gallery-item img{
    transition:.5s;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

.testimonial-card{
    transition:.4s;
}

.testimonial-card:hover{
    transform:translateY(-8px);
}

.whatsapp-float{
    animation:pulse 2s infinite;
}

@keyframes pulse{

    0%{
        box-shadow:
        0 0 0 0 rgba(37,211,102,.5);
    }

    70%{
        box-shadow:
        0 0 0 20px rgba(37,211,102,0);
    }

    100%{
        box-shadow:
        0 0 0 0 rgba(37,211,102,0);
    }

}

/* MOBILE */

@media(max-width:768px){

    .hero-content h1{
        font-size:2.45rem !important;
        letter-spacing:-1px;
    }

    .hero-text{
        font-size:.78rem !important;
    }

    .hero-subtext{
        font-size:.72rem !important;
    }

    .hero-stats div{
        min-width:78px;
        padding:12px 14px;
    }

    .hero-stats strong{
        font-size:1.35rem;
    }

}

@media (max-width: 720px) {
  .tour-detail-hero {
    padding: 1.8rem 0 3rem;
  }

  .tour-detail-content {
    width: min(100%, 400px);
    padding: 1rem 1.5rem 2rem;
  }

  .tour-detail-badge {
    padding: .55rem .95rem;
    font-size: .72rem;
    margin-bottom: .75rem;
  }

  .tour-detail-content .eyebrow {
    max-width: 320px;
    justify-content: center;
    font-size: .78rem;
    line-height: 1.35;
    letter-spacing: .08em;
    margin-bottom: .85rem;
  }

  .tour-detail-content h1 {
    max-width: 330px;
    margin: 0 auto;
    font-size: clamp(2.15rem, 10vw, 2.85rem);
    line-height: 1.12;
    letter-spacing: -0.035em;
  }

  .tour-detail-subtitle {
    max-width: 350px;
    margin-top: 1.35rem;
    font-size: .92rem;
    line-height: 1.55;
  }

  .tour-booking {
    margin-top: 1.9rem;
  }

  .tour-booking .book-button {
    min-width: 242px;
    min-height: 56px;
  }

  .tour-detail-hero-meta {
    display: none;
  }

  .tour-detail-tagline {
    max-width: 350px;
    margin-top: 1rem;
    margin-bottom: 1.8rem;
    font-size: .86rem;
  }

  .tour-detail-actions {
    margin-top: .35rem;
  }

  .tour-detail-actions .btn {
    width: min(100%, 242px);
    min-width: 0;
    min-height: 56px;
  }

  .tour-detail-actions .btn-secondary {
    display: none;
  }

  .tour-detail-tron {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    margin-top: 2.35rem;
    border-radius: 18px;
  }
}

/* =========================
   FINAL UI/UX POLISH
========================= */

.home {
  background: #f4f7fb;
}

.home .site-header {
  background: rgba(3, 13, 31, .72) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
  backdrop-filter: blur(18px);
}

.home .site-header.solid {
  background: rgba(3, 13, 31, .94) !important;
  box-shadow: 0 16px 42px rgba(2, 6, 23, .22);
}

.home .header-inner {
  min-height: 76px;
}

.home .brand {
  letter-spacing: 0;
}

.home .nav-links {
  gap: 1.5rem;
}

.home .nav-links a {
  font-size: .78rem;
  letter-spacing: .14em;
  opacity: .86;
}

.home .nav-links a:hover {
  opacity: 1;
}

.hero {
  min-height: 92vh;
  align-items: center;
}

.hero-video video {
  opacity: 1 !important;
  transform: none !important;
  image-rendering: auto;
  filter: brightness(.98) contrast(1.03) saturate(1.08) !important;
}

.hero-overlay {
  background:
    linear-gradient(180deg, rgba(2, 6, 23, .48), rgba(2, 14, 35, .14) 42%, rgba(2, 6, 23, .52)),
    radial-gradient(circle at 50% 44%, rgba(2, 6, 23, .28), transparent 36%) !important;
}

.hero-content {
  max-width: 850px !important;
  padding: 158px 20px 92px !important;
}

.hero-content .eyebrow {
  display: inline-flex;
  padding: .55rem .8rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  color: #bfdbfe !important;
  font-size: .7rem !important;
  letter-spacing: .22em !important;
}

.hero-content h1 {
  max-width: 820px;
  margin: 1.1rem auto .9rem !important;
  font-size: clamp(3rem, 6.5vw, 6.1rem) !important;
  line-height: .98 !important;
  letter-spacing: -0.055em !important;
}

.hero-content h1 span {
  color: #93c5fd;
}

.hero-text {
  max-width: 650px;
  margin: 0 auto;
  color: rgba(255,255,255,.88) !important;
  font-size: 1.02rem !important;
  line-height: 1.75 !important;
}

.hero-subtext {
  margin: 1rem auto 0;
  color: rgba(226,232,240,.76) !important;
  font-size: .92rem !important;
}

.hero-actions {
  display: flex;
  justify-content: center;
  gap: .8rem;
  flex-wrap: wrap;
  margin-top: 1.8rem !important;
}

.hero-actions .btn {
  min-width: 178px !important;
  min-height: 52px;
  padding: 0 1.35rem !important;
  font-size: .9rem !important;
}

.hero-actions .btn-secondary {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: none;
}

.hero-stats {
  gap: .85rem !important;
  margin-top: 2.2rem !important;
}

.hero-stats div {
  min-width: 118px !important;
  padding: 1rem 1.15rem !important;
  border-radius: 14px !important;
}

.hero-stats strong {
  font-size: 1.65rem !important;
}

.hero-stats span {
  font-size: .74rem !important;
}

.hero-scroll {
  opacity: .72;
}

.section {
  padding: 5rem 0;
}

.section-light {
  background: #f4f7fb;
}

.section-header,
.section-heading {
  max-width: 760px;
}

.section-header .eyebrow,
.section-heading span {
  color: #0076e7;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .22em;
}

.section-header h2,
.section-heading h2 {
  color: #061226;
  font-size: clamp(2.15rem, 4vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.section-header p,
.section-heading p {
  color: #526984;
  font-size: 1rem;
  line-height: 1.75;
}

.tour-types {
  padding: 5.5rem 0;
  background: #061226;
}

.tour-types .section-heading {
  margin: 0 auto;
  text-align: center;
}

.tour-types .section-heading h2 {
  color: #fff;
}

.tour-types .section-heading p {
  color: rgba(226,232,240,.74);
}

.tour-grid {
  gap: 20px;
  margin-top: 48px;
}

.tour-card {
  min-height: 500px;
  border-radius: 18px;
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 28px 70px rgba(0,0,0,.28);
}

.tour-overlay {
  background: linear-gradient(to top, rgba(2,6,23,.9), rgba(2,6,23,.22), rgba(2,6,23,.05));
}

.tour-card-content {
  padding: 32px;
}

.tour-badge {
  top: 22px;
  right: 22px;
  padding: .65rem .9rem;
  border-radius: 999px;
  font-size: .74rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.tour-card h3 {
  margin-bottom: .75rem;
  font-size: clamp(2.15rem, 4vw, 3.2rem);
  letter-spacing: -0.045em;
}

.tour-card p {
  max-width: 560px;
  color: rgba(255,255,255,.78);
}

.tour-meta {
  margin-top: 1.25rem;
  padding-top: 1rem;
  color: rgba(255,255,255,.86);
}

.tour-link {
  min-height: 44px;
  margin-top: 18px;
}

#gallery {
  background: #fff;
}

.gallery-grid {
  gap: 10px;
  grid-template-rows: 260px 260px;
  margin-top: 42px;
}

.gallery-grid img,
.gallery-grid video {
  transition: transform .45s ease;
}

.gallery-grid div {
  overflow: hidden;
}

.gallery-grid div:hover img,
.gallery-grid div:hover video {
  transform: scale(1.045);
}

.gallery-large img,
.gallery-large video {
  border-radius: 18px 0 0 18px;
}

.gallery-last img,
.gallery-last video {
  border-radius: 0 18px 18px 0;
}

#reviews {
  background: #f4f7fb;
}

#reviews .review-grid {
  gap: 3rem;
}

#reviews .review-summary {
  top: 110px;
}

#reviews .review-card {
  border-radius: 16px;
  box-shadow: 0 16px 42px rgba(15,23,42,.06);
}

#team {
  background: #fff;
}

.team-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.team-grid img {
  border-radius: 16px;
}

#faq {
  background: #061226;
}

#faq .section-header {
  margin: 0 auto 2rem;
  text-align: center;
}

#faq .section-header h2 {
  color: #fff;
}

.faq-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.faq-card {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  color: #fff;
}

.faq-card p {
  color: rgba(226,232,240,.76);
}

#faq .gallery-cta {
  margin: 2rem 0 0;
  text-align: center;
}

#faq .link-primary {
  background: #fff;
  color: #061226;
}

.site-footer {
  background: #030d1f;
}

.site-footer .brand {
  color: #fff !important;
}

.footer-grid {
  gap: 2.5rem;
}

.whatsapp-float {
  min-height: 52px;
  padding: 0 1.35rem;
  border-radius: 999px;
  box-shadow: 0 18px 44px rgba(37,211,102,.32);
}

@media (max-width: 992px) {
  .hero-content {
    padding-top: 136px !important;
  }

  .tour-grid,
  .faq-grid {
    grid-template-columns: 1fr;
  }

  .tour-card {
    min-height: 420px;
  }

  .gallery-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 260px 220px 220px;
  }

  .gallery-large {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .gallery-large img,
  .gallery-large video,
  .gallery-last img,
  .gallery-last video,
  .gallery-small img,
  .gallery-small video {
    border-radius: 16px;
  }
}

@media (max-width: 720px) {
  .home .header-inner {
    min-height: 68px;
  }

  .home .menu-toggle {
    color: #fff;
  }

  .home .nav-links {
    gap: .5rem;
    padding: .75rem 0 .25rem;
  }

  .home .nav-links a {
    width: 100%;
    padding: .75rem 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }

  .hero {
    min-height: 92svh;
  }

  .hero-content h1 {
    font-size: clamp(2.7rem, 12vw, 4rem) !important;
  }

  .hero-actions {
    width: 100%;
  }

  .hero-actions .btn {
    width: min(100%, 320px) !important;
  }

  .hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 360px);
    margin-left: auto;
    margin-right: auto;
  }

  .hero-stats div {
    width: 100% !important;
  }

  .section {
    padding: 4rem 0;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .gallery-grid div,
  .gallery-grid img,
  .gallery-grid video {
    min-height: 240px;
  }

  .whatsapp-float {
    right: .85rem;
    bottom: .85rem;
    min-height: 48px;
    padding: 0 1rem;
    font-size: .88rem;
  }
}

/* Hero compact scale */
.home .header-inner {
  min-height: 60px;
}

.home .brand {
  font-size: 1.45rem !important;
}

.home .nav-links a {
  font-size: .66rem !important;
  letter-spacing: .14em;
}

.hero {
  min-height: 100vh;
  min-height: 100svh;
}

.hero-content {
  max-width: 680px !important;
  padding: 132px 20px 96px !important;
}

.hero-content .eyebrow {
  padding: .42rem .65rem;
  font-size: .56rem !important;
  letter-spacing: .18em !important;
}

.hero-content h1 {
  max-width: 620px;
  margin: .9rem auto .65rem !important;
  font-size: clamp(2.7rem, 4.7vw, 4.35rem) !important;
  line-height: .98 !important;
}

.hero-text {
  max-width: 520px;
  font-size: .78rem !important;
  line-height: 1.6 !important;
}

.hero-subtext {
  margin-top: .75rem;
  font-size: .73rem !important;
}

.hero-actions {
  gap: .65rem;
  margin-top: 1.25rem !important;
}

.hero-actions .btn {
  min-width: 132px !important;
  min-height: 38px;
  padding: 0 1rem !important;
  font-size: .68rem !important;
}

.hero-stats {
  gap: .6rem !important;
  margin-top: 1.6rem !important;
}

.hero-stats div {
  min-width: 78px !important;
  padding: .72rem .78rem !important;
  border-radius: 10px !important;
}

.hero-stats strong {
  font-size: 1.28rem !important;
}

.hero-stats span {
  font-size: .56rem !important;
}

.hero-scroll {
  margin-top: 1.25rem !important;
  font-size: .5rem !important;
  letter-spacing: .45em;
}

@media (max-width: 720px) {
  .home .brand {
    font-size: 1.25rem !important;
  }

  .hero-content {
    max-width: 390px !important;
    padding-top: 112px !important;
    padding-bottom: 86px !important;
  }

  .hero-content h1 {
    font-size: clamp(2.25rem, 10vw, 3.25rem) !important;
  }

  .hero-text {
    font-size: .74rem !important;
  }

  .hero-stats {
    max-width: 280px;
  }
}

/* =========================
   DESTINATION CATALOG
========================= */

.destination-page {
  background: #f6f8fc;
  color: #0f172a;
}

.destination-page .site-header {
  background: rgba(255, 255, 255, .94) !important;
  border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
  backdrop-filter: blur(18px);
}

.destination-page .brand,
.destination-page .nav-links a,
.destination-page .menu-toggle {
  color: #0f172a !important;
}

.destination-main {
  padding-top: 78px;
}

.destination-top {
  padding: 54px 0 32px;
  background: #fff;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.destination-top-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  gap: 32px;
  align-items: end;
}

.destination-top .eyebrow,
.destination-results-head .eyebrow {
  color: #2563eb;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.destination-top h1 {
  max-width: 660px;
  margin: 8px 0 12px;
  color: #061226;
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  line-height: 1;
}

.destination-top p {
  max-width: 660px;
  margin: 0;
  color: #526984;
}

.destination-search {
  display: grid;
  gap: 8px;
}

.destination-search label {
  color: #64748b;
  font-size: .82rem;
  font-weight: 800;
}

.destination-search div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 8px;
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 18px;
  background: #f8fafc;
}

.destination-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #0f172a;
  font: inherit;
  padding: 0 10px;
}

.destination-search .btn {
  min-height: 44px;
  padding: 0 18px;
}

.destination-browser {
  padding: 34px 0 72px;
}

.destination-layout {
  display: grid;
  grid-template-columns: 308px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
}

.destination-filter {
  position: sticky;
  top: 98px;
  display: grid;
  gap: 16px;
}

.filter-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  padding: 18px 20px;
  border: 1px solid rgba(37, 99, 235, .18);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .04);
}

.filter-card h2 {
  grid-column: 1 / -1;
  margin: 0 0 4px;
  color: #1f2937;
  font-size: 1rem;
  font-weight: 700;
}

.filter-card label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  color: #334155;
  font-size: .92rem;
  cursor: pointer;
}

.filter-card input {
  width: 16px;
  height: 16px;
  accent-color: #2563eb;
}

.destination-filter .btn,
.destination-reset {
  min-height: 44px;
  border-radius: 8px;
}

.destination-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eaf1ff;
  color: #1d4ed8;
  font-weight: 800;
}

.destination-results-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  margin-bottom: 20px;
}

.destination-results-head h2 {
  margin: 6px 0 0;
  color: #061226;
  font-size: clamp(1.6rem, 3vw, 2.45rem);
}

.destination-results-head .btn-secondary {
  background: #0f172a;
  color: #fff;
  border: 0;
}

.destination-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.destination-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .09);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  cursor: pointer;
}

.destination-card:hover {
  transform: translateY(-8px) scale(1.012);
  box-shadow: 0 24px 60px rgba(15, 23, 42, .14);
}

.destination-card-link {
  position: absolute;
  inset: 0;
  z-index: 4;
  border-radius: inherit;
}

.destination-bottom a {
  position: relative;
  z-index: 5;
}

.destination-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #dbeafe;
}

.destination-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.destination-card:hover .destination-media img {
  transform: scale(1.05);
}

.destination-views,
.destination-duration,
.destination-badge {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  border-radius: 999px;
  padding: 0 12px;
  color: #fff;
  font-size: .75rem;
  font-weight: 900;
}

.destination-badge {
  top: 16px;
  left: 16px;
  background: rgba(15, 23, 42, .82);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .16);
  backdrop-filter: blur(12px);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.destination-views {
  top: 16px;
  right: 16px;
  background: rgba(15, 23, 42, .72);
  backdrop-filter: blur(12px);
}

.destination-duration {
  right: 16px;
  bottom: 16px;
  background: rgba(37, 99, 235, .92);
}

.destination-card-body {
  display: grid;
  gap: 10px;
  padding: 18px 20px 20px;
}

.destination-date {
  justify-self: start;
  padding: 6px 10px;
  border-radius: 6px;
  background: #f1f5f9;
  color: #334155;
  font-size: .72rem;
  font-weight: 800;
}

.destination-status {
  justify-self: start;
  padding: 5px 9px;
  border-radius: 5px;
  background: #ecfdf5;
  color: #166534;
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.destination-status.full {
  background: #cbd5e1;
  color: #475569;
}

.destination-card h3 {
  margin: 0;
  color: #061226;
  font-size: 1.05rem;
  line-height: 1.3;
}

.destination-card p,
.destination-card small {
  margin: 0;
  color: #526984;
  line-height: 1.55;
}

.destination-card p {
  display: -webkit-box;
  overflow: hidden;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: .88rem;
}

.destination-card small {
  font-size: .82rem;
}

.destination-meta {
  display: grid;
  gap: 3px;
  color: #526984;
  font-size: .82rem;
}

.destination-meta span:first-child {
  color: #0f172a;
  font-weight: 800;
}

.tour-scan-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 2px;
}

.tour-scan-meta span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 8px;
  border-radius: 9px;
  background: #f8fafc;
  color: #334155;
  font-size: .72rem;
  font-weight: 900;
  text-align: center;
}

.destination-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 4px;
}

.destination-bottom strong {
  display: grid;
  gap: 2px;
  color: #020617;
  font-size: 1.35rem;
  line-height: 1;
}

.destination-bottom strong span {
  color: #64748b;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.destination-bottom div {
  display: flex;
  gap: 8px;
}

.destination-bottom a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 8px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: .8rem;
  font-weight: 900;
}

.destination-bottom a:last-child {
  background: #2563eb;
  color: #fff;
}

.destination-bottom .destination-cta-button {
  min-height: 42px;
  padding: 0 16px;
  background: linear-gradient(135deg, #2563eb, #38bdf8);
  color: #fff;
  box-shadow: 0 14px 28px rgba(37, 99, 235, .20);
}

.destination-bottom .destination-wa-button {
  min-width: 44px;
  min-height: 42px;
  background: #16a34a;
  color: #fff;
}

.shared-destination-card.featured {
  border-color: rgba(37, 99, 235, .16);
}

.destination-empty {
  grid-column: 1 / -1;
  display: grid;
  gap: 6px;
  padding: 32px;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  text-align: center;
}

.destination-empty span {
  color: #64748b;
}

.selected-destination-card {
  display: grid;
  gap: 6px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid rgba(37, 99, 235, .12);
  border-radius: 18px;
  background: linear-gradient(135deg, #eff6ff, #ffffff);
  color: #0f172a;
  box-shadow: 0 18px 45px rgba(37, 99, 235, .08);
}

.selected-destination-card span {
  color: #2563eb;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.selected-destination-card strong {
  color: #061226;
}

.selected-destination-card small {
  color: #526984;
}

.destination-detail-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}

.destination-detail-panel > div {
  padding: 20px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .06);
}

.destination-detail-panel .eyebrow {
  color: #2563eb;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .16em;
}

.destination-detail-panel h3 {
  margin: 6px 0 12px;
  color: #061226;
  font-size: 1.1rem;
}

.destination-detail-panel ul,
.destination-detail-panel ol {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 1.1rem;
  color: #334155;
}

.destination-detail-panel li::marker {
  color: #2563eb;
  font-weight: 900;
}

.package-select-panel {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
  padding: 20px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .06);
}

.package-select-panel .eyebrow {
  color: #2563eb;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .16em;
}

.package-select-panel h3 {
  margin: -4px 0 0;
  color: #061226;
  font-size: 1.15rem;
}

.package-option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.package-option {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 16px;
  background: #f8fafc;
  color: #0f172a;
}

.package-option.active {
  border-color: rgba(37, 99, 235, .65);
  background: #eff6ff;
  box-shadow: 0 14px 32px rgba(37, 99, 235, .16);
}

.package-option > span {
  justify-self: start;
  padding: 5px 8px;
  border-radius: 999px;
  background: #2563eb;
  color: #fff;
  font-size: .66rem;
  font-weight: 900;
}

.package-option strong {
  color: #061226;
}

.package-option small {
  color: #526984;
  line-height: 1.45;
}

.package-option em {
  color: #166534;
  font-style: normal;
  font-weight: 900;
}

.destination-cta {
  margin-top: 28px;
  text-align: center;
}

.destination-cta .btn {
  min-width: 220px;
}

.home-cta-band {
  padding: 3.2rem 0;
  background: #061226;
  color: #fff;
}

.home-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
}

.home-cta-inner .eyebrow {
  color: #93c5fd;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.home-cta-inner h2 {
  max-width: 760px;
  margin: .55rem 0 .7rem;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1;
}

.home-cta-inner p {
  max-width: 660px;
  margin: 0;
  color: rgba(226, 232, 240, .78);
  font-size: 1.05rem;
  line-height: 1.7;
}

.gallery-page {
  background: #f4f7fb;
}

.gallery-page .site-header {
  background: rgba(3, 13, 31, .94) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
  box-shadow: 0 16px 42px rgba(2, 6, 23, .22);
  backdrop-filter: blur(18px);
}

.gallery-page .header-inner {
  min-height: 60px;
  padding: .55rem 0;
}

.gallery-page .brand {
  color: #fff !important;
  font-size: 1.45rem !important;
  letter-spacing: 0;
}

.gallery-page .nav-links {
  gap: 1.5rem;
}

.gallery-page .nav-links a {
  color: #fff !important;
  font-size: .66rem !important;
  letter-spacing: .14em;
  opacity: .86;
}

.gallery-page .nav-links a:hover {
  opacity: 1;
}

.gallery-page .menu-toggle {
  color: #fff !important;
}

.gallery-hero {
  padding: 5rem 0 4.5rem;
  background: #061226;
  color: #fff;
}

.gallery-hero-inner {
  max-width: 980px;
}

.gallery-hero .eyebrow {
  color: #93c5fd;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.gallery-hero h1 {
  max-width: 880px;
  margin: .8rem 0 1rem;
  color: #fff;
  font-size: clamp(3rem, 8vw, 7rem);
  line-height: .92;
  letter-spacing: -0.055em;
}

.gallery-hero h1 span {
  color: #60a5fa;
}

.gallery-hero p {
  max-width: 700px;
  margin: 0;
  color: rgba(226, 232, 240, .78);
  font-size: 1.08rem;
  line-height: 1.8;
}

.gallery-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem;
  margin-top: 1.7rem;
}

.gallery-showcase {
  padding: 4rem 0 5rem;
}

.gallery-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-bottom: 1.2rem;
}

.gallery-filter {
  min-height: 42px;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 999px;
  padding: 0 1rem;
  background: #fff;
  color: #334155;
  cursor: pointer;
  font: inherit;
  font-size: .88rem;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.gallery-filter.active {
  border-color: #2563eb;
  background: #2563eb;
  color: #fff;
}

.gallery-page-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: 14px;
}

.gallery-page-item {
  position: relative;
  display: block;
  min-height: 260px;
  width: 100%;
  border: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #dbeafe;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
  text-align: left;
}

.gallery-page-item[hidden] {
  display: none;
}

.gallery-page-item.is-large {
  grid-column: span 2;
  grid-row: span 2;
  min-height: 540px;
}

.gallery-page-item.is-wide {
  grid-column: span 2;
}

.gallery-page-item img,
.gallery-page-item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.gallery-page-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 18, 38, 0) 35%, rgba(6, 18, 38, .82) 100%);
  pointer-events: none;
}

.gallery-page-item:hover img,
.gallery-page-item:hover video {
  transform: scale(1.06);
}

.gallery-number {
  position: absolute;
  z-index: 2;
  right: 14px;
  bottom: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 34px;
  border-radius: 999px;
  background: rgba(6, 18, 38, .78);
  color: #fff;
  font-size: .82rem;
  font-weight: 900;
  backdrop-filter: blur(12px);
}

.gallery-media-badge {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  border-radius: 999px;
  padding: 7px 10px;
  background: rgba(37, 99, 235, .88);
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
}

.gallery-item-copy {
  position: absolute;
  z-index: 2;
  left: 18px;
  right: 74px;
  bottom: 16px;
  display: grid;
  gap: 4px;
}

.gallery-item-copy small {
  color: rgba(255, 255, 255, .78);
  font-size: .76rem;
  font-weight: 800;
}

.gallery-item-copy strong {
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.1;
}

.gallery-item-copy p {
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: .86rem;
  line-height: 1.45;
}

.gallery-bottom-cta {
  display: grid;
  gap: .9rem;
  margin-top: 2rem;
  padding: 2rem;
  border-radius: 20px;
  background: #061226;
  color: #fff;
}

.gallery-bottom-cta span {
  color: #93c5fd;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .18em;
}

.gallery-bottom-cta h2 {
  max-width: 780px;
  margin: 0;
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 3.3rem);
  line-height: 1;
}

.gallery-bottom-cta div {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  grid-template-columns: 80px minmax(0, 1fr) 80px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 1rem;
  padding: 1rem;
  background: rgba(3, 7, 18, .92);
  color: #fff;
}

.gallery-lightbox.open {
  display: grid;
}

.lightbox-open {
  overflow: hidden;
}

.gallery-lightbox-media {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  place-items: center;
  min-height: 0;
}

.gallery-lightbox-media img,
.gallery-lightbox-media video {
  max-width: 100%;
  max-height: 76vh;
  border-radius: 18px;
  object-fit: contain;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
}

.gallery-lightbox-copy {
  grid-column: 2;
  grid-row: 3;
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}

.gallery-lightbox-copy span {
  color: #93c5fd;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.gallery-lightbox-copy h2 {
  margin: .35rem 0;
  color: #fff;
  font-size: clamp(1.7rem, 4vw, 3rem);
  line-height: 1;
}

.gallery-lightbox-copy p {
  margin: 0;
  color: rgba(226, 232, 240, .8);
  line-height: 1.65;
}

.gallery-lightbox-close,
.gallery-lightbox-prev,
.gallery-lightbox-next {
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: .82rem;
  font-weight: 900;
}

.gallery-lightbox-close {
  grid-column: 2;
  justify-self: end;
  min-height: 42px;
  padding: 0 1rem;
}

.gallery-lightbox-prev,
.gallery-lightbox-next {
  grid-row: 2;
  align-self: center;
  min-width: 58px;
  min-height: 58px;
}

.gallery-lightbox-prev {
  grid-column: 1;
}

.gallery-lightbox-next {
  grid-column: 3;
}

.gallery-empty {
  padding: 3rem;
  border-radius: 20px;
  background: #fff;
  text-align: center;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

.gallery-empty h2 {
  margin: 0 0 .6rem;
  color: #061226;
}

.gallery-empty p {
  margin: 0;
  color: #526984;
}

.shared-destination-section {
  background: #f4f7fb;
  color: #0f172a !important;
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
}

.shared-destination-section .container {
  max-width: 1180px;
}

.tour-destination-top {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 3rem;
  align-items: end;
  margin-bottom: 2.4rem;
}

.tour-destination-top h2 {
  max-width: 720px;
  margin: .45rem 0 1rem;
  color: #061226;
  font-size: clamp(2.6rem, 5vw, 5rem);
  line-height: .95;
  letter-spacing: -.055em;
}

.tour-destination-top p {
  max-width: 650px;
  margin: 0;
  color: #526984;
  font-size: 1.05rem;
  line-height: 1.75;
}

.tour-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  max-width: 720px;
  margin-top: 1.35rem;
}

.tour-trust-strip div {
  min-height: 72px;
  padding: 12px;
  border: 1px solid rgba(37, 99, 235, .12);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .055);
}

.tour-trust-strip strong,
.tour-trust-strip span {
  display: block;
}

.tour-trust-strip strong {
  color: #061226;
  font-size: 1rem;
  line-height: 1;
}

.tour-trust-strip span {
  margin-top: 6px;
  color: #526984;
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.25;
}

.tour-destination-layout {
  align-items: start;
}

.tour-destination-layout .destination-filter {
  position: sticky;
  top: 96px;
}

.shared-destination-section .section-header .eyebrow,
.shared-destination-section .booking-header .eyebrow {
  color: #2563eb !important;
}

.shared-destination-section .section-header h2,
.shared-destination-section .booking-header h2 {
  color: #061226 !important;
}

.shared-destination-section .section-header p,
.shared-destination-section .booking-header p {
  color: #526984 !important;
}

.shared-destination-grid {
  margin-top: 28px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}

.shared-destination-card .destination-media {
  aspect-ratio: 16 / 10;
}

.shared-destination-card .destination-card-body {
  gap: 8px;
  padding: 14px 16px 16px;
}

.shared-destination-card h3 {
  font-size: 1rem;
}

.shared-destination-card p {
  line-clamp: 2;
  -webkit-line-clamp: 2;
  font-size: .84rem;
  line-height: 1.5;
}

.shared-destination-card small,
.shared-destination-card .destination-meta {
  font-size: .78rem;
}

.shared-destination-card .destination-bottom strong {
  font-size: 1.2rem;
}

.shared-destination-card .destination-date,
.shared-destination-card .destination-status {
  font-size: .66rem;
}

.shared-destination-card .destination-bottom a {
  min-height: 32px;
  padding: 0 11px;
}

.shared-destination-card.active {
  border-color: rgba(37, 99, 235, .55);
  box-shadow: 0 24px 70px rgba(37, 99, 235, .2);
}

.shared-destination-card.active .destination-bottom a {
  background: #16a34a;
  color: #fff;
}

.private-route-section .tour-destination-top {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.private-route-section .destination-results {
  width: 100%;
}

.private-route-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1120px) {
  .destination-layout {
    grid-template-columns: 1fr;
  }

  .private-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .destination-filter {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .destination-filter .btn,
  .destination-reset {
    grid-column: span 1;
  }

  .destination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .destination-main {
    padding-top: 68px;
  }

  .destination-top-grid,
  .destination-filter,
  .destination-grid {
    grid-template-columns: 1fr;
  }

  .destination-search div,
  .destination-results-head,
  .destination-bottom,
  .home-cta-inner,
  .destination-detail-panel,
  .package-option-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .home-cta-inner .btn {
    width: 100%;
  }

  .gallery-hero {
    padding-top: 7.5rem;
  }

  .gallery-hero-actions .btn {
    width: 100%;
  }

  .gallery-page-grid {
    grid-template-columns: 1fr;
  }

  .gallery-page-item,
  .gallery-page-item.is-large,
  .gallery-page-item.is-wide {
    grid-column: auto;
    grid-row: auto;
    min-height: 320px;
  }

  .gallery-filter {
    flex: 1 1 auto;
  }

  .gallery-item-copy {
    right: 18px;
  }

  .gallery-number {
    top: 14px;
    bottom: auto;
  }

  .gallery-bottom-cta div,
  .gallery-bottom-cta .btn {
    width: 100%;
  }

  .gallery-lightbox {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    padding: .75rem;
  }

  .gallery-lightbox-close {
    grid-column: 1 / -1;
  }

  .gallery-lightbox-media {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .gallery-lightbox-copy {
    grid-column: 1 / -1;
    grid-row: 3;
  }

  .gallery-lightbox-prev,
  .gallery-lightbox-next {
    grid-row: 4;
    width: 100%;
    min-height: 48px;
  }

  .gallery-lightbox-prev {
    grid-column: 1;
  }

  .gallery-lightbox-next {
    grid-column: 2;
  }

  .filter-card {
    grid-template-columns: 1fr;
  }
}

/* Public header normalization */
.home .site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

.gallery-page .site-header,
.destination-page .site-header,
.contact-page .site-header,
.tour-page .site-header,
.invoice-page .site-header,
.booking-admin-page .site-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

.home .header-inner,
.gallery-page .header-inner,
.destination-page .header-inner,
.contact-page .header-inner,
.tour-page .header-inner,
.invoice-page .header-inner,
.booking-admin-page .header-inner {
  min-height: 60px !important;
  padding: .55rem 0 !important;
}

.home .brand,
.gallery-page .brand,
.destination-page .brand,
.contact-page .brand,
.tour-page .brand,
.invoice-page .brand,
.booking-admin-page .brand {
  font-size: 1.45rem !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.home .nav-links,
.gallery-page .nav-links,
.destination-page .nav-links,
.contact-page .nav-links,
.tour-page .nav-links,
.invoice-page .nav-links,
.booking-admin-page .nav-links {
  gap: 1.5rem !important;
}

.home .nav-links a,
.gallery-page .nav-links a,
.destination-page .nav-links a,
.contact-page .nav-links a,
.tour-page .nav-links a,
.invoice-page .nav-links a,
.booking-admin-page .nav-links a {
  font-size: .66rem !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  font-weight: 900 !important;
}

.home .menu-toggle,
.gallery-page .menu-toggle,
.destination-page .menu-toggle,
.contact-page .menu-toggle,
.tour-page .menu-toggle,
.invoice-page .menu-toggle,
.booking-admin-page .menu-toggle {
  min-height: 36px;
  align-items: center;
}

.tour-page .site-header,
.contact-page .site-header,
.invoice-page .site-header,
.booking-admin-page .site-header {
  background: rgba(3, 13, 31, .94) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
  box-shadow: 0 16px 42px rgba(2, 6, 23, .22);
  backdrop-filter: blur(18px);
}

.tour-page .brand,
.tour-page .nav-links a,
.tour-page .menu-toggle,
.contact-page .brand,
.contact-page .nav-links a,
.contact-page .menu-toggle,
.invoice-page .brand,
.invoice-page .nav-links a,
.invoice-page .menu-toggle,
.booking-admin-page .brand,
.booking-admin-page .nav-links a {
  color: #fff !important;
}

.tour-page .site-header {
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: none;
}

.tour-page .brand,
.tour-page .nav-links a,
.tour-page .menu-toggle {
  color: #0f172a !important;
}

@media (max-width: 720px) {
  .home .header-inner,
  .gallery-page .header-inner,
  .destination-page .header-inner,
  .tour-page .header-inner,
  .invoice-page .header-inner,
  .booking-admin-page .header-inner {
    min-height: 60px !important;
  }

  .home .nav-links,
  .gallery-page .nav-links,
  .destination-page .nav-links,
  .tour-page .nav-links,
  .invoice-page .nav-links,
  .booking-admin-page .nav-links {
    gap: .8rem !important;
    padding: 1rem 0 .6rem !important;
  }

  .home .nav-links a,
  .gallery-page .nav-links a,
  .destination-page .nav-links a,
  .tour-page .nav-links a,
  .invoice-page .nav-links a,
  .booking-admin-page .nav-links a {
    font-size: .8rem !important;
  }
}

/* Responsive stability layer: desktop, tablet, mobile */
@media (min-width: 1121px) {
  .checkout-layout {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 380px);
  }

  .destination-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gallery-page-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 761px) and (max-width: 1120px) {
  .container {
    width: min(calc(100% - 2rem), 960px);
  }

  .home .nav-links,
  .gallery-page .nav-links,
  .destination-page .nav-links,
  .tour-page .nav-links,
  .invoice-page .nav-links,
  .booking-admin-page .nav-links {
    gap: .95rem !important;
  }

  .home .nav-links a,
  .gallery-page .nav-links a,
  .destination-page .nav-links a,
  .tour-page .nav-links a,
  .invoice-page .nav-links a,
  .booking-admin-page .nav-links a {
    font-size: .6rem !important;
    letter-spacing: .1em !important;
  }

  .hero {
    min-height: 760px;
  }

  .hero-content {
    padding: 132px 24px 96px;
  }

  .hero-content h1,
  .gallery-hero h1 {
    letter-spacing: 0;
  }

  .tour-detail-content {
    padding: 2rem 1.25rem 3rem;
  }

  .tour-detail-tron {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .checkout-layout {
    grid-template-columns: 1fr;
  }

  .checkout-summary {
    position: static;
  }

  .destination-grid,
  .gallery-page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-page-item.is-large,
  .gallery-page-item.is-wide {
    grid-column: span 1;
    grid-row: auto;
    min-height: 360px;
  }
}

@media (max-width: 760px) {
  .container {
    width: min(calc(100% - 1.25rem), 520px);
  }

  .home .site-header,
  .gallery-page .site-header,
  .destination-page .site-header,
  .tour-page .site-header,
  .invoice-page .site-header,
  .booking-admin-page .site-header {
    background: rgba(3, 13, 31, .96) !important;
    backdrop-filter: blur(14px);
  }

  .header-inner {
    align-items: center;
  }

  .menu-toggle {
    min-width: 74px;
    min-height: 42px;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    cursor: pointer;
  }

  .home .nav-links,
  .gallery-page .nav-links,
  .destination-page .nav-links,
  .tour-page .nav-links,
  .invoice-page .nav-links,
  .booking-admin-page .nav-links {
    width: 100%;
    padding: .8rem 0 .4rem !important;
    border-top: 1px solid rgba(255, 255, 255, .1);
  }

  .home .nav-links a,
  .gallery-page .nav-links a,
  .destination-page .nav-links a,
  .tour-page .nav-links a,
  .invoice-page .nav-links a,
  .booking-admin-page .nav-links a {
    display: flex;
    align-items: center;
    min-height: 42px;
    width: 100%;
    font-size: .82rem !important;
  }

  .hero {
    min-height: 700px;
  }

  .hero-content {
    padding: 112px 0 72px;
  }

  .hero-content h1 {
    font-size: clamp(2.75rem, 13vw, 4rem);
    letter-spacing: 0;
  }

  .hero-text {
    font-size: 1rem;
    line-height: 1.65;
  }

  .hero-actions .btn,
  .gallery-hero-actions .btn,
  .tour-detail-actions .btn,
  .checkout-summary .btn,
  .destination-cta .btn {
    width: 100%;
    min-width: 0;
  }

  .section {
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
  }

  .section-header h2,
  .booking-header h2,
  .destination-results-head h2 {
    font-size: clamp(1.8rem, 9vw, 2.45rem);
    line-height: 1.05;
    letter-spacing: 0;
  }

  .tour-detail-hero {
    padding-top: 1.5rem;
  }

  .tour-detail-content {
    width: 100%;
    padding: 1rem 0 2rem;
  }

  .tour-detail-content h1 {
    font-size: clamp(2.15rem, 10vw, 3rem);
    letter-spacing: 0;
  }

  .tour-detail-tron {
    border-radius: 12px;
  }

  .checkout-layout,
  .form-grid,
  .payment-grid,
  .destination-detail-panel,
  .package-option-grid {
    grid-template-columns: 1fr !important;
  }

  .booking-card,
  .package-select-panel,
  .destination-detail-panel > div,
  .checkout-summary {
    border-radius: 14px;
    padding: 18px;
  }

  .form-field input,
  .form-field textarea,
  .admin-table select {
    min-height: 46px;
    border-radius: 10px;
  }

  .guest-row {
    grid-template-columns: 1fr auto;
  }

  .guest-action {
    min-width: 44px;
    min-height: 44px;
  }

  .summary-row {
    align-items: flex-start;
  }

  .summary-row strong {
    max-width: 56%;
    overflow-wrap: anywhere;
  }

  .destination-grid,
  .gallery-grid,
  .gallery-page-grid {
    grid-template-columns: 1fr !important;
  }

  .destination-results-head {
    align-items: stretch;
  }

  .destination-results-head .btn {
    width: 100%;
  }

  .destination-card,
  .gallery-page-item {
    border-radius: 12px;
  }

  .gallery-page-item,
  .gallery-page-item.is-large,
  .gallery-page-item.is-wide {
    min-height: 300px;
  }

  .gallery-filter-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-filter {
    width: 100%;
    padding: 0 .75rem;
  }

  .gallery-bottom-cta {
    border-radius: 14px;
    padding: 1.35rem;
  }
}

@media (max-width: 380px) {
  .container {
    width: min(calc(100% - 1rem), 360px);
  }

  .brand {
    font-size: 1.25rem !important;
  }

  .hero-content h1,
  .gallery-hero h1,
  .tour-detail-content h1 {
    font-size: 2.35rem;
  }

  .btn {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .gallery-filter-bar {
    grid-template-columns: 1fr;
  }
}

/* Tour page videotron hero */
.tour-page .tour-detail-hero {
  min-height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(2rem, 5vw, 3.5rem);
  padding: clamp(3rem, 7vw, 5rem) 1rem clamp(3rem, 7vw, 5rem);
  background: #f8fafc;
}

.tour-page .tour-detail-hero::before {
  display: none;
}

.tour-page .tour-detail-video {
  position: relative;
  order: 2;
  z-index: 1;
  width: min(1104px, calc(100vw - 4rem));
  aspect-ratio: 2.34 / 1;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .16);
}

.tour-page .tour-detail-video video,
.tour-page .tour-detail-video img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none;
  filter: brightness(.98) contrast(1.03) saturate(1.08);
  opacity: 1;
}

.tour-page .tour-detail-overlay {
  display: none;
}

.tour-page .tour-detail-content {
  order: 1;
  z-index: 2;
  width: min(100%, 860px);
  padding: 0;
  color: #0f172a;
  text-align: center;
}

.tour-page .tour-detail-badge {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, .1);
  box-shadow: 0 12px 32px rgba(15, 23, 42, .08);
}

.tour-page .tour-detail-content .eyebrow {
  color: #0072f0;
  justify-content: center;
}

.tour-page .tour-detail-content h1 {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  color: #0f172a;
  font-size: clamp(3rem, 5.8vw, 5.25rem);
  line-height: 1.02;
  letter-spacing: 0;
  text-shadow: none;
}

.tour-page .tour-detail-content h1 span {
  color: #0072f0;
}

.tour-page .tour-booking {
  display: none;
}

.tour-page .tour-detail-subtitle,
.tour-page .tour-detail-tagline {
  color: #334155;
}

.tour-page .tour-detail-hero-meta span {
  background: transparent;
  color: #334155;
  border: 0;
  padding: 0;
  backdrop-filter: none;
}

.tour-page .tour-detail-actions {
  justify-content: center;
}

.tour-page .tour-detail-actions .btn-secondary {
  background: #0f172a;
  color: #ffffff;
  border-color: #0f172a;
}

.tour-page .tour-detail-tron {
  display: none;
}

@media (max-width: 760px) {
  .tour-page .tour-detail-hero {
    padding-top: 2.5rem;
    gap: 1.75rem;
  }

  .tour-page .tour-detail-content {
    padding: 0;
  }

  .tour-page .tour-detail-content h1 {
    max-width: 100%;
    font-size: clamp(2.35rem, 10vw, 3.6rem);
  }

  .tour-page .tour-detail-video {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 14px;
  }

  .tour-page .tour-detail-actions .btn {
    width: 100%;
  }
}

/* Premium tour polish */
.tour-page {
  background: #f5f8fc;
}

.tour-page .site-header {
  background: rgba(255, 255, 255, .9) !important;
  border-bottom: 1px solid rgba(15, 23, 42, .06) !important;
  box-shadow: 0 10px 35px rgba(15, 23, 42, .04);
}

.tour-page .tour-detail-hero {
  padding-top: clamp(3.5rem, 7vw, 6rem);
  background:
    radial-gradient(circle at 18% 0%, rgba(37, 99, 235, .12), transparent 34%),
    radial-gradient(circle at 86% 10%, rgba(14, 165, 233, .1), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
}

.tour-page .tour-detail-content .eyebrow {
  display: inline-flex;
  padding: .45rem .75rem;
  border-radius: 999px;
  background: #eaf3ff;
  color: #006ee6;
  font-size: .68rem;
  letter-spacing: .2em;
}

.tour-page .tour-detail-content h1 {
  margin-top: 1rem;
  letter-spacing: -.045em;
}

.tour-page .tour-detail-subtitle {
  max-width: 680px;
  margin: 0 auto;
  font-size: 1.06rem;
  line-height: 1.75;
}

.tour-page .tour-detail-tagline {
  margin-top: .7rem;
  font-weight: 800;
}

.tour-page .tour-detail-video {
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 22px;
  box-shadow: 0 34px 90px rgba(15, 23, 42, .18);
}

/* Force tour hero back to videotron card layout on every tour URL */
.tour-page .tour-detail-hero {
  min-height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(2rem, 5vw, 3.5rem) !important;
  padding: clamp(3.5rem, 7vw, 6rem) 1rem clamp(3rem, 7vw, 5rem) !important;
  overflow: visible !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(37, 99, 235, .12), transparent 34%),
    radial-gradient(circle at 86% 10%, rgba(14, 165, 233, .1), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%) !important;
}

.tour-page .tour-detail-video {
  position: relative !important;
  inset: auto !important;
  order: 2 !important;
  z-index: 1 !important;
  display: block !important;
  width: min(1180px, calc(100vw - 3rem)) !important;
  height: auto !important;
  aspect-ratio: 2.34 / 1 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.tour-page .tour-detail-video video,
.tour-page .tour-detail-video img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: none !important;
  opacity: 1 !important;
}

.tour-page .tour-detail-overlay {
  display: none !important;
}

.tour-page .tour-detail-content {
  position: relative !important;
  order: 1 !important;
  z-index: 2 !important;
  width: min(100%, 860px) !important;
  color: #0f172a !important;
  text-align: center !important;
}

.tour-page .tour-detail-content h1 {
  color: #0f172a !important;
  text-align: center !important;
}

.tour-page .tour-detail-content h1 span {
  color: #0072f0 !important;
}

.tour-page .tour-detail-subtitle,
.tour-page .tour-detail-tagline {
  color: #334155 !important;
  text-align: center !important;
}

.tour-page .tour-detail-content .eyebrow,
.tour-page .tour-detail-badge,
.tour-page .tour-detail-hero-meta span {
  color: #0072f0 !important;
  border-color: rgba(37, 99, 235, .12) !important;
  background: #eaf3ff !important;
  box-shadow: none !important;
}

.tour-page .tour-detail-actions {
  justify-content: center !important;
}

.tour-page .tour-detail-actions .btn-primary {
  background: linear-gradient(135deg, #2378ff, #37b7ef) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.tour-page .tour-detail-actions .btn-secondary {
  background: #0f172a !important;
  color: #fff !important;
  border-color: transparent !important;
}

.tour-page .tour-detail-actions .btn {
  min-height: 52px;
  border-radius: 999px;
}

.shared-destination-section,
.tour-detail-itinerary,
.tour-page #step1 {
  background:
    radial-gradient(circle at 10% 8%, rgba(37, 99, 235, .06), transparent 28%),
    #f5f8fc;
}

.shared-destination-section .section-header,
.tour-page #step1 .section-header {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.shared-destination-card {
  border: 1px solid rgba(15, 23, 42, .07);
  border-radius: 20px;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .07);
}

.shared-destination-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 64px rgba(15, 23, 42, .11);
}

.shared-destination-card .destination-media {
  border-radius: 20px 20px 0 0;
  aspect-ratio: 16 / 10;
}

.shared-destination-card .destination-media img {
  object-fit: cover;
}

.shared-destination-card.featured::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(37, 99, 235, .10);
  border-radius: inherit;
  pointer-events: none;
  z-index: 3;
}

.checkout-layout {
  align-items: start;
}

.tour-page #step1 {
  padding-top: 5rem;
  padding-bottom: 5.5rem;
}

.tour-page .checkout-main {
  gap: 20px;
}

.tour-page .booking-card,
.tour-page .selected-destination-card,
.tour-page .destination-detail-panel > div,
.tour-page .package-select-panel,
.tour-page .tour-media-detail {
  border: 1px solid rgba(15, 23, 42, .06);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 22px 60px rgba(15, 23, 42, .07);
}

.booking-flow-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 36px;
}

.booking-flow-item {
  min-height: 148px;
  padding: 20px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .06);
}

.booking-flow-item span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff;
  font-weight: 800;
}

.booking-flow-item strong {
  display: block;
  margin-bottom: 6px;
  font-size: .98rem;
}

.booking-flow-item p {
  margin: 0;
  color: #475569;
  font-size: .88rem;
  line-height: 1.55;
}

.tour-facts-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.tour-facts-list div {
  display: grid;
  grid-template-columns: minmax(110px, .55fr) 1fr;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
}

.tour-facts-list div:last-child {
  border-bottom: 0;
}

.tour-facts-list dt {
  margin: 0;
  color: #64748b;
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.tour-facts-list dd {
  margin: 0;
  color: #0f172a;
  font-weight: 800;
}

.tour-page .tour-media-detail {
  display: grid;
  gap: 18px;
  padding: 22px;
  border-radius: 24px;
}

.tour-gallery-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.tour-gallery-strip figure {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #e2e8f0;
}

.tour-gallery-strip img,
.tour-gallery-strip video {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.tour-gallery-strip figcaption {
  min-height: 42px;
  padding: 9px 10px;
  color: #0f172a;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.25;
}

.tour-map-panel {
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, .22);
}

.tour-map-panel iframe {
  display: block;
  width: 100%;
  height: 280px;
  border: 0;
}

.book-button-secondary {
  margin-left: 10px;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .24);
  box-shadow: none;
}

.tour-page .booking-card {
  padding: 28px;
}

.tour-page .checkout-step {
  width: 38px;
  height: 38px;
  box-shadow: 0 12px 28px rgba(37, 99, 235, .25);
}

.tour-page .form-field input,
.tour-page .form-field textarea {
  border-color: rgba(148, 163, 184, .28);
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, .02);
}

.tour-page .payment-option,
.tour-page .guest-row {
  border-color: rgba(148, 163, 184, .24);
  background: linear-gradient(180deg, #ffffff, #fbfdff);
}

.tour-page .date-display {
  min-height: 60px;
  border-radius: 16px;
}

.tour-page .trip-calendar {
  border-radius: 20px;
  box-shadow: 0 34px 90px rgba(15, 23, 42, .16);
}

.tour-page .checkout-summary {
  border: 1px solid rgba(255, 255, 255, .12);
  background:
    radial-gradient(circle at 20% 0%, rgba(96, 165, 250, .16), transparent 34%),
    linear-gradient(180deg, #071426, #081225 72%, #050b18);
}

.tour-page .checkout-summary .eyebrow {
  color: #93c5fd;
}

.tour-page .summary-total strong,
.tour-page .summary-total span {
  font-size: 1.28rem;
}

.tour-page .checkout-summary .booking-note {
  background: rgba(239, 246, 255, .96);
  color: #334155;
}

.tour-detail-itinerary .container {
  text-align: center;
}

.itinerary-card {
  text-align: left;
}

.section-dark.tour-detail-highlights {
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
  background:
    radial-gradient(circle at 15% 10%, rgba(59, 130, 246, .18), transparent 28%),
    linear-gradient(180deg, #071426, #06101f);
}

.included-card {
  border-radius: 18px;
  background: rgba(255, 255, 255, .07);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.tour-page #book {
  padding-top: 5rem;
  padding-bottom: 5.5rem;
  background:
    radial-gradient(circle at 75% 15%, rgba(37, 99, 235, .08), transparent 30%),
    #f5f8fc;
}

.tour-page #book .tour-detail-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  align-items: stretch;
}

.tour-page #book h2 {
  margin-top: 0;
  color: #061226;
  font-size: clamp(2rem, 3vw, 2.8rem);
  letter-spacing: -.035em;
}

.tour-page #book p {
  max-width: 680px;
  color: #334155;
  line-height: 1.75;
}

.tour-page .tour-detail-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tour-page .tour-detail-list li {
  position: relative;
  padding-left: 3.1rem;
  border: 1px solid rgba(15, 23, 42, .06);
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .06);
}

.tour-page .tour-detail-list li::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 1.05rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: #2563eb;
  box-shadow: inset 0 0 0 5px #dbeafe;
}

.tour-page .tour-detail-summary-card {
  min-height: 100%;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 28px;
  background:
    radial-gradient(circle at 20% 0%, rgba(96, 165, 250, .18), transparent 34%),
    linear-gradient(180deg, #071426, #081225 72%, #050b18);
  box-shadow: 0 30px 80px rgba(2, 6, 23, .18);
}

.tour-page .tour-detail-summary-card .btn {
  align-self: end;
  min-height: 52px;
}

.tour-conversion-section {
  background: #ffffff;
}

.tour-conversion-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
  gap: 22px;
  align-items: start;
}

.tour-proof-panel,
.tour-faq-panel {
  padding: 28px;
  border: 1px solid rgba(15, 23, 42, .07);
  border-radius: 22px;
  background: #fff;
  color: #0f172a;
  box-shadow: 0 22px 60px rgba(15, 23, 42, .07);
}

.tour-proof-panel .eyebrow,
.tour-faq-panel .eyebrow {
  color: #2563eb;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .16em;
}

.tour-proof-panel h2,
.tour-faq-panel h2 {
  margin: 10px 0 12px;
  color: #061226;
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.tour-proof-panel p,
.tour-faq-panel p {
  color: #526984;
  line-height: 1.7;
}

.tour-proof-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 20px 0;
}

.tour-proof-stats div {
  padding: 14px;
  border-radius: 14px;
  background: #f5f8fc;
}

.tour-proof-stats strong,
.tour-proof-stats span {
  display: block;
}

.tour-proof-stats strong {
  color: #061226;
  font-size: 1.12rem;
}

.tour-proof-stats span {
  margin-top: 4px;
  color: #64748b;
  font-size: .74rem;
  font-weight: 800;
}

.tour-proof-panel blockquote {
  margin: 0;
  padding: 18px;
  border-left: 4px solid #2563eb;
  border-radius: 14px;
  background: #eff6ff;
}

.tour-proof-panel blockquote p {
  margin: 0 0 8px;
  color: #1e3a8a;
  font-weight: 800;
}

.tour-proof-panel cite {
  color: #526984;
  font-style: normal;
  font-weight: 800;
}

.tour-faq-list {
  display: grid;
  gap: 10px;
}

.tour-faq-list details {
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 14px;
  background: #fbfdff;
  overflow: hidden;
}

.tour-faq-list summary {
  cursor: pointer;
  padding: 16px;
  color: #061226;
  font-weight: 900;
}

.tour-faq-list details p {
  margin: 0;
  padding: 0 16px 16px;
  color: #526984;
}

.tour-whatsapp-float {
  background: #16a34a;
  color: #fff;
}

.destination-bottom a.destination-wa-button,
.destination-bottom a.destination-wa-button:last-child {
  background: #f0fdf4;
  color: #15803d;
  border: 1px solid rgba(22, 163, 74, .18);
  box-shadow: none;
}

@media (max-width: 900px) {
  .booking-flow-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tour-trust-strip,
  .tour-proof-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tour-conversion-grid {
    grid-template-columns: 1fr;
  }

  .tour-gallery-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tour-page #book .tour-detail-grid,
  .tour-page .tour-detail-list,
  .itinerary-grid {
    grid-template-columns: 1fr;
  }

  .itinerary-grid::before {
    left: 19px;
    right: auto;
    top: 0;
    bottom: 0;
    width: 2px;
    height: auto;
    background: linear-gradient(180deg, transparent, #bfdbfe, transparent);
  }

  .itinerary-card {
    min-height: 0;
    padding-left: 4rem;
  }

  .itinerary-number {
    position: absolute;
    left: 1rem;
    top: 1rem;
  }

  .tour-destination-top {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }

  .tour-destination-top h2 {
    font-size: clamp(2.35rem, 12vw, 4rem);
  }

  .tour-destination-layout .destination-filter {
    position: static;
  }
}

.contact-page {
  background: #f5f8fc;
}

.contact-hero {
  position: relative;
  min-height: calc(100vh - 78px);
  display: flex;
  align-items: center;
  padding: 7rem 0 4.5rem;
  background:
    linear-gradient(90deg, rgba(6, 18, 38, .92) 0%, rgba(6, 18, 38, .78) 46%, rgba(6, 18, 38, .58) 100%),
    url("../uploads/maxresdefault-1781719475.jpg") center/cover;
  color: #fff;
  overflow: hidden;
}

.contact-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(6, 18, 38, .9) 0%, rgba(6, 18, 38, .75) 48%, rgba(6, 18, 38, .52) 100%),
    linear-gradient(180deg, rgba(2, 6, 23, .44), rgba(2, 6, 23, .1) 45%, rgba(2, 6, 23, .44));
  pointer-events: none;
}

.contact-hero-video {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.contact-hero-video video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: none;
  filter: brightness(.98) contrast(1.03) saturate(1.08);
}

.contact-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .72fr);
  gap: 2rem;
  align-items: end;
}

.contact-hero h1 {
  max-width: 780px;
  margin: .8rem 0 1rem;
  font-size: clamp(3rem, 6vw, 6.4rem);
  line-height: .92;
  letter-spacing: -.04em;
}

.contact-hero p {
  max-width: 670px;
  color: rgba(255, 255, 255, .82);
  font-size: 1.08rem;
  line-height: 1.75;
}

.contact-panel,
.contact-info-grid article {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(15, 23, 42, .08);
}

.contact-panel {
  padding: 1.5rem;
  color: #0f172a;
}

.contact-panel p,
.contact-info-grid p {
  color: #526984;
}

.contact-row {
  display: grid;
  gap: .3rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(15, 23, 42, .08);
}

.contact-row strong {
  color: #061226;
}

.contact-row span {
  color: #526984;
  line-height: 1.55;
}

.contact-section {
  padding: 2rem 0 5rem;
}

.contact-map-section {
  padding: 0 0 5rem;
}

.contact-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.contact-info-grid article {
  padding: 1.35rem;
}

.contact-info-grid h2 {
  margin: .5rem 0 .6rem;
  color: #061226;
}

.contact-map {
  overflow: hidden;
  min-height: 420px;
  border-radius: 24px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: #dbeafe;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .1);
}

.contact-map iframe {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
}

@media (max-width: 900px) {
  .contact-hero {
    min-height: auto;
    padding-top: 7rem;
  }

  .contact-hero-grid,
  .contact-info-grid {
    grid-template-columns: 1fr;
  }

  .contact-panel {
    padding: 1.2rem;
  }
}

/* Home header: transparent over hero, like the reference header */
.home .site-header {
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.home .site-header.solid {
  background: rgba(3, 13, 31, .72) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
  box-shadow: 0 16px 42px rgba(2, 6, 23, .18) !important;
  backdrop-filter: blur(16px) !important;
}

.home .header-inner {
  min-height: 86px !important;
  padding: 1rem 0 !important;
}

.home .brand {
  color: #fff !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
}

.brand-logo,
.home .brand-logo {
  display: inline-flex !important;
  align-items: center;
  width: auto;
  height: 42px;
  min-height: 0;
  line-height: 0 !important;
}

.brand-logo img,
.home .brand-logo img {
  display: block;
  width: auto;
  height: 100%;
  max-width: 118px;
  object-fit: contain;
}

.home .nav-links a {
  color: #fff !important;
  opacity: .92;
  text-shadow: 0 8px 26px rgba(2, 6, 23, .32);
}

.home .nav-links a:hover {
  opacity: 1;
  color: #bfdbfe !important;
}

/* Admin compact consistency */
.booking-admin-page .admin-content {
  padding-top: 24px !important;
}

.booking-admin-page .container {
  display: flex;
  flex-direction: column;
}

.booking-admin-page .booking-alert {
  order: 0;
}

.booking-admin-page .admin-compact-bar {
  order: 1;
}

.booking-admin-page .admin-stat-grid {
  order: 2;
  margin-top: 0 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.booking-admin-page .admin-stat-card {
  min-height: 88px;
  padding: 14px 16px;
  border-radius: 16px;
}

.booking-admin-page .admin-stat-card span {
  font-size: .72rem;
  letter-spacing: .08em;
}

.booking-admin-page .admin-stat-card strong {
  margin: .35rem 0 0;
  font-size: 1.85rem;
}

.booking-admin-page .admin-stat-card small {
  display: none;
}

.booking-admin-page .insights-grid {
  display: none;
}

.booking-admin-page .admin-compact-bar {
  width: 100%;
  margin-bottom: 12px;
  padding: 12px 14px;
}

.booking-admin-page .admin-compact-actions .btn-secondary {
  background: #f1f5f9;
  color: #0f172a;
  border-color: rgba(148, 163, 184, .28);
}

.booking-admin-page .booking-list-panel {
  order: 3;
}

.booking-admin-page .availability-panel {
  order: 4;
}

.booking-admin-page .security-panel {
  order: 8;
}

.booking-admin-page #restore {
  order: 9;
}

.booking-admin-page .availability-panel:not(:target),
.booking-admin-page .security-panel:not(:target),
.booking-admin-page #restore:not(:target) {
  display: none;
}

.booking-admin-page .admin-panel-head {
  padding: 16px;
}

.booking-admin-page .admin-panel-head h2 {
  font-size: 1.25rem;
}

.booking-admin-page .admin-panel-head p,
.booking-admin-page .admin-panel .eyebrow {
  display: none;
}

.booking-admin-page .admin-filter {
  grid-template-columns: minmax(220px, 1fr) 150px 180px auto auto;
}

.booking-admin-page .admin-status-tabs {
  padding: 10px 14px;
}

/* Mobile header contrast fixes */
@media (max-width: 760px) {
  .destination-page .site-header,
  .tour-page .site-header {
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .06);
  }

  .destination-page .brand,
  .destination-page .nav-links a,
  .destination-page .menu-toggle,
  .tour-page .brand,
  .tour-page .nav-links a,
  .tour-page .menu-toggle {
    color: #0f172a !important;
  }

  .destination-page .menu-toggle,
  .tour-page .menu-toggle {
    border-color: rgba(15, 23, 42, .12);
    background: #f8fafc;
  }

  .destination-page .nav-links,
  .tour-page .nav-links {
    border-top: 1px solid rgba(15, 23, 42, .08);
  }
}

/* Premium visual polish layer */
:root {
  --ui-ink: #061226;
  --ui-muted: #526984;
  --ui-line: rgba(15, 23, 42, .08);
  --ui-soft: #f5f8fc;
  --ui-blue: #2563eb;
  --ui-cyan: #0ea5e9;
  --ui-shadow-sm: 0 14px 34px rgba(15, 23, 42, .06);
  --ui-shadow-md: 0 24px 70px rgba(15, 23, 42, .10);
}

::selection {
  background: rgba(37, 99, 235, .18);
  color: var(--ui-ink);
}

:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .55);
  outline-offset: 4px;
}

.btn {
  gap: .55rem;
  letter-spacing: .01em;
}

.btn-primary {
  background: linear-gradient(135deg, #0f6fff, #38bdf8) !important;
  box-shadow: 0 18px 44px rgba(37, 99, 235, .30);
}

.btn-secondary,
.destination-results-head .btn-secondary,
.tour-page .tour-detail-actions .btn-secondary {
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.btn-secondary:hover,
.destination-results-head .btn-secondary:hover,
.tour-page .tour-detail-actions .btn-secondary:hover {
  box-shadow: 0 16px 36px rgba(15, 23, 42, .16);
}

.section-header .eyebrow,
.section-heading span,
.tour-detail-content .eyebrow,
.destination-top .eyebrow,
.destination-results-head .eyebrow,
.gallery-hero .eyebrow,
.home-cta-inner .eyebrow {
  width: fit-content;
  padding: .42rem .7rem;
  border-radius: 999px;
  background: rgba(37, 99, 235, .08);
}

.section-header.center .eyebrow,
.tour-types .section-heading span,
#faq .section-header .eyebrow,
.tour-page .tour-detail-content .eyebrow {
  margin-left: auto;
  margin-right: auto;
}

.section-header h2,
.section-heading h2,
.destination-top h1,
.gallery-hero h1,
.tour-detail-content h1,
.contact-hero h1 {
  text-wrap: balance;
}

.section-header p,
.section-heading p,
.destination-top p,
.tour-detail-subtitle,
.gallery-hero p,
.contact-hero p {
  text-wrap: pretty;
}

.home-cta-band,
.tour-types,
#faq,
.gallery-bottom-cta {
  background:
    radial-gradient(circle at 12% 0%, rgba(59, 130, 246, .18), transparent 30%),
    radial-gradient(circle at 88% 16%, rgba(14, 165, 233, .13), transparent 28%),
    #061226;
}

.feature-card,
.destination-card,
.shared-destination-card,
.booking-card,
.package-select-panel,
.destination-detail-panel > div,
.invoice-panel,
.contact-panel,
.contact-info-grid article,
.faq-card,
.testimonial-card,
.review-card {
  border-color: rgba(15, 23, 42, .065);
}

.destination-card,
.shared-destination-card,
.feature-card,
.faq-card,
.testimonial-card,
.contact-info-grid article {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.destination-card:hover,
.shared-destination-card:hover,
.feature-card:hover,
.faq-card:hover,
.testimonial-card:hover,
.contact-info-grid article:hover {
  border-color: rgba(37, 99, 235, .16);
  box-shadow: var(--ui-shadow-md);
}

.destination-card-body,
.shared-destination-card .destination-card-body {
  min-height: 250px;
  align-content: start;
}

.destination-bottom {
  margin-top: auto;
}

.destination-bottom strong {
  letter-spacing: -.03em;
}

.destination-bottom a,
.tour-link,
.gallery-filter {
  transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.destination-bottom a:hover,
.gallery-filter:hover {
  transform: translateY(-2px);
}

.tour-card::after,
.gallery-page-item::before,
.destination-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.tour-card::after {
  z-index: 2;
  background: linear-gradient(135deg, rgba(255,255,255,.14), transparent 28%);
  opacity: 0;
  transition: opacity .3s ease;
}

.tour-card:hover::after {
  opacity: 1;
}

.destination-media::after {
  background: linear-gradient(180deg, rgba(255,255,255,.12), transparent 42%);
}

.gallery-page-item::before {
  z-index: 2;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: inherit;
}

.tour-page .booking-card h3,
.package-select-panel h3,
.destination-detail-panel h3,
.checkout-summary h3,
.invoice-title h1 {
  text-wrap: balance;
}

.form-field input,
.form-field select,
.form-field textarea,
.review-form input,
.review-form select,
.review-form textarea,
.admin-filter input,
.admin-filter select {
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.payment-option,
.package-option,
.guest-row {
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.payment-option:hover,
.package-option:hover,
.guest-row:hover {
  transform: translateY(-2px);
  border-color: rgba(37, 99, 235, .22);
  box-shadow: var(--ui-shadow-sm);
}

.checkout-summary,
.invoice-card,
.tour-detail-summary-card {
  position: relative;
  overflow: hidden;
}

.checkout-summary::before,
.invoice-card::before,
.tour-detail-summary-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.12), transparent 34%);
  pointer-events: none;
}

.checkout-summary > *,
.invoice-card > *,
.tour-detail-summary-card > * {
  position: relative;
}

.site-footer a {
  opacity: .82;
  transition: opacity .2s ease, color .2s ease;
}

.site-footer a:hover {
  opacity: 1;
  color: #93c5fd;
}

@media (min-width: 1121px) {
  .section {
    padding-top: 5.5rem;
    padding-bottom: 5.5rem;
  }

  .destination-grid {
    gap: 24px;
  }
}

@media (max-width: 760px) {
  .section-header .eyebrow,
  .section-heading span,
  .tour-detail-content .eyebrow,
  .destination-top .eyebrow,
  .destination-results-head .eyebrow,
  .gallery-hero .eyebrow,
  .home-cta-inner .eyebrow {
    font-size: .66rem;
    line-height: 1.2;
  }

  .destination-card-body,
  .shared-destination-card .destination-card-body {
    min-height: 0;
  }

  .destination-bottom div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .destination-bottom a {
    min-height: 42px;
  }

  .tour-card-content {
    padding: 24px;
  }

  .tour-meta {
    display: grid;
    gap: .45rem;
  }

  .contact-hero h1,
  .gallery-hero h1,
  .destination-top h1 {
    letter-spacing: -.025em;
  }
}

/* Bluuu-inspired mobile gallery treatment */
@media (max-width: 760px) {
  .home .site-header,
  .home .site-header.solid {
    background: rgba(7, 20, 38, .78) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    backdrop-filter: blur(12px) !important;
  }

  .home .header-inner {
    min-height: 58px !important;
    padding: .55rem 0 !important;
  }

  .home .brand {
    font-size: 1.28rem !important;
    letter-spacing: -.04em !important;
  }

  .home .menu-toggle {
    min-width: 74px;
    min-height: 34px;
    border-radius: 8px;
    border-color: rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .08);
    color: #fff !important;
    font-size: .8rem;
  }

  #gallery {
    padding-top: 2.45rem;
    padding-bottom: 4rem;
    background:
      linear-gradient(180deg, #f8fafc 0%, #ffffff 42%, #f8fafc 100%);
  }

  #gallery .container {
    width: min(calc(100% - 2rem), 400px);
  }

  #gallery .section-header {
    max-width: 360px;
    margin: 0 auto 2rem;
    text-align: center;
  }

  #gallery .section-header .eyebrow {
    display: inline-flex;
    justify-content: center;
    width: auto;
    margin: 0 auto .85rem;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #0072f0;
    font-size: .78rem;
    letter-spacing: .22em;
    line-height: 1;
  }

  #gallery .section-header h2 {
    margin: 0;
    color: #121a2c;
    font-size: clamp(2rem, 8.7vw, 2.65rem);
    line-height: 1.08;
    letter-spacing: -.055em;
  }

  #gallery .section-header h2 span {
    color: #0072f0;
    font-style: italic;
  }

  #gallery .section-header p {
    max-width: 340px;
    margin: 1.25rem auto 0;
    color: #12203a;
    font-size: 1rem;
    line-height: 1.75;
  }

  #gallery .gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 110px;
    gap: 6px;
    margin-top: 2rem;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .12);
  }

  #gallery .gallery-grid div,
  #gallery .gallery-grid img,
  #gallery .gallery-grid video {
    min-height: 0 !important;
  }

  #gallery .gallery-grid > div {
    position: relative;
    overflow: hidden;
    border-radius: 0 !important;
    background: #dbeafe;
  }

  #gallery .gallery-large {
    grid-column: 1 / -1;
    grid-row: span 2;
  }

  #gallery .gallery-grid img,
  #gallery .gallery-grid video,
  #gallery .gallery-large img,
  #gallery .gallery-large video,
  #gallery .gallery-small img,
  #gallery .gallery-small video,
  #gallery .gallery-last img,
  #gallery .gallery-last video {
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    object-fit: cover;
  }

  #gallery .gallery-last::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 18, 38, .04), rgba(6, 18, 38, .38));
    pointer-events: none;
  }

  #gallery .gallery-button {
    right: 14px;
    bottom: 14px;
    z-index: 2;
    min-height: 38px;
    padding: 0 14px 0 38px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    color: #12203a;
    font-size: .78rem;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .22);
    backdrop-filter: blur(10px);
  }

  #gallery .gallery-button::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 50%;
    width: 13px;
    height: 13px;
    transform: translateY(-50%);
    border: 2px solid currentColor;
    border-radius: 3px;
    box-shadow: inset 0 -4px 0 rgba(18, 32, 58, .16);
  }

  #gallery .gallery-cta {
    display: none;
  }

  .home .whatsapp-float {
    right: 1.05rem;
    bottom: 1.35rem;
    width: 56px;
    height: 56px;
    min-height: 56px;
    padding: 0;
    border-radius: 50%;
    color: transparent;
    box-shadow: 0 16px 36px rgba(37, 211, 102, .38);
  }

  .home .whatsapp-float::before {
    content: "W";
    color: #fff;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1;
  }
}

/* Slim home header override */
.home .header-inner {
  min-height: 58px !important;
  padding: .55rem 0 !important;
}

.home .brand {
  font-size: 1.32rem !important;
}

.home .site-header.solid {
  background: rgba(3, 13, 31, .68) !important;
  box-shadow: 0 10px 28px rgba(2, 6, 23, .14) !important;
}

/* Booking, payment, trust, and admin ops polish */
.payment-trust-strip,
.checkout-trust-box,
.payment-deadline {
  display: grid;
  gap: .55rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(37, 99, 235, .14);
  border-radius: 16px;
  background: #eff6ff;
  color: #0f172a;
}

.payment-trust-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: #f8fafc;
}

.payment-trust-strip span,
.checkout-trust-box span,
.payment-deadline span,
.payment-deadline small {
  color: #475569;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.45;
}

.payment-trust-strip span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 .75rem;
  border-radius: 999px;
  background: #fff;
  color: #1e3a8a;
}

.booking-assurance-card {
  border-color: rgba(22, 163, 74, .16) !important;
}

.booking-assurance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}

.booking-assurance-grid div {
  padding: 1rem;
  border-radius: 14px;
  background: #f8fafc;
}

.booking-assurance-grid strong,
.checkout-trust-box strong,
.payment-deadline strong {
  color: #061226;
}

.booking-assurance-grid p {
  margin: .35rem 0 0;
  color: #526984;
  font-size: .86rem;
  line-height: 1.55;
}

.checkout-trust-box {
  margin-top: 1rem;
  background: rgba(239, 246, 255, .1);
  border-color: rgba(255, 255, 255, .16);
}

.checkout-trust-box strong,
.checkout-trust-box span {
  color: #fff;
}

.checkout-trust-box span {
  color: rgba(226, 232, 240, .82);
}

.invoice-timeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  margin-bottom: 1.5rem;
}

.invoice-timeline div {
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 16px;
  background: #fbfdff;
}

.invoice-timeline span {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-bottom: .65rem;
  border-radius: 50%;
  background: #e2e8f0;
  color: #475569;
  font-weight: 900;
}

.invoice-timeline .active {
  border-color: rgba(37, 99, 235, .2);
  background: #eff6ff;
}

.invoice-timeline .active span {
  background: #2563eb;
  color: #fff;
}

.invoice-timeline strong {
  display: block;
  color: #061226;
}

.invoice-timeline p {
  margin: .35rem 0 0;
  color: #526984;
  font-size: .84rem;
  line-height: 1.5;
}

.invoice-event-list {
  display: grid;
  gap: 10px;
}

.invoice-event {
  position: relative;
  display: grid;
  gap: .35rem;
  padding: 1rem 1rem 1rem 2.8rem;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 16px;
  background: #fbfdff;
}

.invoice-event::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 1.05rem;
  width: .8rem;
  height: .8rem;
  border-radius: 50%;
  background: #2563eb;
  box-shadow: 0 0 0 5px #dbeafe;
}

.invoice-event strong {
  color: #061226;
}

.invoice-event span {
  color: #64748b;
  font-size: .78rem;
  font-weight: 800;
}

.invoice-event p {
  margin: 0;
  color: #526984;
  line-height: 1.55;
}

.payment-deadline {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .16);
}

.payment-deadline strong,
.payment-deadline span,
.payment-deadline small {
  color: #fff;
}

.payment-deadline small {
  color: rgba(226, 232, 240, .78);
}

.admin-action-panel {
  order: 3;
  margin-bottom: 12px;
}

.booking-admin-page .booking-list-panel {
  order: 4;
}

.booking-admin-page .availability-panel {
  order: 5;
}

.admin-action-list {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.admin-action-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(15, 23, 42, .07);
  border-radius: 16px;
  background: #fbfdff;
}

.admin-action-item strong {
  display: block;
  margin-top: .5rem;
  color: #061226;
}

.admin-action-item p {
  margin: .25rem 0 0;
  color: #526984;
}

.admin-action-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .5rem;
}

.admin-action-buttons .btn {
  min-height: 38px;
  padding: 0 .9rem;
  font-size: .82rem;
}

.admin-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.admin-quick-actions form {
  margin: 0;
}

.admin-quick-actions button,
.admin-quick-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 9px;
  border-radius: 999px;
  background: #eef2ff;
  color: #1e3a8a;
  font-size: .7rem;
  font-weight: 900;
  cursor: pointer;
}

.admin-quick-actions a {
  background: #f0fdf4;
  color: #15803d;
}

.admin-queue-summary {
  display: grid;
  justify-items: end;
  color: #526984;
}

.admin-queue-summary strong {
  color: #061226;
  font-size: 1.8rem;
  line-height: 1;
}

@media (max-width: 760px) {
  .payment-trust-strip,
  .booking-assurance-grid,
  .invoice-timeline,
  .admin-action-item {
    grid-template-columns: 1fr;
  }

  .admin-action-buttons {
    justify-content: stretch;
  }

  .admin-action-buttons .btn {
    width: 100%;
  }
}

/* Cinematic home experience */
.home {
  --cinema-bg: #030b18;
  --cinema-panel: #071528;
  --cinema-panel-soft: rgba(12, 29, 52, .62);
  --cinema-white: #f5f8ff;
  --cinema-muted: #9aabc4;
  --cinema-line: rgba(172, 203, 237, .14);
  --cinema-blue: #50abff;
  --cinema-cyan: #70e6ff;
  background: var(--cinema-bg);
  color: var(--cinema-white);
}

.home main {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 34%, rgba(26, 110, 205, .13), transparent 30%),
    linear-gradient(180deg, #030b18, #061425 54%, #030b18);
}

.home main::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 998;
  opacity: .035;
  pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,.75) .7px, transparent .7px);
  background-size: 4px 4px;
}

.ambient-glow {
  position: fixed;
  z-index: 997;
  width: 480px;
  height: 480px;
  margin: -240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(58, 155, 255, .12), transparent 64%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .4s ease;
}

.home:hover .ambient-glow {
  opacity: 1;
}

.home .container {
  width: min(1240px, calc(100% - clamp(2rem, 6vw, 5rem)));
}

.home .site-header {
  mix-blend-mode: normal;
}

.home .header-inner {
  min-height: 82px !important;
}

.home .brand-logo img {
  display: block !important;
  max-width: 150px;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, .2));
}

.home .nav-links {
  gap: 2.1rem;
}

.home .nav-links a {
  font-size: .68rem !important;
  font-weight: 700;
  letter-spacing: .25em !important;
}

.home .hero {
  min-height: 100svh;
}

.home .hero-video::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, transparent 30%, rgba(3, 11, 24, .36) 90%);
}

.home .hero-video video {
  transform: scale(1.07) !important;
  filter: brightness(.66) saturate(.88) contrast(1.06) !important;
}

.home .hero-overlay {
  background:
    linear-gradient(90deg, rgba(3,11,24,.9) 0%, rgba(3,11,24,.44) 45%, rgba(3,11,24,.67) 100%),
    linear-gradient(0deg, #030b18 0%, transparent 29%, rgba(3,11,24,.34) 100%) !important;
}

.hero-atmosphere {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  height: 28%;
  background: linear-gradient(0deg, var(--cinema-bg), transparent);
  pointer-events: none;
}

.home .hero-grid {
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(470px, 1fr) 348px;
  align-items: center;
  gap: clamp(2.5rem, 6vw, 6.5rem);
  min-height: 100svh;
  padding: 110px 0 58px;
}

.home .hero-content {
  max-width: 710px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left;
}

.home .hero-content h1 {
  max-width: 680px;
  margin: 1.3rem 0 1.1rem !important;
  font-size: clamp(4.2rem, 7.2vw, 6.9rem) !important;
  font-weight: 700;
  line-height: .9 !important;
  letter-spacing: -.075em !important;
}

.home .hero-content h1 span {
  color: #b4dafe;
}

.home .hero-text,
.home .hero-subtext {
  margin-left: 0;
  margin-right: 0;
}

.home .hero-text {
  max-width: 510px;
  color: rgba(229, 237, 249, .78) !important;
}

.home .hero-actions {
  justify-content: flex-start;
  margin-top: 2.25rem !important;
}

.home .btn {
  min-height: 54px;
  border-radius: 999px;
  font-size: .85rem;
}

.home .btn-primary {
  background: linear-gradient(120deg, #1576ec, #57c5ff) !important;
  box-shadow: 0 18px 46px rgba(20, 110, 234, .34);
}

.home .btn-secondary {
  border-color: rgba(213, 230, 248, .19);
  background: rgba(255,255,255,.06);
}

.home .hero-stats {
  justify-content: flex-start;
  margin-top: 3rem !important;
}

.home .hero-stats div {
  min-width: 108px !important;
  border: 0 !important;
  border-right: 1px solid rgba(216, 231, 246, .19) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: .25rem 1.25rem .25rem 0 !important;
}

.home .hero-stats div:last-child {
  border-right: 0 !important;
}

.home .hero-stats strong {
  color: #fff;
  font-size: 1.4rem !important;
  letter-spacing: -.05em;
}

.home .hero-scroll {
  position: absolute;
  left: 0;
  bottom: -4.7rem;
  z-index: 6;
  pointer-events: auto;
  padding-left: 34px;
  color: rgba(255,255,255,.62);
  font-size: .61rem;
  letter-spacing: .36em;
}

.home .hero-scroll::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 22px;
  height: 1px;
  background: var(--cinema-cyan);
  transform-origin: left;
  animation: cinemaLine 2.2s ease infinite;
}

.glass-panel {
  border: 1px solid var(--cinema-line);
  background: rgba(8, 20, 39, .45);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .28);
  backdrop-filter: blur(24px);
}

.hero-booking-panel {
  display: grid;
  gap: 1rem;
  padding: 1.35rem;
  border-radius: 27px;
}

.planner-heading {
  display: grid;
  gap: .3rem;
  padding-bottom: .45rem;
}

.planner-heading span,
.route-label {
  color: var(--cinema-cyan);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .28em;
}

.planner-heading strong {
  color: #fff;
  font-size: 1.15rem;
  letter-spacing: -.035em;
}

.hero-booking-panel label {
  display: grid;
  gap: .42rem;
  color: rgba(197, 215, 236, .7);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.hero-booking-panel select {
  width: 100%;
  min-height: 49px;
  padding: 0 .95rem;
  border: 1px solid rgba(185, 214, 242, .14);
  border-radius: 13px;
  background: rgba(255,255,255,.055);
  color: #fff;
  font: inherit;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.hero-booking-panel option {
  background: #071528;
}

.hero-booking-panel .btn {
  width: 100%;
  margin-top: .25rem;
}

.home-cta-band {
  display: none;
}

.cinematic-section {
  position: relative;
  padding: clamp(5.4rem, 8vw, 8rem) 0;
}

.cinematic-heading {
  display: grid;
  gap: 1rem;
  max-width: 670px;
  margin-bottom: clamp(2.5rem, 5vw, 4.4rem);
}

.cinematic-heading.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  justify-items: center;
}

.cinematic-heading h2 {
  margin: 0;
  color: var(--cinema-white);
  font-size: clamp(2.55rem, 5vw, 4.5rem);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.065em;
}

.cinematic-heading h2 span {
  color: #86c7ff;
}

.cinematic-heading p {
  max-width: 520px;
  margin: 0;
  color: var(--cinema-muted);
}

.home .eyebrow {
  color: var(--cinema-cyan) !important;
  background: rgba(55, 156, 244, .08) !important;
  border: 1px solid rgba(85, 188, 255, .18);
}

.destination-stories {
  scroll-margin-top: 118px;
  padding-top: clamp(5.5rem, 10vw, 9rem);
  background:
    radial-gradient(circle at 80% 15%, rgba(61, 134, 226, .13), transparent 30%),
    var(--cinema-bg);
}

.story-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.story-card {
  position: relative;
  display: block;
  min-height: clamp(430px, 43vw, 535px);
  overflow: hidden;
  border: 1px solid var(--cinema-line);
  border-radius: 28px;
  background: var(--cinema-panel);
  transform-style: preserve-3d;
  transition: border-color .4s ease, box-shadow .4s ease;
}

.story-card:nth-child(2) {
  margin-top: 2.6rem;
}

.story-card:hover {
  border-color: rgba(112, 230, 255, .3);
  box-shadow: 0 38px 78px rgba(0, 0, 0, .32);
}

.story-media,
.story-media img,
.story-preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.story-media img,
.story-preview {
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(.16, 1, .3, 1), opacity .5s ease;
}

.story-preview {
  z-index: 1;
  opacity: 0;
}

.story-card:hover img {
  transform: scale(1.08);
}

.story-card:hover .story-preview {
  opacity: 1;
  transform: scale(1.045);
}

.story-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(0deg, rgba(3,11,24,.92), transparent 57%);
}

.story-number {
  position: absolute;
  top: 1.4rem;
  left: 1.5rem;
  z-index: 3;
  color: rgba(255,255,255,.75);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .26em;
}

.story-copy {
  position: absolute;
  inset: auto 1.5rem 1.6rem;
  z-index: 3;
}

.story-copy small {
  color: #a9c5e5;
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: .23em;
  text-transform: uppercase;
}

.story-copy h3 {
  margin: .6rem 0 .45rem;
  color: #fff;
  font-size: clamp(1.5rem, 2.3vw, 1.85rem);
  line-height: 1.1;
  letter-spacing: -.04em;
}

.story-copy p {
  margin: 0 0 1.3rem;
  color: rgba(235,243,253,.72);
  font-size: .87rem;
}

.story-copy strong {
  color: #fff;
  font-size: .95rem;
}

.text-link {
  display: inline-flex;
  gap: .8rem;
  align-items: center;
  margin-top: 3.5rem;
  color: #d9e9f9;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.text-link span {
  color: var(--cinema-cyan);
  transition: transform .25s ease;
}

.text-link:hover span {
  transform: translateX(7px);
}

.home #included.section-light {
  background: #071426;
}

.home #included .section-header h2,
.home #included .section-header p,
.home .feature-card h3 {
  color: var(--cinema-white);
}

.home #included .section-header p,
.home .feature-card p {
  color: var(--cinema-muted);
}

.home .feature-card {
  border: 1px solid var(--cinema-line);
  border-radius: 22px;
  background: rgba(14, 30, 53, .6);
  box-shadow: none;
}

.home .feature-card:first-child {
  border-top-color: rgba(112, 230, 255, .4);
  border-top-width: 1px;
}

.home .feature-card img {
  filter: brightness(0) invert(1) opacity(.88);
}

.home .feature-card .number {
  color: rgba(132, 187, 235, .13);
}

.home .tour-types {
  padding: clamp(5.4rem, 8vw, 8rem) 0;
  background: var(--cinema-bg);
}

.home .tour-types .section-heading {
  margin-bottom: 0;
}

.home .tour-types .section-heading h2,
.home .tour-types .section-heading p {
  color: var(--cinema-white);
}

.home .tour-types .section-heading p {
  color: var(--cinema-muted);
}

.home .tour-card {
  min-height: 610px;
  border-radius: 28px;
  border-color: var(--cinema-line);
}

.home .tour-grid {
  margin-top: clamp(2.8rem, 5vw, 4.5rem);
}

.home .tour-card h3 {
  font-weight: 650;
}

.luxury-packages {
  background:
    radial-gradient(circle at 50% 40%, rgba(38, 107, 191, .13), transparent 42%),
    #061324;
}

.package-story-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: center;
}

.package-story-card {
  display: grid;
  gap: 1.15rem;
  padding: clamp(1.5rem, 3vw, 2.1rem);
  border: 1px solid var(--cinema-line);
  border-radius: 25px;
  background: rgba(255,255,255,.025);
}

.package-story-card.is-featured {
  padding-top: clamp(2.2rem, 4vw, 3rem);
  padding-bottom: clamp(2.2rem, 4vw, 3rem);
  border-color: rgba(93, 190, 255, .3);
  background: linear-gradient(150deg, rgba(33, 104, 187, .22), rgba(255,255,255,.035));
  box-shadow: 0 34px 70px rgba(0,0,0,.22);
}

.package-story-card > span {
  width: fit-content;
  color: var(--cinema-cyan);
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .27em;
}

.package-story-card h3 {
  margin: 0;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: -.045em;
}

.package-price {
  color: #fff;
  font-size: 2.1rem;
  font-weight: 650;
  letter-spacing: -.06em;
}

.package-story-card p,
.package-story-card li {
  color: var(--cinema-muted);
  font-size: .88rem;
}

.package-story-card p {
  margin: 0;
}

.package-story-card ul {
  display: grid;
  gap: .65rem;
  min-height: 126px;
  margin: 0;
  padding: 1rem 0 0;
  border-top: 1px solid var(--cinema-line);
  list-style: none;
}

.package-story-card li::before {
  content: "+";
  margin-right: .65rem;
  color: var(--cinema-cyan);
}

.package-story-card .btn-secondary {
  color: #e6effa;
}

.home #gallery.section-light,
.home #reviews.section-light {
  background: var(--cinema-bg);
}

.home #gallery .section-header h2,
.home #reviews h2 {
  color: var(--cinema-white);
}

.home #gallery .section-header p,
.home #reviews p {
  color: var(--cinema-muted);
}

.home .gallery-grid {
  gap: .75rem;
}

.home .gallery-grid img,
.home .gallery-grid video {
  transition: transform 1s cubic-bezier(.16,1,.3,1), filter .45s ease;
}

.home .gallery-grid > div {
  overflow: hidden;
  border-radius: 22px;
}

.home .gallery-grid > div:hover img,
.home .gallery-grid > div:hover video {
  transform: scale(1.055);
  filter: brightness(1.08);
}

.home .gallery-large img,
.home .gallery-large video,
.home .gallery-small img,
.home .gallery-small video,
.home .gallery-last img,
.home .gallery-last video {
  border-radius: 22px;
}

.home .review-card,
.home .trust-proof-list article,
.home .review-platform {
  border-color: var(--cinema-line);
  background: rgba(255,255,255,.035);
  color: var(--cinema-white);
}

.home .review-card h3,
.home .review-card h4,
.home .review-summary h2 {
  color: #fff;
}

.home .review-score {
  color: #fff;
}

.home .stars {
  color: var(--cinema-cyan);
}

.booking-experience {
  background:
    radial-gradient(circle at 76% 48%, rgba(38, 130, 222, .2), transparent 29%),
    #061324;
}

.booking-story-grid {
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(430px, 1fr);
  gap: clamp(2.5rem, 7vw, 6rem);
  align-items: center;
}

.booking-story-copy h2 {
  margin: 1.1rem 0 1rem;
  color: #fff;
  font-size: clamp(2.5rem, 4.4vw, 3.8rem);
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.065em;
}

.booking-story-copy > p {
  color: var(--cinema-muted);
}

.journey-steps {
  display: grid;
  gap: 1.15rem;
  margin-top: 2.5rem;
}

.journey-steps article {
  display: grid;
  grid-template-columns: 45px 1fr;
  gap: .9rem;
}

.journey-steps strong {
  color: var(--cinema-cyan);
  font-size: .72rem;
  letter-spacing: .18em;
}

.journey-steps h3 {
  margin: 0 0 .18rem;
  color: #fff;
  font-size: 1rem;
}

.journey-steps p {
  margin: 0;
  color: var(--cinema-muted);
  font-size: .86rem;
}

.route-map {
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 30px;
}

.route-map svg {
  display: block;
  width: 100%;
  height: auto;
  margin: 1rem 0 .2rem;
}

.island {
  fill: rgba(92, 146, 193, .12);
  stroke: rgba(153, 204, 245, .34);
  stroke-width: 2;
}

.travel-line {
  fill: none;
  stroke: url(#routeGradient);
  stroke-width: 3;
  stroke-dasharray: 7 10;
  animation: routeTravel 2.4s linear infinite;
}

.route-pulse {
  fill: #72e6ff;
  transform-origin: center;
  animation: routePoint 2s ease infinite;
}

.route-arrival {
  animation-delay: .7s;
}

.route-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
  padding: 1rem 0 1.4rem;
  border-top: 1px solid var(--cinema-line);
}

.route-meta small {
  display: block;
  color: #71859f;
  font-size: .62rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.route-meta strong {
  color: #fff;
  font-size: .83rem;
}

.route-map .btn {
  width: 100%;
}

.home #faq {
  background: var(--cinema-bg);
}

.home #faq .section-header h2 {
  color: #fff;
}

.home .faq-grid {
  display: grid;
  gap: .75rem;
  margin-top: 3rem;
}

.home .faq-card {
  border: 1px solid var(--cinema-line);
  border-radius: 18px;
  background: rgba(255,255,255,.026);
}

.home .faq-card h3 {
  color: #fff;
}

.home .faq-card p {
  color: var(--cinema-muted);
}

.home .site-footer {
  background:
    radial-gradient(circle at 50% 0%, rgba(52, 129, 213, .14), transparent 35%),
    #020812;
  border-top: 1px solid rgba(190,216,242,.09);
  padding-top: 5rem;
}

.has-motion .home .reveal {
  opacity: 0;
  transform: translateY(38px);
  transition: opacity .8s cubic-bezier(.16, 1, .3, 1), transform .8s cubic-bezier(.16, 1, .3, 1);
}

.has-motion .home .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.cinema-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001;
  width: 42px;
  height: 42px;
  margin: -21px;
  border: 1px solid rgba(114,230,255,.52);
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s ease, width .25s ease, height .25s ease, margin .25s ease;
}

.cinema-cursor span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 5px;
  margin: -2.5px;
  border-radius: 50%;
  background: var(--cinema-cyan);
}

.cinema-cursor.is-active {
  width: 64px;
  height: 64px;
  margin: -32px;
  background: rgba(112,230,255,.05);
}

@keyframes cinemaLine {
  0%, 100% { transform: scaleX(.35); opacity: .45; }
  50% { transform: scaleX(1); opacity: 1; }
}

@keyframes routeTravel {
  to { stroke-dashoffset: -34; }
}

@keyframes routePoint {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.75); opacity: .35; }
}

@media (pointer: fine) {
  .home.is-pointer-ready,
  .home.is-pointer-ready a,
  .home.is-pointer-ready button,
  .home.is-pointer-ready select {
    cursor: none;
  }

  .home.is-pointer-ready .cinema-cursor {
    opacity: 1;
  }
}

@media (max-width: 1040px) {
  .home .hero-grid,
  .booking-story-grid {
    grid-template-columns: 1fr;
  }

  .home .hero-grid {
    gap: 2.4rem;
    padding-bottom: 4.5rem;
  }

  .home .hero-content {
    margin: auto !important;
    text-align: center;
  }

  .home .hero-text,
  .home .hero-subtext {
    margin-left: auto;
    margin-right: auto;
  }

  .home .hero-actions,
  .home .hero-stats {
    justify-content: center;
  }

  .home .hero-scroll {
    position: relative;
    left: auto;
    bottom: auto;
  }

  .hero-booking-panel {
    width: min(620px, 100%);
    margin: 0 auto;
    grid-template-columns: repeat(3, 1fr);
    align-items: end;
  }

  .planner-heading,
  .hero-booking-panel .btn {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .story-card-grid,
  .package-story-grid {
    grid-template-columns: 1fr;
  }

  .story-card {
    min-height: 470px;
  }

  .story-card:nth-child(2) {
    margin-top: 0;
  }

  .package-story-card.is-featured {
    order: -1;
  }
}

@media (max-width: 760px) {
  .ambient-glow,
  .cinema-cursor {
    display: none;
  }

  .home .hero-grid {
    display: block;
    min-height: 0;
    padding: 116px 0 3.3rem;
  }

  .home .hero-content h1 {
    font-size: clamp(2.8rem, 16vw, 4rem) !important;
  }

  .home .hero-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .home .hero-stats div {
    border-right: 0 !important;
  }

  .hero-booking-panel {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 2.4rem;
  }

  .cinematic-section {
    padding: 4.3rem 0;
  }

  .story-card {
    min-height: 410px;
  }

  .booking-story-grid {
    grid-template-columns: 1fr;
  }

  .route-meta {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .travel-line,
  .route-pulse,
  .home .hero-scroll::before {
    animation: none;
  }

  .has-motion .home .reveal {
    opacity: 1;
    transform: none;
  }

}

/* Home navigation adjustment */
.home .site-header {
  background: rgba(3, 13, 31, .76) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
  backdrop-filter: blur(18px) !important;
}

.home .site-header.solid {
  background: rgba(3, 13, 31, .92) !important;
}

.home .header-inner {
  min-height: 74px !important;
  padding: .75rem 0 !important;
}

.home .brand-logo,
.home .brand-logo:visited {
  display: inline-flex !important;
  align-items: center;
  gap: .8rem;
  height: auto !important;
  color: #fff !important;
}

.home .brand-logo img {
  width: 42px !important;
  height: 42px !important;
  max-width: none !important;
  object-fit: contain;
  padding: .35rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
}

.home .brand-logo span {
  display: inline-flex;
  max-width: 160px;
  color: #fff;
  font-size: .86rem;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.home .nav-links {
  display: flex;
  align-items: center;
  gap: .45rem !important;
  padding: .45rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .055);
  backdrop-filter: blur(18px);
}

.home .nav-links a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 .78rem;
  border-radius: 999px;
  color: rgba(255, 255, 255, .78) !important;
  font-size: .66rem !important;
  font-weight: 800;
  letter-spacing: .12em !important;
  text-shadow: none;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.home .nav-links a:hover {
  color: #fff !important;
  background: rgba(96, 165, 250, .16);
  transform: translateY(-1px);
}

.home .nav-links a[href="contact.php"] {
  color: #061528 !important;
  background: #fff;
}

@media (max-width: 980px) {
  .home .brand-logo span {
    display: none;
  }

  .home .nav-links {
    gap: .25rem !important;
  }

  .home .nav-links a {
    padding: 0 .55rem;
    font-size: .6rem !important;
  }
}

@media (max-width: 760px) {
  .home .header-inner {
    min-height: 64px !important;
  }

  .home .brand-logo img {
    width: 38px !important;
    height: 38px !important;
  }

  .home .nav-links {
    padding: .8rem 0 .4rem !important;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
    border-radius: 0;
    background: transparent;
  }

  .home .nav-links a {
    justify-content: flex-start;
    min-height: 42px;
    padding: 0 !important;
    border-radius: 0;
    font-size: .8rem !important;
  }

  .home .nav-links a[href="contact.php"] {
    justify-content: center;
    padding: 0 1rem !important;
    border-radius: 999px;
  }
}

/* Premium Nusa Penida luxury direction */
.home {
  --lux-dark: #020817;
  --lux-dark-2: #071228;
  --lux-dark-3: #0b1324;
  --lux-light: #faf8f2;
  --lux-blue: #3b82f6;
  --lux-blue-soft: #60a5fa;
  --lux-ink: #0f172a;
  --lux-white: #f8fafc;
}

.home .ambient-glow,
.home .cinema-cursor {
  display: none !important;
}

.home.is-pointer-ready,
.home.is-pointer-ready a,
.home.is-pointer-ready button,
.home.is-pointer-ready select {
  cursor: auto !important;
}

.home.is-pointer-ready a,
.home.is-pointer-ready button {
  cursor: pointer !important;
}

.home main {
  background: var(--lux-dark) !important;
}

.home .site-header {
  background: rgba(2, 8, 23, .78) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
}

.home .hero {
  min-height: 100svh;
  background: var(--lux-dark);
}

.home .hero-video video {
  filter: brightness(.5) saturate(.92) contrast(1.08) !important;
}

.home .hero-overlay {
  background:
    linear-gradient(90deg, rgba(2, 8, 23, .92), rgba(2, 8, 23, .34) 54%, rgba(2, 8, 23, .7)),
    linear-gradient(180deg, rgba(2, 8, 23, .3), rgba(2, 8, 23, .94)) !important;
}

.home .hero-content h1,
.home .cinematic-heading h2,
.home .section-heading h2,
.home .section-header h2 {
  letter-spacing: -.07em;
}

.home .hero-content h1 span,
.home .cinematic-heading h2 span,
.home .section-heading h2 span,
.home .section-header h2 span {
  color: var(--lux-blue-soft) !important;
}

.home .eyebrow {
  color: #7dd3fc !important;
  border-color: rgba(96, 165, 250, .22) !important;
  background: rgba(59, 130, 246, .1) !important;
}

.home .btn-primary {
  background: linear-gradient(135deg, var(--lux-blue), var(--lux-blue-soft)) !important;
  color: #fff !important;
  box-shadow: 0 22px 54px rgba(59, 130, 246, .32) !important;
}

.home .destination-stories,
.home .private-experience {
  background: var(--lux-light) !important;
  color: var(--lux-ink);
}

.home .destination-stories .cinematic-heading h2,
.home .private-experience-copy h2,
.home .destination-stories .story-copy h3,
.home .private-experience .promise-grid h3 {
  color: var(--lux-ink) !important;
}

.home .destination-stories .cinematic-heading p,
.home .private-experience-copy > p,
.home .private-experience .promise-grid p {
  color: rgba(15, 23, 42, .68) !important;
}

.home .mountain-highlight-list span,
.home .promise-grid article {
  color: var(--lux-ink);
  border-color: rgba(15, 23, 42, .08);
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .06);
}

.home .story-card {
  border: 0 !important;
  background: #fff !important;
  box-shadow: 0 30px 80px rgba(15, 23, 42, .12) !important;
}

.home .story-card:nth-child(2) {
  margin-top: 0;
}

.home .story-copy {
  background: linear-gradient(180deg, transparent, rgba(2, 8, 23, .84));
}

.home .tour-types,
.home #gallery.section-light {
  background:
    radial-gradient(circle at 82% 12%, rgba(59, 130, 246, .16), transparent 30%),
    linear-gradient(180deg, var(--lux-dark), var(--lux-dark-2)) !important;
}

.home #reviews.section-light {
  background: #fff !important;
  color: var(--lux-ink);
}

.home #reviews .review-summary h2,
.home #reviews .review-card h3,
.home #reviews .review-card h4 {
  color: var(--lux-ink) !important;
}

.home #reviews .review-summary p,
.home #reviews .review-card p {
  color: rgba(15, 23, 42, .66) !important;
}

.home #reviews .review-card,
.home #reviews .trust-proof-list article,
.home #reviews .review-platform {
  background: #fff !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .08) !important;
}

.home .booking-experience {
  background:
    linear-gradient(90deg, rgba(2, 8, 23, .96), rgba(7, 18, 40, .72)),
    radial-gradient(circle at 78% 36%, rgba(96, 165, 250, .2), transparent 30%),
    var(--lux-dark) !important;
}

.home .site-footer {
  background: #020817 !important;
  border-top: 1px solid rgba(255, 255, 255, .08) !important;
}

/* Complete premium travel redesign layer */
.home {
  --premium-bg: #0b1220;
  --premium-bg-2: #111827;
  --premium-card: rgba(255,255,255,.04);
  --premium-border: rgba(255,255,255,.08);
  --premium-text: #ffffff;
  --premium-muted: #94a3b8;
  --premium-accent: #f4a261;
  --premium-accent-hover: #e88d44;
  background: var(--premium-bg) !important;
  color: var(--premium-text);
}

.home main {
  background:
    radial-gradient(circle at 84% 12%, rgba(244,162,97,.13), transparent 28%),
    linear-gradient(180deg, var(--premium-bg), #070d18 44%, var(--premium-bg)) !important;
}

.home .site-header,
.home .site-header.solid {
  background: rgba(11, 18, 32, .78) !important;
  border-bottom: 1px solid var(--premium-border) !important;
  box-shadow: none !important;
}

.home .nav-links {
  background: rgba(255,255,255,.045);
  border-color: var(--premium-border);
}

.home .nav-links a:hover {
  background: rgba(244,162,97,.14);
}

.home .nav-links a[href="contact.php"],
.home .btn-primary {
  background: var(--premium-accent) !important;
  color: #111827 !important;
  box-shadow: 0 24px 60px rgba(244,162,97,.24) !important;
}

.home .btn-primary:hover {
  background: var(--premium-accent-hover) !important;
}

.home .hero {
  min-height: 100svh;
}

.home .hero-overlay {
  background:
    linear-gradient(90deg, rgba(11,18,32,.94), rgba(11,18,32,.38) 52%, rgba(11,18,32,.76)),
    linear-gradient(180deg, rgba(11,18,32,.16), rgba(11,18,32,.96)) !important;
}

.home .hero-content h1 {
  font-size: clamp(4.4rem, 8.5vw, 9rem) !important;
  line-height: .86 !important;
  letter-spacing: -.08em !important;
}

.home .hero-content h1 span,
.home .cinematic-heading h2 span,
.home .section-heading h2 span,
.home .section-header h2 span {
  color: var(--premium-accent) !important;
}

.home .hero-text,
.home .hero-subtext,
.home .cinematic-heading p,
.home .section-heading p,
.home .section-header p {
  color: var(--premium-muted) !important;
}

.home .eyebrow,
.home .planner-heading span,
.home .route-label {
  color: var(--premium-accent) !important;
  background: rgba(244,162,97,.08) !important;
  border-color: rgba(244,162,97,.2) !important;
}

.home .hero-stats div,
.home .hero-booking-panel,
.home .glass-panel,
.home .promise-grid article,
.home .review-card,
.home .faq-card,
.home .review-platform,
.home .trust-proof-list article {
  background: var(--premium-card) !important;
  border: 1px solid var(--premium-border) !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.22) !important;
  backdrop-filter: blur(18px);
}

.home .premium-trust-strip strong {
  color: #fff !important;
  font-size: clamp(1.1rem, 2vw, 1.55rem);
}

.home .premium-trust-strip span {
  color: var(--premium-muted);
}

.home .hero-booking-panel select,
.home .review-form input,
.home .review-form select,
.home .review-form textarea {
  color: #fff !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid var(--premium-border) !important;
}

.home .destination-stories,
.home .private-experience {
  background: #fff !important;
  color: #0f172a !important;
}

.home .destination-stories .cinematic-heading h2,
.home .private-experience-copy h2,
.home .destination-stories .story-copy h3,
.home .private-experience .promise-grid h3 {
  color: #0f172a !important;
}

.home .destination-stories .cinematic-heading p,
.home .private-experience-copy > p,
.home .private-experience .promise-grid p {
  color: rgba(15,23,42,.66) !important;
}

.home .story-card-grid {
  display: flex !important;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: .25rem 0 1.1rem;
}

.home .story-card {
  flex: 0 0 min(420px, 82vw);
  min-height: 540px !important;
  scroll-snap-align: start;
  border-radius: 34px !important;
}

.home .story-card:hover,
.home .tour-card:hover {
  transform: translateY(-8px);
}

.home .tour-types,
.home #gallery.section-light,
.home .booking-experience,
.home #faq {
  background:
    radial-gradient(circle at 80% 8%, rgba(244,162,97,.12), transparent 28%),
    var(--premium-bg) !important;
}

.home .gallery-grid {
  display: grid !important;
  grid-template-columns: 1.15fr .85fr .85fr;
  grid-auto-rows: 230px;
  gap: 1rem !important;
}

.home .gallery-grid > div {
  border-radius: 28px !important;
  overflow: hidden;
}

.home .gallery-large {
  grid-row: span 2;
}

.home #reviews.section-light {
  background: #fff !important;
}

.home .booking-story-grid {
  align-items: start;
}

.home .route-map {
  position: sticky;
  top: 110px;
}

.home .journey-steps {
  position: relative;
}

.home .journey-steps article {
  border-left: 1px solid rgba(244,162,97,.32);
  padding-left: 1.25rem;
}

.home .journey-steps strong {
  color: var(--premium-accent) !important;
}

.home .faq-card h3,
.home .booking-story-copy h2 {
  color: #fff !important;
}

.home .faq-card p,
.home .booking-story-copy p {
  color: var(--premium-muted) !important;
}

.home .site-footer {
  background:
    linear-gradient(rgba(11,18,32,.9), rgba(11,18,32,.96)),
    var(--premium-bg-2) !important;
}

.home .site-footer .brand,
.home .site-footer h4 {
  color: #fff !important;
}

.home .site-footer p,
.home .site-footer a {
  color: var(--premium-muted) !important;
}

@media (max-width: 900px) {
  .home .gallery-grid {
    grid-template-columns: 1fr 1fr;
  }

  .home .route-map {
    position: relative;
    top: auto;
  }
}

@media (max-width: 620px) {
  .home .hero-content h1 {
    font-size: clamp(3.25rem, 16vw, 5.2rem) !important;
  }

  .home .gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 260px;
  }

  .home .gallery-large {
    grid-row: span 1;
  }
}

/* Final tour reset: white/blue videotron card, no green theme */
body.tour-page,
body.tour-page main {
  background: #f5f8fc !important;
  color: #0f172a !important;
}

body.tour-page .site-header {
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid rgba(15,23,42,.08) !important;
  box-shadow: 0 10px 35px rgba(15,23,42,.04) !important;
}

body.tour-page .brand,
body.tour-page .nav-links a,
body.tour-page .menu-toggle {
  color: #0f172a !important;
}

body.tour-page .tour-detail-hero {
  min-height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: clamp(2rem,5vw,3.5rem) !important;
  padding: clamp(3.5rem,7vw,6rem) 1rem clamp(3rem,7vw,5rem) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(37,99,235,.12), transparent 34%),
    radial-gradient(circle at 86% 10%, rgba(14,165,233,.1), transparent 30%),
    linear-gradient(180deg,#fff 0%,#f4f8ff 100%) !important;
}

body.tour-page .tour-detail-content {
  order: 1 !important;
  width: min(100%,860px) !important;
  padding: 0 !important;
  text-align: center !important;
  color: #0f172a !important;
}

body.tour-page .tour-detail-content h1 {
  color: #0f172a !important;
  text-align: center !important;
}

body.tour-page .tour-detail-content h1 span,
body.tour-page .tour-detail-content .eyebrow {
  color: #0072f0 !important;
}

body.tour-page .tour-detail-subtitle,
body.tour-page .tour-detail-tagline,
body.tour-page .tour-detail-hero-meta span {
  color: #334155 !important;
}

body.tour-page .tour-detail-video {
  position: relative !important;
  inset: auto !important;
  order: 2 !important;
  width: min(1104px,calc(100vw - 4rem)) !important;
  height: auto !important;
  aspect-ratio: 2.34 / 1 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  border-radius: 22px !important;
  box-shadow: 0 34px 90px rgba(15,23,42,.18) !important;
}

body.tour-page .tour-detail-video video,
body.tour-page .tour-detail-video img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: none !important;
  filter: brightness(.98) contrast(1.03) saturate(1.08) !important;
  opacity: 1 !important;
}

body.tour-page .tour-detail-overlay {
  display: none !important;
}

body.tour-page .tour-detail-actions {
  justify-content: center !important;
}

body.tour-page .tour-detail-actions .btn-primary {
  background: linear-gradient(135deg,#2378ff,#37b7ef) !important;
  color: #fff !important;
}

body.tour-page .tour-detail-actions .btn-secondary {
  background: #0f172a !important;
  color: #fff !important;
  border-color: #0f172a !important;
}

/* Final premium tour.php direction: dark hero, white editorial content, dark gallery/footer */
body.tour-page {
  --lux-dark: #020817;
  --lux-dark-2: #071228;
  --lux-dark-3: #0b1324;
  --lux-light: #faf8f2;
  --lux-white: #ffffff;
  --lux-blue: #3b82f6;
  --lux-blue-2: #60a5fa;
  --lux-ink: #0f172a;
  --lux-muted: #94a3b8;
  background: var(--lux-dark) !important;
}

body.tour-page .site-header {
  position: fixed !important;
  background: rgba(2,8,23,.72) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
}

body.tour-page .brand,
body.tour-page .nav-links a,
body.tour-page .menu-toggle {
  color: #fff !important;
}

body.tour-page .tour-detail-hero {
  position: relative !important;
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  padding: 7rem 0 4rem !important;
  overflow: hidden !important;
  background: var(--lux-dark) !important;
}

body.tour-page .tour-detail-video {
  position: absolute !important;
  inset: 0 !important;
  order: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.tour-page .tour-detail-video video,
body.tour-page .tour-detail-video img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: brightness(.46) contrast(1.08) saturate(.96) !important;
}

body.tour-page .tour-detail-overlay {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(2,8,23,.94), rgba(2,8,23,.42) 52%, rgba(2,8,23,.82)),
    linear-gradient(180deg, rgba(2,8,23,.12), rgba(2,8,23,.96)) !important;
}

body.tour-page .tour-detail-content {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 410px) !important;
  align-items: center !important;
  gap: clamp(2rem,5vw,5rem) !important;
  width: min(1200px, calc(100% - 2rem)) !important;
  color: #fff !important;
  text-align: left !important;
}

body.tour-page .tour-hero-copy h1,
body.tour-page .tour-detail-content h1 {
  margin: 1rem 0 1.25rem !important;
  color: #fff !important;
  font-size: clamp(4rem,8vw,8rem) !important;
  line-height: .9 !important;
  letter-spacing: -.075em !important;
  text-align: left !important;
}

body.tour-page .tour-hero-copy h1 span,
body.tour-page .tour-detail-content h1 span {
  color: var(--lux-blue-2) !important;
}

body.tour-page .tour-detail-subtitle {
  max-width: 640px !important;
  margin: 0 !important;
  color: rgba(248,250,252,.82) !important;
  text-align: left !important;
  font-size: clamp(1.05rem,1.4vw,1.25rem) !important;
}

body.tour-page .eyebrow,
body.tour-page .tour-detail-content .eyebrow {
  color: #93c5fd !important;
  background: rgba(59,130,246,.12) !important;
  border: 1px solid rgba(96,165,250,.22) !important;
}

body.tour-page .tour-detail-actions {
  justify-content: flex-start !important;
  margin-top: 2rem !important;
}

body.tour-page .btn-primary,
body.tour-page .tour-detail-actions .btn-primary {
  background: linear-gradient(135deg, var(--lux-blue), var(--lux-blue-2)) !important;
  color: #fff !important;
  box-shadow: 0 24px 70px rgba(59,130,246,.28) !important;
}

body.tour-page .btn-secondary,
body.tour-page .tour-detail-actions .btn-secondary {
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
}

body.tour-page .tour-detail-hero-meta {
  display: flex !important;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.4rem;
  justify-content: flex-start !important;
}

body.tour-page .tour-detail-hero-meta span {
  color: rgba(255,255,255,.82) !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 999px;
  padding: .75rem 1rem;
}

body.tour-page .tour-hero-panel {
  display: grid;
  gap: .85rem;
  padding: 1.35rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(22px);
  box-shadow: 0 34px 90px rgba(0,0,0,.32);
}

body.tour-page .tour-hero-panel h2 {
  margin: 0 0 .35rem;
  color: #fff;
  font-size: 1.35rem;
}

body.tour-page .tour-hero-panel label {
  display: grid;
  gap: .38rem;
  color: rgba(255,255,255,.68);
  font-size: .76rem;
  font-weight: 800;
}

body.tour-page .tour-hero-panel select {
  min-height: 48px;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 14px !important;
  background: rgba(2,8,23,.55) !important;
}

body.tour-page .shared-destination-section,
body.tour-page .tour-detail-itinerary,
body.tour-page #step1,
body.tour-page #book,
body.tour-page .tour-conversion-section {
  background: var(--lux-light) !important;
  color: var(--lux-ink) !important;
}

body.tour-page .tour-destination-top h2,
body.tour-page .destination-results-head h2,
body.tour-page .booking-header h2,
body.tour-page .tour-detail-itinerary h2,
body.tour-page #book h2,
body.tour-page .tour-proof-panel h2,
body.tour-page .tour-faq-panel h2 {
  color: var(--lux-ink) !important;
}

body.tour-page .destination-search,
body.tour-page .destination-filter,
body.tour-page .tour-trust-strip,
body.tour-page .filter-apply,
body.tour-page .destination-reset,
body.tour-page .destination-badge,
body.tour-page .destination-views,
body.tour-page .booking-flow-panel {
  display: none !important;
}

body.tour-page .destination-layout,
body.tour-page .destination-results {
  display: block !important;
}

body.tour-page .destination-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 1.2rem !important;
}

body.tour-page .destination-card {
  overflow: hidden;
  border: 0 !important;
  border-radius: 30px !important;
  background: #fff !important;
  box-shadow: 0 30px 80px rgba(15,23,42,.1) !important;
  transition: transform .35s ease, box-shadow .35s ease;
}

body.tour-page .destination-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 44px 110px rgba(15,23,42,.16) !important;
}

body.tour-page .destination-media {
  height: 310px !important;
  overflow: hidden;
}

body.tour-page .destination-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.16,1,.3,1);
}

body.tour-page .destination-card:hover .destination-media img {
  transform: scale(1.06);
}

body.tour-page .destination-card h3,
body.tour-page .destination-bottom strong,
body.tour-page .booking-card h3,
body.tour-page .checkout-summary h3 {
  color: var(--lux-ink) !important;
}

body.tour-page .destination-card p,
body.tour-page .destination-meta,
body.tour-page .booking-card p,
body.tour-page .checkout-summary,
body.tour-page .tour-detail-itinerary p {
  color: #475569 !important;
}

body.tour-page .tour-moments,
body.tour-page .tour-detail-highlights,
body.tour-page .site-footer {
  background: linear-gradient(180deg, var(--lux-dark), var(--lux-dark-2)) !important;
  color: #fff !important;
}

body.tour-page .tour-moments h2,
body.tour-page .tour-detail-highlights h2,
body.tour-page .site-footer h4,
body.tour-page .site-footer .brand {
  color: #fff !important;
}

body.tour-page .tour-moments-track,
body.tour-page .tour-gallery-strip {
  display: flex !important;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: 1rem;
}

body.tour-page .tour-moments-track figure,
body.tour-page .tour-gallery-strip figure {
  flex: 0 0 min(620px, 84vw);
  min-height: 420px;
  margin: 0;
  overflow: hidden;
  border-radius: 30px;
  background: rgba(255,255,255,.04);
}

body.tour-page .tour-moments-track img,
body.tour-page .tour-moments-track video,
body.tour-page .tour-gallery-strip img,
body.tour-page .tour-gallery-strip video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.tour-page .checkout-layout {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(330px,420px) !important;
  gap: 1.4rem;
  align-items: start;
}

body.tour-page .booking-card,
body.tour-page .checkout-summary,
body.tour-page .selected-destination-card,
body.tour-page .destination-detail-panel,
body.tour-page .package-select-panel,
body.tour-page .tour-media-detail,
body.tour-page .included-card,
body.tour-page .itinerary-card,
body.tour-page .tour-proof-panel,
body.tour-page .tour-faq-panel {
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: 0 24px 70px rgba(15,23,42,.08) !important;
}

body.tour-page .checkout-summary {
  position: sticky;
  top: 96px;
}

@media (max-width: 980px) {
  body.tour-page .tour-detail-content,
  body.tour-page .checkout-layout {
    grid-template-columns: 1fr !important;
  }

  body.tour-page .destination-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  body.tour-page .checkout-summary {
    position: relative;
    top: auto;
  }
}

@media (max-width: 640px) {
  body.tour-page .tour-detail-hero {
    min-height: auto !important;
    padding-top: 6rem !important;
  }

  body.tour-page .tour-hero-copy h1,
  body.tour-page .tour-detail-content h1 {
    font-size: clamp(3rem,14vw,4.7rem) !important;
  }

  body.tour-page .destination-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Tour page visibility/readability fix */
body.tour-page {
  padding-top: 0 !important;
}

body.tour-page .tour-detail-hero {
  min-height: 60vh !important;
  padding: 8.5rem 0 8rem !important;
  align-items: center !important;
}

body.tour-page .tour-detail-content {
  padding: 0 !important;
}

body.tour-page .tour-hero-copy h1,
body.tour-page .tour-detail-content h1 {
  max-width: 760px !important;
  font-size: clamp(3.2rem, 6vw, 6.2rem) !important;
}

body.tour-page .tour-detail-video {
  margin: -5rem auto 0 !important;
  filter: none !important;
}

body.tour-page .tour-detail-video video,
body.tour-page .tour-detail-video img {
  filter: brightness(.78) contrast(1.05) saturate(1.05) !important;
}

body.tour-page .tour-filter-strip {
  margin-top: 0 !important;
  padding-top: 6rem !important;
}

body.tour-page .checkout-summary,
body.tour-page .checkout-summary * {
  color: #0f172a !important;
}

body.tour-page .checkout-summary .eyebrow,
body.tour-page .selected-destination-card .eyebrow,
body.tour-page .destination-detail-panel .eyebrow,
body.tour-page .package-select-panel .eyebrow {
  color: #2563eb !important;
}

body.tour-page .checkout-destination-detail,
body.tour-page .checkout-destination-detail li,
body.tour-page .checkout-destination-detail ol,
body.tour-page .checkout-destination-detail ul,
body.tour-page .booking-note,
body.tour-page .checkout-trust-box span {
  color: #475569 !important;
}

/* Cinematic reel motion polish: video tron/cards */
.tour-detail-video,
.tour-moments-track figure,
.tour-gallery-strip figure,
.story-card,
.gallery-grid > div,
.gallery-page-item {
  isolation: isolate;
}

.tour-detail-video::after,
.tour-moments-track figure::after,
.tour-gallery-strip figure::after,
.story-card::after,
.gallery-grid > div::after,
.gallery-page-item::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  background:
    linear-gradient(115deg, transparent 0 34%, rgba(255,255,255,.22) 44%, transparent 56%),
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.16), transparent 28%);
  transform: translateX(-28%);
  transition: opacity .35s ease, transform .8s cubic-bezier(.16,1,.3,1);
  mix-blend-mode: screen;
}

.tour-detail-video:hover::after,
.tour-moments-track figure:hover::after,
.tour-gallery-strip figure:hover::after,
.story-card:hover::after,
.gallery-grid > div:hover::after,
.gallery-page-item:hover::after {
  opacity: 1;
  transform: translateX(28%);
}

.tour-detail-video video,
.tour-detail-video img,
.tour-moments-track video,
.tour-moments-track img,
.tour-gallery-strip video,
.tour-gallery-strip img,
.story-card img,
.story-card video,
.gallery-grid img,
.gallery-grid video {
  will-change: transform;
  transition: transform 1s cubic-bezier(.16,1,.3,1), filter .45s ease;
}

.tour-detail-video:hover video,
.tour-detail-video:hover img,
.tour-moments-track figure:hover video,
.tour-moments-track figure:hover img,
.tour-gallery-strip figure:hover video,
.tour-gallery-strip figure:hover img,
.story-card:hover img,
.story-card:hover video,
.gallery-grid > div:hover img,
.gallery-grid > div:hover video {
  transform: scale(1.055);
  filter: brightness(1.06) contrast(1.04) saturate(1.05);
}

.cinematic-js .cinematic-enter {
  will-change: transform, opacity, clip-path;
}

@media (prefers-reduced-motion: reduce) {
  .tour-detail-video::after,
  .tour-moments-track figure::after,
  .tour-gallery-strip figure::after,
  .story-card::after,
  .gallery-grid > div::after,
  .gallery-page-item::after {
    display: none;
  }
}

/* Emergency tour hero correction: visible copy first, videotron below */
body.tour-page .tour-detail-hero {
  min-height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  padding: 8rem 0 4rem !important;
  background: #020817 !important;
  overflow: visible !important;
}

body.tour-page .tour-detail-overlay {
  display: none !important;
}

body.tour-page .tour-detail-content {
  position: relative !important;
  z-index: 2 !important;
  order: 1 !important;
  display: block !important;
  width: min(1120px, calc(100% - 2rem)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #fff !important;
  text-align: left !important;
}

body.tour-page .tour-hero-copy {
  display: block !important;
  max-width: 760px !important;
}

body.tour-page .tour-hero-copy h1,
body.tour-page .tour-detail-content h1 {
  display: block !important;
  max-width: 760px !important;
  margin: 1rem 0 1rem !important;
  color: #fff !important;
  font-size: clamp(3.2rem, 6.4vw, 6.4rem) !important;
  line-height: .9 !important;
  letter-spacing: -.075em !important;
  text-align: left !important;
  transform: none !important;
}

body.tour-page .tour-hero-copy h1 span,
body.tour-page .tour-detail-content h1 span {
  color: #60a5fa !important;
}

body.tour-page .tour-detail-subtitle {
  display: block !important;
  max-width: 560px !important;
  margin: 0 0 1.5rem !important;
  color: rgba(248,250,252,.82) !important;
  text-align: left !important;
}

body.tour-page .tour-detail-actions {
  display: flex !important;
  justify-content: flex-start !important;
  margin: 1.5rem 0 1.2rem !important;
}

body.tour-page .tour-detail-hero-meta {
  display: flex !important;
  justify-content: flex-start !important;
  margin: 0 !important;
}

body.tour-page .tour-detail-video {
  position: relative !important;
  inset: auto !important;
  order: 2 !important;
  z-index: 1 !important;
  display: block !important;
  width: min(1120px, calc(100vw - 3rem)) !important;
  height: auto !important;
  aspect-ratio: 2.35 / 1 !important;
  margin: 3rem auto 0 !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 34px 90px rgba(0,0,0,.34) !important;
}

body.tour-page .tour-detail-video video,
body.tour-page .tour-detail-video img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: brightness(.82) contrast(1.05) saturate(1.05) !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Final consistency pass: tour page chooses experiences, video tron stays as card */
body.tour-page .tour-detail-hero {
  min-height: 60vh !important;
  display: flex !important;
  align-items: center !important;
  padding: 7rem 0 3rem !important;
  background: #020817 !important;
}

body.tour-page .tour-detail-content {
  display: block !important;
  width: min(1120px, calc(100% - 2rem)) !important;
  color: #fff !important;
}

body.tour-page .tour-hero-copy {
  max-width: 720px;
}

body.tour-page .tour-hero-copy h1,
body.tour-page .tour-detail-content h1 {
  color: #fff !important;
  font-size: clamp(3.4rem, 7vw, 7rem) !important;
  line-height: .9 !important;
  letter-spacing: -.075em !important;
}

body.tour-page .tour-hero-copy h1 span {
  color: #60a5fa !important;
}

body.tour-page .tour-detail-video {
  position: relative !important;
  inset: auto !important;
  order: 2 !important;
  width: min(1120px, calc(100vw - 3rem)) !important;
  height: auto !important;
  aspect-ratio: 2.35 / 1 !important;
  margin: -2.5rem auto 4rem !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 28px !important;
  box-shadow: 0 34px 90px rgba(2,8,23,.34) !important;
  overflow: hidden !important;
  background: #071228 !important;
}

body.tour-page .tour-detail-video video,
body.tour-page .tour-detail-video img {
  filter: brightness(.92) contrast(1.04) saturate(1.02) !important;
  transition: transform .8s cubic-bezier(.16,1,.3,1);
}

body.tour-page .tour-detail-video:hover video,
body.tour-page .tour-detail-video:hover img {
  transform: scale(1.035) !important;
}

body.tour-page .tour-detail-overlay {
  display: block !important;
  background:
    linear-gradient(90deg, rgba(2,8,23,.92), rgba(2,8,23,.44) 54%, rgba(2,8,23,.8)),
    linear-gradient(180deg, rgba(2,8,23,.08), rgba(2,8,23,.86)) !important;
}

body.tour-page .tour-hero-panel {
  display: none !important;
}

/* Premium hero motion layer */
body.tour-page .tour-detail-hero {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
}

body.tour-page .hero-light-beam {
  position: absolute;
  inset: -28% -18% auto -18%;
  z-index: 0;
  height: 70%;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 22% 42%, rgba(96,165,250,.24), transparent 34%),
    linear-gradient(105deg, transparent 18%, rgba(59,130,246,.18) 46%, rgba(96,165,250,.08) 58%, transparent 76%);
  filter: blur(34px);
  opacity: .82;
  transform: translate3d(-8%, 0, 0) rotate(-4deg);
  animation: heroBlueBeam 14s cubic-bezier(.45,0,.2,1) infinite alternate;
  will-change: transform, opacity;
}

body.tour-page .hero-split-line {
  display: block;
  overflow: hidden;
  padding-bottom: .04em;
}

body.tour-page .hero-split-line > span {
  display: inline-block;
  will-change: transform, opacity;
}

body.tour-page .tour-detail-video {
  clip-path: inset(8% 0 8% 0 round 28px);
  will-change: transform, clip-path;
}

body.tour-page .magnetic-button {
  will-change: transform;
}

@keyframes heroBlueBeam {
  0% {
    opacity: .55;
    transform: translate3d(-10%, -2%, 0) rotate(-5deg) scale(1);
  }

  100% {
    opacity: .9;
    transform: translate3d(10%, 4%, 0) rotate(3deg) scale(1.08);
  }
}

body.tour-page .tour-filter-strip {
  position: relative;
  z-index: 5;
  margin-top: -2rem;
  padding: 0 0 4rem;
  background: #faf8f2;
}

body.tour-page .tour-floating-filter {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  gap: .75rem;
  align-items: end;
  padding: 1rem;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15,23,42,.1);
}

body.tour-page .tour-floating-filter label {
  display: grid;
  gap: .35rem;
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
}

body.tour-page .tour-floating-filter select {
  min-height: 46px;
  border: 1px solid rgba(15,23,42,.1);
  border-radius: 14px;
  background: #f8fafc;
  color: #0f172a;
}

body.tour-page .tour-floating-filter .btn {
  min-height: 46px;
}

body.tour-page .shared-destination-section {
  background: #faf8f2 !important;
  padding-top: clamp(3rem, 6vw, 5rem) !important;
}

body.tour-page .tour-destination-top {
  display: block !important;
  max-width: 760px;
}

body.tour-page .tour-destination-top h2 {
  color: #0f172a !important;
  font-size: clamp(2.5rem, 5vw, 4.8rem);
  line-height: .95;
  letter-spacing: -.065em;
}

body.tour-page .tour-destination-top p {
  color: #475569 !important;
}

body.tour-page .destination-search,
body.tour-page .destination-filter,
body.tour-page .experience-chips,
body.tour-page .filter-apply,
body.tour-page .destination-reset,
body.tour-page .tour-trust-strip {
  display: none !important;
}

body.tour-page .destination-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
}

body.tour-page .destination-card {
  border-radius: 30px !important;
  background: #fff !important;
  box-shadow: 0 30px 80px rgba(15,23,42,.1) !important;
}

body.tour-page .destination-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 44px 110px rgba(15,23,42,.16) !important;
}

body.tour-page .tour-moments {
  background: #020817 !important;
}

body.tour-page .tour-moments-track {
  display: flex !important;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: 1rem;
}

body.tour-page .tour-moments-track figure {
  flex: 0 0 min(640px, 84vw);
  min-height: 430px;
  border-radius: 30px;
  overflow: hidden;
}

body.tour-page .site-footer {
  background: #020817 !important;
}

@media (max-width: 980px) {
  body.tour-page .tour-floating-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.tour-page .destination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.tour-page .tour-detail-hero {
    min-height: auto !important;
  }

  body.tour-page .tour-floating-filter,
  body.tour-page .destination-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Tour hero viewport fix: prevent clipped oversized title and panel collision */
body.tour-page .tour-detail-hero {
  min-height: 100vh !important;
  padding: 7.5rem 0 4rem !important;
}

body.tour-page .tour-detail-content {
  grid-template-columns: minmax(0, .95fr) minmax(320px, 390px) !important;
  gap: clamp(1.5rem, 4vw, 4rem) !important;
  align-items: center !important;
}

body.tour-page .tour-hero-copy {
  min-width: 0;
}

body.tour-page .tour-hero-copy h1,
body.tour-page .tour-detail-content h1 {
  max-width: 720px !important;
  font-size: clamp(3.4rem, 6.5vw, 6.7rem) !important;
  line-height: .88 !important;
  letter-spacing: -.075em !important;
}

body.tour-page .tour-detail-subtitle {
  max-width: 470px !important;
  font-size: clamp(1rem, 1.25vw, 1.18rem) !important;
  line-height: 1.65 !important;
}

body.tour-page .tour-hero-panel {
  align-self: center;
  max-height: calc(100vh - 9rem);
  overflow: auto;
}

@media (max-width: 1080px) {
  body.tour-page .tour-detail-content {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  body.tour-page .tour-hero-panel {
    width: min(520px, 100%);
    max-height: none;
  }
}

@media (max-width: 640px) {
  body.tour-page .tour-detail-hero {
    min-height: auto !important;
    padding: 6.25rem 0 3rem !important;
  }

body.tour-page .tour-hero-copy h1,
  body.tour-page .tour-detail-content h1 {
    font-size: clamp(3rem, 14vw, 4.5rem) !important;
  }
}

/* Destination storytelling: premium editorial replacement for the old moments gallery */
body.tour-page .destination-story-section {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 8rem) 0 !important;
  background:
    radial-gradient(circle at 15% 10%, rgba(59,130,246,.18), transparent 34%),
    radial-gradient(circle at 92% 16%, rgba(96,165,250,.1), transparent 30%),
    linear-gradient(180deg, #020817 0%, #071228 58%, #020817 100%) !important;
}

body.tour-page .destination-story-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 120px 120px;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 72%, transparent);
  opacity: .26;
}

body.tour-page .destination-story-section .container {
  position: relative;
  z-index: 1;
}

body.tour-page .destination-story-section .tour-moments-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem 2rem;
  align-items: end;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

body.tour-page .destination-story-section .tour-moments-heading .eyebrow {
  grid-column: 1 / -1;
  width: fit-content;
  border: 1px solid rgba(96,165,250,.24);
  background: rgba(96,165,250,.1);
  color: #bfdbfe;
}

body.tour-page .destination-story-section .tour-moments-heading h2 {
  max-width: 860px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(3.25rem, 7vw, 7.5rem) !important;
  line-height: .9 !important;
  letter-spacing: -.075em !important;
}

body.tour-page .destination-story-section .tour-moments-heading p {
  grid-column: 1;
  max-width: 560px;
  margin: -.65rem 0 0;
  color: #94a3b8;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.75;
}

body.tour-page .destination-story-section .tour-moments-heading a {
  justify-self: end;
  color: #60a5fa;
  font-weight: 900;
  text-decoration: none;
}

body.tour-page .destination-story-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr);
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}

body.tour-page .destination-story-card {
  position: relative;
  display: block;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 36px;
  background: #071228;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 32px 90px rgba(0,0,0,.34);
  transform: translateZ(0);
  transition: transform .75s cubic-bezier(.16,1,.3,1), border-color .75s cubic-bezier(.16,1,.3,1), box-shadow .75s cubic-bezier(.16,1,.3,1);
}

body.tour-page .destination-story-featured {
  min-height: clamp(520px, 58vw, 720px);
}

body.tour-page .destination-story-support-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
}

body.tour-page .destination-story-support {
  min-height: 220px;
  border-radius: 30px;
}

body.tour-page .destination-story-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 1.15s cubic-bezier(.16,1,.3,1), filter 1.15s cubic-bezier(.16,1,.3,1);
}

body.tour-page .destination-story-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2,8,23,.02) 0%, rgba(2,8,23,.18) 38%, rgba(2,8,23,.9) 100%),
    radial-gradient(circle at 18% 18%, rgba(96,165,250,.2), transparent 36%);
}

body.tour-page .destination-story-card::after {
  content: "";
  position: absolute;
  inset: -40% -60%;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.2) 48%, transparent 62%);
  opacity: 0;
  transform: translateX(-26%) rotate(8deg);
  transition: opacity .65s ease, transform 1.05s cubic-bezier(.16,1,.3,1);
}

body.tour-page .destination-story-copy {
  position: absolute;
  left: clamp(1.1rem, 2.4vw, 2rem);
  right: clamp(1.1rem, 2.4vw, 2rem);
  bottom: clamp(1.1rem, 2.4vw, 2rem);
  z-index: 2;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(2,8,23,.72), rgba(7,18,40,.48));
  backdrop-filter: blur(18px);
}

body.tour-page .destination-story-copy span {
  display: inline-flex;
  margin-bottom: .6rem;
  color: #93c5fd;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.tour-page .destination-story-copy h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.45rem, 2.8vw, 3rem);
  line-height: .95;
  letter-spacing: -.055em;
}

body.tour-page .destination-story-copy p {
  max-width: 620px;
  margin: .8rem 0 0;
  color: rgba(255,255,255,.76);
  line-height: 1.55;
}

body.tour-page .destination-story-copy strong {
  display: inline-flex;
  margin-top: 1.25rem;
  color: #fff;
  font-weight: 900;
}

body.tour-page .destination-story-card:hover {
  transform: translateY(-10px) scale(1.01);
  border-color: rgba(96,165,250,.34);
  box-shadow: 0 48px 120px rgba(0,0,0,.48);
}

body.tour-page .destination-story-card:hover img {
  transform: scale(1.1);
  filter: saturate(1.08) contrast(1.04);
}

body.tour-page .destination-story-card:hover::after {
  opacity: .55;
  transform: translateX(26%) rotate(8deg);
}

@media (max-width: 980px) {
  body.tour-page .destination-story-section .tour-moments-heading,
  body.tour-page .destination-story-layout {
    grid-template-columns: 1fr;
  }

  body.tour-page .destination-story-section .tour-moments-heading a {
    justify-self: start;
  }

  body.tour-page .destination-story-support-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  body.tour-page .destination-story-section {
    padding-inline: 0 !important;
  }

  body.tour-page .destination-story-featured {
    min-height: 520px;
  }

  body.tour-page .destination-story-support-grid {
    grid-template-columns: 1fr;
  }

  body.tour-page .destination-story-support {
    min-height: 300px;
  }

body.tour-page .destination-story-copy {
    border-radius: 20px;
  }
}

/* Luxury booking summary: island purchase card, not an admin panel */
body.tour-page .luxury-booking-summary {
  position: sticky !important;
  top: 7rem !important;
  align-self: start;
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 34px !important;
  background: #fff !important;
  color: #0f172a !important;
  box-shadow: 0 34px 110px rgba(15,23,42,.16) !important;
}

body.tour-page .luxury-booking-summary::before {
  display: none !important;
}

body.tour-page .luxury-booking-summary .summary-hero {
  position: relative;
  min-height: 260px;
  overflow: hidden;
  background: #071228;
}

body.tour-page .luxury-booking-summary .summary-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  transition: transform 1.1s cubic-bezier(.16,1,.3,1), filter 1.1s cubic-bezier(.16,1,.3,1);
}

body.tour-page .luxury-booking-summary:hover .summary-hero img {
  transform: scale(1.09);
  filter: saturate(1.08) contrast(1.04);
}

body.tour-page .summary-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2,8,23,.08) 0%, rgba(2,8,23,.28) 38%, rgba(2,8,23,.88) 100%),
    radial-gradient(circle at 20% 20%, rgba(96,165,250,.28), transparent 36%);
}

body.tour-page .summary-hero-content {
  position: absolute;
  left: 1.35rem;
  right: 1.35rem;
  bottom: 1.35rem;
  color: #fff;
}

body.tour-page .summary-hero-content span,
body.tour-page .summary-kicker span,
body.tour-page .summary-package-card span,
body.tour-page .summary-services > span {
  display: inline-flex;
  color: #3b82f6;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.tour-page .summary-hero-content span {
  color: #bfdbfe;
}

body.tour-page .summary-hero-content h3 {
  margin: .55rem 0 .4rem;
  color: #fff !important;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: .95;
  letter-spacing: -.06em;
}

body.tour-page .summary-hero-content p {
  margin: 0;
  color: rgba(255,255,255,.78) !important;
}

body.tour-page .luxury-booking-summary .summary-body {
  display: grid;
  gap: 1.15rem;
  padding: clamp(1.15rem, 2vw, 1.5rem);
  background:
    radial-gradient(circle at 12% 0%, rgba(59,130,246,.08), transparent 34%),
    linear-gradient(180deg, #fff 0%, #fafafa 100%);
}

body.tour-page .summary-kicker {
  display: grid;
  gap: .35rem;
}

body.tour-page .summary-kicker strong {
  color: #0f172a;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}

body.tour-page .summary-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

body.tour-page .summary-overview-grid div,
body.tour-page .summary-package-card,
body.tour-page .summary-price-panel,
body.tour-page .luxury-booking-summary .checkout-trust-box {
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 22px;
  background: rgba(255,255,255,.74);
  box-shadow: 0 18px 46px rgba(15,23,42,.07);
}

body.tour-page .summary-overview-grid div {
  display: grid;
  gap: .35rem;
  min-height: 86px;
  padding: .95rem;
}

body.tour-page .summary-overview-grid span,
body.tour-page .summary-row span {
  color: #64748b !important;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.tour-page .summary-overview-grid strong {
  color: #0f172a !important;
  font-size: .98rem;
  line-height: 1.25;
}

body.tour-page .summary-package-card {
  padding: 1.1rem;
}

body.tour-page .summary-package-card strong {
  display: block;
  margin-top: .45rem;
  color: #0f172a !important;
  font-size: 1.08rem;
}

body.tour-page .summary-package-card p {
  margin: .45rem 0 0;
  color: #64748b !important;
  line-height: 1.55;
}

body.tour-page .summary-services {
  display: grid;
  gap: .8rem;
}

body.tour-page .summary-services div {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

body.tour-page .summary-services em {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: .55rem .8rem;
  border: 1px solid rgba(59,130,246,.14);
  border-radius: 999px;
  background: rgba(59,130,246,.08);
  color: #1e3a8a;
  font-size: .82rem;
  font-style: normal;
  font-weight: 850;
}

body.tour-page .summary-price-panel {
  display: grid;
  gap: .15rem;
  padding: 1rem;
  background: #f8fafc;
}

body.tour-page .luxury-booking-summary .summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .65rem 0;
  border: 0 !important;
}

body.tour-page .luxury-booking-summary .summary-row strong {
  color: #0f172a !important;
  text-align: right;
}

body.tour-page .luxury-booking-summary .summary-total {
  margin-top: .45rem;
  padding: 1rem !important;
  border-radius: 18px;
  background: linear-gradient(135deg, #071228, #0b1324);
}

body.tour-page .luxury-booking-summary .summary-total span {
  color: rgba(255,255,255,.66) !important;
}

body.tour-page .luxury-booking-summary .summary-total strong {
  color: #fff !important;
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  letter-spacing: -.045em;
}

body.tour-page .luxury-booking-summary .checkout-trust-box {
  display: grid;
  gap: .35rem;
  padding: 1rem;
  background: linear-gradient(135deg, rgba(59,130,246,.1), rgba(96,165,250,.04));
}

body.tour-page .luxury-booking-summary .checkout-trust-box strong {
  color: #0f172a !important;
}

body.tour-page .luxury-booking-summary .checkout-trust-box span {
  color: #64748b !important;
  line-height: 1.5;
}

body.tour-page .luxury-booking-summary .summary-primary-cta,
body.tour-page .luxury-booking-summary .summary-secondary-cta {
  width: 100%;
  min-height: 58px;
  border-radius: 999px !important;
  font-size: .95rem;
  font-weight: 900;
}

body.tour-page .luxury-booking-summary .summary-primary-cta {
  background: linear-gradient(135deg, #3b82f6, #60a5fa) !important;
  color: #fff !important;
  box-shadow: 0 20px 50px rgba(59,130,246,.3);
}

body.tour-page .luxury-booking-summary .summary-secondary-cta {
  border: 1px solid rgba(15,23,42,.1) !important;
  background: #fff !important;
  color: #0f172a !important;
}

@media (max-width: 1080px) {
  body.tour-page .luxury-booking-summary {
    position: relative !important;
    top: auto !important;
  }
}

@media (max-width: 520px) {
  body.tour-page .summary-overview-grid {
    grid-template-columns: 1fr;
  }

  body.tour-page .luxury-booking-summary .summary-row {
    align-items: flex-start;
    flex-direction: column;
    gap: .35rem;
  }

body.tour-page .luxury-booking-summary .summary-row strong {
    text-align: left;
  }
}

/* Shared trip departure selection: admin-defined dates only */
body.tour-page .shared-departure-panel {
  display: grid;
  gap: 1rem;
  margin-top: .5rem;
}

body.tour-page .shared-departure-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .25rem;
}

body.tour-page .shared-departure-head span {
  color: #3b82f6;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.tour-page .shared-departure-head strong {
  color: #071228;
  font-size: 1rem;
}

body.tour-page .shared-departure-list {
  display: grid;
  gap: .85rem;
}

body.tour-page .departure-option {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(120px, .75fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 24px;
  background: #f8fafc;
  cursor: pointer;
  transition: transform .45s cubic-bezier(.16,1,.3,1), border-color .45s ease, box-shadow .45s ease, background .45s ease;
}

body.tour-page .departure-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

body.tour-page .departure-option span {
  display: grid;
  gap: .2rem;
}

body.tour-page .departure-option small {
  color: #64748b;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.tour-page .departure-option strong {
  color: #071228;
  font-size: 1rem;
  line-height: 1.25;
}

body.tour-page .departure-option em {
  justify-self: end;
  padding: .55rem .75rem;
  border-radius: 999px;
  background: rgba(34,197,94,.1);
  color: #15803d;
  font-size: .75rem;
  font-style: normal;
  font-weight: 900;
}

body.tour-page .departure-option em[data-state="full"],
body.tour-page .departure-option em[data-state="closed"] {
  background: rgba(148,163,184,.16);
  color: #64748b;
}

body.tour-page .departure-option:hover,
body.tour-page .departure-option.active {
  transform: translateY(-4px);
  border-color: rgba(59,130,246,.35);
  background: #fff;
  box-shadow: 0 22px 60px rgba(59,130,246,.13);
}

body.tour-page .departure-option.active::after {
  content: "";
  position: absolute;
  inset: 12px;
  border: 2px solid rgba(59,130,246,.5);
  border-radius: 18px;
  pointer-events: none;
}

body.tour-page .departure-option.disabled {
  cursor: not-allowed;
  opacity: .58;
}

body.tour-page .departure-option.disabled:hover {
  transform: none;
  box-shadow: none;
}

body.tour-page .departure-empty-state {
  padding: 1.25rem;
  border-radius: 24px;
  background: rgba(59,130,246,.08);
  color: #475569;
}

body.tour-page .departure-empty-state strong {
  display: block;
  margin-bottom: .35rem;
  color: #071228;
}

body.tour-page .departure-empty-state p {
  margin: 0;
  color: #64748b !important;
}

/* Simplified booking conversion section */
body.tour-page .visited-destinations-section {
  padding: clamp(2rem, 4vw, 3.5rem) 0 !important;
  background: #faf8f2 !important;
}

body.tour-page .visited-destinations-card {
  display: grid;
  grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr);
  gap: clamp(1rem, 2.6vw, 2.2rem);
  align-items: center;
  padding: clamp(1.1rem, 2.4vw, 1.75rem);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(15,23,42,.07);
}

body.tour-page .visited-destinations-card .eyebrow {
  width: auto !important;
  border: 0 !important;
  background: transparent !important;
  color: #3b82f6 !important;
  font-size: .78rem !important;
  letter-spacing: .14em !important;
}

body.tour-page .visited-destinations-card ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.tour-page .visited-destinations-card li {
  position: relative;
  padding: .85rem 1rem .85rem 2.2rem;
  border-radius: 18px;
  background: #f8fafc;
  color: #071228;
  font-size: clamp(.98rem, 1.15vw, 1.1rem);
  font-weight: 900;
}

body.tour-page .visited-destinations-card li::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 50%;
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: #3b82f6;
  transform: translateY(-50%);
}

body.tour-page .compact-destination-picker {
  padding: clamp(3rem, 6vw, 5rem) 0 !important;
  background: #faf8f2 !important;
}

body.tour-page .compact-destination-head {
  max-width: 760px;
  margin-bottom: 1.5rem;
}

body.tour-page .compact-destination-head .eyebrow {
  border: 0 !important;
  background: transparent !important;
  color: #3b82f6 !important;
}

body.tour-page .compact-destination-head h2 {
  margin: .5rem 0 .5rem;
  color: #071228;
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: .92;
  letter-spacing: -.07em;
}

body.tour-page .compact-destination-head p {
  color: #64748b;
  font-size: 1.05rem;
}

body.tour-page .compact-destination-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.35rem);
  align-items: stretch;
}

body.tour-page .compact-destination-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 30px;
  background: #fff;
  color: #071228;
  text-decoration: none;
  box-shadow: 0 22px 65px rgba(15,23,42,.08);
  transition: transform .65s cubic-bezier(.16,1,.3,1), box-shadow .65s ease, border-color .65s ease;
  will-change: transform;
}

body.tour-page .compact-destination-card.is-featured {
  grid-column: span 2;
  min-height: 440px;
  background: #071228;
  color: #fff;
}

body.tour-page .compact-destination-card:hover {
  transform: translateY(-9px);
  border-color: rgba(59,130,246,.28);
  box-shadow: 0 36px 95px rgba(15,23,42,.16);
}

body.tour-page.cinematic-shell .compact-destination-card.cinematic-enter {
  opacity: 1;
  transform: none;
}

body.tour-page .compact-destination-card:focus-visible {
  outline: 3px solid rgba(59,130,246,.55);
  outline-offset: 4px;
}

body.tour-page .compact-destination-media {
  position: relative;
  height: 230px;
  overflow: hidden;
  background: #071228;
}

body.tour-page .compact-destination-card.is-featured .compact-destination-media {
  position: absolute;
  inset: 0;
  height: auto;
}

body.tour-page .compact-destination-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2,8,23,.02) 0%, rgba(2,8,23,.08) 42%, rgba(2,8,23,.72) 100%);
  opacity: .8;
}

body.tour-page .compact-destination-media img {
  width: 100%;
  height: 180px;
  min-height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 1s cubic-bezier(.16,1,.3,1), filter 1s cubic-bezier(.16,1,.3,1);
}

body.tour-page .compact-destination-card:hover .compact-destination-media img {
  transform: scale(1.1);
  filter: saturate(1.08) contrast(1.04);
}

body.tour-page .compact-destination-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .55rem .8rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: #fff !important;
  backdrop-filter: blur(16px);
  font-size: .72rem !important;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.tour-page .compact-destination-copy {
  position: relative;
  z-index: 2;
  display: grid;
  gap: .45rem;
  padding: 1.15rem;
}

body.tour-page .compact-destination-card.is-featured .compact-destination-copy {
  margin-top: auto;
  padding: clamp(1.4rem, 3vw, 2rem);
  background: linear-gradient(180deg, transparent, rgba(2,8,23,.78));
}

body.tour-page .compact-destination-copy span {
  color: #3b82f6;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.tour-page .compact-destination-card.is-featured .compact-destination-copy span {
  color: #bfdbfe;
}

body.tour-page .compact-destination-copy strong {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1;
  letter-spacing: -.05em;
}

body.tour-page .compact-destination-card.is-featured .compact-destination-copy strong {
  max-width: 560px;
  color: #fff;
  font-size: clamp(2.4rem, 4.8vw, 4.9rem);
  line-height: .88;
  letter-spacing: -.075em;
}

body.tour-page .compact-destination-copy small {
  color: #64748b;
  line-height: 1.45;
}

body.tour-page .compact-destination-card.is-featured .compact-destination-copy small {
  max-width: 520px;
  color: rgba(255,255,255,.74);
  font-size: 1rem;
}

body.tour-page .compact-destination-copy em {
  margin-top: .35rem;
  color: #071228;
  font-style: normal;
  font-weight: 900;
}

body.tour-page .compact-destination-card.is-featured .compact-destination-copy em {
  color: #fff;
}

body.tour-page .booking-header {
  margin-bottom: clamp(2rem, 5vw, 4rem) !important;
}

body.tour-page .checkout-main {
  gap: clamp(1.25rem, 3vw, 2rem) !important;
}

body.tour-page .package-select-panel.luxury-package-selection {
  scroll-margin-top: 7rem;
}

@media (max-width: 620px) {
  body.tour-page .visited-destinations-card,
  body.tour-page .visited-destinations-card ul,
  body.tour-page .compact-destination-grid {
    grid-template-columns: 1fr;
  }

  body.tour-page .departure-option {
    grid-template-columns: 1fr;
  }

  body.tour-page .departure-option em {
    justify-self: start;
  }
}

@media (max-width: 980px) {
  body.tour-page .compact-destination-grid {
    grid-template-columns: 1fr;
  }

  body.tour-page .compact-destination-card.is-featured {
    grid-column: auto;
  }
}

/* Premium booking experience: fewer boxes, stronger travel storytelling */
body.tour-page #step1 {
  background:
    radial-gradient(circle at 12% 4%, rgba(59,130,246,.08), transparent 30%),
    linear-gradient(180deg, #faf8f2 0%, #fff 44%, #faf8f2 100%) !important;
  padding-top: clamp(5rem, 8vw, 8rem) !important;
}

body.tour-page .premium-booking-flow {
  display: none !important;
}

body.tour-page .booking-header {
  max-width: 880px;
  margin: 0 auto clamp(3rem, 6vw, 5rem) !important;
  text-align: center;
}

body.tour-page .booking-header h2 {
  color: #071228 !important;
  font-size: clamp(3rem, 6.5vw, 6.8rem) !important;
  line-height: .9 !important;
  letter-spacing: -.075em !important;
}

body.tour-page .booking-header p {
  max-width: 620px;
  margin-inline: auto;
  color: #64748b !important;
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  line-height: 1.75;
}

body.tour-page .checkout-layout {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px) !important;
  gap: clamp(2rem, 4vw, 4rem) !important;
  align-items: start;
}

body.tour-page .checkout-main {
  display: grid !important;
  gap: clamp(2rem, 4vw, 3.5rem) !important;
}

body.tour-page .luxury-tour-overview {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 0;
  overflow: hidden;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 38px !important;
  background: #071228 !important;
  box-shadow: 0 36px 110px rgba(15,23,42,.18) !important;
}

body.tour-page .luxury-tour-overview-media {
  position: relative;
  min-height: clamp(360px, 45vw, 560px);
  overflow: hidden;
}

body.tour-page .luxury-tour-overview-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 42%, rgba(7,18,40,.78) 100%);
}

body.tour-page .luxury-tour-overview-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 1.1s cubic-bezier(.16,1,.3,1);
}

body.tour-page .luxury-tour-overview:hover .luxury-tour-overview-media img {
  transform: scale(1.08);
}

body.tour-page .luxury-tour-overview-copy {
  display: flex;
  flex-direction: column;
  justify-content: end;
  min-height: 100%;
  padding: clamp(2rem, 4vw, 3.5rem);
  color: #fff;
}

body.tour-page .luxury-tour-overview-copy span,
body.tour-page .luxury-trip-overview-panel .eyebrow,
body.tour-page .luxury-package-selection .eyebrow {
  color: #60a5fa !important;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .16em;
}

body.tour-page .luxury-tour-overview-copy strong {
  margin-top: .8rem;
  color: #fff !important;
  font-size: clamp(2.4rem, 4.8vw, 5rem);
  line-height: .9;
  letter-spacing: -.075em;
}

body.tour-page .luxury-tour-overview-copy small,
body.tour-page .luxury-tour-overview-copy p {
  color: rgba(255,255,255,.72) !important;
  font-size: 1rem;
  line-height: 1.7;
}

body.tour-page .luxury-tour-overview-copy p {
  max-width: 460px;
  margin-top: 1.2rem;
}

body.tour-page .luxury-trip-overview-panel {
  display: grid !important;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(1.25rem, 2.4vw, 2rem);
  border: 0 !important;
  background: transparent !important;
}

body.tour-page .luxury-trip-overview-panel > div {
  min-height: 100%;
  padding: clamp(1.5rem, 3vw, 2.4rem) !important;
  border: 0 !important;
  border-radius: 32px !important;
  background: #fff !important;
  box-shadow: 0 28px 80px rgba(15,23,42,.09) !important;
}

body.tour-page .luxury-trip-overview-panel > div:first-child {
  grid-row: span 2;
  background:
    radial-gradient(circle at 10% 0%, rgba(59,130,246,.11), transparent 32%),
    #fff !important;
}

body.tour-page .luxury-trip-overview-panel h3,
body.tour-page .luxury-package-selection h3,
body.tour-page .booking-card h3 {
  color: #071228 !important;
  font-size: clamp(1.65rem, 2.6vw, 2.45rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
}

body.tour-page .tour-facts-list div {
  padding: 1.05rem 0 !important;
  border-color: rgba(15,23,42,.08) !important;
}

body.tour-page .luxury-trip-overview-panel ul,
body.tour-page .luxury-trip-overview-panel ol {
  display: grid;
  gap: .85rem;
  margin-top: 1.25rem;
  padding-left: 1.1rem;
  color: #475569;
}

body.tour-page .luxury-journey-media {
  overflow: hidden;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 38px !important;
  background: #020817 !important;
  box-shadow: 0 34px 100px rgba(15,23,42,.16) !important;
}

body.tour-page .luxury-journey-media .tour-gallery-strip {
  padding: 1rem;
}

body.tour-page .luxury-journey-media .tour-gallery-strip figure {
  min-height: 430px;
  border-radius: 30px;
}

body.tour-page .luxury-journey-media .tour-map-panel {
  margin: 0;
  border-radius: 0;
  border: 0;
}

body.tour-page .luxury-package-selection,
body.tour-page .booking-card {
  padding: clamp(1.5rem, 3vw, 2.35rem) !important;
  border: 0 !important;
  border-radius: 34px !important;
  background: #fff !important;
  box-shadow: 0 26px 80px rgba(15,23,42,.085) !important;
}

body.tour-page .package-option-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

body.tour-page .package-option {
  min-height: 190px;
  padding: 1.15rem !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 24px !important;
  background: #f8fafc !important;
  transition: transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s cubic-bezier(.16,1,.3,1), border-color .5s ease;
}

body.tour-page .package-option:hover,
body.tour-page .package-option.active {
  transform: translateY(-6px);
  border-color: rgba(59,130,246,.35) !important;
  box-shadow: 0 22px 60px rgba(59,130,246,.13);
}

body.tour-page .package-option > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-self: start !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #2563eb !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}

body.tour-page .package-option strong {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

body.tour-page .package-option small {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

body.tour-page .package-option em,
body.tour-page .package-option em span {
  color: #166534 !important;
  -webkit-text-fill-color: #166534 !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: .92rem !important;
  font-weight: 900 !important;
}

body.tour-page .package-option em [data-i18n] {
  color: #2563eb !important;
  -webkit-text-fill-color: #2563eb !important;
}

body.tour-page .luxury-planner-card,
body.tour-page .luxury-contact-card,
body.tour-page .luxury-payment-card {
  display: grid;
  gap: 1.25rem;
}

body.tour-page .checkout-step {
  width: 42px !important;
  height: 42px !important;
  background: linear-gradient(135deg, #3b82f6, #60a5fa) !important;
  color: #fff !important;
}

body.tour-page .trip-date-picker,
body.tour-page .guest-row,
body.tour-page .payment-option,
body.tour-page .form-field input,
body.tour-page .form-field textarea {
  border-color: rgba(15,23,42,.08) !important;
  border-radius: 20px !important;
  background: #f8fafc !important;
}

body.tour-page .guest-row,
body.tour-page .payment-option {
  padding: 1rem !important;
}

body.tour-page .payment-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .9rem !important;
}

body.tour-page .payment-option.active {
  border-color: rgba(59,130,246,.36) !important;
  background: rgba(59,130,246,.08) !important;
}

body.tour-page .luxury-assurance-card {
  background: linear-gradient(135deg, #071228, #0b1324) !important;
  color: #fff !important;
}

body.tour-page .luxury-assurance-card h3,
body.tour-page .luxury-assurance-card strong {
  color: #fff !important;
}

body.tour-page .luxury-assurance-card p {
  color: rgba(255,255,255,.68) !important;
}

body.tour-page .booking-assurance-grid {
  gap: 1rem;
}

body.tour-page .booking-assurance-grid div {
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.06) !important;
}

@media (max-width: 1080px) {
  body.tour-page .checkout-layout,
  body.tour-page .luxury-tour-overview,
  body.tour-page .luxury-trip-overview-panel {
    grid-template-columns: 1fr !important;
  }

  body.tour-page .luxury-trip-overview-panel > div:first-child {
    grid-row: auto;
  }
}

@media (max-width: 760px) {
  body.tour-page .package-option-grid,
  body.tour-page .payment-grid {
    grid-template-columns: 1fr !important;
  }

  body.tour-page .luxury-tour-overview-media {
    min-height: 330px;
  }

  body.tour-page .luxury-tour-overview-media::after {
    background: linear-gradient(180deg, transparent 30%, rgba(7,18,40,.88) 100%);
  }
}

/* Final hero balance: premium conversion layout, not oversized poster */
body.tour-page .tour-detail-hero {
  min-height: auto !important;
  padding: clamp(5.5rem, 8vw, 7rem) 0 clamp(2rem, 4vw, 3rem) !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}

body.tour-page .tour-detail-content {
  width: min(1080px, calc(100% - 2rem)) !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body.tour-page .tour-hero-copy {
  max-width: 940px !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body.tour-page .tour-detail-content .eyebrow {
  margin-inline: auto !important;
}

body.tour-page .tour-hero-copy h1,
body.tour-page .tour-detail-content h1 {
  max-width: 980px !important;
  margin: clamp(.75rem, 1.5vw, 1.1rem) auto clamp(.8rem, 1.5vw, 1.1rem) !important;
  font-size: clamp(3.6rem, 7.2vw, 7.1rem) !important;
  line-height: .86 !important;
  letter-spacing: -.078em !important;
  text-align: center !important;
}

body.tour-page .hero-split-line {
  display: block !important;
  white-space: nowrap;
}

body.tour-page .hero-title-accent {
  color: #60a5fa !important;
}

body.tour-page .tour-detail-subtitle {
  max-width: 640px !important;
  margin: 0 auto clamp(1rem, 2vw, 1.35rem) !important;
  color: rgba(248,250,252,.78) !important;
  text-align: center !important;
  font-size: clamp(1rem, 1.35vw, 1.2rem) !important;
  line-height: 1.62 !important;
}

body.tour-page .tour-detail-actions {
  justify-content: center !important;
  margin: 0 0 clamp(1rem, 2vw, 1.25rem) !important;
  gap: .8rem !important;
}

body.tour-page .tour-detail-actions .btn {
  min-width: min(230px, 44vw);
}

body.tour-page .tour-detail-hero-meta {
  justify-content: center !important;
  gap: .7rem !important;
  margin: 0 !important;
}

body.tour-page .tour-detail-hero-meta span {
  min-height: 44px !important;
  padding: .65rem 1rem !important;
}

body.tour-page .tour-detail-video {
  width: min(1040px, calc(100vw - 3rem)) !important;
  aspect-ratio: 2.65 / 1 !important;
  margin: clamp(1.05rem, 2.4vw, 1.65rem) auto 0 !important;
  border-radius: 26px !important;
}

@media (max-width: 760px) {
  body.tour-page .tour-detail-hero {
    padding-top: 5.25rem !important;
  }

  body.tour-page .tour-hero-copy h1,
  body.tour-page .tour-detail-content h1 {
    font-size: clamp(3rem, 13vw, 4.8rem) !important;
    letter-spacing: -.07em !important;
  }

  body.tour-page .hero-split-line {
    white-space: normal;
  }

  body.tour-page .tour-detail-actions,
  body.tour-page .tour-detail-hero-meta {
    flex-wrap: wrap;
  }

  body.tour-page .tour-detail-actions .btn {
    min-width: min(100%, 320px);
  }

  body.tour-page .tour-detail-video {
    width: min(100% - 1.5rem, 720px) !important;
    aspect-ratio: 1.65 / 1 !important;
  }
}

/* Final homepage color restore: natural original palette wins over older dark layers */
body.home,
body.home main {
  background:
    radial-gradient(circle at 12% 4%, rgba(232,138,63,.12), transparent 28%),
    linear-gradient(180deg, #f6efe3 0%, #faf8f2 46%, #f3eadc 100%) !important;
  color: #17251c !important;
}

body.home .site-header,
body.home .site-header.solid {
  background: rgba(246,239,227,.88) !important;
  border-bottom: 1px solid rgba(70,48,31,.12) !important;
  box-shadow: none !important;
}

body.home .brand-logo,
body.home .brand-logo:visited,
body.home .nav-links a {
  color: #17251c !important;
}

body.home .nav-links {
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(70,48,31,.12) !important;
}

body.home .hero-overlay {
  background:
    linear-gradient(90deg, rgba(246,239,227,.94), rgba(246,239,227,.56) 50%, rgba(35,68,52,.26)),
    linear-gradient(180deg, rgba(246,239,227,.08), rgba(246,239,227,.9)) !important;
}

body.home .hero-content h1,
body.home .cinematic-heading h2,
body.home .section-heading h2,
body.home .section-header h2,
body.home .feature-card h3,
body.home .tour-card h3,
body.home .review-card h3,
body.home .review-card h4,
body.home .faq-card h3,
body.home .booking-story-copy h2 {
  color: #17251c !important;
}

body.home .hero-content h1 span,
body.home .cinematic-heading h2 span,
body.home .section-heading h2 span,
body.home .section-header h2 span,
body.home .journey-steps strong {
  color: #e88a3f !important;
}

body.home .hero-text,
body.home .hero-subtext,
body.home .cinematic-heading p,
body.home .section-heading p,
body.home .section-header p,
body.home .feature-card p,
body.home .tour-card p,
body.home .review-card p,
body.home .faq-card p,
body.home .booking-story-copy p,
body.home .premium-trust-strip span {
  color: #596455 !important;
}

body.home .eyebrow,
body.home .planner-heading span,
body.home .route-label {
  color: #8f4f22 !important;
  background: rgba(232,138,63,.12) !important;
  border-color: rgba(232,138,63,.24) !important;
}

body.home .nav-links a[href="contact.php"],
body.home .btn-primary {
  background: #e88a3f !important;
  color: #17251c !important;
  box-shadow: 0 18px 45px rgba(232,138,63,.22) !important;
}

body.home .btn-primary:hover {
  background: #d9772f !important;
}

body.home .btn-secondary {
  color: #17251c !important;
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(70,48,31,.16) !important;
}

body.home .hero-stats div,
body.home .hero-booking-panel,
body.home .glass-panel,
body.home .promise-grid article,
body.home .review-card,
body.home .faq-card,
body.home .review-platform,
body.home .trust-proof-list article {
  background: rgba(255,255,255,.76) !important;
  border: 1px solid rgba(70,48,31,.12) !important;
  box-shadow: 0 24px 70px rgba(70,48,31,.1) !important;
  color: #17251c !important;
}

body.home .hero-booking-panel select,
body.home .review-form input,
body.home .review-form select,
body.home .review-form textarea {
  color: #17251c !important;
  background: rgba(255,255,255,.84) !important;
  border: 1px solid rgba(70,48,31,.14) !important;
}

body.home .tour-types,
body.home #gallery.section-light,
body.home .booking-experience,
body.home #faq,
body.home #reviews.section-light,
body.home .destination-stories,
body.home .private-experience {
  background:
    radial-gradient(circle at 86% 0%, rgba(232,138,63,.1), transparent 28%),
    #faf8f2 !important;
  color: #17251c !important;
}

body.home .site-footer {
  background:
    linear-gradient(rgba(35,68,52,.94), rgba(23,37,28,.98)),
    #234434 !important;
}

body.home .site-footer .brand,
body.home .site-footer h4 {
  color: #fff !important;
}

body.home .site-footer p,
body.home .site-footer a {
  color: rgba(255,255,255,.72) !important;
}

/* Final homepage palette: blue, black, white only */
body.home,
body.home main {
  background:
    radial-gradient(circle at 78% 10%, rgba(59,130,246,.18), transparent 30%),
    linear-gradient(180deg, #020817 0%, #071228 48%, #020817 100%) !important;
  color: #fff !important;
}

body.home .site-header,
body.home .site-header.solid {
  background: rgba(2,8,23,.82) !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  box-shadow: none !important;
}

body.home .brand-logo,
body.home .brand-logo:visited,
body.home .nav-links a {
  color: #fff !important;
}

body.home .nav-links {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.1) !important;
}

body.home .nav-links a:hover {
  background: rgba(59,130,246,.16) !important;
}

body.home .hero-overlay {
  background:
    linear-gradient(90deg, rgba(2,8,23,.94), rgba(2,8,23,.48) 52%, rgba(2,8,23,.82)),
    linear-gradient(180deg, rgba(2,8,23,.12), rgba(2,8,23,.96)) !important;
}

body.home .hero-content h1,
body.home .cinematic-heading h2,
body.home .section-heading h2,
body.home .section-header h2,
body.home .feature-card h3,
body.home .tour-card h3,
body.home .review-card h3,
body.home .review-card h4,
body.home .faq-card h3,
body.home .booking-story-copy h2 {
  color: #fff !important;
}

body.home .hero-content h1 span,
body.home .cinematic-heading h2 span,
body.home .section-heading h2 span,
body.home .section-header h2 span,
body.home .journey-steps strong {
  color: #60a5fa !important;
}

body.home .hero-text,
body.home .hero-subtext,
body.home .cinematic-heading p,
body.home .section-heading p,
body.home .section-header p,
body.home .feature-card p,
body.home .tour-card p,
body.home .review-card p,
body.home .faq-card p,
body.home .booking-story-copy p,
body.home .premium-trust-strip span {
  color: #94a3b8 !important;
}

body.home .eyebrow,
body.home .planner-heading span,
body.home .route-label {
  color: #93c5fd !important;
  background: rgba(59,130,246,.12) !important;
  border-color: rgba(96,165,250,.24) !important;
}

body.home .nav-links a[href="contact.php"],
body.home .btn-primary {
  background: #3b82f6 !important;
  color: #fff !important;
  box-shadow: 0 18px 45px rgba(59,130,246,.28) !important;
}

body.home .btn-primary:hover {
  background: #60a5fa !important;
}

body.home .btn-secondary {
  color: #fff !important;
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.16) !important;
}

body.home .hero-stats div,
body.home .hero-booking-panel,
body.home .glass-panel,
body.home .promise-grid article,
body.home .review-card,
body.home .faq-card,
body.home .review-platform,
body.home .trust-proof-list article {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.24) !important;
  color: #fff !important;
}

body.home .hero-booking-panel select,
body.home .review-form input,
body.home .review-form select,
body.home .review-form textarea {
  color: #fff !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

body.home .hero-booking-panel option {
  color: #020817 !important;
}

body.home .tour-types,
body.home #gallery.section-light,
body.home .booking-experience,
body.home #faq,
body.home #reviews.section-light,
body.home .destination-stories,
body.home .private-experience {
  background:
    radial-gradient(circle at 86% 0%, rgba(59,130,246,.14), transparent 28%),
    #020817 !important;
  color: #fff !important;
}

body.home .site-footer {
  background: #020817 !important;
}

body.home .site-footer .brand,
body.home .site-footer h4 {
  color: #fff !important;
}

body.home .site-footer p,
body.home .site-footer a {
  color: #94a3b8 !important;
}

/* Final homepage readability pass */
body.home .hero {
  min-height: 92svh !important;
}

body.home .hero-grid {
  align-items: center !important;
  gap: clamp(2rem, 5vw, 4rem) !important;
}

body.home .hero-content {
  max-width: 720px !important;
}

body.home .hero-content h1 {
  max-width: 720px !important;
  font-size: clamp(3.6rem, 7vw, 6.8rem) !important;
  line-height: .9 !important;
  letter-spacing: -.065em !important;
}

body.home .cinematic-heading h2,
body.home .section-heading h2,
body.home .section-header h2,
body.home .booking-story-copy h2,
body.home .private-experience-copy h2 {
  font-size: clamp(2.35rem, 4.8vw, 4.8rem) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}

body.home .story-copy h3,
body.home .tour-card h3,
body.home .feature-card h3,
body.home .faq-card h3,
body.home .review-card h3,
body.home .review-card h4 {
  font-size: clamp(1.25rem, 2vw, 1.8rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
}

body.home .hero-text {
  max-width: 620px !important;
  color: #dbeafe !important;
  font-size: clamp(1rem, 1.25vw, 1.16rem) !important;
  line-height: 1.65 !important;
}

body.home .hero-subtext,
body.home .cinematic-heading p,
body.home .section-heading p,
body.home .section-header p,
body.home .feature-card p,
body.home .tour-card p,
body.home .review-card p,
body.home .faq-card p,
body.home .booking-story-copy p,
body.home .private-experience-copy p,
body.home .promise-grid p {
  color: #cbd5e1 !important;
  font-size: clamp(.95rem, 1.05vw, 1.05rem) !important;
  line-height: 1.68 !important;
}

body.home .nav-links a {
  font-size: .78rem !important;
  letter-spacing: .08em !important;
}

body.home .eyebrow,
body.home .planner-heading span,
body.home .route-label {
  font-size: .72rem !important;
  letter-spacing: .16em !important;
}

body.home .hero-stats {
  gap: .75rem !important;
}

body.home .hero-stats div {
  min-width: 120px !important;
  padding: .85rem 1rem !important;
}

body.home .hero-stats strong,
body.home .premium-trust-strip strong {
  color: #fff !important;
  font-size: clamp(1rem, 1.5vw, 1.28rem) !important;
}

body.home .hero-stats span,
body.home .premium-trust-strip span {
  color: #bfdbfe !important;
  font-size: .76rem !important;
}

body.home .hero-booking-panel h2,
body.home .hero-booking-panel h3 {
  color: #fff !important;
  font-size: clamp(1.25rem, 2vw, 1.7rem) !important;
  line-height: 1.12 !important;
}

body.home .hero-booking-panel label,
body.home .hero-booking-panel select {
  color: #e5eefc !important;
  font-size: .92rem !important;
}

body.home .hero-booking-panel select {
  background: rgba(255,255,255,.09) !important;
}

body.home .btn,
body.home .hero-actions .btn,
body.home .hero-booking-panel .btn {
  font-size: .95rem !important;
  min-height: 50px !important;
}

body.home .story-card,
body.home .tour-card,
body.home .review-card,
body.home .faq-card {
  color: #fff !important;
}

@media (max-width: 760px) {
  body.home .hero {
    min-height: auto !important;
    padding-top: 6rem !important;
  }

  body.home .hero-content h1 {
    font-size: clamp(3rem, 14vw, 4.6rem) !important;
  }

  body.home .cinematic-heading h2,
  body.home .section-heading h2,
  body.home .section-header h2 {
    font-size: clamp(2.2rem, 10vw, 3.5rem) !important;
  }
}

/* Final homepage type balance: blue / black / white, readable first */
body.home {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.home .hero {
  min-height: 100svh !important;
  padding-top: clamp(5.75rem, 7vw, 7rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4.5rem) !important;
}

body.home .hero::before,
body.home .hero-overlay {
  background:
    linear-gradient(90deg, rgba(2,8,23,.96), rgba(2,8,23,.72) 48%, rgba(2,8,23,.88)),
    linear-gradient(180deg, rgba(2,8,23,.18), rgba(2,8,23,.98)) !important;
}

body.home .hero-grid {
  min-height: calc(100svh - 9rem) !important;
  align-items: center !important;
  gap: clamp(1.5rem, 4vw, 3rem) !important;
}

body.home .hero-content {
  max-width: 680px !important;
}

body.home .hero-content h1 {
  max-width: 680px !important;
  font-size: clamp(3.2rem, 6.4vw, 6.1rem) !important;
  line-height: .92 !important;
  letter-spacing: -.06em !important;
  margin-bottom: 1.15rem !important;
}

body.home .hero-content h1 span {
  color: #60a5fa !important;
}

body.home .hero-text {
  max-width: 540px !important;
  font-size: clamp(.98rem, 1.12vw, 1.08rem) !important;
  line-height: 1.68 !important;
  color: #dbeafe !important;
}

body.home .hero-subtext {
  max-width: 560px !important;
  font-size: .88rem !important;
  line-height: 1.6 !important;
  color: #bfdbfe !important;
}

body.home .hero-actions {
  gap: .8rem !important;
  margin-top: 1.7rem !important;
}

body.home .hero-actions .btn,
body.home .hero-booking-panel .btn,
body.home .btn {
  min-height: 48px !important;
  padding: .85rem clamp(1.15rem, 2vw, 1.65rem) !important;
  font-size: .9rem !important;
  line-height: 1 !important;
}

body.home .hero-stats {
  margin-top: 1.35rem !important;
  gap: .65rem !important;
}

body.home .hero-stats div {
  min-width: 112px !important;
  padding: .72rem .95rem !important;
  border-color: rgba(96,165,250,.24) !important;
  background: rgba(255,255,255,.055) !important;
}

body.home .hero-stats strong {
  font-size: clamp(.98rem, 1.35vw, 1.2rem) !important;
  line-height: 1.1 !important;
}

body.home .hero-stats span {
  font-size: .68rem !important;
  letter-spacing: .08em !important;
  line-height: 1.25 !important;
}

body.home .hero-booking-panel {
  max-width: 380px !important;
  padding: clamp(1.15rem, 2vw, 1.45rem) !important;
}

body.home .hero-booking-panel h2,
body.home .hero-booking-panel h3 {
  font-size: clamp(1.12rem, 1.7vw, 1.38rem) !important;
  letter-spacing: -.035em !important;
}

body.home .hero-booking-panel label {
  font-size: .68rem !important;
  letter-spacing: .12em !important;
  color: #bfdbfe !important;
}

body.home .hero-booking-panel select {
  min-height: 46px !important;
  font-size: .88rem !important;
  color: #fff !important;
}

body.home .cinematic-heading h2,
body.home .section-heading h2,
body.home .section-header h2,
body.home .booking-story-copy h2,
body.home .private-experience-copy h2,
body.home #reviews .review-summary h2 {
  font-size: clamp(2.05rem, 4.2vw, 4.35rem) !important;
  line-height: .98 !important;
  letter-spacing: -.052em !important;
}

body.home .story-copy h3,
body.home .tour-card h3,
body.home .feature-card h3,
body.home .faq-card h3,
body.home .review-card h3,
body.home .review-card h4 {
  font-size: clamp(1.12rem, 1.7vw, 1.48rem) !important;
  line-height: 1.16 !important;
  letter-spacing: -.03em !important;
}

body.home .cinematic-heading p,
body.home .section-heading p,
body.home .section-header p,
body.home .feature-card p,
body.home .tour-card p,
body.home .review-card p,
body.home .faq-card p,
body.home .booking-story-copy p,
body.home .private-experience-copy p,
body.home .promise-grid p,
body.home p {
  font-size: clamp(.92rem, 1vw, 1rem) !important;
  line-height: 1.68 !important;
  color: #cbd5e1 !important;
}

body.home .destination-stories,
body.home .private-experience,
body.home .tour-types,
body.home #gallery.section-light,
body.home #reviews.section-light,
body.home .booking-experience,
body.home #faq {
  padding-block: clamp(4rem, 7vw, 6.25rem) !important;
}

@media (max-width: 980px) {
  body.home .hero-grid {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  body.home .hero-content {
    max-width: 620px !important;
  }

  body.home .hero-booking-panel {
    max-width: 100% !important;
  }
}

@media (max-width: 620px) {
  body.home .hero {
    padding-top: 5.5rem !important;
  }

  body.home .hero-content h1 {
    font-size: clamp(2.65rem, 13vw, 4rem) !important;
    letter-spacing: -.055em !important;
  }

  body.home .hero-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.home .hero-actions .btn {
    width: 100% !important;
  }

  body.home .hero-stats {
    grid-template-columns: 1fr !important;
  }

  body.home .cinematic-heading h2,
  body.home .section-heading h2,
  body.home .section-header h2,
  body.home .booking-story-copy h2,
  body.home .private-experience-copy h2,
  body.home #reviews .review-summary h2 {
    font-size: clamp(1.95rem, 9.5vw, 3rem) !important;
    letter-spacing: -.045em !important;
  }
}

/* Premium homepage section rebuild: destinations, checklist, testimonials */
body.home .destination-stories .cinematic-heading {
  max-width: 820px !important;
}

body.home .destination-stories {
  position: relative !important;
  overflow: hidden !important;
  padding-top: clamp(5rem, 8vw, 7rem) !important;
}

body.home .destination-transition-heading {
  position: relative !important;
  z-index: 2 !important;
  margin-bottom: clamp(.4rem, 1.2vw, 1rem) !important;
  will-change: transform, margin !important;
}

body.home .destination-transition-heading h2 {
  max-width: 980px !important;
  font-size: clamp(3.1rem, 7vw, 7.2rem) !important;
  line-height: .88 !important;
  letter-spacing: -.07em !important;
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 22px 70px rgba(0,0,0,.45) !important;
  will-change: transform !important;
}

body.home .destination-transition-heading h2 span {
  color: #60a5fa !important;
}

body.home .destination-transition-heading p {
  max-width: 610px !important;
  color: #dbeafe !important;
  opacity: 1 !important;
  will-change: transform, opacity !important;
}

body.home .destination-stories .eyebrow {
  color: #bfdbfe !important;
  border-color: rgba(96,165,250,.45) !important;
  background: rgba(59,130,246,.12) !important;
}

body.home .mountain-highlight-list {
  display: none !important;
}

body.home .story-carousel {
  display: flex !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
  margin-top: clamp(.7rem, 1.6vw, 1.3rem) !important;
  margin-inline: calc((100vw - min(1180px, calc(100vw - 2rem))) / -2) !important;
  padding-inline: calc((100vw - min(1180px, calc(100vw - 2rem))) / 2) !important;
  padding-bottom: .8rem !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-padding-inline: calc((100vw - min(1180px, calc(100vw - 2rem))) / 2) !important;
  cursor: grab !important;
  will-change: transform, opacity !important;
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}

body.home .story-carousel::-webkit-scrollbar {
  display: none !important;
}

body.home .story-carousel.is-dragging {
  cursor: grabbing !important;
  scroll-snap-type: none !important;
}

body.home .story-carousel .story-card {
  flex: 0 0 clamp(280px, 30vw, 390px) !important;
  min-height: clamp(330px, 35vw, 430px) !important;
  border-radius: clamp(22px, 2.6vw, 30px) !important;
  scroll-snap-align: start !important;
  background: #020817 !important;
  box-shadow: 0 22px 60px rgba(2, 8, 23, .34) !important;
  transform: translateZ(0);
  will-change: transform, opacity !important;
  transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s ease !important;
}

body.home .story-carousel .story-card:nth-child(2) {
  margin-top: 0 !important;
}

body.home .story-carousel .story-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 34px 80px rgba(2, 8, 23, .48) !important;
}

body.home .story-carousel .story-card:hover img,
body.home .story-carousel .story-card:hover video {
  transform: scale(1.075) !important;
}

body.home .story-carousel .story-media::after {
  background:
    linear-gradient(180deg, rgba(2,8,23,.06) 0%, rgba(2,8,23,.2) 38%, rgba(2,8,23,.92) 100%),
    linear-gradient(90deg, rgba(2,8,23,.56), transparent 58%) !important;
}

body.home .story-carousel .story-number {
  top: 1.1rem !important;
  left: 1.1rem !important;
  color: rgba(255,255,255,.76) !important;
  background: rgba(2,8,23,.42) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 999px !important;
  padding: .45rem .72rem !important;
  backdrop-filter: blur(14px) !important;
}

body.home .story-carousel .story-copy {
  inset: auto 1rem 1rem !important;
  padding: 1rem !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 20px !important;
  background: rgba(2,8,23,.58) !important;
  backdrop-filter: blur(18px) !important;
}

body.home .story-carousel .story-copy small {
  color: #93c5fd !important;
  font-size: .62rem !important;
  letter-spacing: .18em !important;
}

body.home .story-carousel .story-copy h3 {
  color: #fff !important;
  font-size: clamp(1.25rem, 1.8vw, 1.55rem) !important;
  line-height: 1.05 !important;
  margin: .42rem 0 .35rem !important;
}

body.home .story-carousel .story-copy p {
  max-width: 30ch !important;
  margin-bottom: .8rem !important;
  color: #cbd5e1 !important;
  font-size: .86rem !important;
  line-height: 1.5 !important;
}

body.home .story-carousel .story-copy strong {
  color: #fff !important;
  font-size: .9rem !important;
}

/* Destination selection grid: no carousel, clear adventure hierarchy */
body.home .destination-selection-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) minmax(0, .9fr) !important;
  grid-auto-rows: clamp(250px, 24vw, 330px) !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
  margin-top: clamp(.8rem, 1.8vw, 1.4rem) !important;
  overflow: visible !important;
}

body.home .destination-selection-grid .destination-choice-card {
  position: relative !important;
  min-height: 100% !important;
  border-radius: clamp(24px, 3vw, 34px) !important;
  overflow: hidden !important;
  background: #020817 !important;
  box-shadow: 0 24px 70px rgba(2,8,23,.32) !important;
  transform: translateZ(0) scale(1) !important;
  transition:
    transform .5s cubic-bezier(.16, 1, .3, 1),
    opacity .45s ease,
    filter .45s ease,
    box-shadow .45s ease !important;
}

body.home .destination-selection-grid .destination-choice-card.is-featured {
  grid-row: span 2 !important;
}

body.home .destination-selection-grid:hover .destination-choice-card {
  opacity: .82 !important;
  filter: saturate(.9) brightness(.92) !important;
}

body.home .destination-selection-grid .destination-choice-card:hover {
  opacity: 1 !important;
  filter: saturate(1) brightness(1) !important;
  transform: translateY(-8px) scale(1.025) !important;
  box-shadow: 0 40px 110px rgba(2,8,23,.52) !important;
  z-index: 3 !important;
}

body.home .destination-selection-grid .destination-choice-card:hover img,
body.home .destination-selection-grid .destination-choice-card:hover video {
  transform: scale(1.075) !important;
}

body.home .destination-selection-grid .story-copy {
  inset: auto clamp(1rem, 2vw, 1.35rem) clamp(1rem, 2vw, 1.35rem) !important;
  max-width: min(92%, 520px) !important;
  padding: clamp(1rem, 2vw, 1.35rem) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(7,18,40,.9), rgba(2,8,23,.98)) !important;
  backdrop-filter: blur(18px) !important;
}

body.home .destination-selection-grid .story-copy small,
body.home .destination-selection-grid .story-copy h3,
body.home .destination-selection-grid .story-copy p,
body.home .destination-selection-grid .story-copy strong {
  opacity: 1 !important;
  text-shadow: 0 8px 24px rgba(0,0,0,.45) !important;
}

body.home .destination-selection-grid .story-copy small {
  color: #bfdbfe !important;
}

body.home .destination-selection-grid .story-copy h3 {
  color: #ffffff !important;
}

body.home .destination-selection-grid .story-copy p {
  color: #e2e8f0 !important;
}

body.home .destination-selection-grid .story-copy strong {
  color: #ffffff !important;
}

body.home .destination-selection-grid .is-featured .story-copy h3 {
  font-size: clamp(2rem, 4vw, 3.8rem) !important;
  line-height: .92 !important;
  letter-spacing: -.06em !important;
}

body.home .destination-selection-grid .destination-choice-card:not(.is-featured) .story-copy h3 {
  font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
}

body.home .destination-selection-grid .destination-choice-card:not(.is-featured) .story-copy p {
  display: block !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
  margin-bottom: .65rem !important;
}

body.home .destination-choice-badge {
  position: absolute !important;
  top: 1.1rem !important;
  left: 1.1rem !important;
  z-index: 4 !important;
  padding: .48rem .76rem !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 999px !important;
  background: rgba(2,8,23,.82) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.28) !important;
  font-size: .66rem !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  backdrop-filter: blur(14px) !important;
}

body.home .experience-checklist h3,
body.home .private-experience-copy h2 {
  color: #ffffff !important;
  opacity: 1 !important;
}

body.home .experience-checklist p,
body.home .private-experience-copy > p {
  color: #e2e8f0 !important;
  opacity: 1 !important;
}

body.home .destination-selection-grid .story-number {
  display: none !important;
}

body.home .destination-selection-grid + .text-link {
  margin-top: clamp(1.4rem, 3vw, 2rem) !important;
}

body.home .private-experience-grid {
  grid-template-columns: minmax(300px, .95fr) minmax(320px, .9fr) !important;
  gap: clamp(2rem, 5vw, 4.5rem) !important;
}

body.home .private-experience-media {
  min-height: clamp(340px, 42vw, 520px) !important;
  border-radius: clamp(22px, 3vw, 34px) !important;
  box-shadow: 0 34px 90px rgba(2,8,23,.42) !important;
}

body.home .private-experience-copy {
  max-width: 610px !important;
}

body.home .experience-checklist {
  display: grid !important;
  gap: 1.15rem !important;
  margin: 2rem 0 2.2rem !important;
  padding: 0 !important;
  list-style: none !important;
}

body.home .experience-checklist li {
  display: grid !important;
  grid-template-columns: 28px 1fr !important;
  gap: 1rem !important;
  align-items: start !important;
  padding: 0 !important;
}

body.home .experience-checklist li > span {
  width: 28px !important;
  height: 28px !important;
  margin-top: .15rem !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #3b82f6, #60a5fa) !important;
  box-shadow: 0 12px 28px rgba(59,130,246,.32) !important;
}

body.home .experience-checklist li > span::after {
  content: "" !important;
  display: block !important;
  width: 8px !important;
  height: 13px !important;
  margin: 5px auto 0 !important;
  border: solid #fff !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
}

body.home .experience-checklist h3 {
  margin: 0 0 .25rem !important;
  color: #fff !important;
  font-size: clamp(1.04rem, 1.45vw, 1.22rem) !important;
  letter-spacing: -.025em !important;
}

body.home .experience-checklist p {
  max-width: 52ch !important;
  margin: 0 !important;
  color: #cbd5e1 !important;
  font-size: .94rem !important;
  line-height: 1.62 !important;
}

body.home .promise-grid {
  display: none !important;
}

body.home #reviews {
  background:
    radial-gradient(circle at 18% 10%, rgba(96,165,250,.12), transparent 30%),
    linear-gradient(180deg, #020817, #071228) !important;
}

body.home .testimonial-layout {
  display: grid !important;
  grid-template-columns: minmax(280px, 390px) minmax(0, 1fr) !important;
  gap: clamp(2rem, 5vw, 4.5rem) !important;
  align-items: center !important;
}

body.home #reviews .review-summary {
  position: static !important;
  top: auto !important;
}

body.home .testimonial-score {
  display: grid !important;
  gap: .3rem !important;
  margin-top: 2rem !important;
}

body.home .testimonial-score strong {
  color: #fff !important;
  font-size: clamp(3rem, 6vw, 5.3rem) !important;
  line-height: .86 !important;
  letter-spacing: -.07em !important;
}

body.home .testimonial-score span {
  color: #60a5fa !important;
  letter-spacing: .12em !important;
}

body.home .testimonial-score small {
  color: #cbd5e1 !important;
  font-size: .9rem !important;
  line-height: 1.5 !important;
}

body.home .testimonial-actions {
  display: flex !important;
  gap: .7rem !important;
  margin-top: 1.6rem !important;
}

body.home .testimonial-actions button {
  width: 46px !important;
  height: 46px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: transform .25s ease, background .25s ease !important;
}

body.home .testimonial-actions button:hover {
  transform: translateY(-2px) !important;
  background: rgba(96,165,250,.2) !important;
}

body.home .testimonial-carousel {
  display: flex !important;
  gap: 1rem !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  cursor: grab !important;
  padding: .5rem .4rem 1rem !important;
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}

body.home .testimonial-carousel::-webkit-scrollbar {
  display: none !important;
}

body.home .testimonial-carousel.is-dragging {
  cursor: grabbing !important;
  scroll-snap-type: none !important;
}

body.home .testimonial-card {
  flex: 0 0 min(430px, 86vw) !important;
  min-height: 360px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  scroll-snap-align: start !important;
  padding: clamp(1.35rem, 2.4vw, 2rem) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: clamp(24px, 3vw, 34px) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
    rgba(255,255,255,.04) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(18px) !important;
}

body.home .testimonial-card .review-user {
  margin-bottom: 1.4rem !important;
}

body.home .testimonial-card .review-avatar {
  background: linear-gradient(135deg, #3b82f6, #60a5fa) !important;
  color: #fff !important;
}

body.home .testimonial-card h4 {
  color: #fff !important;
}

body.home .testimonial-card .review-user span {
  color: #bfdbfe !important;
}

body.home .testimonial-card .stars {
  color: #60a5fa !important;
  margin-bottom: 1rem !important;
}

body.home .testimonial-card blockquote {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(1.25rem, 2.1vw, 1.8rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -.04em !important;
}

body.home .testimonial-card p {
  margin: 1.4rem 0 0 !important;
  color: #cbd5e1 !important;
}

body.home .review-write-row {
  margin-top: 1rem !important;
}

body.home .legacy-review-grid {
  display: none !important;
}

@media (max-width: 900px) {
  body.home .private-experience-grid,
  body.home .testimonial-layout {
    grid-template-columns: 1fr !important;
  }

  body.home .destination-selection-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  body.home .destination-selection-grid .destination-choice-card.is-featured {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    min-height: 380px !important;
  }

  body.home .testimonial-actions {
    display: none !important;
  }
}

@media (max-width: 620px) {
  body.home .destination-selection-grid {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
  }

  body.home .destination-selection-grid .destination-choice-card,
  body.home .destination-selection-grid .destination-choice-card.is-featured {
    min-height: 320px !important;
  }

  body.home .destination-selection-grid .is-featured .story-copy h3 {
    font-size: clamp(1.65rem, 9vw, 2.6rem) !important;
  }

  body.home .destination-transition-heading h2 {
    font-size: clamp(2.45rem, 12vw, 4rem) !important;
    line-height: .94 !important;
  }

  body.home .story-carousel {
    margin-inline: -1rem !important;
    padding-inline: 1rem !important;
    scroll-padding-inline: 1rem !important;
  }

  body.home .story-carousel .story-card {
    flex-basis: 82vw !important;
    min-height: 360px !important;
  }

  body.home .testimonial-card {
    min-height: 320px !important;
  }
}

/* Absolute readability lock for destination heading */
body.home .destination-stories .destination-transition-heading.cinematic-heading h2,
body.home .destination-stories .destination-transition-heading.cinematic-heading h2:not(span) {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 18px 54px rgba(0,0,0,.5) !important;
}

body.home .destination-stories .destination-transition-heading.cinematic-heading h2 span {
  color: #60a5fa !important;
  opacity: 1 !important;
}

body.home .destination-stories .destination-transition-heading.cinematic-heading p {
  color: #e2e8f0 !important;
  opacity: 1 !important;
  text-shadow: 0 10px 32px rgba(0,0,0,.45) !important;
}

body.home .destination-stories .destination-transition-heading.cinematic-heading .eyebrow {
  color: #ffffff !important;
  border-color: rgba(96,165,250,.6) !important;
  background: rgba(59,130,246,.22) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.24) !important;
}

/* Hero video visibility lock: cinematic, but alive */
body.home .hero-video video {
  opacity: 1 !important;
  filter: brightness(1.12) contrast(1.08) saturate(1.18) !important;
}

body.home .hero::before {
  background:
    linear-gradient(90deg, rgba(2,8,23,.68), rgba(2,8,23,.34) 48%, rgba(2,8,23,.56)),
    linear-gradient(180deg, rgba(2,8,23,.06), rgba(2,8,23,.72)) !important;
}

body.home .hero-overlay {
  background:
    linear-gradient(90deg, rgba(2,8,23,.62), rgba(2,8,23,.28) 50%, rgba(2,8,23,.5)),
    linear-gradient(180deg, rgba(2,8,23,.04), rgba(2,8,23,.64)) !important;
}

body.home .hero-video::after {
  background:
    radial-gradient(circle at 26% 42%, rgba(96,165,250,.1), transparent 35%),
    linear-gradient(180deg, transparent 58%, rgba(2,8,23,.55)) !important;
  opacity: .72 !important;
}

body.home .hero-content h1,
body.home .hero-text,
body.home .hero-subtext {
  text-shadow: 0 18px 48px rgba(0,0,0,.58) !important;
}

/* Reviews readability lock */
body.home #reviews .review-summary .eyebrow {
  color: #ffffff !important;
  border-color: rgba(96,165,250,.6) !important;
  background: rgba(59,130,246,.22) !important;
}

body.home #reviews .review-summary h2 {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 18px 54px rgba(0,0,0,.5) !important;
}

body.home #reviews .review-summary > p {
  color: #e2e8f0 !important;
  opacity: 1 !important;
  text-shadow: 0 10px 32px rgba(0,0,0,.45) !important;
}

body.home #reviews .testimonial-score strong {
  color: #ffffff !important;
  opacity: 1 !important;
}

body.home #reviews .testimonial-score span {
  color: #60a5fa !important;
  opacity: 1 !important;
}

body.home #reviews .testimonial-score small {
  color: #e2e8f0 !important;
  opacity: 1 !important;
}

/* Shared premium glassmorphism navigation */
.site-header.glass-site-header,
.site-header.glass-site-header.solid,
body.home .site-header.glass-site-header,
body.home .site-header.glass-site-header.solid,
body.tour-page .site-header.glass-site-header,
body.destination-page .site-header.glass-site-header,
body.gallery-page .site-header.glass-site-header,
body.contact-page .site-header.glass-site-header,
body.invoice-page .site-header.glass-site-header,
body.legal-page .site-header.glass-site-header {
  position: fixed !important;
  top: clamp(.7rem, 1.8vw, 1.25rem) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.site-header.glass-site-header .header-inner {
  width: min(1240px, calc(100% - 2rem)) !important;
  min-height: 58px !important;
  margin: 0 auto !important;
  padding: .42rem .55rem .42rem .62rem !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  background: rgba(10, 18, 34, .34) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.18) !important;
  backdrop-filter: blur(14px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.18) !important;
  transition: background .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s ease !important;
}

.site-header.glass-site-header.solid .header-inner {
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(7, 18, 40, .72) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.28) !important;
}

.site-header.glass-site-header .brand-logo,
.site-header.glass-site-header .brand,
.site-header.glass-site-header .brand:visited {
  display: inline-flex !important;
  align-items: center !important;
  gap: .72rem !important;
  min-width: max-content !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;
}

.site-header.glass-site-header .brand-logo img {
  width: 36px !important;
  height: 36px !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  padding: .35rem !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

.site-header.glass-site-header .brand-logo span {
  display: inline !important;
  color: #fff !important;
  font-size: .96rem !important;
}

.site-header.glass-site-header .nav-links {
  display: flex !important;
  align-items: center !important;
  gap: .12rem !important;
  margin-left: auto !important;
  padding: .22rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: none !important;
}

.site-header.glass-site-header .nav-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0 .86rem !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.78) !important;
  background: transparent !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: color .24s ease, background .24s ease, border-color .24s ease, transform .24s ease !important;
}

.site-header.glass-site-header .nav-links a:hover,
.site-header.glass-site-header .nav-links a.is-active {
  color: #fff !important;
  border-color: rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.1) !important;
  transform: translateY(-1px) !important;
}

.site-header.glass-site-header .nav-links a.nav-cta {
  color: #fff !important;
  border-color: rgba(96,165,250,.6) !important;
  background: linear-gradient(135deg, #3b82f6, #60a5fa) !important;
  box-shadow: 0 12px 30px rgba(59,130,246,.32) !important;
}

.site-header.glass-site-header .nav-links a.nav-cta:hover,
.site-header.glass-site-header .nav-links a.nav-cta.is-active {
  background: linear-gradient(135deg, #2563eb, #60a5fa) !important;
}

.site-header.glass-site-header .menu-toggle {
  display: none !important;
  margin-left: auto !important;
  min-height: 40px !important;
  padding: 0 1rem !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

@media (max-width: 1120px) {
  .site-header.glass-site-header .header-inner {
    border-radius: 28px !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
  }

  .site-header.glass-site-header .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .site-header.glass-site-header .nav-links {
    display: none !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: .55rem 0 0 !important;
    padding: .5rem !important;
    border-radius: 22px !important;
    background: rgba(7,18,40,.82) !important;
    flex-wrap: wrap !important;
  }

  .site-header.glass-site-header .nav-links.nav-open {
    display: flex !important;
  }

  .site-header.glass-site-header .nav-links a {
    flex: 1 1 145px !important;
  }
}

@media (max-width: 620px) {
  .site-header.glass-site-header {
    top: .65rem !important;
  }

  .site-header.glass-site-header .header-inner {
    width: min(100% - 1rem, 1240px) !important;
    min-height: 54px !important;
    padding: .38rem !important;
  }

  .site-header.glass-site-header .brand-logo span {
    display: none !important;
  }

  .site-header.glass-site-header .nav-links a {
    flex-basis: 100% !important;
  }
}

/* Final lock: homepage destination showcase, DB-driven 3-card layout */
body.home .destination-stories {
  padding: clamp(5rem, 9vw, 8rem) 0 !important;
  background: radial-gradient(circle at 18% 12%, rgba(59,130,246,.16), transparent 32%), linear-gradient(180deg, #071228 0%, #020817 100%) !important;
}

body.home .destination-stories .container {
  display: grid !important;
  gap: clamp(2rem, 4vw, 3.5rem) !important;
}

body.home .destination-stories .cinematic-heading {
  max-width: 820px !important;
  margin: 0 !important;
  text-align: left !important;
}

body.home .destination-stories .eyebrow {
  display: inline-flex !important;
  width: auto !important;
  padding: .55rem .85rem !important;
  border: 1px solid rgba(96,165,250,.28) !important;
  border-radius: 999px !important;
  background: rgba(59,130,246,.1) !important;
  color: #bfdbfe !important;
}

body.home .destination-stories .cinematic-heading h2 {
  margin-top: 1.1rem !important;
  color: #fff !important;
  font-size: clamp(3rem, 7vw, 6rem) !important;
  line-height: .92 !important;
  letter-spacing: -.065em !important;
  opacity: 1 !important;
}

body.home .destination-stories .cinematic-heading h2 span {
  color: #60a5fa !important;
}

body.home .destination-stories .cinematic-heading p {
  max-width: 660px !important;
  margin-top: 1.2rem !important;
  color: rgba(226,232,240,.78) !important;
  font-size: clamp(1rem, 1.6vw, 1.2rem) !important;
  line-height: 1.75 !important;
  opacity: 1 !important;
}

body.home .destination-selection-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
  overflow: visible !important;
}

body.home .destination-selection-grid .destination-choice-card,
body.home .destination-selection-grid .destination-choice-card.is-featured {
  position: relative !important;
  display: block !important;
  min-height: clamp(440px, 42vw, 560px) !important;
  height: 100% !important;
  grid-column: auto !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: #071228 !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.35) !important;
  transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .45s ease, filter .45s ease !important;
}

body.home .destination-selection-grid:hover .destination-choice-card {
  filter: saturate(.85) brightness(.82) !important;
}

body.home .destination-selection-grid .destination-choice-card:hover {
  filter: none !important;
  transform: translateY(-12px) scale(1.015) !important;
  border-color: rgba(96,165,250,.38) !important;
  box-shadow: 0 38px 120px rgba(37,99,235,.28), 0 24px 80px rgba(0,0,0,.42) !important;
}

body.home .destination-selection-grid .story-media,
body.home .destination-selection-grid .story-media img,
body.home .destination-selection-grid .story-media video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

body.home .destination-selection-grid .story-media img,
body.home .destination-selection-grid .story-media video {
  object-fit: cover !important;
  transform: scale(1.02) !important;
  transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .45s ease !important;
}

body.home .destination-selection-grid .destination-choice-card:hover img,
body.home .destination-selection-grid .destination-choice-card:hover video {
  transform: scale(1.1) !important;
}

body.home .destination-selection-grid .destination-choice-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(180deg, rgba(2,8,23,.08) 0%, rgba(2,8,23,.16) 38%, rgba(2,8,23,.92) 100%) !important;
  pointer-events: none !important;
}

body.home .destination-choice-badge {
  position: absolute !important;
  z-index: 2 !important;
  top: 1.15rem !important;
  left: 1.15rem !important;
  display: inline-flex !important;
  width: auto !important;
  padding: .55rem .78rem !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 999px !important;
  background: rgba(2,8,23,.52) !important;
  color: #fff !important;
  backdrop-filter: blur(14px) !important;
  font-size: .7rem !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

body.home .destination-selection-grid .story-copy {
  position: absolute !important;
  z-index: 2 !important;
  inset: auto 0 0 !important;
  padding: clamp(1.25rem, 2.5vw, 2rem) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, transparent, rgba(2,8,23,.88) 28%, rgba(2,8,23,.96)) !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}

body.home .destination-selection-grid .story-copy small {
  display: block !important;
  max-width: 95% !important;
  overflow: hidden !important;
  color: #bfdbfe !important;
  font-size: .76rem !important;
  font-weight: 850 !important;
  letter-spacing: .11em !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  opacity: 1 !important;
}

body.home .destination-selection-grid .story-copy h3 {
  margin: .55rem 0 .25rem !important;
  color: #fff !important;
  font-size: clamp(1.85rem, 3vw, 2.7rem) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}

body.home .destination-selection-grid .story-copy p {
  margin: 0 !important;
  color: rgba(226,232,240,.78) !important;
  font-size: .98rem !important;
  line-height: 1.6 !important;
  opacity: 1 !important;
}

body.home .destination-card-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  margin-top: 1.1rem !important;
}

body.home .destination-card-foot strong {
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
}

body.home .destination-card-foot span {
  flex: 0 0 auto !important;
  padding: .72rem .95rem !important;
  border: 1px solid rgba(96,165,250,.38) !important;
  border-radius: 999px !important;
  background: rgba(59,130,246,.18) !important;
  color: #dbeafe !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
}

body.home .destination-selection-grid + .text-link {
  justify-self: start !important;
  margin-top: .2rem !important;
  color: #93c5fd !important;
}

@media (max-width: 980px) {
  body.home .destination-selection-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  body.home .destination-selection-grid {
    display: flex !important;
    gap: 1rem !important;
    margin-inline: -1rem !important;
    padding: 0 1rem 1rem !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  body.home .destination-selection-grid::-webkit-scrollbar {
    display: none !important;
  }

  body.home .destination-selection-grid .destination-choice-card,
  body.home .destination-selection-grid .destination-choice-card.is-featured {
    flex: 0 0 min(86vw, 360px) !important;
    min-height: 440px !important;
    scroll-snap-align: start !important;
  }

body.home .destination-card-foot {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* Hero media framing: full-bleed cinematic, no forced over-zoom */
body.home .hero-video {
  background: #020817 !important;
}

body.home .hero-video video {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: translate(-50%, -50%) scale(1) !important;
  transform-origin: center center !important;
}

@media (max-width: 760px) {
  body.home .hero-video video {
    object-position: center center !important;
    width: 100% !important;
    height: 100% !important;
    transform: translate(-50%, -50%) scale(1) !important;
  }
}

/* Responsive navigation system: desktop, tablet, mobile off-canvas */
.site-header.glass-site-header .nav-more,
.site-header.glass-site-header .nav-backdrop {
  display: none !important;
}

.site-header.glass-site-header .menu-toggle span {
  display: none;
}

body.nav-lock {
  overflow: hidden !important;
}

@media (min-width: 1025px) {
  .site-header.glass-site-header .nav-links {
    display: flex !important;
    flex-wrap: nowrap !important;
  }

  .site-header.glass-site-header .nav-secondary-item {
    display: inline-flex !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .site-header.glass-site-header {
    top: .75rem !important;
  }

  .site-header.glass-site-header .header-inner {
    width: min(100% - 1.2rem, 960px) !important;
    min-height: 54px !important;
    padding: .34rem .45rem .34rem .58rem !important;
    border-radius: 999px !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

  .site-header.glass-site-header .brand-logo img {
    width: 34px !important;
    height: 34px !important;
  }

  .site-header.glass-site-header .nav-links {
    display: flex !important;
    flex: 0 1 auto !important;
    width: auto !important;
    margin: 0 0 0 auto !important;
    padding: .18rem !important;
    gap: .08rem !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.035) !important;
    flex-wrap: nowrap !important;
  }

  .site-header.glass-site-header .nav-links > a,
  .site-header.glass-site-header .nav-dropdown-trigger {
    min-height: 36px !important;
    padding: 0 .72rem !important;
    font-size: .64rem !important;
    letter-spacing: .065em !important;
    white-space: nowrap !important;
  }

  .site-header.glass-site-header .nav-secondary-item {
    display: none !important;
  }

  .site-header.glass-site-header .nav-more {
    display: inline-flex !important;
  }

  .site-header.glass-site-header .menu-toggle {
    display: none !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu {
    position: absolute !important;
    flex: initial !important;
    min-width: 180px !important;
    margin-top: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate(-50%, 8px) scale(.98) !important;
    background: rgba(7,18,40,.88) !important;
  }

  .site-header.glass-site-header .nav-dropdown:hover .nav-dropdown-menu,
  .site-header.glass-site-header .nav-dropdown:focus-within .nav-dropdown-menu {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) scale(1) !important;
  }
}

@media (max-width: 767px) {
  .site-header.glass-site-header {
    top: .75rem !important;
  }

  .site-header.glass-site-header .header-inner {
    width: min(100% - 1rem, 560px) !important;
    min-height: 56px !important;
    padding: .42rem .46rem .42rem .58rem !important;
    border-radius: 999px !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    position: relative !important;
    z-index: 1003 !important;
  }

  .site-header.glass-site-header .brand-logo span {
    display: inline !important;
    font-size: .9rem !important;
  }

  .site-header.glass-site-header .menu-toggle {
    display: inline-grid !important;
    place-items: center !important;
    gap: 4px !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
  }

  .site-header.glass-site-header .menu-toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #fff !important;
    transition: transform .25s ease, opacity .25s ease !important;
  }

  .site-header.glass-site-header.nav-is-open .menu-toggle span:nth-child(1) {
    transform: translateY(6px) rotate(45deg) !important;
  }

  .site-header.glass-site-header.nav-is-open .menu-toggle span:nth-child(2) {
    opacity: 0 !important;
  }

  .site-header.glass-site-header.nav-is-open .menu-toggle span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg) !important;
  }

  .site-header.glass-site-header .nav-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 1000 !important;
    border: 0 !important;
    background: rgba(0,0,0,.6) !important;
    backdrop-filter: blur(5px) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .3s ease !important;
  }

  .site-header.glass-site-header.nav-is-open .nav-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .site-header.glass-site-header .nav-links {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1002 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: min(86vw, 390px) !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 6.5rem 1.1rem 1.5rem !important;
    border-radius: 28px 0 0 28px !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(3,19,45,.9) !important;
    box-shadow: -30px 0 90px rgba(0,0,0,.48) !important;
    backdrop-filter: blur(20px) saturate(1.16) !important;
    transform: translateX(104%) !important;
    opacity: 1 !important;
    transition: transform .3s ease !important;
    overflow-y: auto !important;
  }

  .site-header.glass-site-header .nav-links.nav-open {
    transform: translateX(0) !important;
  }

  .site-header.glass-site-header .nav-links > a,
  .site-header.glass-site-header .nav-dropdown-trigger,
  .site-header.glass-site-header .nav-dropdown-menu a {
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 0 1rem !important;
    border-radius: 18px !important;
    font-size: .9rem !important;
    letter-spacing: .08em !important;
  }

  .site-header.glass-site-header .nav-item,
  .site-header.glass-site-header .nav-dropdown {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  .site-header.glass-site-header .nav-more {
    display: none !important;
  }

  .site-header.glass-site-header .nav-secondary-item {
    display: inline-flex !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu {
    position: static !important;
    display: grid !important;
    gap: .35rem !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: .35rem 0 .55rem !important;
    padding: .45rem !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    background: rgba(255,255,255,.055) !important;
    box-shadow: none !important;
  }
}

/* Simplified premium navigation with Tours dropdown */
.site-header.glass-site-header .nav-links {
  gap: .18rem !important;
  padding: .28rem !important;
  background: rgba(255,255,255,.04) !important;
}

.site-header.glass-site-header .nav-links a,
.site-header.glass-site-header .nav-dropdown-trigger {
  min-height: 40px !important;
  padding: 0 1rem !important;
}

.site-header.glass-site-header .nav-links a:hover,
.site-header.glass-site-header .nav-links a.is-active,
.site-header.glass-site-header .nav-dropdown:hover .nav-dropdown-trigger,
.site-header.glass-site-header .nav-dropdown.is-active .nav-dropdown-trigger {
  color: #fff !important;
  border-color: rgba(79,140,255,.34) !important;
  background: rgba(79,140,255,.14) !important;
  box-shadow: 0 12px 34px rgba(79,140,255,.16) !important;
}

.site-header.glass-site-header .nav-item {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.site-header.glass-site-header .nav-dropdown-trigger span {
  margin-left: .35rem !important;
  color: #93c5fd !important;
  font-size: .58rem !important;
  transform: translateY(-1px) !important;
}

.site-header.glass-site-header .nav-dropdown-menu {
  position: absolute !important;
  top: calc(100% + .7rem) !important;
  left: 50% !important;
  z-index: 20 !important;
  min-width: 190px !important;
  padding: .5rem !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 22px !important;
  background: rgba(7,18,40,.82) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.34) !important;
  backdrop-filter: blur(16px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.18) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate(-50%, 8px) scale(.98) !important;
  transition: opacity .22s ease, transform .22s ease !important;
}

.site-header.glass-site-header .nav-dropdown:hover .nav-dropdown-menu,
.site-header.glass-site-header .nav-dropdown:focus-within .nav-dropdown-menu {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translate(-50%, 0) scale(1) !important;
}

.site-header.glass-site-header .nav-dropdown-menu a {
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 42px !important;
  padding: 0 .9rem !important;
  color: rgba(255,255,255,.8) !important;
  border-radius: 16px !important;
}

.site-header.glass-site-header .nav-dropdown-menu a:hover,
.site-header.glass-site-header .nav-dropdown-menu a.is-active {
  color: #fff !important;
  background: rgba(79,140,255,.18) !important;
  border-color: rgba(79,140,255,.28) !important;
}

@media (max-width: 1120px) {
  .site-header.glass-site-header .nav-item,
  .site-header.glass-site-header .nav-dropdown {
    display: flex !important;
    flex: 1 1 145px !important;
  }

  .site-header.glass-site-header .nav-dropdown-trigger {
    width: 100% !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu {
    position: static !important;
    flex: 0 0 100% !important;
    min-width: 100% !important;
    margin-top: .45rem !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    background: rgba(255,255,255,.055) !important;
  }

  .site-header.glass-site-header .nav-dropdown {
    flex-wrap: wrap !important;
  }
}

/* Featured destinations: luxury hero + stacked secondary layout */
body.home .destination-stories {
  background:
    radial-gradient(circle at 18% 8%, rgba(79,140,255,.18), transparent 30%),
    radial-gradient(circle at 84% 34%, rgba(96,165,250,.1), transparent 28%),
    #020817 !important;
}

body.home .destination-selection-grid.destination-transition-cards {
  display: grid !important;
  grid-template-columns: minmax(0, 1.75fr) minmax(320px, .95fr) !important;
  grid-template-rows: repeat(2, minmax(260px, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
  min-height: clamp(600px, 68vw, 760px) !important;
  overflow: visible !important;
}

body.home .destination-selection-grid .destination-priority-card,
body.home .destination-selection-grid .destination-priority-card.is-featured {
  min-height: 0 !important;
  height: 100% !important;
  border-radius: 36px !important;
  background: #03132d !important;
  box-shadow: 0 30px 95px rgba(0,0,0,.38) !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-1 {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-2 {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-3 {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

body.home .destination-selection-grid:hover .destination-priority-card {
  filter: saturate(.9) brightness(.88) !important;
}

body.home .destination-selection-grid .destination-priority-card:hover {
  filter: none !important;
  transform: translateY(-12px) !important;
  border-color: rgba(79,140,255,.42) !important;
  box-shadow: 0 36px 120px rgba(79,140,255,.23), 0 28px 90px rgba(0,0,0,.42) !important;
}

body.home .destination-selection-grid .destination-priority-card .story-media img {
  transform: scale(1) !important;
  filter: saturate(1.03) contrast(1.04) brightness(.92) !important;
  transition: transform .4s ease, filter .4s ease !important;
}

body.home .destination-selection-grid .destination-priority-card:hover .story-media img {
  transform: scale(1.08) !important;
  filter: saturate(1.12) contrast(1.06) brightness(1) !important;
}

body.home .destination-selection-grid .destination-priority-card::before {
  background:
    linear-gradient(180deg, rgba(2,8,23,.02) 0%, rgba(2,8,23,.12) 34%, rgba(2,8,23,.88) 100%),
    radial-gradient(circle at 18% 14%, rgba(255,255,255,.1), transparent 28%) !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-1::before {
  background:
    linear-gradient(180deg, rgba(2,8,23,.03) 0%, rgba(2,8,23,.1) 42%, rgba(2,8,23,.9) 100%),
    linear-gradient(90deg, rgba(2,8,23,.22), transparent 54%) !important;
}

body.home .destination-selection-grid .destination-priority-card .destination-choice-badge {
  top: clamp(1rem, 2vw, 1.45rem) !important;
  left: clamp(1rem, 2vw, 1.45rem) !important;
  border-color: rgba(79,140,255,.42) !important;
  background: rgba(79,140,255,.22) !important;
  color: #fff !important;
}

body.home .destination-selection-grid .destination-priority-card .story-copy {
  padding: clamp(1.2rem, 2.4vw, 2.25rem) !important;
  background: linear-gradient(180deg, transparent, rgba(2,8,23,.76) 24%, rgba(2,8,23,.95)) !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-1 .story-copy {
  padding: clamp(1.7rem, 3vw, 3rem) !important;
}

body.home .destination-selection-grid .destination-priority-card .story-copy h3 {
  max-width: 720px !important;
  color: #fff !important;
  font-size: clamp(1.55rem, 2.3vw, 2.45rem) !important;
  line-height: 1 !important;
  letter-spacing: -.052em !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-1 .story-copy h3 {
  font-size: clamp(2.7rem, 5.2vw, 5.4rem) !important;
  letter-spacing: -.07em !important;
}

body.home .destination-selection-grid .destination-priority-card .story-copy p {
  max-width: 620px !important;
  margin-top: .55rem !important;
  color: rgba(255,255,255,.76) !important;
}

body.home .destination-selection-grid .destination-priority-card .story-copy small {
  margin-top: .9rem !important;
  color: #bfdbfe !important;
}

body.home .destination-selection-grid .destination-priority-card .destination-card-foot {
  margin-top: 1rem !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-1 .destination-card-foot {
  max-width: 620px !important;
}

body.home .destination-selection-grid .destination-priority-card .destination-card-foot span {
  background: rgba(79,140,255,.18) !important;
  border-color: rgba(79,140,255,.34) !important;
}

@media (max-width: 980px) {
  body.home .destination-selection-grid.destination-transition-cards {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    min-height: 0 !important;
  }

  body.home .destination-selection-grid .destination-priority-card,
  body.home .destination-selection-grid .destination-priority-card.priority-1,
  body.home .destination-selection-grid .destination-priority-card.priority-2,
  body.home .destination-selection-grid .destination-priority-card.priority-3 {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 460px !important;
  }

  body.home .destination-selection-grid .destination-priority-card.priority-1 {
    min-height: 560px !important;
  }
}

@media (max-width: 680px) {
  body.home .destination-selection-grid.destination-transition-cards {
    display: flex !important;
    min-height: 0 !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  body.home .destination-selection-grid.destination-transition-cards::-webkit-scrollbar {
    display: none !important;
  }

  body.home .destination-selection-grid .destination-priority-card,
  body.home .destination-selection-grid .destination-priority-card.priority-1,
  body.home .destination-selection-grid .destination-priority-card.priority-2,
  body.home .destination-selection-grid .destination-priority-card.priority-3 {
    flex: 0 0 min(88vw, 380px) !important;
    min-height: 500px !important;
    scroll-snap-align: start !important;
  }

  body.home .destination-selection-grid .destination-priority-card.priority-1 .story-copy h3 {
    font-size: clamp(2rem, 11vw, 3rem) !important;
  }
}

/* Destination page brand consistency: dark luxury system */
body.destination-page {
  --dest-bg: #020817;
  --dest-surface: #03132d;
  --dest-accent: #4f8cff;
  --dest-text: #ffffff;
  --dest-muted: rgba(255,255,255,.75);
  --dest-border: rgba(255,255,255,.08);
  background: var(--dest-bg) !important;
  color: var(--dest-text) !important;
}

body.destination-page .destination-main {
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 6%, rgba(79,140,255,.18), transparent 28%),
    radial-gradient(circle at 82% 24%, rgba(96,165,250,.1), transparent 30%),
    linear-gradient(180deg, #020817 0%, #03132d 54%, #020817 100%) !important;
}

body.destination-page .destination-top {
  position: relative;
  padding: clamp(8rem, 13vw, 12rem) 0 clamp(3.5rem, 7vw, 6rem) !important;
  background:
    linear-gradient(180deg, rgba(2,8,23,.08), rgba(2,8,23,.94)),
    radial-gradient(circle at 30% 20%, rgba(79,140,255,.22), transparent 34%) !important;
  color: var(--dest-text) !important;
}

body.destination-page .destination-top::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 84px 84px;
  mask-image: radial-gradient(circle at 50% 10%, #000, transparent 68%);
  opacity: .35;
}

body.destination-page .destination-top-grid {
  position: relative;
  z-index: 1;
  align-items: center !important;
  gap: clamp(2rem, 5vw, 5rem) !important;
}

body.destination-page .destination-top .eyebrow,
body.destination-page .destination-results-head .eyebrow {
  display: inline-flex !important;
  width: auto !important;
  padding: .55rem .82rem !important;
  border: 1px solid rgba(79,140,255,.34) !important;
  border-radius: 999px !important;
  background: rgba(79,140,255,.12) !important;
  color: #bfdbfe !important;
  box-shadow: 0 16px 42px rgba(79,140,255,.12) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
}

body.destination-page .destination-top h1 {
  max-width: 850px !important;
  margin: 1rem 0 1rem !important;
  color: var(--dest-text) !important;
  font-size: clamp(3.4rem, 8vw, 7rem) !important;
  line-height: .9 !important;
  letter-spacing: -.07em !important;
  text-shadow: 0 24px 70px rgba(0,0,0,.48) !important;
}

body.destination-page .destination-top p {
  max-width: 680px !important;
  color: var(--dest-muted) !important;
  font-size: clamp(1rem, 1.4vw, 1.2rem) !important;
  line-height: 1.75 !important;
}

body.destination-page .destination-search {
  padding: clamp(1rem, 2.2vw, 1.45rem) !important;
  border: 1px solid var(--dest-border) !important;
  border-radius: 30px !important;
  background: rgba(3,19,45,.68) !important;
  box-shadow: 0 32px 90px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(18px) saturate(1.15) !important;
  color: var(--dest-text) !important;
}

body.destination-page .destination-search label {
  color: rgba(255,255,255,.86) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

body.destination-page .destination-search div:not(.search-suggestions) {
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.055) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body.destination-page .destination-search input {
  color: #fff !important;
}

body.destination-page .destination-search input::placeholder {
  color: rgba(255,255,255,.48) !important;
}

body.destination-page .destination-search .btn,
body.destination-page .filter-apply,
body.destination-page .destination-cta-button,
body.destination-page .destination-results-head .btn-secondary {
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #4f8cff, #60a5fa) !important;
  color: #fff !important;
  box-shadow: 0 18px 46px rgba(79,140,255,.28) !important;
}

body.destination-page .search-suggestions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .5rem !important;
  margin-top: .9rem !important;
}

body.destination-page .search-suggestions span {
  color: rgba(255,255,255,.58) !important;
  font-weight: 800 !important;
}

body.destination-page .search-suggestions a {
  padding: .45rem .68rem !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.82) !important;
  text-decoration: none !important;
}

body.destination-page .destination-browser {
  padding: clamp(2rem, 5vw, 4.5rem) 0 clamp(5rem, 8vw, 7rem) !important;
  background: transparent !important;
}

body.destination-page .destination-filter {
  padding: 1rem !important;
  border: 1px solid var(--dest-border) !important;
  border-radius: 28px !important;
  background: rgba(3,19,45,.56) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(16px) !important;
}

body.destination-page .experience-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .65rem !important;
}

body.destination-page .experience-chips label span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 0 .95rem !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.055) !important;
  color: rgba(255,255,255,.78) !important;
  font-weight: 850 !important;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease !important;
}

body.destination-page .experience-chips label input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.destination-page .experience-chips label:hover span {
  transform: translateY(-1px) !important;
  border-color: rgba(79,140,255,.36) !important;
  color: #fff !important;
}

body.destination-page .experience-chips label input:checked + span {
  border-color: rgba(79,140,255,.64) !important;
  background: rgba(79,140,255,.24) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(79,140,255,.16) !important;
}

body.destination-page .destination-reset {
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.055) !important;
  color: rgba(255,255,255,.78) !important;
  text-decoration: none !important;
}

body.destination-page .destination-results-head {
  margin-bottom: clamp(1.2rem, 3vw, 2rem) !important;
}

body.destination-page .destination-results-head h2 {
  color: var(--dest-text) !important;
  font-size: clamp(2rem, 4vw, 3.4rem) !important;
  line-height: 1 !important;
  letter-spacing: -.055em !important;
}

body.destination-page .destination-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
}

body.destination-page .destination-card {
  border: 1px solid var(--dest-border) !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  background: var(--dest-surface) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.28) !important;
  color: #fff !important;
  transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .45s ease !important;
}

body.destination-page .destination-card:hover {
  transform: translateY(-10px) scale(1.01) !important;
  border-color: rgba(79,140,255,.42) !important;
  box-shadow: 0 38px 120px rgba(79,140,255,.18), 0 30px 80px rgba(0,0,0,.35) !important;
}

body.destination-page .destination-media {
  aspect-ratio: 16 / 11 !important;
  background: #03132d !important;
}

body.destination-page .destination-media::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(2,8,23,0) 40%, rgba(2,8,23,.8) 100%) !important;
  pointer-events: none !important;
}

body.destination-page .destination-media img {
  filter: saturate(1.05) contrast(1.04) brightness(.92) !important;
  transition: transform .75s cubic-bezier(.2,.8,.2,1), filter .45s ease !important;
}

body.destination-page .destination-card:hover .destination-media img {
  transform: scale(1.08) !important;
  filter: saturate(1.12) contrast(1.06) brightness(1) !important;
}

body.destination-page .destination-badge,
body.destination-page .destination-views,
body.destination-page .destination-duration {
  z-index: 2 !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(3,19,45,.66) !important;
  color: #fff !important;
  backdrop-filter: blur(14px) !important;
}

body.destination-page .destination-badge,
body.destination-page .destination-duration {
  background: rgba(79,140,255,.28) !important;
}

body.destination-page .destination-card-body {
  gap: .8rem !important;
  padding: clamp(1.15rem, 2vw, 1.55rem) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
    var(--dest-surface) !important;
}

body.destination-page .destination-card h3 {
  color: #fff !important;
  font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
}

body.destination-page .destination-card p,
body.destination-page .destination-meta span {
  color: var(--dest-muted) !important;
}

body.destination-page .destination-bottom {
  align-items: center !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  padding-top: 1rem !important;
}

body.destination-page .destination-bottom strong {
  color: #fff !important;
}

body.destination-page .destination-bottom strong span {
  color: rgba(255,255,255,.58) !important;
}

body.destination-page .destination-private-link {
  color: #bfdbfe !important;
}

body.destination-page .destination-empty {
  border: 1px solid var(--dest-border) !important;
  border-radius: 28px !important;
  background: rgba(3,19,45,.56) !important;
  color: #fff !important;
}

body.destination-page .destination-empty span {
  color: var(--dest-muted) !important;
}

@media (max-width: 1040px) {
  body.destination-page .destination-layout,
  body.destination-page .destination-top-grid {
    grid-template-columns: 1fr !important;
  }

  body.destination-page .destination-filter {
    position: relative !important;
    top: auto !important;
  }

  body.destination-page .destination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  body.destination-page .destination-top {
    padding-top: 7rem !important;
  }

  body.destination-page .destination-top h1 {
    font-size: clamp(3rem, 14vw, 4.5rem) !important;
  }

  body.destination-page .destination-search div:not(.search-suggestions),
  body.destination-page .destination-results-head {
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.destination-page .destination-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Mobile/tablet performance tier: keeps desktop cinematic, lightens touch + Android WebView. */
@media (max-width: 1024px) {
  html {
    scroll-behavior: auto;
  }

  body,
  .cinematic-shell {
    overscroll-behavior-y: auto;
  }

  .cinema-cursor,
  .ambient-glow,
  .hero-light-beam,
  .cursor-glow {
    display: none !important;
  }

  .tilt-card,
  .destination-card,
  .compact-destination-card,
  .gallery-page-item,
  .tour-card,
  .story-card,
  .destination-choice-card,
  .destination-priority-card {
    transform: none !important;
  }

  .tilt-card:hover,
  .destination-card:hover,
  .compact-destination-card:hover,
  .gallery-page-item:hover,
  .tour-card:hover,
  .story-card:hover,
  .destination-choice-card:hover,
  .destination-priority-card:hover {
    transform: none !important;
    filter: none !important;
  }

  .cinematic-enter,
  .reveal {
    transform: none !important;
    clip-path: none !important;
    transition: opacity .28s ease !important;
    will-change: opacity !important;
  }

  .cinematic-enter.is-visible,
  .reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
  }

  .site-header.glass-site-header .nav-shell,
  .site-header.glass-site-header .nav-dropdown,
  .site-header.glass-site-header .mobile-menu-panel,
  .glass-panel,
  .hero-booking-panel,
  .destination-search,
  .destination-filter,
  .testimonial-card,
  .booking-card,
  .checkout-summary,
  .tour-proof-panel,
  .tour-faq-panel,
  body.home .destination-selection-grid .story-copy,
  body.home .destination-selection-grid .destination-priority-card .story-copy {
    backdrop-filter: blur(10px) saturate(1.06) !important;
    -webkit-backdrop-filter: blur(10px) saturate(1.06) !important;
  }

  body.home .destination-selection-grid.destination-transition-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    gap: 1rem !important;
    min-height: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  body.home .destination-selection-grid .destination-priority-card,
  body.home .destination-selection-grid .destination-priority-card.priority-1,
  body.home .destination-selection-grid .destination-priority-card.priority-2,
  body.home .destination-selection-grid .destination-priority-card.priority-3 {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 420px !important;
    height: auto !important;
  }

  body.home .destination-selection-grid .destination-priority-card.priority-1 {
    grid-column: 1 / -1 !important;
    min-height: 500px !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-media img,
  body.home .destination-selection-grid .destination-priority-card .story-media video,
  body.home .destination-selection-grid .destination-priority-card:hover .story-media img,
  body.home .destination-selection-grid .destination-priority-card:hover .story-media video {
    transform: none !important;
    transition: opacity .25s ease !important;
  }
}

@media (max-width: 767px) {
  body.home .hero {
    background-image:
      linear-gradient(90deg, rgba(2,8,23,.72), rgba(2,8,23,.38) 48%, rgba(2,8,23,.76)),
      var(--hero-poster) !important;
    background-size: cover !important;
    background-position: center !important;
  }

  body.home .hero-video,
  body.home .hero-video video {
    display: block !important;
  }

  .site-header.glass-site-header .nav-shell,
  .site-header.glass-site-header .nav-dropdown,
  .site-header.glass-site-header .mobile-menu-panel,
  .glass-panel,
  .hero-booking-panel,
  .destination-search,
  .destination-filter,
  .testimonial-card,
  .booking-card,
  .checkout-summary,
  .tour-proof-panel,
  .tour-faq-panel,
  body.home .destination-selection-grid .story-copy,
  body.home .destination-selection-grid .destination-priority-card .story-copy {
    backdrop-filter: blur(6px) saturate(1.02) !important;
    -webkit-backdrop-filter: blur(6px) saturate(1.02) !important;
  }

  body.home .destination-selection-grid.destination-transition-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    overflow: visible !important;
  }

  body.home .destination-selection-grid .destination-priority-card,
  body.home .destination-selection-grid .destination-priority-card.priority-1,
  body.home .destination-selection-grid .destination-priority-card.priority-2,
  body.home .destination-selection-grid .destination-priority-card.priority-3 {
    grid-column: auto !important;
    min-height: 420px !important;
    flex: none !important;
    width: 100% !important;
    scroll-snap-align: none !important;
  }

  body.home .destination-selection-grid .destination-priority-card.priority-1 .story-copy h3 {
    font-size: clamp(2rem, 11vw, 3rem) !important;
  }

  img[loading="lazy"] {
    content-visibility: visible !important;
    contain: none !important;
  }

  body.home,
  body.home main,
  body.home .cinematic-section,
  body.home .section,
  body.home .destination-stories,
  body.home .tour-types,
  body.home .private-experience {
    background-color: #020817 !important;
  }

  body.home .section-light,
  body.home #gallery.section-light,
  body.home #reviews.section-light {
    background: #071226 !important;
  }

  body.home .story-media,
  body.home .private-experience-media,
  body.home .tour-media,
  body.home .gallery-grid > div,
  body.home .destination-selection-grid .destination-priority-card,
  body.home .destination-selection-grid .destination-choice-card {
    background: #081224 !important;
  }

  body.home img[loading="lazy"],
  body.home video[data-lazy-video] {
    background-color: #081224 !important;
  }
}

.android-webview .cinema-cursor,
.android-webview .ambient-glow,
.android-webview .hero-light-beam {
  display: none !important;
}

/* Public page theme lock: keep Gallery and Contact consistent with the homepage. */
body.gallery-page,
body.contact-page {
  --public-bg: #020817;
  --public-panel: rgba(8, 20, 42, .84);
  --public-panel-soft: rgba(15, 30, 58, .66);
  --public-line: rgba(148, 180, 230, .18);
  --public-text: #f8fafc;
  --public-muted: #c8d4e8;
  --public-blue: #3b82f6;
  --public-blue-soft: #60a5fa;
  background:
    radial-gradient(circle at 72% 8%, rgba(59, 130, 246, .2), transparent 34%),
    linear-gradient(180deg, #020817 0%, #061226 54%, #020817 100%) !important;
  color: var(--public-text) !important;
}

body.gallery-page .gallery-hero,
body.contact-page .contact-hero {
  min-height: 620px !important;
  background:
    linear-gradient(90deg, rgba(2, 8, 23, .94) 0%, rgba(5, 17, 38, .82) 52%, rgba(2, 8, 23, .94) 100%),
    var(--hero-poster, none),
    #020817 !important;
  color: var(--public-text) !important;
}

body.gallery-page .gallery-hero::before,
body.gallery-page .gallery-hero::after,
body.contact-page .contact-hero::before,
body.contact-page .contact-hero::after {
  background:
    radial-gradient(circle at 18% 26%, rgba(96, 165, 250, .18), transparent 35%),
    linear-gradient(180deg, rgba(2, 8, 23, .08), rgba(2, 8, 23, .64)) !important;
}

body.gallery-page .gallery-hero .eyebrow,
body.contact-page .contact-hero .eyebrow,
body.contact-page .contact-panel .eyebrow,
body.contact-page .contact-info-grid .eyebrow {
  color: #93c5fd !important;
  background: rgba(59, 130, 246, .14) !important;
  border-color: rgba(96, 165, 250, .28) !important;
}

body.gallery-page .gallery-hero h1,
body.contact-page .contact-hero h1 {
  color: #fff !important;
}

body.gallery-page .gallery-hero h1 span,
body.contact-page .contact-hero h1 span {
  color: var(--public-blue-soft) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

body.gallery-page .gallery-hero p,
body.contact-page .contact-hero p,
body.contact-page .contact-panel p,
body.contact-page .contact-row span,
body.contact-page .contact-info-grid p {
  color: var(--public-muted) !important;
}

body.gallery-page .btn.btn-primary,
body.contact-page .btn.btn-primary,
body.gallery-page .gallery-button,
body.gallery-page .gallery-filter.active {
  background: linear-gradient(135deg, var(--public-blue), var(--public-blue-soft)) !important;
  border-color: rgba(96, 165, 250, .48) !important;
  color: #fff !important;
  box-shadow: 0 18px 42px rgba(59, 130, 246, .24) !important;
}

body.gallery-page .btn.btn-secondary,
body.contact-page .btn.btn-secondary,
body.gallery-page .gallery-filter {
  background: rgba(15, 30, 58, .72) !important;
  border-color: var(--public-line) !important;
  color: #eaf2ff !important;
}

body.gallery-page .gallery-showcase,
body.contact-page .contact-section,
body.contact-page .contact-map-section {
  background: transparent !important;
}

body.gallery-page .gallery-filter-bar,
body.contact-page .contact-panel,
body.contact-page .contact-info-grid article,
body.contact-page .contact-map {
  background: var(--public-panel) !important;
  border: 1px solid var(--public-line) !important;
  box-shadow: 0 26px 80px rgba(0, 0, 0, .28) !important;
  color: var(--public-text) !important;
}

body.gallery-page .gallery-page-item {
  background: var(--public-panel-soft) !important;
  border-color: var(--public-line) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28) !important;
}

body.gallery-page .gallery-page-item::after {
  background: linear-gradient(180deg, transparent 35%, rgba(2, 8, 23, .84) 100%) !important;
}

body.gallery-page .gallery-number,
body.gallery-page .gallery-media-badge {
  background: rgba(59, 130, 246, .88) !important;
  color: #fff !important;
}

body.gallery-page .gallery-item-copy small,
body.gallery-page .gallery-bottom-cta span {
  color: #93c5fd !important;
}

body.gallery-page .gallery-item-copy strong,
body.gallery-page .gallery-bottom-cta h2,
body.contact-page .contact-panel h2,
body.contact-page .contact-info-grid h2,
body.contact-page .contact-row strong {
  color: #fff !important;
}

body.gallery-page .gallery-bottom-cta {
  background:
    linear-gradient(135deg, rgba(10, 28, 58, .92), rgba(5, 17, 38, .9)) !important;
  border: 1px solid var(--public-line) !important;
}

body.contact-page .contact-hero-video {
  opacity: .18 !important;
}

body.contact-page .contact-hero-video video {
  filter: brightness(.72) contrast(1.08) saturate(1.05) !important;
}

.android-webview .cinematic-enter,
.android-webview .reveal {
  transform: none !important;
  clip-path: none !important;
  transition: opacity .24s ease !important;
}

.android-webview .tilt-card,
.android-webview .destination-card,
.android-webview .compact-destination-card,
.android-webview .gallery-page-item,
.android-webview .story-card,
.android-webview .tour-card {
  transform: none !important;
  will-change: auto !important;
}

.android-webview .glass-panel,
.android-webview .hero-booking-panel,
.android-webview .booking-card,
.android-webview .checkout-summary,
.android-webview .site-header.glass-site-header .nav-shell {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

/* Mobile destination card readability: clean premium overlay, no muddy half-blur. */
@media (max-width: 767px) {
  body.home .destination-selection-grid .destination-priority-card {
    border-radius: 26px !important;
    overflow: hidden !important;
    background: #071228 !important;
  }

  body.home .destination-selection-grid .destination-priority-card::before {
    background:
      linear-gradient(180deg, rgba(2,8,23,.04) 0%, rgba(2,8,23,.12) 42%, rgba(2,8,23,.84) 100%) !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-media img {
    filter: brightness(.96) contrast(1.08) saturate(1.08) !important;
  }

  body.home .destination-selection-grid .story-copy,
  body.home .destination-selection-grid .destination-priority-card .story-copy {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    padding: 1.35rem 1.25rem 1.25rem !important;
    background:
      linear-gradient(180deg, rgba(2,8,23,0) 0%, rgba(2,8,23,.76) 18%, rgba(2,8,23,.94) 100%) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-copy h3 {
    font-size: clamp(1.85rem, 9.5vw, 2.75rem) !important;
    line-height: .95 !important;
    text-shadow: 0 12px 30px rgba(0,0,0,.55) !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-copy p {
    max-width: 92% !important;
    color: rgba(255,255,255,.78) !important;
    font-size: .86rem !important;
    line-height: 1.55 !important;
  }

  body.home .destination-selection-grid .destination-priority-card .destination-card-foot {
    gap: .8rem !important;
  }
}

/* Navigation correction: desktop clean, tablet More menu, mobile off-canvas only. */
@media (min-width: 1025px) {
  .site-header.glass-site-header .header-inner {
    width: min(100% - 3rem, 1240px) !important;
  }

  .site-header.glass-site-header .nav-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: auto !important;
    max-width: none !important;
    margin-left: auto !important;
    gap: .16rem !important;
  }

  .site-header.glass-site-header .nav-item,
  .site-header.glass-site-header .nav-dropdown {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    flex-wrap: nowrap !important;
  }

  .site-header.glass-site-header .nav-more {
    display: none !important;
  }

  .site-header.glass-site-header .nav-secondary-item {
    display: inline-flex !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu {
    position: absolute !important;
    top: calc(100% + .7rem) !important;
    left: 50% !important;
    min-width: 190px !important;
    width: max-content !important;
    margin-top: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate(-50%, 8px) scale(.98) !important;
    background: rgba(7,18,40,.82) !important;
  }

  .site-header.glass-site-header .nav-dropdown:hover .nav-dropdown-menu,
  .site-header.glass-site-header .nav-dropdown:focus-within .nav-dropdown-menu {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) scale(1) !important;
  }

  .site-header.glass-site-header .menu-toggle,
  .site-header.glass-site-header .nav-backdrop {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .site-header.glass-site-header .nav-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }

  .site-header.glass-site-header .nav-secondary-item {
    display: none !important;
  }

  .site-header.glass-site-header .nav-more {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu {
    position: absolute !important;
    top: calc(100% + .55rem) !important;
    left: 50% !important;
    width: max-content !important;
    min-width: 180px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate(-50%, 8px) scale(.98) !important;
    background: rgba(7,18,40,.88) !important;
  }

  .site-header.glass-site-header .nav-dropdown:hover .nav-dropdown-menu,
  .site-header.glass-site-header .nav-dropdown:focus-within .nav-dropdown-menu {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) scale(1) !important;
  }
}

@media (max-width: 767px) {
  .site-header.glass-site-header .nav-more {
    display: none !important;
  }

  .site-header.glass-site-header .nav-secondary-item {
    display: flex !important;
  }

  .site-header.glass-site-header .nav-links {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }
}

/* Tour detail correction: make private/open trip hero readable and keep media cinematic, not a detached card. */
body.tour-page .tour-detail-hero {
  min-height: clamp(680px, 88vh, 860px) !important;
  padding: clamp(8.5rem, 12vh, 10rem) 0 clamp(3rem, 7vh, 5rem) !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background: #020817 !important;
}

body.tour-page .tour-detail-video {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  aspect-ratio: auto !important;
  opacity: .86 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.tour-page .tour-detail-video video,
body.tour-page .tour-detail-video img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  filter: brightness(.82) contrast(1.05) saturate(1.08) !important;
}

body.tour-page .tour-detail-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(2,8,23,.9) 0%, rgba(2,8,23,.64) 42%, rgba(2,8,23,.28) 100%),
    linear-gradient(180deg, rgba(2,8,23,.78) 0%, rgba(2,8,23,.22) 45%, rgba(2,8,23,.88) 100%) !important;
}

body.tour-page .tour-detail-content {
  position: relative !important;
  z-index: 2 !important;
  width: min(1180px, calc(100% - 2rem)) !important;
  text-align: left !important;
}

body.tour-page .tour-hero-copy {
  max-width: 720px !important;
  margin: 0 !important;
  text-align: left !important;
}

body.tour-page .tour-detail-content .eyebrow {
  margin-inline: 0 !important;
}

body.tour-page .tour-hero-copy h1,
body.tour-page .tour-detail-content h1 {
  max-width: 760px !important;
  margin: clamp(.85rem, 1.5vw, 1.15rem) 0 clamp(.9rem, 1.7vw, 1.25rem) !important;
  text-align: left !important;
  font-size: clamp(3.4rem, 6.2vw, 6.4rem) !important;
  line-height: .88 !important;
  letter-spacing: -.075em !important;
  color: #fff !important;
}

body.tour-page .tour-detail-subtitle {
  max-width: 620px !important;
  margin: 0 0 clamp(1.1rem, 2vw, 1.45rem) !important;
  text-align: left !important;
  color: rgba(255,255,255,.82) !important;
}

body.tour-page .tour-detail-actions,
body.tour-page .tour-detail-hero-meta {
  justify-content: flex-start !important;
}

body.tour-page .tour-detail-hero-meta span {
  background: rgba(15,23,42,.42) !important;
  border-color: rgba(255,255,255,.16) !important;
  color: rgba(255,255,255,.92) !important;
}

@media (max-width: 900px) {
  body.tour-page .tour-detail-hero {
    min-height: 720px !important;
    padding-top: 7.5rem !important;
  }

  body.tour-page .tour-detail-overlay {
    background:
      linear-gradient(180deg, rgba(2,8,23,.78) 0%, rgba(2,8,23,.48) 38%, rgba(2,8,23,.9) 100%) !important;
  }

  body.tour-page .tour-hero-copy,
  body.tour-page .tour-detail-content,
  body.tour-page .tour-detail-subtitle,
  body.tour-page .tour-hero-copy h1,
  body.tour-page .tour-detail-content h1 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.tour-page .tour-detail-actions,
  body.tour-page .tour-detail-hero-meta {
    justify-content: center !important;
  }
}

@media (max-width: 560px) {
  body.tour-page .tour-detail-hero {
    min-height: 680px !important;
  }

  body.tour-page .tour-hero-copy h1,
  body.tour-page .tour-detail-content h1 {
    font-size: clamp(2.75rem, 13vw, 4.1rem) !important;
  }
}

/* Unified destination chooser for shared + private trip pages. */
body.tour-page .compact-destination-picker {
  padding: clamp(5rem, 8vw, 7rem) 0 !important;
  background:
    radial-gradient(circle at 14% 8%, rgba(79,140,255,.16), transparent 28%),
    radial-gradient(circle at 84% 24%, rgba(96,165,250,.1), transparent 30%),
    linear-gradient(180deg, #020817 0%, #071228 58%, #020817 100%) !important;
  color: #fff !important;
}

body.tour-page .compact-destination-head {
  max-width: 880px !important;
  margin: 0 auto clamp(2rem, 4vw, 3rem) !important;
  text-align: center !important;
}

body.tour-page .compact-destination-head .eyebrow {
  display: inline-flex !important;
  border: 1px solid rgba(79,140,255,.36) !important;
  background: rgba(79,140,255,.12) !important;
  color: #93c5fd !important;
}

body.tour-page .compact-destination-head h2 {
  max-width: 900px !important;
  margin: .85rem auto .85rem !important;
  color: #fff !important;
  font-size: clamp(2.75rem, 6vw, 6.6rem) !important;
  line-height: .86 !important;
  letter-spacing: -.078em !important;
}

body.tour-page .compact-destination-head p {
  max-width: 660px !important;
  margin-inline: auto !important;
  color: rgba(255,255,255,.72) !important;
  font-size: clamp(1rem, 1.4vw, 1.15rem) !important;
  line-height: 1.7 !important;
}

body.tour-page .compact-destination-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
  align-items: stretch !important;
}

body.tour-page .compact-destination-card,
body.tour-page .compact-destination-card.is-featured {
  position: relative !important;
  min-height: clamp(390px, 34vw, 500px) !important;
  height: auto !important;
  grid-column: auto !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 34px !important;
  background: #03132d !important;
  color: #fff !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.34) !important;
}

body.tour-page .compact-destination-card:hover {
  transform: translateY(-10px) !important;
  border-color: rgba(79,140,255,.42) !important;
  box-shadow: 0 36px 110px rgba(79,140,255,.18), 0 28px 88px rgba(0,0,0,.42) !important;
}

body.tour-page .compact-destination-media,
body.tour-page .compact-destination-card.is-featured .compact-destination-media {
  position: absolute !important;
  inset: 0 !important;
  height: auto !important;
  background: #020817 !important;
}

body.tour-page .compact-destination-media::after {
  opacity: 1 !important;
  background:
    linear-gradient(180deg, rgba(2,8,23,.04) 0%, rgba(2,8,23,.16) 35%, rgba(2,8,23,.92) 100%),
    linear-gradient(90deg, rgba(2,8,23,.18), transparent 55%) !important;
}

body.tour-page .compact-destination-media img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  transform: scale(1.02) !important;
  filter: saturate(1.05) contrast(1.04) brightness(.9) !important;
}

body.tour-page .compact-destination-card:hover .compact-destination-media img {
  transform: scale(1.09) !important;
  filter: saturate(1.12) contrast(1.06) brightness(1) !important;
}

body.tour-page .compact-destination-badge {
  border-color: rgba(255,255,255,.26) !important;
  background: rgba(15,23,42,.34) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.18) !important;
}

body.tour-page .compact-destination-copy,
body.tour-page .compact-destination-card.is-featured .compact-destination-copy {
  position: relative !important;
  z-index: 2 !important;
  margin-top: auto !important;
  padding: clamp(1.25rem, 2.2vw, 1.8rem) !important;
  background: linear-gradient(180deg, transparent, rgba(2,8,23,.74) 24%, rgba(2,8,23,.96)) !important;
}

body.tour-page .compact-destination-copy span,
body.tour-page .compact-destination-card.is-featured .compact-destination-copy span {
  color: #93c5fd !important;
}

body.tour-page .compact-destination-copy strong,
body.tour-page .compact-destination-card.is-featured .compact-destination-copy strong {
  max-width: 100% !important;
  color: #fff !important;
  font-size: clamp(1.7rem, 2.6vw, 2.65rem) !important;
  line-height: .96 !important;
  letter-spacing: -.06em !important;
}

body.tour-page .compact-destination-copy small,
body.tour-page .compact-destination-card.is-featured .compact-destination-copy small {
  color: rgba(255,255,255,.72) !important;
}

body.tour-page .compact-destination-copy em,
body.tour-page .compact-destination-card.is-featured .compact-destination-copy em {
  color: #fff !important;
}

@media (max-width: 980px) {
  body.tour-page .compact-destination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  body.tour-page .compact-destination-grid {
    grid-template-columns: 1fr !important;
  }

  body.tour-page .compact-destination-card,
  body.tour-page .compact-destination-card.is-featured {
    min-height: 430px !important;
  }
}

/* Editorial destination selection: stronger photo hierarchy and varied card rhythm. */
body.tour-page .compact-destination-picker .container {
  width: min(100% - 2rem, 1240px) !important;
}

body.tour-page .compact-destination-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr) minmax(0, .82fr) !important;
  grid-auto-rows: minmax(255px, auto) !important;
  align-items: stretch !important;
}

body.tour-page .compact-destination-grid.compact-destination-grid-filtered {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: 1.15rem !important;
  justify-content: start !important;
}

body.tour-page .compact-destination-card,
body.tour-page .compact-destination-card.is-featured {
  min-height: 430px !important;
  isolation: isolate !important;
}

body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card,
body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card.is-featured {
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: 390px !important;
}

body.tour-page .compact-destination-card.is-featured,
body.tour-page .compact-destination-card:first-child {
  grid-row: span 2 !important;
  min-height: 660px !important;
}

body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card.is-featured,
body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card:first-child {
  grid-row: auto !important;
  min-height: 390px !important;
}

body.tour-page .compact-destination-card:nth-child(2),
body.tour-page .compact-destination-card:nth-child(3),
body.tour-page .compact-destination-card:nth-child(4),
body.tour-page .compact-destination-card:nth-child(5) {
  min-height: 315px !important;
}

body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card:nth-child(2),
body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card:nth-child(3),
body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card:nth-child(4),
body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card:nth-child(5) {
  min-height: 390px !important;
}

body.tour-page .compact-destination-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(circle at var(--glow-x, 24%) var(--glow-y, 18%), var(--destination-glow, rgba(79,140,255,.2)), transparent 34%);
  mix-blend-mode: screen;
  opacity: .72;
}

body.tour-page .compact-destination-card::after {
  content: "Explore Journey ?";
  position: absolute;
  right: 1.15rem;
  bottom: 1.15rem;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 .9rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  color: #fff;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .35s ease, transform .35s ease, background .35s ease;
}

body.tour-page .compact-destination-card:hover::after {
  opacity: 1;
  transform: translateY(0);
  background: rgba(79,140,255,.2);
}

body.tour-page .compact-destination-card.is-featured .compact-destination-copy,
body.tour-page .compact-destination-card:first-child .compact-destination-copy {
  padding: clamp(1.6rem, 3vw, 2.45rem) !important;
}

body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card .compact-destination-copy,
body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card.is-featured .compact-destination-copy {
  padding: 1.2rem 1.2rem 1.35rem !important;
}

body.tour-page .compact-destination-card.is-featured .compact-destination-copy strong,
body.tour-page .compact-destination-card:first-child .compact-destination-copy strong {
  max-width: 620px !important;
  font-size: clamp(2.7rem, 5.6vw, 5.7rem) !important;
  line-height: .86 !important;
}

body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card .compact-destination-copy strong,
body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card.is-featured .compact-destination-copy strong {
  max-width: 100% !important;
  font-size: clamp(1.7rem, 2.3vw, 2.3rem) !important;
  line-height: .98 !important;
}

body.tour-page .compact-destination-card:not(.is-featured):not(:first-child) .compact-destination-copy {
  padding: 1.15rem 1.2rem 1.35rem !important;
}

body.tour-page .compact-destination-card:not(.is-featured):not(:first-child) .compact-destination-copy strong {
  font-size: clamp(1.65rem, 2.3vw, 2.3rem) !important;
}

body.tour-page .destination-theme-pulau-seribu {
  --destination-glow: rgba(45,212,191,.32);
  --glow-x: 24%;
  --glow-y: 16%;
}

body.tour-page .destination-theme-dufan {
  --destination-glow: rgba(244,114,182,.28);
  --glow-x: 64%;
  --glow-y: 20%;
}

body.tour-page .destination-theme-gunung-gede,
body.tour-page .destination-theme-bromo {
  --destination-glow: rgba(96,165,250,.32);
  --glow-x: 30%;
  --glow-y: 28%;
}

body.tour-page .destination-theme-kawah-ijen {
  --destination-glow: rgba(34,211,238,.34);
  --glow-x: 52%;
  --glow-y: 56%;
}

body.tour-page .destination-theme-private-nusa-penida,
body.tour-page .destination-theme-private-labuan-bajo {
  --destination-glow: rgba(59,130,246,.34);
  --glow-x: 70%;
  --glow-y: 18%;
}

body.tour-page .destination-theme-dufan .compact-destination-media img {
  filter: saturate(1.02) contrast(1.02) brightness(.82) !important;
}

body.tour-page .destination-theme-gunung-gede .compact-destination-media img,
body.tour-page .destination-theme-bromo .compact-destination-media img,
body.tour-page .destination-theme-kawah-ijen .compact-destination-media img {
  filter: saturate(1.08) contrast(1.08) brightness(.88) !important;
}

@media (max-width: 1024px) {
  body.tour-page .compact-destination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
  }

  body.tour-page .compact-destination-card.is-featured,
  body.tour-page .compact-destination-card:first-child {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    min-height: 560px !important;
  }

  body.tour-page .compact-destination-grid.compact-destination-grid-filtered {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card,
  body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card.is-featured,
  body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card:first-child {
    grid-column: auto !important;
    min-height: 380px !important;
  }
}

@media (max-width: 620px) {
  body.tour-page .compact-destination-grid {
    grid-template-columns: 1fr !important;
  }

  body.tour-page .compact-destination-card,
  body.tour-page .compact-destination-card.is-featured,
  body.tour-page .compact-destination-card:first-child {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 430px !important;
  }

  body.tour-page .compact-destination-card::after {
    opacity: 1;
    transform: none;
  }

  body.tour-page .compact-destination-grid.compact-destination-grid-filtered {
    grid-template-columns: 1fr !important;
  }

  body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card,
  body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card.is-featured,
  body.tour-page .compact-destination-grid.compact-destination-grid-filtered .compact-destination-card:first-child {
    min-height: 400px !important;
  }
}

/* Header logo polish: readable premium brand mark. */
.site-header.glass-site-header .brand-logo {
  gap: .85rem !important;
  padding-right: .6rem !important;
}

.site-header.glass-site-header .brand-logo img {
  width: 46px !important;
  height: 46px !important;
  padding: 0 !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 14px 34px rgba(0,0,0,.22) !important;
}

.site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
  width: 58px !important;
  height: 42px !important;
  border-radius: 14px !important;
  padding: .2rem .34rem !important;
  object-fit: contain !important;
}

.site-header.glass-site-header .brand-logo span {
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.25) !important;
}

@media (max-width: 767px) {
  .site-header.glass-site-header .brand-logo img {
    width: 44px !important;
    height: 44px !important;
  }

  .site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
    width: 54px !important;
    height: 40px !important;
  }
}

/* Header brand mark only: remove wordmark text and use a richer glass background. */
.site-header.glass-site-header .brand-logo {
  position: relative !important;
  gap: 0 !important;
  min-width: 66px !important;
  width: 66px !important;
  height: 52px !important;
  padding: 0 !important;
  justify-content: center !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 30% 22%, rgba(96,165,250,.3), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 18px 42px rgba(0,0,0,.24) !important;
}

.site-header.glass-site-header .brand-logo span {
  display: none !important;
}

.site-header.glass-site-header .brand-logo img,
.site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
  width: 48px !important;
  height: 34px !important;
  padding: .1rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
}

@media (max-width: 767px) {
  .site-header.glass-site-header .brand-logo {
    width: 60px !important;
    min-width: 60px !important;
    height: 48px !important;
  }

  .site-header.glass-site-header .brand-logo img,
  .site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
    width: 44px !important;
    height: 32px !important;
  }
}

/* Bigger readable header logo badge. */
.site-header.glass-site-header .brand-logo {
  width: 132px !important;
  min-width: 132px !important;
  height: 58px !important;
  border-radius: 999px !important;
  justify-content: flex-start !important;
  padding: 0 .78rem !important;
  background:
    radial-gradient(circle at 22% 28%, rgba(96,165,250,.32), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.055)) !important;
}

.site-header.glass-site-header .brand-logo img,
.site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
  width: 102px !important;
  height: 44px !important;
  max-width: none !important;
  padding: 0 !important;
  transform: scale(1.08) !important;
  transform-origin: left center !important;
}

@media (max-width: 767px) {
  .site-header.glass-site-header .brand-logo {
    width: 112px !important;
    min-width: 112px !important;
    height: 52px !important;
    padding: 0 .65rem !important;
  }

  .site-header.glass-site-header .brand-logo img,
  .site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
    width: 88px !important;
    height: 40px !important;
    transform: scale(1.04) !important;
  }
}

/* Premium minimal logo + remove desktop hamburger ghost. */
@media (min-width: 768px) {
  .site-header.glass-site-header .menu-toggle {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}

.site-header.glass-site-header .brand-logo {
  width: 116px !important;
  min-width: 116px !important;
  height: 54px !important;
  padding: 0 .72rem !important;
  border-radius: 999px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.055)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 18px 46px rgba(2,8,23,.24) !important;
}

.site-header.glass-site-header .brand-logo::before {
  content: "";
  position: absolute;
  inset: 7px auto 7px 8px;
  width: 40px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 38% 30%, rgba(255,255,255,.95) 0 9%, transparent 10%),
    linear-gradient(145deg, #60a5fa 0%, #22d3ee 52%, #2563eb 100%);
  box-shadow: 0 10px 28px rgba(59,130,246,.28), inset 0 0 0 2px rgba(255,255,255,.72);
}

.site-header.glass-site-header .brand-logo::after {
  content: "ZAN\A TOURS";
  white-space: pre;
  margin-left: 49px;
  color: #fff;
  font-size: 1.02rem;
  line-height: .82;
  font-weight: 900;
  letter-spacing: -.03em;
  text-transform: uppercase;
  text-shadow: 0 8px 24px rgba(0,0,0,.28);
}

.site-header.glass-site-header .brand-logo img,
.site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
  display: none !important;
}

@media (max-width: 767px) {
  .site-header.glass-site-header .brand-logo {
    width: 104px !important;
    min-width: 104px !important;
    height: 50px !important;
    padding: 0 .58rem !important;
  }

  .site-header.glass-site-header .brand-logo::before {
    inset: 7px auto 7px 8px;
    width: 36px;
  }

  .site-header.glass-site-header .brand-logo::after {
    margin-left: 44px;
    font-size: .92rem;
  }
}

/* Tours dropdown interaction polish. */
@media (min-width: 768px) {
  .site-header.glass-site-header .nav-dropdown {
    position: relative !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu {
    top: calc(100% + .42rem) !important;
    left: 50% !important;
    min-width: 172px !important;
    width: 172px !important;
    padding: .42rem !important;
    border-radius: 20px !important;
    background: rgba(7,18,40,.92) !important;
    box-shadow: 0 18px 50px rgba(0,0,0,.32) !important;
    transform: translate(-50%, 6px) scale(.98) !important;
  }

  .site-header.glass-site-header .nav-dropdown::after {
    content: "";
    position: absolute;
    left: -10px;
    right: -10px;
    top: 100%;
    height: .7rem;
  }

  .site-header.glass-site-header .nav-dropdown:hover .nav-dropdown-menu,
  .site-header.glass-site-header .nav-dropdown:focus-within .nav-dropdown-menu {
    transform: translate(-50%, 0) scale(1) !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu a {
    min-height: 44px !important;
    padding: 0 .85rem !important;
    border-radius: 14px !important;
    font-size: .72rem !important;
    letter-spacing: .06em !important;
    color: rgba(255,255,255,.82) !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu a + a {
    margin-top: .18rem !important;
  }
}

/* Mobile navigation fix: clean off-canvas with readable Tours submenu. */
@media (max-width: 767px) {
  .site-header.glass-site-header .nav-links {
    gap: .45rem !important;
    padding-top: 6.4rem !important;
  }

  .site-header.glass-site-header .nav-item,
  .site-header.glass-site-header .nav-dropdown {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  .site-header.glass-site-header .nav-links > a,
  .site-header.glass-site-header .nav-dropdown-trigger {
    min-height: 54px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    color: #fff !important;
  }

  .site-header.glass-site-header .nav-dropdown-trigger {
    pointer-events: none !important;
  }

  .site-header.glass-site-header .nav-dropdown-trigger span {
    margin-left: auto !important;
    transform: rotate(0deg) !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu {
    position: static !important;
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: .35rem 0 .2rem !important;
    padding: .45rem !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    background: rgba(2,8,23,.34) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu a {
    min-height: 50px !important;
    padding-left: 1.35rem !important;
    background: rgba(79,140,255,.08) !important;
    color: rgba(255,255,255,.88) !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu a::before {
    content: "";
    width: 6px;
    height: 6px;
    margin-right: .65rem;
    border-radius: 999px;
    background: #60a5fa;
    box-shadow: 0 0 16px rgba(96,165,250,.75);
  }

  .site-header.glass-site-header .nav-dropdown-menu a:hover,
  .site-header.glass-site-header .nav-dropdown-menu a.is-active {
    background: rgba(79,140,255,.18) !important;
  }
}

/* Restore tour video tron as cinematic card, not fullscreen background. */
body.tour-page .tour-detail-hero {
  min-height: auto !important;
  padding: clamp(7.5rem, 11vw, 9.5rem) 0 clamp(3rem, 6vw, 5rem) !important;
  display: block !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 22% 12%, rgba(79,140,255,.16), transparent 30%),
    linear-gradient(180deg, #020817 0%, #071228 58%, #020817 100%) !important;
}

body.tour-page .tour-detail-video {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  width: min(1080px, calc(100% - 2rem)) !important;
  height: auto !important;
  max-width: 1080px !important;
  aspect-ratio: 2.45 / 1 !important;
  margin: clamp(2rem, 4vw, 3rem) auto 0 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  opacity: 1 !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  box-shadow: 0 32px 100px rgba(0,0,0,.4) !important;
}

body.tour-page .tour-detail-video video,
body.tour-page .tour-detail-video img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  filter: brightness(.78) contrast(1.06) saturate(1.08) !important;
}

body.tour-page .tour-detail-overlay {
  display: none !important;
}

body.tour-page .tour-detail-content {
  position: relative !important;
  z-index: 2 !important;
  width: min(980px, calc(100% - 2rem)) !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body.tour-page .tour-hero-copy {
  max-width: 880px !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body.tour-page .tour-detail-content .eyebrow {
  margin-inline: auto !important;
}

body.tour-page .tour-hero-copy h1,
body.tour-page .tour-detail-content h1 {
  max-width: 900px !important;
  margin: clamp(.85rem, 1.5vw, 1.15rem) auto clamp(.9rem, 1.7vw, 1.25rem) !important;
  text-align: center !important;
  font-size: clamp(3.4rem, 6.4vw, 6.6rem) !important;
  line-height: .88 !important;
}

body.tour-page .tour-detail-subtitle {
  max-width: 660px !important;
  margin: 0 auto clamp(1.1rem, 2vw, 1.45rem) !important;
  text-align: center !important;
}

body.tour-page .tour-detail-actions,
body.tour-page .tour-detail-hero-meta {
  justify-content: center !important;
}

@media (max-width: 760px) {
  body.tour-page .tour-detail-video {
    width: min(100% - 1.2rem, 720px) !important;
    aspect-ratio: 1.55 / 1 !important;
    border-radius: 22px !important;
  }
}

/* Respect uploaded admin logo while keeping it visible in the glass header. */
.site-header.glass-site-header .brand-logo {
  width: auto !important;
  min-width: 118px !important;
  height: 58px !important;
  padding: .42rem .95rem !important;
  justify-content: center !important;
}

.site-header.glass-site-header .brand-logo::before,
.site-header.glass-site-header .brand-logo::after {
  content: none !important;
  display: none !important;
}

.site-header.glass-site-header .brand-logo img,
.site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
  display: block !important;
  width: auto !important;
  max-width: 150px !important;
  height: 38px !important;
  max-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  transform: none !important;
}

@media (max-width: 767px) {
  .site-header.glass-site-header .brand-logo {
    min-width: 104px !important;
    height: 52px !important;
    padding: .38rem .75rem !important;
  }

  .site-header.glass-site-header .brand-logo img,
  .site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
    max-width: 124px !important;
    height: 34px !important;
    max-height: 34px !important;
  }
}

/* Final header logo source: always respect the logo uploaded from admin. */
.site-header.glass-site-header .brand-logo {
  width: clamp(128px, 10vw, 158px) !important;
  min-width: clamp(128px, 10vw, 158px) !important;
  height: 62px !important;
  padding: .42rem .82rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.site-header.glass-site-header .brand-logo::before,
.site-header.glass-site-header .brand-logo::after {
  content: none !important;
  display: none !important;
}

.site-header.glass-site-header .brand-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 132px !important;
  max-height: 46px !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.24)) !important;
}

@media (max-width: 767px) {
  .site-header.glass-site-header .brand-logo {
    width: 108px !important;
    min-width: 108px !important;
    height: 54px !important;
    padding: .36rem .62rem !important;
  }

  .site-header.glass-site-header .brand-logo img {
    max-width: 92px !important;
    max-height: 40px !important;
  }
}

/* Uploaded logo is portrait-shaped, so give it real vertical presence. */
.site-header.glass-site-header .brand-logo {
  width: 142px !important;
  min-width: 142px !important;
  height: 72px !important;
  padding: .3rem .78rem !important;
  border-radius: 32px !important;
}

.site-header.glass-site-header .brand-logo img {
  width: auto !important;
  height: 62px !important;
  max-width: 120px !important;
  max-height: 62px !important;
}

@media (max-width: 767px) {
  .site-header.glass-site-header .brand-logo {
    width: 86px !important;
    min-width: 86px !important;
    height: 60px !important;
    padding: .28rem .5rem !important;
  }

  .site-header.glass-site-header .brand-logo img {
    height: 48px !important;
    max-width: 68px !important;
    max-height: 48px !important;
  }
}

/* Premium luxury travel navigation refresh. */
.site-header.glass-site-header,
body.home .site-header.glass-site-header,
body.tour-page .site-header.glass-site-header,
body.destination-page .site-header.glass-site-header,
body.gallery-page .site-header.glass-site-header,
body.contact-page .site-header.glass-site-header,
body.invoice-page .site-header.glass-site-header,
body.legal-page .site-header.glass-site-header {
  position: fixed !important;
  top: 22px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 clamp(1rem, 3vw, 2rem) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.site-header.glass-site-header .header-inner {
  width: min(1200px, 100%) !important;
  max-width: 1200px !important;
  height: 64px !important;
  min-height: 64px !important;
  margin: 0 auto !important;
  padding: 0 14px 0 18px !important;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  gap: clamp(1.25rem, 3vw, 3rem) !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: rgba(7,18,40,.48) !important;
  -webkit-backdrop-filter: blur(12px) saturate(130%) !important;
  backdrop-filter: blur(12px) saturate(130%) !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
  transition: height .28s ease, min-height .28s ease, background .28s ease, box-shadow .28s ease, backdrop-filter .28s ease !important;
}

.site-header.glass-site-header.solid .header-inner {
  height: 56px !important;
  min-height: 56px !important;
  background: rgba(7,18,40,.68) !important;
  -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
  backdrop-filter: blur(16px) saturate(145%) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.1) !important;
}

.site-header.glass-site-header .brand-logo,
.site-header.glass-site-header .brand,
.site-header.glass-site-header .brand:visited {
  width: auto !important;
  min-width: 0 !important;
  height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.site-header.glass-site-header.solid .brand-logo {
  height: 40px !important;
}

.site-header.glass-site-header .brand-logo::before,
.site-header.glass-site-header .brand-logo::after {
  content: none !important;
  display: none !important;
}

.site-header.glass-site-header .brand-logo img {
  width: auto !important;
  height: auto !important;
  max-height: 40px !important;
  max-width: 118px !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.22)) !important;
  transition: max-height .28s ease, transform .25s ease, opacity .25s ease !important;
}

.site-header.glass-site-header.solid .brand-logo img {
  max-height: 36px !important;
}

.site-header.glass-site-header .brand-logo:hover img {
  transform: translateY(-1px) scale(1.025) !important;
}

.site-header.glass-site-header .nav-links {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .22rem !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.site-header.glass-site-header .nav-item,
.site-header.glass-site-header .nav-dropdown {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
}

.site-header.glass-site-header .nav-links > a,
.site-header.glass-site-header .nav-dropdown-trigger {
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 .9rem !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .35rem !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: rgba(255,255,255,.76) !important;
  font-size: .78rem !important;
  font-weight: 650 !important;
  letter-spacing: .015em !important;
  line-height: 1 !important;
  text-transform: none !important;
  box-shadow: none !important;
  transition: color .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}

.site-header.glass-site-header .nav-links > a:hover,
.site-header.glass-site-header .nav-dropdown:hover .nav-dropdown-trigger,
.site-header.glass-site-header .nav-links > a.is-active,
.site-header.glass-site-header .nav-dropdown-trigger.is-active,
.site-header.glass-site-header .nav-dropdown.is-active .nav-dropdown-trigger {
  color: #fff !important;
  background: rgba(79,140,255,.1) !important;
  border-color: rgba(96,165,250,.22) !important;
  box-shadow: 0 0 0 1px rgba(79,140,255,.08), 0 12px 30px rgba(79,140,255,.12) !important;
}

.site-header.glass-site-header .nav-links > a:hover,
.site-header.glass-site-header .nav-dropdown:hover .nav-dropdown-trigger {
  transform: translateY(-1px) !important;
}

.site-header.glass-site-header .nav-links a.nav-cta {
  height: 42px !important;
  min-height: 42px !important;
  margin-left: clamp(.5rem, 1.8vw, 1.5rem) !important;
  padding: 0 1.05rem !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #4f8cff 0%, #2f6ff0 100%) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 12px 30px rgba(59,130,246,.24), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.site-header.glass-site-header .nav-links a.nav-cta::after {
  content: "→";
  margin-left: .38rem;
  font-size: .9rem;
  line-height: 1;
  transition: transform .22s ease;
}

.site-header.glass-site-header .nav-links a.nav-cta:hover {
  transform: translateY(-1px) scale(1.03) !important;
  box-shadow: 0 16px 36px rgba(79,140,255,.34), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

.site-header.glass-site-header .nav-links a.nav-cta:hover::after {
  transform: translateX(2px);
}

.site-header.glass-site-header .nav-more {
  display: none !important;
}

.site-header.glass-site-header .nav-dropdown-menu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 50% !important;
  width: 190px !important;
  min-width: 190px !important;
  padding: .55rem !important;
  display: grid !important;
  gap: .25rem !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: rgba(7,18,40,.76) !important;
  -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
  backdrop-filter: blur(14px) saturate(135%) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.32) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate(-50%, 8px) scale(.98) !important;
  transition: opacity .2s ease, transform .2s ease !important;
}

.site-header.glass-site-header .nav-dropdown:hover .nav-dropdown-menu,
.site-header.glass-site-header .nav-dropdown:focus-within .nav-dropdown-menu {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translate(-50%, 0) scale(1) !important;
}

.site-header.glass-site-header .nav-dropdown-menu a {
  min-height: 42px !important;
  padding: 0 .75rem !important;
  border-radius: 11px !important;
  display: flex !important;
  align-items: center !important;
  color: rgba(255,255,255,.78) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: .78rem !important;
  font-weight: 650 !important;
  letter-spacing: .01em !important;
}

.site-header.glass-site-header .nav-dropdown-menu a:hover,
.site-header.glass-site-header .nav-dropdown-menu a.is-active {
  color: #fff !important;
  background: rgba(79,140,255,.14) !important;
}

.site-header.glass-site-header .menu-toggle {
  display: none !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .site-header.glass-site-header .header-inner {
    width: min(960px, 100%) !important;
    height: 60px !important;
    min-height: 60px !important;
    gap: .8rem !important;
    padding-inline: 14px !important;
  }

  .site-header.glass-site-header .nav-links > a,
  .site-header.glass-site-header .nav-dropdown-trigger {
    padding-inline: .62rem !important;
    font-size: .72rem !important;
  }

  .site-header.glass-site-header .nav-links a.nav-cta {
    margin-left: .25rem !important;
    padding-inline: .86rem !important;
  }

  .site-header.glass-site-header .brand-logo img {
    max-height: 36px !important;
    max-width: 105px !important;
  }
}

@media (max-width: 767px) {
  .site-header.glass-site-header,
  body.home .site-header.glass-site-header,
  body.tour-page .site-header.glass-site-header,
  body.destination-page .site-header.glass-site-header,
  body.gallery-page .site-header.glass-site-header,
  body.contact-page .site-header.glass-site-header,
  body.invoice-page .site-header.glass-site-header,
  body.legal-page .site-header.glass-site-header {
    top: 12px !important;
    padding-inline: .85rem !important;
  }

  .site-header.glass-site-header .header-inner {
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 .55rem 0 .8rem !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    border-radius: 16px !important;
  }

  .site-header.glass-site-header .brand-logo {
    width: auto !important;
    min-width: 0 !important;
    height: 42px !important;
  }

  .site-header.glass-site-header .brand-logo img {
    max-height: 34px !important;
    max-width: 92px !important;
  }

  .site-header.glass-site-header .menu-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    background: rgba(255,255,255,.06) !important;
    box-shadow: none !important;
  }

  .site-header.glass-site-header .menu-toggle span {
    width: 18px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.9) !important;
  }

  .site-header.glass-site-header .nav-backdrop {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    background: rgba(0,0,0,.6) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    backdrop-filter: blur(4px) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .3s ease !important;
  }

  .site-header.glass-site-header.nav-is-open .nav-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .site-header.glass-site-header .nav-links {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: min(86vw, 360px) !important;
    height: 100dvh !important;
    padding: 6rem 1rem 1.25rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: .5rem !important;
    border-radius: 26px 0 0 26px !important;
    border-left: 1px solid rgba(255,255,255,.1) !important;
    background: rgba(7,18,40,.86) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: -26px 0 80px rgba(0,0,0,.38) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(105%) !important;
    transition: transform .3s ease !important;
    overflow-y: auto !important;
  }

  .site-header.glass-site-header .nav-links.nav-open {
    transform: translateX(0) !important;
  }

  .site-header.glass-site-header .nav-item,
  .site-header.glass-site-header .nav-dropdown {
    height: auto !important;
    display: block !important;
  }

  .site-header.glass-site-header .nav-links > a,
  .site-header.glass-site-header .nav-dropdown-trigger,
  .site-header.glass-site-header .nav-dropdown-menu a {
    width: 100% !important;
    min-height: 52px !important;
    height: 52px !important;
    justify-content: flex-start !important;
    padding: 0 1rem !important;
    font-size: .9rem !important;
    border-radius: 15px !important;
    pointer-events: auto !important;
  }

  .site-header.glass-site-header .nav-links a.nav-cta {
    margin: .45rem 0 0 !important;
    justify-content: center !important;
  }

  .site-header.glass-site-header .nav-dropdown-trigger {
    pointer-events: none !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: .25rem 0 .45rem !important;
    padding: .35rem !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    box-shadow: none !important;
    background: rgba(255,255,255,.045) !important;
  }
}

/* Mobile navigation stability guard: no overflow, no wrapping, no broken panel. */
@media (max-width: 767px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body.nav-lock {
    overflow: hidden !important;
    touch-action: none !important;
  }

  .site-header.glass-site-header {
    box-sizing: border-box !important;
  }

  .site-header.glass-site-header *,
  .site-header.glass-site-header *::before,
  .site-header.glass-site-header *::after {
    box-sizing: border-box !important;
  }

  .site-header.glass-site-header .header-inner {
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
  }

  .site-header.glass-site-header .brand-logo {
    flex: 0 1 auto !important;
    max-width: calc(100vw - 6.5rem) !important;
    overflow: hidden !important;
  }

  .site-header.glass-site-header .brand-logo img {
    width: auto !important;
    height: auto !important;
    max-width: min(92px, calc(100vw - 7.5rem)) !important;
    max-height: 34px !important;
  }

  .site-header.glass-site-header .menu-toggle {
    flex: 0 0 44px !important;
    position: relative !important;
    z-index: 1003 !important;
  }

  .site-header.glass-site-header .nav-links {
    max-width: 360px !important;
    min-width: 280px !important;
    width: min(86vw, 360px) !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .site-header.glass-site-header .nav-links > a,
  .site-header.glass-site-header .nav-dropdown-trigger,
  .site-header.glass-site-header .nav-dropdown-menu a {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .site-header.glass-site-header .nav-dropdown-menu {
    overflow: hidden !important;
  }
}

@media (max-width: 360px) {
  .site-header.glass-site-header,
  body.home .site-header.glass-site-header,
  body.tour-page .site-header.glass-site-header,
  body.destination-page .site-header.glass-site-header,
  body.gallery-page .site-header.glass-site-header,
  body.contact-page .site-header.glass-site-header,
  body.invoice-page .site-header.glass-site-header,
  body.legal-page .site-header.glass-site-header {
    padding-inline: .6rem !important;
  }

  .site-header.glass-site-header .header-inner {
    height: 54px !important;
    min-height: 54px !important;
    padding-inline: .65rem .45rem !important;
    border-radius: 15px !important;
  }

  .site-header.glass-site-header .brand-logo img {
    max-width: 78px !important;
    max-height: 30px !important;
  }

  .site-header.glass-site-header .menu-toggle {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    flex-basis: 42px !important;
  }

  .site-header.glass-site-header .nav-links {
    width: min(90vw, 330px) !important;
    min-width: 268px !important;
    padding: 5.25rem .85rem 1rem !important;
  }
}

/* Premium testimonial columns adapted from the React reference for this PHP site. */
body.home #reviews {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(79,140,255,.16), transparent 34%),
    linear-gradient(180deg, #071228 0%, #020817 100%) !important;
}

body.home #reviews .testimonial-layout {
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr) !important;
  align-items: center !important;
  gap: clamp(2rem, 5vw, 5rem) !important;
}

body.home #reviews .review-summary h2 {
  max-width: 520px !important;
  color: #fff !important;
  font-size: clamp(3rem, 6vw, 5.8rem) !important;
  line-height: .9 !important;
  letter-spacing: -.065em !important;
}

body.home #reviews .review-summary > p {
  max-width: 470px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
}

body.home #reviews .testimonial-actions {
  display: none !important;
}

body.home .testimonial-columns {
  position: relative !important;
  height: min(740px, 72vh) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  overflow: hidden !important;
  padding: .25rem !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent) !important;
  mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent) !important;
}

body.home .testimonial-column {
  min-width: 0 !important;
  overflow: hidden !important;
}

body.home .testimonial-column-track {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  padding-bottom: 1rem !important;
  animation: testimonialColumnFloat 18s linear infinite !important;
  will-change: transform !important;
}

body.home .testimonial-column-2 .testimonial-column-track {
  animation-duration: 23s !important;
  animation-direction: reverse !important;
}

body.home .testimonial-column-3 .testimonial-column-track {
  animation-duration: 20s !important;
}

body.home .testimonial-columns:hover .testimonial-column-track {
  animation-play-state: paused !important;
}

body.home .testimonial-columns .testimonial-card {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 252px !important;
  padding: clamp(1.2rem, 2.2vw, 1.65rem) !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
    rgba(15,28,51,.78) !important;
  box-shadow: 0 20px 70px rgba(0,0,0,.28) !important;
  -webkit-backdrop-filter: blur(16px) saturate(130%) !important;
  backdrop-filter: blur(16px) saturate(130%) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 1.15rem !important;
}

body.home .testimonial-columns .testimonial-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(96,165,250,.28) !important;
  box-shadow: 0 26px 90px rgba(59,130,246,.14), 0 20px 70px rgba(0,0,0,.28) !important;
}

body.home .testimonial-columns .stars {
  color: #60a5fa !important;
  letter-spacing: .12em !important;
  font-size: .84rem !important;
}

body.home .testimonial-columns blockquote {
  margin: 0 !important;
  color: #f8fafc !important;
  font-size: clamp(1rem, 1.25vw, 1.18rem) !important;
  line-height: 1.55 !important;
  letter-spacing: -.015em !important;
}

body.home .testimonial-columns .review-user {
  margin-top: auto !important;
  padding-top: 1rem !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

body.home .testimonial-columns .review-avatar {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #3b82f6, #60a5fa) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(59,130,246,.22) !important;
}

body.home .testimonial-columns h4 {
  color: #fff !important;
  font-size: .95rem !important;
}

body.home .testimonial-columns .review-user span {
  color: rgba(255,255,255,.58) !important;
}

@keyframes testimonialColumnFloat {
  from { transform: translateY(0); }
  to { transform: translateY(-50%); }
}

@media (max-width: 1024px) {
  body.home #reviews .testimonial-layout {
    grid-template-columns: 1fr !important;
  }

  body.home .testimonial-columns {
    height: 620px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home .testimonial-column-3 {
    display: none !important;
  }
}

@media (max-width: 680px) {
  body.home #reviews .review-summary h2 {
    font-size: clamp(2.15rem, 9vw, 3.1rem) !important;
    line-height: .94 !important;
  }

  body.home #reviews .review-summary > p {
    font-size: .9rem !important;
    line-height: 1.55 !important;
  }

  body.home .testimonial-score {
    margin-top: .8rem !important;
    gap: .15rem !important;
  }

  body.home .testimonial-score strong {
    font-size: clamp(2.3rem, 10vw, 3.2rem) !important;
  }

  body.home .testimonial-columns {
    height: auto !important;
    max-height: none !important;
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: .8rem !important;
    padding: .2rem 0 .5rem !important;
    grid-template-columns: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  body.home .testimonial-columns::-webkit-scrollbar {
    display: none !important;
  }

  body.home .testimonial-column {
    flex: 0 0 88% !important;
    overflow: visible !important;
    scroll-snap-align: start !important;
  }

  body.home .testimonial-column-2,
  body.home .testimonial-column-3 {
    display: none !important;
  }

  body.home .testimonial-column-track {
    display: flex !important;
    flex-direction: row !important;
    gap: .8rem !important;
    animation: none !important;
    transform: none !important;
    padding-bottom: 0 !important;
  }

  body.home .testimonial-columns .testimonial-card {
    flex: 0 0 100% !important;
    min-height: 0 !important;
    padding: .95rem .95rem 1rem !important;
    border-radius: 20px !important;
    gap: .7rem !important;
  }

  body.home .testimonial-columns .stars {
    font-size: .78rem !important;
  }

  body.home .testimonial-columns blockquote {
    font-size: 1rem !important;
    line-height: 1.45 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.home .testimonial-columns .review-user {
    padding-top: .8rem !important;
  }

  body.home .testimonial-columns .review-avatar {
    width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
  }

  body.home .testimonial-columns h4 {
    font-size: .9rem !important;
  }

  body.home .testimonial-columns .review-user span {
    font-size: .82rem !important;
  }

  body.home .testimonial-column-track .testimonial-card:nth-child(n+3) {
    display: none !important;
  }
}

/* Native PHP adaptation of scroll-expansion hero for tour pages. */
body.tour-page .tour-detail-hero {
  --tour-expand: 0;
  min-height: 100svh !important;
  padding: clamp(6.6rem, 9vw, 7.6rem) 0 clamp(2.4rem, 4vw, 3.4rem) !important;
  display: grid !important;
  align-content: center !important;
  gap: clamp(1rem, 2.2vw, 1.45rem) !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(79,140,255,.18), transparent 34%),
    linear-gradient(180deg, #071228 0%, #020817 100%) !important;
}

body.tour-page .tour-detail-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(2,8,23,.16), rgba(2,8,23,.72)) !important;
  pointer-events: none !important;
}

body.tour-page .tour-detail-video {
  width: min(calc(760px + (260px * var(--tour-expand))), calc(100% - 2rem)) !important;
  max-width: 1060px !important;
  aspect-ratio: calc(2.65 - (.35 * var(--tour-expand))) / 1 !important;
  margin: 0 auto !important;
  border-radius: clamp(22px, 3vw, 32px) !important;
  transform: translateY(calc(-8px * var(--tour-expand))) scale(calc(.96 + (.04 * var(--tour-expand)))) !important;
  transform-origin: center center !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.34), 0 0 0 1px rgba(255,255,255,.08) !important;
  z-index: 1 !important;
}

body.tour-page .tour-detail-video video,
body.tour-page .tour-detail-video img {
  filter: brightness(.86) contrast(1.06) saturate(1.12) !important;
  transform: scale(calc(1.02 + (.04 * var(--tour-expand)))) !important;
}

body.tour-page .tour-detail-content {
  width: min(1000px, calc(100% - 2rem)) !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
  text-align: center !important;
}

body.tour-page .tour-hero-copy {
  max-width: 920px !important;
  margin: 0 auto !important;
}

body.tour-page .tour-detail-content .eyebrow {
  margin: 0 auto clamp(.75rem, 1.2vw, 1rem) !important;
}

body.tour-page .tour-hero-copy h1,
body.tour-page .tour-detail-content h1 {
  max-width: 960px !important;
  margin: 0 auto clamp(.75rem, 1.4vw, 1rem) !important;
  font-size: clamp(3.2rem, 6.4vw, 6.15rem) !important;
  line-height: .88 !important;
  letter-spacing: -.075em !important;
  white-space: normal !important;
}

body.tour-page .hero-split-line {
  display: inline !important;
  overflow: visible !important;
}

body.tour-page .tour-detail-subtitle {
  max-width: 670px !important;
  margin: 0 auto clamp(1rem, 1.6vw, 1.25rem) !important;
  font-size: clamp(1rem, 1.35vw, 1.18rem) !important;
  line-height: 1.65 !important;
}

body.tour-page .tour-detail-actions,
body.tour-page .tour-detail-hero-meta {
  justify-content: center !important;
}

@media (min-width: 1025px) {
  body.tour-page .tour-detail-hero {
    position: relative !important;
  }
}

@media (max-width: 900px) {
  body.tour-page .tour-detail-hero {
    min-height: auto !important;
    padding-top: 6rem !important;
  }

  body.tour-page .tour-detail-video {
    width: min(100% - 1.2rem, 720px) !important;
    aspect-ratio: 1.82 / 1 !important;
  }

  body.tour-page .tour-hero-copy h1,
  body.tour-page .tour-detail-content h1 {
    font-size: clamp(2.75rem, 11vw, 4.8rem) !important;
  }
}

@media (max-width: 560px) {
  body.tour-page .tour-detail-hero {
    padding: 5.6rem 0 2.4rem !important;
    gap: 1rem !important;
  }

  body.tour-page .tour-detail-video {
    aspect-ratio: 1.35 / 1 !important;
    border-radius: 22px !important;
  }

  body.tour-page .tour-detail-actions,
  body.tour-page .tour-detail-hero-meta {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}

/* Tour hero emergency layout lock: keep media/card and headline inside viewport. */
body.tour-page .tour-detail-hero {
  min-height: auto !important;
  padding: clamp(7rem, 9vw, 8.4rem) 0 clamp(3rem, 5vw, 4rem) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(1.2rem, 2.4vw, 1.8rem) !important;
  overflow: hidden !important;
}

body.tour-page .tour-detail-content {
  order: 1 !important;
  width: min(980px, calc(100% - 2rem)) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
}

body.tour-page .tour-hero-copy {
  width: 100% !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

body.tour-page .tour-detail-content .eyebrow {
  margin-inline: auto !important;
}

body.tour-page .tour-hero-copy h1,
body.tour-page .tour-detail-content h1 {
  width: 100% !important;
  max-width: 880px !important;
  margin: 0 auto clamp(.85rem, 1.6vw, 1.1rem) !important;
  text-align: center !important;
  font-size: clamp(3.2rem, 6vw, 5.8rem) !important;
  line-height: .9 !important;
  letter-spacing: -.065em !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
}

body.tour-page .hero-split-line {
  display: inline !important;
}

body.tour-page .tour-detail-subtitle {
  max-width: 680px !important;
  margin: 0 auto clamp(1.05rem, 1.8vw, 1.35rem) !important;
  text-align: center !important;
}

body.tour-page .tour-detail-actions,
body.tour-page .tour-detail-hero-meta {
  justify-content: center !important;
  margin-inline: auto !important;
}

body.tour-page .tour-detail-video {
  order: 2 !important;
  width: min(980px, calc(100% - 2rem)) !important;
  max-width: 980px !important;
  aspect-ratio: 2.35 / 1 !important;
  margin: 0 auto !important;
  transform: none !important;
  border-radius: 28px !important;
}

body.tour-page .tour-detail-video video,
body.tour-page .tour-detail-video img {
  transform: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 760px) {
  body.tour-page .tour-detail-hero {
    padding-top: 6rem !important;
  }

  body.tour-page .tour-hero-copy h1,
  body.tour-page .tour-detail-content h1 {
    font-size: clamp(2.7rem, 12vw, 4.3rem) !important;
  }

  body.tour-page .tour-detail-video {
    width: min(100% - 1.2rem, 680px) !important;
    aspect-ratio: 1.5 / 1 !important;
    border-radius: 22px !important;
  }
}

/* Homepage hero full-screen lock after removing zoom parallax section. */
body.home #hero.hero {
  position: relative !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  padding: clamp(7rem, 10vh, 8rem) 0 clamp(2.5rem, 6vh, 4rem) !important;
  display: grid !important;
  align-items: center !important;
  overflow: hidden !important;
}

body.home #hero .hero-video,
body.home #hero .hero-overlay,
body.home #hero .hero-atmosphere {
  position: absolute !important;
  inset: 0 !important;
}

body.home #hero .hero-video {
  z-index: 0 !important;
  inset: 0 !important;
  min-height: 100% !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: #020817 !important;
}

body.home #hero .hero-video video {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: translateZ(0) !important;
  filter: brightness(1.02) contrast(1.02) saturate(1.04) !important;
  backface-visibility: hidden !important;
}

body.home #hero .hero-overlay {
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(2,8,23,.58) 0%, rgba(2,8,23,.25) 50%, rgba(2,8,23,.58) 100%),
    linear-gradient(180deg, rgba(2,8,23,.28) 0%, rgba(2,8,23,.1) 42%, rgba(2,8,23,.72) 100%) !important;
}

body.home #hero .hero-atmosphere {
  z-index: 2 !important;
  pointer-events: none !important;
}

body.home #hero .hero-grid {
  position: relative !important;
  z-index: 3 !important;
  width: min(1200px, calc(100% - 2rem)) !important;
  min-height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr) !important;
  align-items: center !important;
  gap: clamp(2rem, 5vw, 4.5rem) !important;
}

@media (max-width: 980px) {
  body.home #hero.hero {
    min-height: auto !important;
    padding: 6.5rem 0 3rem !important;
  }

  body.home #hero .hero-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Hard fix: prevent old centered-video rules from pushing the hero media down/right. */
body.home #hero .hero-video video {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: translateZ(0) !important;
  filter: brightness(1.02) contrast(1.02) saturate(1.04) !important;
  backface-visibility: hidden !important;
}

body.home #hero.hero-uses-default-poster {
  background:
    linear-gradient(90deg, rgba(2,8,23,.74) 0%, rgba(2,8,23,.24) 54%, rgba(2,8,23,.55) 100%),
    linear-gradient(180deg, rgba(2,8,23,.25) 0%, rgba(2,8,23,.08) 45%, rgba(2,8,23,.78) 100%),
    var(--hero-poster) center center / cover no-repeat,
    #020817 !important;
}

body.home #hero.hero-uses-default-poster .hero-video video {
  opacity: 1 !important;
}

body.home img.image-fallback-logo {
  width: min(160px, 42%) !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: .9 !important;
  padding: 1.25rem !important;
  margin: auto !important;
}

body.home .story-media,
body.home .private-experience-media,
body.home .tour-media,
body.home .gallery-grid > div {
  background:
    linear-gradient(135deg, rgba(37, 99, 235, .2), rgba(15, 23, 42, .92)),
    #061225;
}

/* Hard fix: remove horizontal overlay band across the home hero. */
body.home #hero.hero::before,
body.home #hero.hero::after,
body.home #hero .hero-video::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
}

body.home #hero .hero-atmosphere {
  display: block !important;
  inset: 0 !important;
  height: auto !important;
  background:
    radial-gradient(circle at 18% 45%, rgba(59,130,246,.07), transparent 34%),
    linear-gradient(180deg, transparent 0%, transparent 54%, rgba(2,8,23,.22) 100%) !important;
  opacity: .52 !important;
}

body.home #hero .hero-overlay {
  background:
    linear-gradient(90deg, rgba(2,8,23,.26) 0%, rgba(2,8,23,.05) 52%, rgba(2,8,23,.22) 100%),
    linear-gradient(180deg, rgba(2,8,23,.06) 0%, transparent 48%, rgba(2,8,23,.28) 100%) !important;
}

/* Mobile/WebView performance mode: video stays alive, effects stay lightweight. */
@media (max-width: 767px) {
  body.home #hero.hero {
    background:
      linear-gradient(180deg, rgba(2,8,23,.18), rgba(2,8,23,.7)),
      var(--hero-poster) center center / cover no-repeat,
      #020817 !important;
  }

  body.home #hero .hero-video {
    display: block !important;
  }

  body.home #hero .hero-overlay {
    background:
      linear-gradient(90deg, rgba(2,8,23,.42), rgba(2,8,23,.18)),
      linear-gradient(180deg, rgba(2,8,23,.12), rgba(2,8,23,.58)) !important;
  }

  body.home #hero .hero-atmosphere {
    background: linear-gradient(180deg, transparent 42%, rgba(2,8,23,.42) 100%) !important;
    opacity: .7 !important;
  }

  .glass-panel,
  .site-header.glass-site-header,
  .whatsapp-float {
    -webkit-backdrop-filter: blur(6px) !important;
    backdrop-filter: blur(6px) !important;
  }
}

.android-webview body.home #hero.hero {
  background:
    linear-gradient(180deg, rgba(2,8,23,.18), rgba(2,8,23,.72)),
    var(--hero-poster) center center / cover no-repeat,
    #020817 !important;
}

.android-webview body.home #hero .hero-video {
  display: block !important;
}

/* Video clarity lock: keep all cinematic videos visible and crisp. */
body.home #hero .hero-video video,
body.home .tour-media video,
body.home .gallery-grid video,
body.home video[data-lazy-video] {
  opacity: 1 !important;
  filter: brightness(1.03) contrast(1.02) saturate(1.05) !important;
}

body.home .tour-media::after,
body.home .tour-overlay {
  opacity: .42 !important;
}

body.home .gallery-grid video {
  background: #020817 !important;
}

@media (max-width: 767px) {
  body.home #hero .hero-video video,
  body.home .tour-media video,
  body.home .gallery-grid video,
  body.home video[data-lazy-video] {
    filter: brightness(1.02) contrast(1.01) saturate(1.03) !important;
  }

  body.home #hero .hero-overlay {
    background:
      linear-gradient(90deg, rgba(2,8,23,.28), rgba(2,8,23,.1)),
      linear-gradient(180deg, rgba(2,8,23,.08), rgba(2,8,23,.38)) !important;
  }

  body.home #hero .hero-atmosphere {
    opacity: .45 !important;
  }
}

/* Global mobile performance guard for all public pages and Android WebView. */
@media (max-width: 767px) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
    caret-color: auto !important;
  }

  .cinematic-section,
  .section,
  .gallery-showcase,
  .booking-flow,
  .destination-top,
  .contact-section {
    content-visibility: visible !important;
    contain-intrinsic-size: auto !important;
  }

  .glass-panel,
  .site-header.glass-site-header,
  .contact-panel,
  .booking-card,
  .summary-card,
  .gallery-filter-bar,
  .tour-proof-panel,
  .tour-faq-panel {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.1) !important;
  }

  .cinema-cursor,
  .ambient-glow,
  .hero-light-beam {
    display: none !important;
  }

  .hero-video,
  .hero-video video,
  video[data-lazy-video],
  .tour-detail-video video,
  .contact-hero-video video,
  .gallery-page-item video,
  .tour-media video,
  .gallery-grid video {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .cinematic-enter,
  .reveal,
  [data-hero-reveal] {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    clip-path: none !important;
    will-change: auto !important;
  }

  .cinematic-enter.is-visible,
  .reveal.is-visible {
    opacity: 1 !important;
    filter: none !important;
  }

  video[data-lazy-video],
  .tour-detail-video video,
  .contact-hero-video video,
  .gallery-page-item video {
    filter: none !important;
  }

  .site-header,
  .site-header.solid,
  .topbar,
  .save-bar,
  .destination-form-toolbar,
  .gallery-filter-bar {
    position: static !important;
    top: auto !important;
  }

  .hero-video video,
  .tour-detail-video,
  .tour-detail-video video,
  .contact-hero-video,
  .contact-hero-video video {
    transform: none !important;
    backface-visibility: hidden !important;
  }

  .hero-video video,
  .tour-detail-video video,
  .contact-hero-video video,
  .gallery-page-item video,
  .tour-media video,
  .gallery-grid video,
  video[data-lazy-video] {
    object-fit: cover !important;
    object-position: center !important;
    filter: brightness(1.01) contrast(1.01) saturate(1.02) !important;
  }

  body.home #hero.hero,
  body.tour-page .tour-detail-hero,
  body.contact-page .contact-hero {
    background-attachment: scroll !important;
  }

  .glass-panel,
  .contact-panel,
  .booking-card,
  .summary-card,
  .tour-proof-panel,
  .tour-faq-panel,
  .invoice-panel,
  .invoice-card,
  .compact-destination-card,
  .visited-destinations-card {
    border-color: rgba(255,255,255,.08) !important;
    background: rgba(15,23,42,.94) !important;
  }
}

.android-webview .cinematic-section,
.android-webview .section {
  content-visibility: visible !important;
  contain-intrinsic-size: auto !important;
}

.android-webview .cinema-cursor,
.android-webview .ambient-glow,
.android-webview .hero-light-beam {
  display: none !important;
}

.android-webview .cinematic-enter,
.android-webview .reveal,
.android-webview [data-hero-reveal] {
  opacity: 1 !important;
  filter: none !important;
  transition: none !important;
  transform: none !important;
  clip-path: none !important;
  will-change: auto !important;
}

.android-webview .glass-panel,
.android-webview .site-header,
.android-webview .contact-panel,
.android-webview .booking-card,
.android-webview .summary-card,
.android-webview .tour-proof-panel,
.android-webview .tour-faq-panel,
.android-webview .gallery-filter-bar {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.1) !important;
}

/* Homepage compact pass: remove planner column and tone down oversized type. */
body.home #hero .hero-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
  gap: clamp(1.5rem, 3vw, 2.5rem) !important;
}

body.home #hero .hero-content {
  max-width: 620px !important;
  margin: 0 auto !important;
  text-align: center !important;
  align-items: center !important;
}

body.home #hero .hero-content h1 {
  max-width: 620px !important;
  font-size: clamp(2.85rem, 5.8vw, 5rem) !important;
  line-height: .94 !important;
}

body.home #hero .hero-text {
  max-width: 560px !important;
  font-size: clamp(.92rem, 1.05vw, 1.02rem) !important;
  line-height: 1.58 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home #hero .hero-subtext {
  font-size: clamp(.84rem, .95vw, .94rem) !important;
  line-height: 1.55 !important;
  justify-content: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home #hero .hero-actions,
body.home #hero .hero-stats,
body.home #hero .hero-scroll {
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home #hero .hero-stats {
  width: fit-content !important;
}

body.home .hero-actions .btn,
body.home .nav-links a,
body.home .contact-link,
body.home .whatsapp-float {
  font-size: .84rem !important;
}

body.home .hero-stats strong,
body.home .premium-trust-strip strong {
  font-size: clamp(.94rem, 1.2vw, 1.1rem) !important;
}

/* Canonical mobile cleanup layer: keep the final mobile behavior in one place. */
@media (max-width: 767px) {
  body.home .whatsapp-float {
    display: none !important;
  }

  body.home #hero .hero-content {
    padding-bottom: 1.25rem !important;
  }

  body.home #hero .hero-actions {
    width: 100% !important;
    max-width: 380px !important;
    gap: .8rem !important;
  }

  body.home #hero .hero-actions .btn {
    width: 100% !important;
  }

  .site-header.glass-site-header .header-inner {
    min-height: 52px !important;
    padding: .38rem .42rem .38rem .54rem !important;
    background: rgba(7,18,40,.92) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
  }

  .site-header.glass-site-header .brand-logo {
    min-height: 0 !important;
  }

  .site-header.glass-site-header .brand-logo img {
    max-height: 28px !important;
    max-width: 88px !important;
  }

  .site-header.glass-site-header .menu-toggle {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.04) !important;
    box-shadow: none !important;
    gap: 3px !important;
  }

  .site-header.glass-site-header .menu-toggle span {
    width: 16px !important;
    height: 1.8px !important;
    background: rgba(255,255,255,.92) !important;
  }

  .site-header.glass-site-header,
  .site-header.glass-site-header .header-inner,
  .site-header.glass-site-header .nav-links,
  .site-header.glass-site-header .nav-dropdown-menu,
  .site-header.glass-site-header .nav-backdrop,
  .glass-panel,
  .contact-panel,
  .booking-card,
  .summary-card,
  .tour-proof-panel,
  .tour-faq-panel,
  .invoice-panel,
  .invoice-card,
  .compact-destination-card,
  .visited-destinations-card,
  body.home #hero .hero-stats div,
  body.home .premium-trust-strip div {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .site-header.glass-site-header .nav-links,
  .site-header.glass-site-header .nav-dropdown-menu {
    background: rgba(6,16,38,.98) !important;
    box-shadow: -18px 0 40px rgba(0,0,0,.22) !important;
  }

  .site-header.glass-site-header .nav-backdrop {
    background: rgba(0,0,0,.42) !important;
  }

  .glass-panel,
  .contact-panel,
  .booking-card,
  .summary-card,
  .tour-proof-panel,
  .tour-faq-panel,
  .invoice-panel,
  .invoice-card,
  .compact-destination-card,
  .visited-destinations-card,
  body.home #hero .hero-stats div {
    background: rgba(15,23,42,.96) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.12) !important;
  }
}

body.home .hero-stats span,
body.home .premium-trust-strip span,
body.home .eyebrow {
  font-size: .68rem !important;
}

body.home .cinematic-heading h2,
body.home .section-heading h2,
body.home .section-header h2,
body.home .booking-story-copy h2,
body.home .private-experience-copy h2 {
  font-size: clamp(1.95rem, 3.2vw, 3rem) !important;
  line-height: 1.02 !important;
}

body.home .story-copy h3,
body.home .tour-card h3,
body.home .feature-card h3,
body.home .faq-card h3,
body.home .review-card h3,
body.home .review-card h4 {
  font-size: clamp(1.05rem, 1.5vw, 1.35rem) !important;
  line-height: 1.16 !important;
}

body.home .cinematic-heading p,
body.home .section-heading p,
body.home .section-header p,
body.home .feature-card p,
body.home .tour-card p,
body.home .review-card p,
body.home .faq-card p,
body.home .booking-story-copy p,
body.home .private-experience-copy p,
body.home .promise-grid p {
  font-size: .92rem !important;
  line-height: 1.6 !important;
}

@media (max-width: 980px) {
  body.home #hero .hero-content h1 {
    font-size: clamp(2.4rem, 11vw, 3.6rem) !important;
  }

  body.home .cinematic-heading h2,
  body.home .section-heading h2,
  body.home .section-header h2,
  body.home .booking-story-copy h2,
  body.home .private-experience-copy h2 {
    font-size: clamp(1.7rem, 7vw, 2.3rem) !important;
  }
}

/* Homepage density pass: reduce oversized copy and cards for easier scanning. */
body.home #hero .hero-content h1 {
  font-size: clamp(2.45rem, 5vw, 4.2rem) !important;
  max-width: 560px !important;
}

body.home #hero .hero-text {
  font-size: clamp(.88rem, .98vw, .98rem) !important;
  max-width: 520px !important;
}

body.home #hero .hero-subtext {
  font-size: clamp(.8rem, .88vw, .9rem) !important;
}

body.home .cinematic-heading h2,
body.home .section-heading h2,
body.home .section-header h2,
body.home .booking-story-copy h2,
body.home .private-experience-copy h2 {
  font-size: clamp(1.7rem, 2.6vw, 2.45rem) !important;
}

body.home .story-copy h3,
body.home .tour-card h3,
body.home .feature-card h3,
body.home .faq-card h3,
body.home .review-card h3,
body.home .review-card h4 {
  font-size: clamp(.98rem, 1.25vw, 1.2rem) !important;
}

body.home .cinematic-heading p,
body.home .section-heading p,
body.home .section-header p,
body.home .feature-card p,
body.home .tour-card p,
body.home .review-card p,
body.home .faq-card p,
body.home .booking-story-copy p,
body.home .private-experience-copy p,
body.home .promise-grid p {
  font-size: .88rem !important;
  line-height: 1.55 !important;
}

body.home .destination-selection-grid .destination-choice-card,
body.home .destination-selection-grid .destination-choice-card.is-featured {
  min-height: clamp(270px, 24vw, 330px) !important;
}

body.home .destination-selection-grid .story-media,
body.home .destination-selection-grid .story-media img,
body.home .destination-selection-grid .story-media video {
  min-height: 150px !important;
  max-height: 175px !important;
}

body.home .destination-selection-grid .story-copy,
body.home .tour-card-content,
body.home .feature-card,
body.home .review-card,
body.home .faq-card,
body.home .package-story-card {
  padding: 1rem !important;
}

body.home .story-card,
body.home .story-carousel .story-card {
  min-height: clamp(270px, 24vw, 320px) !important;
}

body.home .tour-card {
  min-height: clamp(285px, 25vw, 340px) !important;
}

body.home .tour-card .tour-media,
body.home .tour-card img,
body.home .tour-card video {
  min-height: 100% !important;
}

body.home .feature-card {
  min-height: 150px !important;
}

body.home .review-card,
body.home .faq-card {
  min-height: 0 !important;
}

body.home .cinematic-section,
body.home .section {
  padding-top: clamp(3.5rem, 5vw, 5rem) !important;
  padding-bottom: clamp(3rem, 4.5vw, 4.5rem) !important;
}

@media (max-width: 980px) {
  body.home #hero .hero-content h1 {
    font-size: clamp(2rem, 9.5vw, 3rem) !important;
  }

  body.home .destination-selection-grid .destination-choice-card,
  body.home .destination-selection-grid .destination-choice-card.is-featured,
  body.home .story-card,
  body.home .story-carousel .story-card,
  body.home .tour-card {
    min-height: 245px !important;
  }

  body.home .destination-selection-grid .story-media,
  body.home .destination-selection-grid .story-media img,
  body.home .destination-selection-grid .story-media video {
    min-height: 135px !important;
    max-height: 160px !important;
  }
}

/* Homepage destination cards: modern editorial layout. */
body.home .destination-selection-grid {
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, 0.9fr) !important;
  grid-template-rows: repeat(2, 220px) !important;
  grid-auto-rows: 220px !important;
  align-items: stretch !important;
  gap: 1.2rem !important;
  margin-top: 1.5rem !important;
}

body.home .destination-selection-grid .destination-choice-card,
body.home .destination-selection-grid .destination-choice-card.is-featured {
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: 220px !important;
  height: 220px !important;
  border-radius: 28px !important;
}

body.home .destination-selection-grid .destination-choice-card:nth-child(1) {
  grid-column: 1 / 2 !important;
  grid-row: 1 / 3 !important;
  min-height: 452px !important;
  height: 452px !important;
}

body.home .destination-selection-grid .destination-choice-card:nth-child(2) {
  grid-column: 2 / 3 !important;
  grid-row: 1 / 2 !important;
}

body.home .destination-selection-grid .destination-choice-card:nth-child(3) {
  grid-column: 2 / 3 !important;
  grid-row: 2 / 3 !important;
}

body.home .destination-selection-grid .story-media,
body.home .destination-selection-grid .story-media img,
body.home .destination-selection-grid .story-media video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}

body.home .destination-selection-grid .story-copy {
  inset: auto 0 0 !important;
  max-width: none !important;
  padding: 1.05rem 1.05rem 1rem !important;
  background: linear-gradient(180deg, rgba(2,8,23,0) 0%, rgba(2,8,23,.82) 42%, rgba(2,8,23,.96) 100%) !important;
}

body.home .destination-selection-grid .story-copy h3,
body.home .destination-selection-grid .is-featured .story-copy h3,
body.home .destination-selection-grid .destination-choice-card:not(.is-featured) .story-copy h3 {
  font-size: clamp(1.1rem, 1.7vw, 1.55rem) !important;
  line-height: 1.02 !important;
  margin: .35rem 0 .3rem !important;
}

body.home .destination-selection-grid .destination-choice-card:nth-child(1) .story-copy h3 {
  font-size: clamp(1.45rem, 2.5vw, 2.2rem) !important;
}

body.home .destination-selection-grid .story-copy p {
  font-size: .8rem !important;
  line-height: 1.4 !important;
  margin-bottom: .5rem !important;
}

body.home .destination-selection-grid .story-copy small,
body.home .destination-card-foot strong,
body.home .destination-card-foot span {
  font-size: .72rem !important;
}

body.home .destination-card-foot {
  margin-top: .7rem !important;
  gap: .7rem !important;
}

body.home .destination-transition-heading,
body.home .cinematic-heading.destination-transition-heading {
  max-width: 760px !important;
  margin: 0 auto 1.25rem !important;
  text-align: center !important;
}

@media (max-width: 980px) {
  body.home .destination-selection-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
  }

  body.home .destination-selection-grid .destination-choice-card,
  body.home .destination-selection-grid .destination-choice-card.is-featured {
    min-height: 250px !important;
    height: 250px !important;
  }

  body.home .destination-selection-grid .destination-choice-card:nth-child(1),
  body.home .destination-selection-grid .destination-choice-card:nth-child(2),
  body.home .destination-selection-grid .destination-choice-card:nth-child(3) {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  body.home .destination-selection-grid .destination-choice-card:nth-child(1) {
    min-height: 260px !important;
    height: 260px !important;
  }
}

/* Final homepage destination layout matching the reference composition. */
body.home .destination-stories {
  padding-top: clamp(2.5rem, 4vw, 3.5rem) !important;
}

body.home .destination-transition-heading,
body.home .cinematic-heading.destination-transition-heading {
  max-width: 820px !important;
  margin: 0 auto 1.5rem !important;
  text-align: left !important;
}

body.home .destination-selection-grid.destination-transition-cards {
  display: grid !important;
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, .9fr) !important;
  grid-template-rows: repeat(2, 246px) !important;
  gap: 1rem !important;
  align-items: stretch !important;
}

body.home .destination-selection-grid .destination-priority-card,
body.home .destination-selection-grid .destination-priority-card.is-featured {
  position: relative !important;
  overflow: hidden !important;
  min-height: 246px !important;
  height: 246px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(96, 165, 250, .16) !important;
  background: #081224 !important;
  box-shadow: 0 18px 48px rgba(2, 8, 23, .2) !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-1 {
  grid-column: 1 / 2 !important;
  grid-row: 1 / 3 !important;
  min-height: 502px !important;
  height: 502px !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-2 {
  grid-column: 2 / 3 !important;
  grid-row: 1 / 2 !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-3 {
  grid-column: 2 / 3 !important;
  grid-row: 2 / 3 !important;
}

body.home .destination-selection-grid .destination-priority-card .story-media,
body.home .destination-selection-grid .destination-priority-card .story-media img,
body.home .destination-selection-grid .destination-priority-card .story-media video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
}

body.home .destination-selection-grid .destination-priority-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(5, 10, 22, .04) 0%, rgba(5, 10, 22, .18) 30%, rgba(5, 10, 22, .82) 72%, rgba(5, 10, 22, .94) 100%) !important;
  z-index: 1 !important;
}

body.home .destination-selection-grid .destination-priority-card .destination-choice-badge {
  top: 1rem !important;
  left: 1rem !important;
  z-index: 3 !important;
  padding: .42rem .8rem !important;
  border-radius: 999px !important;
  background: rgba(96, 165, 250, .18) !important;
  border: 1px solid rgba(147, 197, 253, .28) !important;
  font-size: .64rem !important;
  letter-spacing: .12em !important;
}

body.home .destination-selection-grid .destination-priority-card .story-copy {
  position: absolute !important;
  inset: auto 0 0 !important;
  z-index: 3 !important;
  padding: 1.1rem 1.2rem 1.15rem !important;
  background: linear-gradient(180deg, rgba(2, 8, 23, 0) 0%, rgba(2, 8, 23, .2) 10%, rgba(2, 8, 23, .84) 48%, rgba(2, 8, 23, .96) 100%) !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-1 .story-copy {
  max-width: 62% !important;
  padding: 1.35rem 1.35rem 1.25rem !important;
}

body.home .destination-selection-grid .destination-priority-card .story-copy h3 {
  margin: .3rem 0 .4rem !important;
  font-size: 1.1rem !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-1 .story-copy h3 {
  font-size: clamp(2.3rem, 4.6vw, 3.5rem) !important;
  line-height: .92 !important;
  margin-bottom: .65rem !important;
}

body.home .destination-selection-grid .destination-priority-card .story-copy p {
  margin: 0 0 .8rem !important;
  font-size: .78rem !important;
  line-height: 1.45 !important;
  color: rgba(226, 232, 240, .9) !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-1 .story-copy p {
  font-size: .92rem !important;
  max-width: 95% !important;
}

body.home .destination-selection-grid .destination-priority-card .story-copy small {
  display: block !important;
  margin-bottom: .9rem !important;
  font-size: .74rem !important;
  letter-spacing: .08em !important;
  color: #dbeafe !important;
}

body.home .destination-selection-grid .destination-priority-card .destination-card-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .8rem !important;
  margin-top: 0 !important;
}

body.home .destination-selection-grid .destination-priority-card .destination-card-foot strong {
  font-size: .72rem !important;
  line-height: 1.3 !important;
}

body.home .destination-selection-grid .destination-priority-card.priority-1 .destination-card-foot strong {
  font-size: .92rem !important;
}

body.home .destination-selection-grid .destination-priority-card .destination-card-foot span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 0 1rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(96, 165, 250, .34) !important;
  background: rgba(30, 64, 175, .18) !important;
  color: #dbeafe !important;
  font-size: .66rem !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.home .destination-selection-grid + .text-link {
  margin-top: 1.35rem !important;
}

@media (max-width: 980px) {
  body.home .destination-transition-heading,
  body.home .cinematic-heading.destination-transition-heading {
    text-align: center !important;
  }

  body.home .destination-selection-grid.destination-transition-cards {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
  }

  body.home .destination-selection-grid .destination-priority-card,
  body.home .destination-selection-grid .destination-priority-card.priority-1,
  body.home .destination-selection-grid .destination-priority-card.priority-2,
  body.home .destination-selection-grid .destination-priority-card.priority-3 {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 260px !important;
    height: 260px !important;
  }

  body.home .destination-selection-grid .destination-priority-card.priority-1 .story-copy {
    max-width: none !important;
  }

  body.home .destination-selection-grid .destination-priority-card.priority-1 .story-copy h3 {
    font-size: clamp(1.8rem, 8vw, 2.5rem) !important;
  }
}

/* Premium tour filters */
body.tour-page .tour-filter-shell {
  margin: 0 auto clamp(1.5rem, 3vw, 2.2rem) !important;
  padding: 1rem !important;
  border-radius: 24px !important;
  border: 1px solid rgba(148, 163, 184, .14) !important;
  background: linear-gradient(180deg, rgba(10, 19, 39, .78), rgba(3, 11, 24, .94)) !important;
  -webkit-backdrop-filter: blur(18px) saturate(135%) !important;
  backdrop-filter: blur(18px) saturate(135%) !important;
  box-shadow: 0 22px 55px rgba(2, 8, 23, .22) !important;
}

body.tour-page .tour-filter-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: .72rem !important;
}

body.tour-page .tour-filter-chip {
  min-height: 48px !important;
  padding: 0 1rem !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .55rem !important;
  border: 1px solid rgba(148, 163, 184, .18) !important;
  background: rgba(255, 255, 255, .045) !important;
  color: rgba(226, 232, 240, .82) !important;
  font-size: .86rem !important;
  font-weight: 650 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
  transition: transform .28s ease, background .28s ease, border-color .28s ease, box-shadow .28s ease, color .28s ease !important;
}

body.tour-page .tour-filter-chip:hover {
  transform: translateY(-1px) !important;
  color: #fff !important;
  border-color: rgba(96, 165, 250, .28) !important;
  background: rgba(30, 41, 59, .76) !important;
}

body.tour-page .tour-filter-chip.is-active {
  color: #fff !important;
  border-color: rgba(96, 165, 250, .4) !important;
  background: linear-gradient(135deg, rgba(59, 130, 246, .95), rgba(37, 99, 235, .78)) !important;
  box-shadow: 0 16px 38px rgba(37, 99, 235, .28), 0 0 0 1px rgba(191, 219, 254, .08) inset !important;
  transform: scale(1.03) !important;
}

body.tour-page .tour-filter-meta {
  margin-top: .9rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.tour-page .tour-results-count {
  margin: 0 !important;
  color: #dbeafe !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

body.tour-page .tour-filter-empty-state {
  margin-top: 1rem !important;
  padding: 1.1rem 1.2rem !important;
  border-radius: 20px !important;
  border: 1px solid rgba(148, 163, 184, .14) !important;
  background: rgba(255, 255, 255, .03) !important;
  color: #e2e8f0 !important;
}

body.tour-page .tour-filter-empty-state.is-hidden {
  display: none !important;
}

body.tour-page .tour-filter-empty-state strong {
  display: block !important;
  color: #fff !important;
  font-size: .92rem !important;
  margin-bottom: .28rem !important;
}

body.tour-page .tour-filter-empty-state p {
  margin: 0 !important;
  color: rgba(226, 232, 240, .76) !important;
  font-size: .84rem !important;
  line-height: 1.55 !important;
}

body.tour-page [data-tour-card].is-filtered-out {
  pointer-events: none !important;
}

body.tour-page .compact-destination-badge {
  top: 1rem !important;
  left: 1rem !important;
  padding: .42rem .82rem !important;
  border-radius: 999px !important;
  background: rgba(10, 19, 39, .52) !important;
  border: 1px solid rgba(191, 219, 254, .22) !important;
  color: #fff !important;
  font-size: .66rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

@media (max-width: 767px) {
  body.tour-page .tour-filter-shell {
    padding: .85rem !important;
    border-radius: 20px !important;
  }

  body.tour-page .tour-filter-bar {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    padding-bottom: .2rem !important;
    scrollbar-width: none !important;
  }

  body.tour-page .tour-filter-bar::-webkit-scrollbar {
    display: none !important;
  }

  body.tour-page .tour-filter-chip {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    padding: 0 .92rem !important;
    font-size: .82rem !important;
  }

  body.tour-page .tour-filter-meta {
    justify-content: flex-start !important;
  }
}

/* Tours dropdown revamp */
.site-header.glass-site-header .nav-dropdown-tours .nav-dropdown-menu-tours {
  left: 50% !important;
  width: min(420px, calc(100vw - 2rem)) !important;
  min-width: 420px !important;
  padding: .8rem !important;
  gap: .55rem !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(8, 18, 36, .96), rgba(8, 18, 36, .9)) !important;
  border: 1px solid rgba(96, 165, 250, .16) !important;
  box-shadow: 0 28px 70px rgba(2, 8, 23, .38) !important;
}

.site-header.glass-site-header .nav-dropdown-intro {
  padding: .35rem .35rem .15rem !important;
}

.site-header.glass-site-header .nav-dropdown-intro strong {
  display: block !important;
  color: #fff !important;
  font-size: .88rem !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

.site-header.glass-site-header .nav-dropdown-intro p {
  margin: .32rem 0 0 !important;
  color: rgba(191, 219, 254, .78) !important;
  font-size: .74rem !important;
  line-height: 1.5 !important;
}

.site-header.glass-site-header .nav-tour-card {
  min-height: 96px !important;
  padding: .9rem 1rem !important;
  border-radius: 18px !important;
  display: grid !important;
  gap: .22rem !important;
  align-content: start !important;
  background:
    linear-gradient(135deg, rgba(30, 41, 59, .82), rgba(15, 23, 42, .98)) !important;
  border: 1px solid rgba(148, 163, 184, .12) !important;
  color: #fff !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease !important;
}

.site-header.glass-site-header .nav-tour-card:hover,
.site-header.glass-site-header .nav-tour-card.is-active {
  transform: translateY(-2px) !important;
  border-color: rgba(96, 165, 250, .34) !important;
  background:
    linear-gradient(135deg, rgba(37, 99, 235, .18), rgba(15, 23, 42, .96)) !important;
  box-shadow: 0 14px 34px rgba(37, 99, 235, .14) !important;
}

.site-header.glass-site-header .nav-tour-card-eyebrow {
  color: #93c5fd !important;
  font-size: .62rem !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.site-header.glass-site-header .nav-tour-card strong {
  color: #fff !important;
  font-size: .92rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.site-header.glass-site-header .nav-tour-card small {
  color: rgba(226, 232, 240, .82) !important;
  font-size: .74rem !important;
  line-height: 1.45 !important;
}

.site-header.glass-site-header .nav-tour-card em {
  margin-top: .18rem !important;
  color: #bfdbfe !important;
  font-size: .68rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.site-header.glass-site-header .nav-tour-all {
  min-height: 42px !important;
  border-radius: 14px !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, .04) !important;
  border: 1px solid rgba(148, 163, 184, .12) !important;
  color: #dbeafe !important;
  font-size: .76rem !important;
  font-weight: 750 !important;
}

.site-header.glass-site-header .nav-tour-all:hover {
  background: rgba(37, 99, 235, .12) !important;
  border-color: rgba(96, 165, 250, .24) !important;
}

@media (max-width: 767px) {
  .site-header.glass-site-header .nav-dropdown-tours .nav-dropdown-menu-tours {
    width: 100% !important;
    min-width: 0 !important;
    padding: .45rem !important;
    gap: .45rem !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .045) !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: none !important;
  }

  .site-header.glass-site-header .nav-dropdown-intro {
    padding: .2rem .2rem 0 !important;
  }

  .site-header.glass-site-header .nav-tour-card {
    min-height: 88px !important;
    padding: .85rem .9rem !important;
    border-radius: 16px !important;
  }
}

/* Final public light theme override */
:root {
  --public-light-bg: #ffffff;
  --public-light-surface: #ffffff;
  --public-light-surface-soft: #f8fafc;
  --public-light-border: rgba(148, 163, 184, .22);
  --public-light-text: #0f172a;
  --public-light-muted: #475569;
}

body.home,
body.destination-page,
body.gallery-page,
body.contact-page,
body.tour-page,
body.invoice-page,
body.legal-page {
  background: var(--public-light-bg) !important;
  color: var(--public-light-text) !important;
}

body.home main,
body.destination-page main,
body.gallery-page main,
body.contact-page main,
body.tour-page main,
body.invoice-page main,
body.legal-page main,
body.home .section,
body.home .cinematic-section,
body.home .section-light {
  background: var(--public-light-bg) !important;
  color: var(--public-light-text) !important;
}

.site-header.glass-site-header .header-inner {
  background: rgba(255,255,255,.96) !important;
  border-color: var(--public-light-border) !important;
  box-shadow: 0 14px 40px rgba(15, 23, 42, .08) !important;
}

.site-header.glass-site-header .brand,
.site-header.glass-site-header .brand:visited,
.site-header.glass-site-header .nav-links > a,
.site-header.glass-site-header .nav-dropdown-trigger,
.site-header.glass-site-header .menu-toggle {
  color: var(--public-light-text) !important;
}

.site-header.glass-site-header .nav-links a.nav-cta {
  color: #fff !important;
}

.site-header.glass-site-header .menu-toggle span {
  background: var(--public-light-text) !important;
}

body.home .hero-stats div,
body.home .premium-trust-strip div,
.glass-panel,
.contact-panel,
.booking-card,
.summary-card,
.tour-proof-panel,
.tour-faq-panel,
.invoice-panel,
.invoice-card,
.compact-destination-card,
.visited-destinations-card,
.destination-choice-card,
.tour-card,
.review-card,
.faq-card,
.feature-card {
  background: var(--public-light-surface) !important;
  border-color: var(--public-light-border) !important;
  box-shadow: 0 16px 40px rgba(15, 23, 42, .08) !important;
}

body.home .story-copy,
body.home .tour-card-content,
body.home .feature-card,
body.home .review-card,
body.home .faq-card,
body.home .private-experience-copy,
body.home .section-header h2,
body.home .section-header p,
body.home .cinematic-heading h2,
body.home .cinematic-heading p,
body.home .hero-stats strong,
body.home .hero-stats span,
body.home .premium-trust-strip strong,
body.home .premium-trust-strip span,
.site-footer,
.site-footer .brand,
.site-footer h4,
.site-footer p,
.site-footer a {
  color: var(--public-light-text) !important;
}

body.home .hero-stats span,
body.home .premium-trust-strip span,
body.home .section-header p,
body.home .cinematic-heading p,
.site-footer p,
.site-footer a {
  color: var(--public-light-muted) !important;
}

body.home .site-footer,
body.destination-page .site-footer,
body.gallery-page .site-footer,
body.contact-page .site-footer,
body.tour-page .site-footer,
body.invoice-page .site-footer,
body.legal-page .site-footer {
  background: var(--public-light-surface-soft) !important;
  border-top: 1px solid var(--public-light-border) !important;
}

/* Readability rebalance: white base, but media/text sections keep strong contrast. */
body.home #hero.hero {
  background: #081224 !important;
}

body.home #hero .hero-overlay {
  background:
    linear-gradient(90deg, rgba(8,18,36,.74) 0%, rgba(8,18,36,.38) 48%, rgba(8,18,36,.68) 100%),
    linear-gradient(180deg, rgba(8,18,36,.18) 0%, rgba(8,18,36,.72) 100%) !important;
}

body.home #hero .hero-content h1,
body.home #hero .hero-content h1 span,
body.home #hero .hero-text,
body.home #hero .hero-subtext,
body.home #hero .hero-scroll,
body.home #hero .eyebrow {
  color: #ffffff !important;
}

body.home #hero .hero-subtext,
body.home #hero .hero-text,
body.home #hero .hero-scroll {
  color: rgba(255,255,255,.84) !important;
}

body.home .destination-choice-card,
body.home .tour-card,
body.home .story-card {
  overflow: hidden !important;
  background: #0f172a !important;
}

body.home .story-copy,
body.home .tour-card-content {
  background:
    linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,.76) 35%, rgba(15,23,42,.96) 100%) !important;
  color: #ffffff !important;
}

body.home .story-copy h3,
body.home .story-copy p,
body.home .story-copy small,
body.home .story-copy strong,
body.home .tour-card-content h3,
body.home .tour-card-content p,
body.home .tour-card-content .tour-meta,
body.home .tour-card-content .tour-link {
  color: #ffffff !important;
}

body.home .story-copy p,
body.home .tour-card-content p,
body.home .tour-card-content .tour-meta {
  color: rgba(255,255,255,.78) !important;
}

body.home .private-experience,
body.home .tour-types,
body.home #gallery,
body.home #reviews,
body.home #faq {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

body.home .private-experience-copy,
body.home .feature-card,
body.home .review-card,
body.home .faq-card {
  background: #ffffff !important;
  color: #0f172a !important;
}

/* Final destination-story contrast guard: keep this section dark so white copy stays readable. */
body.home .destination-stories {
  background:
    radial-gradient(circle at 18% 12%, rgba(59,130,246,.14), transparent 30%),
    linear-gradient(180deg, #081224 0%, #0f172a 100%) !important;
}

body.home .destination-stories .destination-transition-heading,
body.home .destination-stories .cinematic-heading {
  position: relative !important;
  z-index: 1 !important;
}

body.home .destination-stories .eyebrow {
  border-color: rgba(96,165,250,.26) !important;
  background: rgba(59,130,246,.12) !important;
  color: #bfdbfe !important;
}

body.home .destination-stories .cinematic-heading h2,
body.home .destination-stories .destination-transition-heading h2 {
  color: #ffffff !important;
  opacity: 1 !important;
}

body.home .destination-stories .cinematic-heading p,
body.home .destination-stories .destination-transition-heading p {
  color: rgba(226,232,240,.82) !important;
  opacity: 1 !important;
}

body.home .destination-stories .text-link {
  color: #93c5fd !important;
}

@media (max-width: 680px) {
  body.home .destination-stories {
    padding-top: 2.25rem !important;
    padding-bottom: 2.5rem !important;
  }

  body.home .destination-stories .destination-transition-heading,
  body.home .destination-stories .cinematic-heading {
    margin-bottom: 1.15rem !important;
    padding-inline: .15rem !important;
  }

  body.home .destination-stories .cinematic-heading h2,
  body.home .destination-stories .destination-transition-heading h2 {
    font-size: clamp(2.2rem, 11vw, 3.4rem) !important;
    line-height: .95 !important;
  }

  body.home .destination-stories .cinematic-heading p,
  body.home .destination-stories .destination-transition-heading p {
    font-size: .96rem !important;
    line-height: 1.65 !important;
  }
}

/* Final private-experience contrast guard: light section with dark readable copy. */
body.home .private-experience {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

body.home .private-experience-copy {
  background: #ffffff !important;
  color: #0f172a !important;
}

body.home .private-experience-copy .eyebrow {
  display: inline-flex !important;
  width: auto !important;
  border-color: rgba(59,130,246,.22) !important;
  background: rgba(59,130,246,.08) !important;
  color: #3b82f6 !important;
}

body.home .private-experience-copy h2,
body.home .private-experience-copy h3,
body.home .private-experience-copy strong {
  color: #0f172a !important;
  opacity: 1 !important;
}

body.home .private-experience-copy > p,
body.home .private-experience-copy .experience-checklist p,
body.home .private-experience-copy li,
body.home .private-experience-copy small {
  color: #475569 !important;
  opacity: 1 !important;
}

body.home .private-experience-copy .experience-checklist span {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%) !important;
  box-shadow: 0 10px 24px rgba(59,130,246,.22) !important;
}

@media (max-width: 680px) {
  body.home .private-experience-copy {
    padding: 1.2rem !important;
  }

  body.home .private-experience-copy h2 {
    font-size: clamp(2rem, 9vw, 2.7rem) !important;
    line-height: 1 !important;
  }

  body.home .private-experience-copy > p,
  body.home .private-experience-copy .experience-checklist p {
    font-size: .96rem !important;
    line-height: 1.65 !important;
  }
}

/* Final homepage readability system: keep every remaining section consistent. */
body.home .tour-types,
body.home #gallery,
body.home #reviews,
body.home #faq {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

body.home .tour-types .section-heading span,
body.home #gallery .section-header .eyebrow,
body.home #reviews .review-summary .eyebrow,
body.home #faq .section-header .eyebrow,
body.home .booking-story-copy .eyebrow,
body.home .route-label {
  display: inline-flex !important;
  width: auto !important;
  border-color: rgba(59,130,246,.22) !important;
  background: rgba(59,130,246,.08) !important;
  color: #3b82f6 !important;
}

body.home .tour-types .section-heading h2,
body.home .tour-types .section-heading p,
body.home #gallery .section-header h2,
body.home #gallery .section-header p,
body.home #reviews .review-summary h2,
body.home #reviews .review-summary p,
body.home #faq .section-header h2,
body.home .booking-story-copy h2,
body.home .booking-story-copy > p,
body.home .journey-steps h3,
body.home .journey-steps p,
body.home .route-meta strong,
body.home .route-meta small {
  color: #0f172a !important;
  opacity: 1 !important;
}

body.home .tour-types .section-heading p,
body.home #gallery .section-header p,
body.home #reviews .review-summary p,
body.home .booking-story-copy > p,
body.home .journey-steps p,
body.home .route-meta small,
body.home #faq .faq-card p {
  color: #475569 !important;
}

body.home .tour-card {
  background: #0f172a !important;
  overflow: hidden !important;
}

body.home .tour-card-content {
  background:
    linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,.72) 32%, rgba(15,23,42,.96) 100%) !important;
}

body.home .tour-card-content .tour-badge {
  border-color: rgba(96,165,250,.3) !important;
  background: rgba(59,130,246,.14) !important;
  color: #dbeafe !important;
}

body.home .review-summary,
body.home .testimonial-card,
body.home .faq-card,
body.home .review-modal-panel {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: rgba(148,163,184,.22) !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.08) !important;
}

body.home .testimonial-card blockquote,
body.home .testimonial-card h4,
body.home .review-summary .testimonial-score strong,
body.home .review-modal-panel h3,
body.home .review-modal-panel label,
body.home #faq .faq-card h3 {
  color: #0f172a !important;
}

body.home .testimonial-card .stars,
body.home .review-summary .testimonial-score span {
  color: #f59e0b !important;
}

body.home .testimonial-card .review-user span,
body.home .review-summary .testimonial-score small,
body.home .review-modal-panel input,
body.home .review-modal-panel select,
body.home .review-modal-panel textarea {
  color: #475569 !important;
}

body.home .review-modal-panel input,
body.home .review-modal-panel select,
body.home .review-modal-panel textarea {
  background: #f8fafc !important;
  border-color: rgba(148,163,184,.26) !important;
}

body.home .booking-experience.adventure-cta {
  background:
    radial-gradient(circle at 12% 18%, rgba(59,130,246,.12), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

body.home .booking-story-copy,
body.home .route-map {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: rgba(148,163,184,.22) !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.08) !important;
}

body.home .journey-steps article {
  background: rgba(248,250,252,.95) !important;
  border-color: rgba(148,163,184,.18) !important;
}

body.home .journey-steps strong {
  color: #2563eb !important;
}

body.home .route-map .btn.btn-secondary {
  border-color: rgba(59,130,246,.24) !important;
  background: rgba(59,130,246,.08) !important;
  color: #1d4ed8 !important;
}

body.home .gallery-cta .link-primary,
body.home #faq .gallery-cta .link-primary {
  color: #2563eb !important;
}

@media (max-width: 680px) {
  body.home .tour-types .section-heading h2,
  body.home #gallery .section-header h2,
  body.home #reviews .review-summary h2,
  body.home #faq .section-header h2,
  body.home .booking-story-copy h2 {
    font-size: clamp(2rem, 9.5vw, 2.9rem) !important;
    line-height: 1 !important;
  }

  body.home .tour-types .section-heading p,
  body.home #gallery .section-header p,
  body.home #reviews .review-summary p,
  body.home #faq .faq-card p,
  body.home .booking-story-copy > p,
  body.home .journey-steps p {
    font-size: .96rem !important;
    line-height: 1.65 !important;
  }

  body.home .review-summary,
  body.home .booking-story-copy,
  body.home .route-map,
  body.home .review-modal-panel {
    padding: 1.2rem !important;
  }
}

/* Final all-pages background system */
:root {
  --site-bg-base: #f3f6fb;
  --site-bg-soft: #eef3f9;
  --site-bg-elevated: #ffffff;
  --site-bg-border: rgba(148, 163, 184, .20);
  --site-text-strong: #0f172a;
  --site-text-muted: #475569;
}

body.home,
body.destination-page,
body.gallery-page,
body.contact-page,
body.tour-page,
body.invoice-page,
body.legal-page {
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.08), transparent 28%),
    linear-gradient(180deg, var(--site-bg-base) 0%, #f8fafc 100%) !important;
  color: var(--site-text-strong) !important;
}

body.home main,
body.destination-page main,
body.gallery-page main,
body.contact-page main,
body.tour-page main,
body.invoice-page main,
body.legal-page main {
  background: transparent !important;
}

body.home .section,
body.home .cinematic-section,
body.home .section-light,
body.destination-page .destination-content,
body.gallery-page .gallery-showcase,
body.contact-page .contact-section,
body.contact-page .contact-map-section,
body.tour-page .shared-destination-section,
body.tour-page .tour-detail-itinerary,
body.tour-page .tour-conversion-section,
body.tour-page .tour-moments,
body.tour-page .tour-detail-highlights,
body.invoice-page main,
body.legal-page .legal-main {
  background: transparent !important;
}

body.home .private-experience,
body.home .tour-types,
body.home #gallery,
body.home #reviews,
body.home #faq,
body.home .booking-experience.adventure-cta,
body.destination-page .destination-top,
body.gallery-page .gallery-hero,
body.contact-page .contact-hero,
body.invoice-page main .section-light,
body.legal-page .legal-main {
  background: linear-gradient(180deg, var(--site-bg-soft) 0%, var(--site-bg-elevated) 100%) !important;
}

body.home .private-experience-copy,
body.home .feature-card,
body.home .faq-card,
body.home .review-summary,
body.home .testimonial-card,
body.home .review-modal-panel,
body.home .booking-story-copy,
body.home .route-map,
body.destination-page .destination-search,
body.destination-page .filter-card,
body.destination-page .compact-destination-card,
body.destination-page .visited-destinations-card,
body.gallery-page .gallery-filter-bar,
body.gallery-page .gallery-page-item,
body.gallery-page .gallery-bottom-cta,
body.contact-page .contact-panel,
body.contact-page .contact-info-grid article,
body.contact-page .contact-map-card,
body.tour-page .booking-card,
body.tour-page .checkout-summary,
body.tour-page .selected-destination-card,
body.tour-page .destination-detail-panel,
body.tour-page .package-select-panel,
body.tour-page .included-card,
body.tour-page .itinerary-card,
body.tour-page .tour-proof-panel,
body.tour-page .tour-faq-panel,
body.invoice-page .invoice-panel,
body.invoice-page .invoice-card,
body.legal-page .legal-card {
  background: var(--site-bg-elevated) !important;
  border-color: var(--site-bg-border) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .08) !important;
  color: var(--site-text-strong) !important;
}

body.home p,
body.destination-page p,
body.gallery-page p,
body.contact-page p,
body.tour-page p,
body.invoice-page p,
body.legal-page p,
body.home small,
body.destination-page small,
body.gallery-page small,
body.contact-page small,
body.tour-page small,
body.invoice-page small,
body.legal-page small,
body.home li,
body.destination-page li,
body.gallery-page li,
body.contact-page li,
body.tour-page li,
body.invoice-page li,
body.legal-page li,
body.home label,
body.destination-page label,
body.gallery-page label,
body.contact-page label,
body.tour-page label,
body.invoice-page label,
body.legal-page label,
body.home span,
body.destination-page span,
body.gallery-page span,
body.contact-page span,
body.tour-page span,
body.invoice-page span,
body.legal-page span {
  color: var(--site-text-muted) !important;
}

body.home h1,
body.home h2,
body.home h3,
body.home h4,
body.destination-page h1,
body.destination-page h2,
body.destination-page h3,
body.destination-page h4,
body.gallery-page h1,
body.gallery-page h2,
body.gallery-page h3,
body.gallery-page h4,
body.contact-page h1,
body.contact-page h2,
body.contact-page h3,
body.contact-page h4,
body.tour-page h2,
body.tour-page h3,
body.tour-page h4,
body.invoice-page h1,
body.invoice-page h2,
body.invoice-page h3,
body.invoice-page h4,
body.legal-page h1,
body.legal-page h2,
body.legal-page h3,
body.legal-page h4,
body.home strong,
body.destination-page strong,
body.gallery-page strong,
body.contact-page strong,
body.tour-page strong,
body.invoice-page strong,
body.legal-page strong,
body.home .brand,
body.destination-page .brand,
body.gallery-page .brand,
body.contact-page .brand,
body.tour-page .brand,
body.invoice-page .brand,
body.legal-page .brand {
  color: var(--site-text-strong) !important;
}

body.home .site-header,
body.destination-page .site-header,
body.gallery-page .site-header,
body.contact-page .site-header,
body.tour-page .site-header,
body.invoice-page .site-header,
body.legal-page .site-header {
  background: rgba(243,246,251,.92) !important;
  border-bottom: 1px solid rgba(148,163,184,.18) !important;
}

body.home .nav-links a,
body.destination-page .nav-links a,
body.gallery-page .nav-links a,
body.contact-page .nav-links a,
body.tour-page .nav-links a,
body.invoice-page .nav-links a,
body.legal-page .nav-links a,
body.home .menu-toggle,
body.destination-page .menu-toggle,
body.gallery-page .menu-toggle,
body.contact-page .menu-toggle,
body.tour-page .menu-toggle,
body.invoice-page .menu-toggle,
body.legal-page .menu-toggle {
  color: var(--site-text-strong) !important;
}

/* Final home exceptions after global palette */
body.home .destination-stories {
  background:
    radial-gradient(circle at 18% 12%, rgba(59,130,246,.14), transparent 30%),
    linear-gradient(180deg, #081224 0%, #0f172a 100%) !important;
}

body.home .destination-stories .eyebrow {
  color: #bfdbfe !important;
  border-color: rgba(96,165,250,.26) !important;
  background: rgba(59,130,246,.12) !important;
}

body.home .destination-stories .cinematic-heading h2,
body.home .destination-stories .destination-transition-heading h2,
body.home .destination-stories .cinematic-heading h2 span,
body.home .destination-stories .destination-transition-heading h2 span,
body.home .destination-selection-grid .story-copy h3,
body.home .destination-card-foot strong,
body.home .destination-choice-badge {
  color: #ffffff !important;
}

body.home .destination-stories .cinematic-heading p,
body.home .destination-stories .destination-transition-heading p,
body.home .destination-selection-grid .story-copy p,
body.home .destination-selection-grid .story-copy small,
body.home .destination-card-foot span {
  color: rgba(226,232,240,.82) !important;
}

body.home .tour-card,
body.home .tour-card-content,
body.home .testimonial-card,
body.home #gallery .gallery-grid > div {
  overflow: hidden !important;
}

body.home .tour-card,
body.home #gallery .gallery-grid > div,
body.home #reviews {
  background: #0f172a !important;
}

body.home .tour-card-content h3,
body.home .tour-card-content .tour-link,
body.home #gallery .section-header h2,
body.home #gallery .section-header .eyebrow,
body.home #reviews .testimonial-score strong,
body.home #reviews .testimonial-score span {
  color: #ffffff !important;
}

body.home .tour-card-content p,
body.home .tour-card-content .tour-meta,
body.home #gallery .section-header p,
body.home #reviews .testimonial-score small {
  color: rgba(226,232,240,.78) !important;
}

body.home #gallery {
  background:
    radial-gradient(circle at 22% 18%, rgba(59,130,246,.12), transparent 30%),
    linear-gradient(180deg, #0f172a 0%, #111c30 100%) !important;
}

body.home #gallery .section-header .eyebrow {
  border-color: rgba(96,165,250,.24) !important;
  background: rgba(59,130,246,.14) !important;
}

body.home #gallery .gallery-grid > div::after {
  background: linear-gradient(180deg, rgba(2,8,23,0) 0%, rgba(2,8,23,.18) 60%, rgba(2,8,23,.62) 100%) !important;
}

body.home #reviews .review-summary {
  background: #ffffff !important;
}

body.home #reviews .review-summary h2,
body.home #reviews .review-summary p,
body.home #reviews .review-summary .eyebrow {
  color: #0f172a !important;
}

body.home #reviews .review-summary .eyebrow {
  border-color: rgba(59,130,246,.22) !important;
  background: rgba(59,130,246,.08) !important;
}

/* White luxury theme: homepage + shared public base */
:root {
  --lux-bg: #FFFFFF;
  --lux-bg-alt: #F8FAFC;
  --lux-text: #111827;
  --lux-text-secondary: #6B7280;
  --lux-accent: #3B82F6;
  --lux-accent-hover: #2563EB;
  --lux-card-bg: rgba(255,255,255,0.9);
  --lux-card-border: rgba(0,0,0,0.06);
  --lux-card-shadow: none;
  --lux-hero-overlay: linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,.55));
}

body.home,
body.destination-page,
body.gallery-page,
body.contact-page,
body.tour-page,
body.invoice-page,
body.legal-page,
body.home main,
body.destination-page main,
body.gallery-page main,
body.contact-page main,
body.tour-page main,
body.invoice-page main,
body.legal-page main {
  background: var(--lux-bg) !important;
  color: var(--lux-text) !important;
}

body.home::before,
body.destination-page::before,
body.gallery-page::before,
body.contact-page::before,
body.tour-page::before,
body.invoice-page::before,
body.legal-page::before,
body.home .cinematic-shell::before,
body.destination-page .cinematic-shell::before,
body.gallery-page .cinematic-shell::before,
body.contact-page .cinematic-shell::before,
body.tour-page .cinematic-shell::before {
  display: none !important;
  background: none !important;
}

body.home .section,
body.home .cinematic-section,
body.home .section-light,
body.destination-page .destination-content,
body.gallery-page .gallery-showcase,
body.contact-page .contact-section,
body.contact-page .contact-map-section,
body.tour-page .shared-destination-section,
body.tour-page .tour-detail-itinerary,
body.tour-page .tour-conversion-section,
body.tour-page .tour-moments,
body.tour-page .tour-detail-highlights,
body.invoice-page main,
body.legal-page .legal-main {
  background: var(--lux-bg) !important;
}

body.home .private-experience,
body.home #gallery,
body.home #reviews,
body.home #faq,
body.home .booking-experience.adventure-cta,
body.destination-page .destination-top,
body.gallery-page .gallery-hero,
body.contact-page .contact-hero,
body.invoice-page main .section-light,
body.legal-page .legal-main {
  background: var(--lux-bg-alt) !important;
}

body.home .destination-stories,
body.home .tour-types {
  background: var(--lux-bg) !important;
}

body.home h1,
body.home h2,
body.home h3,
body.home h4,
body.home strong,
body.home .brand,
body.home .section-header h2,
body.home .cinematic-heading h2,
body.home .section-heading h2,
body.home .review-summary h2,
body.home .booking-story-copy h2,
body.home .private-experience-copy h2,
body.home .story-copy h3,
body.home .tour-card-content h3,
body.home .faq-card h3,
body.home .testimonial-card h4 {
  color: var(--lux-text) !important;
}

body.home p,
body.home small,
body.home li,
body.home label,
body.home span,
body.home .section-header p,
body.home .cinematic-heading p,
body.home .section-heading p,
body.home .review-summary p,
body.home .booking-story-copy > p,
body.home .private-experience-copy > p,
body.home .story-copy p,
body.home .tour-card-content p,
body.home .tour-card-content .tour-meta,
body.home .faq-card p,
body.home .testimonial-card blockquote,
body.home .testimonial-card .review-user span,
body.home .testimonial-score small,
body.home .journey-steps p,
body.home .route-meta small {
  color: var(--lux-text-secondary) !important;
}

body.home #hero.hero {
  background: #000 !important;
}

body.home #hero .hero-overlay {
  background: var(--lux-hero-overlay) !important;
}

body.home #hero .hero-content h1,
body.home #hero .hero-content h1 span,
body.home #hero .hero-text,
body.home #hero .hero-subtext,
body.home #hero .hero-scroll,
body.home #hero .eyebrow {
  color: #FFFFFF !important;
}

body.home .site-header,
body.destination-page .site-header,
body.gallery-page .site-header,
body.contact-page .site-header,
body.tour-page .site-header,
body.invoice-page .site-header,
body.legal-page .site-header {
  background: rgba(255,255,255,.8) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: none !important;
}

body.home .nav-shell,
body.destination-page .nav-shell,
body.gallery-page .nav-shell,
body.contact-page .nav-shell,
body.tour-page .nav-shell,
body.invoice-page .nav-shell,
body.legal-page .nav-shell,
body.home .mobile-menu-panel,
body.destination-page .mobile-menu-panel,
body.gallery-page .mobile-menu-panel,
body.contact-page .mobile-menu-panel,
body.tour-page .mobile-menu-panel,
body.invoice-page .mobile-menu-panel,
body.legal-page .mobile-menu-panel {
  background: rgba(255,255,255,.8) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
}

body.home a,
body.destination-page a,
body.gallery-page a,
body.contact-page a,
body.tour-page a,
body.invoice-page a,
body.legal-page a,
body.home .link-primary,
body.home .text-link {
  color: var(--lux-accent) !important;
}

body.home .btn.btn-primary,
body.home .btn-primary,
body.destination-page .btn.btn-primary,
body.gallery-page .btn.btn-primary,
body.contact-page .btn.btn-primary,
body.tour-page .btn.btn-primary,
body.invoice-page .btn.btn-primary,
body.legal-page .btn.btn-primary,
body.gallery-page .gallery-button,
body.gallery-page .gallery-filter.active {
  background: var(--lux-accent) !important;
  border-color: var(--lux-accent) !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}

body.home .btn.btn-primary:hover,
body.home .btn-primary:hover,
body.destination-page .btn.btn-primary:hover,
body.gallery-page .btn.btn-primary:hover,
body.contact-page .btn.btn-primary:hover,
body.tour-page .btn.btn-primary:hover,
body.invoice-page .btn.btn-primary:hover,
body.legal-page .btn.btn-primary:hover,
body.gallery-page .gallery-button:hover,
body.gallery-page .gallery-filter.active:hover {
  background: var(--lux-accent-hover) !important;
  border-color: var(--lux-accent-hover) !important;
}

body.home .btn.btn-secondary,
body.home .btn-secondary,
body.destination-page .btn.btn-secondary,
body.gallery-page .btn.btn-secondary,
body.contact-page .btn.btn-secondary,
body.tour-page .btn.btn-secondary,
body.invoice-page .btn.btn-secondary,
body.legal-page .btn.btn-secondary,
body.gallery-page .gallery-filter {
  background: rgba(255,255,255,.9) !important;
  color: var(--lux-text) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: none !important;
}

body.home .glass-panel,
body.home .contact-panel,
body.home .booking-card,
body.home .summary-card,
body.home .tour-proof-panel,
body.home .tour-faq-panel,
body.home .invoice-panel,
body.home .invoice-card,
body.home .compact-destination-card,
body.home .visited-destinations-card,
body.home .destination-choice-card,
body.home .tour-card,
body.home .review-card,
body.home .faq-card,
body.home .feature-card,
body.home .private-experience-copy,
body.home .review-summary,
body.home .testimonial-card,
body.home .review-modal-panel,
body.home .booking-story-copy,
body.home .route-map {
  background: var(--lux-card-bg) !important;
  border: 1px solid var(--lux-card-border) !important;
  box-shadow: var(--lux-card-shadow) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.home .destination-choice-card::before,
body.home .tour-overlay,
body.home .gallery-grid > div::after {
  background: linear-gradient(to bottom, rgba(0,0,0,.08), rgba(0,0,0,.3)) !important;
}

body.home .story-copy,
body.home .tour-card-content {
  background: linear-gradient(to top, rgba(255,255,255,.96), rgba(255,255,255,.72), rgba(255,255,255,0)) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.home .story-copy small,
body.home .destination-choice-badge,
body.home .destination-card-foot span,
body.home .tour-card-content .tour-badge,
body.home .eyebrow,
body.home .route-label {
  color: var(--lux-accent) !important;
  background: rgba(59,130,246,.08) !important;
  border: 1px solid rgba(59,130,246,.16) !important;
}

body.home .destination-card-foot strong,
body.home .tour-card-content .tour-link,
body.home .testimonial-score strong,
body.home .testimonial-score span,
body.home .route-meta strong,
body.home .journey-steps strong {
  color: var(--lux-text) !important;
}

body.home .gallery-grid > div,
body.home .tour-card,
body.home .destination-choice-card {
  background: rgba(255,255,255,.9) !important;
}

body.home .site-header,
body.destination-page .site-header,
body.gallery-page .site-header,
body.contact-page .site-header,
body.tour-page .site-header,
body.invoice-page .site-header,
body.legal-page .site-header,
body.home .btn,
body.destination-page .btn,
body.gallery-page .btn,
body.contact-page .btn,
body.tour-page .btn,
body.invoice-page .btn,
body.legal-page .btn,
body.home .gallery-button,
body.gallery-page .gallery-button,
body.home .gallery-filter,
body.gallery-page .gallery-filter,
body.home .glass-panel,
body.home .contact-panel,
body.home .booking-card,
body.home .summary-card,
body.home .tour-proof-panel,
body.home .tour-faq-panel,
body.home .invoice-panel,
body.home .invoice-card,
body.home .compact-destination-card,
body.home .visited-destinations-card,
body.home .destination-choice-card,
body.home .tour-card,
body.home .review-card,
body.home .faq-card,
body.home .feature-card,
body.home .private-experience-copy,
body.home .review-summary,
body.home .testimonial-card,
body.home .review-modal-panel,
body.home .booking-story-copy,
body.home .route-map {
  box-shadow: none !important;
}

@media (max-width: 680px) {
  body.home .destination-selection-grid.destination-transition-cards,
  body.home .destination-selection-grid {
    gap: .9rem !important;
    padding-bottom: .4rem !important;
  }

  body.home .destination-selection-grid .destination-priority-card,
  body.home .destination-selection-grid .destination-priority-card.priority-1,
  body.home .destination-selection-grid .destination-priority-card.priority-2,
  body.home .destination-selection-grid .destination-priority-card.priority-3,
  body.home .destination-selection-grid .destination-choice-card,
  body.home .destination-selection-grid .destination-choice-card.is-featured {
    flex: 0 0 min(90vw, 400px) !important;
    min-height: 370px !important;
    height: 370px !important;
    border-radius: 24px !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-copy,
  body.home .destination-selection-grid .story-copy {
    padding: .95rem .95rem .9rem !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-copy h3,
  body.home .destination-selection-grid .story-copy h3,
  body.home .destination-selection-grid .destination-priority-card.priority-1 .story-copy h3 {
    font-size: clamp(1.45rem, 6.4vw, 2rem) !important;
    line-height: 1.02 !important;
    margin: .3rem 0 .22rem !important;
    letter-spacing: -.04em !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-copy p,
  body.home .destination-selection-grid .story-copy p {
    font-size: .88rem !important;
    line-height: 1.45 !important;
    margin-bottom: .42rem !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-copy small,
  body.home .destination-selection-grid .story-copy small,
  body.home .destination-card-foot strong,
  body.home .destination-card-foot span {
    font-size: .74rem !important;
  }

  body.home .destination-card-foot {
    gap: .55rem !important;
    margin-top: .55rem !important;
    align-items: flex-end !important;
  }

  body.home .destination-card-foot span {
    padding: .6rem .78rem !important;
  }

  body.home .tour-grid {
    gap: .95rem !important;
  }

  body.home .tour-card {
    min-height: 244px !important;
    border-radius: 24px !important;
  }

  body.home .tour-card-content {
    padding: 1rem .95rem .95rem !important;
  }

  body.home .tour-card-content h3 {
    font-size: clamp(1.2rem, 5.5vw, 1.55rem) !important;
    line-height: 1.08 !important;
  }

  body.home .tour-card-content p,
  body.home .tour-card-content .tour-meta {
    font-size: .86rem !important;
    line-height: 1.45 !important;
  }

  body.home .tour-card-content .tour-badge {
    font-size: .68rem !important;
    letter-spacing: .1em !important;
  }
}

/* Final mobile tour-card repair: remove washed white layers and keep media sharp. */
body.home .tour-card {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.08) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.15) !important;
}

body.home .tour-card::before,
body.home .tour-card::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

body.home .tour-card .tour-media,
body.home .tour-card img,
body.home .tour-card video {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  filter: none !important;
}

body.home .tour-card .tour-media {
  position: absolute !important;
  inset: 0 !important;
}

body.home .tour-card .tour-media::before,
body.home .tour-card .tour-media::after {
  content: none !important;
  display: none !important;
}

body.home .tour-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  opacity: 1 !important;
  background:
    linear-gradient(
      to top,
      rgba(0,0,0,.55),
      rgba(0,0,0,.15)
    ) !important;
}

body.home .tour-card-content {
  position: absolute !important;
  inset: auto 0 0 !important;
  z-index: 2 !important;
  width: 100% !important;
  padding: 1.2rem 1.15rem 1.1rem !important;
  background: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.home .tour-card .tour-badge,
body.home .tour-card .tag {
  position: absolute !important;
  top: 1rem !important;
  right: 1rem !important;
  z-index: 3 !important;
  max-width: calc(100% - 2rem) !important;
  padding: .55rem .8rem !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  color: #ffffff !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  font-size: .7rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.home .tour-card h3,
body.home .tour-card-content h3 {
  margin: 0 0 .45rem !important;
  color: #ffffff !important;
  font-size: clamp(1.45rem, 4.8vw, 2rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.18) !important;
}

body.home .tour-card p,
body.home .tour-card-content p,
body.home .tour-card-content .tour-meta {
  color: rgba(255,255,255,.92) !important;
  font-size: .92rem !important;
  line-height: 1.5 !important;
  max-width: none !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.16) !important;
}

body.home .tour-meta {
  margin-top: .65rem !important;
  padding-top: .65rem !important;
  border-top: 1px solid rgba(255,255,255,.15) !important;
}

body.home .tour-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  margin-top: .85rem !important;
  padding: 0 1rem !important;
  border-radius: 999px !important;
  background: #3B82F6 !important;
  border: 1px solid #3B82F6 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.home .tour-link:hover {
  background: #2563EB !important;
  border-color: #2563EB !important;
  color: #ffffff !important;
  transform: none !important;
}

@media (max-width: 680px) {
  body.home .tour-grid {
    grid-template-columns: 1fr !important;
  }

  body.home .tour-card {
    width: 100% !important;
    min-height: 320px !important;
    border-radius: 24px !important;
  }

  body.home .tour-card-content {
    padding: 1rem .95rem .95rem !important;
  }

  body.home .tour-card h3,
  body.home .tour-card-content h3 {
    font-size: clamp(1.2rem, 5.6vw, 1.55rem) !important;
    line-height: 1.08 !important;
  }

  body.home .tour-card p,
  body.home .tour-card-content p,
  body.home .tour-card-content .tour-meta {
    font-size: .84rem !important;
    line-height: 1.42 !important;
  }

  body.home .tour-card .tour-badge,
  body.home .tour-card .tag {
    top: .85rem !important;
    right: .85rem !important;
    font-size: .64rem !important;
    padding: .5rem .72rem !important;
  }
}

/* Final hero CTA sizing */
body.home #hero .hero-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

body.home #hero .hero-actions .btn,
body.home #hero .hero-actions .btn.btn-large {
  width: auto !important;
  min-width: 0 !important;
  max-width: 280px !important;
  height: 56px !important;
  min-height: 56px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  flex: 0 1 auto !important;
}

@media (max-width: 680px) {
  body.home #hero .hero-actions {
    gap: 12px !important;
  }

  body.home #hero .hero-actions .btn,
  body.home #hero .hero-actions .btn.btn-large {
    width: auto !important;
    max-width: 280px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 24px !important;
    font-size: 15px !important;
    border-radius: 999px !important;
  }
}

/* Final hero feature-cards layout */
body.home #hero .hero-stats,
body.home #hero .premium-trust-strip {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 420px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home #hero .hero-stats div,
body.home #hero .premium-trust-strip div {
  min-width: 0 !important;
  width: 100% !important;
  height: 80px !important;
  min-height: 80px !important;
  padding: 10px 8px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.08) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-shadow: none !important;
}

body.home #hero .hero-stats strong,
body.home #hero .premium-trust-strip strong {
  font-size: clamp(.88rem, 2.8vw, 1rem) !important;
  line-height: 1.05 !important;
  margin: 0 0 4px !important;
}

body.home #hero .hero-stats span,
body.home #hero .premium-trust-strip span {
  font-size: clamp(.66rem, 2.2vw, .74rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

@media (max-width: 767px) {
  body.home #hero .hero-stats,
  body.home #hero .premium-trust-strip {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.home #hero .hero-stats div,
  body.home #hero .premium-trust-strip div {
    height: 80px !important;
    min-height: 80px !important;
    padding: 8px 6px !important;
    border-radius: 16px !important;
  }

  body.home #hero .hero-stats strong,
  body.home #hero .premium-trust-strip strong {
    font-size: .84rem !important;
  }

  body.home #hero .hero-stats span,
  body.home #hero .premium-trust-strip span {
    font-size: .64rem !important;
  }
}

/* Final hero color repair: lighter overlay, brighter media, no side blackout */
body.home #hero.hero {
  background:
    var(--hero-poster) center center / cover no-repeat,
    #000000 !important;
}

body.home #hero .hero-atmosphere,
body.home #hero.hero::before,
body.home #hero.hero::after,
body.home #hero .hero-video::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  background: none !important;
}

body.home #hero .hero-overlay {
  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.25),
      rgba(0,0,0,.45)
    ) !important;
}

body.home #hero .hero-video video,
body.home #hero .hero-video img {
  filter: brightness(1.14) contrast(1.03) saturate(1.06) !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  body.home #hero.hero {
    background:
      var(--hero-poster) center center / cover no-repeat,
      #000000 !important;
  }

  body.home #hero .hero-overlay {
    background:
      linear-gradient(
        to bottom,
        rgba(0,0,0,.25),
        rgba(0,0,0,.45)
      ) !important;
  }

  body.home #hero .hero-video video,
  body.home #hero .hero-video img {
    filter: brightness(1.18) contrast(1.03) saturate(1.07) !important;
  }
}

/* Final mobile premium refactor layer */
@media (max-width: 767px) {
  body.home,
  body.destination-page,
  body.gallery-page,
  body.contact-page,
  body.tour-page,
  body.invoice-page,
  body.legal-page {
    overflow-x: clip !important;
  }

  body.home .cinematic-section,
  body.home .section,
  body.destination-page main section,
  body.gallery-page main section,
  body.contact-page main section,
  body.tour-page main section,
  body.invoice-page main section,
  body.legal-page main section {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  .site-header.glass-site-header,
  body.home .site-header.glass-site-header,
  body.destination-page .site-header.glass-site-header,
  body.gallery-page .site-header.glass-site-header,
  body.contact-page .site-header.glass-site-header,
  body.tour-page .site-header.glass-site-header,
  body.invoice-page .site-header.glass-site-header,
  body.legal-page .site-header.glass-site-header {
    top: 10px !important;
    padding-inline: 12px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .site-header.glass-site-header .header-inner {
    min-height: 64px !important;
    height: 64px !important;
    padding: 0 16px !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,0.9) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(0,0,0,.06) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.08) !important;
  }

  .site-header.glass-site-header .brand-logo {
    max-width: calc(100vw - 96px) !important;
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .site-header.glass-site-header .brand-logo img {
    height: 36px !important;
    max-height: 36px !important;
    width: auto !important;
    max-width: 120px !important;
    object-fit: contain !important;
    opacity: 1 !important;
    filter: none !important;
  }

  .site-header.glass-site-header .brand-logo::before,
  .site-header.glass-site-header .brand-logo::after {
    display: none !important;
    content: none !important;
  }

  .site-header.glass-site-header .menu-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin-left: 12px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(0,0,0,.06) !important;
    background: rgba(255,255,255,.72) !important;
    color: #111827 !important;
    box-shadow: none !important;
  }

  .site-header.glass-site-header .menu-toggle span {
    width: 18px !important;
    height: 2px !important;
    background: #111827 !important;
  }

  .site-header.glass-site-header .nav-links {
    width: min(88vw, 360px) !important;
    min-width: 0 !important;
    padding: 5.3rem 1rem 1rem !important;
    background: rgba(255,255,255,.96) !important;
    border-left: 1px solid rgba(0,0,0,.06) !important;
    box-shadow: none !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
  }

  .site-header.glass-site-header .nav-links > a,
  .site-header.glass-site-header .nav-dropdown-trigger,
  .site-header.glass-site-header .nav-dropdown-menu a {
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    color: #111827 !important;
    font-size: 14px !important;
    letter-spacing: .04em !important;
    background: transparent !important;
  }

  body.home #hero.hero {
    min-height: 85vh !important;
  }

  body.home #hero .hero-content {
    padding-top: 110px !important;
    padding-bottom: 60px !important;
    max-width: 360px !important;
  }

  body.home #hero .hero-content h1 {
    max-width: 320px !important;
    margin: 14px auto !important;
    font-size: clamp(42px, 8vw, 56px) !important;
    line-height: .95 !important;
    letter-spacing: -0.04em !important;
    font-weight: 800 !important;
  }

  body.home #hero .hero-text,
  body.home #hero .hero-subtext {
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: rgba(255,255,255,.85) !important;
    opacity: 1 !important;
  }

  body.home #hero .hero-subtext {
    margin-top: 8px !important;
    font-size: 15px !important;
  }

  body.home #hero .hero-actions {
    gap: 12px !important;
    max-width: 320px !important;
  }

  body.home #hero .hero-actions .btn,
  body.home #hero .hero-actions .btn.btn-large {
    width: 220px !important;
    max-width: 220px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
  }

  body.home #hero .hero-stats,
  body.home #hero .premium-trust-strip {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    max-width: 100% !important;
  }

  body.home #hero .hero-stats div,
  body.home #hero .premium-trust-strip div {
    height: 80px !important;
    min-height: 80px !important;
    padding: 10px 8px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  body.home .section-header,
  body.home .section-heading,
  body.home .cinematic-heading,
  body.destination-page .section-header,
  body.gallery-page .section-header,
  body.contact-page .section-header,
  body.tour-page .section-header {
    margin-bottom: 16px !important;
    gap: 16px !important;
  }

  body.home .section-header h2,
  body.home .section-heading h2,
  body.home .cinematic-heading h2,
  body.destination-page .section-header h2,
  body.gallery-page .section-header h2,
  body.contact-page .section-header h2,
  body.tour-page .section-header h2,
  body.destination-page .destination-top h1,
  body.gallery-page .gallery-hero h1,
  body.contact-page .contact-hero h1,
  body.tour-page .tour-detail-content h1 {
    color: #111827 !important;
    font-size: clamp(2rem, 8vw, 2.8rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.04em !important;
  }

  body.home .section-header p,
  body.home .section-heading p,
  body.home .cinematic-heading p,
  body.destination-page .section-header p,
  body.gallery-page .section-header p,
  body.contact-page .section-header p,
  body.tour-page .section-header p,
  body.destination-page p,
  body.gallery-page p,
  body.contact-page p,
  body.tour-page p,
  body.invoice-page p,
  body.legal-page p {
    color: #4B5563 !important;
    opacity: 1 !important;
  }

  body.home .destination-selection-grid.destination-transition-cards,
  body.home .destination-selection-grid {
    gap: 16px !important;
  }

  body.home .destination-selection-grid .destination-priority-card,
  body.home .destination-selection-grid .destination-priority-card.priority-1,
  body.home .destination-selection-grid .destination-priority-card.priority-2,
  body.home .destination-selection-grid .destination-priority-card.priority-3,
  body.home .destination-selection-grid .destination-choice-card,
  body.home .destination-selection-grid .destination-choice-card.is-featured {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-height: 420px !important;
    height: 420px !important;
    border-radius: 24px !important;
  }

  body.home .destination-selection-grid .story-media,
  body.home .destination-selection-grid .story-media img,
  body.home .destination-selection-grid .story-media video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    min-height: 100% !important;
    max-height: none !important;
    filter: none !important;
    opacity: 1 !important;
  }

  body.home .destination-selection-grid .destination-priority-card::before,
  body.home .destination-selection-grid .destination-choice-card::before {
    background:
      linear-gradient(
        to top,
        rgba(0,0,0,.65),
        rgba(0,0,0,.15)
      ) !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-copy,
  body.home .destination-selection-grid .story-copy {
    padding: 24px !important;
    gap: 16px !important;
    background: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-copy h3,
  body.home .destination-selection-grid .story-copy h3,
  body.home .destination-selection-grid .destination-priority-card.priority-1 .story-copy h3 {
    color: #FFFFFF !important;
    font-size: clamp(1.5rem, 6vw, 2rem) !important;
    line-height: 1.02 !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-copy p,
  body.home .destination-selection-grid .story-copy p {
    color: rgba(255,255,255,.9) !important;
    font-size: .92rem !important;
    line-height: 1.55 !important;
    opacity: 1 !important;
  }

  body.home .destination-selection-grid .destination-priority-card .story-copy small,
  body.home .destination-selection-grid .story-copy small,
  body.home .destination-card-foot strong,
  body.home .destination-card-foot span {
    color: rgba(255,255,255,.92) !important;
  }

  body.home .private-experience-copy,
  body.home .review-summary,
  body.home .testimonial-card,
  body.home .booking-story-copy,
  body.home .route-map,
  body.home .faq-card,
  body.destination-page .destination-search,
  body.destination-page .filter-card,
  body.gallery-page .gallery-filter-bar,
  body.gallery-page .gallery-page-item,
  body.contact-page .contact-panel,
  body.contact-page .contact-info-grid article,
  body.tour-page .booking-card,
  body.tour-page .checkout-summary,
  body.tour-page .tour-proof-panel,
  body.tour-page .tour-faq-panel,
  body.invoice-page .invoice-panel,
  body.invoice-page .invoice-card,
  body.legal-page .legal-card {
    padding: 24px !important;
    gap: 16px !important;
  }
}

@media (max-width: 430px) {
  .site-header.glass-site-header .brand-logo img {
    max-width: 108px !important;
  }

  body.home #hero .hero-content {
    max-width: 332px !important;
  }
}

@media (max-width: 360px) {
  .site-header.glass-site-header {
    padding-inline: 10px !important;
  }

  .site-header.glass-site-header .header-inner {
    padding-inline: 14px !important;
  }

  body.home #hero .hero-content h1 {
    font-size: clamp(38px, 11vw, 44px) !important;
  }

  body.home #hero .hero-actions .btn,
  body.home #hero .hero-actions .btn.btn-large {
    width: min(220px, 100%) !important;
    max-width: 220px !important;
  }
}

/* Final premium mobile navbar */
@media (max-width: 767px) {
  .site-header.glass-site-header,
  body.home .site-header.glass-site-header,
  body.destination-page .site-header.glass-site-header,
  body.gallery-page .site-header.glass-site-header,
  body.contact-page .site-header.glass-site-header,
  body.tour-page .site-header.glass-site-header,
  body.invoice-page .site-header.glass-site-header,
  body.legal-page .site-header.glass-site-header {
    position: fixed !important;
    top: 12px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    padding: 0 !important;
    z-index: 999 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .site-header.glass-site-header .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 60px !important;
    height: 60px !important;
    padding: 0 14px !important;
    border-radius: 18px !important;
    background: rgba(10,15,25,.65) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.25) !important;
  }

  .site-header.glass-site-header .brand-logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 1 auto !important;
    min-height: 34px !important;
    max-width: calc(100vw - 92px) !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .site-header.glass-site-header .brand-logo::before,
  .site-header.glass-site-header .brand-logo::after {
    display: none !important;
    content: none !important;
  }

  .site-header.glass-site-header .brand-logo img {
    display: block !important;
    height: 32px !important;
    max-height: 32px !important;
    width: auto !important;
    max-width: 118px !important;
    object-fit: contain !important;
    opacity: 1 !important;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,.28)) !important;
  }

  .site-header.glass-site-header .menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: none !important;
    color: #ffffff !important;
    align-self: center !important;
  }

  .site-header.glass-site-header .menu-toggle span {
    display: none !important;
  }

  .site-header.glass-site-header .menu-toggle .menu-toggle-icon {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    color: #ffffff !important;
    flex: 0 0 auto !important;
  }

  .site-header.glass-site-header .nav-links {
    top: 0 !important;
    right: -100% !important;
    width: min(86vw, 340px) !important;
    height: 100dvh !important;
    padding: 5.2rem .95rem 1rem !important;
    background: #0b1220 !important;
    background-image: linear-gradient(180deg, #111827 0%, #0b1220 100%) !important;
    border-left: 1px solid rgba(255,255,255,.08) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: -18px 0 40px rgba(0,0,0,.38) !important;
  }

  .site-header.glass-site-header .nav-links.nav-open {
    right: 0 !important;
  }

  .site-header.glass-site-header .nav-links > a,
  .site-header.glass-site-header .nav-dropdown-trigger,
  .site-header.glass-site-header .nav-dropdown-menu a {
    color: rgba(255,255,255,.92) !important;
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.06) !important;
  }

  body.home #hero .hero-content {
    padding-top: 90px !important;
  }

  body.home #hero .hero-content h1 {
    font-size: 44px !important;
    line-height: .95 !important;
  }

  body.home #hero .hero-text,
  body.home #hero .hero-subtext {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

/* Absolute final fix: Choose Your Escape text must stay dark on white */
body.home section.destination-stories,
body.home section.destination-stories .container,
body.home section.destination-stories .cinematic-heading,
body.home section.destination-stories .destination-transition-heading {
  background: #ffffff !important;
  color: #111827 !important;
  opacity: 1 !important;
}

body.home section.destination-stories .cinematic-heading *,
body.home section.destination-stories .destination-transition-heading * {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
}

body.home section.destination-stories .cinematic-heading .eyebrow,
body.home section.destination-stories .destination-transition-heading .eyebrow {
  background: #EFF6FF !important;
  border: 1px solid #BFDBFE !important;
  color: #2563EB !important;
  -webkit-text-fill-color: #2563EB !important;
}

body.home section.destination-stories .cinematic-heading h2,
body.home section.destination-stories .destination-transition-heading h2,
body.home section.destination-stories .cinematic-heading h2 span,
body.home section.destination-stories .destination-transition-heading h2 span {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  opacity: 1 !important;
}

body.home section.destination-stories .cinematic-heading p,
body.home section.destination-stories .destination-transition-heading p {
  color: #4B5563 !important;
  -webkit-text-fill-color: #4B5563 !important;
  opacity: 1 !important;
}

/* Final testimonials redesign */
body.home #reviews {
  background: #FFFFFF !important;
  padding-top: 36px !important;
  padding-bottom: 36px !important;
  overflow: hidden !important;
  scroll-margin-top: 118px !important;
}

body.home #reviews .container {
  max-width: 1200px !important;
}

body.home #reviews .testimonial-layout {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 22px !important;
}

body.home #reviews .review-summary {
  max-width: 500px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
}

body.home #reviews .review-summary .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  padding: .62rem .92rem !important;
  border-radius: 999px !important;
  background: #EFF6FF !important;
  border: 1px solid #BFDBFE !important;
  color: #2563EB !important;
}

body.home #reviews .review-summary h2 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: clamp(1.85rem, 4vw, 2.9rem) !important;
  line-height: .92 !important;
  letter-spacing: -0.045em !important;
  font-weight: 800 !important;
  max-width: 9ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home #reviews .review-summary > p {
  max-width: 500px !important;
  margin: 0 auto !important;
  color: #4B5563 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

body.home #reviews .review-trust-points {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

body.home #reviews .review-trust-points span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #F8FAFC !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  color: #111827 !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
}

body.home #reviews .testimonial-score,
body.home #reviews .testimonial-actions,
body.home #reviews .testimonial-columns,
body.home #reviews .testimonial-column,
body.home #reviews .testimonial-column-track {
  display: none !important;
}

body.home #reviews .testimonial-rail {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

body.home #reviews .testimonial-card {
  min-width: 0 !important;
  min-height: 100% !important;
  padding: 18px !important;
  border-radius: 20px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.08) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

body.home #reviews .testimonial-card .stars {
  margin: 0 !important;
  color: #F59E0B !important;
  font-size: .92rem !important;
  letter-spacing: .08em !important;
}

body.home #reviews .testimonial-card blockquote {
  margin: 0 !important;
  color: #111827 !important;
  font-size: .9rem !important;
  line-height: 1.52 !important;
}

body.home #reviews .testimonial-card .review-user {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding-top: 12px !important;
  margin-top: auto !important;
  border-top: 1px solid rgba(0,0,0,.06) !important;
}

body.home #reviews .testimonial-card .review-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: #DBEAFE !important;
  color: #2563EB !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}

body.home #reviews .testimonial-card h4 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: .92rem !important;
}

body.home #reviews .testimonial-card .review-user span,
body.home #reviews .testimonial-card .review-user small {
  display: block !important;
  color: #4B5563 !important;
  font-size: .8rem !important;
  line-height: 1.4 !important;
}

body.home #reviews .review-write-row {
  width: 100% !important;
  margin-top: 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

@media (max-width: 1024px) {
  body.home #reviews .testimonial-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.home #reviews {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    scroll-margin-top: 126px !important;
  }

  body.home #reviews .testimonial-layout {
    gap: 18px !important;
  }

  body.home #reviews .review-summary {
    padding-top: 8px !important;
  }

  body.home #reviews .review-summary h2 {
    font-size: clamp(1.7rem, 7.5vw, 2.2rem) !important;
    line-height: .92 !important;
  }

  body.home #reviews .review-summary > p {
    font-size: 14px !important;
    line-height: 1.52 !important;
  }

  body.home #reviews .review-trust-points {
    gap: 10px !important;
  }

  body.home #reviews .review-trust-points span {
    min-height: 34px !important;
    padding: 0 12px !important;
    font-size: .76rem !important;
  }

  body.home #reviews .testimonial-rail {
    display: flex !important;
    gap: 16px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 0 !important;
    padding: 4px 0 8px !important;
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
  }

  body.home #reviews .testimonial-rail::-webkit-scrollbar {
    display: none !important;
  }

  body.home #reviews .testimonial-card {
    flex: 0 0 min(82vw, 320px) !important;
    scroll-snap-align: start !important;
    min-height: 0 !important;
    padding: 18px !important;
    gap: 12px !important;
  }

  body.home #reviews .testimonial-card blockquote {
    font-size: .9rem !important;
    line-height: 1.52 !important;
  }
}

/* Trusted Guides luxury redesign */
body.home #reviews {
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.08), transparent 30%),
    radial-gradient(circle at bottom right, rgba(14,165,233,.08), transparent 26%),
    #F8FAFC !important;
}

body.home #reviews .reviews-story-section {
  gap: 26px !important;
}

body.home #reviews .reviews-story-section .review-summary {
  max-width: 800px !important;
}

body.home #reviews .reviews-story-section .review-summary .eyebrow {
  background: rgba(59,130,246,.14) !important;
  border: 1px solid rgba(59,130,246,.18) !important;
  color: #2563EB !important;
}

body.home #reviews .reviews-story-section .review-summary h2 {
  max-width: 800px !important;
  font-size: clamp(48px, 7vw, 84px) !important;
  line-height: .95 !important;
  letter-spacing: -0.05em !important;
}

body.home #reviews .reviews-story-section .review-summary > p {
  max-width: 640px !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

body.home #reviews .reviews-story-section .review-trust-points {
  display: none !important;
}

body.home #reviews .reviews-stat-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.home #reviews .reviews-stat-card {
  padding: 22px 24px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.68) !important;
  border: 1px solid rgba(255,255,255,.5) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  box-shadow: 0 16px 40px rgba(15,23,42,.06) !important;
  text-align: center !important;
}

body.home #reviews .reviews-stat-card strong {
  display: block !important;
  margin-bottom: 6px !important;
  color: #111827 !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: .95 !important;
  letter-spacing: -0.05em !important;
}

body.home #reviews .reviews-stat-card span {
  color: #6B7280 !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
}

body.home #reviews .reviews-feature-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.home #reviews .reviews-feature-card {
  padding: 24px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(0,0,0,.05) !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.05) !important;
  display: grid !important;
  gap: 12px !important;
  align-content: start !important;
}

body.home #reviews .reviews-feature-icon {
  width: 48px !important;
  height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 16px !important;
  background: #EFF6FF !important;
  color: #2563EB !important;
  font-size: 1.2rem !important;
  font-weight: 800 !important;
}

body.home #reviews .reviews-feature-card h3 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: 1.06rem !important;
}

body.home #reviews .reviews-feature-card p {
  margin: 0 !important;
  color: #6B7280 !important;
  font-size: .92rem !important;
  line-height: 1.65 !important;
}

body.home #reviews .testimonial-rail-wrap {
  width: 100% !important;
  overflow: hidden !important;
}

body.home #reviews .reviews-story-section .testimonial-rail {
  width: 100% !important;
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(320px, 36%) !important;
  gap: 18px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 4px 2px 10px !important;
  scroll-snap-type: x proximity !important;
  scrollbar-width: none !important;
  cursor: grab !important;
}

body.home #reviews .reviews-story-section .testimonial-rail::-webkit-scrollbar {
  display: none !important;
}

body.home #reviews .reviews-story-section .testimonial-card {
  min-height: 100% !important;
  padding: 32px !important;
  border-radius: 32px !important;
  background: rgba(255,255,255,.9) !important;
  border: 1px solid rgba(0,0,0,.05) !important;
  box-shadow: 0 30px 60px rgba(0,0,0,.08) !important;
  gap: 22px !important;
  scroll-snap-align: start !important;
}

body.home #reviews .reviews-story-section .testimonial-card blockquote {
  font-size: 1rem !important;
  line-height: 1.8 !important;
}

body.home #reviews .reviews-story-section .review-user {
  gap: 14px !important;
  padding-top: 18px !important;
}

body.home #reviews .reviews-story-section .review-avatar {
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #DBEAFE !important;
}

body.home #reviews .reviews-story-section .review-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

body.home #reviews .reviews-story-section .review-user h4 {
  font-size: 1rem !important;
}

body.home #reviews .reviews-story-section .review-user span,
body.home #reviews .reviews-story-section .review-user small {
  font-size: .88rem !important;
}

@media (max-width: 1024px) {
  body.home #reviews .reviews-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.home #reviews .reviews-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home #reviews .reviews-story-section .testimonial-rail {
    grid-auto-columns: minmax(320px, 52%) !important;
  }
}

@media (max-width: 767px) {
  body.home #reviews {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  body.home #reviews .reviews-story-section .review-summary h2 {
    font-size: 42px !important;
    line-height: .95 !important;
  }

  body.home #reviews .reviews-stat-grid,
  body.home #reviews .reviews-feature-grid {
    grid-template-columns: 1fr !important;
  }

  body.home #reviews .reviews-story-section .testimonial-rail {
    grid-auto-columns: minmax(84vw, 84vw) !important;
    gap: 14px !important;
  }

  body.home #reviews .reviews-story-section .testimonial-card {
    padding: 24px !important;
    border-radius: 24px !important;
  }
}

/* Final compact review section based on reference */
body.home #reviews {
  background: #F8FAFC !important;
  padding-top: 64px !important;
  padding-bottom: 48px !important;
}

body.home #reviews .testimonial-layout.review-compact-layout {
  gap: 22px !important;
  align-items: stretch !important;
}

body.home #reviews .reviews-stat-grid,
body.home #reviews .reviews-feature-grid,
body.home #reviews .review-trust-points {
  display: none !important;
}

body.home #reviews .review-summary {
  max-width: 840px !important;
  text-align: center !important;
}

body.home #reviews .review-summary .eyebrow {
  background: transparent !important;
  border: 0 !important;
  color: #2563EB !important;
  padding: 0 !important;
  min-height: 0 !important;
  font-size: .9rem !important;
  letter-spacing: .14em !important;
  font-weight: 800 !important;
}

body.home #reviews .review-summary h2 {
  max-width: 940px !important;
  font-size: clamp(2.4rem, 5vw, 4rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.05em !important;
}

body.home #reviews .review-summary h2 span {
  color: #1D74E7 !important;
  -webkit-text-fill-color: #1D74E7 !important;
  font-style: italic !important;
}

body.home #reviews .review-summary > p {
  display: none !important;
}

body.home #reviews .review-rating-band {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 20px !important;
  align-items: center !important;
  width: 100% !important;
}

body.home #reviews .review-rating-score strong {
  display: block !important;
  color: #111827 !important;
  font-size: clamp(3.1rem, 6vw, 4.3rem) !important;
  line-height: .9 !important;
  letter-spacing: -0.06em !important;
}

body.home #reviews .review-rating-score .stars {
  margin-top: 8px !important;
  color: #F59E0B !important;
  font-size: 1.1rem !important;
  letter-spacing: .1em !important;
}

body.home #reviews .review-rating-score span {
  display: block !important;
  margin-top: 8px !important;
  color: #64748B !important;
  font-size: 1rem !important;
}

body.home #reviews .review-platform-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  align-items: center !important;
}

body.home #reviews .review-platform-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.9) !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.04) !important;
}

body.home #reviews .review-platform-pill small {
  color: #111827 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
}

body.home #reviews .review-platform-pill span {
  color: #334155 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

body.home #reviews .testimonial-rail-wrap {
  width: 100% !important;
}

body.home #reviews .testimonial-rail.compact-rail {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  overflow: visible !important;
  padding: 0 !important;
}

body.home #reviews .testimonial-card {
  padding: 28px 24px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 16px 34px rgba(15,23,42,.06) !important;
}

body.home #reviews .testimonial-card .stars {
  color: #F59E0B !important;
  font-size: 1rem !important;
}

body.home #reviews .testimonial-card blockquote {
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: #334155 !important;
}

body.home #reviews .testimonial-card .review-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  background: #DBEAFE !important;
  color: #2563EB !important;
}

body.home #reviews .testimonial-card .review-avatar img {
  display: none !important;
}

body.home #reviews .testimonial-card h4 {
  font-size: 1.02rem !important;
}

body.home #reviews .testimonial-card .review-user span,
body.home #reviews .testimonial-card .review-user small {
  color: #64748B !important;
  font-size: .92rem !important;
}

body.home #reviews .review-crew-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

body.home #reviews .review-crew-avatars {
  display: flex !important;
  align-items: center !important;
}

body.home #reviews .review-crew-avatars span {
  width: 34px !important;
  height: 34px !important;
  margin-left: -8px !important;
  border-radius: 999px !important;
  border: 2px solid #F8FAFC !important;
  background: #DBEAFE !important;
  color: #2563EB !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
}

body.home #reviews .review-crew-avatars span:first-child {
  margin-left: 0 !important;
}

body.home #reviews .review-crew-row p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: .95rem !important;
}

body.home #reviews .review-crew-row strong {
  color: #111827 !important;
}

body.home #reviews .review-write-row {
  justify-content: flex-start !important;
}

@media (max-width: 1024px) {
  body.home #reviews .review-rating-band {
    grid-template-columns: 1fr !important;
  }

  body.home #reviews .testimonial-rail.compact-rail {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 767px) {
  body.home #reviews .review-summary h2 {
    font-size: clamp(2rem, 8vw, 2.8rem) !important;
  }

  body.home #reviews .review-rating-score strong {
    font-size: 3rem !important;
  }

  body.home #reviews .testimonial-rail.compact-rail {
    display: flex !important;
    overflow-x: auto !important;
    gap: 16px !important;
    padding-bottom: 8px !important;
    scroll-snap-type: x proximity !important;
  }

  body.home #reviews .testimonial-rail.compact-rail .testimonial-card {
    flex: 0 0 min(84vw, 320px) !important;
    scroll-snap-align: start !important;
  }
}

/* Final Choose Your Escape section refactor */
body.home .destination-stories {
  background: #FFFFFF !important;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

body.home .destination-stories .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 20px !important;
}

body.home .destination-selection-grid,
body.home .destination-selection-grid.destination-transition-cards {
  width: 100% !important;
  align-self: stretch !important;
}

body.home .destination-transition-heading,
body.home .cinematic-heading.destination-transition-heading,
body.home .destination-stories .cinematic-heading {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
}

body.home .destination-stories .eyebrow,
body.home .destination-transition-heading .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  margin: 0 !important;
  padding: .6rem .9rem !important;
  border-radius: 999px !important;
  background: #EFF6FF !important;
  border: 1px solid #BFDBFE !important;
  color: #2563EB !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  text-shadow: none !important;
}

body.home .destination-stories .cinematic-heading h2,
body.home .destination-transition-heading h2,
body.home .destination-stories .cinematic-heading h2 span,
body.home .destination-transition-heading h2 span {
  margin: 0 !important;
  color: #111827 !important;
  font-weight: 800 !important;
  font-size: 72px !important;
  line-height: .95 !important;
  letter-spacing: -0.04em !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  text-shadow: none !important;
  -webkit-text-fill-color: currentColor !important;
}

body.home .destination-stories .cinematic-heading p,
body.home .destination-transition-heading p {
  max-width: 600px !important;
  margin: 0 !important;
  color: #4B5563 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  text-shadow: none !important;
}

@media (max-width: 1024px) {
  body.home .destination-stories .cinematic-heading h2,
  body.home .destination-transition-heading h2,
  body.home .destination-stories .cinematic-heading h2 span,
  body.home .destination-transition-heading h2 span {
    font-size: 56px !important;
  }
}

@media (max-width: 767px) {
  body.home .destination-stories {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  body.home .destination-transition-heading,
  body.home .cinematic-heading.destination-transition-heading,
  body.home .destination-stories .cinematic-heading {
    gap: 20px !important;
    max-width: 340px !important;
  }

  body.home .destination-stories .cinematic-heading h2,
  body.home .destination-transition-heading h2,
  body.home .destination-stories .cinematic-heading h2 span,
  body.home .destination-transition-heading h2 span {
    font-size: 42px !important;
  }

  body.home .destination-stories .container {
    align-items: center !important;
  }

  body.home .destination-selection-grid,
  body.home .destination-selection-grid.destination-transition-cards {
    width: 100% !important;
    justify-content: center !important;
    justify-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home .destination-selection-grid .destination-priority-card,
  body.home .destination-selection-grid .destination-priority-card.priority-1,
  body.home .destination-selection-grid .destination-priority-card.priority-2,
  body.home .destination-selection-grid .destination-priority-card.priority-3,
  body.home .destination-selection-grid .destination-choice-card,
  body.home .destination-selection-grid .destination-choice-card.is-featured {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home .destination-selection-grid + .text-link {
    display: inline-flex !important;
    justify-content: center !important;
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

/* Absolute final fix: testimonials section must stay light and readable */
body.home section#reviews,
body.home section#reviews .container,
body.home section#reviews .testimonial-layout {
  background: #FFFFFF !important;
  color: #111827 !important;
  opacity: 1 !important;
}

body.home section#reviews .review-summary,
body.home section#reviews .testimonial-card,
body.home section#reviews .review-write-row {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

body.home section#reviews .review-summary .eyebrow {
  background: #EFF6FF !important;
  border: 1px solid #BFDBFE !important;
  color: #2563EB !important;
  -webkit-text-fill-color: #2563EB !important;
}

body.home section#reviews .review-summary h2,
body.home section#reviews .review-summary h2 span,
body.home section#reviews .review-summary > p,
body.home section#reviews .review-trust-points span,
body.home section#reviews .testimonial-card blockquote,
body.home section#reviews .testimonial-card h4,
body.home section#reviews .testimonial-card .review-user span,
body.home section#reviews .testimonial-card .review-user small {
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

body.home section#reviews .review-summary h2,
body.home section#reviews .review-summary h2 span,
body.home section#reviews .testimonial-card blockquote,
body.home section#reviews .testimonial-card h4 {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

body.home section#reviews .review-summary > p,
body.home section#reviews .testimonial-card .review-user span,
body.home section#reviews .testimonial-card .review-user small {
  color: #4B5563 !important;
  -webkit-text-fill-color: #4B5563 !important;
}

body.home section#reviews .review-trust-points span {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  background: #F8FAFC !important;
}

/* Final page theme sync: match index white premium palette */
body.destination-page,
body.gallery-page,
body.contact-page,
body.tour-page,
body.destination-page main,
body.gallery-page main,
body.contact-page main,
body.tour-page main {
  background: #FFFFFF !important;
  color: #111827 !important;
}

body.destination-page::before,
body.gallery-page::before,
body.contact-page::before,
body.tour-page::before,
body.destination-page .cinematic-shell::before,
body.gallery-page .cinematic-shell::before,
body.contact-page .cinematic-shell::before,
body.tour-page .cinematic-shell::before,
body.destination-page .hero-light-beam,
body.tour-page .hero-light-beam {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.destination-page .destination-top,
body.gallery-page .gallery-hero,
body.contact-page .contact-hero,
body.tour-page .tour-detail-hero {
  background: #FFFFFF !important;
  color: #111827 !important;
  box-shadow: none !important;
}

body.destination-page .destination-top::before,
body.gallery-page .gallery-hero::before,
body.contact-page .contact-hero::before,
body.contact-page .contact-hero::after,
body.tour-page .tour-detail-hero::before,
body.tour-page .tour-detail-overlay {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.tour-page .tour-detail-video,
body.contact-page .contact-hero-video {
  opacity: 1 !important;
  filter: none !important;
  border-radius: 32px !important;
  overflow: hidden !important;
}

body.tour-page .tour-detail-video::after,
body.contact-page .contact-hero-video::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to bottom, rgba(255,255,255,.12), rgba(255,255,255,.28)) !important;
  pointer-events: none !important;
}

body.gallery-page .gallery-hero,
body.contact-page .contact-hero,
body.tour-page .tour-detail-hero,
body.destination-page .destination-top {
  padding-top: 120px !important;
  padding-bottom: 72px !important;
}

body.gallery-page .gallery-hero h1,
body.contact-page .contact-hero h1,
body.tour-page .tour-detail-content h1,
body.destination-page .destination-top h1,
body.destination-page .destination-top h2 {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  text-shadow: none !important;
}

body.gallery-page .gallery-hero h1 span,
body.tour-page .tour-detail-content h1 span {
  color: #3B82F6 !important;
  -webkit-text-fill-color: #3B82F6 !important;
}

body.gallery-page p,
body.contact-page p,
body.tour-page p,
body.destination-page p,
body.gallery-page small,
body.contact-page small,
body.tour-page small,
body.destination-page small,
body.destination-page li,
body.gallery-page li,
body.contact-page li,
body.tour-page li,
body.destination-page span,
body.gallery-page span,
body.contact-page span,
body.tour-page span,
body.destination-page label,
body.gallery-page label,
body.contact-page label,
body.tour-page label {
  color: #6B7280 !important;
  opacity: 1 !important;
}

body.destination-page strong,
body.gallery-page strong,
body.contact-page strong,
body.tour-page strong,
body.destination-page h1,
body.destination-page h2,
body.destination-page h3,
body.destination-page h4,
body.gallery-page h1,
body.gallery-page h2,
body.gallery-page h3,
body.gallery-page h4,
body.contact-page h1,
body.contact-page h2,
body.contact-page h3,
body.contact-page h4,
body.tour-page h2,
body.tour-page h3,
body.tour-page h4 {
  color: #111827 !important;
}

body.destination-page .destination-panel,
body.destination-page .destination-search,
body.destination-page .filter-card,
body.destination-page .compact-destination-card,
body.destination-page .visited-destinations-card,
body.gallery-page .gallery-filter-bar,
body.gallery-page .gallery-page-item,
body.gallery-page .gallery-bottom-cta,
body.contact-page .contact-panel,
body.contact-page .contact-info-grid article,
body.contact-page .contact-map,
body.tour-page .booking-card,
body.tour-page .checkout-summary,
body.tour-page .selected-destination-card,
body.tour-page .destination-detail-panel,
body.tour-page .destination-detail-panel > div,
body.tour-page .package-select-panel,
body.tour-page .included-card,
body.tour-page .itinerary-card,
body.tour-page .tour-proof-panel,
body.tour-page .tour-faq-panel,
body.tour-page .tour-detail-summary-card,
body.tour-page .tour-detail-list li {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.destination-page .destination-search,
body.gallery-page .gallery-page-item,
body.contact-page .contact-panel,
body.tour-page .tour-detail-summary-card,
body.tour-page .booking-card {
  overflow: hidden !important;
}

body.destination-page .destination-hero-copy::before {
  display: none !important;
}

body.destination-page .destination-hero-copy h1,
body.destination-page .destination-hero-copy p,
body.destination-page .destination-hero-copy strong,
body.destination-page .destination-hero-copy span {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

body.destination-page .destination-search-head h2,
body.destination-page .destination-section-head h2 {
  color: #111827 !important;
}

body.destination-page .destination-search-head p,
body.destination-page .destination-section-head p,
body.destination-page .destination-results-pill,
body.destination-page .destination-hero-metrics span {
  color: #6B7280 !important;
}

body.destination-page .destination-search-bar {
  background: rgba(248,250,252,.96) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
}

body.destination-page .destination-search-bar input,
body.destination-page .destination-search-bar input::placeholder {
  color: #6B7280 !important;
}

body.destination-page .destination-search-button,
body.destination-page .destination-primary-link {
  background: #3B82F6 !important;
  color: #FFFFFF !important;
  border: 1px solid #3B82F6 !important;
  box-shadow: none !important;
}

body.destination-page .destination-secondary-link {
  background: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  color: #111827 !important;
}

body.destination-page .destination-hero-metrics article,
body.destination-page .destination-results-pill {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
}

body.destination-page .destination-hero-metrics strong {
  color: #111827 !important;
}

body.destination-page .destination-spotlight {
  position: relative !important;
  isolation: isolate !important;
}

body.destination-page .destination-spotlight::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.52) 100%) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

body.destination-page .destination-spotlight-copy {
  position: relative !important;
  z-index: 1 !important;
}

body.destination-page .destination-primary-link,
body.destination-page .btn.btn-primary,
body.gallery-page .btn.btn-primary,
body.contact-page .btn.btn-primary,
body.tour-page .btn.btn-primary,
body.gallery-page .gallery-filter.active {
  background: #3B82F6 !important;
  border-color: #3B82F6 !important;
  color: #FFFFFF !important;
}

body.destination-page .destination-primary-link:hover,
body.destination-page .btn.btn-primary:hover,
body.gallery-page .btn.btn-primary:hover,
body.contact-page .btn.btn-primary:hover,
body.tour-page .btn.btn-primary:hover,
body.gallery-page .gallery-filter.active:hover {
  background: #2563EB !important;
  border-color: #2563EB !important;
}

body.destination-page .btn.btn-secondary,
body.gallery-page .btn.btn-secondary,
body.contact-page .btn.btn-secondary,
body.tour-page .btn.btn-secondary,
body.gallery-page .gallery-filter,
body.tour-page .tour-detail-actions .btn-secondary {
  background: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  color: #111827 !important;
  box-shadow: none !important;
}

body.destination-page .site-footer,
body.gallery-page .site-footer,
body.contact-page .site-footer,
body.tour-page .site-footer {
  background: #F8FAFC !important;
  border-top: 1px solid rgba(0,0,0,.06) !important;
}

body.destination-page .site-footer p,
body.destination-page .site-footer a,
body.gallery-page .site-footer p,
body.gallery-page .site-footer a,
body.contact-page .site-footer p,
body.contact-page .site-footer a,
body.tour-page .site-footer p,
body.tour-page .site-footer a {
  color: #6B7280 !important;
}

body.destination-page .site-footer .brand,
body.destination-page .site-footer h4,
body.gallery-page .site-footer .brand,
body.gallery-page .site-footer h4,
body.contact-page .site-footer .brand,
body.contact-page .site-footer h4,
body.tour-page .site-footer .brand,
body.tour-page .site-footer h4 {
  color: #111827 !important;
}

@media (max-width: 767px) {
  body.destination-page .destination-top,
  body.gallery-page .gallery-hero,
  body.contact-page .contact-hero,
  body.tour-page .tour-detail-hero {
    padding-top: 96px !important;
    padding-bottom: 56px !important;
  }
}

/* Final home header restore: dark premium glass like original index */
body.home .site-header.glass-site-header,
body.home .site-header.glass-site-header.solid {
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.home .site-header.glass-site-header .header-inner {
  background: rgba(10, 15, 25, .68) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

body.home .site-header.glass-site-header .brand-logo,
body.home .site-header.glass-site-header .nav-links > a,
body.home .site-header.glass-site-header .nav-dropdown-trigger,
body.home .site-header.glass-site-header .nav-dropdown-menu a {
  color: #F8FAFC !important;
}

body.home .site-header.glass-site-header .nav-links > a:hover,
body.home .site-header.glass-site-header .nav-dropdown-trigger:hover,
body.home .site-header.glass-site-header .nav-dropdown-menu a:hover {
  color: #FFFFFF !important;
}

body.home .site-header.glass-site-header .nav-links > a.is-active,
body.home .site-header.glass-site-header .nav-dropdown-trigger.is-active {
  background: rgba(59,130,246,.16) !important;
  border-color: rgba(59,130,246,.34) !important;
  color: #FFFFFF !important;
}

body.home .site-header.glass-site-header .nav-links > a.nav-cta {
  background: #3B82F6 !important;
  border-color: #3B82F6 !important;
  color: #FFFFFF !important;
}

body.home .site-header.glass-site-header .nav-links > a.nav-cta:hover {
  background: #2563EB !important;
  border-color: #2563EB !important;
}

body.home .site-header.glass-site-header .menu-toggle {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}

/* Final destinations page background fix */
body.destination-page,
body.destination-page main,
body.destination-page .destination-main,
body.destination-page .destination-shell,
body.destination-page .destination-section,
body.destination-page #featured-destinations,
body.destination-page #popular-tours,
body.destination-page #reviews {
  background: #FFFFFF !important;
}

body.destination-page .destination-section {
  padding-top: 24px !important;
  padding-bottom: 56px !important;
}

body.destination-page .destination-featured-grid,
body.destination-page .destination-tour-grid,
body.destination-page .destination-testimonials,
body.destination-page .destination-testimonial-list {
  background: transparent !important;
}

body.destination-page .destination-featured-card,
body.destination-page .destination-tour-card,
body.destination-page .destination-testimonial-card,
body.destination-page .destination-testimonial-intro,
body.destination-page .destination-site-footer,
body.destination-page footer.destination-panel {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: none !important;
}

body.destination-page .destination-featured-copy,
body.destination-page .destination-tour-copy,
body.destination-page .destination-testimonial-card,
body.destination-page .destination-testimonial-intro,
body.destination-page .destination-site-footer,
body.destination-page .destination-footer-bottom {
  background: #FFFFFF !important;
  color: #111827 !important;
}

body.destination-page .destination-featured-copy h3,
body.destination-page .destination-tour-copy h3,
body.destination-page .destination-testimonial-intro strong,
body.destination-page .destination-testimonial-card strong,
body.destination-page .destination-price strong,
body.destination-page .destination-site-footer strong,
body.destination-page .destination-site-footer h4,
body.destination-page .destination-footer-bottom {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

body.destination-page .destination-featured-copy p,
body.destination-page .destination-tour-copy p,
body.destination-page .destination-featured-meta span,
body.destination-page .destination-tour-meta span,
body.destination-page .destination-price span,
body.destination-page .destination-testimonial-card blockquote,
body.destination-page .destination-testimonial-card span,
body.destination-page .destination-testimonial-intro p,
body.destination-page .destination-site-footer p,
body.destination-page .destination-site-footer li,
body.destination-page .destination-site-footer a {
  color: #6B7280 !important;
  -webkit-text-fill-color: #6B7280 !important;
}

body.destination-page .destination-tour-meta span,
body.destination-page .destination-featured-meta span,
body.destination-page .destination-kicker {
  background: #F8FAFC !important;
  border: 1px solid rgba(0,0,0,.06) !important;
}

body.destination-page .destination-hero-copy.destination-panel {
  background-color: transparent !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: hidden !important;
}

body.destination-page .destination-hero-copy.destination-panel::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.58) 62%, rgba(0,0,0,.76) 100%) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

body.destination-page .destination-hero-copy .destination-hero-content {
  position: relative !important;
  z-index: 1 !important;
}

body.destination-page .destination-hero-copy .destination-kicker {
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

body.destination-page .destination-heading,
body.destination-page .destination-heading span,
body.destination-page .destination-lead {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* Final readability pass for all non-home pages */
body.gallery-page,
body.gallery-page main,
body.contact-page,
body.contact-page main,
body.tour-page,
body.tour-page main {
  background: #FFFFFF !important;
  color: #111827 !important;
}

body.gallery-page .gallery-hero,
body.contact-page .contact-hero,
body.tour-page .tour-detail-hero {
  background: #FFFFFF !important;
  color: #111827 !important;
}

body.gallery-page .gallery-hero::before,
body.contact-page .contact-hero::before,
body.contact-page .contact-hero::after,
body.tour-page .tour-detail-hero::before,
body.tour-page .tour-detail-overlay {
  display: none !important;
  content: none !important;
}

body.gallery-page .gallery-hero h1,
body.contact-page .contact-hero h1,
body.tour-page .tour-detail-content h1,
body.gallery-page .gallery-hero h1 span,
body.contact-page .contact-hero h1 span,
body.tour-page .tour-detail-content h1 span,
body.gallery-page .gallery-bottom-cta h2,
body.contact-page .contact-panel h2,
body.contact-page .contact-info-grid h2,
body.tour-page h2,
body.tour-page h3,
body.tour-page h4 {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body.gallery-page .gallery-hero h1 span {
  color: #3B82F6 !important;
  -webkit-text-fill-color: #3B82F6 !important;
}

body.gallery-page .gallery-hero p,
body.contact-page .contact-hero p,
body.contact-page .contact-panel p,
body.contact-page .contact-info-grid p,
body.contact-page .contact-row span,
body.tour-page .tour-detail-subtitle,
body.tour-page .tour-detail-tagline,
body.tour-page .tour-detail-hero-meta span,
body.tour-page p,
body.tour-page li,
body.tour-page small,
body.gallery-page .gallery-bottom-cta p,
body.gallery-page .gallery-item-copy p,
body.gallery-page .gallery-item-copy small {
  color: #6B7280 !important;
  -webkit-text-fill-color: #6B7280 !important;
  opacity: 1 !important;
}

body.gallery-page .gallery-item-copy {
  left: 14px !important;
  right: 14px !important;
  bottom: 14px !important;
  gap: 6px !important;
  padding: 14px 16px !important;
  padding-right: 64px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(2, 8, 23, .14) 0%, rgba(2, 8, 23, .82) 100%) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

body.gallery-page .gallery-item-copy small,
body.gallery-page .gallery-item-copy p {
  color: rgba(226, 232, 240, .92) !important;
  -webkit-text-fill-color: rgba(226, 232, 240, .92) !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .35) !important;
}

body.gallery-page .gallery-item-copy strong {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  text-shadow: 0 3px 14px rgba(0, 0, 0, .4) !important;
}

body.gallery-page .gallery-filter-bar,
body.gallery-page .gallery-page-item,
body.gallery-page .gallery-bottom-cta,
body.contact-page .contact-panel,
body.contact-page .contact-info-grid article,
body.contact-page .contact-map,
body.tour-page .booking-card,
body.tour-page .checkout-summary,
body.tour-page .selected-destination-card,
body.tour-page .destination-detail-panel,
body.tour-page .destination-detail-panel > div,
body.tour-page .package-select-panel,
body.tour-page .included-card,
body.tour-page .itinerary-card,
body.tour-page .tour-proof-panel,
body.tour-page .tour-faq-panel,
body.tour-page .tour-detail-summary-card,
body.tour-page .tour-detail-list li {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  color: #111827 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.gallery-page .gallery-number,
body.gallery-page .gallery-media-badge,
body.contact-page .contact-row strong,
body.tour-page strong,
body.tour-page .summary-total strong,
body.tour-page .summary-total span {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

body.gallery-page .gallery-filter,
body.contact-page .btn.btn-secondary,
body.tour-page .btn.btn-secondary {
  background: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  color: #111827 !important;
  box-shadow: none !important;
}

body.gallery-page .gallery-filter.active,
body.gallery-page .btn.btn-primary,
body.contact-page .btn.btn-primary,
body.tour-page .btn.btn-primary {
  background: #3B82F6 !important;
  border-color: #3B82F6 !important;
  color: #FFFFFF !important;
}

body.gallery-page .gallery-filter.active:hover,
body.gallery-page .btn.btn-primary:hover,
body.contact-page .btn.btn-primary:hover,
body.tour-page .btn.btn-primary:hover {
  background: #2563EB !important;
  border-color: #2563EB !important;
}

body.tour-page .luxury-booking-summary .summary-total,
body.tour-page .summary-total {
  background: linear-gradient(135deg, #071228, #0b1324) !important;
  border-color: #071228 !important;
}

body.tour-page .luxury-booking-summary .summary-total span,
body.tour-page .luxury-booking-summary .summary-total strong,
body.tour-page .luxury-booking-summary .summary-total strong span,
body.tour-page .summary-total span,
body.tour-page .summary-total strong,
body.tour-page .summary-total strong span {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
  opacity: 1 !important;
}

body.gallery-page .site-footer,
body.contact-page .site-footer,
body.tour-page .site-footer {
  background: #F8FAFC !important;
  border-top: 1px solid rgba(0,0,0,.06) !important;
}

body.gallery-page .site-footer .brand,
body.gallery-page .site-footer h4,
body.contact-page .site-footer .brand,
body.contact-page .site-footer h4,
body.tour-page .site-footer .brand,
body.tour-page .site-footer h4 {
  color: #111827 !important;
}

body.gallery-page .site-footer p,
body.gallery-page .site-footer a,
body.contact-page .site-footer p,
body.contact-page .site-footer a,
body.tour-page .site-footer p,
body.tour-page .site-footer a {
  color: #6B7280 !important;
}

body.contact-page .contact-hero-grid,
body.gallery-page .gallery-hero-inner,
body.tour-page .tour-detail-content {
  position: relative !important;
  z-index: 1 !important;
}

body.gallery-page .gallery-number {
  right: 16px !important;
  top: 16px !important;
  bottom: auto !important;
  min-width: 44px !important;
  height: 36px !important;
  background: rgba(59, 130, 246, .96) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .28) !important;
}

/* Final compact desktop header */
@media (min-width: 768px) {
  .site-header.glass-site-header,
  body.home .site-header.glass-site-header,
  body.destination-page .site-header.glass-site-header,
  body.gallery-page .site-header.glass-site-header,
  body.contact-page .site-header.glass-site-header,
  body.tour-page .site-header.glass-site-header {
    top: 10px !important;
  }

  .site-header.glass-site-header .header-inner {
    min-height: 54px !important;
    padding: 8px 18px !important;
    border-radius: 20px !important;
  }

  .site-header.glass-site-header .brand-logo {
    min-height: 38px !important;
    padding: 6px 10px !important;
    border-radius: 12px !important;
  }

  .site-header.glass-site-header .brand-logo img {
    height: 24px !important;
  }

  .site-header.glass-site-header .nav-links {
    gap: 8px !important;
  }

  .site-header.glass-site-header .nav-links > a,
  .site-header.glass-site-header .nav-dropdown-trigger {
    min-height: 38px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    border-radius: 14px !important;
  }

  .site-header.glass-site-header .nav-links a.nav-cta {
    min-height: 40px !important;
    padding: 0 18px !important;
  }
}
/* Premium language and region selector */
.header-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
  gap: 10px !important;
  margin-left: 10px !important;
}

/* Final destinations header restore: force same dark glass header as index */
body.destination-page .site-header.glass-site-header,
body.destination-page .site-header.glass-site-header.solid {
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.destination-page .site-header.glass-site-header .header-inner {
  background: rgba(10, 15, 25, .68) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

body.destination-page .site-header.glass-site-header .brand-logo,
body.destination-page .site-header.glass-site-header .nav-links > a,
body.destination-page .site-header.glass-site-header .menu-toggle,
body.destination-page .site-header.glass-site-header .language-trigger {
  color: #F8FAFC !important;
  -webkit-text-fill-color: #F8FAFC !important;
}

body.destination-page .site-header.glass-site-header .nav-links {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.destination-page .site-header.glass-site-header .nav-links > a:hover {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

body.destination-page .site-header.glass-site-header .nav-links > a.is-active {
  background: rgba(59,130,246,.16) !important;
  border-color: rgba(59,130,246,.34) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

body.destination-page .site-header.glass-site-header .nav-links > a.nav-cta {
  background: #3B82F6 !important;
  border-color: #3B82F6 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

body.destination-page .site-header.glass-site-header .nav-links > a.nav-cta:hover {
  background: #2563EB !important;
  border-color: #2563EB !important;
}

body.destination-page .site-header.glass-site-header .menu-toggle {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}

/* Absolute final header kill-switch: remove the full-width grey/dark bar. */
html body .site-header.glass-site-header,
html body .site-header.glass-site-header.solid,
html body .site-header.glass-site-header::before,
html body .site-header.glass-site-header::after,
html body .site-header.glass-site-header.solid::before,
html body .site-header.glass-site-header.solid::after {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html body .site-header.glass-site-header::before,
html body .site-header.glass-site-header::after {
  content: none !important;
  display: none !important;
}

html body .site-header.glass-site-header {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: 76px !important;
  min-height: 76px !important;
  padding: 12px clamp(14px, 3vw, 42px) 0 !important;
  pointer-events: none !important;
  z-index: 3000 !important;
}

html body .site-header.glass-site-header .container.header-inner {
  width: min(1220px, 100%) !important;
  max-width: 1220px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: auto auto !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: clamp(12px, 2vw, 20px) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: auto !important;
}

html body .site-header.glass-site-header .brand-logo,
html body .site-header.glass-site-header .nav-links {
  border-radius: 999px !important;
  background: rgba(8, 16, 29, .56) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  box-shadow: 0 16px 42px rgba(2, 6, 23, .2) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
}

html body .site-header.glass-site-header .brand-logo {
  width: 84px !important;
  min-width: 84px !important;
  height: 52px !important;
  padding: 8px 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html body .site-header.glass-site-header .nav-links {
  width: auto !important;
  max-width: none !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
}

html body .site-header.glass-site-header .nav-links > a,
html body .site-header.glass-site-header .nav-language-trigger {
  width: auto !important;
  min-width: max-content !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  word-break: normal !important;
  line-height: 1 !important;
  color: rgba(255, 255, 255, .9) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .9) !important;
}

/* Last word: header itself must not paint a full-width slab. */
html body header.site-header.glass-site-header,
html body header.site-header.glass-site-header.solid {
  display: contents !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body header.site-header.glass-site-header .container.header-inner {
  position: fixed !important;
  top: 12px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  z-index: 3000 !important;
}

body.tour-page main,
body.gallery-page main,
body.contact-page main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.tour-page .tour-detail-hero,
body.gallery-page .gallery-hero {
  min-height: auto !important;
  padding-top: 104px !important;
  padding-bottom: 56px !important;
  margin-top: 0 !important;
}

body.gallery-page .gallery-hero-inner {
  padding-top: 0 !important;
}

@media (max-width: 1024px) {
  html body header.site-header.glass-site-header .container.header-inner {
    top: 10px !important;
  }

  body.tour-page .tour-detail-hero,
  body.gallery-page .gallery-hero {
    padding-top: 88px !important;
    padding-bottom: 42px !important;
  }
}

/* Logo readability fix across destination, tour, gallery, and contact. */
html body .site-header.glass-site-header .brand-logo {
  width: 116px !important;
  min-width: 116px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 7px 18px !important;
}

html body .site-header.glass-site-header .brand-logo img,
html body .site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  height: auto !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

@media (max-width: 1024px) {
  html body .site-header.glass-site-header .brand-logo {
    width: 86px !important;
    min-width: 86px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 6px 12px !important;
  }

  html body .site-header.glass-site-header .brand-logo img,
  html body .site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    max-height: 34px !important;
  }
}

/* No header slab: only the inner floating controls may render. */
html body header.site-header.glass-site-header,
html body header.site-header.glass-site-header.solid {
  display: contents !important;
}

html body header.site-header.glass-site-header .container.header-inner {
  position: fixed !important;
  top: 12px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  z-index: 3000 !important;
}

body.tour-page main,
body.gallery-page main,
body.contact-page main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.tour-page .tour-detail-hero,
body.gallery-page .gallery-hero {
  min-height: auto !important;
  padding-top: 104px !important;
  padding-bottom: 56px !important;
  margin-top: 0 !important;
}

body.gallery-page .gallery-hero-inner {
  padding-top: 0 !important;
}

body.contact-page .contact-hero {
  margin-top: 0 !important;
}

@media (max-width: 1024px) {
  html body header.site-header.glass-site-header .container.header-inner {
    top: 10px !important;
  }

  body.tour-page .tour-detail-hero,
  body.gallery-page .gallery-hero {
    padding-top: 88px !important;
    padding-bottom: 42px !important;
  }
}

html body .site-header.glass-site-header .nav-language-trigger {
  min-width: 172px !important;
}

html body .site-header.glass-site-header .nav-links > .nav-contact-cta {
  min-width: 112px !important;
  background: linear-gradient(135deg, #3b82f6, #60a5fa) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

@media (max-width: 1024px) {
  html body .site-header.glass-site-header {
    height: 74px !important;
    min-height: 74px !important;
    padding: 10px 12px 0 !important;
  }

  html body .site-header.glass-site-header .container.header-inner {
    width: min(100%, 720px) !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    padding: 0 8px 0 12px !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    border-radius: 999px !important;
    background: rgba(8, 16, 29, .58) !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    box-shadow: 0 16px 42px rgba(2, 6, 23, .2) !important;
    backdrop-filter: blur(14px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  }

  html body .site-header.glass-site-header .brand-logo {
    width: 64px !important;
    min-width: 64px !important;
    height: 42px !important;
    padding: 7px 10px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* Final shared header: floating controls only, no full-width strip. */
html body .site-header.glass-site-header,
html body .site-header.glass-site-header.solid {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  min-height: 76px !important;
  height: 76px !important;
  padding: 12px clamp(14px, 3vw, 42px) 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none !important;
  z-index: 3000 !important;
}

html body .site-header.glass-site-header .container.header-inner,
html body .site-header.glass-site-header.solid .container.header-inner {
  width: min(1220px, 100%) !important;
  max-width: 1220px !important;
  min-width: 0 !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: auto auto !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: clamp(12px, 2vw, 20px) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: auto !important;
}

html body .site-header.glass-site-header .brand-logo {
  width: 84px !important;
  min-width: 84px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(8, 16, 29, .46) !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  box-shadow: 0 16px 40px rgba(2, 6, 23, .18) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
}

html body .site-header.glass-site-header .brand-logo img {
  width: 48px !important;
  max-height: 34px !important;
  object-fit: contain !important;
}

html body .site-header.glass-site-header .nav-links {
  justify-self: end !important;
  width: auto !important;
  max-width: none !important;
  min-height: 52px !important;
  height: 52px !important;
  padding: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
  border-radius: 999px !important;
  background: rgba(8, 16, 29, .46) !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  box-shadow: 0 16px 42px rgba(2, 6, 23, .18) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
}

html body .site-header.glass-site-header .nav-links > a,
html body .site-header.glass-site-header .nav-language-trigger {
  width: auto !important;
  min-width: max-content !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-height: 1 !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: rgba(255, 255, 255, .88) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .88) !important;
  box-shadow: none !important;
}

html body .site-header.glass-site-header .nav-links > a:hover,
html body .site-header.glass-site-header .nav-links > a.is-active,
html body .site-header.glass-site-header .nav-language-trigger:hover {
  background: rgba(59, 130, 246, .25) !important;
  border-color: rgba(96, 165, 250, .5) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html body .site-header.glass-site-header .nav-links > .nav-contact-cta,
html body .site-header.glass-site-header .nav-links > .nav-contact-cta.is-active {
  min-width: 112px !important;
  background: linear-gradient(135deg, #3b82f6, #60a5fa) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: rgba(255, 255, 255, .18) !important;
  box-shadow: 0 14px 30px rgba(59, 130, 246, .25) !important;
}

html body .site-header.glass-site-header .nav-language-trigger {
  min-width: 172px !important;
  padding-inline: 14px !important;
}

html body .site-header.glass-site-header .language-trigger-copy,
html body .site-header.glass-site-header .language-trigger-copy strong,
html body .site-header.glass-site-header .language-trigger-copy small {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-height: 1.05 !important;
}

html body .site-header.glass-site-header .nav-links > a::after,
html body .site-header.glass-site-header .nav-links > .nav-cta::after {
  display: none !important;
}

body.tour-page .tour-detail-hero,
body.gallery-page .gallery-hero {
  padding-top: clamp(7.5rem, 12vw, 9rem) !important;
}

body.contact-page .contact-shell {
  padding-top: 0 !important;
}

@media (max-width: 1024px) {
  html body .site-header.glass-site-header,
  html body .site-header.glass-site-header.solid {
    min-height: 74px !important;
    height: 74px !important;
    padding: 10px 12px 0 !important;
  }

  html body .site-header.glass-site-header .container.header-inner,
  html body .site-header.glass-site-header.solid .container.header-inner {
    width: min(100%, 720px) !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    padding: 0 8px 0 12px !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    border-radius: 999px !important;
    background: rgba(8, 16, 29, .58) !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    box-shadow: 0 16px 42px rgba(2, 6, 23, .2) !important;
    backdrop-filter: blur(14px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  }

  html body .site-header.glass-site-header .brand-logo {
    width: 64px !important;
    min-width: 64px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 7px 10px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body .site-header.glass-site-header .brand-logo img {
    width: 42px !important;
    max-height: 30px !important;
  }

  html body .site-header.glass-site-header .nav-links,
  html body .site-header.glass-site-header .nav-language-trigger,
  html body .site-header.glass-site-header .nav-contact-cta {
    display: none !important;
  }

  html body .site-header.glass-site-header .header-actions {
    display: flex !important;
    grid-column: 3 !important;
    justify-content: flex-end !important;
    min-width: 48px !important;
  }

  html body .site-header.glass-site-header .menu-toggle,
  html body .site-header.glass-site-header .mobile-menu-trigger {
    width: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .1) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
  }

  body.tour-page .tour-detail-hero,
  body.gallery-page .gallery-hero {
    padding-top: 6.5rem !important;
  }
}

/* Final micro-label cleanup: keep detail labels readable as soft oval pills. */
body.home .eyebrow,
body.home .route-label,
body.home .destination-choice-badge,
body.tour-page .eyebrow,
body.tour-page .route-label,
body.destination-page .destination-kicker,
body.destination-page .edu-label,
body.destination-page .destination-results-pill {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: 100% !important;
  padding: .38rem .72rem !important;
  background: rgba(239, 246, 255, .12) !important;
  background-image: none !important;
  border: 1px solid rgba(96, 165, 250, .24) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  outline: 0 !important;
  line-height: 1.2 !important;
}

/* Final tablet header fix: match JS mobile-menu breakpoint up to iPad width. */
@media (min-width: 768px) and (max-width: 1024px) {
  .site-header.glass-site-header {
    padding: 12px 14px !important;
  }

  .site-header.glass-site-header .container.header-inner,
  .site-header.glass-site-header .header-inner {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 12px !important;
    width: min(100%, calc(100vw - 28px)) !important;
    min-height: 58px !important;
    padding: 8px 12px !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }

  .site-header.glass-site-header .brand-logo {
    justify-self: start !important;
    min-width: 0 !important;
    max-width: 150px !important;
    height: 42px !important;
    padding: 0 10px !important;
  }

  .site-header.glass-site-header .brand-logo img {
    width: auto !important;
    max-width: 96px !important;
    height: 30px !important;
    object-fit: contain !important;
  }

  .site-header.glass-site-header .brand-wordmark {
    display: none !important;
  }

  .site-header.glass-site-header .nav-links {
    display: none !important;
  }

  .site-header.glass-site-header .header-actions {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    grid-column: 3 !important;
    margin-left: 0 !important;
    min-width: 48px !important;
  }

  .site-header.glass-site-header .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 44px !important;
    padding: 0 !important;
    border-radius: 16px !important;
    color: #F8FAFC !important;
    -webkit-text-fill-color: #F8FAFC !important;
    background: rgba(15, 23, 42, .62) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .22) !important;
  }

  .site-header.glass-site-header .menu-toggle .menu-toggle-icon {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
  }

  .site-header.glass-site-header .menu-toggle .menu-toggle-fallback,
  .site-header.glass-site-header .menu-toggle > span:not(.menu-toggle-fallback) {
    display: none !important;
  }
}

/* Final mobile hero fit: keep the homepage hero inside a single small viewport. */
@media (max-width: 430px) {
  body.home #hero.hero,
  body.home #hero .hero-grid {
    min-height: 100svh !important;
    min-height: 100dvh !important;
  }

  body.home #hero .hero-grid {
    display: grid !important;
    align-items: center !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 0 !important;
    padding-top: calc(env(safe-area-inset-top, 0px) + 74px) !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 18px) !important;
  }

  body.home #hero .hero-content {
    width: min(100%, 320px) !important;
    max-width: 320px !important;
    margin: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 8px !important;
    align-self: center !important;
    justify-self: center !important;
    text-align: center !important;
    align-items: center !important;
    transform: translateY(34px) !important;
  }

  body.home #hero .hero-content .eyebrow {
    margin-bottom: 0 !important;
    font-size: .64rem !important;
    letter-spacing: .14em !important;
  }

  body.home #hero .hero-content h1 {
    max-width: 100% !important;
    margin: 4px auto 0 !important;
    font-size: clamp(2.72rem, 12.4vw, 3.18rem) !important;
    line-height: .89 !important;
    letter-spacing: -0.05em !important;
  }

  body.home #hero .hero-text {
    max-width: 100% !important;
    margin: 0 auto !important;
    font-size: .9rem !important;
    line-height: 1.42 !important;
  }

  body.home #hero .hero-scroll {
    display: none !important;
  }

  body.home #hero .hero-subtext {
    display: block !important;
    max-width: 100% !important;
    margin: 6px auto 0 !important;
    font-size: .72rem !important;
    line-height: 1.35 !important;
    color: rgba(255,255,255,.82) !important;
  }

  body.home #hero .hero-actions .btn-secondary {
    display: inline-flex !important;
  }

  body.home #hero .hero-actions {
    width: 100% !important;
    max-width: 320px !important;
    margin-top: 8px !important;
    gap: 8px !important;
    justify-content: center !important;
  }

  body.home #hero .hero-actions .btn,
  body.home #hero .hero-actions .btn.btn-large {
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 18px !important;
    font-size: .84rem !important;
  }

  body.home #hero .hero-stats,
  body.home #hero .premium-trust-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }

  body.home #hero .hero-stats div,
  body.home #hero .premium-trust-strip div {
    height: 58px !important;
    min-height: 58px !important;
    padding: 6px 5px !important;
    border-radius: 12px !important;
  }

  body.home #hero .hero-stats strong,
  body.home #hero .premium-trust-strip strong {
    font-size: .74rem !important;
    margin-bottom: 2px !important;
  }

  body.home #hero .hero-stats span,
  body.home #hero .premium-trust-strip span {
    font-size: .54rem !important;
    line-height: 1.08 !important;
  }

  body.home .whatsapp-float {
    right: 12px !important;
    bottom: 12px !important;
    padding: 10px 14px !important;
    font-size: .82rem !important;
  }

  .site-header.glass-site-header .header-inner {
    min-height: 58px !important;
    height: 58px !important;
    padding: 0 12px !important;
  }

  .site-header.glass-site-header .brand-logo {
    max-width: calc(100vw - 82px) !important;
  }

  .site-header.glass-site-header .brand-logo img {
    height: 28px !important;
    max-height: 28px !important;
    max-width: 136px !important;
  }

  .site-header.glass-site-header .brand-wordmark {
    display: none !important;
  }

  .site-header.glass-site-header .menu-toggle {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 12px !important;
  }
}

@media (max-width: 430px) and (max-height: 740px) {
  body.home #hero .hero-content {
    transform: translateY(42px) !important;
  }

  body.home #hero .hero-grid {
    padding-top: calc(env(safe-area-inset-top, 0px) + 68px) !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 14px) !important;
  }

  body.home #hero .hero-content h1 {
    font-size: clamp(2.45rem, 11.8vw, 2.9rem) !important;
  }

  body.home #hero .hero-text {
    font-size: .84rem !important;
    line-height: 1.35 !important;
  }

  body.home #hero .hero-stats div,
  body.home #hero .premium-trust-strip div {
    height: 54px !important;
    min-height: 54px !important;
  }
}

/* Final mobile menu card style */
@media (max-width: 767px) {
  .site-header.glass-site-header,
  .site-header.glass-site-header .header-inner {
    overflow: visible !important;
  }

  .site-header.glass-site-header .nav-links {
    display: none !important;
    position: fixed !important;
    top: 78px !important;
    left: 16px !important;
    right: 16px !important;
    width: auto !important;
    height: auto !important;
    max-height: calc(100dvh - 94px) !important;
    padding: 14px 14px 16px !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    overflow-y: auto !important;
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
    border-radius: 28px !important;
    box-shadow: 0 20px 48px rgba(15, 23, 42, .22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: translateY(-12px) scale(.98) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 1002 !important;
  }

  .site-header.glass-site-header.nav-is-open .nav-links,
  .site-header.glass-site-header .nav-links.nav-open {
    display: flex !important;
    right: 16px !important;
    transform: translateY(0) scale(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .site-header.glass-site-header .nav-links > a,
  .site-header.glass-site-header .nav-dropdown-trigger,
  .site-header.glass-site-header .nav-dropdown-menu a {
    width: 100% !important;
    min-height: 50px !important;
    justify-content: space-between !important;
    padding: 0 14px !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, .9) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: .98rem !important;
    font-weight: 600 !important;
  }

  .site-header.glass-site-header .nav-links > a:hover,
  .site-header.glass-site-header .nav-links > a.is-active {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    background: rgba(37, 99, 235, .06) !important;
    border-color: rgba(191, 219, 254, .95) !important;
    border-radius: 14px !important;
  }

  .site-header.glass-site-header .nav-language-trigger {
    min-height: 54px !important;
    margin-top: 6px !important;
    justify-content: center !important;
    background: #f8fafc !important;
    border: 1px solid rgba(203, 213, 225, .9) !important;
    border-radius: 16px !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
  }

  .site-header.glass-site-header .nav-links > .nav-contact-cta,
  .site-header.glass-site-header .nav-links > .nav-contact-cta.is-active {
    min-height: 52px !important;
    margin-top: 8px !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #4f8cff, #2563eb) !important;
    border: 0 !important;
    border-radius: 16px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(37, 99, 235, .24) !important;
  }

  .site-header.glass-site-header .nav-links > .nav-contact-cta:hover {
    background: linear-gradient(135deg, #60a5fa, #2563eb) !important;
  }

  .site-header.glass-site-header .nav-links > :last-child {
    border-bottom: 0 !important;
  }

  .site-header.glass-site-header .nav-backdrop {
    background: rgba(15, 23, 42, .36) !important;
  }
}

/* Final invoice contrast restore */
body.invoice-page .invoice-panel {
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, .18) !important;
  color: #0f172a !important;
}

body.invoice-page .invoice-panel .eyebrow,
body.invoice-page .invoice-panel h1,
body.invoice-page .invoice-panel h2,
body.invoice-page .invoice-panel h3,
body.invoice-page .invoice-panel strong {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

body.invoice-page .invoice-panel p,
body.invoice-page .invoice-panel span,
body.invoice-page .invoice-panel small {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

body.invoice-page .invoice-panel .invoice-success,
body.invoice-page .invoice-panel .invoice-timeline div,
body.invoice-page .invoice-panel .invoice-event,
body.invoice-page .invoice-panel .review-row {
  background: #f8fafc !important;
  border-color: rgba(148, 163, 184, .18) !important;
}

body.invoice-page .invoice-panel .invoice-timeline .active {
  background: #dbeafe !important;
  border-color: rgba(96, 165, 250, .28) !important;
}

body.invoice-page .invoice-panel .invoice-timeline span,
body.invoice-page .invoice-panel .invoice-event span,
body.invoice-page .invoice-panel .invoice-event p {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
}

body.invoice-page .invoice-card {
  background:
    radial-gradient(circle at 20% 0%, rgba(96, 165, 250, .18), transparent 34%),
    linear-gradient(180deg, #071426, #081225 72%, #050b18) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  color: #f8fafc !important;
}

body.invoice-page .invoice-card .eyebrow,
body.invoice-page .invoice-card h2,
body.invoice-page .invoice-card h3,
body.invoice-page .invoice-card strong,
body.invoice-page .invoice-card strong span,
body.invoice-page .payment-deadline strong {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}

body.invoice-page .invoice-card p,
body.invoice-page .invoice-card span,
body.invoice-page .invoice-card small,
body.invoice-page .payment-deadline span,
body.invoice-page .payment-deadline small {
  color: rgba(226, 232, 240, .92) !important;
  -webkit-text-fill-color: rgba(226, 232, 240, .92) !important;
}

/* Keep the dark tour chooser readable after the global light-theme overrides. */
body.tour-page .compact-destination-picker .compact-destination-head h2 {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  opacity: 1 !important;
}

body.tour-page .compact-destination-picker .compact-destination-head p {
  color: rgba(226, 232, 240, .82) !important;
  -webkit-text-fill-color: rgba(226, 232, 240, .82) !important;
  opacity: 1 !important;
}

body.tour-page .compact-destination-picker .compact-destination-head .eyebrow {
  color: #93C5FD !important;
  -webkit-text-fill-color: #93C5FD !important;
}

body.tour-page .compact-destination-picker .tour-filter-chip,
body.tour-page .compact-destination-picker .tour-filter-chip span {
  color: #CBD5E1 !important;
  -webkit-text-fill-color: #CBD5E1 !important;
  opacity: 1 !important;
}

body.tour-page .compact-destination-picker .tour-filter-chip:hover,
body.tour-page .compact-destination-picker .tour-filter-chip:hover span,
body.tour-page .compact-destination-picker .tour-filter-chip.is-active,
body.tour-page .compact-destination-picker .tour-filter-chip.is-active span {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

body.tour-page .compact-destination-picker .tour-results-count {
  color: #DBEAFE !important;
  -webkit-text-fill-color: #DBEAFE !important;
  opacity: 1 !important;
}

body.tour-page .compact-destination-picker .compact-destination-copy strong,
body.tour-page .compact-destination-picker .compact-destination-copy em {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

body.tour-page .compact-destination-picker .compact-destination-copy span {
  color: #93C5FD !important;
  -webkit-text-fill-color: #93C5FD !important;
}

body.tour-page .compact-destination-picker .compact-destination-copy small {
  color: rgba(255, 255, 255, .76) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .76) !important;
}

/* Reviews: continue the homepage navy palette instead of introducing a white block. */
body.home section#reviews {
  background:
    radial-gradient(circle at 18% 12%, rgba(59, 130, 246, .11), transparent 30%),
    linear-gradient(180deg, #071228 0%, #050D1D 100%) !important;
  color: #E5EDF8 !important;
}

body.home section#reviews .container,
body.home section#reviews .testimonial-layout,
body.home section#reviews .review-summary {
  background: transparent !important;
  color: #E5EDF8 !important;
}

body.home section#reviews .review-summary .eyebrow {
  background: rgba(59, 130, 246, .12) !important;
  border: 1px solid rgba(96, 165, 250, .34) !important;
  color: #7DB4FF !important;
  -webkit-text-fill-color: #7DB4FF !important;
}

body.home section#reviews .review-summary h2,
body.home section#reviews .review-summary h2 span {
  color: #F8FAFC !important;
  -webkit-text-fill-color: #F8FAFC !important;
}

body.home section#reviews .review-summary h2 span {
  color: #60A5FA !important;
  -webkit-text-fill-color: #60A5FA !important;
}

body.home section#reviews .review-rating-score strong {
  color: #F8FAFC !important;
  -webkit-text-fill-color: #F8FAFC !important;
}

body.home section#reviews .review-rating-score span,
body.home section#reviews .review-crew-row p {
  color: #A9B8CD !important;
  -webkit-text-fill-color: #A9B8CD !important;
}

body.home section#reviews .review-platform-pill {
  background: rgba(15, 29, 52, .92) !important;
  border-color: rgba(148, 163, 184, .18) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .22) !important;
}

body.home section#reviews .review-platform-pill small {
  color: #F8FAFC !important;
  -webkit-text-fill-color: #F8FAFC !important;
}

body.home section#reviews .review-platform-pill span {
  color: #C7D2E2 !important;
  -webkit-text-fill-color: #C7D2E2 !important;
}

body.home section#reviews .testimonial-card,
body.home section#reviews .review-write-row {
  background: linear-gradient(145deg, rgba(15, 29, 52, .98), rgba(9, 20, 39, .98)) !important;
  border: 1px solid rgba(148, 163, 184, .16) !important;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .26) !important;
}

body.home section#reviews .testimonial-card blockquote {
  color: #DCE6F3 !important;
  -webkit-text-fill-color: #DCE6F3 !important;
}

body.home section#reviews .testimonial-card h4,
body.home section#reviews .review-crew-row strong {
  color: #F8FAFC !important;
  -webkit-text-fill-color: #F8FAFC !important;
}

body.home section#reviews .testimonial-card .review-user span,
body.home section#reviews .testimonial-card .review-user small {
  color: #9FB0C6 !important;
  -webkit-text-fill-color: #9FB0C6 !important;
}

body.home section#reviews .testimonial-card .review-avatar,
body.home section#reviews .review-crew-avatars span {
  background: #132B4E !important;
  border-color: #071228 !important;
  color: #7DB4FF !important;
  -webkit-text-fill-color: #7DB4FF !important;
}

/* Homepage footer: dark continuation with explicit readable text colors. */
body.home .site-footer {
  background: linear-gradient(180deg, #050D1D 0%, #020817 100%) !important;
  border-top: 1px solid rgba(148, 163, 184, .16) !important;
  color: #E5EDF8 !important;
}

body.home .site-footer .brand,
body.home .site-footer h4 {
  color: #F8FAFC !important;
  -webkit-text-fill-color: #F8FAFC !important;
  opacity: 1 !important;
}

body.home .site-footer p,
body.home .site-footer a {
  color: #A9B8CD !important;
  -webkit-text-fill-color: #A9B8CD !important;
  opacity: 1 !important;
}

body.home .site-footer a:hover {
  color: #7DB4FF !important;
  -webkit-text-fill-color: #7DB4FF !important;
}

body.home .site-footer .footer-bottom {
  border-top-color: rgba(148, 163, 184, .14) !important;
}

body.home .site-footer .footer-bottom p {
  color: #8496AE !important;
  -webkit-text-fill-color: #8496AE !important;
}

.language-trigger {
  height: 44px;
  min-width: 78px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.09);
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font: inherit;
  font-size: .9rem;
  font-weight: 800;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.language-trigger:hover {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.22);
  transform: translateY(-1px);
}

.language-trigger strong {
  color: inherit;
  font-size: .86rem;
  letter-spacing: .03em;
}

.language-trigger small {
  display: block;
  margin-top: 2px;
  color: rgba(255,255,255,.62);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.nav-language-trigger {
  display: none;
}

.language-modal[hidden] {
  display: none !important;
}

.language-modal {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: 24px;
}

.language-modal-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0,0,0,.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
}

.language-modal-panel {
  position: relative;
  z-index: 1;
  width: min(900px, 100%);
  max-height: min(760px, calc(100vh - 48px));
  overflow: auto;
  border-radius: 32px;
  background: #FFFFFF;
  padding: 32px;
  box-shadow: 0 40px 120px rgba(0,0,0,.15);
  border: 1px solid rgba(0,0,0,.06);
  color: #111827;
  outline: none;
  opacity: 0;
  transform: scale(.95);
}

.language-modal.is-open .language-modal-panel {
  opacity: 1;
  transform: scale(1);
  transition: opacity .25s ease, transform .25s ease;
}

.language-modal-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}

.language-modal-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(59,130,246,.08);
  border: 1px solid rgba(59,130,246,.16);
  color: #2563EB;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.language-modal h2 {
  margin: 14px 0 0;
  color: #111827;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.language-close {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 999px;
  background: #F8FAFC;
  color: #111827;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.language-tabs {
  --active-tab: 0;
  position: relative;
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 28px 0 24px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.language-tabs::after {
  content: "";
  position: absolute;
  left: calc(var(--active-tab) * 50%);
  bottom: -1px;
  width: 50%;
  height: 3px;
  border-radius: 999px;
  background: #3B82F6;
  transition: left .25s ease;
}

.language-tab {
  min-height: 52px;
  padding: 0 24px;
  border: 0;
  background: transparent;
  color: #6B7280;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.language-tab.is-active {
  color: #111827;
}

.language-panel {
  color: #111827;
}

.translate-help {
  margin-top: 24px;
  color: #334155;
}

.translate-help-lead {
  margin: 0 0 18px;
  font-size: 1rem;
  line-height: 1.7;
}

.translate-help-steps {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 12px;
  line-height: 1.7;
}

.translate-help-note {
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #EFF6FF;
  border: 1px solid rgba(59,130,246,.14);
  color: #1E3A8A;
  line-height: 1.7;
}

.language-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  margin-bottom: 14px;
  padding: 0 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  background: #FFFFFF;
  color: #6B7280;
}

.language-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #111827;
  font: inherit;
}

.language-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  max-height: min(54vh, 560px);
  overflow: auto;
  padding-right: 4px;
}

.currency-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.language-option,
.currency-option {
  position: relative;
  min-height: 92px;
  padding: 18px 42px 18px 18px;
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,.08);
  background: #FFFFFF;
  color: #111827;
  text-align: left;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.language-option:hover,
.currency-option:hover {
  transform: translateY(-2px);
  border-color: rgba(59,130,246,.28);
  background: #F8FAFC;
}

.language-option span,
.currency-option span {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #111827;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.25;
}

.language-option span b {
  font-size: 1.2rem;
  line-height: 1;
}

.language-option small,
.currency-option small {
  display: block;
  margin-top: 8px;
  color: #6B7280;
  font-size: .9rem;
  line-height: 1.35;
}

.language-option i,
.currency-option i {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #3B82F6;
  color: #FFFFFF;
  display: none;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-size: .78rem;
  font-weight: 900;
}

.language-option.is-selected,
.currency-option.is-selected {
  border-color: rgba(59,130,246,.62);
  background: rgba(59,130,246,.08);
}

.language-option.is-selected i,
.currency-option.is-selected i {
  display: inline-flex;
}

body.language-modal-open {
  overflow: hidden;
}

.psc-language-loading {
  position: fixed;
  inset: 0;
  z-index: 7000;
  display: grid;
  place-items: center;
  gap: 14px;
  background: rgba(5,10,18,.38);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

.psc-language-loading__spinner {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 3px solid rgba(255,255,255,.18);
  border-top-color: #60A5FA;
  animation: pscSpin .85s linear infinite;
}

.psc-language-loading span {
  color: #FFFFFF;
  font-size: .95rem;
  font-weight: 700;
}

.psc-i18n-debug {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 7100;
  transform: translateX(-50%) translateY(16px);
  min-width: min(92vw, 320px);
  max-width: min(92vw, 520px);
  padding: 14px 18px;
  border-radius: 16px;
  background: rgba(15,23,42,.92);
  color: #FFFFFF;
  font-size: .92rem;
  font-weight: 700;
  text-align: center;
  box-shadow: 0 18px 40px rgba(0,0,0,.24);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}

.psc-i18n-debug.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.psc-i18n-debug[data-state="success"] {
  background: rgba(22,101,52,.94);
}

.psc-i18n-debug[data-state="error"] {
  background: rgba(153,27,27,.94);
}

body.is-language-loading .psc-language-loading {
  opacity: 1;
  pointer-events: auto;
}

@keyframes pscSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 1024px) {
  .language-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .currency-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .header-actions {
    gap: 8px !important;
    margin-left: auto !important;
  }

  .language-trigger {
    height: 42px;
    min-width: 70px;
    padding: 0 10px;
    font-size: .82rem;
  }

  .nav-language-trigger {
    display: inline-flex;
    margin-top: 8px;
    justify-content: center;
  }

  .language-modal {
    padding: 12px;
    align-items: end;
  }

  .language-modal-panel {
    width: 100%;
    max-height: calc(100vh - 24px);
    border-radius: 28px;
    padding: 22px;
  }

  .language-modal-head {
    gap: 14px;
  }

  .language-tabs {
    width: 100%;
    margin-top: 22px;
  }

  .language-tab {
    min-height: 48px;
    padding: 0 8px;
    font-size: .92rem;
  }

  .language-grid,
  .currency-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .language-search {
    min-height: 48px;
    margin-bottom: 12px;
    padding: 0 14px;
  }

  .language-option,
  .currency-option {
    min-height: 86px;
    border-radius: 18px;
    padding: 16px 36px 16px 14px;
  }

  .language-option span,
  .currency-option span {
    font-size: .95rem;
  }

  .language-option small,
  .currency-option small {
    font-size: .82rem;
  }
}

/* Final destinations header restore: force same dark glass header as index */
body.destination-page .site-header.glass-site-header,
body.destination-page .site-header.glass-site-header.solid {
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.destination-page .site-header.glass-site-header .header-inner {
  background: rgba(10, 15, 25, .68) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

body.destination-page .site-header.glass-site-header .brand-logo,
body.destination-page .site-header.glass-site-header .nav-links > a,
body.destination-page .site-header.glass-site-header .menu-toggle,
body.destination-page .site-header.glass-site-header .language-trigger {
  color: #F8FAFC !important;
  -webkit-text-fill-color: #F8FAFC !important;
}

body.destination-page .site-header.glass-site-header .nav-links {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.destination-page .site-header.glass-site-header .nav-links > a:hover {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

body.destination-page .site-header.glass-site-header .nav-links > a.is-active {
  background: rgba(59,130,246,.16) !important;
  border-color: rgba(59,130,246,.34) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

body.destination-page .site-header.glass-site-header .nav-links > a.nav-cta {
  background: #3B82F6 !important;
  border-color: #3B82F6 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

body.destination-page .site-header.glass-site-header .nav-links > a.nav-cta:hover {
  background: #2563EB !important;
  border-color: #2563EB !important;
}

body.destination-page .site-header.glass-site-header .menu-toggle {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}

/* Real EOF header fix: remove the full-width grey/dark strip behind nav. */
html body .site-header.glass-site-header,
html body .site-header.glass-site-header.solid,
html body .site-header.glass-site-header::before,
html body .site-header.glass-site-header::after {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html body .site-header.glass-site-header::before,
html body .site-header.glass-site-header::after {
  content: none !important;
  display: none !important;
}

html body .site-header.glass-site-header {
  position: fixed !important;
  inset: 0 0 auto !important;
  width: 100% !important;
  height: 76px !important;
  min-height: 76px !important;
  padding: 12px clamp(14px, 3vw, 42px) 0 !important;
  pointer-events: none !important;
  z-index: 3000 !important;
}

html body .site-header.glass-site-header .container.header-inner {
  width: min(1220px, 100%) !important;
  max-width: 1220px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: auto auto !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: clamp(12px, 2vw, 20px) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: auto !important;
}

html body .site-header.glass-site-header .brand-logo,
html body .site-header.glass-site-header .nav-links {
  border-radius: 999px !important;
  background: rgba(8, 16, 29, .56) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  box-shadow: 0 16px 42px rgba(2, 6, 23, .2) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
}

html body .site-header.glass-site-header .nav-links {
  width: auto !important;
  max-width: none !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
}

html body .site-header.glass-site-header .nav-links > a,
html body .site-header.glass-site-header .nav-language-trigger {
  width: auto !important;
  min-width: max-content !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  word-break: normal !important;
  line-height: 1 !important;
  color: rgba(255, 255, 255, .9) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .9) !important;
}

/* True last word: header itself must not paint a full-width slab. */
html body header.site-header.glass-site-header,
html body header.site-header.glass-site-header.solid {
  display: contents !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body header.site-header.glass-site-header .container.header-inner {
  position: fixed !important;
  top: 12px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  z-index: 3000 !important;
}

body.tour-page main,
body.gallery-page main,
body.contact-page main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.tour-page .tour-detail-hero,
body.gallery-page .gallery-hero {
  min-height: auto !important;
  padding-top: 104px !important;
  padding-bottom: 56px !important;
  margin-top: 0 !important;
}

body.gallery-page .gallery-hero-inner {
  padding-top: 0 !important;
}

@media (max-width: 1024px) {
  html body header.site-header.glass-site-header .container.header-inner {
    top: 10px !important;
  }

  body.tour-page .tour-detail-hero,
  body.gallery-page .gallery-hero {
    padding-top: 88px !important;
    padding-bottom: 42px !important;
  }
}

/* True final logo size: keep brand readable on every public page. */
html body header.site-header.glass-site-header .brand-logo {
  width: 116px !important;
  min-width: 116px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 7px 18px !important;
}

html body header.site-header.glass-site-header .brand-logo img,
html body header.site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  height: auto !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

@media (max-width: 1024px) {
  html body header.site-header.glass-site-header .brand-logo {
    width: 86px !important;
    min-width: 86px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 6px 12px !important;
  }

  html body header.site-header.glass-site-header .brand-logo img,
  html body header.site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    max-height: 34px !important;
  }
}

/* True final visibility: readable logo and menu on white/light hero pages. */
html body header.site-header.glass-site-header .brand-logo {
  background: rgba(8, 16, 29, .86) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  box-shadow: 0 16px 42px rgba(2, 6, 23, .22) !important;
  backdrop-filter: blur(14px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
}

html body header.site-header.glass-site-header .brand-logo img,
html body header.site-header.glass-site-header .brand-logo img[src$="logo-zan.svg"] {
  opacity: 1 !important;
  filter: brightness(1.18) contrast(1.2) drop-shadow(0 2px 6px rgba(0, 0, 0, .3)) !important;
}

html body header.site-header.glass-site-header .nav-links {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: rgba(8, 16, 29, .86) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  box-shadow: 0 16px 42px rgba(2, 6, 23, .22) !important;
  backdrop-filter: blur(14px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
}

html body header.site-header.glass-site-header .nav-links > a,
html body header.site-header.glass-site-header .nav-language-trigger {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: rgba(255, 255, 255, .92) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .92) !important;
}

html body header.site-header.glass-site-header .nav-links > a.is-active,
html body header.site-header.glass-site-header .nav-links > a:hover,
html body header.site-header.glass-site-header .nav-language-trigger:hover {
  background: rgba(59, 130, 246, .3) !important;
  border-color: rgba(96, 165, 250, .54) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

@media (max-width: 1024px) {
  html body header.site-header.glass-site-header .brand-logo {
    background: rgba(8, 16, 29, .76) !important;
  }
}

/* Mobile header correction: never render the full desktop nav on small screens. */
@media (max-width: 1024px) {
  html body header.site-header.glass-site-header .container.header-inner {
    width: min(100% - 20px, 720px) !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    padding: 0 8px 0 10px !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 999px !important;
    background: rgba(8, 16, 29, .74) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 16px 42px rgba(2,6,23,.22) !important;
    backdrop-filter: blur(14px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
  }

  html body header.site-header.glass-site-header .nav-links,
  html body header.site-header.glass-site-header .nav-language-trigger,
  html body header.site-header.glass-site-header .nav-contact-cta {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  html body header.site-header.glass-site-header .header-actions {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    grid-column: 3 !important;
    justify-content: flex-end !important;
    align-items: center !important;
    min-width: 48px !important;
  }

  html body header.site-header.glass-site-header .menu-toggle,
  html body header.site-header.glass-site-header .mobile-menu-trigger {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 999px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
  }
}
