:root{
      /* Base */
      --bg:#0b0c0f;
      --bg2:#0f1116;
      --text: rgba(255,255,255,.92);
      --muted: rgba(255,255,255,.72);
      --muted2: rgba(255,255,255,.58);
      --border: rgba(255,255,255,.12);

      --panel: rgba(255,255,255,.04);
      --panel2: rgba(255,255,255,.06);

      --radius: 18px;
      --radius2: 26px;
      --shadow: 0 14px 40px rgba(0,0,0,.40);
      --max: 1120px;

      /* Brand accents */
      --accent: #80312C;
      --accent2:#6b2824;

      /* Primary action (verde) */
      --cta:  #7DB361;
      --cta2: #5e9646;

      /* Glow control */
      --glowRedA: rgba(128,49,44,.22);
      --glowRedB: rgba(107,40,36,.16);
      --glowGreen: rgba(125,179,97,.10);

      /* ✅ Atractivos background (amarillo premium) */
      --sunA: rgba(255, 236, 160, .20);
      --sunB: rgba(255, 214, 102, .12);
      --sunBorder: rgba(255, 214, 102, .18);
    }

    *{box-sizing:border-box}
    html,body{height:100%}

    body{
      margin:0;
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      background: linear-gradient(180deg, var(--bg), var(--bg2));
      color: var(--text);
      line-height:1.45;
      overflow-x:hidden;
    }

    /* ✅ Fondo global “por puntos” (no por secciones) */
    .bgFX{
      position:fixed;
      inset:0;
      z-index:-1;
      pointer-events:none;
      background:
        radial-gradient(1400px 800px at 18% -10%, var(--glowRedA), transparent 62%),
        radial-gradient(900px 520px at 86% 0%, var(--glowGreen), transparent 64%),
        linear-gradient(180deg, var(--bg), var(--bg2));
      filter: saturate(1.05);
    }

    /* Puntos adicionales a lo largo del scroll */
    .bgFX::before{
      content:"";
      position:absolute;
      inset:-40vh -10vw -40vh -10vw;
      background:
        radial-gradient(1200px 700px at 24% 42%, rgba(128,49,44,.16), transparent 66%),
        radial-gradient(900px 560px at 78% 48%, rgba(107,40,36,.12), transparent 68%),
        radial-gradient(1100px 720px at 30% 86%, rgba(128,49,44,.14), transparent 68%),
        radial-gradient(900px 600px at 80% 92%, rgba(125,179,97,.08), transparent 70%);
      filter: blur(8px);
      opacity:.95;
    }

    a{color:inherit; text-decoration:none}
    img{max-width:100%; display:block}
    button{font-family:inherit}

    .container{max-width:var(--max); margin:0 auto; padding:0 20px}
    .section{padding:72px 0}
    .grid{display:grid; gap:18px}

    /* Top bar */
    .topbar{
      position:sticky; top:0; z-index:50;
      backdrop-filter: blur(12px);
      background: rgba(11,12,15,.62);
      border-bottom:1px solid var(--border);
    }
    .topbar__inner{
      display:flex; align-items:center; justify-content:space-between;
      padding:14px 0;
      gap:16px;
    }
    .brand{
      display:flex; align-items:center; gap:10px;
      font-weight:800; letter-spacing:.2px;
    }
    .brand__logo{
      width:36px; height:36px;
      border-radius: 12px;
      background: linear-gradient(135deg, var(--accent), var(--accent2));
      box-shadow: 0 10px 28px rgba(128,49,44,.20);
    }
    .nav{display:flex; gap:10px; align-items:center}
    .nav a{
      padding:10px 12px;
      border-radius: 12px;
      color: var(--muted);
      font-weight:600;
      transition: background .15s ease, color .15s ease;
    }
    .nav a:hover{background:var(--panel); color:var(--text)}

    /* Buttons */
    .btn{
      display:inline-flex; align-items:center; justify-content:center;
      gap:10px;
      padding:12px 14px;
      border-radius:14px;
      border:1px solid var(--border);
      background: rgba(255,255,255,.03);
      color: var(--text);
      font-weight:700;
      cursor:pointer;
      transition: transform .15s ease, background .15s ease, border-color .15s ease, filter .15s ease;
      user-select:none;
      white-space:nowrap;
    }
    .btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18)}
    .btn:active{transform: translateY(0px)}
    .btn-accent{
      border-color: rgba(128,49,44,.45);
      background: linear-gradient(135deg, rgba(128,49,44,.14), rgba(107,40,36,.06));
    }

    /* CTA principal (verde) */
    .btn-solid{
      border-color: rgba(125,179,97,.62);
      background: linear-gradient(135deg, rgba(125,179,97,.98), rgba(94,150,70,.92));
      color: rgba(0,0,0,.88);
      box-shadow: 0 14px 34px rgba(125,179,97,.18);
    }
    .btn-solid:hover{filter: brightness(1.03)}

    .btn-whatsapp{
      border-color: rgba(125,179,97,.45);
      background: linear-gradient(135deg, rgba(125,179,97,.18), rgba(94,150,70,.08));
    }
    .btn-neutral{
      border-color: rgba(255,255,255,.16);
      background: rgba(255,255,255,.03);
    }

    .btn-sm{padding:11px 12px; border-radius: 14px; font-size: 14px}

    .pill{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 12px;
      background: rgba(255,255,255,.04);
      border:1px solid var(--border);
      border-radius: 999px;
      color: var(--muted);
      font-weight:600;
      width:fit-content;
    }
    .pill strong{color: var(--text)}

    /* Hero */
    .hero{padding:46px 0 18px}
    .hero__wrap{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap:22px;
      align-items:stretch;
    }
    .hero__left{
      padding:24px;
      border-radius: var(--radius2);
      border:1px solid var(--border);
      background: rgba(255,255,255,.03);
      box-shadow: var(--shadow);
      position:relative;
      overflow:hidden;
    }
    .hero__left:before{
      content:"";
      position:absolute; inset:-80px -140px auto auto;
      width:320px; height:320px;
      background: radial-gradient(circle, rgba(128,49,44,.16), transparent 60%);
      filter: blur(12px);
      opacity:.9;
    }
    .hero h1{
      font-size: clamp(34px, 4.3vw, 54px);
      line-height:1.04;
      margin:12px 0 14px;
      letter-spacing:-.6px;
    }
    .hero p{color: var(--muted); margin:0 0 18px; font-size: 16px; max-width: 70ch}
    .hero__ctaRow{
      display:flex; gap:12px; flex-wrap:wrap;
      margin-top: 8px;
    }
    .trustRow{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:12px;
      margin-top: 18px;
    }
    .trust{
      background: rgba(255,255,255,.03);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 12px;
      color: var(--muted);
      min-width: 140px;
    }
    .trust b{color: var(--text)}

    .hero__right{
      border-radius: var(--radius2);
      border:1px solid var(--border);
      background: rgba(255,255,255,.03);
      box-shadow: var(--shadow);
      overflow:hidden;
      position:relative;
    }

    /* Hero video */
    .hero__media{position:relative; height:100%; min-height:396px}
    .hero__video{
      position:absolute; inset:0;
      width:100%; height:100%;
      object-fit:cover;
      transform: scale(1.01);
    }
    .hero__placeholder{
      background:
        radial-gradient(1200px 520px at 30% 30%, rgba(125,179,97,.22), transparent 55%),
        radial-gradient(900px 420px at 80% 20%, rgba(128,49,44,.22), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(11,12,15,.35));
    }
    .hero__overlay{
      position:absolute; inset:0;
      background: linear-gradient(180deg, rgba(11,12,15,.08), rgba(11,12,15,.80));
    }
    .hero__imgBadge{
      position:absolute;
      left:16px; bottom:16px;
      padding:12px 12px;
      border-radius: 16px;
      border:1px solid var(--border);
      background: rgba(11,12,15,.62);
      backdrop-filter: blur(10px);
      max-width: 88%;
      z-index: 2;
    }
    .hero__imgBadge small{color: var(--muted2)}
    .hero__imgBadge b{display:block; margin-top:2px}

    /* Cards */
    .card{
      padding:18px;
      border-radius: var(--radius);
      border:1px solid var(--border);
      background: rgba(255,255,255,.03);
      box-shadow: 0 10px 26px rgba(0,0,0,.22);
    }

    /* Features */
    .features{grid-template-columns: repeat(3, 1fr)}
    .card h3{margin:0 0 6px; font-size: 16px}
    .card p{margin:0; color: var(--muted)}
    .icon{
      width:44px; height:44px; border-radius: 16px;
      display:grid; place-items:center;
      background: rgba(128,49,44,.12);
      border:1px solid rgba(128,49,44,.22);
      margin-bottom:10px;
    }
    .icon svg{opacity:.92}

    /* Cabins */
    .cabinsHead{
      display:flex; align-items:flex-end; justify-content:space-between;
      gap:16px; flex-wrap:wrap;
      margin-bottom: 16px;
    }
    .cabinsHead h2{
      margin:0;
      font-size: clamp(24px, 2.6vw, 34px);
      letter-spacing:-.3px;
    }
    .cabinsHead p{margin:6px 0 0; color: var(--muted); max-width: 68ch}
    .filters{
      display:flex; gap:10px; flex-wrap:wrap;
      justify-content:flex-end;
    }
    .select, .input{
      padding:12px 12px;
      border-radius: 14px;
      border:1px solid var(--border);
      background: rgba(255,255,255,.02);
      color: var(--text);
      outline:none;
      font-weight:600;
      min-width: 210px;
    }
    .select option{background:#0b0c0f}

    .cabinsGrid{grid-template-columns: repeat(3, 1fr)}
    .cabin{
      overflow:hidden;
      display:flex; flex-direction:column;
      min-height: 100%;
    }
    .cabin__img{
      aspect-ratio: 16/10;
      background-size: cover;
      background-position:center;
      border-radius: 16px;
      border:1px solid var(--border);
    }
    .cabin__body{padding-top:14px; display:flex; flex-direction:column; gap:10px; flex:1}
    .cabin__titleRow{
      display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
    }
    .price{
      padding:8px 10px;
      border-radius: 999px;
      border:1px solid rgba(128,49,44,.35);
      background: rgba(128,49,44,.12);
      color: var(--text);
      font-weight:800;
      font-size: 13px;
      white-space:nowrap;
    }
    .meta{
      display:flex; gap:8px; flex-wrap:wrap;
      color: var(--muted);
      font-weight:600;
      font-size: 13px;
    }
    .tag{
      display:inline-flex; align-items:center; gap:6px;
      padding:6px 10px;
      border-radius: 999px;
      border: 1px solid var(--border);
      background: rgba(255,255,255,.02);
    }
    .list{
      display:grid; gap:8px;
      margin-top: 2px;
    }
    .li{
      display:flex; gap:10px; align-items:flex-start;
      color: var(--muted);
      font-weight:600;
      font-size: 13px;
      border: 1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.02);
      border-radius: 14px;
      padding:10px 12px;
    }
    .li b{color: var(--text)}
    .dot{
      width:8px; height:8px; border-radius: 999px;
      margin-top: 6px;
      background: rgba(125,179,97,.92);
      flex:0 0 auto;
    }
    .cabin__actions{
      display:flex; gap:10px; flex-wrap:wrap;
      margin-top:auto;
    }

    /* Social proof */
    .proof{grid-template-columns: 1.2fr .8fr; align-items:stretch}
    .quote{display:flex; flex-direction:column; gap:10px}
    .quote blockquote{
      margin:0;
      color: var(--text);
      font-size: 16px;
      line-height:1.55;
    }
    .quote cite{color: var(--muted); font-style:normal}
    .stats{display:grid; gap:12px}
    .stat{
      padding:14px;
      border-radius: 16px;
      border: 1px solid var(--border);
      background: rgba(255,255,255,.02);
    }
    .stat b{font-size: 16px}
    .stat small{display:block; color: var(--muted); margin-top: 2px}

    /* Video section */
    .videoCard{
      border-radius: 26px;
      overflow:hidden;
      padding:0;
      background: rgba(255,255,255,.02);
    }
    .videoCard video{width:100%; height:auto; display:block}

    /* =========================
       ✅ ATRACTIVOS: FONDO AMARILLO PREMIUM + CARDS GLASS
    ========================= */
    #atractivos.section{
      position: relative;
      isolation: isolate;
      background:
        radial-gradient(900px 520px at 12% 14%, var(--sunA), transparent 62%),
        radial-gradient(740px 520px at 86% 28%, var(--sunB), transparent 64%);
    }
    /* “panel” suave para que el amarillo no sea plano */
    #atractivos.section::before{
      content:"";
      position:absolute;
      inset: 18px 0 18px 0;
      z-index:-1;
      border-top: 1px solid var(--sunBorder);
      border-bottom: 1px solid var(--sunBorder);
      background: linear-gradient(180deg, rgba(255, 241, 184, .06), rgba(255, 214, 102, .04));
      filter: blur(.0px);
    }

    /* Planes */
    .planGrid{grid-template-columns: repeat(3, 1fr)}
    .plan{
      position:relative;
      overflow:hidden;
      padding:18px;
      border-radius: var(--radius2);
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.06);
      backdrop-filter: blur(10px);
      box-shadow: 0 12px 30px rgba(0,0,0,.24);
    }
    /* glow sutil + toque cálido */
    .plan:before{
      content:"";
      position:absolute; inset:-120px -160px auto auto;
      width:320px; height:320px;
      background:
        radial-gradient(circle, rgba(255, 214, 102, .12), transparent 60%),
        radial-gradient(circle at 30% 30%, rgba(128,49,44,.10), transparent 62%);
      filter: blur(14px);
      opacity:.9;
    }
    .plan h3{margin:0 0 6px; font-size: 16px}
    .plan p{margin:0 0 12px; color: var(--muted)}
    .plan .steps{display:grid; gap:8px}
    .step{
      display:flex; gap:10px; align-items:flex-start;
      color: var(--muted);
      font-weight:600;
      font-size: 13px;
      border: 1px solid rgba(255,255,255,.10);
      background: rgba(11,12,15,.22);
      border-radius: 14px;
      padding:10px 12px;
    }
    .step b{color: var(--text)}
    .stepIcon{
      width:20px; height:20px; border-radius: 999px;
      background: rgba(125,179,97,.18);
      border:1px solid rgba(125,179,97,.22);
      flex: 0 0 auto;
      margin-top: 2px;
    }

    /* Atractivos grid */
    .attractGrid{grid-template-columns: repeat(3, 1fr)}
    .attract{display:flex; flex-direction:column; gap:12px}
    .attract__img{
      aspect-ratio: 16/10;
      border-radius: 16px;
      border:1px solid rgba(255,255,255,.14);
      background-size:cover;
      background-position:center;
      position:relative;
      overflow:hidden;
    }
    .attract__img:after{
      content:"";
      position:absolute; inset:0;
      background: linear-gradient(180deg, rgba(11,12,15,.05), rgba(11,12,15,.78));
    }
    .attract__badge{
      position:absolute; left:12px; bottom:12px; z-index:2;
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.16);
      background: rgba(11,12,15,.62);
      backdrop-filter: blur(10px);
      color: var(--muted);
      font-weight:700;
      font-size: 13px;
    }
    .attract__body{display:flex; flex-direction:column; gap:10px; flex:1}
    .attract__body h3{margin:0; font-size:16px}
    .attract__body p{margin:0; color: var(--muted)}
    .attract__actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:auto}

    /* Location + FAQ */
    .twoCol{grid-template-columns: 1fr 1fr}
    .faq details{
      border:1px solid var(--border);
      background: rgba(255,255,255,.02);
      border-radius: 16px;
      padding: 14px;
    }
    .faq summary{
      cursor:pointer;
      font-weight:800;
      list-style:none;
      display:flex; justify-content:space-between; gap:10px;
    }
    .faq summary::-webkit-details-marker{display:none}
    .faq p{margin:10px 0 0; color: var(--muted)}
    .mapCard{
      padding:18px;
      border-radius: var(--radius2);
      border:1px solid var(--border);
      background: rgba(255,255,255,.02);
      overflow:hidden;
    }
    .mapFrame{
      border-radius: 16px;
      border:1px solid var(--border);
      overflow:hidden;
      aspect-ratio: 16/10;
      background: rgba(0,0,0,.2);
    }
    iframe{width:100%; height:100%; border:0}

    /* Footer */
    footer{
      padding: 44px 0 64px;
      border-top: 1px solid var(--border);
      background: rgba(0,0,0,.10);
      margin-top: 40px;
    }
    .foot{
      display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
      color: var(--muted);
    }
    .fineprint{color: var(--muted2); font-size: 13px; max-width: 70ch}

    /* Sticky WhatsApp */
    .wa-sticky{
      position: fixed;
      right: 16px;
      bottom: 16px;
      z-index: 60;
      display:flex; flex-direction:column; gap:10px; align-items:flex-end;
    }
    .wa-tip{
      background: rgba(11,12,15,.70);
      border:1px solid var(--border);
      border-radius: 16px;
      padding: 10px 12px;
      backdrop-filter: blur(10px);
      max-width: 300px;
      color: var(--muted);
      font-weight:600;
      box-shadow: var(--shadow);
    }

    /* =========================
       ✅ SECCIONES NUEVAS
    ========================= */
    .highlightsWrap{
      border:1px solid var(--border);
      background: rgba(255,255,255,.03);
      border-radius: var(--radius2);
      padding: 18px;
      box-shadow: 0 10px 26px rgba(0,0,0,.22);
      position:relative;
      overflow:hidden;
    }
    .highlightsWrap:before{
      content:"";
      position:absolute; inset:-120px -180px auto auto;
      width:340px; height:340px;
      background: radial-gradient(circle, rgba(128,49,44,.14), transparent 60%);
      filter: blur(14px);
      opacity:.7;
    }
    .highlightsHead{
      display:flex; align-items:flex-end; justify-content:space-between;
      gap:16px; flex-wrap:wrap;
      margin-bottom: 14px;
      position:relative;
      z-index:1;
    }
    .highlightsHead h2{
      margin:0;
      font-size: clamp(22px, 2.4vw, 30px);
      letter-spacing:-.25px;
    }
    .highlightsHead p{margin:6px 0 0; color: var(--muted); max-width: 72ch}
    .highlightsGrid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:12px;
    }
    .hl{
      border:1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.02);
      border-radius: 16px;
      padding: 12px;
      display:flex; gap:10px; align-items:flex-start;
      color: var(--muted);
      font-weight:650;
    }
    .hl b{color: var(--text)}
    .hlIcon{
      width:36px; height:36px;
      border-radius: 14px;
      display:grid; place-items:center;
      background: rgba(128,49,44,.10);
      border:1px solid rgba(128,49,44,.18);
      flex:0 0 auto;
      margin-top: 1px;
    }

    /* Servicios incluidos */
    .includeGrid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:12px;
    }
    .includeItem{
      border:1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.02);
      border-radius: 16px;
      padding: 12px;
      display:flex; gap:10px; align-items:flex-start;
    }
    .includeItem b{display:block; margin-bottom:2px}
    .includeItem span{color: var(--muted); font-weight:600; font-size: 13px}
    .checkIcon{
      width:22px; height:22px;
      border-radius: 999px;
      background: rgba(125,179,97,.18);
      border: 1px solid rgba(125,179,97,.28);
      flex:0 0 auto;
      margin-top: 1px;
      position:relative;
    }
    .checkIcon:after{
      content:"";
      position:absolute;
      left:7px; top:4px;
      width:6px; height:10px;
      border-right:2px solid rgba(255,255,255,.92);
      border-bottom:2px solid rgba(255,255,255,.92);
      transform: rotate(40deg);
      opacity:.9;
    }

    .securityGrid{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:16px;
      align-items:stretch;
    }
    .securityCard{
      border-radius: var(--radius2);
      border:1px solid var(--border);
      background: rgba(255,255,255,.03);
      box-shadow: 0 10px 26px rgba(0,0,0,.22);
      padding: 18px;
    }
    .securityList{display:grid; gap:10px; margin-top: 10px}
    .securityRow{
      display:flex; gap:10px; align-items:flex-start;
      border: 1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.02);
      border-radius: 14px;
      padding:10px 12px;
      color: var(--muted);
      font-weight:650;
      font-size: 13px;
    }
    .securityRow b{color: var(--text)}
    .securitySide{
      border-radius: var(--radius2);
      border:1px solid var(--border);
      background:
        linear-gradient(180deg, rgba(11,12,15,.10), rgba(11,12,15,.80)),
        url("assets/gallery/gallery-1.jpg");
      background-size: cover;
      background-position: center;
      overflow:hidden;
      position:relative;
      min-height: 280px;
    }
    .securitySide:after{
      content:"";
      position:absolute; inset:0;
      background: linear-gradient(180deg, rgba(11,12,15,.10), rgba(11,12,15,.82));
    }
    .securityBadge{
      position:absolute; left:14px; bottom:14px;
      z-index:2;
      border:1px solid var(--border);
      background: rgba(11,12,15,.62);
      backdrop-filter: blur(10px);
      padding: 10px 12px;
      border-radius: 16px;
      max-width: 92%;
      color: var(--muted);
      font-weight:650;
    }
    .securityBadge b{color: var(--text)}

    .stepsGrid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:12px;
    }
    .stepCard{
      border:1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.02);
      border-radius: 16px;
      padding: 14px;
      position:relative;
      overflow:hidden;
    }
    .stepNum{
      width:38px; height:38px;
      border-radius: 14px;
      display:grid; place-items:center;
      background: rgba(128,49,44,.12);
      border:1px solid rgba(128,49,44,.20);
      font-weight:900;
      margin-bottom: 10px;
    }
    .stepCard p{margin:0; color: var(--muted)}
    .stepCard b{color: var(--text)}

    .reviewsGrid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:12px;
    }
    .review{
      border-radius: 18px;
      border:1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.02);
      padding: 14px;
      display:flex; flex-direction:column; gap:10px;
    }
    .review .stars{color: rgba(255,255,255,.92); font-weight:900; letter-spacing:.2px}
    .review blockquote{margin:0; color: var(--text); line-height:1.55}
    .review cite{color: var(--muted); font-style:normal}

    /* =========
       GALLERY PRO (mejorada + chips)
    ========= */
    .galleryPro{ position: relative; margin-top: 18px; }
    .galleryHeaderRow{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      margin-bottom: 12px;
    }
    .galleryChips{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }
    .chipBtn{
      appearance:none;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.02);
      color: var(--muted);
      padding:10px 12px;
      border-radius: 999px;
      font-weight:800;
      cursor:pointer;
      transition: transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
    }
    .chipBtn:hover{ transform: translateY(-1px); border-color: rgba(255,255,255,.20); color: var(--text); background: rgba(255,255,255,.03); }
    .chipBtn.isActive{
      color: rgba(0,0,0,.88);
      border-color: rgba(125,179,97,.62);
      background: linear-gradient(135deg, rgba(125,179,97,.98), rgba(94,150,70,.92));
      box-shadow: 0 12px 30px rgba(125,179,97,.14);
    }

    .galleryTrack{ display: grid; gap: 14px; }

    .galleryItem{
      border: 0;
      padding: 0;
      cursor: pointer;
      background-size: cover;
      background-position: center;
      border-radius: 18px;
      min-height: 150px;
      position: relative;
      overflow: hidden;
      outline: none;
      transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }
    .galleryItem::after{
      content:"";
      position:absolute; inset:0;
      background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.18));
      opacity: .9;
    }
    .galleryItem:hover{ transform: translateY(-2px); filter: saturate(1.05); }
    .galleryItem:focus-visible{
      box-shadow: 0 0 0 3px rgba(255,255,255,.85), 0 0 0 6px rgba(0,0,0,.35);
    }

    @media (min-width: 900px){
      .galleryTrack{
        grid-template-columns: 1.25fr 1fr 1fr;
        grid-auto-rows: 190px;
      }
      .galleryItem--hero{
        grid-column: 1 / 2;
        grid-row: 1 / 3;
        min-height: 394px;
      }
    }

    @media (max-width: 899px){
      .galleryTrack{
        grid-auto-flow: column;
        grid-auto-columns: 86%;
        overflow-x: auto;
        padding: 2px 2px 10px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
      }
      .galleryItem{
        scroll-snap-align: start;
        min-height: 240px;
      }
      .galleryItem--hero{ min-height: 280px; }
      .galleryTrack::-webkit-scrollbar{ height: 8px; }
      .galleryTrack::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.18); border-radius: 999px; }
      .galleryTrack::-webkit-scrollbar-track{ background: rgba(255,255,255,.06); border-radius: 999px; }
    }

    .galleryNav{
      display: none;
      position: absolute;
      top: 56%;
      transform: translateY(-50%);
      width: 44px;
      height: 44px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.22);
      background: rgba(0,0,0,.35);
      color: white;
      font-size: 28px;
      line-height: 0;
      cursor: pointer;
      backdrop-filter: blur(8px);
      z-index: 2;
    }
    .galleryNav:hover{ background: rgba(0,0,0,.5); }
    .galleryNav.prev{ left: -10px; }
    .galleryNav.next{ right: -10px; }

    @media (min-width: 900px){
      .galleryNav{ display: inline-flex; align-items:center; justify-content:center; }
    }

    .lightbox{
      position: fixed;
      inset: 0;
      display: none;
      z-index: 9999;
    }
    .lightbox.isOpen{ display:block; }

    .lightboxBackdrop{
      position:absolute; inset:0;
      background: rgba(0,0,0,.78);
    }

    .lightboxDialog{
      position: absolute;
      inset: 0;
      margin: auto;
      width: min(1000px, calc(100% - 24px));
      height: min(720px, calc(100% - 24px));
      display: grid;
      place-items: center;
    }

    .lightboxImg{
      width: 100%;
      height: 100%;
      object-fit: contain;
      border-radius: 18px;
      background: rgba(0,0,0,.2);
    }

    .lightboxClose{
      position:absolute;
      top: 10px;
      right: 10px;
      width: 44px;
      height: 44px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.25);
      background: rgba(0,0,0,.35);
      color: white;
      cursor: pointer;
    }

    .lightboxArrow{
      position:absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 46px;
      height: 46px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.25);
      background: rgba(0,0,0,.35);
      color: white;
      font-size: 30px;
      cursor: pointer;
    }
    .lightboxArrow.left{ left: 10px; }
    .lightboxArrow.right{ right: 10px; }

    .lightboxCounter{
      position:absolute;
      bottom: 10px;
      left: 50%;
      transform: translateX(-50%);
      padding: 8px 12px;
      border-radius: 999px;
      background: rgba(0,0,0,.35);
      border: 1px solid rgba(255,255,255,.18);
      color: white;
      font-size: 14px;
    }

    @media (max-width: 980px){
      .features{grid-template-columns: 1fr}
      .cabinsGrid{grid-template-columns: 1fr 1fr}
      .proof{grid-template-columns: 1fr}
      .planGrid{grid-template-columns: 1fr}
      .attractGrid{grid-template-columns: 1fr}
      .twoCol{grid-template-columns: 1fr}
      .nav{display:none}
      .trustRow{grid-template-columns: 1fr}

      .highlightsGrid{grid-template-columns: 1fr}
      .includeGrid{grid-template-columns: 1fr}
      .securityGrid{grid-template-columns: 1fr}
      .stepsGrid{grid-template-columns: 1fr}
      .reviewsGrid{grid-template-columns: 1fr}
    }

    @media (max-width: 980px){
      .hero__wrap{grid-template-columns: 1fr}
      .hero__right{order:1}
      .hero__left{order:2}
    }

    @media (max-width: 560px){
      .cabinsGrid{grid-template-columns: 1fr}
      .hero__left{padding:18px}
      .btn{width:100%}
      .hero__ctaRow{flex-direction:column}
      .filters{justify-content:flex-start}
      .select, .input{width:100%; min-width:unset}
      .wa-tip{display:none}

      .bgFX{
        background:
          radial-gradient(820px 520px at 18% -10%, rgba(128,49,44,.16), transparent 64%),
          radial-gradient(740px 460px at 86% -8%, rgba(125,179,97,.06), transparent 70%),
          linear-gradient(180deg, var(--bg), var(--bg2));
      }
      .bgFX::before{opacity:.9; filter: blur(10px);}
      .hero__overlay{background: linear-gradient(180deg, rgba(11,12,15,.06), rgba(11,12,15,.76))}
      .attract__img:after{background: linear-gradient(180deg, rgba(11,12,15,.05), rgba(11,12,15,.76))}

      /* ✅ en mobile, mantenemos el toque cálido pero más sutil */
      #atractivos.section{
        background:
          radial-gradient(740px 520px at 18% 12%, rgba(255, 236, 160, .14), transparent 64%),
          radial-gradient(720px 520px at 84% 22%, rgba(255, 214, 102, .10), transparent 70%);
      }
      #atractivos.section::before{
        inset: 10px 0 10px 0;
        background: linear-gradient(180deg, rgba(255, 241, 184, .04), rgba(255, 214, 102, .03));
      }
    }
