/* style.css - Pachamama Investments landing */
:root{
  --bg:#fbfaf6;
  --card:#ffffff;
  --green:#2f6b3b;
  --accent:#bfa35a;
  --muted:#6b6b6b;
  --glass: rgba(255,255,255,0.8);
  --radius: 14px;
  --container: 1160px;
  --max-width: 1100px;
  --gap: 20px;
  --shadow: 0 10px 30px rgba(20,20,20,0.08);
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:#142017;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
}

/* Container */
.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 22px;
}

/* Header */
.site-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:80;
  background: linear-gradient(180deg, rgba(255,255,255,0.85), rgba(255,255,255,0.55));
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 22px;
}
.brand img{height:58px}
.main-nav a{
  margin-left:18px;
  color:#2b3b2b;
  text-decoration:none;
  font-weight:600;
  opacity:0.95;
}
.main-nav a:hover{color:var(--green)}
.menu-toggle{display:none;background:transparent;border:none;font-size:22px}

/* Hero */
.hero{
  position:relative;
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:70px;
  overflow:hidden;
}
.hero-video{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  min-width:100%;
  min-height:100%;
  width:auto; height:auto;
  z-index:0;
  object-fit:cover;
  filter: contrast(0.95) saturate(0.95) brightness(0.9);
}
.hero-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(14,24,14,0.28), rgba(14,24,14,0.48));
  z-index:1;
}
.hero-content{
  position:relative;
  z-index:2;
  max-width:900px;
  padding:30px;
  color:#fff;
  text-align:center;
}
.hero-logo{width:140px; margin:0 auto 12px; display:block}
.hero h1{
  font-size:2.4rem;
  margin:8px 0 8px;
  color:var(--accent);
  letter-spacing:0.6px;
}
.lead{
  font-size:1.05rem;
  color:rgba(255,255,255,0.92);
  margin-bottom:18px;
}

/* Buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; text-decoration:none; padding:12px 18px; border-radius:10px; font-weight:700; transition:all .22s ease}
.btn.primary{background:linear-gradient(90deg,var(--green),#2e7a43); color:#fff; box-shadow:0 8px 22px rgba(46,122,67,0.12)}
.btn.ghost{background:transparent; border:2px solid rgba(255,255,255,0.14); color:#fff; margin-left:12px}
.btn.outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.2);margin-left:12px}

/* Info section */
.info{ margin-top:40px; padding:54px 26px; border-radius:var(--radius); background:var(--card); box-shadow:var(--shadow); }
.info h2{ color:var(--green); font-size:1.5rem; margin-bottom:14px }
.info p{ color:var(--muted); font-size:1rem; margin-bottom:18px }

/* Cards */
.cards{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:18px;
  margin-top:18px;
}
.card{background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(250,250,246,0.97)); padding:18px; border-radius:12px; box-shadow:0 6px 18px rgba(10,10,10,0.04)}
.card h3{margin-bottom:8px; color:#253a28}
.card p{color:var(--muted); font-size:.95rem}

/* Projects */
.projects{ padding:42px 26px }
.project-list{ display:grid; grid-template-columns: repeat(3,1fr); gap:18px; margin-top:18px }
.project{ background:var(--card); border-radius:12px; overflow:hidden; box-shadow:var(--shadow) }
.project img{ width:100%; height:200px; object-fit:cover; display:block }
.project figcaption{ padding:12px; font-size:.95rem; color:var(--muted) }

/* Final CTA */
.final-cta{ margin:36px auto; padding:36px; text-align:center; border-radius:12px; background:linear-gradient(180deg, #fff, #fbfbf8); box-shadow:var(--shadow) }
.final-cta h2{ color:var(--green); margin-bottom:8px }
.final-cta p{ color:var(--muted); margin-bottom:16px }
.btn.large{ padding:14px 24px; font-size:1.05rem }

/* Footer */
.site-footer{ padding:26px 18px; background:linear-gradient(180deg,#fbfbf7,#f4f4ed); border-top:1px solid rgba(0,0,0,0.03) }
.footer-inner{ display:flex; align-items:center; justify-content:space-between; gap:12px; max-width:var(--max-width) }
.footer-logo{height:48px}
.footer-inner p{ color:var(--muted); margin:6px 0 }
.socials a{ margin-left:8px; text-decoration:none; color:var(--muted); font-weight:700 }

/* Floating WhatsApp */
.float-whatsapp{
  position:fixed; right:20px; bottom:20px; z-index:2000;
  background:linear-gradient(135deg,#25d366,#128c7e); color:#fff; width:62px; height:62px; display:flex; align-items:center; justify-content:center; border-radius:50%; box-shadow:0 12px 30px rgba(18,120,126,0.2); text-decoration:none; font-size:22px;
}

/* Modal */
.modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(6,8,6,0.45); z-index:3000; padding:20px }
.modal[aria-hidden="false"]{ display:flex }
.modal-content{ width:100%; max-width:560px; background:#fff; padding:20px; border-radius:12px; position:relative; box-shadow:0 20px 60px rgba(10,10,10,0.2) }
.modal-close{ position:absolute; top:10px; right:12px; background:transparent; border:none; font-size:24px }
.modal-content h3{ margin-top:0; color:var(--green) }
.modal-content form label{ display:block; margin-bottom:10px; color:#222; font-weight:600 }
.modal-content input, .modal-content textarea{ width:100%; padding:10px; margin-top:6px; border-radius:8px; border:1px solid #e2e2e2 }

/* Mobile nav */
.mobile-nav{ display:none; position:fixed; top:66px; right:12px; left:12px; background:#fff; z-index:120; border-radius:12px; padding:12px; box-shadow:0 10px 40px rgba(0,0,0,0.08) }
.mobile-nav a{ display:block; padding:10px 6px; text-decoration:none; color:#142017; font-weight:700 }

/* Responsive adjustments */
@media (max-width:980px){
  .cards, .project-list { grid-template-columns: repeat(2,1fr) }
  .hero h1{ font-size:2rem }
}
@media (max-width:640px){
  .project-list, .cards { grid-template-columns: 1fr }
  .main-nav{ display:none }
  .menu-toggle{ display:block }
  .hero h1{ font-size:1.6rem }
  .hero-logo{ width:120px }
  .header-inner{ padding:10px 16px }
  .hero-video{ display:none } /* ahorro de datos: móvil usa poster */
  .hero{ height:70vh; padding-top:54px }
}
