    #galleryGrid {
      opacity: 0;
      transition: opacity .3s ease;
    }
  

    .trayectoria-link:hover {
      gap: 20px !important;
      color: #5a8010 !important;
      border-bottom-color: rgba(149,187,48,0.7) !important;
    }

    .trayectoria-link:hover span {
      transform: translateX(8px);
      color: #5a8010 !important;
    }

    @media (max-width: 960px) {
      .productos-grid {
        grid-template-columns: repeat(2, 1fr) !important;
      }

      #contactoGrid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
      }

      .contacto-items {
        grid-template-columns: 1fr !important;
      }
    }

    @media (max-width: 768px) {
      .trayectoria-stats-box {
        grid-template-columns: 1fr !important;
      }

      .trayectoria-stats-box>div {
        border-right: none !important;
        border-bottom: 1px solid rgba(149, 187, 48, 0.1) !important;
      }

      .trayectoria-stats-box>div:last-child {
        border-bottom: none !important;
      }
    }

    @media (max-width: 560px) {
      .productos-grid {
        grid-template-columns: 1fr !important;
      }

      .productos-grid>a {
        height: 280px !important;
      }

      #contactoGrid .contacto-form-wrap {
        padding: 24px !important;
      }
    }

    /* Animación premium al pasar el cursor por las cartillas de productos */
    .productos-grid a {
      transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease !important;
    }

    .productos-grid a:hover {
      transform: translateY(-8px) !important;
      box-shadow: 0 20px 40px rgba(149, 187, 48, 0.25) !important;
    }

    .productos-grid a:hover>div:first-child {
      transform: scale(1.08) !important;
    }
  

      @media (max-width: 768px) {
        .proy-estrella-grid {
          grid-template-columns: 1fr !important;
        }
      }
    

    /* ── Toggle Button ── */
    #ofm-toggle {
      position: fixed;
      bottom: 28px;
      right: 100px;
      z-index: 9998;
      display: flex;
      align-items: center;
      gap: 10px;
      background: linear-gradient(135deg, #1e4a08 0%, #95BB30 60%, #CEE632 100%);
      color: #fff;
      border: none;
      border-radius: 50px;
      padding: 13px 20px 13px 16px;
      cursor: pointer;
      font-family: 'Dosis', sans-serif;
      font-size: .95rem;
      font-weight: 800;
      letter-spacing: .04em;
      box-shadow: 0 8px 30px rgba(149,187,48,.5), 0 2px 8px rgba(0,0,0,.2);
      transition: all .3s cubic-bezier(.34,1.4,.64,1);
    }
    #ofm-toggle:hover { transform: translateY(-3px) scale(1.04); box-shadow: 0 14px 40px rgba(149,187,48,.6); }
    #ofm-toggle .ofm-icon { font-size: 1.15rem; animation: ofmPulse 2.2s ease-in-out infinite; }
    @keyframes ofmPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.2)} }
    #ofm-toggle .ofm-close { display:none; font-size:1.1rem; font-weight:700; }
    #ofm-toggle.open { border-radius:50%; width:52px; height:52px; padding:0; justify-content:center; right:28px; }
    #ofm-toggle.open .ofm-label,
    #ofm-toggle.open .ofm-icon { display:none; }
    #ofm-toggle.open .ofm-close { display:flex; }

    /* Dot pulse indicator */
    #ofm-toggle::before {
      content:'';
      position:absolute;
      top:-4px; right:-4px;
      width:12px; height:12px;
      border-radius:50%;
      background:#CEE632;
      box-shadow:0 0 0 0 rgba(206,230,50,.6);
      animation:ofmDot 2s ease-in-out infinite;
    }
    #ofm-toggle.open::before { display:none; }
    @keyframes ofmDot {
      0%  { box-shadow:0 0 0 0 rgba(206,230,50,.7); }
      70% { box-shadow:0 0 0 8px rgba(206,230,50,0); }
      100%{ box-shadow:0 0 0 0 rgba(206,230,50,0); }
    }

    /* ── Panel ── */
    #ofm-panel {
      position:fixed;
      bottom:96px;
      right:28px;
      z-index:9997;
      width:345px;
      border-radius:22px;
      overflow:hidden;
      box-shadow:0 28px 80px rgba(0,0,0,.22), 0 8px 30px rgba(149,187,48,.18);
      opacity:0;
      transform:translateY(24px) scale(.95);
      pointer-events:none;
      transition:all .38s cubic-bezier(.34,1.2,.64,1);
    }
    #ofm-panel.open { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }

    /* Header */
    .ofm-header {
      background:linear-gradient(148deg, #0a1f04 0%, #1a3f08 42%, #2e6b18 100%);
      padding:26px 24px 22px;
      position:relative;
      overflow:hidden;
    }
    .ofm-header::before {
      content:'';
      position:absolute; top:-40px; right:-40px;
      width:140px; height:140px; border-radius:50%;
      background:rgba(206,230,50,.1);
    }
    .ofm-header::after {
      content:'';
      position:absolute; bottom:-30px; left:-25px;
      width:100px; height:100px; border-radius:50%;
      background:rgba(149,187,48,.08);
    }
    .ofm-logo { height:30px; width:auto; filter:brightness(0) invert(1); margin-bottom:14px; position:relative; z-index:1; display:block; }
    .ofm-header h3 {
      font-family:'Arial Black',Arial,sans-serif;
      font-size:1.22rem; font-weight:900; color:#fff;
      margin:0 0 4px; position:relative; z-index:1; line-height:1.25;
    }
    .ofm-header h3 em {
      font-family:'Dancing Script',cursive; font-style:normal;
      color:#CEE632; font-weight:600; font-size:1.28em;
    }
    .ofm-header p {
      font-family:'Dosis',sans-serif; font-size:.78rem;
      color:rgba(255,255,255,.58); margin:0 0 20px; position:relative; z-index:1;
    }

    /* Steps */
    .ofm-steps { display:flex; align-items:center; position:relative; z-index:1; }
    .ofm-step { display:flex; align-items:center; gap:7px; }
    .ofm-step-num {
      width:30px; height:30px; border-radius:50%;
      background:rgba(255,255,255,.12); border:2px solid rgba(255,255,255,.2);
      display:flex; align-items:center; justify-content:center;
      font-family:'Dosis',sans-serif; font-size:.82rem; font-weight:800;
      color:rgba(255,255,255,.45); transition:all .35s;
    }
    .ofm-step.active .ofm-step-num { background:#CEE632; border-color:#CEE632; color:#0f2a04; }
    .ofm-step.done .ofm-step-num { background:#95BB30; border-color:#95BB30; color:#fff; }
    .ofm-step-lbl {
      font-family:'Dosis',sans-serif; font-size:.7rem; font-weight:800;
      color:rgba(255,255,255,.4); letter-spacing:.08em; text-transform:uppercase; transition:color .3s;
    }
    .ofm-step.active .ofm-step-lbl { color:#CEE632; }
    .ofm-step.done .ofm-step-lbl { color:rgba(255,255,255,.75); }
    .ofm-line {
      flex:1; height:2px; background:rgba(255,255,255,.12); margin:0 10px;
      border-radius:2px; overflow:hidden; position:relative;
    }
    .ofm-line::after {
      content:''; position:absolute; left:0; top:0; height:100%; width:0%;
      background:linear-gradient(90deg,#95BB30,#CEE632); transition:width .45s ease;
    }
    .ofm-line.filled::after { width:100%; }

    /* Body */
    .ofm-body { background:#fff; padding:22px 22px 18px; }

    .ofm-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    .ofm-field { margin-bottom:11px; }
    .ofm-field label {
      display:block; font-family:'Dosis',sans-serif; font-size:.67rem;
      font-weight:800; letter-spacing:.12em; text-transform:uppercase;
      color:#2d6218; margin-bottom:5px;
    }
    .ofm-field input, .ofm-field select {
      width:100%; border:1.5px solid #dde8cc; border-radius:10px;
      padding:10px 13px; font-family:'Dosis',sans-serif; font-size:.9rem;
      font-weight:500; color:#1a3a0a; background:#f8fbf3;
      transition:border-color .2s, box-shadow .2s; outline:none; box-sizing:border-box;
    }
    .ofm-field input:focus, .ofm-field select:focus {
      border-color:#95BB30; box-shadow:0 0 0 3px rgba(149,187,48,.14); background:#fff;
    }
    .ofm-field input::placeholder { color:#aab89a; }
    .ofm-field .ofm-err {
      display:none; font-family:'Dosis',sans-serif; font-size:.68rem;
      color:#d94f4f; font-weight:700; margin-top:4px; letter-spacing:.04em;
    }
    .ofm-field.error input { border-color:#d94f4f; }
    .ofm-field.error .ofm-err { display:block; }

    /* Phone */
    .ofm-phone-wrap { display:flex; gap:8px; }
    .ofm-phone-prefix {
      display:flex; align-items:center; gap:5px;
      background:#f0f6e8; border:1.5px solid #dde8cc;
      border-radius:10px; padding:10px 11px;
      font-family:'Dosis',sans-serif; font-size:.85rem;
      font-weight:700; color:#2d6218; white-space:nowrap; flex-shrink:0;
    }
    .ofm-phone-wrap .ofm-field { flex:1; margin:0; }

    /* Chips */
    .ofm-chips { display:flex; flex-wrap:wrap; gap:7px; }
    .ofm-chip {
      padding:7px 13px; border-radius:20px;
      border:1.5px solid #dde8cc; background:#f8fbf3;
      font-family:'Dosis',sans-serif; font-size:.78rem;
      font-weight:700; color:#5a7a3a; cursor:pointer;
      transition:all .2s; user-select:none;
    }
    .ofm-chip:hover { border-color:#95BB30; color:#2d6218; }
    .ofm-chip.selected { background:#95BB30; border-color:#95BB30; color:#fff; }

    /* Privacy */
    .ofm-privacy { display:flex; align-items:flex-start; gap:9px; margin-bottom:16px; }
    .ofm-privacy input[type="checkbox"] { margin-top:2px; accent-color:#95BB30; width:14px; height:14px; flex-shrink:0; cursor:pointer; }
    .ofm-privacy label { font-family:'Dosis',sans-serif; font-size:.71rem; color:#7a8a6a; line-height:1.55; cursor:pointer; }
    .ofm-privacy a { color:#95BB30; text-decoration:underline; }

    /* Divider */
    .ofm-divider { height:1px; background:linear-gradient(90deg,transparent,#e8f0d8,transparent); margin:4px 0 14px; }

    /* Buttons */
    .ofm-btn {
      width:100%; padding:13px; border:none; border-radius:12px;
      font-family:'Dosis',sans-serif; font-size:.95rem; font-weight:800;
      letter-spacing:.06em; text-transform:uppercase; cursor:pointer;
      transition:all .25s; display:flex; align-items:center; justify-content:center; gap:8px;
    }
    .ofm-btn-primary {
      background:linear-gradient(135deg, #1e4a08 0%, #95BB30 55%, #CEE632 100%);
      color:#fff; box-shadow:0 6px 20px rgba(149,187,48,.35);
    }
    .ofm-btn-primary:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(149,187,48,.5); }
    .ofm-btn-back {
      background:transparent; color:#7a9a5a; border:1.5px solid #dde8cc;
      font-size:.82rem; margin-top:8px; padding:9px;
    }
    .ofm-btn-back:hover { border-color:#95BB30; color:#2d6218; }

    /* Success */
    .ofm-success { background:#fff; padding:36px 24px 32px; text-align:center; }
    .ofm-success-ring {
      width:72px; height:72px; border-radius:50%;
      background:linear-gradient(135deg,#95BB30,#CEE632);
      display:flex; align-items:center; justify-content:center;
      margin:0 auto 18px; font-size:2rem;
      animation:ofmBounce .55s cubic-bezier(.34,1.56,.64,1);
      box-shadow:0 8px 24px rgba(149,187,48,.4);
    }
    @keyframes ofmBounce { from{transform:scale(0);opacity:0} to{transform:scale(1);opacity:1} }
    .ofm-success h4 {
      font-family:'Arial Black',Arial,sans-serif; font-size:1.1rem;
      font-weight:900; color:#1a3a0a; margin:0 0 8px;
    }
    .ofm-success p { font-family:'Dosis',sans-serif; font-size:.88rem; color:#6a8a5a; margin:0 0 20px; line-height:1.65; }
    .ofm-success-wsp {
      display:inline-flex; align-items:center; gap:8px;
      background:#25d366; color:#fff; border-radius:10px;
      padding:10px 20px; font-family:'Dosis',sans-serif;
      font-size:.85rem; font-weight:800; letter-spacing:.04em;
      text-decoration:none; transition:all .2s;
    }
    .ofm-success-wsp:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(37,211,102,.4); }

    /* Mobile */
    @media(max-width:480px) {
      #ofm-panel { right:10px; left:10px; width:auto; bottom:150px; }
      #ofm-toggle { right:10px; bottom:90px; }
      #ofm-toggle.open { right:10px; bottom:90px; }
    }
  
