.hero-section{position:relative;min-height:100svh;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:64px}.hero-section .hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#150020 0,#200030 40%,#701a75 70%,#150020 100%);z-index:0}.hero-section .hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.45;z-index:1}.hero-section .hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient( 105deg,rgba(10,0,16,.9) 0,rgba(10,0,16,.65) 55%,rgba(10,0,16,.3) 100% )}.hero-section .hero-content{position:relative;z-index:3;padding:3.5rem 20px 5rem;max-width:var(--max-w);margin:0 auto;width:100%}@media (min-width:768px){.hero-section .hero-content{padding:4.5rem 32px 6rem}}@media (max-width:767px){.hero-section{min-height:100svh}.hero-section .hero-content{padding:1rem 20px 1.5rem}.hero-badge{margin-bottom:.625rem}.hero-section .hero-title{font-size:clamp(1.625rem,7vw,2.25rem);margin-bottom:.625rem}.hero-section .hero-subtitle{font-size:.875rem;line-height:1.6;margin-bottom:.875rem}.hero-proof{margin-bottom:1rem}.hero-cta-group{margin-bottom:1rem}.hero-badges{gap:.25rem .5rem}.hero-badges span{font-size:.75rem}}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(217,70,239,.25);border:1px solid rgba(217,70,239,.5);border-radius:99px;padding:.375rem 1rem;font-size:.78rem;font-weight:700;color:#f0abfc;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.25rem;backdrop-filter:blur(4px)}.hero-proof{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.hero-avatars{display:flex}.avatar-circle{width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.7);position:relative;overflow:hidden;background:var(--gray-300);flex-shrink:0}.avatar-circle img{width:100%;height:100%;object-fit:cover;display:block}.avatar-circle:not(:first-child){margin-left:-8px}.avatar-circle:nth-child(1){z-index:4}.avatar-circle:nth-child(2){z-index:3}.avatar-circle:nth-child(3){z-index:2}.avatar-circle:nth-child(4){z-index:1}.hero-stars{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:rgba(255,255,255,.85);margin-bottom:.2rem}.hero-stars .stars{display:flex;gap:1px}.hero-proof-text{font-size:.8rem;color:rgba(255,255,255,.65)}.hero-cta-group{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.75rem;max-width:340px}.hero-cta-group .btn{width:100%;justify-content:center;white-space:normal;text-align:center;min-width:0}.hero-cta-group .btn small{display:block;font-size:.7rem;font-weight:400;opacity:.85;line-height:1.3}@media (max-width:480px){.hero-cta-group{max-width:100%}}.hero-badges{display:flex;flex-wrap:wrap;gap:.4rem .75rem}.hero-badges span{font-size:.78rem;color:rgba(255,255,255,.75);display:inline-flex;align-items:center;gap:.3rem}.hero-badges span svg{color:var(--wa-green);flex-shrink:0}.scarcity-bar{background:linear-gradient(90deg,#92400e,#b45309);color:#fef3c7;text-align:center;padding:.625rem 1rem;font-size:.8125rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem}.package-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;transition:all var(--transition);position:relative;display:flex;flex-direction:column;border:2px solid transparent}.package-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.package-popular{border-color:var(--primary);box-shadow:0 8px 24px rgba(217,70,239,.28)}.package-badge{position:absolute;top:1rem;right:1rem;background:var(--primary);color:var(--white);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .75rem;border-radius:99px;z-index:1}.package-popular .package-badge{background:linear-gradient(90deg,var(--primary),var(--primary-dark))}.package-header{padding:1.75rem 1.5rem 1rem;border-bottom:1px solid var(--border)}.package-name{font-size:1.125rem;font-weight:700;color:var(--gray-900);margin-bottom:.625rem}.package-popular .package-name{color:var(--primary)}.package-price{display:flex;align-items:baseline;gap:.375rem}.price-amount{font-size:2rem;font-weight:900;color:var(--primary);line-height:1}.price-unit{font-size:.875rem;color:var(--text-muted);font-weight:500}.package-features{list-style:none;padding:1.25rem 1.5rem;flex:1;display:flex;flex-direction:column;gap:.6rem}.package-features li{display:flex;align-items:flex-start;gap:.625rem;font-size:.875rem;color:var(--gray-700);line-height:1.5}.package-features li svg{flex-shrink:0;margin-top:2px;color:var(--wa-green)}.package-card .btn-block{margin:0 1.5rem 1.5rem;width:calc(100% - 3rem)}.packages-section .section-header{text-align:left}.packages-note{margin-top:1.75rem;text-align:left;font-size:.875rem;color:var(--text-muted);display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.packages-note a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}.benefits-section{background:var(--gray-50);padding:var(--section-py) 0}.benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media (min-width:640px){.benefits-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.benefits-grid{grid-template-columns:repeat(5,1fr)}}.testimonials-section{background:var(--gray-900);padding:var(--section-py) 0}.testimonials-section .section-label{color:#f0abfc}.testimonials-section .section-title{color:var(--white)}.testimonials-section .section-subtitle{color:rgba(255,255,255,.6)}.testimonials-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width:640px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}}.testi-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:all var(--transition)}.testi-card:hover{background:rgba(255,255,255,.1);border-color:rgba(217,70,239,.4);transform:translateY(-3px)}.testimonials-section .testi-video-thumb{position:relative;height:160px;overflow:hidden;background:linear-gradient(135deg,#150020,#3b0764);cursor:pointer}.testimonials-section .testi-video-thumb img{width:100%;height:100%;object-fit:cover;opacity:.8}.video-play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.video-play-btn>*{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;transition:transform var(--transition);padding-left:4px}.testimonials-section .testi-video-thumb:hover .video-play-btn>*{transform:scale(1.1)}.video-play-btn svg{color:var(--primary)}.testi-body{padding:1.25rem 1.25rem .75rem;flex:1}.testi-body .testi-stars{margin-bottom:.75rem}.testi-body .testi-quote{font-size:.9rem;color:rgba(255,255,255,.82);line-height:1.7;font-style:italic}.testi-body .testi-quote p{margin:0}.testi-footer{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.25rem 1.25rem;border-top:1px solid rgba(255,255,255,.08)}.testi-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.2)}.testi-avatar-initials{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--white);font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center}.testi-name{font-size:.9rem;font-weight:700;color:var(--gray-900)}.testi-city{font-size:.775rem;color:var(--text-muted)}.testi-card .testi-name{color:var(--white)}.testi-card .testi-city{color:rgba(255,255,255,.5)}.section-cta{margin-top:2.5rem;text-align:center}.gallery-section{background:var(--gray-900)}.gallery-section .section-title{color:var(--white)}.gallery-item{cursor:pointer;border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:4/3;background:var(--gray-800)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;display:block}.gallery-item:hover img{transform:scale(1.07)}.gallery-overlay{position:absolute;inset:0;background:rgba(217,70,239,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition)}.gallery-item:hover .gallery-overlay{opacity:1}.faq-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width:768px){.faq-grid{grid-template-columns:repeat(2,1fr);align-items:start}}.faq-col{display:flex;flex-direction:column;gap:.75rem}.cta-text{margin-bottom:1.5rem}.cta-title{font-size:clamp(1.5rem,3vw,2.25rem);color:var(--white);margin-bottom:.75rem}.cta-subtitle{color:rgba(255,255,255,.75);font-size:1rem;line-height:1.75}.cta-actions{display:flex;justify-content:center}.cta-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-xl);padding:2rem;backdrop-filter:blur(16px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:360px}.cta-card .btn{width:100%;justify-content:center}.cta-meta{font-size:.8rem;color:rgba(255,255,255,.6)}.cta-phone{font-size:1.25rem;font-weight:800;color:var(--wa-green);letter-spacing:-.01em}@media (min-width:768px){.cta-section .cta-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}.cta-text{margin-bottom:0}.cta-actions{justify-content:flex-end}}.package-card-img{position:relative;height:155px;overflow:hidden;background:linear-gradient(135deg,var(--primary-light,#ede9fe),#ddd6fe);flex-shrink:0}.package-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.package-card:hover .package-card-img img{transform:scale(1.05)}.package-card-img-note{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.32);color:#fff;font-size:.68rem;padding:.22rem .6rem;text-align:center;letter-spacing:.03em;backdrop-filter:blur(2px)}
/* ======================================
   MODERN PACKAGE CARDS – Villa & Services
   ====================================== */
.package-card {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 6px 24px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,.04);
  overflow: hidden;
  transition: transform .32s cubic-bezier(.4,0,.2,1), box-shadow .32s, border-color .32s;
  position: relative;
  display: flex;
  flex-direction: column;
  border: 2px solid #f3f4f6;
}
.package-card:hover {
  box-shadow: 0 20px 56px rgba(0,0,0,.14), 0 4px 12px rgba(0,0,0,.06);
  transform: translateY(-7px);
  border-color: rgba(217,70,239,.2);
}
.package-popular {
  border-color: var(--primary) !important;
  box-shadow: 0 8px 32px rgba(217,70,239,.28), 0 2px 8px rgba(217,70,239,.12) !important;
}
.package-popular:hover {
  box-shadow: 0 24px 64px rgba(217,70,239,.38), 0 6px 20px rgba(217,70,239,.18) !important;
}
.package-badge {
  position: absolute;
  top: .85rem; right: .85rem;
  background: linear-gradient(90deg, var(--primary), #9333ea);
  color: #fff;
  font-size: .65rem; font-weight: 800;
  letter-spacing: .1em; text-transform: uppercase;
  padding: .32rem .85rem; border-radius: 99px;
  z-index: 5;
  box-shadow: 0 3px 12px rgba(217,70,239,.42);
}
.package-header {
  padding: 1.5rem 1.5rem 1rem;
  border-bottom: 1px solid #f3f4f6;
}
.package-name {
  font-size: 1.125rem; font-weight: 700;
  color: var(--gray-900); margin-bottom: .75rem;
  line-height: 1.3;
}
.package-popular .package-name { color: var(--primary); }
.package-price {
  display: inline-flex;
  align-items: baseline;
  gap: .375rem;
  background: linear-gradient(135deg, rgba(217,70,239,.07), rgba(147,51,234,.07));
  border: 1px solid rgba(217,70,239,.18);
  border-radius: 14px;
  padding: .75rem 1rem;
}
.price-amount {
  font-size: 2.125rem; font-weight: 900;
  color: var(--primary); line-height: 1;
}
.price-unit {
  font-size: .875rem; color: #9ca3af; font-weight: 500;
}
.package-features {
  list-style: none; padding: 1.25rem 1.5rem;
  flex: 1; display: flex; flex-direction: column; gap: .5rem;
}
.package-features li {
  display: flex; align-items: flex-start; gap: .625rem;
  font-size: .875rem; color: var(--gray-700); line-height: 1.55;
}
.package-features li svg {
  flex-shrink: 0; margin-top: 2px;
  color: #16a34a; filter: drop-shadow(0 1px 3px rgba(22,163,74,.3));
}
.package-card .btn-block {
  margin: 0 1.5rem 1.5rem;
  width: calc(100% - 3rem);
  border-radius: 14px;
  padding: .9rem 1.5rem;
  font-weight: 700;
  background: linear-gradient(135deg, #25d366, #128c7e);
  box-shadow: 0 4px 18px rgba(37,211,102,.38);
  transition: all .28s;
}
.package-card .btn-block:hover {
  background: linear-gradient(135deg, #22c55e, #16a34a);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(37,211,102,.48);
}
