    :root {
    --line: #e5edf3;
}
    /* TRUST */
.trust-bar{position:relative;margin-top:-1px;background:#fff;box-shadow:0 15px 45px rgba(1,14,45,.1);z-index:5}.trust-item{height:100%;padding:28px 22px;display:flex;gap:14px;border-right:1px solid var(--line)}.trust-item>span{width:45px;height:45px;min-width:45px;border-radius:10px;background:linear-gradient(135deg,rgba(226,145,27,.15),rgba(1,82,133,.1));display:flex;align-items:center;justify-content:center;color:var(--orange);font-size:19px}.trust-item h3{font-size:14px;font-weight:800;margin:1px 0 7px}.trust-item p{font-size:14px;line-height:1.65;margin:0}
/* BOOKING */
.booking-card{position:relative;background:#fff;border-radius:18px;padding:27px;box-shadow:0 30px 70px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.5);overflow:hidden}.booking-card:before{content:"";height:5px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,var(--orange),var(--blue))}.booking-card-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.booking-card-head h2{font-size:27px;margin:0 0 5px}.booking-card-head p{font-size:12px;margin:0;line-height:1.5}.booking-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(226,145,27,.12);color:var(--orange);border-radius:12px;font-size:22px}.booking-form label{display:block;color:var(--navy);font-size:11px;font-weight:800;margin-bottom:6px}.input-wrap{display:flex;align-items:center;border:1px solid #dce6ed;border-radius:7px;background:#fff;overflow:hidden;transition:.2s}.input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(1,82,133,.08)}.input-wrap i{color:var(--blue);font-size:14px;padding-left:12px}.input-wrap input,.input-wrap select{width:100%;border:0;outline:0;padding:11px 10px;background:transparent;font-family:inherit;font-size:12px;color:#475569}.booking-submit{width:100%;background:var(--gradient);color:#fff}.booking-submit:hover{color:#fff;transform:translateY(-2px)}.booking-whatsapp{display:flex;justify-content:center;align-items:center;gap:8px;background:#eefaf3;color:#167447;border-radius:7px;padding:12px;font-size:12px;font-weight:800}.booking-whatsapp:hover{background:#e1f5ea;color:#167447}.booking-phone{color:var(--navy);font-weight:800;font-size:13px}.booking-phone:hover{color:var(--orange)}
/* ROUTES */
.routes-section{background:var(--navy)}.routes-section .section-heading h2,.routes-section .section-heading p{color:#fff}.routes-section .section-heading p{color:#b9c9d7}.route-card{height:100%;padding:25px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);transition:.3s}.route-card:hover{background:rgba(255,255,255,.09);transform:translateY(-6px);border-color:rgba(226,145,27,.4)}.route-top{display:flex;align-items:center;justify-content:space-between;color:#f4bd64;margin-bottom:25px}.route-top i{font-size:22px}.route-top span{font-size:9px;font-weight:800;letter-spacing:1.4px}.route-card h3{color:#fff;font-size:16px;font-weight:800}.route-card p{font-size:14px;line-height:1.75;color:#aebfce}.route-card a{display:inline-block;color:#f4bd64;margin-top:5px}
/* REVIEWS */
.reviews-section{background:linear-gradient(180deg,#f7fafc,#fff)}.review-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:13px;padding:28px;box-shadow:0 12px 30px rgba(1,14,45,.05)}.stars{color:var(--orange);letter-spacing:2px;font-size:15px}.review-card blockquote{font-family:'Tenor Sans';font-size:20px;color:var(--navy);line-height:1.5;margin:20px 0}.review-card strong{font-size:11px;color:var(--muted)}.review-slider .owl-dots{margin-top:25px}.review-slider .owl-dot span{background:#cbd7e0}.review-slider .owl-dot.active span{background:var(--orange)}.review-note{text-align:center;font-size:10px;color:#64748b;margin-top:20px}.review-note i{color:var(--blue);margin-right:5px}


  @media (max-width:768px) {
    #heroCarousel .carousel-item{ height:60vh !important; }
  }
  @media (min-width:768px) {
    #heroCarousel .carousel-item{ height:84vh !important; }
  }

  #heroCarousel .carousel-item img{
    object-fit:cover;
    object-position:center;
    height:100%;
    width:100%;
  }

  /* dark gradient overlay so text stays readable over ANY photo */
  #heroCarousel .carousel-item::after{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 35%, rgba(0,0,0,.35) 70%, rgba(0,0,0,.75) 100%);
    z-index:1;
    pointer-events:none;
  }

  /* ===== Caption styling ===== */
  #heroCarousel .carousel-caption{
    z-index:2;
    left:0; right:0; bottom:0;
    max-width:760px;
    margin:0 auto 64px;
    padding:0 20px;
    text-align:center;
  }

  #heroCarousel .carousel-caption .cap-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(232,183,63,.15);
    border:1px solid rgba(232,183,63,.55);
    color:#e8b73f;
    font-size:13px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    padding:6px 16px;
    border-radius:30px;
    margin-bottom:18px;
    backdrop-filter:blur(2px);
  }

  #heroCarousel .carousel-caption h1,
  #heroCarousel .carousel-caption h5{
    color:#fff;
    font-weight:800;
    font-size:clamp(28px, 5vw, 52px);
    line-height:1.15;
    margin:0 0 16px;
    text-shadow:0 3px 18px rgba(0,0,0,.45);
  }

  #heroCarousel .carousel-caption p{
    color:#e9e9ee;
    font-size:clamp(14px, 2vw, 18px);
    line-height:1.6;
    max-width:600px;
    margin:0 auto 28px;
    text-shadow:0 2px 10px rgba(0,0,0,.4);
  }

  #heroCarousel .carousel-caption .cap-actions{
    display:flex;
    gap:14px;
    justify-content:center;
    flex-wrap:wrap;
  }

  #heroCarousel .cap-btn-primary{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#e8b73f;
    color:#141414;
    font-weight:700;
    font-size:15px;
    padding:12px 26px;
    border-radius:8px;
    text-decoration:none;
    transition:transform .18s ease, background .18s ease;
  }
  #heroCarousel .cap-btn-primary:hover{
    background:#f6c860;
    transform:translateY(-2px);
    color:#141414;
  }

  #heroCarousel .cap-btn-outline{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.6);
    color:#fff;
    font-weight:700;
    font-size:15px;
    padding:12px 26px;
    border-radius:8px;
    text-decoration:none;
    backdrop-filter:blur(3px);
    transition:background .18s ease, transform .18s ease;
  }
  #heroCarousel .cap-btn-outline:hover{
    background:rgba(255,255,255,.2);
    color:#fff;
    transform:translateY(-2px);
  }

  /* caption entrance animation, replays each slide */
  #heroCarousel .carousel-item .carousel-caption > *{
    opacity:0;
    transform:translateY(24px);
  }
  #heroCarousel .carousel-item.active .carousel-caption > *{
    animation:capIn .7s ease forwards;
  }
  #heroCarousel .carousel-item.active .carousel-caption > *:nth-child(1){animation-delay:.1s;}
  #heroCarousel .carousel-item.active .carousel-caption > *:nth-child(2){animation-delay:.25s;}
  #heroCarousel .carousel-item.active .carousel-caption > *:nth-child(3){animation-delay:.4s;}
  #heroCarousel .carousel-item.active .carousel-caption > *:nth-child(4){animation-delay:.55s;}

  @keyframes capIn{
    to{opacity:1; transform:translateY(0);}
  }

  /* ===== indicators ===== */
  #heroCarousel .carousel-indicators{
    z-index:3;
    margin-bottom:22px;
  }
  #heroCarousel .carousel-indicators button{
    width:10px !important;
    height:10px !important;
    border-radius:50%;
    background-color:rgba(255,255,255,.5) !important;
    border:none !important;
    opacity:1 !important;
    margin:0 5px !important;
    transition:background-color .2s ease, transform .2s ease;
  }
  #heroCarousel .carousel-indicators button.active{
    background-color:#e8b73f !important;
    transform:scale(1.25);
  }

  /* ===== prev/next controls ===== */
  #heroCarousel .carousel-control-prev,
  #heroCarousel .carousel-control-next{
    z-index:3;
    width:56px;
    height:56px;
    top:50%;
    transform:translateY(-50%);
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.4);
    border-radius:50%;
    opacity:.85;
    backdrop-filter:blur(3px);
    transition:background .2s ease, opacity .2s ease;
  }
  #heroCarousel .carousel-control-prev{ left:24px; }
  #heroCarousel .carousel-control-next{ right:24px; }
  #heroCarousel .carousel-control-prev:hover,
  #heroCarousel .carousel-control-next:hover{
    background:rgba(232,183,63,.85);
    opacity:1;
  }
  #heroCarousel .carousel-control-prev-icon,
  #heroCarousel .carousel-control-next-icon{
    width:18px;
    height:18px;
  }
  @media (max-width:576px){
    #heroCarousel .carousel-control-prev,
    #heroCarousel .carousel-control-next{ display:none; }
  }