    :root {
      --verde:        #1F4E2A;
      --verde-dark:   #163820;
      --verde-campo:  #3F7D3A;
      --verde-claro:  #EBF5EC;
      --celeste:      #DDF1F7;
      --celeste-mid:  #4BAAC8;
      --beige:        #F5F1E8;
      --oscuro:       #0D1F0F;
      --texto:        #3F4A4F;
      --titulo:       #1A2820;
      --suave:        #6B7A71;
      --gris:         #F7F8F6;
      --gris-borde:   #D8E3D8;
      --blanco:       #FFFFFF;
      --sombra:       0 2px 24px rgba(0,0,0,.07);
      --sombra-md:    0 6px 40px rgba(0,0,0,.11);
      --sombra-lg:    0 16px 56px rgba(0,0,0,.16);
      --radio:        12px;
      --radio-sm:     8px;
      --radio-lg:     20px;
    }
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { font-family:'Inter',sans-serif; color:var(--texto); background:var(--blanco); -webkit-font-smoothing:antialiased; }
    img { display:block; max-width:100%; }
    a { text-decoration:none; }

    /* ─── REVEAL ─── */
    .reveal { opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
    .reveal.delay-1 { transition-delay:.1s; }
    .reveal.delay-2 { transition-delay:.2s; }
    .reveal.delay-3 { transition-delay:.3s; }
    .reveal.delay-4 { transition-delay:.4s; }
    .reveal.delay-5 { transition-delay:.5s; }
    .reveal.delay-6 { transition-delay:.6s; }
    .reveal.visible  { opacity:1; transform:translateY(0); }

    /* ─── SKIP LINK ─── */
    .skip-link { position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
    .skip-link:focus { left:16px; top:16px; width:auto; height:auto; padding:10px 18px; background:var(--verde); color:var(--blanco); border-radius:var(--radio-sm); font-weight:800; z-index:9999; }

    /* ─── TOPBAR ─── */
    .topbar {
      background:var(--verde-dark); height:34px;
      display:flex; align-items:center; justify-content:flex-end; padding:0 6%;
      font-size:12px; color:rgba(255,255,255,.6); gap:24px;
    }
    .topbar a { color:rgba(255,255,255,.6); transition:color .18s; }
    .topbar a:hover { color:#fff; }

    /* ─── NAV ─── */
    #nav {
      position:sticky; top:0; z-index:300;
      background:var(--blanco); border-bottom:3px solid var(--verde);
      height:70px; display:flex; align-items:center; justify-content:space-between;
      padding:0 6%; box-shadow:0 2px 16px rgba(0,0,0,.07);
      transition:box-shadow .25s;
    }
    #nav.scrolled { box-shadow:0 4px 28px rgba(0,0,0,.16); }
    .nav-logo img { height:44px; width:auto; object-fit:contain; }
    a.nav-logo { display:flex; align-items:center; }
    .nav-links { display:flex; gap:28px; list-style:none; }
    .nav-links a {
      font-weight:800; font-size:13px; color:var(--titulo);
      text-transform:uppercase; letter-spacing:.7px;
      transition:color .18s; padding-bottom:3px;
      border-bottom:2px solid transparent;
    }
    .nav-links a:hover { color:var(--verde); border-bottom-color:var(--verde); }
    .nav-cta {
      background:var(--verde); color:var(--blanco);
      padding:10px 24px; border-radius:var(--radio-sm);
      font-weight:800; font-size:13px; letter-spacing:.3px;
      transition:background .18s, transform .18s;
    }
    .nav-cta:hover { background:var(--verde-dark); transform:translateY(-1px); }
    .nav-hamburger {
      display:none; flex-direction:column; gap:5px;
      background:none; border:none; cursor:pointer; padding:8px;
    }
    .nav-hamburger span { display:block; width:24px; height:2px; background:var(--titulo); border-radius:2px; transition:all .25s; }
    .nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity:0; }
    .nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
    .mobile-menu {
      display:none; position:fixed; top:70px; left:0; right:0; z-index:299;
      background:rgba(255,255,255,.98); backdrop-filter:blur(12px);
      box-shadow:0 8px 32px rgba(0,0,0,.1); padding:24px 6% 32px;
      flex-direction:column; gap:4px;
    }
    .mobile-menu.open { display:flex; }
    .mobile-menu a { font-weight:700; font-size:15px; color:var(--titulo); padding:13px 0; border-bottom:1px solid var(--gris-borde); text-transform:uppercase; letter-spacing:.5px; }
    .mobile-menu a:last-child { border-bottom:none; }
    .mobile-menu a:hover { color:var(--verde); }
    .mobile-menu .mobile-cta { margin-top:16px; text-align:center; background:var(--verde); color:var(--blanco); padding:14px 24px; border-radius:var(--radio-sm); font-weight:800; border-bottom:none; }

    /* ─── HERO ─── */
    .hero { position:relative; height:100vh; min-height:640px; overflow:hidden; }
    .hero-panels { position:absolute; inset:0; display:grid; grid-template-columns:62% 38%; }
    .hero-panel { background-size:cover; background-position:center; }
    .hero-panel-left  { background-image:url('https://images.unsplash.com/photo-1500382017468-9049fed747ef?auto=format&fit=crop&w=1200&q=80'); }
    .hero-panel-right { background-image:url('https://images.unsplash.com/photo-1495107334309-fcf20504a5ab?auto=format&fit=crop&w=800&q=80'); }
    .hero-divider { position:absolute; top:0; bottom:0; left:62%; width:3px; background:rgba(255,255,255,.2); z-index:1; }
    .hero-overlay {
      position:absolute; inset:0;
      background:
        linear-gradient(to right, rgba(13,31,15,.9) 0%, rgba(13,31,15,.65) 55%, rgba(13,31,15,.4) 100%),
        linear-gradient(to top, rgba(13,31,15,.95) 0%, transparent 52%);
    }
    .hero-content {
      position:relative; z-index:2; height:100%;
      padding:0 6% 72px; display:flex; flex-direction:column; justify-content:flex-end;
    }
    .hero-badge {
      display:inline-flex; align-items:center; gap:8px;
      background:rgba(63,125,58,.7); color:var(--blanco);
      padding:7px 18px; border-radius:100px; backdrop-filter:blur(4px);
      font-weight:800; font-size:12px; letter-spacing:1px;
      text-transform:uppercase; margin-bottom:24px; align-self:flex-start;
      border:1px solid rgba(255,255,255,.2);
    }
    .hero h1 {
      font-size:clamp(3.8rem, 9vw, 7.5rem);
      font-weight:900; color:var(--blanco);
      line-height:.98; letter-spacing:-.04em;
      max-width:1000px; margin-bottom:28px;
      font-family:'Arial', Arial, sans-serif;
    }
    .hero h1 em { font-style:normal; color:#93D9A3; display:block; }
    .hero-desc { font-size:1.15rem; color:rgba(255,255,255,.78); max-width:560px; line-height:1.65; margin-bottom:0; font-weight:400; }
    .hero-btns { display:flex; gap:14px; flex-wrap:wrap; }
    .btn-primary {
      background:var(--verde-campo); color:var(--blanco);
      padding:14px 36px; border-radius:var(--radio-sm);
      font-weight:800; font-size:15px;
      transition:background .2s, transform .2s;
      box-shadow:0 4px 20px rgba(63,125,58,.45);
    }
    .btn-primary:hover { background:var(--verde); transform:translateY(-2px); }
    .btn-ghost {
      background:rgba(255,255,255,.1); color:var(--blanco);
      padding:14px 36px; border-radius:var(--radio-sm);
      font-weight:700; font-size:15px;
      border:1.5px solid rgba(255,255,255,.4); backdrop-filter:blur(4px);
      transition:all .2s;
    }
    .btn-ghost:hover { background:rgba(255,255,255,.2); border-color:rgba(255,255,255,.7); }
    .hero-scroll {
      position:absolute; bottom:26px; left:50%; transform:translateX(-50%);
      z-index:2; color:rgba(255,255,255,.4);
      animation:bounce 2s infinite;
    }
    .hero-scroll svg { width:22px; height:22px; }
    @keyframes bounce { 0%,100% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(7px); } }

    /* ─── STATS — MUUK EN NÚMEROS ─── */
    .numeros { background:var(--blanco); border-top:4px solid var(--verde); }
    .numeros-header { padding:52px 6% 8px; text-align:center; }
    .numeros-header .section-eyebrow { display:inline-block; margin-bottom:6px; }
    .numeros-grid {
      display:flex; justify-content:center; flex-wrap:wrap; align-items:flex-start;
      border-top:1px solid var(--gris-borde); margin-top:24px;
    }
    .num-item {
      flex:1; min-width:180px; max-width:280px;
      text-align:center; padding:36px 32px;
      border-right:1px solid var(--gris-borde);
    }
    .num-item:last-child { border-right:none; }
    .num-icon {
      width:52px; height:52px; border-radius:50%;
      background:var(--verde); margin:0 auto 12px;
      display:flex; align-items:center; justify-content:center;
      font-size:1.3rem; color:var(--blanco);
    }
    .num-value { font-size:2.2rem; font-weight:900; color:var(--verde); line-height:1; margin-bottom:6px; }
    .num-label { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; color:var(--suave); margin-bottom:6px; }
    .num-desc { font-size:.82rem; color:var(--suave); line-height:1.5; }

    /* ─── LAYOUT ─── */
    section { padding:88px 6%; }
    .container { max-width:1200px; margin:0 auto; }
    .section-eyebrow { display:block; font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:3px; color:var(--verde-campo); margin-bottom:10px; }
    .section-title { font-size:clamp(2rem, 4.2vw, 3rem); font-weight:900; line-height:1.12; letter-spacing:-.02em; margin-bottom:16px; color:var(--titulo); }
    .section-desc { font-size:1rem; color:var(--suave); line-height:1.78; max-width:640px; }
    .header-center { text-align:center; margin-bottom:60px; }
    .header-center .section-desc { margin:0 auto; }

    /* ─── EMPRESA / NOSOTROS ─── */
    .empresa { background:var(--blanco); padding:0; overflow:hidden; }
    .empresa-inner { display:grid; grid-template-columns:1fr 1fr; min-height:560px; }
    .empresa-img { position:relative; overflow:hidden; }
    .empresa-img img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
    .empresa-img:hover img { transform:scale(1.03); }
    .empresa-img::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(31,78,42,.1) 0%, transparent 60%); }
    .empresa-text { padding:80px 72px; display:flex; flex-direction:column; justify-content:center; background:var(--gris); }
    .empresa-text .section-desc + .section-desc { margin-top:14px; }
    .empresa-highlights { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:36px; }
    .nh { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; background:var(--blanco); border-radius:var(--radio-sm); border-left:3px solid var(--verde-campo); }
    .nh-icon { font-size:1.3rem; flex-shrink:0; margin-top:1px; }
    .nh-label { font-size:.86rem; font-weight:800; margin-bottom:3px; color:var(--titulo); }
    .nh-text { font-size:.78rem; color:var(--suave); line-height:1.5; }

    /* ─── SOLUCIONES — 4 SEGMENTOS ─── */
    .soluciones { background:var(--gris); }
    .soluciones-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
    .sol-card {
      background:var(--blanco); border-radius:var(--radio-lg); padding:40px 24px 36px;
      text-align:center; box-shadow:var(--sombra-md);
      transition:transform .25s, box-shadow .25s;
    }
    .sol-card:hover { transform:translateY(-6px); box-shadow:var(--sombra-lg); }
    .sol-badge {
      width:72px; height:72px; border-radius:50%; background:var(--verde);
      margin:0 auto 20px; display:flex; align-items:center; justify-content:center;
      font-size:2rem; box-shadow:0 6px 20px rgba(31,78,42,.3);
    }
    .sol-card:nth-child(2) .sol-badge { background:var(--verde-campo); }
    .sol-card:nth-child(3) .sol-badge { background:var(--celeste-mid); box-shadow:0 6px 20px rgba(75,170,200,.3); }
    .sol-card:nth-child(4) .sol-badge { background:#4A7A4E; }
    .sol-card h3 { font-size:1.1rem; font-weight:900; margin-bottom:12px; color:var(--titulo); letter-spacing:-.01em; }
    .sol-card p { font-size:.86rem; color:var(--suave); line-height:1.68; }

    /* ─── CAMPO BANNER ─── */
    .campo-banner { position:relative; height:460px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
    .campo-banner-bg {
      position:absolute; inset:0;
      background-image:url('https://images.unsplash.com/photo-1758127080052-bfc92fe85f31?auto=format&fit=crop&w=1800&q=80');
      background-size:cover; background-position:center;
    }
    .campo-banner-bg::after {
      content:''; position:absolute; inset:0;
      background:rgba(13,31,15,.72);
    }
    .campo-banner-content { position:relative; z-index:1; padding:0 6%; max-width:800px; text-align:center; }
    .campo-banner-content .section-eyebrow { color:#93D9A3; }
    .campo-banner-content .section-title { color:var(--blanco); font-size:clamp(2rem, 4.5vw, 3.2rem); }
    .campo-banner-content .section-desc { color:rgba(255,255,255,.75); max-width:540px; margin:0 auto; }

    /* ─── PRODUCTOS ─── */
    .productos { background:var(--blanco); }
    .productos-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
    .prod-card { border-radius:var(--radio-lg); overflow:hidden; box-shadow:var(--sombra); background:var(--blanco); transition:transform .25s, box-shadow .25s; }
    .prod-card:hover { transform:translateY(-5px); box-shadow:var(--sombra-md); }
    .prod-img { aspect-ratio:4/3; overflow:hidden; position:relative; }
    .prod-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
    .prod-card:hover .prod-img img { transform:scale(1.06); }
    .prod-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(13,31,15,.45) 0%, transparent 55%); }
    .prod-collage { aspect-ratio:4/3; display:grid; grid-template-columns:60% 40%; grid-template-rows:50% 50%; gap:3px; overflow:hidden; position:relative; background:var(--gris); }
    .prod-collage img { width:100%; height:100%; object-fit:cover; transition:transform .5s; display:block; }
    .prod-collage img:first-child { grid-row:1/3; }
    .prod-card:hover .prod-collage img { transform:scale(1.06); }
    .prod-collage .prod-overlay { position:absolute; inset:0; pointer-events:none; background:linear-gradient(to top, rgba(13,31,15,.4) 0%, transparent 55%); }
    .prod-body { padding:18px 20px 22px; border-top:2px solid var(--verde-claro); }
    .prod-body h3 { font-size:1rem; font-weight:900; margin-bottom:6px; color:var(--titulo); }
    .prod-desc { font-size:.8rem; color:var(--suave); line-height:1.55; }
    .sin-tacc-badge { position:absolute; top:10px; right:10px; z-index:2; width:52px; height:52px; filter:drop-shadow(0 2px 6px rgba(0,0,0,.3)); }
    .sin-tacc-badge svg { width:100%; height:100%; }

    /* ─── OPERACIONES ─── */
    .operaciones { background:var(--beige); }
    .operaciones-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:0; }
    .op-card {
      background:var(--blanco); border-radius:var(--radio-lg); padding:36px 24px;
      box-shadow:var(--sombra); border-top:3px solid var(--verde-campo);
      transition:transform .2s, box-shadow .2s;
    }
    .op-card:hover { transform:translateY(-4px); box-shadow:var(--sombra-md); }
    .op-card:nth-child(2) { border-top-color:var(--verde); }
    .op-card:nth-child(3) { border-top-color:var(--celeste-mid); }
    .op-card:nth-child(4) { border-top-color:#4A7A4E; }
    .op-icon { font-size:2rem; margin-bottom:14px; display:block; }
    .op-card h3 { font-size:1rem; font-weight:900; margin-bottom:10px; color:var(--titulo); }
    .op-card p { font-size:.84rem; color:var(--suave); line-height:1.62; }

    /* ─── CLIENTES Y PROVEEDORES ─── */
    .clientes-proveedores { background:var(--verde); padding:88px 6%; }
    .clientes-proveedores .section-eyebrow { color:#93D9A3; }
    .clientes-proveedores .section-title { color:var(--blanco); }
    .clientes-proveedores .section-desc { color:rgba(255,255,255,.75); }
    .cp-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:52px; }
    .cp-card {
      background:rgba(255,255,255,.08); border:1.5px solid rgba(255,255,255,.18);
      border-radius:var(--radio-lg); padding:40px 36px;
      backdrop-filter:blur(6px); transition:background .2s, transform .2s;
    }
    .cp-card:hover { background:rgba(255,255,255,.14); transform:translateY(-4px); }
    .cp-card-icon { font-size:2.5rem; margin-bottom:18px; display:block; }
    .cp-card h3 { font-size:1.25rem; font-weight:900; color:var(--blanco); margin-bottom:14px; }
    .cp-card p { font-size:.92rem; color:rgba(255,255,255,.75); line-height:1.72; }

    /* ─── PRUEBA SOCIAL ─── */
    /* ─── LOGOS MARQUEE ─── */
    .logos-section { background:var(--blanco); overflow:hidden; }
    .logos-marquee {
      overflow:hidden; margin-top:48px;
      -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
      mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
    }
    .logos-track {
      display:flex; gap:16px;
      width:max-content;
      animation: marquee-scroll 28s linear infinite;
    }
    .logos-track:hover { animation-play-state: paused; }
    @keyframes marquee-scroll {
      from { transform: translateX(0); }
      to   { transform: translateX(-50%); }
    }
    .logo-card {
      background:var(--blanco); border-radius:var(--radio);
      padding:22px 28px; text-align:center;
      display:flex; align-items:center; justify-content:center;
      width:200px; height:100px; flex-shrink:0;
      border:1.5px solid var(--gris-borde);
      box-shadow:0 1px 4px rgba(0,0,0,.06);
      transition:background .22s, box-shadow .22s, border-color .22s;
    }
    .logo-card:hover {
      background:var(--gris);
      border-color:var(--verde-campo);
      box-shadow:var(--sombra-md);
    }
    .logo-card img, .logo-card svg {
      max-height:56px; max-width:160px;
      width:auto; height:auto; object-fit:contain;
      filter:grayscale(10%) opacity(.9);
      transition:filter .22s;
    }
    .logo-card:hover img, .logo-card:hover svg { filter:grayscale(0%) opacity(1); }
    .logo-name {
      font-size:.82rem; font-weight:700; color:var(--suave);
      letter-spacing:.05em; text-transform:uppercase;
      transition:color .22s;
    }
    .logo-card:hover .logo-name { color:var(--verde); }

    /* ─── SUSTENTABILIDAD ─── */
    .sustentabilidad { background:var(--celeste); padding:72px 6%; }
    .sustentabilidad .section-eyebrow { color:var(--verde); }
    .sustentabilidad .section-title { color:var(--verde-dark); max-width:740px; margin:0 auto 16px; text-align:center; }
    .sustentabilidad .section-desc { margin:0 auto; text-align:center; color:var(--verde); max-width:640px; }

    /* ─── VALORES ─── */
    .valores { background:var(--oscuro); padding:88px 6%; }
    .valores .section-eyebrow { color:#93D9A3; }
    .valores .section-title { color:var(--blanco); }
    .valores .section-desc { color:rgba(255,255,255,.6); }
    .valores-grid { display:flex; gap:18px; flex-wrap:wrap; justify-content:center; margin-top:52px; }
    .val-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:var(--radio-lg); padding:32px 24px; text-align:center; flex:1; min-width:155px; max-width:210px; backdrop-filter:blur(4px); transition:background .2s, transform .2s; }
    .val-card:hover { background:rgba(255,255,255,.12); transform:translateY(-4px); }
    .val-icon { font-size:2rem; margin-bottom:12px; display:block; }
    .val-card h3 { font-size:.95rem; font-weight:800; color:var(--blanco); margin-bottom:8px; }
    .val-card p { font-size:.8rem; color:rgba(255,255,255,.5); line-height:1.55; }

    /* ─── CTA ─── */
    .cta-banner { background:var(--gris); padding:88px 6%; text-align:center; border-top:4px solid var(--verde-claro); }
    .cta-banner h2 { font-size:clamp(2rem, 4.5vw, 3rem); font-weight:900; color:var(--titulo); letter-spacing:-.02em; margin-bottom:16px; line-height:1.1; }
    .cta-banner p { font-size:1.05rem; color:var(--suave); margin-bottom:40px; max-width:540px; margin-left:auto; margin-right:auto; }
    .btn-dark { background:var(--verde); color:var(--blanco); padding:16px 44px; border-radius:var(--radio-sm); font-weight:900; font-size:15px; letter-spacing:-.01em; transition:all .22s; display:inline-block; box-shadow:0 4px 20px rgba(31,78,42,.3); }
    .btn-dark:hover { background:var(--verde-dark); transform:translateY(-3px); }
    .cta-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
    .btn-brochure { display:inline-flex; align-items:center; gap:8px; padding:16px 32px; border-radius:var(--radio-sm); font-weight:700; font-size:15px; color:var(--verde); background:var(--blanco); border:2px solid var(--verde); transition:all .22s; }
    .btn-brochure:hover { background:var(--verde); color:var(--blanco); transform:translateY(-3px); }

    /* ─── CONTACTO ─── */
    .contacto { background:var(--blanco); }
    .contacto-inner { display:grid; grid-template-columns:1fr 1.25fr; gap:80px; align-items:start; }
    .c-item { display:flex; align-items:flex-start; gap:14px; margin-bottom:22px; }
    .c-icon-wrap { width:42px; height:42px; flex-shrink:0; background:var(--verde); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
    .c-text strong { display:block; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:#aaa; margin-bottom:3px; }
    .c-text a { color:var(--verde); font-weight:800; font-size:.95rem; }
    .c-text a:hover { text-decoration:underline; }
    .c-text span { font-weight:700; font-size:.9rem; color:var(--texto); }
    .wa-btn { display:inline-flex; align-items:center; gap:10px; background:#25D366; color:var(--blanco); padding:12px 22px; border-radius:var(--radio-sm); font-weight:800; font-size:.88rem; margin-top:8px; transition:all .2s; box-shadow:0 4px 16px rgba(37,211,102,.3); }
    .wa-btn:hover { background:#1EB857; transform:translateY(-2px); }
    .wa-btn svg { width:18px; height:18px; fill:var(--blanco); }
    .contact-form { background:var(--gris); border-radius:var(--radio-lg); padding:40px 36px; box-shadow:var(--sombra-md); }
    .contact-form h3 { font-size:1.2rem; font-weight:900; margin-bottom:26px; color:var(--titulo); }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
    .fg { display:flex; flex-direction:column; gap:6px; }
    .fg label { font-size:12.5px; font-weight:800; color:var(--titulo); }
    .fg input, .fg textarea, .fg select { padding:12px 14px; border:1.5px solid var(--gris-borde); border-radius:var(--radio-sm); font-family:inherit; font-size:14px; color:var(--texto); background:var(--blanco); transition:border-color .18s, box-shadow .18s; outline:3px solid transparent; }
    .fg input:focus, .fg textarea:focus, .fg select:focus,
    .fg input:focus-visible, .fg textarea:focus-visible, .fg select:focus-visible { border-color:var(--verde-campo); box-shadow:0 0 0 3px rgba(63,125,58,.1); }
    a:focus-visible, button:focus-visible { outline:3px solid var(--verde-campo); outline-offset:3px; }
    .fg textarea { resize:vertical; min-height:100px; }
    .btn-form { width:100%; background:var(--verde); color:var(--blanco); padding:14px 32px; border:none; border-radius:var(--radio-sm); font-family:inherit; font-size:15px; font-weight:800; cursor:pointer; transition:background .2s, transform .2s; }
    .btn-form:hover { background:var(--verde-dark); transform:translateY(-2px); }
    .form-feedback { margin-top:10px; padding:10px 14px; border-radius:var(--radio-sm); font-size:.85rem; font-weight:700; display:none; }
    .form-feedback.success { background:#e6f4ea; color:var(--verde); display:block; }
    .form-feedback.error   { background:#fdecea; color:#c62828; display:block; }
    .form-fallback { margin-top:10px; font-size:.78rem; color:var(--suave); text-align:center; }
    .form-fallback a { color:var(--verde); font-weight:700; }

    /* ─── PRIVACY MODAL ─── */
    #modal-privacidad { border:none; border-radius:var(--radio-lg); padding:40px; max-width:540px; width:90%; box-shadow:var(--sombra-lg); font-family:'Inter',sans-serif; }
    #modal-privacidad::backdrop { background:rgba(0,0,0,.52); backdrop-filter:blur(4px); }
    .modal-close { float:right; background:none; border:none; font-size:1.6rem; cursor:pointer; color:var(--suave); padding:0 4px; line-height:1; margin-top:-4px; }
    .modal-close:hover { color:var(--titulo); }
    #modal-privacidad h3 { font-size:1.2rem; font-weight:900; margin-bottom:16px; color:var(--titulo); }
    #modal-privacidad p { font-size:.87rem; color:var(--suave); line-height:1.72; margin-bottom:10px; }
    #modal-privacidad strong { color:var(--titulo); }

    /* ─── FLOAT WA ─── */
    .wf { position:fixed; bottom:26px; right:26px; z-index:400; width:56px; height:56px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 24px rgba(37,211,102,.45); transition:transform .2s, box-shadow .2s; }
    .wf:hover { transform:scale(1.1); box-shadow:0 10px 32px rgba(37,211,102,.55); }
    .wf svg { width:28px; height:28px; fill:var(--blanco); }

    /* ─── FOOTER ─── */
    footer { background:var(--oscuro); color:var(--blanco); padding:44px 6%; display:grid; grid-template-columns:1.2fr 1fr 1.2fr; align-items:center; gap:28px; }
    .footer-brand-name { font-size:1.5rem; font-weight:900; letter-spacing:-.03em; }
    .footer-brand-name span { color:#93D9A3; }
    .footer-tagline { font-size:12px; color:#87978A; margin-top:4px; }
    .footer-sub { font-size:11px; color:#8A9C8C; margin-top:3px; }
    .footer-copy { text-align:center; font-size:12px; color:#8A9C8C; line-height:1.7; }
    .footer-links { display:flex; gap:20px; justify-content:flex-end; flex-wrap:wrap; }
    .footer-links a { color:#87978A; font-size:12.5px; font-weight:700; transition:color .18s; letter-spacing:.3px; }
    .footer-links a:hover { color:#93D9A3; }
    .footer-social { display:flex; gap:10px; margin-top:12px; }
    .footer-social a { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; border:1.5px solid rgba(255,255,255,.2); color:#87978A; transition:all .22s; }
    .footer-social a:hover { border-color:#93D9A3; color:#93D9A3; transform:translateY(-2px); }
    .footer-social svg { width:16px; height:16px; }
    .social-links { display:flex; gap:12px; margin-top:18px; }
    .social-links a { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; border:2px solid var(--verde); color:var(--verde); transition:all .22s; }
    .social-links a:hover { background:var(--verde); color:var(--blanco); transform:translateY(-2px); }
    .social-links svg { width:20px; height:20px; }

    /* ─── LANG SWITCHER ─── */
    .lang-switcher { display:flex; gap:3px; }
    .lang-btn { background:none; border:1px solid rgba(255,255,255,.3); color:rgba(255,255,255,.72); cursor:pointer; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:800; letter-spacing:.5px; transition:all .18s; font-family:inherit; }
    .lang-btn:hover { color:#fff; border-color:rgba(255,255,255,.6); }
    .lang-btn.active { background:rgba(255,255,255,.18); color:#fff; border-color:rgba(255,255,255,.5); }

    /* ─── PROD CTA ─── */
    .prod-cta { display:block; text-align:center; margin-top:14px; padding:8px 0 2px; font-size:.82rem; font-weight:800; color:var(--verde-campo); letter-spacing:.3px; transition:color .18s; border-top:1px solid var(--verde-claro); }
    .prod-cta:hover { color:var(--verde); }
    .prod-cta::after { content:' →'; }

    /* ─── UX FIXES ─── */
    .hero h1 { line-height:1.04; }
    .topbar { justify-content:space-between; color:rgba(255,255,255,.82); min-height:34px; height:auto; flex-wrap:wrap; }
    .topbar a { color:rgba(255,255,255,.82); }
    .val-card p { color:rgba(255,255,255,.72); }
    .c-text strong { color:var(--suave); }

    /* ─── RESPONSIVE ─── */
    @media(max-width:1100px) {
      .soluciones-grid, .operaciones-grid { grid-template-columns:repeat(2,1fr); }
      .productos-grid { grid-template-columns:repeat(2,1fr); }
    }
    @media(max-width:900px) {
      .empresa-inner { grid-template-columns:1fr; }
      .empresa-img { height:300px; }
      .empresa-text { padding:56px 6%; }
      .cp-grid { grid-template-columns:1fr; max-width:500px; margin:40px auto 0; }
      .contacto-inner { grid-template-columns:1fr; gap:44px; }
      footer { grid-template-columns:1fr; text-align:center; }
      .footer-links { justify-content:center; }
      .footer-social { justify-content:center; }
      .hero-panels { grid-template-columns:1fr; }
      .hero-panel-right, .hero-divider { display:none; }
      .ext-inner { grid-template-columns:1fr; gap:40px; }
    }
    @media(min-width:481px) and (max-width:640px) {
      .soluciones-grid, .operaciones-grid { grid-template-columns:1fr 1fr; }
    }
    @media(max-width:380px) {
      .topbar-email { display:none; }
    }
    @media(max-width:640px) {
      section { padding:64px 5%; }
      .nav-links { display:none; }
      .nav-hamburger { display:flex; }
      .num-item { min-width:50%; border-right:none; border-bottom:1px solid var(--gris-borde); }
      .num-item:last-child { border-bottom:none; }
      .soluciones-grid, .operaciones-grid { grid-template-columns:1fr; }
      .empresa-highlights { grid-template-columns:1fr; }
      .form-row { grid-template-columns:1fr; }
      .contact-form { padding:28px 20px; }
      .campo-banner { height:380px; }
    }

    .muuk-hp { display:none !important; }

    .product-banner {
      background: var(--verde-light, #e8f5e9);
      color: var(--verde);
      border-left: 3px solid var(--verde);
      padding: 10px 14px;
      border-radius: 6px;
      font-size: .9rem;
      font-weight: 600;
      margin-bottom: 18px;
    }
