/* =========================================================
   LIFE XPERIENCES + BOTTOM FEATURE STRIP
   Replaces the old "Signature Escapes" + "Why Book With Us" sections
   ========================================================= */
.xp-section{
  --xp-teal:      #2fd6c6;
  --xp-purple:    #b98af0;
  --xp-ink:       #211a10;
  --xp-ink-soft:  #493c29;
  --xp-muted-ink: #7d715b;
  --xp-hair:      rgba(33,26,16,.14);
  --xp-gold-deep: #b87f0e;
  position:relative; isolation:isolate; overflow:hidden;
  padding:70px 0 60px;
  background-color:#f4ecd9;
  background-image:url("../images/xp-section-bg.jpg");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.xp-inner{
  max-width:1536px; margin:0 auto; padding:0 42px;
  display:grid; grid-template-columns:380px 1fr; gap:56px; align-items:start;
  position:relative;
}

/* ---------- LEFT COPY COLUMN ---------- */
.xp-eyebrow{
  color:var(--xp-gold-deep); font-weight:700; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase; margin:0 0 18px;
}
.xp-divider{ display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.xp-divider::before{ content:""; height:1px; width:100%; background:linear-gradient(90deg, rgba(184,127,14,.5), rgba(184,127,14,0)); }
.xp-divider svg{ flex:none; color:var(--xp-gold-deep); }

.xp-title{
  font-family:var(--serif); font-weight:800; font-size:3.1rem; line-height:.98;
  margin:0 0 22px; color:var(--xp-ink);
}
.xp-title .script{
  display:block; font-family:var(--script); font-weight:700; font-size:1.15em;
  color:var(--gold); line-height:1.05; position:relative; margin-top:2px;
}
.xp-title .script svg{ position:absolute; left:0; bottom:-10px; width:78%; color:var(--xp-teal); }

.xp-lead{ font-size:1.06rem; line-height:1.55; color:var(--xp-ink-soft); margin:0 0 14px; }
.xp-lead strong{ display:block; color:var(--xp-gold-deep); font-weight:700; }
.xp-sub{ color:var(--xp-muted-ink); line-height:1.55; margin:0 0 12px; }
.xp-sub:last-of-type{ margin-bottom:30px; }

.xp-features{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.xp-feature{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.xp-feature-icon{
  width:44px; height:44px; display:grid; place-items:center;
  border-radius:12px; border:1px solid var(--xp-hair);
  color:var(--xp-gold-deep); background:rgba(255,255,255,.4);
}
.xp-feature span:last-child{ font-size:.78rem; line-height:1.3; color:var(--xp-ink-soft); font-weight:500; }

/* ---------- RIGHT CARD CAROUSEL ---------- */
.xp-right{ position:relative; }

.xp-kicker{ text-align:center; margin:0 0 24px; }
.xp-kicker__spark{ display:block; margin:0 auto 10px; color:var(--gold); }
.xp-kicker__text{
  display:flex; align-items:center; gap:20px;
  margin:0; font-family:var(--sans); font-weight:700; font-size:.8rem;
  letter-spacing:.22em; text-transform:uppercase; color:var(--xp-ink);
}
.xp-kicker__text::before,
.xp-kicker__text::after{
  content:""; flex:1 1 auto; height:1px;
  background:linear-gradient(90deg, transparent, rgba(184,127,14,.55));
}
.xp-kicker__text::after{ background:linear-gradient(90deg, rgba(184,127,14,.55), transparent); }

.xp-cards{
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
}
.xp-card{
  position:relative; border-radius:20px; overflow:hidden;
  background:var(--panel); border:1px solid var(--line);
  display:flex; flex-direction:column; height:373px;
  box-shadow:0 16px 36px rgba(26,19,8,.18);
}
.xp-card-img{ flex:0 0 auto; height:200px; overflow:hidden; }
.xp-card-img img{ width:100%; height:100%; object-fit:cover; }
.xp-card-icon{
  width:56px; height:56px; border-radius:50%; display:grid; place-items:center;
  background:var(--panel); border:1.5px solid; margin:-28px auto 0; position:relative; z-index:2;
}
.xp-card-icon--teal{ color:var(--xp-teal); border-color:var(--xp-teal); }
.xp-card-icon--purple{ color:var(--xp-purple); border-color:var(--xp-purple); }
.xp-card-icon--gold{ color:var(--gold); border-color:var(--gold); }

.xp-card-body{
  flex:1 1 auto; min-height:0; overflow:hidden;
  display:flex; flex-direction:column; justify-content:center;
  padding:8px 14px 14px; text-align:center;
}
.xp-card-tag{
  font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  margin:4px 0 3px;
}
.xp-card-tag--teal{ color:var(--xp-teal); }
.xp-card-tag--purple{ color:var(--xp-purple); }
.xp-card-tag--gold{ color:var(--gold); }
.xp-card-title{
  font-family:var(--sans); font-weight:800; font-size:.94rem; letter-spacing:.02em;
  text-transform:uppercase; color:var(--white); margin:0 0 6px;
}
.xp-card-rule{ display:block; width:26px; height:2px; margin:0 auto 8px; border-radius:2px; }
.xp-card-rule--teal{ background:var(--xp-teal); }
.xp-card-rule--purple{ background:var(--xp-purple); }
.xp-card-rule--gold{ background:var(--gold); }
.xp-card-desc{
  color:var(--muted); font-size:.78rem; line-height:1.38; margin:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}

/* ---------- HOW YOU EARN LIFE XPERIENCES ---------- */
.xp-earn{
  position:relative; z-index:1;
  max-width:1536px; margin:58px auto 0; padding:0 42px;
}
.xp-earn__kicker{
  display:flex; align-items:center; gap:20px;
  margin:0 0 38px; font-family:var(--sans); font-weight:700; font-size:.86rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--xp-ink); text-align:center;
}
.xp-earn__kicker::before,
.xp-earn__kicker::after{
  content:""; flex:1 1 auto; height:1px;
  background:linear-gradient(90deg, transparent, rgba(184,127,14,.55));
}
.xp-earn__kicker::after{ background:linear-gradient(90deg, rgba(184,127,14,.55), transparent); }

.xp-earn__steps{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(5,1fr);
}
.xp-earn__step{
  position:relative; padding:0 20px; text-align:center;
}
.xp-earn__step:not(:last-child)::after{
  content:""; position:absolute; top:15px; right:-3px;
  width:14px; height:14px;
  border-top:2px solid var(--xp-gold-deep); border-right:2px solid var(--xp-gold-deep);
  transform:rotate(45deg); opacity:.55;
}
.xp-earn__num{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; margin:0 0 12px; border-radius:50%;
  background:var(--gold); color:#1b1509; font-family:var(--sans); font-weight:800; font-size:.82rem;
}
.xp-earn__icon{ display:block; margin:0 auto 12px; color:var(--xp-gold-deep); }
.xp-earn__step h4{
  font-family:var(--sans); font-weight:700; font-size:.84rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--xp-ink); margin:0 0 8px;
}
.xp-earn__step p{
  color:var(--xp-muted-ink); font-size:.82rem; line-height:1.5; margin:0 auto; max-width:210px;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1535px){
  .xp-inner{ padding-left:28px; padding-right:28px; }
  .xp-earn{ padding-left:28px; padding-right:28px; }
}
@media (max-width:1080px){
  .xp-inner{ grid-template-columns:1fr; }
  .xp-cards{ grid-template-columns:repeat(2,1fr); }
  .xp-earn__steps{ grid-template-columns:repeat(2,1fr); gap:32px 0; }
  .xp-earn__step:not(:last-child)::after{ display:none; }
}
@media (max-width:560px){
  .xp-features{ grid-template-columns:repeat(2,1fr); }
  .xp-cards{ grid-template-columns:1fr; }
  .xp-earn__steps{ grid-template-columns:1fr; gap:28px; }
  .xp-title{ font-size:2.4rem; }
  .xp-kicker__text{ font-size:.68rem; gap:12px; }
}
