.elementor-11871 .elementor-element.elementor-element-b47428b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11871 .elementor-element.elementor-element-45141b4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-6612005 */:root{
    --nsl-green:#1a4d2e;
    --nsl-green-dark:#123a22;
    --nsl-charcoal:#333333;
    --nsl-whatsapp:#25D366;
    --nsl-whatsapp-dark:#1ebc59;
  }

  .nsl-sticky{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9999;
    background:var(--nsl-charcoal);
    box-shadow:0 -4px 18px rgba(0,0,0,.18);
    font-family:'Poppins','Helvetica Neue',Arial,sans-serif;
  }
  .nsl-sticky *{ box-sizing:border-box; }
  .nsl-sticky a{ text-decoration:none; }

  .nsl-sticky-inner{
    max-width:1200px;
    margin:0 auto;
    display:flex;
    align-items:stretch;
  }

  /* ---- Action buttons ---- */
  .nsl-sticky-btn{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:13px 8px;
    font-size:14px;
    font-weight:600;
    letter-spacing:.2px;
    color:#fff;
    transition:filter .2s ease;
  }
  .nsl-sticky-btn:hover{ filter:brightness(1.08); }
  .nsl-sticky-btn svg{ width:19px; height:19px; flex-shrink:0; fill:#fff; }

  .nsl-btn-whatsapp{ background:var(--nsl-whatsapp); }
  .nsl-btn-call{ background:var(--nsl-green); }

  /* pulse ring on the whatsapp icon to draw the eye */
  .nsl-btn-whatsapp .nsl-icon-wrap{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .nsl-btn-whatsapp .nsl-icon-wrap::before{
    content:"";
    position:absolute;
    inset:-6px;
    border-radius:50%;
    background:rgba(255,255,255,.35);
    animation:nslPulse 2.2s ease-out infinite;
  }
  @keyframes nslPulse{
    0%{ transform:scale(.6); opacity:.8; }
    100%{ transform:scale(1.8); opacity:0; }
  }
  @media (prefers-reduced-motion: reduce){
    .nsl-btn-whatsapp .nsl-icon-wrap::before{ animation:none; }
  }

  /* ---- Copyright strip (hidden on small phones, shown from tablet up) ---- */
  .nsl-sticky-copy{
    display:none;
  }

  /* Extra bottom padding on the page so the sticky bar never
     covers the last bit of real content or another fixed
     WhatsApp bubble plugin, etc. Elementor: also add this via
     the section's custom CSS if you use a page builder popup. */
  body{ padding-bottom:56px !important; }

  /* ============================================================
     TABLET / DESKTOP (≥768px)
     ============================================================ */
  @media (min-width:768px){
    .nsl-sticky-inner{
      justify-content:space-between;
      padding:0 24px;
    }
    .nsl-sticky-copy{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:4px 10px;
      font-size:12.5px;
      color:#d8d8d8;
      padding:10px 0;
    }
    .nsl-sticky-copy a{
      color:#fff;
      font-weight:600;
    }
    .nsl-sticky-copy a:hover{ text-decoration:underline; }
    .nsl-sticky-copy .nsl-dot{ color:#777; }

    .nsl-sticky-actions{
      display:flex;
      flex-shrink:0;
    }
    .nsl-sticky-btn{
      flex:none;
      padding:14px 22px;
      border-radius:6px;
      margin:9px 0 9px 10px;
    }

    body{ padding-bottom:0 !important; }
    .nsl-sticky{ position:static; box-shadow:none; border-top:1px solid rgba(255,255,255,.08); }
  }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fd6b896 */:root{
    --nsl-green:#1a4d2e;
    --nsl-green-dark:#123a22;
    --nsl-charcoal:#333333;
    --nsl-charcoal-soft:#555555;
    --nsl-bg:#f7f8f6;
    --nsl-line:#e1e5e1;
    --nsl-white:#ffffff;
    --nsl-whatsapp:#25D366;
  }

  .nsl-footer{
    font-family:'Poppins','Helvetica Neue',Arial,sans-serif;
    background:var(--nsl-bg);
    color:var(--nsl-charcoal);
    width:100%;
    box-sizing:border-box;
  }
  .nsl-footer *{ box-sizing:border-box; }
  .nsl-footer a{ text-decoration:none; color:inherit; }

  /* ---------- Mobile CTA bar (mobile only) ---------- */
  .nsl-mobile-cta{
    display:flex;
    gap:10px;
    padding:16px;
    background:var(--nsl-white);
    border-bottom:1px solid var(--nsl-line);
  }
  .nsl-mobile-cta a{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:13px 10px;
    border-radius:8px;
    font-size:14px;
    font-weight:600;
    letter-spacing:.2px;
  }
  .nsl-mobile-cta .nsl-whatsapp-btn{
    background:var(--nsl-whatsapp);
    color:#fff;
  }
  .nsl-mobile-cta .nsl-call-btn{
    background:var(--nsl-green);
    color:#fff;
  }
  .nsl-mobile-cta svg{ width:18px; height:18px; flex-shrink:0; }

  /* ---------- Main footer body ---------- */
  .nsl-footer-inner{
    max-width:1200px;
    margin:0 auto;
    padding:32px 20px 20px;
  }

  .nsl-brand{
    text-align:center;
    margin-bottom:24px;
  }
  .nsl-logo{
    max-width:190px;
    height:auto;
    margin:0 auto 12px;
    display:block;
  }
  .nsl-tagline{
    font-size:13.5px;
    line-height:1.6;
    color:var(--nsl-charcoal-soft);
    max-width:360px;
    margin:0 auto 16px;
  }

  .nsl-social{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-bottom:8px;
  }
  .nsl-social a{
    width:38px;
    height:38px;
    border-radius:50%;
    background:var(--nsl-green);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s ease, transform .2s ease;
  }
  .nsl-social a:hover{
    background:var(--nsl-green-dark);
    transform:translateY(-2px);
  }
  .nsl-social svg{ width:17px; height:17px; fill:#fff; }

  /* ---------- Link columns (stacked on mobile) ---------- */
  .nsl-columns{
    display:flex;
    flex-direction:column;
    gap:26px;
    padding:24px 0;
    border-top:1px solid var(--nsl-line);
  }
  .nsl-col h4{
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.6px;
    color:var(--nsl-green);
    margin:0 0 14px;
  }
  .nsl-col ul{
    list-style:none;
    margin:0;
    padding:0;
  }
  .nsl-col li{ margin-bottom:9px; }
  .nsl-col a{
    font-size:14px;
    color:var(--nsl-charcoal-soft);
    transition:color .2s ease, padding-left .2s ease;
  }
  .nsl-col a:hover{
    color:var(--nsl-green);
    padding-left:3px;
  }

  .nsl-contact-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:14px;
    color:var(--nsl-charcoal-soft);
    margin-bottom:12px;
  }
  .nsl-contact-item svg{
    width:16px;
    height:16px;
    flex-shrink:0;
    fill:var(--nsl-green);
    margin-top:2px;
  }
  .nsl-contact-item a{ color:var(--nsl-charcoal-soft); }
  .nsl-contact-item a:hover{ color:var(--nsl-green); }

  /* ---------- Bottom bar ---------- */
  .nsl-bottom{
    border-top:1px solid var(--nsl-line);
    padding:18px 20px;
    text-align:center;
  }
  .nsl-bottom p{
    margin:0 0 6px;
    font-size:12.5px;
    line-height:1.7;
    color:var(--nsl-charcoal-soft);
  }
  .nsl-bottom a{
    color:var(--nsl-green);
    font-weight:600;
  }
  .nsl-bottom a:hover{ text-decoration:underline; }
  .nsl-credit{
    font-size:11.5px !important;
    color:#8a8f8a !important;
  }

  /* ============================================================
     DESKTOP / TABLET  (≥992px)
     ============================================================ */
  @media (min-width:992px){
    .nsl-mobile-cta{ display:none; } /* CTA buttons are mobile-only */

    .nsl-footer-inner{ padding:56px 40px 24px; }

    .nsl-columns{
      flex-direction:row;
      justify-content:space-between;
      gap:40px;
      padding:40px 0 32px;
    }

    .nsl-brand{
      text-align:left;
      max-width:280px;
      margin-bottom:0;
    }
    .nsl-logo{ margin:0 0 14px; }
    .nsl-tagline{ margin:0 0 18px; text-align:left; }
    .nsl-social{ justify-content:flex-start; }

    .nsl-top-row{
      display:flex;
      justify-content:space-between;
      gap:40px;
    }
    .nsl-col{ min-width:150px; }

    .nsl-bottom{
      display:flex;
      justify-content:space-between;
      align-items:center;
      text-align:left;
      padding:20px 40px;
    }
    .nsl-bottom p{ margin:0; }
  }

  @media (min-width:600px) and (max-width:991px){
    .nsl-columns{
      flex-direction:row;
      flex-wrap:wrap;
    }
    .nsl-col{ flex:1 1 45%; }
  }/* End custom CSS */