/* ===== GSB AI Landing – FINAL ===== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');
:root{
  --gsb-green:#00e6c3;
  --gsb-dark:#0e0e0e;
  --gsb-light:#f6f7f8;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Montserrat',sans-serif;color:#101010;scroll-behavior:smooth;overflow-x:hidden}

/* ---------- HEADER ---------- */
header{background:rgba(14,14,14,.92);height:72px;position:sticky;top:0;z-index:1000;
       display:flex;align-items:center;justify-content:space-between;padding:0 24px}
header img{height:42px}
header nav ul{display:flex;gap:28px;list-style:none}
header nav a{color:#fff;text-decoration:none;font-weight:600;font-size:.9rem}
#lang-btn{background:none;border:2px solid var(--gsb-green);color:var(--gsb-green);
          padding:6px 18px;border-radius:24px;font-weight:600;font-size:.9rem;cursor:pointer;
          transition:.3s}
#lang-btn:hover{background:var(--gsb-green);color:#000}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center;
      text-align:center;color:#fff;padding:0 20px;overflow:hidden}
.hero video,.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
.hero .content{position:relative;z-index:2;max-width:860px}
.hero h1{font-size:2.9rem;font-weight:700;margin-bottom:18px}
@media(min-width:992px){.hero h1{font-size:3.6rem}}
.hero p{font-size:1.15rem;margin-bottom:32px}
.button{display:inline-block;padding:12px 36px;border-radius:32px;font-weight:600;
        background:var(--gsb-green);color:#000;text-decoration:none;transition:.25s}
.button:hover{transform:translateY(-4px);filter:brightness(.9)}

/* ---------- SECTIONS ---------- */
.section{max-width:1180px;margin:0 auto;padding:70px 20px}
.section.alt{background:var(--gsb-light)}
.section h2{text-align:center;font-size:2rem;font-weight:700;margin-bottom:46px}

/* Fade-up */
.fade-up{opacity:0;transform:translateY(40px);transition:all .8s ease-out}
.fade-up.visible{opacity:1;transform:none}

/* ---------- CAPABILITIES GRID ---------- */
.cap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:34px}
.cap-card{background:#fff;padding:36px;border-radius:14px;box-shadow:0 8px 22px rgba(0,0,0,.06);
          text-align:center;transition:.25s}
.cap-card:hover{transform:translateY(-6px);box-shadow:0 14px 28px rgba(0,0,0,.10)}
.cap-card img{width:64px;height:64px;margin-bottom:16px}
.cap-card h3{font-size:1.15rem;font-weight:600;margin-bottom:12px}
.cap-card p{font-size:.95rem;line-height:1.5}

/* ---------- EXTRA CHIPS ---------- */
.chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:42px}
.chips span{background:#fff;padding:8px 18px;border-radius:24px;font-size:.85rem;font-weight:600;
            box-shadow:0 4px 14px rgba(0,0,0,.05);transition:.25s}
.chips span:hover{transform:translateY(-4px);background:var(--gsb-green);color:#000}

/* ---------- SERVICES ---------- */
.services-banner{width:100%;max-width:1180px;height:420px;object-fit:cover;
                 margin:40px auto;border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.08)}
.services-list{columns:2;max-width:880px;margin:40px auto;font-size:1.05rem;line-height:1.55}
@media(max-width:700px){.services-list{columns:1;text-align:center}}

/* ---------- CTA ---------- */
.cta{background:var(--gsb-green);color:#000;text-align:center;padding:90px 20px}
.cta h2{font-size:2.2rem;font-weight:700;margin-bottom:14px}
.cta .button{background:#000;color:#fff}

/* ---------- WAVES ---------- */
.wave{height:90px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1920' height='90' viewBox='0 0 1920 90'%3E%3Cpath fill='%23ffffff' d='M0 0s384 90 960 90 960-90 960-90v90H0V0z'/%3E%3C/svg%3E") center/cover no-repeat}
.wave.flip{transform:rotate(180deg);margin-top:-1px}

/* ---------- FOOTER ---------- */
footer{background:#f5f5f5;text-align:center;padding:40px 0;font-size:.85rem;color:#666}

/* Idiomas */
#lang-es{display:none}
