/* ===== about.html ===== */

.team-card {
      border-radius:28px;
      background:rgba(255,255,255,0.84);
      border:1px solid rgba(16,32,32,0.06);
      box-shadow:0 12px 36px rgba(16,32,32,0.08);
      overflow:hidden;
      transition:transform 0.35s ease, box-shadow 0.35s ease;
    }
    .team-card:hover { transform:translateY(-6px); box-shadow:0 24px 52px rgba(16,32,32,0.13); }
    .team-card__photo { overflow:hidden; }
    .team-card__photo img { transition:transform 0.45s ease; display:block; width:100%; height:100%; object-fit:cover; object-position:top; }
    .team-card:hover .team-card__photo img { transform:scale(1.05); }

    .value-card {
      border-radius:28px;
      background:rgba(255,255,255,0.82);
      border:1px solid rgba(16,32,32,0.06);
      box-shadow:0 10px 28px rgba(16,32,32,0.07);
      padding:2rem;
      transition:transform 0.3s ease, box-shadow 0.3s ease, border-radius 0.3s ease;
    }
    .value-card:hover { transform:translateY(-5px); box-shadow:0 22px 46px rgba(16,32,32,0.12); border-radius:28px 28px 56px 28px; }

    .story-quote {
      border-left:3px solid #E05C3A;
      padding-left:1.5rem;
      font-display:swap;
    }

    .stat-block {
      border-radius:24px;
      background:rgba(255,255,255,0.78);
      border:1px solid rgba(13,107,94,0.1);
      box-shadow:0 10px 28px rgba(16,32,32,0.07);
      padding:1.75rem 1.5rem;
      text-align:center;
      transition:transform 0.3s ease, box-shadow 0.3s ease;
    }
    .stat-block:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(16,32,32,0.12); }

    .timeline-item { display:flex; gap:1.5rem; }
    .timeline-item__dot {
      flex-shrink:0; width:14px; height:14px; border-radius:50%;
      background:#0D6B5E; margin-top:0.4rem;
      box-shadow:0 0 0 4px rgba(13,107,94,0.15);
    }
    .timeline-line { width:2px; background:rgba(13,107,94,0.15); margin-left:6px; }


/* ===== archive.html ===== */

.article-card {
      border-radius:28px;
      background:rgba(255,255,255,0.82);
      border:1px solid rgba(16,32,32,0.06);
      box-shadow:0 12px 36px rgba(16,32,32,0.09);
      overflow:hidden;
      transition:transform 0.35s ease, box-shadow 0.35s ease;
    }
    .article-card:hover { transform:translateY(-7px); box-shadow:0 26px 56px rgba(16,32,32,0.14); }
    .article-card__thumb { overflow:hidden; }
    .article-card__thumb img { transition:transform 0.45s ease; display:block; width:100%; height:100%; object-fit:cover; }
    .article-card:hover .article-card__thumb img { transform:scale(1.06); }

    .featured-card {
      border-radius:36px;
      overflow:hidden;
      position:relative;
      min-height:520px;
    }
    .featured-card__media { position:absolute; inset:0; }
    .featured-card__media img { width:100%; height:100%; object-fit:cover; }
    .featured-card__overlay {
      position:absolute; inset:0;
      background:linear-gradient(to top, rgba(0,37,31,0.88) 0%, rgba(0,37,31,0.4) 50%, rgba(0,37,31,0.1) 100%);
    }
    .featured-card__content { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:520px; padding:2.5rem; }

    .category-dot {
      display:inline-block; width:7px; height:7px; border-radius:50%;
      background:currentColor; flex-shrink:0;
    }

    .newsletter-strip {
      background:linear-gradient(135deg, #021A14 0%, #0D6B5E 100%);
      border-radius:40px;
    }

    .read-time-badge {
      display:inline-flex; align-items:center; gap:0.35rem;
      border-radius:999px; padding:0.3rem 0.75rem;
      font-size:0.7rem; font-weight:600; letter-spacing:0.1em;
      background:rgba(255,255,255,0.72); color:#102020; border:1px solid rgba(16,32,32,0.08);
    }


/* ===== bangaram-resort.html ===== */

/* Resort hero — full screen */
    .resort-hero {
      position:relative; min-height:100vh;
      display:flex; align-items:flex-end;
      overflow:hidden;
    }
    .resort-hero__video, .resort-hero__bg {
      position:absolute; inset:0;
      width:100%; height:100%; object-fit:cover;
    }
    .resort-hero__overlay {
      position:absolute; inset:0;
      background:linear-gradient(to top, rgba(0,37,31,0.88) 0%, rgba(0,37,31,0.38) 50%, rgba(0,37,31,0.12) 100%);
    }
    .resort-hero__content { position:relative; width:100%; }

    /* Sticky booking bar */
    .booking-bar {
      position:sticky; top:72px; z-index:40;
      background:rgba(255,255,255,0.96);
      border-bottom:1px solid rgba(16,32,32,0.08);
      backdrop-filter:blur(16px);
      box-shadow:0 4px 24px rgba(16,32,32,0.07);
    }

    /* Room card */
    .room-card {
      border-radius:32px; overflow:hidden;
      background:rgba(255,255,255,0.84);
      border:1px solid rgba(16,32,32,0.07);
      box-shadow:0 14px 38px rgba(16,32,32,0.09);
      transition:transform 0.35s ease, box-shadow 0.35s ease;
    }
    .room-card:hover { transform:translateY(-6px); box-shadow:0 26px 56px rgba(16,32,32,0.14); }
    .room-card__thumb { overflow:hidden; }
    .room-card__thumb img { transition:transform 0.45s ease; display:block; width:100%; height:100%; object-fit:cover; }
    .room-card:hover .room-card__thumb img { transform:scale(1.06); }

    /* Gallery grid */
    /* ── Unified proportional masonry gallery ── */
    .lke-gallery { columns:2; column-gap:1rem; }
    @media (min-width:640px)  { .lke-gallery { columns:3; } }
    @media (min-width:1280px) { .lke-gallery { columns:4; } }
    .lke-gallery__item { break-inside:avoid; margin-bottom:1rem; overflow:hidden; border-radius:18px; cursor:pointer; position:relative; display:block; }
    .lke-gallery__item img { display:block; width:100%; height:auto; transition:transform 0.42s ease; }
    .lke-gallery__item:hover img { transform:scale(1.04); }
    .lke-gallery__item::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,0); transition:background 0.3s ease; border-radius:inherit; pointer-events:none; }
    .lke-gallery__item:hover::after { background:rgba(0,0,0,0.06); }

    /* legacy — keep for any residual references */
    .gallery-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); }
    .gallery-grid__item { overflow:hidden; border-radius:20px; cursor:pointer; }
    .gallery-grid__item img { display:block; width:100%; height:auto; transition:transform 0.45s ease; }
    .gallery-grid__item:hover img { transform:scale(1.05); }

    /* Amenity chip */
    .amenity-chip {
      display:inline-flex; align-items:center; gap:0.55rem;
      border-radius:14px; padding:0.75rem 1rem;
      background:rgba(255,255,255,0.82);
      border:1px solid rgba(16,32,32,0.07);
      box-shadow:0 6px 18px rgba(16,32,32,0.06);
      font-size:0.86rem; font-weight:500;
      transition:transform 0.25s ease, box-shadow 0.25s ease;
    }
    .amenity-chip:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(16,32,32,0.1); }
    .amenity-chip__icon { font-size:1.15rem; }

    /* Activity card */
    .activity-card {
      border-radius:24px; padding:1.75rem;
      background:rgba(255,255,255,0.82);
      border:1px solid rgba(16,32,32,0.06);
      box-shadow:0 10px 26px rgba(16,32,32,0.07);
      transition:transform 0.3s ease, box-shadow 0.3s ease, border-radius 0.3s ease;
    }
    .activity-card:hover { transform:translateY(-5px); box-shadow:0 20px 44px rgba(16,32,32,0.12); border-radius:24px 24px 52px 24px; }

    /* Review card */
    .review-card {
      border-radius:26px;
      background:rgba(255,255,255,0.78);
      border:1px solid rgba(16,32,32,0.06);
      box-shadow:0 10px 28px rgba(16,32,32,0.07);
      padding:1.75rem;
    }
    .stars { color:#E05C3A; letter-spacing:0.1em; }

    /* Floating enquire button (mobile) */
    .enquire-float {
      position:fixed; bottom:1.5rem; inset-x:1.5rem; z-index:50;
      border-radius:999px; background:#E05C3A;
      color:#fff; font-size:0.9rem; font-weight:700;
      padding:1rem; text-align:center;
      box-shadow:0 16px 40px rgba(232,92,58,0.36);
      display:none;
    }
    @media (max-width:1023px) { .enquire-float { display:block; } }

    /* Map placeholder */
    .map-placeholder {
      border-radius:28px; overflow:hidden;
      background:linear-gradient(135deg,#d9f0e8 0%,#b4e0d2 100%);
      display:flex; align-items:center; justify-content:center;
      min-height:320px; position:relative;
    }


/* ===== contact.html ===== */

.contact-method {
      border-radius:28px;
      background:rgba(255,255,255,0.84);
      border:1px solid rgba(16,32,32,0.06);
      box-shadow:0 12px 32px rgba(16,32,32,0.08);
      padding:2rem;
      transition:transform 0.3s ease, box-shadow 0.3s ease, border-radius 0.3s ease;
      display:flex; flex-direction:column;
    }
    .contact-method:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(16,32,32,0.13); border-radius:28px 28px 56px 28px; }
    .contact-method__icon {
      width:56px; height:56px; border-radius:18px;
      display:inline-flex; align-items:center; justify-content:center;
      font-size:1.6rem; margin-bottom:1.25rem;
    }

    .form-label { display:block; font-size:0.82rem; font-weight:600; margin-bottom:0.5rem; color:#102020; letter-spacing:0.02em; }
    .form-input {
      width:100%; border-radius:14px; border:1px solid #d0e2df;
      background:#f7fbfb; padding:0.9rem 1.1rem;
      font-size:0.9rem; color:#102020; outline:none;
      transition:border-color 0.25s ease, box-shadow 0.25s ease;
      font-family:inherit;
    }
    .form-input:focus { border-color:#1A9B82; box-shadow:0 0 0 4px rgba(26,155,130,0.1); }
    .form-input::placeholder { color:rgba(16,32,32,0.38); }

    .faq-item { border-bottom:1px solid rgba(16,32,32,0.08); }
    .faq-item:last-child { border-bottom:none; }
    .faq-trigger {
      display:flex; align-items:center; justify-content:space-between;
      width:100%; padding:1.35rem 0; cursor:pointer;
      text-align:left; background:none; border:none;
      font-family:inherit;
    }
    .faq-trigger__icon {
      flex-shrink:0; width:28px; height:28px; border-radius:50%;
      background:rgba(13,107,94,0.1); color:#0D6B5E;
      display:flex; align-items:center; justify-content:center;
      font-size:1rem; transition:transform 0.3s ease, background 0.3s ease;
    }
    .faq-item.open .faq-trigger__icon { transform:rotate(45deg); background:#0D6B5E; color:#fff; }
    .faq-body { overflow:hidden; max-height:0; transition:max-height 0.4s ease; }
    .faq-body__inner { padding-bottom:1.25rem; }

    .response-promise {
      background:linear-gradient(135deg,#021A14 0%,#0D6B5E 100%);
      border-radius:28px; padding:2rem;
      color:#fff;
    }


/* ===== destinations.html ===== */

.island-card { transition:transform 0.35s ease, box-shadow 0.35s ease, border-radius 0.35s ease; }
    .island-card:hover { transform:translateY(-7px); box-shadow:0 28px 58px rgba(16,32,32,0.15); border-radius:32px 32px 72px 32px; }
    .island-card__thumb { overflow:hidden; }
    .island-card__thumb img { transition:transform 0.45s ease; }
    .island-card:hover .island-card__thumb img { transform:scale(1.07); }

    .permit-strip {
      background:linear-gradient(135deg,#0D6B5E 0%,#021A14 100%);
    }

    .fact-chip {
      display:inline-flex; align-items:center; gap:0.4rem;
      border-radius:999px; padding:0.38rem 0.82rem;
      font-size:0.72rem; font-weight:600;
      background:rgba(255,255,255,0.68); border:1px solid rgba(16,32,32,0.08);
      color:#102020; backdrop-filter:blur(6px);
    }

    .island-hero-media { min-height:580px; position:relative; overflow:hidden; border-radius:36px; }
    .island-hero-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
    .island-hero-media__overlay {
      position:absolute; inset:0;
      background:linear-gradient(to top, rgba(0,37,31,0.72) 0%, rgba(0,37,31,0.12) 55%, transparent 100%);
    }

    .stat-pill {
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      border-radius:22px; background:rgba(255,255,255,0.82);
      border:1px solid rgba(13,107,94,0.1);
      box-shadow:0 10px 28px rgba(16,32,32,0.08);
      padding:1.25rem 1rem; text-align:center;
      transition:transform 0.3s ease, box-shadow 0.3s ease;
    }
    .stat-pill:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(16,32,32,0.12); }


/* ===== index.html ===== */

:root {
      --page-bg:
        radial-gradient(circle at 12% 8%, rgba(180, 235, 220, 0.72) 0%, rgba(180, 235, 220, 0) 28%),
        radial-gradient(circle at 52% 54%, rgba(200, 245, 235, 0.68) 0%, rgba(200, 245, 235, 0) 24%),
        radial-gradient(circle at 88% 92%, rgba(255, 220, 180, 0.54) 0%, rgba(255, 220, 180, 0) 18%),
        linear-gradient(180deg, #fdfaf5 0%, #f0f9f4 46%, #dff4eb 100%);
    }

    body {
      background: var(--page-bg);
      background-attachment: fixed;
    }

    .dot-grid {
      background-image:
        radial-gradient(rgba(255,255,255,0.12) 1px, transparent 1px),
        radial-gradient(rgba(75,191,186,0.12) 1px, transparent 1px);
      background-size: 24px 24px, 24px 24px;
      background-position: 0 0, 12px 12px;
    }

    .travel-feature-card {
      position: relative;
      overflow: hidden;
      transition: border-radius 0.35s ease, transform 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
    }

    .travel-feature-card:hover {
      transform: translateY(-6px);
      border-radius: 28px 28px 74px 28px;
      box-shadow: 0 22px 48px rgba(16, 32, 32, 0.16);
    }

    .travel-feature-card::after {
      content: "";
      position: absolute;
      inset: auto -18% -28% auto;
      width: 150px;
      height: 150px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,255,255,0.12), transparent 68%);
      transform: scale(0.7);
      opacity: 0;
      transition: transform 0.35s ease, opacity 0.35s ease;
    }

    .travel-feature-card:hover::after {
      transform: scale(1);
      opacity: 1;
    }

    .travel-feature-card--accent:hover {
      border-radius: 28px 28px 84px 28px;
      background: linear-gradient(145deg, #f2f7c6 0%, #d7e88c 100%);
      box-shadow: 0 18px 42px rgba(210, 175, 148, 0.28);
    }

    .travel-logo-chip {
      transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
    }

    .travel-logo-chip:hover {
      transform: translateY(-3px);
      background: rgba(255,255,255,0.92);
      border-color: rgba(13,107,94,0.16);
    }

    .travel-feature-card__icon {
      transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease;
    }

    .travel-feature-card:hover .travel-feature-card__icon {
      transform: translateY(-3px) scale(1.06);
      background: rgba(245, 196, 184, 0.18);
      color: #ffd4a8;
    }

    .travel-feature-stat {
      transition: transform 0.3s ease, box-shadow 0.3s ease, border-radius 0.3s ease, background 0.3s ease;
    }

    .travel-feature-stat:hover {
      transform: translateY(-4px);
      border-radius: 24px 24px 34px 24px;
      background: #ffffff;
      box-shadow: 0 18px 38px rgba(16, 32, 32, 0.12);
    }

    .travel-blog-card {
      transition: transform 0.35s ease, box-shadow 0.35s ease;
    }

    .travel-blog-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 24px 54px rgba(16, 32, 32, 0.14);
    }

    .travel-blog-card img {
      transition: transform 0.45s ease;
    }

    .travel-blog-card:hover img {
      transform: scale(1.05);
    }

    .testimonial-swiper {
      --testimonial-columns: 1;
      position: relative;
    }

    .testimonial-swiper__viewport {
      overflow: hidden;
    }

    .testimonial-swiper__track {
      display: flex;
      gap: 1.5rem;
      transition: transform 0.45s ease;
      will-change: transform;
    }

    .testimonial-swiper__slide {
      min-width: calc((100% - (var(--testimonial-columns) - 1) * 1.5rem) / var(--testimonial-columns));
      flex: 0 0 calc((100% - (var(--testimonial-columns) - 1) * 1.5rem) / var(--testimonial-columns));
    }

    .testimonial-card {
      position: relative;
      height: 100%;
    }

    .testimonial-card__frame {
      position: relative;
      min-height: 100%;
      border-radius: 30px;
      background: rgba(255, 255, 255, 0.74);
      border: 1px solid rgba(16, 32, 32, 0.05);
      box-shadow: 0 18px 42px rgba(16, 32, 32, 0.08);
      backdrop-filter: blur(8px);
    }

    .testimonial-card__body {
      padding: 2rem 2rem 1.9rem;
      min-height: 100%;
      display: flex;
      flex-direction: column;
    }

    .testimonial-card__badge {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 52px;
      height: 52px;
      border-radius: 999px;
      background: #021A14;
      color: #ffffff;
      box-shadow: 0 12px 28px rgba(16, 32, 32, 0.16);
      font-size: 1.7rem;
      line-height: 1;
    }

    .testimonial-card__badge--top {
      position: relative;
      flex: 0 0 auto;
    }

    .testimonial-card__avatar {
      width: 52px;
      height: 52px;
      overflow: hidden;
      border-radius: 999px;
      border: 2px solid rgba(13, 107, 94, 0.12);
      background: #ffffff;
    }

    .testimonial-card__avatar img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .testimonial-card__stars {
      letter-spacing: 0.18em;
      color: #e05c3a;
    }

    .destination-showcase__media {
      position: relative;
      min-height: 620px;
    }

    .destination-showcase__image-wrap {
      position: relative;
      min-height: 620px;
      overflow: hidden;
      border-radius: 42% 58% 52% 48% / 30% 30% 70% 70%;
      background:
        radial-gradient(circle at 16% 18%, rgba(255, 255, 255, 0.96) 0 12%, transparent 30%),
        radial-gradient(circle at 84% 16%, rgba(255, 255, 255, 0.9) 0 10%, transparent 28%),
        radial-gradient(circle at 8% 88%, rgba(255, 255, 255, 0.95) 0 10%, transparent 32%),
        radial-gradient(circle at 92% 82%, rgba(255, 255, 255, 0.96) 0 12%, transparent 30%),
        radial-gradient(circle at 52% 50%, rgba(255, 255, 255, 0) 58%, rgba(255, 255, 255, 0.88) 88%);
      box-shadow: 0 36px 80px rgba(16, 32, 32, 0.12);
      isolation: isolate;
    }

    .destination-showcase__image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: saturate(1.04) contrast(1.02);
    }

    .destination-showcase__image-fade {
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 8% 8%, rgba(255, 255, 255, 0.96), transparent 22%),
        radial-gradient(circle at 94% 10%, rgba(255, 255, 255, 0.92), transparent 22%),
        radial-gradient(circle at 6% 92%, rgba(255, 255, 255, 0.94), transparent 24%),
        radial-gradient(circle at 92% 90%, rgba(255, 255, 255, 0.94), transparent 24%),
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0) 58%, rgba(255, 255, 255, 0.82) 92%);
      mix-blend-mode: screen;
      pointer-events: none;
    }

    .destination-showcase__review {
      position: absolute;
      left: 2.25rem;
      bottom: 2.25rem;
      z-index: 2;
      max-width: 360px;
      border-radius: 26px;
      border: 1px solid rgba(255, 255, 255, 0.18);
      background: rgba(16, 32, 32, 0.54);
      padding: 1.5rem;
      color: white;
      box-shadow: 0 24px 56px rgba(16, 32, 32, 0.26);
      backdrop-filter: blur(14px);
    }

    .destination-showcase__review-stars {
      letter-spacing: 0.18em;
      color: #e05c3a;
    }

    .destination-showcase__features {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0;
      margin-top: 2rem;
      border-top: 1px solid rgba(16, 32, 32, 0.1);
      border-bottom: 1px solid rgba(16, 32, 32, 0.1);
    }

    .destination-showcase__feature {
      display: flex;
      align-items: center;
      gap: 1rem;
      padding: 2rem 1.25rem 2rem 0;
    }

    .destination-showcase__feature + .destination-showcase__feature {
      border-left: 1px solid rgba(16, 32, 32, 0.1);
      padding-left: 1.5rem;
    }

    .destination-showcase__icon {
      display: inline-flex;
      width: 58px;
      height: 58px;
      align-items: center;
      justify-content: center;
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.72);
      color: #0D6B5E;
      box-shadow: 0 14px 30px rgba(16, 32, 32, 0.08);
    }

    .destination-showcase__palm {
      position: absolute;
      right: 0;
      bottom: 0;
      width: 84px;
      height: 84px;
      opacity: 0.18;
      pointer-events: none;
    }

    @media (max-width: 1023px) {
      .destination-showcase__media,
      .destination-showcase__image-wrap {
        min-height: 520px;
      }
    }

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

      .destination-showcase__feature {
        padding-right: 0;
      }

      .destination-showcase__feature + .destination-showcase__feature {
        border-left: 0;
        border-top: 1px solid rgba(16, 32, 32, 0.1);
        padding-left: 0;
      }

      .destination-showcase__review {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        max-width: none;
      }
    }

    @media (min-width: 768px) {
      .testimonial-swiper {
        --testimonial-columns: 2;
      }
    }

    @media (min-width: 1280px) {
      .testimonial-swiper {
        --testimonial-columns: 3;
      }
    }

    .masked-carousel {
      position: relative;
      overflow: hidden;
    }

    .masked-carousel::before,
    .masked-carousel::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      z-index: 2;
      width: 72px;
      pointer-events: none;
    }

    .masked-carousel::before {
      left: 0;
      background: linear-gradient(90deg, #f0f7f2 0%, rgba(240, 247, 242, 0) 100%);
    }

    .masked-carousel::after {
      right: 0;
      background: linear-gradient(270deg, #f0f7f2 0%, rgba(240, 247, 242, 0) 100%);
    }

    .masked-carousel__viewport {
      overflow: hidden;
    }

    .masked-carousel__track {
      display: flex;
      width: max-content;
      gap: 1.5rem;
      animation: maskedCarouselScroll 32s linear infinite;
      will-change: transform;
    }

    .section-heading {
      max-width: 980px;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }

    .section-heading__eyebrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      border: 1px solid rgba(232, 112, 90, 0.14);
      background: rgba(255, 255, 255, 0.42);
      padding: 0.7rem 1.15rem;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: #e05c3a;
      box-shadow: 0 10px 24px rgba(16, 32, 32, 0.05);
      backdrop-filter: blur(8px);
    }

    .section-heading__title {
      margin-top: 1.1rem;
    }

    .section-heading__copy {
      margin-top: 1rem;
      margin-left: auto;
      margin-right: auto;
      max-width: 760px;
    }

    .masked-carousel:hover .masked-carousel__track {
      animation-play-state: paused;
    }

    .masked-carousel__item {
      position: relative;
      width: clamp(180px, 16vw, 255px);
      aspect-ratio: 0.97 / 1;
      flex: 0 0 auto;
    }

    .masked-carousel__media {
      appearance: none;
      border: 0;
      cursor: pointer;
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
      border-radius: 28px;
      background-color: #d2af94;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      box-shadow: 0 18px 34px rgba(16, 32, 32, 0.12);
      transition: transform 0.35s ease, box-shadow 0.35s ease;
    }

    .masked-carousel__item:hover .masked-carousel__media {
      transform: translateY(-6px);
      box-shadow: 0 24px 44px rgba(16, 32, 32, 0.16);
    }

    .about-feature {
      position: relative;
    }

    .about-feature__media {
      position: relative;
      width: min(100%, 720px);
      margin-inline: auto;
      aspect-ratio: 440 / 454;
      filter: drop-shadow(0 24px 52px rgba(16, 32, 32, 0.12));
    }

    .about-feature__image {
      width: 100%;
      height: 100%;
      background-image: url("../../images/download.jpg");
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      -webkit-mask-image: url("https://codrops-1f606.kxcdn.com/codrops/wp-content/uploads/2014/10/mask-image.png");
      mask-image: url("https://codrops-1f606.kxcdn.com/codrops/wp-content/uploads/2014/10/mask-image.png");
      -webkit-mask-mode: alpha;
      mask-mode: alpha;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
      -webkit-mask-size: contain;
      mask-size: contain;
    }

    .about-feature__badge {
      position: absolute;
      right: -1.5rem;
      bottom: -1rem;
      display: inline-flex;
      align-items: center;
      gap: 0.95rem;
      border-radius: 1.35rem;
      background: rgba(255, 255, 255, 0.96);
      padding: 0.95rem 1.3rem;
      box-shadow: 0 22px 44px rgba(16, 32, 32, 0.14);
      backdrop-filter: blur(12px);
    }

    @media (max-width: 1023px) {
      .about-feature__badge {
        right: 0.5rem;
        bottom: -0.5rem;
      }
    }

    @media (max-width: 767px) {
      .about-feature__media {
        width: 100%;
      }

      .about-feature__badge {
        right: 0;
        bottom: -0.75rem;
        padding: 0.85rem 1.05rem;
      }
    }

    @keyframes maskedCarouselScroll {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(calc(-50% - 0.75rem));
      }
    }


/* Smooth image zoom on hover — no layout jump */
          .welcome-card { will-change: transform, opacity; }
          .welcome-card img { will-change: transform; transform: translateZ(0); }
          .welcome-card:hover .relative img { transform: scale(1.06); }
          .welcome-card:hover .relative { box-shadow: 0 28px 56px rgba(5,61,53,0.18) !important; }


/* ===== package-single.html ===== */

/* ── Full-screen package hero ── */
    .pkg-hero {
      position:relative; min-height:100vh;
      display:flex; align-items:flex-end; overflow:hidden;
    }
    .pkg-hero__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
    .pkg-hero__overlay {
      position:absolute; inset:0;
      background:linear-gradient(to top,rgba(0,37,31,0.92) 0%,rgba(0,37,31,0.46) 45%,rgba(0,37,31,0.14) 100%);
    }
    .pkg-hero__content { position:relative; width:100%; }

    /* ── Sticky section nav ── */
    .section-nav {
      position:sticky; top:72px; z-index:40;
      background:rgba(255,255,255,0.97); backdrop-filter:blur(20px);
      border-bottom:1px solid rgba(16,32,32,0.07);
      box-shadow:0 4px 20px rgba(16,32,32,0.06);
    }
    .section-nav__track {
      position:relative; display:flex; align-items:center;
      overflow-x:auto; scrollbar-width:none;
    }
    .section-nav__track::-webkit-scrollbar { display:none; }
    .section-nav__link {
      display:inline-flex; align-items:center;
      padding:0.9rem 0; margin-right:1.75rem;
      font-size:0.83rem; font-weight:500; letter-spacing:0.01em;
      color:rgba(16,32,32,0.52); white-space:nowrap;
      transition:color 0.2s; flex-shrink:0;
      text-decoration:none; border:none; outline:none;
    }
    .section-nav__link:hover { color:#102020; }
    .section-nav__link.active { color:#0D6B5E; font-weight:700; }
    /* sliding ink underline */
    .section-nav__ink {
      position:absolute; bottom:0; height:2px;
      background:#0D6B5E; border-radius:2px 2px 0 0;
      transition:left 0.28s cubic-bezier(0.4,0,0.2,1),
                 width 0.28s cubic-bezier(0.4,0,0.2,1);
      pointer-events:none;
    }

    /* ── Chips strip ── */
    .chips-strip {
      position:relative; background:#fff;
      border-bottom:1px solid rgba(16,32,32,0.06);
    }
    .chips-strip__scroll {
      display:flex; align-items:center; gap:0.5rem;
      overflow-x:auto; scrollbar-width:none;
      padding:0.75rem 0;
    }
    .chips-strip__scroll::-webkit-scrollbar { display:none; }
    .chips-strip__fade-r {
      position:absolute; top:0; right:0; bottom:0; width:60px;
      background:linear-gradient(to right, transparent, #fff 80%);
      pointer-events:none;
    }
    .chips-strip__label {
      flex-shrink:0; font-size:0.67rem; font-weight:800;
      text-transform:uppercase; letter-spacing:0.2em;
      color:rgba(16,32,32,0.35); padding-right:0.25rem;
    }
    .include-chip {
      display:inline-flex; align-items:center; gap:0.42rem;
      flex-shrink:0; border-radius:999px;
      padding:0.38rem 0.85rem 0.38rem 0.7rem;
      font-size:0.76rem; font-weight:600;
      background:#fff; color:#0D6B5E;
      border:1.5px solid rgba(13,107,94,0.18);
      box-shadow:0 1px 4px rgba(13,107,94,0.08);
      transition:background 0.2s, border-color 0.2s, box-shadow 0.2s;
      white-space:nowrap;
    }
    .include-chip:hover {
      background:rgba(13,107,94,0.06);
      border-color:rgba(13,107,94,0.32);
      box-shadow:0 2px 8px rgba(13,107,94,0.12);
    }
    .include-chip svg { flex-shrink:0; color:#0D6B5E; }

    /* ── Day-by-day itinerary ── */
    .day-block { display:grid; gap:0; }
    .day-item { display:flex; gap:1.5rem; padding-bottom:2.5rem; position:relative; }
    .day-item:last-child { padding-bottom:0; }
    .day-item__track { display:flex; flex-direction:column; align-items:center; flex-shrink:0; width:48px; }
    .day-item__circle {
      width:48px; height:48px; border-radius:50%; flex-shrink:0;
      display:flex; align-items:center; justify-content:center;
      font-display:swap; font-weight:800; font-size:0.9rem;
      background:#0D6B5E; color:#fff;
      box-shadow:0 8px 24px rgba(13,107,94,0.28);
      z-index:1; position:relative;
    }
    .day-item__line {
      flex:1; width:2px; background:linear-gradient(to bottom,rgba(13,107,94,0.35),rgba(13,107,94,0.08));
      margin-top:4px;
    }
    .day-item:last-child .day-item__line { display:none; }
    .day-item__body { padding-top:0.65rem; flex:1; }

    .activity-pill {
      display:inline-flex; align-items:center; gap:0.4rem;
      border-radius:999px; padding:0.32rem 0.75rem;
      font-size:0.72rem; font-weight:600;
      background:rgba(13,107,94,0.08); border:1px solid rgba(13,107,94,0.12); color:#0D6B5E;
    }
    .activity-pill--coral { background:rgba(224,92,58,0.08); border-color:rgba(224,92,58,0.14); color:#E05C3A; }
    .activity-pill--sand  { background:rgba(196,168,130,0.12); border-color:rgba(196,168,130,0.2); color:#8b6a3a; }

    /* ── Inclusions ── */
    .incl-row { display:flex; align-items:flex-start; gap:0.85rem; padding:0.85rem 0; border-bottom:1px solid rgba(16,32,32,0.06); }
    .incl-row:last-child { border-bottom:none; }
    .incl-check { flex-shrink:0; width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.7rem; font-weight:700; }
    .incl-check--yes { background:rgba(13,107,94,0.12); color:#0D6B5E; }
    .incl-check--no  { background:rgba(224,92,58,0.1); color:#E05C3A; }

    /* ── Price card ── */
    .price-card {
      border-radius:28px; background:rgba(255,255,255,0.86);
      border:1px solid rgba(16,32,32,0.07);
      box-shadow:0 16px 44px rgba(16,32,32,0.1);
      overflow:hidden; position:sticky; top:130px;
    }
    .price-card__head { background:linear-gradient(135deg,#021A14 0%,#0D6B5E 100%); padding:1.75rem; color:#fff; }

    /* ── Gallery ── */
    /* pkg-gallery now uses .lke-gallery — legacy kept for fallback */
    .pkg-gallery { display:grid; gap:0.75rem; grid-template-columns:1fr 1fr; }
    .pkg-gallery__item { overflow:hidden; border-radius:18px; cursor:pointer; }
    .pkg-gallery__item img { display:block; width:100%; height:auto; transition:transform 0.4s ease; }
    .pkg-gallery__item:hover img { transform:scale(1.05); }

    /* ── Review card ── */
    .rev-card {
      border-radius:24px; background:rgba(255,255,255,0.82);
      border:1px solid rgba(16,32,32,0.06);
      box-shadow:0 10px 26px rgba(16,32,32,0.07);
      padding:1.75rem;
    }

    /* ── Related package card ── */
    .rel-pkg { border-radius:24px; overflow:hidden; background:rgba(255,255,255,0.84); border:1px solid rgba(16,32,32,0.07); box-shadow:0 10px 28px rgba(16,32,32,0.08); transition:transform 0.3s ease, box-shadow 0.3s ease; }
    .rel-pkg:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(16,32,32,0.13); }
    .rel-pkg img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease; }
    .rel-pkg:hover img { transform:scale(1.05); }

    /* Mobile float */
    .float-book { position:fixed; bottom:1.5rem; inset-x:1.5rem; z-index:50; border-radius:999px; background:#E05C3A; color:#fff; font-size:0.9rem; font-weight:700; padding:1rem; text-align:center; box-shadow:0 16px 40px rgba(232,92,58,0.38); display:none; }
    @media (max-width:1023px) { .float-book { display:block; } }

    /* Form */
    .form-label { display:block; font-size:0.8rem; font-weight:600; margin-bottom:0.45rem; color:#102020; }
    .form-input { width:100%; border-radius:12px; border:1px solid #d0e2df; background:#f7fbfb; padding:0.8rem 1rem; font-size:0.88rem; color:#102020; outline:none; transition:border-color 0.25s, box-shadow 0.25s; font-family:inherit; }
    .form-input:focus { border-color:#1A9B82; box-shadow:0 0 0 3px rgba(26,155,130,0.1); }
    .form-input::placeholder { color:rgba(16,32,32,0.35); }

    /* headings that get #id injected by JS need clearance for the sticky nav */
    .pkg-content h1[id], .pkg-content h2[id],
    .pkg-content h3[id], .pkg-content h4[id] { scroll-margin-top: 100px; }

    /* ── Package content typography ── */
    .pkg-content p { font-size:1.05rem; line-height:1.85; color:rgba(16,32,32,0.74); margin-bottom:1.3rem; }
    .pkg-content h2 { font-family:"Onest","Cormorant Garamond",serif; font-size:clamp(1.6rem,2.6vw,2rem); font-weight:600; letter-spacing:-0.03em; line-height:1.12; margin-top:2.8rem; margin-bottom:1rem; color:#102020; padding-bottom:0.5rem; border-bottom:2px solid rgba(13,107,94,0.12); }
    .pkg-content h3 { font-family:"Onest","Cormorant Garamond",serif; font-size:1.22rem; font-weight:600; letter-spacing:-0.02em; margin-top:2rem; margin-bottom:0.75rem; color:#102020; }
    .pkg-content h4 { font-size:1rem; font-weight:700; letter-spacing:0.01em; margin-top:1.5rem; margin-bottom:0.5rem; color:#102020; }
    .pkg-content ul, .pkg-content ol { padding-left:0; list-style:none; margin-bottom:1.3rem; color:rgba(16,32,32,0.74); font-size:1.02rem; line-height:1.82; }
    .pkg-content ol { list-style:decimal; padding-left:1.4rem; }
    .pkg-content li { margin-bottom:0.38rem; padding-left:1.7rem; position:relative; }
    .pkg-content ol li { padding-left:0.3rem; }
    .pkg-content ol li::marker { color:#E05C3A; font-weight:700; }

    /* default bullet — subtle teal dot */
    .pkg-content ul li::before {
      content:'';
      position:absolute; left:0; top:0.6em;
      width:6px; height:6px; border-radius:50%;
      background:#0D6B5E; opacity:0.55;
    }

    /* ── Included list — green check circle ── */
    .pkg-content ul.list-included { background:rgba(13,107,94,0.04); border:1px solid rgba(13,107,94,0.1); border-radius:18px; padding:1rem 1.25rem 1rem 1.25rem; }
    .pkg-content ul.list-included li { color:rgba(16,32,32,0.8); padding-left:2rem; margin-bottom:0.6rem; }
    .pkg-content ul.list-included li::before {
      content:'';
      position:absolute; left:0; top:50%; transform:translateY(-50%);
      width:18px; height:18px; border-radius:50%;
      background:#0D6B5E;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
      background-repeat:no-repeat; background-position:center; background-size:10px;
    }

    /* ── Excluded list — coral X circle ── */
    .pkg-content ul.list-excluded { background:rgba(224,92,58,0.04); border:1px solid rgba(224,92,58,0.1); border-radius:18px; padding:1rem 1.25rem 1rem 1.25rem; }
    .pkg-content ul.list-excluded li { color:rgba(16,32,32,0.7); padding-left:2rem; margin-bottom:0.6rem; }
    .pkg-content ul.list-excluded li::before {
      content:'';
      position:absolute; left:0; top:50%; transform:translateY(-50%);
      width:18px; height:18px; border-radius:50%;
      background:rgba(224,92,58,0.12);
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23E05C3A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
      background-repeat:no-repeat; background-position:center; background-size:9px;
      border:1.5px solid rgba(224,92,58,0.25);
    }
    .pkg-content strong { color:#102020; font-weight:600; }
    .pkg-content em { color:rgba(16,32,32,0.68); }
    .pkg-content a { color:#0D6B5E; text-decoration:underline; text-underline-offset:3px; transition:color 0.2s; }
    .pkg-content a:hover { color:#E05C3A; }
    .pkg-content blockquote { border-left:3px solid #0D6B5E; background:rgba(13,107,94,0.05); border-radius:0 16px 16px 0; padding:1.2rem 1.5rem; margin:2rem 0; font-style:italic; color:rgba(16,32,32,0.7); }
    .pkg-content hr { border:none; border-top:1px solid rgba(16,32,32,0.08); margin:2.5rem 0; }
    .pkg-content img { border-radius:18px; box-shadow:0 12px 36px rgba(16,32,32,0.1); max-width:100%; height:auto; margin:1.5rem 0; }
    .pkg-content table { width:100%; border-collapse:collapse; margin:1.75rem 0; font-size:0.9rem; }
    .pkg-content table th { background:#021A14; color:#fff; font-weight:700; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.12em; padding:0.9rem 1rem; text-align:left; }
    .pkg-content table td { padding:0.82rem 1rem; border-bottom:1px solid rgba(16,32,32,0.07); vertical-align:top; }
    .pkg-content table tr:last-child td { border-bottom:none; }
    .pkg-content table tr:hover td { background:rgba(13,107,94,0.03); }


/* ===== packages.html ===== */

.pkg-card {
      border-radius:32px;
      background:rgba(255,255,255,0.86);
      border:1px solid rgba(16,32,32,0.07);
      box-shadow:0 14px 38px rgba(16,32,32,0.09);
      overflow:hidden;
      transition:transform 0.35s ease, box-shadow 0.35s ease;
      display:flex;
      flex-direction:column;
    }
    .pkg-card:hover { transform:translateY(-7px); box-shadow:0 28px 60px rgba(16,32,32,0.15); }
    .pkg-card--featured {
      border-color:rgba(224,92,58,0.28);
      box-shadow:0 18px 48px rgba(224,92,58,0.18);
    }
    .pkg-card__thumb { overflow:hidden; flex-shrink:0; }
    .pkg-card__thumb img { transition:transform 0.45s ease; display:block; width:100%; height:100%; object-fit:cover; }
    .pkg-card:hover .pkg-card__thumb img { transform:scale(1.07); }

    .pkg-card__price-tag {
      display:inline-flex; flex-direction:column;
      border-radius:18px; padding:0.9rem 1.1rem;
      background:rgba(13,107,94,0.07);
      border:1px solid rgba(13,107,94,0.14);
    }

    .include-chip {
      display:inline-flex; align-items:center; gap:0.38rem;
      border-radius:999px; padding:0.38rem 0.82rem;
      font-size:0.72rem; font-weight:600;
      background:rgba(13,107,94,0.07);
      border:1px solid rgba(13,107,94,0.1);
      color:#0D6B5E;
    }

    .comparison-table th { font-weight:700; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.14em; }
    .comparison-table td, .comparison-table th { padding:1rem 1.25rem; }
    .comparison-table tr:not(:last-child) td, .comparison-table tr:not(:last-child) th { border-bottom:1px solid rgba(16,32,32,0.07); }
    .comparison-table tr:hover td { background:rgba(13,107,94,0.03); }

    .check-icon { color:#0D6B5E; font-size:1.1rem; }
    .cross-icon { color:rgba(16,32,32,0.25); font-size:1.1rem; }

    .process-step {
      display:flex; align-items:flex-start; gap:1.25rem;
    }
    .process-step__num {
      flex-shrink:0; display:flex; align-items:center; justify-content:center;
      width:48px; height:48px; border-radius:50%;
      background:#0D6B5E; color:#fff;
      font-display:swap; font-weight:700; font-size:1.1rem;
    }


/* ===== single.html ===== */

/* Article typography */
    .article-body { max-width: 720px; }
    .article-body p { font-size:1.06rem; line-height:1.85; color:rgba(16,32,32,0.76); margin-bottom:1.35rem; }
    .article-body h2 { font-family:"Onest","Cormorant Garamond",serif; font-size:clamp(1.65rem,2.8vw,2.1rem); font-weight:600; letter-spacing:-0.03em; line-height:1.1; margin-top:2.75rem; margin-bottom:1rem; color:#102020; }
    .article-body h3 { font-family:"Onest","Cormorant Garamond",serif; font-size:1.25rem; font-weight:600; letter-spacing:-0.02em; margin-top:2rem; margin-bottom:0.75rem; color:#102020; }
    .article-body ul, .article-body ol { padding-left:1.35rem; margin-bottom:1.35rem; color:rgba(16,32,32,0.76); font-size:1.02rem; line-height:1.8; }
    .article-body li { margin-bottom:0.45rem; }
    .article-body ul li::marker { color:#0D6B5E; }
    .article-body ol li::marker { color:#E05C3A; font-weight:700; }
    .article-body strong { color:#102020; font-weight:600; }
    .article-body a { color:#0D6B5E; text-decoration:underline; text-underline-offset:3px; }
    .article-body a:hover { color:#E05C3A; }

    .article-callout {
      border-left:3px solid #0D6B5E;
      background:rgba(13,107,94,0.06);
      border-radius:0 16px 16px 0;
      padding:1.25rem 1.5rem;
      margin:2rem 0;
    }
    .article-callout--warning {
      border-left-color:#E05C3A;
      background:rgba(224,92,58,0.06);
    }
    .article-callout--tip {
      border-left-color:#C4A882;
      background:rgba(196,168,130,0.08);
    }

    .article-table { width:100%; border-collapse:collapse; margin:1.75rem 0; font-size:0.9rem; }
    .article-table th { background:#021A14; color:#fff; font-weight:700; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.12em; padding:0.9rem 1rem; text-align:left; }
    .article-table td { padding:0.85rem 1rem; border-bottom:1px solid rgba(16,32,32,0.07); vertical-align:top; }
    .article-table tr:last-child td { border-bottom:none; }
    .article-table tr:hover td { background:rgba(13,107,94,0.03); }
    .article-table-wrap { overflow-x:auto; border-radius:18px; border:1px solid rgba(16,32,32,0.08); box-shadow:0 8px 24px rgba(16,32,32,0.06); }

    /* Sidebar */
    .sidebar-card { border-radius:24px; background:rgba(255,255,255,0.84); border:1px solid rgba(16,32,32,0.06); box-shadow:0 10px 28px rgba(16,32,32,0.08); padding:1.75rem; }

    /* TOC */
    .toc-link { display:block; padding:0.45rem 0; font-size:0.88rem; color:rgba(16,32,32,0.62); border-bottom:1px solid rgba(16,32,32,0.06); transition:color 0.2s; text-decoration:none; }
    .toc-link:last-child { border-bottom:none; }
    .toc-link:hover { color:#E05C3A; }
    .toc-link.active { color:#0D6B5E; font-weight:600; }

    /* Related card */
    .related-card { border-radius:22px; overflow:hidden; background:rgba(255,255,255,0.84); border:1px solid rgba(16,32,32,0.06); box-shadow:0 10px 26px rgba(16,32,32,0.07); transition:transform 0.3s ease, box-shadow 0.3s ease; }
    .related-card:hover { transform:translateY(-5px); box-shadow:0 20px 44px rgba(16,32,32,0.12); }
    .related-card__thumb { overflow:hidden; }
    .related-card__thumb img { transition:transform 0.4s ease; display:block; width:100%; height:100%; object-fit:cover; }
    .related-card:hover .related-card__thumb img { transform:scale(1.06); }

    /* Progress bar */
    #read-progress { position:fixed; top:0; left:0; height:3px; background:linear-gradient(90deg,#0D6B5E,#E05C3A); z-index:100; transition:width 0.1s linear; }
