*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{
    width:100%;
    height:100%;
    overflow-x:hidden;
    background:#f5f6f8;
    color:#545d6b;
}

/* =========================
   HERO
========================= */

.hero-block{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
}

.hero-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
}

.hero-overlay{
    position:absolute;
    inset:0;
    /* background:rgba(0,0,0,.45); */
    z-index:1;
}

.hero-content{
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;

    padding-top: 75px;   /* Navbar height */
}

/* =========================
   NAVBAR
========================= */

.hero-nav{
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 50px;
    z-index: 1000;
    background: rgba(239, 246, 248, 0.7);
    backdrop-filter: blur(30px) saturate(180%);
    -webkit-backdrop-filter: blur(30px) saturate(180%);
    border-bottom: 1px solid rgba(255,255,255,.25);
    box-shadow: 0 8px 30px rgba(0,0,0,0.2);
    transition: all .3s ease;
}

/* Logo */

.hero-logo{
    display:flex;
    align-items:center;
    gap: 0px;
}

.hero-logo img{
    height:110px;
    width:auto;
    object-fit:contain;
    display:block;
    padding-top: 10px;
}

.hero-logo span{
    font-family: 'Marcellus', serif;
    font-size: 18px;
    letter-spacing: 0.5px;
    color: #001f37;
}

/* Navigation Links */

.hero-nav-links{
    display:flex;
    align-items:center;
    gap:42px;
}

.hero-nav-links a{
    position:relative;
    color:#374151;
    text-decoration:none;
    font-size:17px;
    font-weight:600;
    transition:.3s ease;
}

.hero-nav-links a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:2px;
    background:#004f5f;
    transition:.3s;
}

.hero-nav-links a:hover{
    color:#004f5f;
}

.hero-nav-links a:hover::after{
    width:100%;
}

/* =========================
   HERO TEXT
========================= */

.hero-text{
    flex: 1;

    display: flex;
    flex-direction: column;
    justify-content: center;

    max-width: 620px;

    padding: 0 50px;
}

.hero-tag{
    display:inline-block;
    width:fit-content;

    border:1px solid rgba(255,255,255,.35);
    color:#fff;

    padding:8px 18px;
    border-radius:50px;

    font-size:13px;
    letter-spacing:1px;
    margin-bottom:24px;
}

.hero-text h1{
    font-size:72px;
    font-weight:500;
    line-height:1.1;
    color:#fff;
    margin-bottom:20px;
}

.hero-text p{
    font-size:20px;
    line-height:1.6;
    color:rgba(255,255,255,.82);
    margin-bottom:36px;
}


/* =========================
   BUTTONS
========================= */

.hero-btns{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.btn-primary{
    padding:16px 34px;
    background:#1D9E75;
    color:#fff;
    text-decoration:none;
    border-radius:10px;
    font-size:16px;
    font-weight:600;
    transition:.3s;
}

.btn-primary:hover{
    background:#188663;
}

.btn-secondary{
    padding:16px 34px;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(255,255,255,.12);
    color:#fff;
    text-decoration:none;
    border-radius:10px;
    font-size:16px;
    transition:.3s;
}

.btn-secondary:hover{
    background:rgba(255,255,255,.22);
}

.plan-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    padding: 8px 20px; 
    background: linear-gradient(135deg,#ff8a00,#ff5e00);
    color: #fff !important;
    border-radius: 50px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    transition: all .35s ease;
}

.plan-btn:hover{
    background: linear-gradient(135deg,#ff9f1c,#ff6b00);
}

.plan-btn::after{
    display:none;
}
/* Search Box */

.search-box{
    display:flex;
    align-items:center;
    width:270px;
    height:35px;
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.25);
    border-radius:50px;
    
}

.search-box input{
    flex:1;
    height:50%;
    border:none;
    outline:none;
    background:transparent;
    padding:0 18px;
    color:#374151;
    font-size:15px;
}

.search-box input::placeholder{
    color:#6b7280;
}

.search-box button{
    width:48px;
    height:46px;
    border:none;
    background:transparent;
    color:#004f5f;
    font-size:16px;
    transition:.3s;
}


.search-box {
    position: relative;
}

.search-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    max-height: 280px;
    overflow-y: auto;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    z-index: 999;
    padding: 8px 0;
}

.search-dropdown.open {
    display: block;
}

.search-group-label {
    font-weight: 700;
    font-size: 14px;
    padding: 8px 16px 4px;
    color: #1a1a1a;
}

.search-dest-item {
    padding: 8px 16px;
    font-size: 15px;
    color: #333;
    cursor: pointer;
}

.search-dest-item:hover,
.search-dest-item.active {
    background: #6b6b6b;
    color: #fff;
}

.search-not-available {
    padding: 10px 16px;
    font-size: 14px;
    color: #2a2727;
    font-style: italic;
    font-weight: 700;
}
/* =========================
   SEARCH / FILTER BAR
========================= */

.hero-search-wrapper {
  display: flex;
  justify-content: center;
  margin-top: -60px;
  position: relative;
  z-index: 10;
  padding: 0 40px;
  padding-top: 80px;
  padding-bottom: 30px;
}

.hero-search.glass {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 15px 40px rgba(0,0,0,0.15);
  padding: 14px 16px;     /* increased from 10px 14px for outer height */
  display: flex;
  align-items: center;
  gap: 4px;
  max-width: 1100px;
  width: 100%;
  flex-wrap: wrap;
}

.hero-search-fields {
  display: flex;
  align-items: center;
  flex: 1;
  flex-wrap: wrap;
  gap: 0;
}

/* FIELD */
.field {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 16px;     /* increased from 10px 16px for inner height */
  border-radius: 10px;
  border: 0.5px solid #eee;
  flex: 1;
  max-width: 184px;
  position: relative;
  margin: 0 6px;           /* same consistent gap for all fields */
}

.field-svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: #555;
  display: flex;
  align-items: center;
  justify-content: center;
}

.field-svg svg {
  width: 100%;
  height: 100%;
}

/* DATE FIELDS */
.field:nth-child(3),
.field:nth-child(4) {
  flex: 0.7;
  min-width: 170px;
  background: #faf6f0;
  border-radius: 10px;
  border: 0.5px solid #eee;
  margin: 0 6px;            /* same gap as other fields now */
  padding: 14px 14px;
}



/* TEXT INPUTS (dates) */
.field input[type="text"] {
  border: none;
  outline: none;
  background: transparent;
  font-size: 17px;
  color: #333;
  width: 100%;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
}

.field input::placeholder {
  color: #555;
}

/* CUSTOM SELECT */
.custom-select {
  position: relative;
  width: 100%;
  min-width: 0;       
}

.custom-select-trigger {
  background: transparent;
  border: none;
  outline: none;
  font-size: 17px;
  color: #333;
  font-family: inherit;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  cursor: pointer;
  padding: 0;
  min-width: 0;
}

.custom-select-text {
  color: #555;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-shrink: 0;     /* prevents text from stretching to fill space */
}

.custom-select.has-value .custom-select-text {
  color: #222;
}

.field-arrow {
  font-size: 13px;
  color: #888;
  margin-left: 4px;   /* same fixed gap for all */
  flex-shrink: 0;
}

/* DROPDOWN MENU */
.custom-select-menu {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.15);
  min-width: 220px;
  max-height: 280px;
  overflow-y: auto;
  z-index: 100;
  padding: 8px;
}
.custom-select-menu.open {
  display: block;
}
.custom-select-option {
  padding: 12px 16px;
  font-size: 15px;
  color: #1a2a3a;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.custom-select-option:hover {
  background: #fdeee5;
  color: #FF6B35;
}

.custom-select-option.selected {
  background: #FF6B35;
  color: #fff;
  font-weight: 500;
}

.select-group-label {
  display: none !important;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #999;
  padding: 12px 16px 6px;
}

/* Custom scrollbar for dropdown */
.custom-select-menu::-webkit-scrollbar {
  width: 6px;
}

.custom-select-menu::-webkit-scrollbar-track {
  background: transparent;
}

.custom-select-menu::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
}

.custom-select-menu::-webkit-scrollbar-thumb:hover {
  background: #999;
}

/* Active field border highlight when dropdown is open */
.field:has(.custom-select-menu.open) {
  border: 1.5px solid #FF6B35;
}

/* SEARCH BUTTON */
.btn-search {
  background: #FF6B35;
  color: #fff;
  border: none;
  padding: 16px 32px;       
  border-radius: 10px;
  font-size: 17px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s;
  flex-shrink: 0;
  margin-left: 6px;
}

.btn-search:hover {
  background: #e85a28;
}
.flatpickr-calendar {
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.15);
  border: none;
  font-family: inherit;
}

.flatpickr-months {
  padding: 14px 10px 6px;
}

.flatpickr-current-month {
  font-size: 16px;
  font-weight: 600;
  color: #1a2a3a;
}

.flatpickr-weekday {
  color: #888;
  font-weight: 600;
  font-size: 12px;
}

.flatpickr-day {
  border-radius: 10px;
  font-size: 14px;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover {
  background: #FF6B35;
  border-color: #FF6B35;
}

.flatpickr-day.today {
  border-color: #FF6B35;
}

.flatpickr-day:hover {
  background: #fdeee5;
}

.flatpickr-prev-month svg,
.flatpickr-next-month svg {
  fill: #555;
}
.lock-message {
  margin: 2px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #888;
  text-align: center;
  border-radius: 10px;
}
@media (max-width: 900px) {
  .hero-search.glass {
    flex-direction: column;
    border-radius: 24px;
    padding: 16px;
    align-items: stretch;
  }
  .hero-search-fields {
    flex-direction: column;
    width: 100%;
  }
  .field {
    width: 100%;
  }
  .field:not(:last-child)::after {
    display: none;
  }
  .field:nth-child(3),
  .field:nth-child(4) {
    background: #faf6f0;
    border-radius: 12px;
    margin: 0 0 8px 0;
    width: 100%;
  }
  .btn-search {
    width: 100%;
    margin-top: 8px;
  }
}
.reveal{opacity:0; transform:translateY(28px); }
.reveal.in{opacity:1; transform:translateY(0);}

/* =========================
   CTA SECTION
========================= */

.footer-cta{
    position:relative;
    width:100%;
    padding:75px 20px;
    margin-top: 80px;
    text-align:center;
    overflow:hidden;
    background:linear-gradient(135deg,#0d5c63,#1f7a8c,#6fb1fc);
}

.cta-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.18);
}

.cta-content{
    position:relative;
    z-index:2;
}

.cta-content h2{
    color:#fff;
    font-size:42px;
    font-weight:700;
    margin-bottom:14px;
}

.cta-content p{
    color:rgba(255,255,255,.9);
    font-size:17px;
    margin-bottom:28px;
}

.cta-btn{
    display:inline-block;
    padding:14px 32px;
    background:linear-gradient(135deg,#ff8c42,#ff5e00);
    color:#fff;
    text-decoration:none;
    font-size:15px;
    font-weight:600;
    border-radius:50px;
    transition:.35s;
    box-shadow:0 8px 22px rgba(255,94,0,.35);
}

.cta-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 30px rgba(255,94,0,.45);
}

/* =========================
        FOOTER
========================= */

.footer{
    background:
        radial-gradient(circle at 75% 0%, rgba(255,190,150,.10) 0%, transparent 30%),
        radial-gradient(circle at 50% 100%, rgba(255,220,180,.08) 0%, transparent 35%),
        linear-gradient(180deg,#fbfaf8 0%,#f8f6f3 100%);
    padding:25px 7% 10px;
    color:#374151;
}

.footer-container{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:35px;
    margin-bottom:20px;
}

.footer-brand img{
    width:100px;
    height:100px;
}

.footer-brand h3{
    font-size:22px;
    color:#00263A;
    font-weight:700;
    margin-bottom:8px;
    line-height:1.2;
}

.footer-brand p{
    color:#5c6773;
    font-size:15px;
    line-height:1.5;
    max-width:280px;
    margin:0 0 16px;
}

.footer-contact{
    width:260px;
    padding:12px 16px;
    border:1px solid #ececec;
    border-radius:14px;
    background:rgba(255,255,255,.9);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:0 6px 18px rgba(0,0,0,.05);
}

.footer-contact span{
    display:block;
    color:#ff6b00;
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:6px;
}

.footer-contact a{
    color:#000 !important;
    text-decoration:none;
    font-weight:600;
    font-size:15px;
}

.footer-col h4{
    color:#001f37;
    font-size:18px;
    font-weight:700;
    margin-bottom:12px;
    line-height:1.2;
}

.footer-col ul{
    list-style:none;
    margin:0;
    padding:0;
}

.footer-col li{
    margin-bottom:8px;
}

.footer-col a{
    color:#5b6571;
    text-decoration:none;
    font-size:15px;
    line-height:0.5;
    transition:.3s ease;
}

.footer-col a:hover{
    color:#ff6b00;
    padding-left:5px;
}

.footer hr{
    border:none;
    border-top:1px solid rgba(0,0,0,.08);
    margin:18px 0;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
}

.footer-bottom p{
    color:#6b7280;
    font-size:13px;
}

.footer-links{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.footer-links a{
    color:#374151;
    text-decoration:none;
    font-size:13px;
    transition:.3s;
}

.footer-links a:hover{
    color:#ff6b00;
}

/* =========================
      RESPONSIVE
========================= */

@media (max-width:1100px){

    .footer-container{
        grid-template-columns:1fr 1fr;
        gap:30px;
    }

}

@media (max-width:768px){

    /* CTA */
    .footer-cta{
        padding:55px 20px;
    }

    .cta-content h2{
        font-size:32px;
    }

    .cta-content p{
        font-size:15px;
    }

    .cta-btn{
        padding:12px 28px;
        font-size:14px;
    }

    /* Footer */
    .footer{
        padding:30px 20px 12px;
    }

    .footer-container{
        grid-template-columns:1fr;
        gap:22px;
    }

    .footer-brand{
        text-align:center;
    }

    .footer-brand img{
        width:75px;
        height:75px;
        margin:auto auto 10px;
    }

    .footer-brand h3{
        font-size:20px;
        line-height:1.2;
    }

    .footer-brand p{
        font-size:14px;
        line-height:1.5;
        max-width:100%;
    }

    .footer-contact{
        width:100%;
        padding:10px 14px;
    }

    .footer-col{
        text-align:center;
    }

    .footer-col h4{
        font-size:17px;
        margin-bottom:10px;
        line-height:1.2;
    }

    .footer-col li{
        margin-bottom:6px;
    }

    .footer-col a{
        font-size:14px;
    }

    .footer-bottom{
        flex-direction:column;
        text-align:center;
        gap:10px;
    }

    .footer-links{
        justify-content:center;
        flex-wrap:wrap;
        gap:15px;
    }

    /* Hero */
    .hero-nav{
        height:65px;
        padding:0 20px;
    }

    .hero-content{
        padding-top:65px;
    }

    .hero-logo img{
        height:55px;
    }

    .hero-logo span{
        font-size:16px;
    }

    .hero-nav-links{
        display:none;
    }

    .hero-text{
        padding:0 20px;
    }

    .hero-text h1{
        font-size:42px;
    }

    .hero-text p{
        font-size:16px;
    }

    .hero-btns{
        flex-direction:column;
        max-width:230px;
    }

    .btn-primary,
    .btn-secondary{
        text-align:center;
    }

}
/* =========================
      RESPONSIVE
========================= */

@media (max-width:768px){

    .hero-nav{
        height:65px;
        padding:0 20px;
    }

    .hero-content{
        padding-top:65px;
    }

    .hero-logo img{
        height:55px;
    }

    .hero-logo span{
        font-size:16px;
    }

    .hero-nav-links{
        display:none;
    }

    .hero-text{
        padding:0 20px;
    }

    .hero-text h1{
        font-size:42px;
    }

    .hero-text p{
        font-size:16px;
    }

    .hero-btns{
        flex-direction:column;
        max-width:230px;
    }

    .btn-primary,
    .btn-secondary{
        text-align:center;
    }
}

/* ===========================
      LEGAL PAGES
=========================== */

.legal-page{
    max-width:980px;
    margin:120px auto 70px;
    padding:0 20px;
}

.legal-back{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:30px;
    color:#1D9E75;
    text-decoration:none;
    font-size:16px;
    font-weight:600;
    transition:.3s;
}

.legal-head{
    margin-bottom:35px;
    padding-bottom:20px;
    border-bottom:1px solid #e6e6e6;
}

.legal-head h1{
    font-size:48px;
    color:#0F172A;
    margin-bottom:10px;
    font-weight:700;
}

.legal-updated{
    color:#6B7280;
    font-size:16px;
}

.legal-intro{
    font-size:20px;      
    color:#4B5563;
    line-height:1.6;    
    margin-bottom:35px;
}

.legal-page h2{
    margin-top:35px;
    margin-bottom:14px;
    color:#111827;
    font-size:28px;    
    font-weight:600;
}

.legal-page p{
    color:#4B5563;
    line-height:1.65;   
    font-size:18px;     
    margin-bottom:18px;
}

.legal-page ul{
    margin:15px 0 25px 28px;
}

.legal-page li{
    color:#4B5563;
    line-height:1.65;   
    margin-bottom:10px;
    font-size:18px;     
}

.legal-page a{
    color:#d67601;
    text-decoration:none;
    font-weight:500;
}

.legal-page a:hover{
    color:#d16302;
    text-decoration:underline;
}

.legal-page strong{
    color:#111827;
}

@media(max-width:768px){

    .legal-page{
        margin:100px auto 50px;
        padding:0 18px;
    }

    .legal-head h1{
        font-size:32px;
    }

    .legal-page h2{
        font-size:24px;
    }

    .legal-page p,
    .legal-page li{
        font-size:15px;
    }

    .legal-intro{
        font-size:16px;
    }

}
/*LEGAL END */

/*-------Curated for you section-----*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@400;500;600&display=swap');

:root{
    --cream:#FAF6EF;
    --ink:#1B2A2F;
    --rust:#C8643A;
    --gold:#D7B15C;
    --muted:#6E6657;
}

/* SECTION */

.eyebrow{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-bottom:15px;
    color:var(--rust);
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.22em;
}

.eyebrow::before,
.eyebrow::after{
    content:'';
    width:35px;
    height:1px;
    background:var(--rust);
    opacity:.4;
}

.destination-title{
    font-family:'Fraunces',serif;
    font-size:52px;
    font-weight:500;
    text-align:center;
    line-height:1.2;
    margin-bottom:18px;
}

.destination-title em{
    color:var(--rust);
    font-style:italic;
}

.sub{
    max-width:700px;
    margin:0 auto 55px;
    text-align:center;
    color:var(--muted);
    font-size:16px;
    line-height:1.8;
}

/* CARDS */

.grid{
    width:100%;
    max-width:1100px;
    margin:auto;
    margin-top: -30px;
    margin-bottom: 20px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
}

.card{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    height:300px;
    display:flex;
    align-items:flex-end;
    text-decoration:none;
    transition:.45s;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.card:hover{
    transform:translateY(-5px);
    box-shadow:0 22px 45px rgba(0,0,0,.18);
}

.bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .7s ease;
    z-index:0;
}

.card:hover .bg{
    transform:scale(1.08);
}

.card::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(0,0,0,.78) 0%,
        rgba(0,0,0,.42) 50%,
        rgba(0,0,0,.1) 100%
    );
    z-index:1;
}

.content{
    position:relative;
    z-index:2;
    padding:35px;
    color:#fff;
}

.count{
    display:block;
    color:var(--gold);
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:12px;
    font-weight:600;
    margin-bottom:10px;
}

.content h2{
    font-family:'Fraunces',serif;
    font-size:42px;
    font-weight:500;
    margin-bottom:12px;
}

.content p{
    max-width:420px;
    font-size:15px;
    line-height:1.7;
    color:rgba(255,255,255,.88);
    margin-bottom:22px;
}

.card-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 22px;
    border-radius:40px;
    border:1px solid rgba(255,255,255,.45);
    color:#fff;
    font-size:14px;
    font-weight:600;
    transition:.3s;
    backdrop-filter:blur(8px);
}
.card:hover .card-btn{
    background:#FF6B00;
    border-color:#FF6B00;
}
.arrow{
    transition:.3s;
}

.card:hover .arrow{
    transform:translateX(5px);
}

.badge{
    position:absolute;
    top:20px;
    right:20px;
    z-index:2;
    padding:8px 15px;
    border-radius:30px;
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(12px);
    color:#fff;
    font-size:11px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* IMAGES */

.card-india .bg{
    background-image:url('https://images.unsplash.com/photo-1524492412937-b28074a5d7da?w=1600');
}

.card-intl .bg{
    background-image:url('https://images.unsplash.com/photo-1512453979798-5ea266f8880c?w=1600');
}

/* MOBILE */

@media(max-width:900px){

.grid{
    grid-template-columns:1fr;
}

.card{
    height:240px;
}

.content{
    padding:25px;
}

.content h2{
    font-size:32px;
}

.destination-title{
    font-size:34px;
}

}

/* ===========================================================
   ROUTE & RHYTHM — Tour Ticket Slider (International + National)
=========================================================== */

.container{
  max-width:1280px;
  margin:0 auto;
  padding:0 60px;
}

.tour-section{
  padding:90px 0;
  background:rgb(255, 252, 248);
  margin-bottom:36px;
}

.tour-header{
  text-align:center;
  max-width:720px;
  margin:0 auto 46px;
}

.tour-subtitle{
  font-family:var(--ar-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ar-terracotta);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:16px;
}
.tour-subtitle::before,.tour-subtitle::after{
  content:'';
  width:28px;
  height:1px;
  background:var(--ar-terracotta);
  opacity:.5;
}

.tour-title{
  font-family:var(--ar-serif);
  font-weight:600;
  font-size:clamp(24px,2.6vw,65px);
  color:var(--ar-forest);
  line-height:1.2;
  margin-bottom:14px;
  white-space:nowrap;
}

@media(max-width:760px){
  .tour-title{ white-space:normal; }
}

.tour-title em{
  color:var(--ar-terracotta);
  font-style:italic;
  font-weight:500;
}

.tour-desc{
  color:var(--ar-ink-soft);
  font-size:15px;
  line-height:1.7;
  font-weight:300;
}

.tour-slider{
  position:relative;
}

.tour-grid{
  display:flex;
  gap:24px;
  overflow-x:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:8px 8px 20px;
}
.tour-grid::-webkit-scrollbar{ display:none; }

/* ---- ticket card ---- */

.tour-card{
  flex:0 0 auto;
  width:calc((100% - 48px) / 3); /* 48px = 2 gaps of 24px */
}

@media(max-width:1100px){
  .tour-card{ width:calc((100% - 24px) / 2); } /* 2 per screen */
}
@media(max-width:640px){
  .tour-card{ width:82%; } /* 1 per screen, next one peeking */
}

.package-link{
  display:block;
  text-decoration:none;
  color:inherit;
}

.tour-img{
  position:relative;
  display:flex;
  flex-direction:column;
  border-radius:16px;
  background:#F3F3F1;
  box-shadow:0 10px 26px rgba(22,48,43,.1);
  transition:transform .3s ease, box-shadow .3s ease;

  --notch-y: 300px;
  --notch-r: 12px;
  -webkit-mask-image:
    radial-gradient(circle var(--notch-r) at 0 var(--notch-y), transparent calc(var(--notch-r) - .5px), #000 var(--notch-r)),
    radial-gradient(circle var(--notch-r) at 100% var(--notch-y), transparent calc(var(--notch-r) - .5px), #000 var(--notch-r));
  mask-image:
    radial-gradient(circle var(--notch-r) at 0 var(--notch-y), transparent calc(var(--notch-r) - .5px), #000 var(--notch-r)),
    radial-gradient(circle var(--notch-r) at 100% var(--notch-y), transparent calc(var(--notch-r) - .5px), #000 var(--notch-r));
  -webkit-mask-composite:source-in,source-in;
  mask-composite:intersect,intersect;
}

.tour-card:hover .tour-img{
  transform:translateY(-6px);
  box-shadow:0 20px 36px rgba(22,48,43,.16);
}

.tour-img img{
  width:100%;
  height:300px;
  object-fit:cover;
  display:block;
  border-radius:16px 16px 0 0;
}

.tour-badge{
  position:absolute;
  top:14px;
  left:14px;
  z-index:3;
  background:var(--ar-terracotta);
  color:var(--ar-offwhite); 
  font-family:var(--ar-mono);
  font-size:11px;
  letter-spacing:.03em;
  padding:5px 12px;
  border-radius:16px;
}

.tour-inner{
  position:relative;
  padding:20px 20px 20px;
}

.tour-inner::before{
  content:'';
  position:absolute;
  top:-1px; left:22px; right:22px;
  border-top:1.5px dashed var(--ar-cream-2);
}

.tour-tag{
  font-family:var(--ar-mono);
  font-size:15px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ar-terracotta);
  display:block;
  margin-bottom:8px;
}

.tour-inner h3{
  font-family:var(--ar-serif);
  font-weight:700;
  font-size:20px;
  line-height:1.25;
  color:var(--ar-forest);
  margin-bottom:8px;
}

.tour-inner p{
  font-size:14px;
  color:var(--ar-ink-soft);
  line-height:1.55;
  margin-bottom:14px;
}

.tour-bottom{
  display:flex;
  align-items:center;
  gap:8px;
  padding-top:14px;
  border-top:1px dashed var(--ar-cream-2);
}

.stars{
  color:var(--ar-gold);
  font-size:13px;
  letter-spacing:1px;
}

.tour-bottom > span:last-of-type{
  font-family:var(--ar-mono);
  font-size:12px;
  color:var(--ar-ink-soft);
}

/* arrow circle */
.tour-bottom::after{
  content:'\2192';
  margin-left:auto;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--ar-cream);
  color:var(--ar-forest);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  flex:0 0 auto;
  transition:background .3s ease, color .3s ease;
}

.tour-card:hover .tour-bottom::after{
  background:var(--ar-terracotta);
  color:var(--ar-offwhite);
}

/* slider arrows */
.slider-btn{
  position:absolute;
  top:44%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border:1px solid rgba(22,48,43,.15);
  border-radius:50%;
  background:var(--ar-offwhite);
  color:var(--ar-forest);
  font-size:16px;
  cursor:pointer;
  z-index:10;
}

.slider-btn:hover{
    background-color: var(--ar-terracotta);
}
.slider-btn.prev{ left:-56px; }
.slider-btn.next{ right:-56px; }

@media(max-width:900px){
  .slider-btn{ display:none; }
  .tour-section{ padding:60px 0; }
  .container{ padding:0 20px; }
}

/*---WHATSAPP---*/
.whatsapp-float{
    position:fixed;
    right:45px;
    bottom:25px;
    width:65px;
    height:65px;
    background:#25D366;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
    z-index:9999;
    transition:.2s ease;
    animation:whatsappPulse 2s infinite;
    text-decoration: none;
    overflow: hidden;
}

.whatsapp-float:hover{
    transform:scale(1.05);
    background:#20ba5a;
}

.whatsapp-float svg{
    width:34px;
    height:34px;
}
.whatsapp-float i{
    font-size:36px;
    color:#fff;
    line-height:1;
}
@keyframes whatsappPulse{
    0%{
        box-shadow:0 0 0 0 rgba(37,211,102,.6);
    }
    70%{
        box-shadow:0 0 0 18px rgba(37,211,102,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(37,211,102,0);
    }
}

@media(max-width:768px){
    .whatsapp-float{
        width:58px;
        height:58px;
        right:18px;
        bottom:18px;
    }

    .whatsapp-float svg{
        width:30px;
        height:30px;
    }
}

/*-----ABOUT PAGE-----*/

/*-----ABOUT PAGE (scoped, fixed)-----*/
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;1,9..144,400&family=Work+Sans:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --ar-forest:#16302B;
  --ar-terracotta:#D8672E;
  --ar-terracotta-dark:#A84B1F;
  --ar-cream:#F6EFE3;
  --ar-cream-2:#EFE5D2;
  --ar-gold:#C89B3C;
  --ar-offwhite:#FAF6EF;
  --ar-ink:#241F1A;
  --ar-ink-soft:#5B554C;
  --ar-sans:'Work Sans', sans-serif;
  --ar-mono:'IBM Plex Mono', monospace;
}

.ar-wrap{max-width:1120px; margin:0 auto; padding:0 40px;}

.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* ---------- HERO ---------- */
.ar-hero{
  background:#013337;
  color:var(--ar-offwhite);
  padding:110px 40px 90px;
  position:relative;
  overflow:hidden;
  font-family:var(--ar-sans);
}
.ar-eyebrow{
  font-family:var(--ar-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ar-gold); display:flex; align-items:center; gap:10px; margin-bottom:26px;
}
.ar-eyebrow::before{content:''; width:26px; height:1px; background:var(--ar-gold);}
.ar-hero h1{
  font-family:'Fraunces', serif; font-weight:400; font-size:clamp(38px,5.4vw,68px);
  line-height:1.08; max-width:820px; letter-spacing:-.01em; color:var(--ar-offwhite);
}
.ar-hero h1 em{color:var(--ar-terracotta); font-style:italic; font-weight:500;}
.ar-lede{
  margin-top:26px; max-width:520px; font-size:17px; color:rgba(250,246,239,0.7); font-weight:300;
}

/* waveform signature line */
.ar-rhythm-line{width:100%; margin-top:64px; opacity:.9;}
.ar-rhythm-line path{fill:none; stroke:var(--ar-terracotta); stroke-width:2; stroke-linecap:round;}
.ar-dot{fill:var(--ar-gold);}

/* ---------- INTRO (small floated image + copy) ---------- */
.ar-intro{background:var(--ar-offwhite); padding:100px 40px; font-family:var(--ar-sans);}
.ar-intro-inner{max-width:820px;}
.ar-intro-img{float:left; width:230px; height:230px; margin:4px 30px 16px 0; border-radius:0 40px; overflow:hidden;}
.ar-intro-img img{width:100%; height:100%; object-fit:cover; display:block;}
.ar-intro-copy h2{
  font-family:'Fraunces', serif; font-weight:400; font-size:clamp(26px,3vw,38px);
  color:var(--ar-forest); line-height:1.2; margin-bottom:22px;
}
.ar-intro-lede{font-size:15.5px; color:var(--ar-ink-soft); font-weight:300; line-height:1.75; margin-bottom:14px;}
.ar-intro-lede + .ar-intro-lede{margin-bottom:22px;}
.ar-intro-quote{
  font-family:'Fraunces', serif; font-style:italic; font-size:18px; color:var(--ar-terracotta-dark);
  line-height:1.5; margin-bottom:28px; padding-left:18px; border-left:2px solid var(--ar-terracotta); clear:left;
}
.ar-intro-list{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:14px 20px;}
.ar-intro-list li{
  font-size:14px; color:var(--ar-ink); position:relative; padding-left:22px; font-weight:400;
}
.ar-intro-list li::before{
  content:''; position:absolute; left:0; top:7px; width:8px; height:8px; border-radius:50%; background:var(--ar-terracotta);
}

/* ---------- VALUES / WHAT WE OFFER ---------- */
.ar-values{background:#013337; color:var(--ar-offwhite); padding:100px 40px; font-family:var(--ar-sans);}
.ar-section-head{max-width:600px; margin-bottom:64px;}
.ar-values .ar-section-head .ar-eyebrow{color:var(--ar-gold);}
.ar-values .ar-section-head .ar-eyebrow::before{background:var(--ar-gold);}
.ar-values .ar-section-head h2{color:var(--ar-offwhite); font-family:'Fraunces', serif; font-weight:400; font-size:clamp(28px,3.2vw,40px);}
.ar-v-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:1px; background:rgba(250,246,239,0.1); border:1px solid rgba(250,246,239,0.1);}
.ar-v-card{background:#013337; padding:34px 28px;}
.ar-v-mark{font-family:var(--ar-mono); font-size:12px; color:var(--ar-terracotta); margin-bottom:18px;}
.ar-v-card h3{font-family:'Fraunces', serif; font-weight:500; font-size:19px; margin-bottom:10px; color:var(--ar-offwhite);}
.ar-v-card p{font-size:14px; color:rgba(250,246,239,0.62); font-weight:300; line-height:1.65;}

.ar-top-strip {
  height: 30px;
  background:
    repeating-linear-gradient(90deg, rgba(0,0,0,0.03) 0 1px, transparent 1px 40px),
    #f2f1ec;
  position: relative;
}

.ar-stats {
  position: relative;
  padding: 90px 20px 70px;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--ar-terracotta) 55%, #f48829) 0%,
    var(--ar-terracotta) 50%,
    color-mix(in srgb, var(--ar-terracotta) 60%, #c00000) 100%
  );
  margin-top: -40px;
}

.ar-notch {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 34px solid transparent;
  border-right: 34px solid transparent;
  border-bottom: 20px solid var(--ar-terracotta);
}

.ar-wrap {
  max-width: 1200px;
  margin: 0 auto;
}

.ar-s-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  text-align: center;
}

.ar-s-num {
  font-size: 3.2rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1;
  margin-bottom: 10px;
  letter-spacing: -0.02em;
}

.ar-s-label {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.85);
}

@media (max-width: 700px) {
  .ar-s-grid { grid-template-columns: repeat(2, 1fr); row-gap: 36px; }
  .ar-s-num { font-size: 2.4rem; }
}

@media (max-width:760px){
  .ar-intro{padding:70px 22px;}
  .ar-intro-img{float:none; width:100%; height:220px; margin:0 0 24px;}
  .ar-intro-list{grid-template-columns:1fr;}
}

@media (max-width:720px){
  .ar-wrap, .ar-hero, .ar-values, .ar-stats{padding-left:22px; padding-right:22px;}
  .ar-s-grid{grid-template-columns:repeat(2,1fr);}
  .ar-v-grid{grid-template-columns:1fr;}
}

/*-----Contact Page-----*/

 .rr-contact-page{
  --rr-ink:#1E2A44;
  --rr-ink-soft:#4B5670;
  --rr-paper:#F1EEE4;
  --rr-card:#FFFFFF;
  --rr-line:#DAD4C4;
  --rr-teal:#2F6F62;
  --rr-teal-soft:#E4EEEA;
  --rr-amber:#E3A73E;
  --rr-amber-deep:#C98A22;
  --rr-radius:18px;

  
  background-image:radial-gradient(circle at 1px 1px, rgba(30,42,68,0.06) 1px, transparent 0);
  background-size:22px 22px;
  color:var(--rr-ink);
  font-family:'Inter', sans-serif;
}

.rr-contact-page *{ box-sizing:border-box; }

.rr-contact-page .rr-wrap{
  max-width:1320px;
  margin:0 auto;
  padding:64px 24px 96px;
}

/* ---------- Hero ---------- */
.rr-contact-page .rr-hero{
  text-align:center;
  margin-bottom:56px;
}

.rr-contact-page .rr-eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.14em;
  color:var(--rr-teal);
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.rr-contact-page .rr-eyebrow::before,
.rr-contact-page .rr-eyebrow::after{
  content:'';
  width:28px;
  height:1px;
  background:var(--rr-teal);
  opacity:.5;
}

.rr-contact-page .rr-title{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:clamp(34px,5vw,60px);
  line-height:1.12;
  margin:0 0 18px;
  color:var(--rr-ink);
}
.rr-contact-page .rr-title em{
  font-style:italic;
  color:var(--ar-terracotta);
}

.rr-contact-page .rr-sub{
  max-width:620px;
  margin:0 auto;
  font-size:18px;
  line-height:1.6;
  color:var(--rr-ink-soft);
}

/* ---------- Rhythm pulse divider ---------- */
.rr-contact-page .rr-pulse{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:5px;
  height:28px;
  margin:26px 0 30px;
}
.rr-contact-page .rr-pulse span{
  width:4px;
  border-radius:2px;
  background:var(--ar-terracotta);
  animation:rr-beat 1.4s ease-in-out infinite;
}
.rr-contact-page .rr-pulse span:nth-child(1){ height:8px;  animation-delay:0s;   background:var(--rr-teal); }
.rr-contact-page .rr-pulse span:nth-child(2){ height:18px; animation-delay:.12s; }
.rr-contact-page .rr-pulse span:nth-child(3){ height:26px; animation-delay:.24s; background:var(--rr-teal); }
.rr-contact-page .rr-pulse span:nth-child(4){ height:14px; animation-delay:.36s; }
.rr-contact-page .rr-pulse span:nth-child(5){ height:22px; animation-delay:.48s; background:var(--rr-teal); }
.rr-contact-page .rr-pulse span:nth-child(6){ height:10px; animation-delay:.6s;  }
.rr-contact-page .rr-pulse span:nth-child(7){ height:16px; animation-delay:.72s; background:var(--rr-teal); }

@keyframes rr-beat{
  0%, 100% { transform:scaleY(.55); opacity:.75; }
  50%      { transform:scaleY(1);   opacity:1;   }
}
@media (prefers-reduced-motion: reduce){
  .rr-contact-page .rr-pulse span{ animation:none; }
}

/* ---------- Ticket / route layout ---------- */
.rr-contact-page .rr-panels{
  position:relative;
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:0;
  background:var(--rr-card);
  border-radius:var(--rr-radius);
  box-shadow:0 24px 60px -30px rgba(30,42,68,0.35);
  overflow:visible;
}

.rr-contact-page .rr-panel{
  padding:48px 48px;
}
.rr-contact-page .rr-panel--info{
  border-right:1px dashed var(--rr-line);
  position:relative;
}
.rr-contact-page .rr-panel--info::before,
.rr-contact-page .rr-panel--info::after{
  content:'';
  position:absolute;
  right:-12px;
  width:24px; height:24px;
  background:var(--rr-paper);
  border-radius:50%;
}
.rr-contact-page .rr-panel--info::before{ top:-12px; }
.rr-contact-page .rr-panel--info::after{ bottom:-12px; }

.rr-contact-page .rr-kicker{
  font-family:'IBM Plex Mono', monospace;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.12em;
  color:var(--rr-teal);
  text-transform:uppercase;
}

.rr-contact-page .rr-panel-title{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:29px;
  margin:8px 0 10px;
  color:var(--rr-ink);
}

.rr-contact-page .rr-desc{
  font-size:16.5px;
  line-height:1.6;
  color:var(--rr-ink-soft);
  margin:0 0 26px;
}

.rr-contact-page .rr-route{
  position:relative;
  padding-left:26px;
}
.rr-contact-page .rr-route::before{
  content:'';
  position:absolute;
  left:6px; top:6px; bottom:6px;
  width:0;
  border-left:2px dashed var(--rr-teal);
  opacity:.45;
}

.rr-contact-page .rr-stop{
  position:relative;
  padding-bottom:22px;
}
.rr-contact-page .rr-stop:last-child{ padding-bottom:0; }
.rr-contact-page .rr-stop::before{
  content:'';
  position:absolute;
  left:-26px; top:3px;
  width:10px; height:10px;
  border-radius:50%;
  background:var(--rr-amber);
  box-shadow:0 0 0 4px var(--rr-teal-soft);
}

.rr-contact-page .rr-stop-label{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.1em;
  color:var(--rr-ink-soft);
  text-transform:uppercase;
  margin-bottom:3px;
}
.rr-contact-page .rr-stop-value{
  font-size:17px;
  font-weight:600;
  color:var(--rr-ink);
}

.rr-contact-page .rr-help{
  margin-top:28px;
  background:var(--rr-teal-soft);
  border-radius:14px;
  padding:20px 22px;
}
.rr-contact-page .rr-help-title{
  font-family:'Fraunces', serif;
  font-size:19px;
  margin:0 0 8px;
  color:var(--rr-ink);
}
.rr-contact-page .rr-help-desc{
  font-size:15px;
  line-height:1.55;
  color:var(--rr-ink-soft);
  margin:0 0 16px;
}
.rr-contact-page .rr-btn-ghost{
  display:inline-block;
  background:#0d5c63;
  color:#fff;
  font-family:'Inter', sans-serif;
  font-weight:600;
  font-size:14.5px;
  padding:12px 22px;
  border-radius:999px;
  text-decoration:none;
}
.rr-contact-page .rr-btn-ghost:hover{ background:#0a4b4c; }

/* ---------- Form panel ---------- */
.rr-contact-page .rr-panel--form .rr-panel-title{ margin-top:8px; }

.rr-contact-page .rr-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 20px;
  margin-top:22px;
}
.rr-contact-page .rr-field{ display:flex; flex-direction:column; }
.rr-contact-page .rr-span-2{ grid-column:1 / -1; }

.rr-contact-page .rr-label{
  font-family:'IBM Plex Mono', monospace;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--rr-ink);
  margin-bottom:8px;
}
.rr-contact-page .rr-req{ color:var(--rr-amber-deep); }

.rr-contact-page .rr-input,
.rr-contact-page .rr-textarea{
  font-family:'Inter', sans-serif;
  font-size:16px;
  color:var(--rr-ink);
  background:#fff;
  border:1px solid var(--rr-line);
  border-radius:10px;
  padding:13px 15px;
  outline:none;
  width:100%;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.rr-contact-page .rr-input::placeholder,
.rr-contact-page .rr-textarea::placeholder{ color:#A9A296; }

.rr-contact-page .rr-input:focus,
.rr-contact-page .rr-textarea:focus{
  border-color:var(--rr-teal);
  box-shadow:0 0 0 3px var(--rr-teal-soft);
}

.rr-contact-page .rr-textarea{ min-height:120px; resize:vertical; }

.rr-contact-page .rr-submit-row{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:26px;
  flex-wrap:wrap;
}

.rr-contact-page .rr-submit{
  font-family:'Inter', sans-serif;
  font-weight:600;
  font-size:16px;
  color:#fff;
  background:var(--rr-ink);
  border:none;
  border-radius:999px;
  padding:15px 30px;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease;
}
.rr-contact-page .rr-submit:hover{ background:#e85a28; transform:translateY(-1px); }

.rr-contact-page .rr-fineprint{
  font-size:13.5px;
  color:var(--rr-ink-soft);
  max-width:300px;
  margin:0;
}

.rr-contact-page .rr-banner{
  grid-column:1 / -1;
  border-radius:12px;
  padding:14px 16px;
  font-size:13.5px;
  line-height:1.5;
  margin-bottom:6px;
}
.rr-contact-page .rr-banner--success{
  background:var(--rr-teal-soft);
  color:var(--rr-teal);
  border:1px solid rgba(47,111,98,0.25);
}
.rr-contact-page .rr-banner--error{
  background:#FBEAE3;
  color:#A6431D;
  border:1px solid rgba(166,67,29,0.25);
}
.rr-contact-page .rr-banner-list{ margin:6px 0 0; padding-left:18px; }

/* ---------- Responsive ---------- */
@media (max-width: 860px){
  .rr-contact-page .rr-panels{ grid-template-columns:1fr; }
  .rr-contact-page .rr-panel--info{
    border-right:none;
    border-bottom:1px dashed var(--rr-line);
  }
  .rr-contact-page .rr-panel--info::before,
  .rr-contact-page .rr-panel--info::after{
    right:auto; left:50%;
    transform:translateX(-50%);
  }
  .rr-contact-page .rr-panel--info::before{ top:-12px; }
  .rr-contact-page .rr-panel--info::after{ bottom:-12px; }
  .rr-contact-page .rr-grid{ grid-template-columns:1fr; }
}

@media (max-width: 480px){
  .rr-contact-page .rr-wrap{ padding:40px 16px 64px; }
  .rr-contact-page .rr-panel{ padding:30px 24px; }
}

.rr-location {
  margin-top: 4rem;
}
.rr-location-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  background: rgba(229, 242, 251, 0.938);
  border-radius: 12px;
  overflow: hidden;
}
.rr-location-text {
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
}
.rr-address {
    font-style: normal;
  line-height: 1.6;
}
.rr-location-map {
  min-height: 320px;
}
@media (max-width: 768px) {
  .rr-location-inner {
    grid-template-columns: 1fr;
  }
}

 /* ===========================================================
   DESTINATION PAGE 
=========================================================== */

.destination-page {
  --dc-surface: #ffffff;
  --dc-page-bg: #F7F7F5;
  --dc-border: #E4E2DC;
  --dc-border-strong: #C9C6BD;
  --dc-text-primary: #1C1B18;
  --dc-text-secondary: #6B6A64;
  --dc-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --dc-font-mono: 'JetBrains Mono', monospace;

  --dc-coral-50: #FAECE7;
  --dc-coral-600: #993C1D;
  --dc-coral-800: #712B13;
  --dc-coral-900: #4A1B0C;

  --dc-blue-800: #0C447C;
  --dc-blue-900: #042C53;
  --dc-blue-100: #B5D4F4;
  --dc-blue-50: #E6F1FB;

  background: var(--dc-page-bg);
  font-family: var(--dc-font-sans);
  padding: 68px 74px;
  color: var(--dc-text-primary);

}
.destination-page .dc-heading{
    max-width:1200px;
    margin:0 auto 60px;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:80px;
}

.destination-page .dc-heading-left{
    width:60%;
}

.destination-page .dc-heading-right{
    width:35%;
    margin-left:auto;
    padding-top:25px;
}

.destination-page .dc-heading-right p{
    margin:0;
    font-size:14px;
    line-height:1.8;
    color:#5D6B82;
}

.dc-subtitle{
    display:block;
    margin-bottom:16px;
    color:#E56D2D;
    font-size:13px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
}

.dc-heading-title{
    font-family:"Cormorant Garamond", serif;
    font-size:60px;
    font-weight:700;
    line-height:1.05;
    color:#16223d;
    letter-spacing:-1px;
    margin:0;
}

.dc-heading-title span{
    color:#E56D2D;
    font-style:italic;
}

.destination-page .dc-cards-wrap {
  max-width:1050px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 300px 1fr;
    align-items:center;
    gap:40px;
}

.destination-page .dc-card {
  background: var(--dc-surface);
  border: 1px solid var(--dc-border);
  border-radius: 12px;
  overflow: hidden;
}


.destination-page .dc-card-media {
  height: 150px;
  position: relative;
  overflow: visible;
}

.destination-page .dc-card-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.destination-page .dc-media-tag {
  position: absolute;
  left: 50%;
  bottom: -13px;
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: var(--dc-font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  padding: 5px 14px;
  border-radius: 999px;
  background: var(--dc-surface);
  border: 1px dashed var(--dc-border-strong);
  z-index: 2;
}

.destination-page .dc-card.dc-india .dc-media-tag { color: var(--dc-coral-600); }
.destination-page .dc-card.dc-intl .dc-media-tag { color: var(--dc-blue-800); }

.destination-page .dc-tear-line {
  position: relative;
  height: 1px;
}

.destination-page .dc-tear-line::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -8px;
  border-top: 1px dashed var(--dc-border-strong);
}

.destination-page .dc-tear-line::after,
.destination-page .dc-tear-line .dc-notch-right {
  content: "";
  position: absolute;
  top: -16px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--dc-page-bg);
}

.destination-page .dc-tear-line::after { left: -8px; }
.destination-page .dc-tear-line .dc-notch-right { right: -8px; }

.destination-page .dc-card-body {
  padding: 22px 20px 20px;
}

.destination-page .dc-route-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.destination-page .dc-route-label i {
  font-size: 16px;
}

.destination-page .dc-card.dc-india .dc-route-label i { color: var(--dc-coral-600); }
.destination-page .dc-card.dc-intl .dc-route-label i { color: var(--dc-blue-800); }

.destination-page .dc-route-label span {
  font-family: var(--dc-font-mono);
  font-size: 12px;
  color: var(--dc-text-secondary);
  letter-spacing: 0.05em;
}

.destination-page .dc-card-body h3 {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 600;
}

.destination-page .dc-card-body p {
  margin: 0 0 14px;
  font-size: 14px;
  color: var(--dc-text-secondary);
  line-height: 1.6;
}

.destination-page .dc-card-btn {
  width: 100%;
  height: 38px;
  border-radius: 8px;
  border: 1px solid var(--dc-border-strong);
  background: transparent;
  font-family: var(--dc-font-sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--dc-text-primary);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
}

.destination-page .dc-card-btn:hover { background: #e85a28;}
.destination-page .dc-card-btn:active { transform: scale(0.98); }

.dc-heading-title{
    font-family: "Cormorant Garamond", serif;
    font-size: 50px;
    font-weight: 700;
    line-height: 1.05;
    color: #16223d;
    letter-spacing: -1px;
}

.dc-heading-title span{
    color: #E56D2D;
    font-style: italic;
}

.dc-flight-path{
    display:flex;
    justify-content:center;
    align-items:center;
}

.dc-flight-path img{
    width:500px;
    height:300px;
    user-select:none;
    pointer-events:none;
}

/* Responsive */

@media (max-width:992px){

  .destination-page{
    padding:50px 25px;
  }

  .dc-heading{
    flex-direction:column;
    gap:20px;
  }

  .dc-heading-left,
  .dc-heading-right{
    width:100%;
    margin:0;
    padding:0;
  }

  .dc-heading-title{
    font-size:42px;
  }

  .dc-cards-wrap{
    grid-template-columns:1fr;
    max-width:400px;
    gap:30px;
  }

  .dc-flight-path img{
    width:220px;
    height:auto;
  }

  .dc-card-media{
    height:200px;
  }
}

.dc-card {
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.dc-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 30px rgba(26, 26, 26, 0.12);
}

.dc-card-media {
  overflow: hidden;
}

.dc-card-media img {
  transition: transform 0.4s ease;
}

.dc-card:hover .dc-card-media img {
  transform: scale(1.06);
}
.destination-page .dc-card:hover .dc-card-btn {
  background: #e85a28;
  color: #fff;
}
@media (max-width:576px){

  .destination-page{
    padding:40px 15px;
  }

  .dc-heading-title{
    font-size:34px;
  }

  .dc-heading-right p{
    font-size:15px;
  }

  .dc-flight-path img{
    width:170px;
  }
}

/* ===========================================================
   PACKAGES SECTION 
=========================================================== */

.section.packages {
  --pk-page-bg: #F7F7F5;
  --pk-surface: #FFFFFF;
  --pk-border: #E4E2DC;
  --pk-border-strong: #C9C6BD;
  --pk-ink: #16223D;
  --pk-text-secondary: #6B6A64;
  --pk-lead: #5D6B82;

  --pk-coral: #E56D2D;
  --pk-coral-deep: #993C1D;
  --pk-coral-50: #FAECE7;

  --pk-font-serif: "Cormorant Garamond", serif;
  --pk-font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --pk-font-mono: "JetBrains Mono", monospace;

  background: var(--pk-page-bg);
  font-family: var(--pk-font-sans);
  color: var(--pk-ink);
  padding: 80px 74px 88px;
}

.section.packages .container {
  max-width: 1400px;
  margin: 0 auto;
}

/* ---------- Section head ---------- */

.section.packages .section-head--row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 60px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.section.packages .section-eyebrow {
  display: block;
  margin-bottom: 16px;
  color: var(--pk-coral);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-family: var(--pk-font-sans);
}

.section.packages .section-title {
  font-family: var(--pk-font-serif);
  font-size: 52px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -1px;
  color: var(--pk-ink);
  margin: 0;
  max-width: 640px;
}

.section.packages .section-title .accent {
  color: var(--pk-coral);
  font-style: italic;
}

.section.packages .section-lead--narrow {
  max-width: 320px;
  font-size: 14px;
  line-height: 1.8;
  color: var(--pk-lead);
  margin: 0 0 6px;
  padding-top: 6px;
  text-align: right;
}

.section.packages .packages-hint {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin: 24px 0 40px;
  font-family: var(--pk-font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pk-border-strong);
}

.section.packages .packages-hint i {
  font-size: 14px;
  color: var(--pk-coral);
}

/* ---------- Track ---------- */

.packages-track {
  display: flex;
  gap: 28px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  padding: 12px 4px 36px;
  margin: 0 -4px;
  scrollbar-width: thin;
  scrollbar-color: var(--pk-border-strong) transparent;
}

.packages-track::-webkit-scrollbar { height: 6px; }
.packages-track::-webkit-scrollbar-track { background: transparent; }
.packages-track::-webkit-scrollbar-thumb {
  background: var(--pk-border-strong);
  border-radius: 4px;
}

/* ---------- Card (boarding pass stub) ---------- */

.package-card {
  scroll-snap-align: start;
  flex: 0 0 270px;
  background: var(--pk-surface);
  border: 1px solid var(--pk-border);
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.package-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 34px -20px rgba(28, 27, 24, 0.28);
  border-color: var(--pk-border-strong);
}

.package-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.package-media {
  position: relative;
  height: 300px;
  overflow: visible;
}

.package-media-frame {
  height: 100%;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
}

.package-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.4s ease;
}

.package-card:hover .package-media img {
  transform: scale(1.05);
}

/* duration pill straddles the perforation, like the dc-media-tag */
.package-duration {
  position: absolute;
  left: 50%;
  bottom: -13px;
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: var(--pk-font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  padding: 5px 14px;
  border-radius: 999px;
  background: var(--pk-surface);
  border: 1px dashed var(--pk-border-strong);
  color: var(--pk-coral-deep);
  z-index: 2;
}

/* perforation / tear line between media and body */
.package-body,
.package-stub {
  position: relative;
}

.package-body::before,
.package-stub::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  border-top: 1px dashed var(--pk-border-strong);
}

.package-body::after,
.package-stub::after,
.package-body .package-notch,
.package-stub .package-notch {
  content: "";
  position: absolute;
  top: -8px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--pk-page-bg);
  z-index: 1;
}

.package-body::after,
.package-stub::after { left: -8px; }

.package-body .package-notch,
.package-stub .package-notch { right: -8px; }

.package-body {
  padding: 26px 20px 18px;
}

/* route line: mono airport code pair, like a real ticket header */
.package-route {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.package-route i {
  font-size: 15px;
  color: var(--pk-coral-deep);
}

.package-route span {
  font-family: var(--pk-font-mono);
  font-size: 11.5px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--pk-text-secondary);
}

.package-title {
  margin: 0 0 8px;
  font-size: 19px;
  font-weight: 600;
  font-family: var(--pk-font-sans);
  color: var(--pk-ink);
}

.package-desc {
  margin: 0 0 18px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--pk-text-secondary);
}

.package-cta {
  display: inline-flex;
  align-items: center;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--pk-coral-deep);
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
}

.package-cta i {
  font-size: 14px;
  transition: transform 0.2s ease;
}

.package-card:hover .package-cta i {
  transform: translateX(4px);
}
.package-cta::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}
.package-link:hover .package-cta::after{
  transform: scaleX(1);
  transform-origin: left;
}
.package-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.package-price-btn {
  border: none;
  cursor: pointer;
  padding: 6px 12px;
  margin-left: 40px;
  border-radius: 999px;
  background: #E56D2D;
  color: #fff;
  font-family: var(--pk-font-sans, 'Inter', sans-serif);
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
  transition: background 0.15s ease, transform 0.1s ease;
}

.package-price-btn:hover { background: #993C1D; }
.package-price-btn:active { transform: scale(0.97); }

.section.packages .package-media .package-duration {
  position: absolute;
  left: 50%;
  bottom: -13px;
  transform: translateX(-50%);
  display: inline-block;
  white-space: nowrap;
  box-sizing: border-box;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.06em;
  padding: 5px 14px;
  border-radius: 999px;
  background: #FFFFFF;
  border: 1px dashed #C9C6BD;
  color: #993C1D;
  z-index: 2;
  margin: 0;
}

/* ---------- Responsive ---------- */

@media (max-width: 992px) {
  .section.packages { padding: 56px 25px 64px; }
  .section.packages .section-head--row { align-items: flex-start; }
  .section.packages .section-title { font-size: 40px; max-width: 100%; }
  .section.packages .section-lead--narrow { text-align: left; max-width: 100%; }
  .section.packages .packages-hint { justify-content: flex-start; margin-top: 16px; }
  .package-card { flex: 0 0 240px; }
  .package-media { height: 260px; }
}

@media (max-width: 576px) {
  .section.packages { padding: 44px 16px 56px; }
  .section.packages .section-title { font-size: 32px; }
  .package-card { flex: 0 0 210px; }
  .package-media { height: 230px; }
  .package-body { padding: 22px 16px 14px; }
  .package-stub { padding: 12px 16px; }
  .package-price-value { font-size: 15px; }
  .package-price-btn { padding: 8px 13px; font-size: 12px; }
}


/* =========================
   ANIMATIONS
========================= */

/* ===== INDEX.PHP ===== */

html{
    scroll-behavior:smooth;
}

/* Initial State */
.hero-text,
.hero-search-wrapper,
.eyebrow,
.destination-title,
.sub,
.card,
.tour-header,
.tour-card{
    opacity:0;
    transform:translateY(70px);
    transition:
        opacity .9s cubic-bezier(.215,.61,.355,1),
        transform .9s cubic-bezier(.215,.61,.355,1);
    will-change:transform,opacity;
}

/* Different effects */
.card{
    transform:scale(.92);
}

.tour-card{
    transform:translateY(60px) scale(.95);
}

/* Visible */
.show{
    opacity:1 !important;
    transform:none !important;
}

/* Hero load animation */
.hero-text{
    animation:heroReveal 0.7s ease forwards;
}

@keyframes heroReveal{
    from{
        opacity:0;
        transform:translateY(60px);
    }
    to{
        opacity:1;
        transform:none;
    }
}

/* Image hover */
.tour-img img,
.card img{
    transition:transform .5s ease;
}

.tour-card:hover img,
.card:hover img{
    transform:scale(1.08);
}

/* ===== ABOUT.PHP ===== */

.reveal{
    opacity:0;
    transform:translateY(30px);
    transition:
        opacity .45s ease-out,
        transform .45s ease-out;
    will-change:opacity,transform;
}

.reveal.in{
    opacity:1;
    transform:translateY(0);
}

/* Hover Effects */
.ar-intro-img img,
.ar-v-card{
    transition:.35s ease;
}

.ar-intro-img:hover img{
    transform:scale(1.04);
}

.ar-v-card:hover{
    transform:translateY(-8px);
}

/* ===== CONTACT.PHP ===== */
.reveal{
    opacity:0;
    transform:translateY(30px);
    transition:
        opacity .45s ease-out,
        transform .45s ease-out;
    will-change:opacity,transform;
}

.reveal.in{
    opacity:1;
    transform:translateY(0);
}

.rr-panel,
.rr-location-inner{
    transition:.35s ease;
}

.rr-panel:hover{
    transform:translateY(-6px);
}

.text-reveal{
    opacity:0;
    transform:translateY(20px);
    filter:blur(6px);
    transition:
        opacity .6s ease,
        transform .6s ease,
        filter .6s ease;
}

.text-reveal.in{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
}

.rr-eyebrow,
.rr-title,
.rr-pulse,
.rr-sub{
    opacity:0;
    transform:translateY(35px);
    transition:opacity .6s ease, transform .6s ease;
}

.rr-eyebrow.in{
    opacity:1;
    transform:translateY(0);
}

.rr-title.in{
    opacity:1;
    transform:translateY(0);
    transition-delay:.15s;
}

.rr-pulse.in{
    opacity:1;
    transform:translateY(0);
    transition-delay:.3s;
}

.rr-sub.in{
    opacity:1;
    transform:translateY(0);
    transition-delay:.45s;
}
.rr-eyebrow,
.rr-title,
.rr-pulse,
.rr-sub{
    opacity:0;
    animation:heroFade .8s ease forwards;
}

.rr-title{
    animation-delay:.1s;
}

.rr-pulse{
    animation-delay:.2s;
}

.rr-sub{
    animation-delay:.2s;
}

@keyframes heroFade{
    from{
        opacity:0;
        transform:translateY(30px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ===== DESTINATIONS.PHP ===== */
.dc-subtitle{
    animation: fadeUp .8s ease forwards;
}

.dc-heading-title{
    opacity:0;
    animation: fadeUp .8s ease forwards;
    animation-delay:.2s;
}

.dc-heading-right{
    opacity:0;
    animation: fadeUp .8s ease forwards;
    animation-delay:.2s;
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(30px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ===== INDIA + INTERNATIONAL.PHP ===== */

.package-card,
.section-eyebrow,
.section-title,
.section-lead,
.packages-hint{
    animation: fadeUp .7s ease both;
}

.section-title{
    animation-delay:.1s;
}

.section-lead{
    animation-delay:.2s;
}

.packages-hint{
    animation-delay:.3s;
}

.package-card:nth-child(1){animation-delay:.3s;}
.package-card:nth-child(2){animation-delay:.4s;}
.package-card:nth-child(3){animation-delay:.5s;}
.package-card:nth-child(4){animation-delay:.6s;}
.package-card:nth-child(5){animation-delay:.7s;}
.package-card:nth-child(6){animation-delay:.9s;}
.package-card:nth-child(7){animation-delay:.9s;}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(30px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ===== ALL DESTINATIONS WISE- WONDER TRAIL ===== */
:root{
  --teal-deep:#0d3f3a;
  --teal-mid:#155249;
  --sand:#f3ead6;
  --paper:#fbf6ea;
  --azulejo:#2f6079;
  --terracotta:#c1603c;
  --amber:#e2a13a;
  --ink:#132420;
  --ink-soft:#3f5650;
  --line: rgba(19,36,32,0.14);
}
.wt-page *{box-sizing:border-box;}
html{scroll-behavior:auto;}
.wt-page{
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  line-height:1.55;
}
.wt-page h1, .wt-page h2, .wt-page h3{
  font-family:'Fraunces', serif;
  margin:0;
  color:var(--ink);
}
.wt-eyebrow{
  font-family:'Space Mono', monospace;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  color:var(--terracotta);
  display:inline-flex;
  align-items:center;
  gap:.5em;
}
.wt-eyebrow::before{
  content:"";
  width:22px;height:1px;
  background:var(--terracotta);
  display:inline-block;
}
.wt-page a{color:inherit;}
.wt-page img{display:block;max-width:100%;}
.wt-wrap{max-width:1160px;margin:0 auto;padding:0 24px;}

.wt-btn{
  font-family:'Space Mono', monospace;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;
  background:var(--terracotta);color:var(--paper);
  padding:11px 20px;border-radius:2px;text-decoration:none;
  border:1px solid var(--terracotta);
  display:inline-block;white-space:nowrap;
  transition: background .25s ease, color .25s ease, transform .2s ease, box-shadow .25s ease;
}
.wt-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(19,36,32,.18);}
.wt-btn.wt-ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
.wt-btn.wt-light{background:var(--paper);color:var(--teal-deep);border-color:var(--paper);}

/* HERO */
.wt-hero{
  position:relative;
  min-height:88vh;
  display:flex;align-items:flex-end;
  color:var(--paper);
  overflow:hidden;
  border-bottom:6px solid var(--terracotta);
}
.wt-hero-img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;

    filter: brightness(0.92) contrast(1.08) saturate(1.15);
    transform: scale(1.02);
}
.wt-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(99, 173, 165, 0.15) 0%, rgba(92, 148, 143, 0.45) 55%, rgba(44, 93, 85, 0.46) 100%);
  z-index:1;
}
.wt-hero .wt-wrap{position:relative;z-index:2;padding-bottom:64px;padding-top:140px;}
.wt-hero .wt-eyebrow{color:var(--amber);}
.wt-hero .wt-eyebrow::before{background:var(--amber);}
.wt-hero h1{
  font-size:clamp(2.6rem, 6vw, 5rem);
  font-weight:600;
  line-height:1;
  margin-top:14px;
  max-width:15ch;
  color:#FDFBF5; /* Warm white */
    font-weight:700;
    line-height:.95;
    text-shadow:
        0 4px 18px rgba(0,0,0,.45),
        0 2px 4px rgba(0,0,0,.75);
}
.wt-hero h1 em{
  font-style:italic;font-weight:500;color:var(--amber);
}
.wt-hero p.wt-lede{
  max-width:46ch;font-size:1.08rem;margin-top:18px;color:rgba(251,246,234,.92);
}
.wt-hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.wt-stat-strip{
  display:flex;gap:44px;margin-top:56px;flex-wrap:wrap;
  border-top:1px solid rgba(251,246,234,.25);padding-top:22px;
}
.wt-stat b{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:600;display:block;}
.wt-stat span{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.8;}

/* SECTION HEADERS */
.wt-page section{padding:96px 0;}
#places{scroll-margin-top:90px;}
.wt-sec-head{max-width:640px;margin-bottom:52px;}
.wt-sec-head h2{font-size:clamp(2rem,3.6vw,2.7rem);font-weight:600;margin-top:12px;}

/* ABOUT */
.wt-about{background:var(--teal-deep);color:var(--paper);}
.wt-about .wt-eyebrow{color:var(--amber);}
.wt-about .wt-eyebrow::before{background:var(--amber);}
.wt-about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.wt-about-grid p{color:rgba(251,246,234,.85);font-size:1.02rem;max-width:52ch;}
.wt-tag-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.wt-tag-cloud span{
  font-family:'Space Mono',monospace;font-size:.78rem;
  border:1px solid rgba(251,246,234,.35);padding:7px 13px;border-radius:20px;
}
.wt-about-figure{
  position:relative;border:1px solid rgba(251,246,234,.25);padding:26px;
}
.wt-about-figure img{width:100%;height:340px;object-fit:cover;}
.wt-about-figure .wt-big-num{
  font-family:'Fraunces',serif;font-size:4rem;font-weight:600;color:var(--amber);
  position:absolute;top:-24px;left:26px;background:var(--teal-deep);padding:0 10px;
}

/* POSTCARD SIGNATURE CARD */
.wt-postcard{
  background:var(--paper);
  border:1.5px dashed var(--line);
  padding:14px 14px 20px;
  position:relative;
  transition:transform .25s ease;
}
.wt-postcard:hover{transform:translateY(-4px);}
.wt-postcard .wt-stamp{
  position:absolute;top:8px;right:16px;
  width:46px;height:46px;border-radius:50%;
  background:var(--terracotta);color:var(--paper);
  display:flex;align-items:center;justify-content:center;
  font-family:'Space Mono',monospace;font-size:1.15rem;font-weight:700;
  border:2px solid var(--paper);
  box-shadow:0 4px 10px rgba(19,36,32,.25);
  z-index:2;
}
.wt-postcard .wt-img-wrap{overflow:hidden;height:200px;}
.wt-postcard img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05);}
.wt-postcard .wt-body{padding-top:16px;}
.wt-postcard h3{font-size:1.22rem;font-weight:600;}
.wt-postcard p{font-size:.92rem;color:var(--ink-soft);margin-top:8px;}
.wt-postmark{
  font-family:'Space Mono',monospace;font-size:.65rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--azulejo);margin-top:12px;display:block;
}

.wt-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:14px;}
.wt-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}

/* airmail divider */
.wt-airmail{
  height:10px;width:100%;
  background:repeating-linear-gradient(115deg, var(--terracotta) 0 18px, var(--paper) 18px 28px, var(--azulejo) 28px 46px, var(--paper) 46px 56px);
  opacity:.9;
}

/* FOOD SECTION */
.wt-food{background:var(--sand);}
.wt-food .wt-grid-4 .wt-postcard{background:var(--paper);}

/* ACTIVITIES - featured + list */
.wt-activities-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;}
.wt-feature-card{position:relative;overflow:hidden;min-height:420px;}
.wt-feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.wt-feature-card .wt-overlay{
  position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(13,30,27,.9) 0%, rgba(13,30,27,.15) 60%);
}
.wt-feature-card .wt-content{position:absolute;left:0;bottom:0;padding:30px;color:var(--paper);}
.wt-feature-card .wt-eyebrow{color:var(--amber);}
.wt-feature-card .wt-eyebrow::before{background:var(--amber);}
.wt-feature-card h3{font-size:1.6rem;color:var(--paper);margin-top:10px;}
.wt-feature-card p{color:rgba(251,246,234,.85);margin-top:8px;max-width:36ch;}
.wt-side-stack{display:flex;flex-direction:column;gap:22px;}
.wt-mini-card{
  display:grid;grid-template-columns:110px 1fr;gap:16px;
  border:1px solid var(--line);padding:14px;background:var(--paper);align-items:center;
}
.wt-mini-card .wt-img-wrap{height:90px;overflow:hidden;}
.wt-mini-card img{width:100%;height:100%;object-fit:cover;}
.wt-mini-card h4{font-family:'Fraunces',serif;font-weight:600;font-size:1.05rem;}
.wt-mini-card p{font-size:.85rem;color:var(--ink-soft);margin-top:4px;}

/* WHAT WE OFFER */
.wt-offer{background:var(--teal-deep);color:var(--paper);}
.wt-offer .wt-eyebrow{color:var(--amber);}
.wt-offer .wt-eyebrow::before{background:var(--amber);}
.wt-offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(251,246,234,.18);margin-top:10px;}
.wt-offer-item{background:var(--teal-deep);padding:38px 30px;}
.wt-offer-item .wt-mark{
  width:42px;height:42px;border:1px solid var(--amber);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Space Mono',monospace;color:var(--amber);margin-bottom:20px;
}
.wt-offer-item h3{color:var(--paper);font-size:1.2rem;}
.wt-offer-item p{color:rgba(251,246,234,.78);margin-top:10px;font-size:.94rem;}

/* ===== ITINERARY / ROUTE ===== */
.wt-route-sec{background:var(--paper);position:relative;overflow:hidden;}
#itinerary-cta{scroll-margin-top:115px;}
.wt-route-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:64px;}
.wt-route-head .wt-sec-head{margin-bottom:0;}
.wt-route-meta{
  display:flex;gap:26px;font-family:'Space Mono',monospace;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);
  border-left:2px solid var(--terracotta);padding-left:18px;
}
.wt-route-meta b{display:block;font-family:'Fraunces',serif;font-size:1.3rem;color:var(--ink);text-transform:none;letter-spacing:0;}

.wt-timeline{position:relative;padding-top:4px;padding-left:82px;}
.wt-timeline::before{
  content:"";position:absolute;left:27px;top:6px;bottom:6px;width:0;
  border-left:2px dashed var(--azulejo);opacity:.5;
}
.wt-day{position:relative;margin-bottom:32px;}
.wt-day:last-child{margin-bottom:0;}
.wt-day-marker{
  position:absolute;left:-82px;top:0;width:54px;height:54px;border-radius:50%;
  background:var(--terracotta);color:var(--paper);
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;
  font-family:'Space Mono',monospace;border:3px solid var(--paper);
  box-shadow:0 4px 12px rgba(19,36,32,.28);z-index:2;
}
.wt-day-marker span{font-size:.55rem;letter-spacing:.05em;opacity:.85;}
.wt-day-marker b{font-size:1.1rem;font-weight:700;}
.wt-day-card{
  background:var(--sand);border:1px solid var(--line);border-left:3px solid var(--terracotta);
  padding:18px 24px;
}
.wt-day-tag{
  font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--azulejo);
}
.wt-day-card h3{font-size:1.1rem;margin-top:5px;}
.wt-day-card p{font-size:.88rem;color:var(--ink-soft);margin-top:8px;max-width:64ch;}

/* ===== INCLUSIONS / EXCLUSIONS MANIFEST ===== */
.wt-manifest-sec{background:var(--sand);}
.wt-manifest{
  background:var(--paper);border:1px solid var(--line);position:relative;
  display:grid;grid-template-columns:1fr 1fr;align-items:start;
}
.wt-manifest::before{
  content:"";position:absolute;left:50%;top:0;bottom:0;transform:translateX(-50%);
  border-left:2px dashed var(--line);
}
.wt-manifest::after{
  content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;
  background:var(--sand);border-radius:50%;transform:translate(-50%,-50%);
}
.wt-manifest-col{padding:38px 40px;align-self:start;}
.wt-manifest-col .wt-eyebrow{margin-bottom:4px;}
.wt-manifest-col h3{font-size:1.3rem;}
.wt-manifest-col ul{list-style:none;margin-top:20px;padding:0;display:flex;flex-direction:column;gap:11px;}
.wt-manifest-col li{
  display:flex;gap:12px;align-items:flex-start;font-size:.9rem;line-height:1.45;color:var(--ink-soft);
}
.wt-manifest-col li i{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;margin-top:1px;
  display:flex;align-items:center;justify-content:center;
  font-style:normal;font-family:'Space Mono',monospace;font-size:.62rem;font-weight:700;
}
.wt-inc li i{background:var(--teal-mid);color:var(--paper);}
.wt-exc li i{border:1.5px solid var(--terracotta);color:var(--terracotta);}
.wt-manifest-sub{
  font-family:'Space Mono',monospace;font-size:.68rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--terracotta);margin-top:20px;margin-bottom:-4px;
}

/* ===== ROUTE ACTIONS (Customise / WhatsApp / Call) ===== */
.wt-route-actions{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;
  background:var(--teal-deep);color:var(--paper);
  padding:26px 32px;margin-top:56px;border-left:4px solid var(--amber);
}
.wt-route-actions p{
  font-family:'Fraunces',serif;font-size:1.15rem;font-weight:500;max-width:32ch;
  color:var(--paper);
}
.wt-route-actions p span{display:block;font-family:'Space Mono',monospace;font-size:.68rem;
  text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin-bottom:6px;font-weight:400;}
.wt-action-btns{display:flex;gap:12px;flex-wrap:wrap;}
.wt-route-phone{
  width:100%;text-align:right;margin-top:2px;
  font-family:'Space Mono',monospace;font-size:.74rem;letter-spacing:.04em;
  color:rgba(251,246,234,.65);
}
.wt-icon-btn{
  font-family:'Space Mono',monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;
  display:inline-flex;align-items:center;gap:9px;
  padding:11px 18px;border-radius:2px;text-decoration:none;white-space:nowrap;
  border:1px solid rgba(251,246,234,.4);color:var(--paper);
  transition:transform .2s ease, background .25s ease, border-color .25s ease;
}
.wt-icon-btn:hover{transform:translateY(-2px);}
.wt-icon-btn svg{width:16px;height:16px;flex-shrink:0;}
.wt-icon-btn.wt-call{background:transparent;}
.wt-icon-btn.wt-call:hover{border-color:var(--amber);color:var(--amber);}
.wt-icon-btn.wt-whatsapp{background:#2f6b52;border-color:#2f6b52;}
.wt-icon-btn.wt-whatsapp:hover{background:#377a5f;}
.wt-icon-btn.wt-customise{background:var(--terracotta);border-color:var(--terracotta);}
.wt-icon-btn.wt-customise:hover{background:#a94f30;}
@media (max-width: 700px){
  .wt-route-actions{padding:24px;}
  .wt-route-phone{text-align:center;}
  .wt-action-btns{width:100%;}
  .wt-icon-btn{flex:1;justify-content:center;}
}

/* ===== ITINERARY ACCORDION (smooth inline expand/collapse) ===== */
.wt-itin-cta{
  background:linear-gradient(135deg, var(--terracotta) 0%, #a94f30 100%);
  color:var(--paper);
  transition:background .6s ease, color .6s ease;
}
.wt-itin-cta h2{color:var(--paper);transition:color .6s ease;}
.wt-itin-cta p{color:rgba(251,246,234,.88);transition:color .6s ease;}
.wt-itin-cta .wt-eyebrow{color:var(--amber);transition:color .6s ease;}
.wt-itin-cta .wt-eyebrow::before{background:var(--amber);transition:background .6s ease;}

.wt-itin-cta.wt-itin-section-open{
  background:var(--sand);
  color:var(--ink);
}
.wt-itin-cta.wt-itin-section-open h2{color:var(--ink);}
.wt-itin-cta.wt-itin-section-open p{color:var(--ink-soft);}
.wt-itin-cta.wt-itin-section-open .wt-eyebrow{color:var(--terracotta);}
.wt-itin-cta.wt-itin-section-open .wt-eyebrow::before{background:var(--terracotta);}
.wt-itin-cta.wt-itin-section-open .wt-itin-arrow{border-color:var(--terracotta);color:var(--terracotta);}
.wt-itin-cta.wt-itin-section-open .wt-itin-arrow-icon{background:var(--terracotta);color:var(--paper);}
.wt-itin-cta.wt-itin-section-open .wt-itin-arrow:hover{background:var(--terracotta);color:var(--paper);}
.wt-itin-cta.wt-itin-section-open .wt-itin-arrow:hover .wt-itin-arrow-icon{background:var(--paper);color:var(--terracotta);}

.wt-itin-toggle{
  width:100%;
  background:none;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:0;text-align:left;
  font-family:inherit;color:inherit;
}
.wt-itin-toggle-text{display:flex;align-items:center;gap:14px;}
.wt-itin-toggle-text span{
  font-family:'Space Mono',monospace;font-size:.8rem;text-transform:uppercase;
  letter-spacing:.06em;
}
.wt-itin-arrow{
  flex-shrink:0;
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 22px 11px 26px;border-radius:30px;
  border:1.5px solid var(--paper);color:var(--paper);
  background:transparent;cursor:pointer;
  font-family:'Space Mono',monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;
  transition:transform .3s ease, background .3s ease, color .3s ease, border-color .3s ease;
}
.wt-itin-arrow-icon{
  width:26px;height:26px;border-radius:50%;
  background:var(--paper);color:var(--terracotta);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:transform .4s cubic-bezier(.25,.7,.35,1), background .3s ease, color .3s ease;
}
.wt-itin-arrow-icon svg{width:16px;height:16px;transition:transform .4s cubic-bezier(.25,.7,.35,1);}
.wt-itin-arrow:hover{background:var(--paper);color:var(--terracotta);}
.wt-itin-arrow:hover .wt-itin-arrow-icon{background:var(--terracotta);color:var(--paper);}
.wt-itin-collapse{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .55s cubic-bezier(.25,.7,.35,1);
}
.wt-itin-collapse-inner{overflow:hidden;min-height:0;}
.wt-itin-collapse .wt-timeline{opacity:0;transition:opacity .35s ease;}
.wt-itin-collapse.wt-itin-open{grid-template-rows:1fr;}
.wt-itin-collapse.wt-itin-open .wt-timeline{opacity:1;transition:opacity .5s ease .15s;}
.wt-itin-collapse .wt-timeline{margin-top:52px;}
.wt-itin-open .wt-itin-arrow-icon{transform:rotate(180deg);}

@media (max-width: 900px){
  .wt-about-grid, .wt-activities-layout{grid-template-columns:1fr;}
  .wt-grid-4{grid-template-columns:repeat(2,1fr);}
  .wt-grid-3{grid-template-columns:repeat(2,1fr);}
  .wt-offer-grid{grid-template-columns:1fr;}
  .wt-stat-strip{gap:28px;}

  .wt-timeline{padding-left:66px;}
  .wt-timeline::before{left:20px;}
  .wt-day-marker{left:-66px;width:44px;height:44px;}
  .wt-day-marker b{font-size:.95rem;}

  .wt-manifest{grid-template-columns:1fr;}
  .wt-manifest::before{left:0;right:0;top:50%;bottom:auto;border-left:none;border-top:2px dashed var(--line);}
  .wt-manifest::after{top:50%;left:50%;}
}

/* ===== SCROLL REVEAL ANIMATIONS ===== */
.wt-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.25,.7,.35,1), transform .7s cubic-bezier(.25,.7,.35,1);
  will-change:opacity, transform;
}
.wt-reveal.wt-reveal-left{transform:translateX(-32px);}
.wt-reveal.wt-reveal-right{transform:translateX(32px);}
.wt-reveal.wt-reveal-visible{
  opacity:1;
  transform:translate(0,0);
}
@media (prefers-reduced-motion: reduce){
  .wt-reveal{transition:none;opacity:1;transform:none;}
}
