*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',Arial,sans-serif;background:#f6f8f5;color:#101820;line-height:1.6}
img{max-width:100%;display:block}
.container{width:min(1120px,92%);margin:auto}
.hero{min-height:92vh;background:
radial-gradient(circle at 80% 12%,rgba(92,220,45,.28),transparent 28%),
linear-gradient(135deg,#081119 0%,#14242d 58%,#102017 100%);color:white;overflow:hidden}
.navbar{width:min(1120px,92%);margin:auto;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{width:170px;background:white;border-radius:18px;padding:8px}
.nav-actions{display:flex;align-items:center;gap:18px}
.nav-actions a{color:white;text-decoration:none;font-weight:700}
.btn-small,.btn-primary{background:#60d62c;color:white!important;padding:13px 20px;border-radius:999px;box-shadow:0 12px 30px rgba(96,214,44,.28)}
.hero-grid{width:min(1120px,92%);margin:auto;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:52px;padding:52px 0 80px}
.eyebrow,.section-label{display:inline-flex;color:#60d62c;background:rgba(96,214,44,.12);border:1px solid rgba(96,214,44,.28);padding:8px 14px;border-radius:999px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.7px}
.hero h1{font-size:clamp(46px,7vw,82px);line-height:.95;margin:22px 0 18px;font-weight:900}
.hero-subtitle{font-size:clamp(18px,2vw,23px);color:#d9e3dd;max-width:650px}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}
.trust-row div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:18px}
.trust-row strong{display:block;font-size:24px;color:#75ef43}
.trust-row span{font-size:13px;color:#d7dedb}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}
.btn-primary,.btn-secondary{text-decoration:none;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.btn-primary{padding:16px 26px}
.btn-secondary{color:white;border:1px solid rgba(255,255,255,.28);padding:15px 24px;border-radius:999px}
.hero-card{position:relative}
.hero-card img{height:560px;width:100%;object-fit:cover;border-radius:34px;box-shadow:0 35px 80px rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.14)}
.floating-price{position:absolute;left:-24px;bottom:28px;background:white;color:#101820;padding:18px 22px;border-radius:22px;box-shadow:0 20px 45px rgba(0,0,0,.2)}
.floating-price span{display:block;color:#66716c;font-weight:700}
.floating-price strong{font-size:28px;color:#101820}
.intro{background:white;padding:70px 0}
.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.intro h2,.gallery-head h2,.payment-card h2,.form-copy h2{font-size:clamp(30px,4vw,46px);line-height:1.12;margin-top:16px}
.intro-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.intro-stats div{background:#f3f7f1;border-radius:22px;padding:24px;border:1px solid #e0eadb}
.intro-stats strong{font-size:34px;color:#49b91d;display:block}
.section{padding:90px 0}
.center{text-align:center;margin:auto}
.center-title{text-align:center;font-size:clamp(30px,4vw,46px);max-width:790px;margin:16px auto 38px;line-height:1.12}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:white;border-radius:28px;padding:32px;box-shadow:0 20px 50px rgba(8,17,25,.08);border:1px solid #e8eee6}
.icon{font-size:38px;margin-bottom:16px}
.card h3{font-size:22px;margin-bottom:10px}
.card p{color:#53615a}
.gallery-section{padding:90px 0;background:#101820;color:white}
.gallery-head{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:end;margin-bottom:28px}
.gallery-head p{color:#d6ded8}
.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:250px;gap:16px}
.gallery-item{border-radius:26px;overflow:hidden;position:relative;background:#22313a;border:1px solid rgba(255,255,255,.12)}
.gallery-item:after{content:"Ver imagen";position:absolute;left:16px;bottom:16px;background:rgba(0,0,0,.5);color:white;padding:8px 12px;border-radius:999px;font-weight:700;font-size:13px}
.gallery-item img{height:100%;width:100%;object-fit:cover;transition:.35s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item.big{grid-row:span 2}
.gallery-item.wide{grid-column:span 2}
.payment-section{padding:90px 0;background:#eef5eb}
.payment-grid{display:grid;grid-template-columns:1fr .9fr;gap:24px}
.payment-card{background:white;border-radius:30px;padding:36px;box-shadow:0 20px 50px rgba(8,17,25,.08)}
.payment-card.main{background:linear-gradient(135deg,#11202a,#142f1b);color:white}
.payment-card.main p{color:#d9e3dd;margin:14px 0 24px}
.payment-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.payment-list div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);padding:18px;border-radius:18px}
.payment-list strong{display:block;color:#75ef43;font-size:24px}
.payment-list span{font-size:13px;color:#dde6e0}
.payment-card h3{font-size:24px;margin:8px 0 15px}
.check-list{list-style:none;margin-bottom:28px}
.check-list li{padding-left:28px;margin-bottom:12px;position:relative;color:#3c4842}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:#49b91d;font-weight:900}
.delivery-box{background:#f0f8ed;border-radius:20px;padding:20px}
.delivery-box span{display:block;color:#5a665f;font-weight:700}
.delivery-box strong{font-size:22px;color:#101820}
.form-section{padding:95px 0;background:linear-gradient(135deg,#081119,#16262e);color:white}
.form-grid{display:grid;grid-template-columns:.9fr 1fr;gap:42px;align-items:center}
.form-copy p{color:#d9e3dd;margin:18px 0 24px}
.mini-benefits{display:flex;flex-wrap:wrap;gap:12px}
.mini-benefits span{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:10px 13px}
.lead-form{background:white;color:#101820;border-radius:30px;padding:32px;box-shadow:0 25px 70px rgba(0,0,0,.28)}
.lead-form label{display:block;font-weight:800;margin-bottom:14px}
.lead-form input,.lead-form textarea,.lead-form select{width:100%;margin-top:7px;padding:15px;border:1px solid #dbe4d8;border-radius:14px;font-family:inherit;font-size:15px;background:#fbfcfb}
.lead-form textarea{min-height:115px;resize:vertical}
.lead-form button{width:100%;border:0;background:#60d62c;color:white;padding:17px;border-radius:16px;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 14px 30px rgba(96,214,44,.25)}
.lead-form small{display:block;text-align:center;color:#65716c;margin-top:12px}
footer{background:#071018;color:white;text-align:center;padding:36px 20px}
footer img{width:140px;margin:0 auto 14px;background:white;border-radius:16px;padding:7px}

@media(max-width:900px){
  .navbar{align-items:flex-start}
  .nav-actions{display:none}
  .hero-grid,.intro-grid,.gallery-head,.payment-grid,.form-grid{grid-template-columns:1fr}
  .hero-card img{height:420px}
  .floating-price{left:16px}
  .trust-row,.cards,.payment-list{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}
  .gallery-item.big,.gallery-item.wide{grid-row:auto;grid-column:auto}
}








/* ===== CARRUSEL VISIBLE Y FUNCIONAL ===== */

body{
  overflow-x:hidden;
}

.hero{
  min-height:auto;
}

.hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(360px,520px);
  gap:46px;
}

.hero-copy{
  position:relative;
  z-index:3;
}

.carousel{
  position:relative;
  overflow:hidden;
  background:#101820;
  isolation:isolate;
}

.hero-slider{
  width:100%;
  height:clamp(430px,46vw,590px);
  border-radius:34px;
  box-shadow:0 35px 80px rgba(0,0,0,.38);
  border:1px solid rgba(255,255,255,.12);
}

.carousel-track{
  display:flex;
  width:100%;
  height:100%;
  transition:transform .7s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.carousel-slide{
  flex:0 0 100%;
  width:100%;
  height:100%;
  min-width:100%;
}

.carousel-slide img,
.hero-slider .carousel-slide img,
.gallery-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(1.06) contrast(1.03);
}

.hero-slider::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.45));
  z-index:2;
  pointer-events:none;
}

.floating-price{
  position:absolute;
  left:22px;
  bottom:24px;
  z-index:5;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px);
  color:#101820;
  padding:18px 22px;
  border-radius:22px;
  box-shadow:0 20px 45px rgba(0,0,0,.22);
  max-width:82%;
}

.floating-price span{
  display:block;
  color:#56625d;
  font-weight:800;
  font-size:13px;
  margin-bottom:3px;
}

.floating-price strong{
  font-size:clamp(20px,2.2vw,28px);
  color:#101820;
  line-height:1.05;
}

.carousel-dots{
  position:absolute;
  right:22px;
  bottom:28px;
  z-index:6;
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  max-width:180px;
  justify-content:flex-end;
}

.carousel-dots button{
  width:8px;
  height:8px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.56);
  cursor:pointer;
  padding:0;
  transition:.25s ease;
}

.carousel-dots button.active{
  width:22px;
  background:#75ef43;
}

.carousel-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:7;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(0,0,0,.35);
  color:white;
  font-size:34px;
  line-height:36px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(8px);
  transition:.25s ease;
}

.carousel-arrow:hover{
  background:rgba(96,214,44,.85);
  border-color:rgba(96,214,44,.9);
}

.carousel-arrow.prev{
  left:16px;
}

.carousel-arrow.next{
  right:16px;
}

/* Galería profesional */
.gallery-section{
  padding:95px 0;
  background:
    radial-gradient(circle at 12% 12%,rgba(96,214,44,.18),transparent 28%),
    linear-gradient(135deg,#071018,#101820 58%,#102017);
  color:white;
}

.premium-gallery-head{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:35px;
  align-items:end;
  margin-bottom:32px;
}

.premium-gallery-head p{
  color:#d6ded8;
  max-width:570px;
}

.gallery-showcase{
  height:clamp(380px,52vw,620px);
  border-radius:34px;
  box-shadow:0 35px 80px rgba(0,0,0,.38);
  border:1px solid rgba(255,255,255,.12);
}

.gallery-showcase::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.05) 58%,rgba(0,0,0,.28));
  pointer-events:none;
  z-index:2;
}

.gallery-info-card{
  position:absolute;
  left:34px;
  bottom:34px;
  z-index:4;
  max-width:560px;
  color:white;
}

.gallery-info-card span{
  display:inline-block;
  color:#75ef43;
  background:rgba(96,214,44,.13);
  border:1px solid rgba(96,214,44,.35);
  padding:8px 13px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.7px;
}

.gallery-info-card strong{
  display:block;
  margin-top:13px;
  font-size:clamp(28px,4.2vw,50px);
  line-height:1.08;
  max-width:720px;
}

.gallery-dots{
  left:50%;
  right:auto;
  bottom:22px;
  transform:translateX(-50%);
  max-width:none;
  justify-content:center;
}

/* Mejoras generales */
.card,
.payment-card,
.lead-form{
  transition:transform .25s ease, box-shadow .25s ease;
}

.card:hover,
.payment-card:hover{
  transform:translateY(-5px);
  box-shadow:0 28px 65px rgba(8,17,25,.12);
}

.lead-form input:focus,
.lead-form textarea:focus,
.lead-form select:focus{
  outline:none;
  border-color:#60d62c;
  box-shadow:0 0 0 4px rgba(96,214,44,.14);
}

@media(max-width:1050px){
  .hero-grid{
    grid-template-columns:1fr;
    padding-top:36px;
  }

  .hero-slider{
    max-width:760px;
    margin:auto;
  }
}

@media(max-width:900px){
  .navbar{
    align-items:center;
  }

  .hero-grid,
  .intro-grid,
  .premium-gallery-head,
  .payment-grid,
  .form-grid{
    grid-template-columns:1fr;
  }

  .cards{
    grid-template-columns:1fr;
  }

  .trust-row,
  .payment-list{
    grid-template-columns:1fr;
  }

  .hero-slider{
    height:420px;
    border-radius:26px;
  }

  .gallery-showcase{
    height:430px;
    border-radius:26px;
  }

  .gallery-info-card{
    left:22px;
    right:22px;
    bottom:70px;
  }

  .gallery-dots{
    bottom:22px;
  }

  .floating-price{
    left:18px;
    right:18px;
    max-width:none;
  }
}

@media(max-width:560px){
  .container,
  .navbar,
  .hero-grid{
    width:min(100% - 28px,1120px);
  }

  .hero{
    border-bottom-left-radius:28px;
    border-bottom-right-radius:28px;
  }

  .hero h1{
    font-size:44px;
  }

  .hero-subtitle{
    font-size:17px;
  }

  .hero-buttons a{
    width:100%;
  }

  .hero-slider{
    height:340px;
    border-radius:22px;
  }

  .gallery-section,
  .section,
  .payment-section,
  .form-section{
    padding:68px 0;
  }

  .gallery-showcase{
    height:360px;
    border-radius:22px;
  }

  .gallery-info-card strong{
    font-size:25px;
  }

  .carousel-arrow{
    width:36px;
    height:36px;
    font-size:28px;
  }

  .carousel-dots{
    display:none;
  }

  .lead-form{
    padding:24px;
    border-radius:24px;
  }

  .payment-card{
    padding:26px;
    border-radius:24px;
  }
}
