
    /* ── Brand tokens ── */
    :root {
      --brand-dark:   #0c1520;
      --brand-mid:    #142030;
      --brand-gold:   #c9a84c;
      --brand-teal:   #2a8a7e;
      --brand-light:  #f0ece4;
      --ff-display:   'Playfair Display', serif;
      --ff-body:      'DM Sans', sans-serif;
    }
    body { font-family: var(--ff-body); background: var(--brand-dark); color: var(--brand-light); }
    h1,h2,h3,h4,h5 { font-family: var(--ff-display); }

    /* ── Hero ── */
    .hero-section {
      min-height: 100vh;
      background:
        linear-gradient(to bottom, rgba(12,21,32,.65) 0%, rgba(12,21,32,.92) 100%),
        url('https://images.unsplash.com/photo-1614091066338-6b8e9cc3c4bd?w=1600&q=80') center/cover no-repeat;
      display: flex; align-items: center;
    }
    .hero-badge {
      display: inline-block;
      border: 1px solid var(--brand-gold);
      color: var(--brand-gold);
      letter-spacing: .18em;
      font-size: .72rem;
      font-weight: 600;
      text-transform: uppercase;
    }
    .hero-title { font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1.1; }
    .hero-lead { font-size: 1.15rem; opacity: .85; max-width: 560px; }
    .btn-gold {
      background: var(--brand-gold); color: var(--brand-dark);
      font-weight: 700; border: none; letter-spacing: .04em;
    }
    .btn-gold:hover { background: #e0b95a; color: var(--brand-dark); }
    .btn-outline-gold {
      border: 2px solid var(--brand-gold); color: var(--brand-gold);
      font-weight: 600;
    }
    .btn-outline-gold:hover { background: var(--brand-gold); color: var(--brand-dark); }

    /* ── Stats bar ── */
    .stats-bar { background: var(--brand-gold); }
    .stat-number { font-family: var(--ff-display); font-size: 2.2rem; color: var(--brand-dark); line-height: 1; }
    .stat-label { font-size: .8rem; color: var(--brand-dark); opacity: .75; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; }

    /* ── Section wrappers ── */
    .section-dark  { background: var(--brand-dark); }
    .section-mid   { background: var(--brand-mid); }
    .section-teal  { background: var(--brand-teal); }
    .accent-line {
      width: 56px; height: 3px; background: var(--brand-gold);
    }
    .section-eyebrow {
      color: var(--brand-gold); letter-spacing: .16em;
      font-size: .74rem; font-weight: 700; text-transform: uppercase;
    }

    /* ── Story image ── */
    .story-img-wrap { position: relative; }
    .story-img-wrap img { border-radius: .5rem; }
    .story-badge-float {
      position: absolute; bottom: -20px; right: -20px;
      background: var(--brand-gold); color: var(--brand-dark);
      border-radius: 50%; width: 120px; height: 120px;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      font-family: var(--ff-display); font-size: 1.5rem; font-weight: 900;
      line-height: 1; text-align: center;
    }
    .story-badge-float small { font-size: .62rem; font-family: var(--ff-body); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }

    /* ── Destination cards ── */
    .dest-card {
      border-radius: .6rem; overflow: hidden; position: relative;
      height: 280px; cursor: pointer;
    }
    .dest-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
    .dest-card:hover img { transform: scale(1.07); }
    .dest-card-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(12,21,32,.92) 0%, transparent 55%);
    }
    .dest-card-body { position: absolute; bottom: 0; left: 0; right: 0; }
    .dest-badge {
      font-size: .68rem; background: var(--brand-gold); color: var(--brand-dark);
      font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    }

    /* ── Why choose us icons ── */
    .feature-icon-wrap {
      width: 62px; height: 62px; border-radius: .5rem;
      background: rgba(201,168,76,.12); border: 1px solid rgba(201,168,76,.25);
      display: flex; align-items: center; justify-content: center;
      color: var(--brand-gold); font-size: 1.4rem; flex-shrink: 0;
    }

    /* ── Mission / Vision cards ── */
    .mv-card {
      border-radius: .6rem; background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.08);
    }
    .mv-icon { font-size: 2.4rem; color: var(--brand-gold); }

    /* ── Testimonial ── */
    .testimonial-card {
      background: rgba(255,255,255,.05); border-radius: .6rem;
      border: 1px solid rgba(255,255,255,.1);
    }
    .stars { color: var(--brand-gold); }

    /* ── Team cards ── */
    .team-card { border-radius: .6rem; overflow: hidden; background: var(--brand-mid); }
    .team-card img { height: 240px; object-fit: cover; width: 100%; filter: grayscale(20%); }
    .team-social a { color: rgba(255,255,255,.5); transition: color .2s; }
    .team-social a:hover { color: var(--brand-gold); }

    /* ── Back to top ── */
    .back-to-top {
      position: fixed; bottom: 30px; right: 30px; z-index: 999;
      width: 44px; height: 44px; background: var(--brand-gold);
      color: var(--brand-dark); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 1rem; opacity: 0; pointer-events: none; transition: opacity .3s;
      text-decoration: none;
    }
    .back-to-top.show { opacity: 1; pointer-events: auto; }

    /* ── Dividers ── */
    .gold-divider { border-color: rgba(201,168,76,.25); }

    /* ── Navbar ── */
    .navbar-brand span { font-family: var(--ff-display); color: var(--brand-gold); }
    .nav-link { color: rgba(255,255,255,.8) !important; font-weight: 500; }
    .nav-link:hover { color: var(--brand-gold) !important; }
  