:root {
  --primary: #111827;   /* charcoal */
  --accent: #3b82f6;    /* main coral */
  --accent-soft: #fb7185;  /* lighter coral */
  --accent-light: #ffe4e6; /* background tint */

  --bg: #f9fafb;
  --bg2: #f1f5f9;

  --text: #111827;
  --muted: #6b7280;
}
* {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: 'Inter', sans-serif;
      background: var(--bg);
      color: var(--text);
      text-decoration: none;
    }

    a {
  text-decoration: none; color: var(--text);
}

    /* ----- HEADER ---------  */
    header {
      position: sticky;
      top: 0;
      backdrop-filter: blur(10px);
      background: #f1f5f9;
      /* background: rgba(255,255,255,0.8); */
      /* border-bottom: 1px solid var(--bg2); */
      z-index: 10000;
    }

    .container {
      max-width: 1100px;
      margin: auto;
      padding: 20px;
    }

    .nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .logo {
      font-weight: 600;
      font-size: 1.4rem;
    }

    nav {
      display: flex;
      align-items: center;
    }

    nav .menu-item {
      position: relative;
      margin-left: 20px;
    }

    nav a {
      text-decoration: none;
      color: var(--text);
      font-weight: 500;
    }

    nav a:hover {
      color: var(--accent);
    }

    .dropdown {
      position: absolute;
      top: 100%;
      right: 0;
      left: auto;
      background: var(--bg2);
      /* border: 1px solid var(--text); */
      border-radius: 10px;
      padding: 10px 0;
      display: none;
      min-width: 200px;
      box-shadow: 0 10px 30px var(--primary);
      z-index: 9999;
    }

    .dropdown a {
      display: block;
      padding: 10px 15px;
      color: var(--text);
    }

    .dropdown a:hover {
      background: var(--bg);
    }

    .menu-item:hover .dropdown,
    .dropdown:hover {
      display: block;
    }

    nav a:hover {
      color: var(--accent);
    }


/* ----- FOOTER --------- */

    footer {
      background: var(--bg2);
      border-top: 1px solid var(--bg);
      padding: 40px 20px;
    }

    .footer-grid {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 20px;
    }

    .footer-grid div {
      max-width: 300px;
    }

/* ------ SECTION ---------- */

  .hero {
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: 40px;
      align-items: center;
      /* padding: 150px 20px; */
      padding: 0px 20px;
    }

     .hero h1 {
      font-size: 3rem;
      letter-spacing: -0.02em;
      margin-bottom: 40px;
    }

    .hero p {
      /* color: var(--muted); */
      font-size: 1.1rem;
      margin-bottom: 30px;
    }
/* Base button */
.buttons a {
  position: relative;
  display: inline-block;

  padding: 12px 22px;
  border-radius: 0.75rem;

  text-decoration: none;
  font-weight: 500;

  /* background: var(--bg);
  color: var(--text); */

  /* border: 1px solid #e5e7eb; */

  overflow: hidden;
  transition: all 0.3s ease;
}


/* Gradient overlay (like cards) */
.buttons a::after {
  content: "";
  position: absolute;
  inset: 0;
}

/* Content above overlay */
.buttons a span {
  position: relative;
  z-index: 2;
}


/* =========================
   PRIMARY BUTTON
========================= */
.primary {
  background: var(--accent);
  color: var(--text);
}

.primary:hover {
  transform: translateY(-2px);
  border-color: var(--primary);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

.primary:hover::after {
  opacity: 1;
}


/* =========================
   SECONDARY BUTTON
========================= */
.secondary {
  background: transparent;
  border: 1px solid #e5e7eb;
  color: var(--text);
}

.secondary:hover {
  transform: translateY(-2px);
  border-color: var(--primary);
  background: var(--bg2);
}

.secondary:hover::after {
  opacity: 0.6;
}

  #index_1 {
  /* Establece la imagen */
    background-image: 
    linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), 
    url('/static/index-header.jpg');

  /* Ajuste perfecto: Cubre toda la sección sin estirarse */
  background-size: cover;

  /* Centra la imagen para que lo más importante se vea siempre */
  background-position: center;

  /* Evita que la imagen se repita si la sección es muy grande */
  background-repeat: no-repeat;

  height: 550px;              /* 🔑 fixed, consistent */
  display: flex;              /* 🔑 important */
  align-items: center;   
}

 #index_2 {
  /* Establece la imagen */
    background-image: 
    linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), 
    url('/static/t_watanabe-hong-kong-3902841.jpg');

  /* Ajuste perfecto: Cubre toda la sección sin estirarse */
  background-size: cover;

  /* Centra la imagen para que lo más importante se vea siempre */
  background-position: center;

  /* Evita que la imagen se repita si la sección es muy grande */
  background-repeat: no-repeat;

  height: 550px;              /* 🔑 fixed, consistent */
  display: flex;              /* 🔑 important */
  align-items: center;     
}

 #index_3 {
  /* Establece la imagen */
    background-image: 
    linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), 
    url('/static/dji-agras-agriculture-4208863.jpg');

  /* Ajuste perfecto: Cubre toda la sección sin estirarse */
  background-size: cover;

  /* Centra la imagen para que lo más importante se vea siempre */
  background-position: center;

  /* Evita que la imagen se repita si la sección es muy grande */
  background-repeat: no-repeat;

  height: 550px;              /* 🔑 fixed, consistent */
  display: flex;              /* 🔑 important */
  align-items: center;   
}
 #index_4 {
  /* Establece la imagen */
    background-image: 
    linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), 
    url('/static/axonite-cyber-2377718.jpg');

  /* Ajuste perfecto: Cubre toda la sección sin estirarse */
  background-size: cover;

  /* Centra la imagen para que lo más importante se vea siempre */
  background-position: center;

  /* Evita que la imagen se repita si la sección es muy grande */
  background-repeat: no-repeat;

  height: 550px;              /* 🔑 fixed, consistent */
  display: flex;              /* 🔑 important */
  align-items: center;   
}
 #index_5 {
  /* Establece la imagen */
    background-image: 
    linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), 
    url('/static/jachaleon-view-2307344.jpg');

  /* Ajuste perfecto: Cubre toda la sección sin estirarse */
  background-size: cover;

  /* Centra la imagen para que lo más importante se vea siempre */
  background-position: center;

  /* Evita que la imagen se repita si la sección es muy grande */
  background-repeat: no-repeat;

  height: 550px;              /* 🔑 fixed, consistent */
  display: flex;              /* 🔑 important */
  align-items: center;   
}

    .hero-visual {
      height: 400px;
      border-radius: 20px;
      overflow: hidden;
    }

    /* .hero-visual {
  height: 300px;
  border-radius: 20px;
  overflow: hidden;
} */

.hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* ------- SERVICES --------- */

/* .services {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
} */

.services {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;

  align-items: stretch; /* ensures equal height */
}

/* .card-link {
  text-decoration: none;
  color: inherit;
} */

.card-link {
  display: block;
  height: 100%;
}

.card {
  height: 100%; /* 🔑 THIS makes all cards equal */
}

.card {
  position: relative;
  overflow: hidden;
  padding: 2rem;
  border-radius: 1.25rem;

  background: var(--bg);
  border: 1px solid #e5e7eb;

  /* min-height: 180px; */

  display: flex;
  flex-direction: column;
  justify-content: flex-end;

  transition: all 0.35s ease;
}

.card::before {
  content: "";
  position: absolute;
  inset: 0;

  background-size: cover;
  background-position: center;

  opacity: 0.15;
  transform: scale(1);
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.card::after {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      to right,
      rgba(17, 24, 39, 0.08),   /* subtle charcoal */
      rgba(255, 255, 255, 0.35) /* soft white */
    ),
    var(--bg2);

  opacity: 0.3;
  transition: opacity 0.35s ease;
}

/* =========================
   CONTENT
========================= */
.card h3,
.card p {
  position: relative;
  z-index: 2;
}

.card h3 {
  margin-bottom: 0.5rem;
  font-size: 1.3rem;
  color: var(--text);
  transition: color 0.3s ease;
}

.card p {
  font-size: 0.95rem;
  color: var(--muted);
}


/* =========================
   HOVER EFFECTS
========================= */
.card:hover {
  transform: translateY(-6px);
  /* border-color: var(--primary); */
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
}

.card:hover::before {
  /* opacity: 0.25; */
  transform: scale(1.05);
}

/* .card:hover::after {
  opacity: 0.5; 
} */

.card:hover h3 {
  color: var(--primary);
}


/* =========================
   BACKGROUND IMAGES
========================= */
/* .services .card-link:nth-child(1) .card::before {
  background-image: url("/app/static/index-services-1.jpeg");
}

.services .card-link:nth-child(2) .card::before {
  background-image: url("/app/static/index-services-2.jpeg");
}

.services .card-link:nth-child(3) .card::before {
  background-image: url("/app/static/index-services-3.jpeg");
}

.services .card-link:nth-child(4) .card::before {
  background-image: url("/app/static/index-services-3.jpeg");
}

/* Background image for this specific card */
/*.card-link-about .card::before {
  background-image: url("/app/static/james2.jpeg");
} */


    .section {
      /* padding: 60px 20px; */
      padding: 40px 20px;
    }

    .section h2 {
      font-size: 2rem;
      margin-bottom: 30px;
    }

    /* .services {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 20px;
    } */

    /* .card {
      background: var(--bg2);
      padding: 30px;
      border-radius: 16px;
      /* border: 1px solid var(--muted); */
      /* transition: all 0.3s ease; */
      /* box-shadow: 0 5px 5px var(--primary); */
    /* } */ 

    /* .card:hover {
      transform: translateY(-6px);
      box-shadow: 0 15px 40px var(--primary);
    } */


        /* .card-link {
  text-decoration: none;
  color: inherit;
  display: block;
} */

/* .card-link:hover .card {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 20px 50px var(--primary);
} */
.founder-card {
  display: grid;
  grid-template-columns: 1fr 180px; /* text | image */
  gap: 20px;
  align-items: center;

  grid-column: 1 / -1; /* full width */
}

.founder-card img {
  width: 180px;
  border-radius: 12px;
  flex-shrink: 0;
}

.founder-card > div {
  flex: 1;
}

    @media(max-width: 800px) {
      .hero {
        grid-template-columns: 1fr;
      }
    }

.split-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem; /* ⬅️ bigger space between text and image */
  padding: 60px 10%;
}

.split-section .text {
  flex: 1;
}

.split-section .text h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.split-section .text p {
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

.split-section .text button {
  padding: 10px 20px;
  border: none;
  background: #333;
  color: white;
  cursor: pointer;
  border-radius: 6px;
}

.split-section .image {
  flex: 1;
  display: flex;
  justify-content: center; /* keeps it nicely centered */
}

.split-section .image img {
  width: 70%; /* ⬅️ makes the image smaller */
  max-width: 350px; /* prevents it from getting too big */
  border-radius: 50%; /* keeps your circular style */
}

.text {
  padding: 2rem;
  border-radius: 1.25rem;
  border: 1px solid #e5e7eb;
  background:
    linear-gradient(
      to right,
      rgba(17, 24, 39, 0.08),   /* subtle charcoal */
      rgba(255, 255, 255, 0.35) /* soft white */
    ),
    var(--bg2);
  transition: opacity 0.35s ease;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
}

.text h3 {
  margin-bottom: 0.5rem;
  font-size: 1.3rem;
  color: var(--text);
  transition: color 0.3s ease;
}

.text p {
  font-size: 0.95rem;
  color: var(--muted);
}

/* 📱 Responsive */
@media (max-width: 768px) {
  .split-section {
    flex-direction: column;
    text-align: center;
  }
}


