/* NOSOTROS + CONTACTO RESPONSIVE */
@media(max-width:1024px){
  #nosotros div[style*="repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr)!important}
  #nosotros div[style*="repeat(3,1fr)"]{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:900px){
  #contacto div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  #nosotros div[style*="repeat(4,1fr)"]{grid-template-columns:1fr!important}
  #nosotros div[style*="repeat(3,1fr)"]{grid-template-columns:1fr!important}
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--gold:#D4A853;--gold-light:#E8C97A;--gold-dark:#B8912E;
--black:#0A0A0A;--black-soft:#1A1A1A;
--green-deep:#0B3D2E;--green-mid:#1A6B4A;--green-light:#2E8B57;--green-pale:#4CAF7D;--green-glow:#00FF88;
--warm-cream:#FFF8E7;--warm-sand:#E8D5B0;
--text-light:#FAFAFA;--text-dark:#1A1A1A;
--font-display:'Playfair Display',serif;
--font-body:'Montserrat',sans-serif;
--font-accent:'Cormorant Garamond',serif;
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-body);color:var(--text-light);background:#0B1A0F;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* ANIMATIONS */
@keyframes fadeInUp{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(-80px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(80px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeInScale{from{opacity:0;transform:scale(0.85)}to{opacity:1;transform:scale(1)}}
@keyframes floatSlow{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 20px rgba(212,168,83,0.3)}50%{box-shadow:0 0 45px rgba(212,168,83,0.7)}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}
@keyframes borderGlow{0%,100%{border-color:rgba(212,168,83,0.2)}50%{border-color:rgba(212,168,83,0.7)}}
@keyframes panBg{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes leafFall{0%{transform:translate(0,-10%) rotate(0deg);opacity:0}10%{opacity:.7}90%{opacity:.7}100%{transform:translate(var(--lx,80px),110vh) rotate(var(--lr,360deg));opacity:0}}
@keyframes glowPulse{0%,100%{text-shadow:0 0 20px rgba(212,168,83,0.4)}50%{text-shadow:0 0 40px rgba(212,168,83,0.8),0 0 80px rgba(212,168,83,0.3)}}
@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes morphBorder{0%,100%{border-radius:30% 70% 70% 30%/30% 30% 70% 70%}25%{border-radius:58% 42% 75% 25%/76% 46% 54% 24%}50%{border-radius:50% 50% 33% 67%/55% 27% 73% 45%}75%{border-radius:33% 67% 58% 42%/63% 68% 32% 37%}}
@keyframes countUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.reveal{opacity:0;transform:translateY(50px);transition:all 1s cubic-bezier(0.16,1,0.3,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-80px);transition:all 1s cubic-bezier(0.16,1,0.3,1)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(80px);transition:all 1s cubic-bezier(0.16,1,0.3,1)}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(0.8);transition:all 1s cubic-bezier(0.16,1,0.3,1)}
.reveal-scale.visible{opacity:1;transform:scale(1)}
.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}

/* POPUP */
.popup-overlay{position:fixed;inset:0;background:rgba(5,15,8,0.92);z-index:10000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(15px);transition:opacity .6s ease}
.popup-overlay.hidden{opacity:0;pointer-events:none}
.popup-card{max-width:620px;width:92%;background:linear-gradient(145deg,rgba(11,61,46,0.95),rgba(15,35,25,0.98));border:1px solid rgba(212,168,83,0.3);border-radius:24px;padding:50px 40px;position:relative;animation:fadeInScale .8s ease;box-shadow:0 0 60px rgba(0,255,136,0.08),0 30px 80px rgba(0,0,0,0.5);overflow:hidden}
.popup-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(212,168,83,0.06) 0%,transparent 50%);pointer-events:none}
.popup-card::after{content:'🌿';font-size:120px;position:absolute;top:-20px;right:-20px;opacity:.08;pointer-events:none}
.popup-close{position:absolute;top:18px;right:22px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.15);color:var(--text-light);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}
.popup-close:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}
.popup-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(212,168,83,0.15),rgba(212,168,83,0.05));border:1px solid rgba(212,168,83,0.3);border-radius:50px;padding:8px 20px;font-size:13px;color:var(--gold-light);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:24px;font-weight:600}
.popup-title{font-family:var(--font-display);font-size:clamp(26px,4vw,36px);font-weight:700;line-height:1.2;margin-bottom:20px;background:linear-gradient(135deg,var(--warm-cream),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.popup-text{font-size:15px;line-height:1.8;color:rgba(255,255,255,0.8);margin-bottom:30px;font-weight:300}
.popup-btn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--black);font-weight:700;font-size:15px;padding:16px 36px;border-radius:60px;border:none;cursor:pointer;letter-spacing:.5px;transition:all .4s;box-shadow:0 4px 25px rgba(212,168,83,0.3)}
.popup-btn:hover{transform:translateY(-3px);box-shadow:0 8px 40px rgba(212,168,83,0.5)}

/* HEADER / NAV */
.header{position:fixed;top:0;left:0;right:0;z-index:9000;padding:14px 40px;display:flex;align-items:center;justify-content:space-between;transition:all .5s;background:transparent;overflow:visible;box-sizing:border-box}
.header.scrolled{background:rgba(10,20,14,0.95);backdrop-filter:blur(20px);box-shadow:0 4px 30px rgba(0,0,0,0.3);padding:10px 40px;overflow:visible}
.header-logo{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--gold);letter-spacing:2px;display:flex;align-items:center;gap:10px;flex-shrink:0;white-space:nowrap}
.header-logo span{font-size:12px;color:rgba(255,255,255,0.5);font-family:var(--font-body);font-weight:400;letter-spacing:3px;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:32px}
.nav a{font-size:14px;font-weight:500;color:rgba(255,255,255,0.75);letter-spacing:1px;text-transform:uppercase;transition:all .3s;position:relative}
.nav a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--gold);transition:width .3s}
.nav a:hover{color:var(--gold)}
.nav a:hover::after{width:100%}
.nav-cta{background:linear-gradient(135deg,var(--gold),var(--gold-dark))!important;color:var(--black)!important;padding:10px 24px!important;border-radius:50px!important;font-weight:700!important;letter-spacing:.5px!important;animation:pulseGlow 3s infinite}
.nav-cta::after{display:none!important}
.nav-cta:hover{transform:scale(1.05)}
.mobile-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:99}
.mobile-toggle span{width:28px;height:2px;background:var(--text-light);transition:all .3s}
.mobile-menu{display:none}

/* HERO */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1440342359743-84fcb8c21f21?w=1920&q=80') center/cover no-repeat;animation:breathe 20s ease-in-out infinite}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,15,8,0.4) 0%,rgba(10,30,18,0.6) 40%,rgba(5,20,12,0.85) 100%)}
.hero-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-particle{position:absolute;width:4px;height:4px;background:rgba(212,168,83,0.4);border-radius:50%;animation:leafFall linear infinite}
.hero-content{position:relative;z-index:2;text-align:center;max-width:950px;padding:80px 24px 40px;display:flex;flex-direction:column;align-items:center}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(212,168,83,0.1);border:1px solid rgba(212,168,83,0.25);border-radius:50px;padding:10px 24px;font-size:12px;color:var(--gold-light);letter-spacing:3px;text-transform:uppercase;margin-bottom:30px;animation:fadeInUp 1s ease .2s both;backdrop-filter:blur(10px)}
.hero-title{font-family:var(--font-display);font-size:clamp(42px,7vw,88px);font-weight:900;line-height:1;margin-bottom:20px;animation:fadeInUp 1s ease .4s both;letter-spacing:3px}
.hero-title .gold{color:var(--gold);animation:glowPulse 4s infinite}
.hero-subtitle{font-family:var(--font-accent);font-size:clamp(20px,2.8vw,32px);font-weight:300;color:rgba(255,255,255,0.85);margin-bottom:24px;animation:fadeInUp 1s ease .6s both;letter-spacing:1px;font-style:italic}
.hero-desc{font-size:clamp(16px,1.6vw,20px);color:rgba(255,255,255,0.7);max-width:700px;margin:0 auto 40px;line-height:1.8;animation:fadeInUp 1s ease .8s both;font-weight:300}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;animation:fadeInUp 1s ease 1s both;width:100%;padding:0 10px}
.btn-primary{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--black);font-weight:700;font-size:15px;padding:18px 42px;border-radius:60px;border:none;cursor:pointer;transition:all .4s;letter-spacing:.5px;box-shadow:0 4px 30px rgba(212,168,83,0.3);min-width:180px;justify-content:center;white-space:nowrap}
.btn-primary:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 12px 50px rgba(212,168,83,0.5)}
.btn-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--text-light);font-weight:600;font-size:15px;padding:18px 42px;border-radius:60px;border:1px solid rgba(255,255,255,0.3);cursor:pointer;transition:all .4s;letter-spacing:.5px;backdrop-filter:blur(10px);min-width:140px;justify-content:center;white-space:nowrap}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-4px)}
.hero-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);animation:floatSlow 3s ease-in-out infinite}
.hero-scroll span{display:block;width:24px;height:40px;border:2px solid rgba(255,255,255,0.3);border-radius:12px;position:relative}
.hero-scroll span::after{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:4px;height:8px;background:var(--gold);border-radius:4px;animation:floatSlow 2s ease-in-out infinite}

/* MARQUEE */
.marquee-bar{background:linear-gradient(90deg,var(--green-deep),rgba(26,107,74,0.8),var(--green-deep));padding:14px 0;overflow:hidden;border-top:1px solid rgba(212,168,83,0.15);border-bottom:1px solid rgba(212,168,83,0.15)}
.marquee-track{display:flex;animation:marqueeScroll 30s linear infinite;white-space:nowrap}
.marquee-item{display:inline-flex;align-items:center;gap:12px;padding:0 40px;font-family:var(--font-accent);font-size:18px;color:rgba(255,255,255,0.6);letter-spacing:2px;font-weight:400}
.marquee-item .dot{width:6px;height:6px;background:var(--gold);border-radius:50%}

/* SECTIONS BASE */
.section{padding:100px 5%;position:relative;overflow:hidden}
.section-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-weight:600;margin-bottom:16px}
.section-label .line{width:40px;height:1px;background:var(--gold)}
.section-title{font-family:var(--font-display);font-size:clamp(36px,5vw,64px);font-weight:800;line-height:1.1;margin-bottom:24px}
.section-subtitle{font-family:var(--font-accent);font-size:clamp(20px,2.5vw,28px);color:rgba(255,255,255,0.7);font-weight:300;line-height:1.6;max-width:700px;font-style:italic}
.container{max-width:1300px;margin:0 auto}

/* INICIO SECTION */
.inicio{background:linear-gradient(135deg,#0a1f14 0%,#0e2a1c 50%,#0b1a0f 100%);position:relative}
.inicio::after{content:'';position:absolute;inset:0;background:url('../imagenes/imagen_css_41.png') center/cover no-repeat;opacity:.06;filter:blur(3px);pointer-events:none}

.inicio-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.inicio-img{border-radius:20px;overflow:hidden;position:relative;box-shadow:0 30px 80px rgba(0,0,0,0.4)}
.inicio-img img{width:100%;height:auto;object-fit:contain;transition:transform 8s ease}
.inicio-img:hover img{transform:scale(1.1)}
.inicio-img::after{content:'';position:absolute;inset:0;border:1px solid rgba(212,168,83,0.2);border-radius:20px;pointer-events:none}
.inicio-text p{font-size:18px;line-height:2;color:rgba(255,255,255,0.75);margin-bottom:18px;font-weight:300}
.inicio-text p:first-of-type{font-family:var(--font-accent);font-size:26px;color:rgba(255,255,255,0.9);font-style:italic;border-left:3px solid var(--gold);padding-left:20px}
.gold-line{width:60px;height:3px;background:linear-gradient(90deg,var(--gold),transparent);margin:30px 0}

/* DIFERENCIAL */
.diferencial{background:linear-gradient(180deg,#0b1a0f 0%,#0d2518 50%,#0b1a0f 100%);position:relative}
.diferencial::before{content:'';position:absolute;inset:0;background:url('../imagenes/imagen_css_42.png') center/cover no-repeat;opacity:.1;filter:blur(2px);z-index:0}
.diferencial-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.diferencial-img{border-radius:24px;overflow:hidden;position:relative;box-shadow:0 30px 80px rgba(0,0,0,0.4)}
.diferencial-img img{width:100%;height:auto;object-fit:contain;transition:transform 8s}
.diferencial-img:hover img{transform:scale(1.08)}
.diferencial-img::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,26,15,0.5),transparent 40%);z-index:1;pointer-events:none}
.diferencial-cards{display:flex;flex-direction:column;gap:20px}
.dif-card{background:rgba(255,255,255,0.03);border:1px solid rgba(212,168,83,0.1);border-radius:16px;padding:28px 30px;transition:all .5s;position:relative;overflow:hidden}
.dif-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:0;background:var(--gold);transition:height .5s;border-radius:0 0 2px 2px}
.dif-card:hover{background:rgba(212,168,83,0.05);border-color:rgba(212,168,83,0.3);transform:translateX(8px)}
.dif-card:hover::before{height:100%}
.dif-card h4{font-family:var(--font-display);font-size:20px;font-weight:700;margin-bottom:10px;color:var(--gold-light)}
.dif-card p{font-size:16px;line-height:1.8;color:rgba(255,255,255,0.65);font-weight:300}

/* VISION */
.vision{padding:0;background:#070f0a;position:relative}

.vision-full{width:100%;min-height:100vh;background:url('../imagenes/imagen_css_43.png') center/cover;position:relative;display:flex;align-items:flex-end}
.vision-full::after{content:'';position:absolute;inset:0;background:none;pointer-events:none}
.vision-overlay{position:relative;z-index:2;width:100%;padding:60px 5%}
.vision-number{font-family:var(--font-display);font-size:clamp(80px,12vw,160px);font-weight:900;color:var(--gold);line-height:1;opacity:.9;text-shadow:0 0 60px rgba(212,168,83,0.3)}
.vision-number span{font-size:clamp(30px,4vw,50px);font-weight:400;color:rgba(255,255,255,0.5);margin-left:10px}
.vision-desc{max-width:800px;font-size:20px;line-height:1.8;color:rgba(255,255,255,0.7);margin-top:16px;font-weight:300}

/* ACTIVITIES */
.activities{background:linear-gradient(135deg,#0d2518,#0b1a0f);padding:100px 5%;position:relative}
.activities::before{content:'';position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1448375240586-882707db888b?w=1920&q=80') center/cover;opacity:.06}
.activities-scroll{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin-top:50px}
.activity-card{border-radius:16px;overflow:hidden;position:relative;height:400px;cursor:pointer;transition:all .5s}
.activity-card:hover{transform:translateY(-8px)}
.activity-card img{width:100%;height:100%;object-fit:cover;transition:transform 6s}
.activity-card:hover img{transform:scale(1.15)}
.activity-card .overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,0.8) 0%,transparent 60%);display:flex;align-items:flex-end;padding:20px;transition:all .4s}
.activity-card:hover .overlay{background:linear-gradient(0deg,rgba(11,61,46,0.9) 0%,rgba(11,61,46,0.3) 60%)}
.activity-card .overlay h4{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--text-light);line-height:1.3}
.activity-card .overlay .icon-emoji{font-size:28px;display:block;margin-bottom:8px}

/* AVANCE */
.avance{background:linear-gradient(180deg,#0b1a0f,#0a1510,#0b1a0f);padding:100px 5%}
.avance-grid{display:flex;justify-content:center;gap:30px;margin-top:50px;flex-wrap:wrap}
.video-placeholder{width:320px;height:540px;background:rgba(255,255,255,0.03);border:1px solid rgba(212,168,83,0.15);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:all .5s;cursor:pointer;position:relative;overflow:hidden}
.video-placeholder .video-thumbnail{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.3;transition:opacity .5s}
.video-placeholder:hover .video-thumbnail{opacity:.5}
.video-placeholder:hover{border-color:var(--gold);transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,0.4)}
.play-btn{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-dark));display:flex;align-items:center;justify-content:center;z-index:1;box-shadow:0 4px 30px rgba(212,168,83,0.3);transition:all .3s}
.play-btn:hover{transform:scale(1.1)}
.play-btn::after{content:'';width:0;height:0;border-style:solid;border-width:14px 0 14px 24px;border-color:transparent transparent transparent var(--black);margin-left:4px}
.video-label{font-size:16px;color:rgba(255,255,255,0.5);z-index:1;font-weight:500;letter-spacing:1px}
.video-modal-overlay{position:fixed;inset:0;background:rgba(5,10,8,0.95);z-index:10000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(15px)}
.video-modal-overlay.active{display:flex}
.video-modal-container{max-width:400px;width:95%;max-height:90vh;position:relative;border-radius:20px;overflow:hidden;background:#000}
.video-modal-container video{width:100%;display:block}
.video-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,0.6);border:1px solid rgba(255,255,255,0.3);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:all .3s}
.video-modal-close:hover{background:var(--gold);color:var(--black)}

/* UBICACION */
.ubicacion{background:linear-gradient(135deg,#0e2a1c,#0b1a0f);padding:100px 5%;position:relative}
.ubicacion-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ubicacion-map{border-radius:24px;overflow:hidden;background:rgba(255,255,255,0.03);border:1px solid rgba(212,168,83,0.15);position:relative;display:flex;align-items:center;justify-content:center}
.ubicacion-map .map-placeholder{font-family:var(--font-accent);font-size:20px;color:rgba(255,255,255,0.3);text-align:center;font-style:italic}
.ubicacion-map .map-placeholder p{margin-top:10px;font-size:14px;font-family:var(--font-body)}
.ubi-features{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.ubi-feat{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:16px;padding:24px;transition:all .4s}
.ubi-feat:hover{background:rgba(212,168,83,0.05);border-color:rgba(212,168,83,0.2);transform:translateY(-4px)}
.ubi-feat .emoji{font-size:32px;margin-bottom:12px;display:block}
.ubi-feat h4{font-size:17px;font-weight:700;margin-bottom:6px;color:var(--gold-light)}
.ubi-feat p{font-size:15px;color:rgba(255,255,255,0.55);line-height:1.5;font-weight:300}

/* INVERSION */
.inversion{background:linear-gradient(180deg,#0b1a0f 0%,#0d2518 30%,#0e2a1c 50%,#0d2518 70%,#0b1a0f 100%);padding:100px 5%;position:relative}
.inversion::before{content:'';position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1511497584788-876760111969?w=1920&q=80') center/cover;opacity:.05}
.inv-models{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;margin-bottom:60px}
.inv-model{background:rgba(255,255,255,0.03);border:1px solid rgba(212,168,83,0.12);border-radius:20px;padding:36px 30px;text-align:center;transition:all .5s;position:relative;overflow:hidden}
.inv-model::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:var(--gold);border-radius:0 0 4px 4px}

.inv-model .emoji{font-size:40px;margin-bottom:16px;display:block}
.inv-model h4{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:12px;color:var(--gold-light)}
.inv-model p{font-size:16px;color:rgba(255,255,255,0.6);line-height:1.7;font-weight:300}

.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.price-card{background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));border:2px solid rgba(212,168,83,0.4);border-radius:20px;padding:36px 24px;text-align:center;position:relative;transition:all .5s;overflow:hidden}
.price-card::after{content:'';position:absolute;inset:0;border-radius:20px;background:linear-gradient(180deg,rgba(212,168,83,0.05),transparent);opacity:0;transition:opacity .5s}
.price-card:hover{border-color:var(--gold);transform:translateY(-10px);box-shadow:0 25px 70px rgba(212,168,83,0.12)}
.price-card:hover::after{opacity:1}
.price-card.hot{border-color:rgba(212,168,83,0.4)}
.price-card.hot .hot-badge{display:block}
.hot-badge{display:none;position:absolute;top:16px;right:16px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-size:10px;padding:4px 12px;border-radius:20px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;z-index:2}
.price-amount{font-family:var(--font-display);font-size:clamp(28px,3vw,38px);font-weight:900;color:var(--gold);margin:16px 0 8px;position:relative;z-index:1}
.price-amount small{font-size:14px;font-weight:400;color:rgba(255,255,255,0.4)}
.price-label{font-size:13px;color:rgba(255,255,255,0.5);font-weight:500;margin-bottom:16px;position:relative;z-index:1}
.price-details{list-style:none;text-align:left;margin-top:16px;position:relative;z-index:1}
.price-details li{font-size:15px;color:rgba(255,255,255,0.6);padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.04);display:flex;align-items:center;gap:8px;font-weight:300}
.price-details li .check{color:var(--green-pale);font-size:16px}
.inv-cta{text-align:center;margin-top:50px}
.inv-cta p{font-family:var(--font-accent);font-size:20px;color:rgba(255,255,255,0.7);margin-bottom:28px;font-style:italic;max-width:700px;margin-left:auto;margin-right:auto}

/* GLAMPING TYPES */
.glamping{background:linear-gradient(180deg,#0b1a0f,#0d2518,#0b1a0f);padding:100px 5%;position:relative}
.glamping::before{content:'';position:absolute;inset:0;background:url('../imagenes/imagen_css_44.png') center/cover no-repeat;opacity:.12}
.glamping::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,26,15,0.92),rgba(13,37,24,0.88),rgba(11,26,15,0.92))}
.glamping .container{position:relative;z-index:2}
.glamping-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.glamp-card{border-radius:20px;overflow:hidden;position:relative;height:450px;cursor:pointer;transition:all .6s;border:1px solid rgba(212,168,83,0.1)}
.glamp-card:hover{transform:translateY(-10px);border-color:var(--gold);box-shadow:0 30px 80px rgba(0,0,0,0.4)}
.glamp-card img{width:100%;height:100%;object-fit:cover;transition:transform 8s}
.glamp-card:hover img{transform:scale(1.12)}
.glamp-info{position:absolute;bottom:0;left:0;right:0;padding:30px;background:linear-gradient(0deg,rgba(0,0,0,0.9) 0%,transparent);z-index:2}
.glamp-info h4{font-family:var(--font-display);font-size:30px;font-weight:700;margin-bottom:8px;color:var(--gold-light)}
.glamp-info p{font-size:16px;color:rgba(255,255,255,0.65);line-height:1.6;font-weight:300}

/* NOSOTROS / FK */
.nosotros{background:linear-gradient(135deg,#0e2a1c,#0b1a0f);padding:100px 5%;position:relative}
.nosotros::before{content:'';position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1448375240586-882707db888b?w=1920&q=80') center/cover no-repeat;opacity:.08}
.nosotros::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,61,46,0.85),rgba(10,26,15,0.9));pointer-events:none}
.nosotros .container{position:relative;z-index:2}
.nosotros-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.nosotros-img{border-radius:20px;overflow:hidden;height:560px;box-shadow:0 30px 80px rgba(0,0,0,0.4);position:relative}
.nosotros-img img{width:100%;height:100%;object-fit:cover}
.nosotros-img::after{content:'';position:absolute;inset:0;border:1px solid rgba(212,168,83,0.15);border-radius:20px;pointer-events:none}
.nosotros-text{font-size:18px;line-height:2;color:rgba(255,255,255,0.7);font-weight:300}
.nosotros-year{font-family:var(--font-display);font-size:60px;font-weight:900;color:var(--gold);opacity:.3;margin-bottom:10px}
.nosotros-grid{position:relative;z-index:2}

/* DOCUMENTOS */
.documentos{background:#0b1a0f;padding:80px 5%}
.doc-carousel-wrapper{position:relative;margin-top:40px}
.doc-carousel{display:flex;gap:20px;overflow-x:auto;padding:10px 0 20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gold) rgba(255,255,255,0.05)}
.doc-carousel::-webkit-scrollbar{height:6px}
.doc-carousel::-webkit-scrollbar-track{background:rgba(255,255,255,0.05);border-radius:3px}
.doc-carousel::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}
.doc-thumb{min-width:220px;height:300px;border-radius:16px;overflow:hidden;position:relative;cursor:pointer;border:1px solid rgba(212,168,83,0.12);transition:all .5s;scroll-snap-align:start;flex-shrink:0}
.doc-thumb:hover{border-color:var(--gold);transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,0.4)}
.doc-thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.doc-thumb::after{content:'';position:absolute;bottom:0;left:0;right:0;height:75%;background:linear-gradient(0deg,rgba(5,5,5,1) 0%,rgba(5,5,5,0.85) 35%,rgba(5,5,5,0.4) 60%,transparent 100%);pointer-events:none}
.doc-thumb-label{position:absolute;bottom:16px;left:16px;right:16px;z-index:2;font-size:16px;color:rgba(255,255,255,0.95);text-align:center;font-weight:600;line-height:1.4;text-shadow:0 2px 8px rgba(0,0,0,0.8)}
.doc-thumb-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:48px;height:48px;border-radius:50%;background:rgba(212,168,83,0.15);border:1px solid rgba(212,168,83,0.3);display:flex;align-items:center;justify-content:center;opacity:0;transition:all .4s;backdrop-filter:blur(6px)}
.doc-thumb:hover .doc-thumb-icon{opacity:1}
.doc-thumb-icon::after{content:'🔍';font-size:20px}
.doc-disclaimer{text-align:center;margin-top:30px;font-family:var(--font-accent);font-size:18px;color:rgba(255,255,255,0.5);font-style:italic}
.doc-disclaimer a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}

/* DOC PREVIEW MODAL */
.doc-preview-overlay{position:fixed;inset:0;background:rgba(5,10,8,0.95);z-index:10000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(15px)}
.doc-preview-overlay.active{display:flex}
.doc-preview-container{max-width:900px;width:95%;max-height:90vh;position:relative}
.doc-preview-close{position:absolute;top:-50px;right:0;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;z-index:2}
.doc-preview-close:hover{background:var(--gold);color:var(--black)}
.doc-preview-img{width:100%;border-radius:16px;position:relative;overflow:hidden}
.doc-preview-img img{width:100%;display:block;border-radius:16px}
.doc-preview-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(0deg,rgba(5,5,5,1) 0%,rgba(5,5,5,0.9) 30%,rgba(5,5,5,0.5) 60%,transparent 100%);pointer-events:none}
.doc-preview-cta{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;text-align:center;white-space:nowrap}
.doc-preview-cta p{font-size:15px;color:rgba(255,255,255,0.8);margin-bottom:12px}
.doc-preview-cta a{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--black);font-weight:700;font-size:13px;padding:12px 28px;border-radius:50px;transition:all .3s}
.doc-preview-cta a:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(212,168,83,0.4)}

/* MODAL PREVIEW - handled by doc-preview-overlay above */

/* OXAPAMPA */
.oxapampa{background:linear-gradient(135deg,#0d2518,#0b1a0f);padding:100px 5%}
.oxapampa-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.oxapampa-img{border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,0.4)}
.oxapampa-img img{width:100%;height:auto;object-fit:contain}

/* CONTACTO */
.contacto{background:linear-gradient(180deg,#0b1a0f,#0e2a1c,#0b1a0f);padding:100px 5%;position:relative}
.contacto::before{content:'';position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1536250853075-e8504ee040b9?w=1920&q=80') center/cover;opacity:.04}
.contacto-card{max-width:600px;margin:40px auto 0;background:rgba(255,255,255,0.03);border:1px solid rgba(212,168,83,0.12);border-radius:24px;padding:48px 40px;position:relative;z-index:1;backdrop-filter:blur(10px)}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:13px;color:rgba(255,255,255,0.5);margin-bottom:8px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}
.form-group input{width:100%;padding:16px 20px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:12px;color:var(--text-light);font-size:15px;font-family:var(--font-body);transition:all .3s;outline:none}
.form-group input:focus{border-color:var(--gold);box-shadow:0 0 20px rgba(212,168,83,0.1)}
.form-group input::placeholder{color:rgba(255,255,255,0.2)}
.form-btns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.btn-submit{padding:16px;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all .4s;letter-spacing:.5px;text-transform:uppercase;font-family:var(--font-body)}
.btn-enviar{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--black)}
.btn-enviar:hover{transform:translateY(-3px);box-shadow:0 10px 40px rgba(212,168,83,0.3)}
.btn-whatsapp{background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}
.btn-whatsapp:hover{transform:translateY(-3px);box-shadow:0 10px 40px rgba(37,211,102,0.3)}

/* FAQ */
.faq{background:#0b1a0f;padding:100px 5%}
.faq-list{max-width:800px;margin:40px auto 0}
.faq-item{border-bottom:1px solid rgba(255,255,255,0.06);overflow:hidden}
.faq-question{width:100%;padding:24px 0;background:none;border:none;color:var(--text-light);font-size:20px;font-weight:600;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-body);transition:color .3s}
.faq-question:hover{color:var(--gold)}
.faq-question .arrow{width:24px;height:24px;border:1px solid rgba(255,255,255,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .4s;font-size:12px;flex-shrink:0}
.faq-item.open .faq-question .arrow{transform:rotate(180deg);border-color:var(--gold);background:rgba(212,168,83,0.1)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .5s ease}
.faq-item.open .faq-answer{max-height:200px}
.faq-answer p{padding:0 0 24px;font-size:17px;color:rgba(255,255,255,0.6);line-height:1.7;font-weight:300}

/* FOOTER */
.footer{background:linear-gradient(180deg,#070f0a,#050a07);padding:60px 5% 30px;border-top:1px solid rgba(212,168,83,0.1)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-brand{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--gold);margin-bottom:16px}
.footer-brand-desc{font-size:14px;color:rgba(255,255,255,0.4);line-height:1.7;max-width:300px}
.footer-col h5{font-size:13px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:16px}
.footer-col a,.footer-col p{display:block;font-size:13px;color:rgba(255,255,255,0.45);line-height:2;transition:color .3s}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.05);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.25)}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
.inicio-grid,.diferencial-grid,.ubicacion-grid,.nosotros-grid,.oxapampa-grid{grid-template-columns:1fr}
.activities-scroll{grid-template-columns:repeat(4,1fr)}
.pricing-grid{grid-template-columns:repeat(2,1fr)}
.inv-models{grid-template-columns:repeat(2,1fr)}
.glamping-grid{grid-template-columns:repeat(2,1fr)}
.doc-carousel .doc-thumb{min-width:200px}
.footer-grid{grid-template-columns:repeat(2,1fr)}
.inicio-img,.diferencial-img,.nosotros-img,.ubicacion-map,.oxapampa-img{height:auto;min-height:280px}
}
@media(max-width:768px){
.nav{display:none}
.nav.mobile-open{display:flex;position:fixed;inset:0;background:rgba(10,20,14,0.98);flex-direction:column;align-items:center;justify-content:center;gap:28px;z-index:8999}
.mobile-toggle{display:flex}
.hero-title{letter-spacing:1px}
.activities-scroll{grid-template-columns:repeat(2,1fr)}
.pricing-grid{grid-template-columns:1fr}
.inv-models{grid-template-columns:1fr}
.glamping-grid{grid-template-columns:1fr}
.avance-grid{flex-direction:column;align-items:center}
.video-placeholder{width:280px;height:480px}
.doc-carousel .doc-thumb{min-width:180px;height:260px}
.footer-grid{grid-template-columns:1fr}
.ubi-features{grid-template-columns:1fr}
.popup-card{padding:36px 24px}
.header{padding:12px 20px}
.section{padding:70px 5%}
.form-btns{grid-template-columns:1fr}
}
@media(max-width:480px){
.activities-scroll{grid-template-columns:1fr}
.activity-card{height:300px;max-width:none}
.doc-carousel .doc-thumb{min-width:160px;height:230px}
}

/* OXAPAMPA MARQUEE */
.oxa-marquee{padding:14px 0;overflow:hidden;background:linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold-dark));position:relative;z-index:2}
.oxa-marquee-track{display:flex;animation:marqueeScroll 20s linear infinite;white-space:nowrap}
.oxa-marquee-item{display:inline-flex;align-items:center;gap:16px;padding:0 30px;font-family:var(--font-display);font-size:16px;color:var(--black);letter-spacing:4px;font-weight:800;text-transform:uppercase}
.oxa-marquee-item .oxa-dot{width:8px;height:8px;background:var(--black);border-radius:50%;opacity:.5}
/* VISION INTEGRATED */
.vision-integrated{position:relative;width:100%;overflow:hidden}
.vision-integrated img{width:100%;height:auto;display:block}
.vision-integrated .vision-text-overlay{position:absolute;bottom:30px;left:40px;z-index:2;pointer-events:none}
.vision-integrated .vision-text-overlay .section-label{color:rgba(255,255,255,0.7);font-size:13px}
.vision-integrated .vision-text-overlay .section-label .line{background:rgba(255,255,255,0.4)}
.vision-integrated .vision-number{font-family:var(--font-display);font-size:clamp(50px,8vw,90px);font-weight:900;color:rgba(255,255,255,0.85);line-height:1;text-shadow:0 4px 30px rgba(0,0,0,0.6),0 2px 8px rgba(0,0,0,0.4)}
.vision-integrated .vision-number span{font-size:0.45em;vertical-align:super;color:var(--gold);text-shadow:0 2px 15px rgba(212,168,83,0.4)}
.vision-integrated .vision-desc{max-width:500px;font-size:15px;line-height:1.7;color:rgba(255,255,255,0.75);margin-top:10px;text-shadow:0 2px 10px rgba(0,0,0,0.7)}
@media(max-width:768px){
.vision-integrated .vision-text-overlay{bottom:20px;left:20px;right:20px}
.vision-integrated .vision-desc{font-size:13px;max-width:100%}
}


@keyframes plantSlideRight{
  from{transform:translateX(60px) rotate(15deg);opacity:0}
  to{transform:translateX(0) rotate(0);opacity:1}
}

/* Individual leaf positions and delays */
.plant-leaf:nth-child(1){top:5%;animation-delay:.1s}
.plant-leaf:nth-child(2){top:25%;animation-delay:.2s}
.plant-leaf:nth-child(3){top:45%;animation-delay:.3s}
.plant-leaf:nth-child(4){top:65%;animation-delay:.15s}
.plant-leaf:nth-child(5){top:85%;animation-delay:.25s}

.jungle-deco .plant-left .plant-leaf{animation:leafFadeLeft .6s ease-out forwards;opacity:0}
.jungle-deco .plant-right .plant-leaf{animation:leafFadeRight .6s ease-out forwards;opacity:0}
.jungle-deco .plant-left.visible .plant-leaf{animation:leafFadeLeft .6s ease-out forwards}
.jungle-deco .plant-right.visible .plant-leaf{animation:leafFadeRight .6s ease-out forwards}

@keyframes leafFadeLeft{
  from{transform:translateX(-40px) rotate(-20deg);opacity:0}
  to{transform:translateX(0) rotate(0);opacity:1}
}
@keyframes leafFadeRight{
  from{transform:translateX(40px) rotate(20deg);opacity:0}
  to{transform:translateX(0) rotate(0);opacity:1}
}

@media(max-width:768px){
  .jungle-deco .plant-left,.jungle-deco .plant-right{width:60px}
}

/* Right leaves slide in from right */
@keyframes leafInRight{
  from{transform:translateX(100%) rotate(var(--rot-from,25deg));opacity:0}
  to{transform:translateX(0) rotate(var(--rot-to,0deg));opacity:1}
}

@media(max-width:768px){
  .jungle-deco .plant-left,.jungle-deco .plant-right{width:70px}
  .jungle-deco .plant-left svg,.jungle-deco .plant-right svg{transform:scale(.6)}
}

/* JUNGLE PLANT DECORATIONS */
.jungle-deco .plant-img-left,.jungle-deco .plant-img-right{position:absolute;top:0;height:100%;width:200px;pointer-events:none;z-index:3;opacity:0;transition:opacity 1s ease-out,transform 1s ease-out}
.jungle-deco .plant-img-left{left:0;transform:translateX(-50px)}
.jungle-deco .plant-img-right{right:0;transform:translateX(50px)}
.jungle-deco .plant-img-left img,.jungle-deco .plant-img-right img{height:100%;width:100%;object-fit:cover;object-position:left top}
.jungle-deco .plant-img-right img{object-position:right top}
.jungle-deco .plant-img-left.show{opacity:.9;transform:translateX(0)}
.jungle-deco .plant-img-right.show{opacity:.9;transform:translateX(0)}
@media(max-width:768px){
.jungle-deco .plant-img-left,.jungle-deco .plant-img-right{width:90px}
}

/* INV-MODEL SHIMMER EFFECT - ALWAYS ON */
.inv-model{overflow:hidden;border-color:rgba(212,168,83,0.3) !important;box-shadow:0 0 15px rgba(212,168,83,0.08) !important}
.inv-model::after{content:'';position:absolute;top:0;left:-150%;width:150%;height:100%;background:linear-gradient(120deg,transparent 0%,transparent 30%,rgba(232,200,106,0.04) 36%,rgba(232,200,106,0.1) 42%,rgba(255,220,130,0.18) 50%,rgba(212,168,83,0.1) 58%,rgba(232,200,106,0.04) 64%,transparent 70%,transparent 100%);pointer-events:none;z-index:1;animation:shimmerWave 2s linear infinite}
.inv-model>*{position:relative;z-index:2}
@keyframes shimmerWave{0%{left:-150%}100%{left:150%}}

.price-card.green-highlight{border:2px solid rgba(80,200,120,0.6);box-shadow:0 0 20px rgba(80,200,120,0.1)}
.price-card.green-highlight:hover{border-color:rgba(80,200,120,0.9);box-shadow:0 25px 70px rgba(80,200,120,0.15)}

/* ATRACTIVOS */
.atractivos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:50px}
.atractivo-card{border-radius:16px;overflow:hidden;position:relative;height:420px;cursor:pointer;transition:all .5s}
.atractivo-card:hover{transform:translateY(-8px)}
.atractivo-card img{width:100%;height:100%;object-fit:cover;transition:transform 6s}
.atractivo-card:hover img{transform:scale(1.1)}
.atractivo-card .overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,0.8) 0%,transparent 60%);display:flex;align-items:flex-end;padding:20px}
.atractivo-card .overlay h4{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--text-light);line-height:1.3}
.atractivo-card.grayscale img{filter:grayscale(1) brightness(0.6)}
.atractivo-card.grayscale .prox-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;background:rgba(0,0,0,0.7);border:1px solid rgba(212,168,83,0.4);padding:12px 28px;border-radius:8px;font-family:var(--font-display);font-size:18px;color:var(--gold);letter-spacing:4px;text-transform:uppercase}