@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root{
  --lmex-green-950:#042d29;
  --lmex-green-900:#073b34;
  --lmex-green-800:#0b4a41;
  --lmex-green-700:#155e54;
  --lmex-cream:#f4f0e7;
  --lmex-white:#fffef9;
  --lmex-gold:#d8b36a;
  --lmex-gold-light:#f0d797;
  --lmex-gold-dark:#a7813c;
  --lmex-ink:#162320;
  --lmex-muted:#66736f;
  --shadow:0 18px 50px rgba(4,45,41,.14);
}

html{scroll-behavior:smooth}
body{
  font-family:"Manrope",sans-serif;
  color:var(--lmex-ink);
  background:var(--lmex-white);
}
h1,h2,h3,.display-serif{font-family:"Playfair Display",serif}
a{text-decoration:none}
.section{padding:90px 0}
.section-light{background:#fbfaf6}
.section-kicker{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.75rem;
  font-weight:700;
  color:var(--lmex-green-700);
  margin-bottom:.45rem
}
.section-kicker.gold{color:var(--lmex-gold-light)}
.section h2,.partners-section h2,.testimonials-section h2,.cta-section h2{
  font-size:clamp(2rem,4vw,3.15rem);
  margin-bottom:1rem
}
.text-muted-custom{color:var(--lmex-muted);line-height:1.85}
.text-link{color:var(--lmex-green-800);font-weight:700}
.text-link:hover{color:var(--lmex-gold-dark)}

.lmex-nav{
  padding:.72rem 0;
  background:rgba(4,45,41,.9);
  backdrop-filter:blur(12px);
  transition:.25s ease;
  border-bottom:1px solid rgba(216,179,106,.12)
}
.lmex-nav.scrolled{background:rgba(4,45,41,.98);box-shadow:0 10px 30px rgba(0,0,0,.13)}
.brand-lockup img{
  width:124px;
  height:44px;
  object-fit:cover;
  object-position:center;
  border-radius:2px
}
.navbar .nav-link{
  color:rgba(255,255,255,.82);
  font-size:.9rem;
  font-weight:600;
  padding:.6rem .7rem!important
}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--lmex-gold-light)}
.navbar .nav-link.active{border-bottom:1px solid var(--lmex-gold)}

.btn{font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:12px}
.btn-gold{
  background:linear-gradient(135deg,var(--lmex-gold-light),var(--lmex-gold));
  color:#1d2a27;
  border:1px solid var(--lmex-gold);
  box-shadow:0 12px 28px rgba(216,179,106,.18)
}
.btn-gold:hover{background:var(--lmex-gold-light);color:#0d2f2a;transform:translateY(-1px)}
.btn-outline-gold{color:var(--lmex-gold-light);border-color:rgba(216,179,106,.65)}
.btn-outline-gold:hover{background:var(--lmex-gold);border-color:var(--lmex-gold);color:var(--lmex-green-950)}

.hero{
  position:relative;
  min-height:780px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:var(--lmex-green-950)
}
.hero-image{
  position:absolute;inset:0;
  background:url("../img/hero-concierge.png") center/cover no-repeat;
  transform:scale(1.015)
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(3,34,31,.94) 0%,rgba(3,34,31,.79) 43%,rgba(3,34,31,.30) 72%,rgba(3,34,31,.48) 100%),
    linear-gradient(0deg,rgba(2,28,25,.88) 0%,transparent 40%)
}
.hero-content{padding-top:120px;padding-bottom:90px}
.eyebrow{
  display:inline-flex;
  padding:.45rem .8rem;
  border:1px solid rgba(240,215,151,.5);
  color:var(--lmex-gold-light);
  border-radius:999px;
  font-size:.75rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:1.2rem
}
.hero h1{
  color:#fff;
  font-size:clamp(3rem,6.3vw,5.5rem);
  line-height:.94;
  letter-spacing:-.03em
}
.hero h1 span{color:var(--lmex-gold-light)}
.hero .lead{color:rgba(255,255,255,.82);max-width:650px;line-height:1.75;margin-top:1.4rem}
.hero-features{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  max-width:680px
}
.hero-features div{display:flex;gap:.7rem;align-items:center;color:rgba(255,255,255,.8);font-size:.78rem}
.hero-features i{color:var(--lmex-gold-light);font-size:1.35rem}
.hero-brand-card{
  width:min(380px,90%);
  padding:3rem 2.2rem;
  border:1px solid rgba(240,215,151,.23);
  background:linear-gradient(155deg,rgba(4,45,41,.24),rgba(0,0,0,.42));
  backdrop-filter:blur(3px);
  text-align:center;
  color:white
}
.hero-brand-word{
  font-size:4rem;
  line-height:.9;
  color:var(--lmex-gold-light);
  font-weight:700;
  letter-spacing:-.06em
}
.hero-brand-word span{font-size:1.7rem;margin-left:.15rem}
.hero-brand-sub{letter-spacing:.55em;color:var(--lmex-gold-light);margin-top:.8rem}
.hero-brand-tag{font-size:.72rem;letter-spacing:.2em;margin-top:1.4rem;color:rgba(255,255,255,.78)}
.hero-brand-list{display:grid;gap:.45rem;margin-top:3.5rem;text-align:right;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7)}

.benefit-card{text-align:center;height:100%;padding:1.6rem .7rem}
.benefit-card i{font-size:2.1rem;color:var(--lmex-green-900);margin-bottom:1rem}
.benefit-card h3{font-size:1.13rem;margin-bottom:.6rem}
.benefit-card p{font-size:.78rem;color:var(--lmex-muted)}

.services-section{
  background:
    radial-gradient(circle at 55% 10%,rgba(216,179,106,.10),transparent 38%),
    linear-gradient(145deg,var(--lmex-green-950),var(--lmex-green-900));
  color:white
}
.service-card{
  position:relative;
  min-height:360px;
  padding:2rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(0deg,rgba(2,27,24,.93),rgba(2,27,24,.12)),
    url("../img/hero-concierge-wide.jpg") center/cover no-repeat;
  transition:transform .25s ease,border-color .25s ease
}
.service-card:hover{transform:translateY(-4px);border-color:rgba(216,179,106,.5)}
.service-business{background-position:40% center}
.service-groups{background-position:55% center;filter:saturate(.85)}
.service-vip{background-position:70% center}
.service-icon{color:var(--lmex-gold-light);font-size:2rem;margin-bottom:.8rem}
.service-card h3{font-size:1.45rem}
.service-card p{font-size:.86rem;color:rgba(255,255,255,.72);margin:0}
.stats-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(216,179,106,.12)
}
.stats-strip>div{
  padding:1.25rem 1.1rem;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:.8rem;
  align-items:center
}
.stats-strip i{grid-row:1/3;color:var(--lmex-gold-light);font-size:1.8rem}
.stats-strip strong{font-family:"Playfair Display",serif;font-size:1.1rem}
.stats-strip span{font-size:.72rem;color:rgba(255,255,255,.65)}

.destinations-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.55rem}
.destination-card{
  min-height:220px;
  position:relative;
  padding:1.1rem;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  overflow:hidden;
  background:
    linear-gradient(0deg,rgba(5,35,31,.8),rgba(5,35,31,.03)),
    linear-gradient(135deg,#5d817b,#d6b67a);
  color:white;
  transition:.25s ease
}
.destination-card:nth-child(2){background:linear-gradient(0deg,rgba(5,35,31,.75),rgba(5,35,31,.03)),linear-gradient(135deg,#405b66,#a7b9be)}
.destination-card:nth-child(3){background:linear-gradient(0deg,rgba(5,35,31,.72),rgba(5,35,31,.03)),linear-gradient(135deg,#2e8c8a,#e5d299)}
.destination-card:nth-child(4){background:linear-gradient(0deg,rgba(5,35,31,.75),rgba(5,35,31,.03)),linear-gradient(135deg,#825f53,#ddb894)}
.destination-card:nth-child(5){background:linear-gradient(0deg,rgba(5,35,31,.75),rgba(5,35,31,.03)),linear-gradient(135deg,#40634e,#a6bd83)}
.destination-card:nth-child(6){background:linear-gradient(0deg,rgba(5,35,31,.75),rgba(5,35,31,.03)),linear-gradient(135deg,#7b6856,#d2aa78)}
.destination-card:hover{transform:translateY(-4px);color:white;box-shadow:var(--shadow)}
.destination-card span{font-family:"Playfair Display",serif;font-size:1.05rem;font-weight:700}
.destination-card i{font-size:.85rem}

.partners-section{padding:85px 0;background:#f4f0e7}
.partner-item{display:flex;gap:1rem}
.partner-item i{font-size:2rem;color:var(--lmex-green-800);width:38px}
.partner-item h3{font-size:1rem;margin-bottom:.35rem}
.partner-item p{font-size:.78rem;color:var(--lmex-muted);margin:0}
.partner-quote{
  border-left:1px solid var(--lmex-gold-dark);
  padding-left:2rem;
  font-family:"Playfair Display",serif;
  color:var(--lmex-gold-dark);
  font-size:1.8rem;
  font-style:italic;
  margin:0
}

.testimonials-section{
  padding:65px 0;
  background:
    linear-gradient(90deg,rgba(4,45,41,.95),rgba(4,45,41,.83)),
    radial-gradient(circle at 85% 15%,#397365,var(--lmex-green-950));
  color:white
}
.testimonial{display:flex;align-items:center;gap:1.4rem;padding-right:6rem}
.testimonial-avatar{
  min-width:74px;height:74px;border-radius:50%;
  border:2px solid var(--lmex-gold);
  display:grid;place-items:center;
  background:rgba(255,255,255,.1);
  color:var(--lmex-gold-light);
  font-weight:800
}
.testimonial p{font-size:1rem;line-height:1.7;color:rgba(255,255,255,.83)}
.testimonial span{color:rgba(255,255,255,.6);font-size:.8rem}
.carousel-controls{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;gap:.4rem}
.carousel-control-prev,.carousel-control-next{
  position:static;width:40px;height:40px;border:1px solid rgba(216,179,106,.5);border-radius:50%
}

.cta-section{position:relative;overflow:hidden;padding:78px 0;color:white}
.cta-bg{position:absolute;inset:0;background:url("../img/hero-concierge-wide.jpg") center 45%/cover no-repeat}
.cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,35,31,.94),rgba(5,35,31,.55))}
.cta-section p{color:rgba(255,255,255,.76)}
.cta-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cta-benefits div{display:flex;gap:.8rem;align-items:center}
.cta-benefits i{font-size:2rem;color:var(--lmex-gold-light)}
.cta-benefits span{font-size:.82rem;font-weight:700}

.lmex-footer{background:var(--lmex-green-950);color:white;padding:38px 0 18px}
.footer-brand{color:var(--lmex-gold-light);font-size:2rem;font-weight:800}
.footer-brand small{display:block;font-size:.62rem;letter-spacing:.45em;margin-left:.2rem}
.footer-nav{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.footer-nav a{color:rgba(255,255,255,.65);font-size:.72rem}
.footer-nav a:hover{color:var(--lmex-gold-light)}
.socials{display:flex;gap:.75rem;justify-content:flex-end}
.socials a{
  width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;
  color:white;border:1px solid rgba(255,255,255,.18)
}
.socials a:hover{color:var(--lmex-gold-light);border-color:var(--lmex-gold)}
.footer-tagline{margin-top:.8rem;color:rgba(255,255,255,.5);font-size:.68rem}
.footer-bottom{
  margin-top:28px;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-size:.65rem;color:rgba(255,255,255,.42)
}

.whatsapp-float{
  position:fixed;
  z-index:1090;
  right:22px;
  bottom:24px;
  width:62px;height:62px;
  border-radius:50%;
  display:grid;place-items:center;
  background:#25D366;
  color:white;
  font-size:2rem;
  box-shadow:0 12px 35px rgba(0,0,0,.24);
  transition:.2s ease
}
.whatsapp-float:hover{color:white;transform:translateY(-3px) scale(1.03)}
.whatsapp-tooltip{
  position:absolute;right:72px;
  white-space:nowrap;
  background:var(--lmex-green-950);
  color:white;
  border:1px solid rgba(216,179,106,.26);
  padding:.55rem .75rem;
  border-radius:9px;
  font-size:.72rem;
  opacity:0;pointer-events:none;
  transition:.2s ease
}
.whatsapp-float:hover .whatsapp-tooltip{opacity:1}
.back-to-top{
  position:fixed;z-index:1080;right:30px;bottom:96px;
  width:44px;height:44px;border:0;border-radius:50%;
  background:var(--lmex-green-900);color:white;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:.2s ease
}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}

@media(max-width:1199.98px){
  .destinations-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:991.98px){
  .lmex-nav .navbar-collapse{background:var(--lmex-green-950);padding:1rem;margin-top:.65rem;border-radius:12px}
  .hero{min-height:700px}
  .hero-overlay{background:linear-gradient(90deg,rgba(3,34,31,.95),rgba(3,34,31,.70))}
  .hero-features{grid-template-columns:repeat(2,1fr)}
  .stats-strip{grid-template-columns:repeat(2,1fr)}
  .service-card{min-height:310px}
  .testimonial{padding-right:0;padding-bottom:4rem}
  .carousel-controls{right:auto;left:90px;top:auto;bottom:0;transform:none}
}
@media(max-width:767.98px){
  .section{padding:68px 0}
  .hero{min-height:760px}
  .hero-content{padding-top:118px}
  .hero h1{font-size:3.1rem}
  .destinations-grid{grid-template-columns:repeat(2,1fr)}
  .destination-card{min-height:170px}
  .stats-strip{grid-template-columns:1fr}
  .cta-benefits{margin-top:1.2rem}
  .socials{justify-content:flex-start}
  .footer-nav{justify-content:flex-start}
}
@media(max-width:575.98px){
  .brand-lockup img{width:105px;height:40px}
  .hero h1{font-size:2.7rem}
  .hero-features{grid-template-columns:1fr 1fr}
  .hero-features div{font-size:.72rem}
  .destinations-grid{grid-template-columns:1fr 1fr}
  .cta-benefits{grid-template-columns:1fr}
  .whatsapp-float{right:16px;bottom:16px;width:58px;height:58px}
  .whatsapp-tooltip{display:none}
}
