/* ============================================================
   FOOTER.CSS — Deep Ciphers shared site footer ("Let's Build")
   Banner, brand/social card, Services & Company Links dropdown
   menus, newsletter sign-up box, and every cross-page "lock" rule
   that keeps the footer pixel-identical to the Home page footer
   on every page (including typography previously duplicated in
   main.css and home.css).

   Loaded once, from /includes/footer.php, on every page.
   Do not duplicate these rules in page-specific stylesheets.
   ============================================================ */

/* === Footer menu buttons lock: keep Services / Company Links exactly like home footer ===
   Some inner page CSS uses broad button[class*="btn"] rules. The footer menu class
   includes "btn", so this final high-specificity lock prevents those rules from
   turning footer menu headings into large green pill buttons on other pages. */
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:link,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:visited,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:hover,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:focus,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:focus-visible,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn.active {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex-basis: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  outline: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #0a0a0a !important;
  -webkit-text-fill-color: #0a0a0a !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(13px, 1.6vw, 22px) !important;
  line-height: 1.2 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: none !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn::before,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:hover::before,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:focus::before,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn.active::before {
  content: "" !important;
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  min-height: 10px !important;
  max-width: 10px !important;
  max-height: 10px !important;
  flex: 0 0 10px !important;
  display: inline-block !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #2ED06E !important;
  background-color: #2ED06E !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
}

html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn .arr,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:hover .arr,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:focus .arr {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #2ED06E !important;
  -webkit-text-fill-color: #2ED06E !important;
  font-size: 90% !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  transform: none !important;
  transition: transform 0.3s ease !important;
}

html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn *,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:hover * {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Footer dropdown cards and subscribe button remain home-style on every page. */
html body .letsb-section-bg .letsb-wrap .letsb-footer-row .letsb-menu-dropdown {
  background: #ffffff !important;
  border: 1px solid #e2e2e2 !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.06) !important;
  color: #0a0a0a !important;
}

html body .letsb-section-bg .letsb-wrap .letsb-footer-row .letsb-sub-btn,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row .letsb-sub-btn:hover,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row .letsb-sub-btn:focus {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 14px !important;
  border: none !important;
  border-radius: 10px !important;
  background: #2ED06E !important;
  background-color: #2ED06E !important;
  color: #0a0a0a !important;
  -webkit-text-fill-color: #0a0a0a !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: "Plus Jakarta Sans", Arial, sans-serif;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: visible !important;
}

/* ============================================================
   Source: footer.css
   ============================================================ */

/* LET'S BUILD — scoped to .letsb-wrap to avoid global resets */
  .letsb-wrap{max-width:1280px;margin:0 auto;padding:24px 40px 52px;background:#fff;color:#0a0a0a;}

    .letsb-section-bg{background:#fff;}

  /* BANNER */
  .letsb-banner-wrap{position:relative;margin-bottom:38px;}
  .letsb-banner-svg{width:100%;display:block;}

  .letsb-arrow-btn{
    position:absolute;
    right:0;
    bottom:-8px;
    width:13.2%;
    aspect-ratio:1.7/1;
    background:#fff;
    border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
    border:2px solid #0a0a0a;
    box-shadow:0 10px 28px rgba(0,0,0,.08);
    min-width:60px;
  }
  .letsb-arrow-btn span{font-size:clamp(16px,3vw,44px);color:#0a0a0a;line-height:1;}
  .letsb-arrow-btn:hover{background:#f7f7f7;}

  @media (min-width:768px){
    .letsb-banner-wrap{padding-right:18px;}
    .letsb-arrow-btn{
      right:28px;
      bottom:16px;
      width:14.8%;
      max-width:248px;
      min-width:142px;
      aspect-ratio:2/1;
      border-radius:14px;
      border:2px solid #0a0a0a;
      background:#fff;
      box-shadow:none;
    }
    .letsb-arrow-btn span{
      font-size:clamp(22px,2.1vw,44px);
      color:#0a0a0a;
    }
  }

  /* FOOTER ROW */
  .letsb-footer-row{
    display:grid;
    grid-template-columns:minmax(230px,.95fr) minmax(190px,.9fr) minmax(190px,.9fr) minmax(280px,1.15fr);
    gap:28px;
    align-items:start;
  }

  /* BRAND / LOGO AREA */
  .letsb-brand-card{
    min-width:0;
    padding-top:2px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }
  .letsb-logo-slot{
    width:min(250px,100%);
    min-height:92px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    margin-bottom:18px;
    padding:10px 0;
    border-radius:18px;
    background:transparent;
  }
  .letsb-brand-logo{
    width:min(228px,100%);
    max-height:82px;
    object-fit:contain;
    display:block;
  }
  .letsb-brand-note{
    margin:0 0 20px;
    max-width:310px;
    color:#0a0a0a;
    font-size:clamp(15px,1.35vw,20px);
    line-height:1.55;
    font-weight:400;
  }
  .letsb-socials{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    max-width:300px;
  }
  .letsb-social-link{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#0a0a0a;
    text-decoration:none;
    border-radius:12px;
    background:#f7f7f7;
    border:1px solid #e5e5e5;
    transition:color .25s ease, background .25s ease, transform .25s ease, border-color .25s ease;
  }
  .letsb-social-link svg{width:24px;height:24px;display:block;fill:currentColor;}
  .letsb-social-link:hover{
    color:#0a0a0a;
    background:#2ED06E;
    border-color:#2ED06E;
    transform:translateY(-3px);
  }

  /* MENU BUTTON */
  .letsb-menu-btn{
    background:none;border:none;color:#0a0a0a;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
    font-weight:700;
    font-size:clamp(13px,1.6vw,22px);
    letter-spacing:1px;
    cursor:pointer;
    display:flex;align-items:center;gap:10px;
    padding:0;
    white-space:nowrap;
  }
  .letsb-menu-btn::before{content:"";width:10px;height:10px;border-radius:50%;background:#2ED06E;display:inline-block;flex:0 0 10px;}
  .letsb-menu-btn .arr{font-size:90%;font-weight:400;transition:transform 0.3s;color:#2ED06E;}
  .letsb-menu-btn.active .arr{transform:rotate(90deg);}

  /* DROPDOWN CARD */
  .letsb-menu-dropdown{
    background:#fff;
    border:1px solid #e2e2e2;
    box-shadow:0 14px 34px rgba(0,0,0,.06);
    border-radius:16px;
    padding:0 20px;
    margin-top:16px;
    max-height:0;
    overflow:hidden;
    transition:max-height 0.4s ease, padding 0.4s ease;
  }
  .letsb-menu-dropdown.open{max-height:700px;padding:20px;}

  /* SERVICES: 3-column grid */
  .letsb-services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0px 10px;
  }
  .letsb-services-grid a{
    display:block;color:#a7a7a7;text-decoration:none;
    font-size:12.5px;padding:2px 0;line-height:1.5;
    white-space:nowrap;
  }
  .letsb-services-grid a:hover{color:#2ED06E;}

  /* COMPANY LINKS: 2-column grid */
  .letsb-company-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0px 16px;
  }
  .letsb-company-grid a{
    display:block;color:#a7a7a7;text-decoration:none;
    font-size:13px;padding:2px 0;line-height:1.5;
  }
  .letsb-company-grid a:hover{color:#2ED06E;}

  /* SIGNUP */
  .letsb-signup-box{
    background:#fff;
    border:1px solid #e2e2e2;
    box-shadow:0 14px 34px rgba(0,0,0,.06);
    border-radius:16px;
    padding:24px 20px;
  }
  .letsb-signup-title{
    font-size:clamp(18px,2vw,26px);font-weight:700;
    color:#0a0a0a;margin-bottom:16px;
    display:flex;align-items:baseline;gap:8px;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
  }
  .letsb-signup-title small{font-size:12px;font-weight:400;color:#a7a7a7;font-family: "Plus Jakarta Sans", Arial, sans-serif;}
  .letsb-email-wrap{
    background:#f7f7f7;border:1px solid #e7e7e7;border-radius:10px;
    padding:12px 14px;display:flex;align-items:center;gap:8px;
    margin-bottom:12px;
  }
  .letsb-email-wrap input{border:none;outline:none;background:transparent;font-size:13px;color:#0a0a0a;width:100%;}
  .letsb-sub-btn{
    width:100%;background:#2ED06E;color:#0a0a0a;
    border:none;border-radius:10px;padding:14px;
    font-size:14px;font-weight:600;cursor:pointer;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
  }
  .letsb-sub-btn:hover{background:#27bd63;}

  /* ── TABLET (≤900px) ── */
  @media(max-width:900px){
    .letsb-wrap{padding:20px 24px 40px;}
    .letsb-footer-row{grid-template-columns:1fr 1fr;gap:24px 20px;}
    .letsb-brand-card{grid-column:1 / -1;display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:22px;align-items:center;}
    .letsb-logo-slot{margin-bottom:0;justify-self:start;width:min(250px,100%);}
    .letsb-brand-note{margin-bottom:14px;max-width:560px;}
    .letsb-socials{max-width:none;}
    .letsb-signup-box{grid-column:1 / -1;}
    .letsb-services-grid{grid-template-columns:repeat(2,1fr);}
    .letsb-banner-wrap{margin-bottom:24px;}
  }

  /* ── MOBILE (≤560px) ── */
  @media(max-width:560px){
    .letsb-wrap{padding:14px 14px 36px;}
    .letsb-footer-row{grid-template-columns:1fr;gap:18px;}
    .letsb-brand-card{grid-column:auto;display:flex;flex-direction:column;align-items:center;text-align:center;}
    .letsb-logo-slot{width:min(230px,100%);min-height:82px;margin:0 auto 14px;justify-content:center;padding:8px 0;}
    .letsb-brand-logo{max-height:74px;width:min(215px,100%);}
    .letsb-brand-note{max-width:420px;margin-left:auto;margin-right:auto;}
    .letsb-socials{justify-content:center;max-width:300px;margin:0 auto;}
    .letsb-social-link{width:40px;height:40px;}
    .letsb-signup-box{grid-column:auto;}
    .letsb-services-grid{grid-template-columns:1fr 1fr;}
    .letsb-company-grid{grid-template-columns:1fr 1fr;}
    .letsb-arrow-btn{border-radius:10px;min-width:44px;}
    .letsb-banner-wrap{margin-bottom:16px;}
  }

  /* ── VERY SMALL (≤360px) ── */
  /* .letsb-socials / .letsb-social-link / .letsb-social-link svg / .letsb-company-grid
     are set again, with identical values, in the "Very small phones" ≤360px block
     further down — kept there only, to avoid a byte-for-byte duplicate rule. */
  @media(max-width:360px){
    .letsb-logo-slot{width:min(205px,100%);min-height:74px;}
    .letsb-brand-logo{max-height:66px;width:min(195px,100%);}
    .letsb-services-grid{grid-template-columns:1fr;}
  }

  /* === SERVICES CARD ONLY: slight width increase so all service text is readable === */
  #letsb-services.letsb-menu-dropdown{
    width:min(540px, calc(100vw - 48px));
    max-width:540px;
    box-sizing:border-box;
  }
  #letsb-services .letsb-services-grid{
    grid-template-columns:minmax(145px, 1fr) minmax(170px, 1.1fr) minmax(125px, .9fr);
    column-gap:18px;
  }
  #letsb-services .letsb-services-grid a{
    overflow:visible;
    text-overflow:clip;
    white-space:nowrap;
  }

  @media(max-width:900px){
    #letsb-services.letsb-menu-dropdown{
      width:100%;
      max-width:100%;
    }
    #letsb-services .letsb-services-grid{
      grid-template-columns:1fr 1fr;
      column-gap:18px;
    }
  }

  @media(max-width:360px){
    #letsb-services .letsb-services-grid{
      grid-template-columns:1fr;
    }
  }

  /* === FULL RESPONSIVE FIXES (ADDED) === */
  html,body{
    width:100%;
    max-width:100%;
    /* Clip horizontal overflow without creating a second body scroll container. */
    overflow-x:clip;
    -webkit-text-size-adjust:100%;
  }
  .letsb-section-bg,
  .letsb-wrap,
  .letsb-wrap *{
    box-sizing:border-box;
  }
  .letsb-section-bg{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  .letsb-wrap{
    width:100%;
    max-width:1280px;
    padding:clamp(14px,2.5vw,24px) clamp(14px,4vw,40px) clamp(36px,5vw,52px);
  }
  .letsb-banner-svg{
    width:100%;
    max-width:100%;
    height:auto;
  }
  .letsb-arrow-btn{
    width:clamp(46px,13.2%,150px);
    min-width:44px;
    max-width:150px;
  }
  .letsb-footer-row,
  .letsb-footer-row > div,
  .letsb-brand-card,
  .letsb-signup-box,
  .letsb-menu-dropdown,
  .letsb-email-wrap{
    min-width:0;
  }
  .letsb-menu-dropdown{
    width:100%;
    max-width:100%;
  }
  .letsb-menu-dropdown.open{
    max-height:1200px;
  }
  .letsb-services-grid a:empty{
    display:none;
  }
  .letsb-services-grid a,
  .letsb-company-grid a,
  #letsb-services .letsb-services-grid a{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .letsb-signup-title{
    flex-wrap:wrap;
  }
  .letsb-email-wrap input{
    min-width:0;
  }

  /* Large tablet / small laptop */
  @media(max-width:1100px){
    .letsb-footer-row{
      grid-template-columns:1fr 1fr;
      gap:24px 20px;
    }
    .letsb-brand-card{
      grid-column:1 / -1;
      display:grid;
      grid-template-columns:minmax(190px,280px) 1fr;
      gap:22px;
      align-items:center;
    }
    .letsb-logo-slot{
      margin-bottom:0;
      justify-self:start;
      width:min(250px,100%);
    }
    .letsb-brand-note{
      max-width:620px;
      margin-bottom:14px;
    }
    .letsb-socials{
      max-width:none;
    }
    .letsb-signup-box{
      grid-column:1 / -1;
    }
    #letsb-services.letsb-menu-dropdown{
      width:100%;
      max-width:100%;
    }
    #letsb-services .letsb-services-grid{
      grid-template-columns:1fr 1fr;
      column-gap:18px;
    }
  }

  /* Tablets and phones */
  @media(max-width:640px){
    .letsb-wrap{
      padding:14px 14px 36px;
    }
    .letsb-banner-wrap{
      margin-bottom:22px;
    }
    .letsb-banner-svg text:first-of-type{
      font-size:185px;
    }
    .letsb-banner-svg text:nth-of-type(2){
      font-size:24px;
      letter-spacing:3px;
      transform:translateX(-500px);
    }
    .letsb-footer-row{
      grid-template-columns:1fr;
      gap:20px;
    }
    .letsb-brand-card{
      grid-column:auto;
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      text-align:left;
      padding:4px 0 8px;
    }
    .letsb-brand-card > div:last-child{
      width:100%;
    }
    .letsb-logo-slot{
      width:min(270px,78vw);
      min-height:auto;
      margin:0 0 12px;
      justify-content:flex-start;
      padding:4px 0;
    }
    .letsb-brand-logo{
      width:100%;
      max-width:250px;
      max-height:84px;
      object-position:left center;
    }
    .letsb-brand-note{
      max-width:100%;
      margin:0 0 18px;
      font-size:clamp(15px,4.2vw,18px);
      line-height:1.6;
    }
    .letsb-socials{
      justify-content:flex-start;
      max-width:100%;
      margin:0;
      gap:14px;
    }
    .letsb-social-link{
      width:42px;
      height:42px;
    }
    .letsb-services-grid,
    #letsb-services .letsb-services-grid,
    .letsb-company-grid{
      grid-template-columns:1fr 1fr;
    }
    .letsb-signup-box{
      grid-column:auto;
      padding:22px 20px;
    }
    .letsb-arrow-btn{
      border-radius:10px;
      bottom:-8px;
    }
  }

  /* Small phones */
  @media(max-width:420px){
    .letsb-wrap{
      padding:14px 14px 34px;
    }
    .letsb-banner-wrap{
      margin-bottom:18px;
    }
    .letsb-logo-slot{
      width:min(240px,80vw);
      margin-bottom:10px;
    }
    .letsb-brand-logo{
      max-width:220px;
      max-height:76px;
    }
    .letsb-brand-note{
      font-size:clamp(14px,4.3vw,17px);
      margin-bottom:16px;
    }
    .letsb-socials{
      gap:12px;
    }
    .letsb-services-grid,
    #letsb-services .letsb-services-grid{
      grid-template-columns:1fr;
    }
    .letsb-company-grid{
      grid-template-columns:1fr 1fr;
      column-gap:12px;
    }
    .letsb-email-wrap{
      padding:12px;
    }
    .letsb-sub-btn{
      padding:13px;
    }
  }

  /* Very small phones */
  @media(max-width:360px){
    .letsb-logo-slot{
      width:min(210px,82vw);
    }
    .letsb-brand-logo{
      max-width:195px;
      max-height:68px;
    }
    .letsb-socials{
      gap:10px;
      max-width:250px;
    }
    .letsb-social-link{
      width:38px;
      height:38px;
      border-radius:10px;
    }
    .letsb-social-link svg{
      width:22px;
      height:22px;
    }
    .letsb-company-grid{
      grid-template-columns:1fr;
    }
  }

/* === Shared footer hardening fixes === */
.letsb-section-bg {
  width: 100%;
  background: #fff;
  position: relative;
  z-index: 1;
  overflow: visible;
}
.letsb-section-bg .letsb-wrap,
.letsb-section-bg .letsb-footer-row,
.letsb-section-bg .letsb-brand-card,
.letsb-section-bg .letsb-signup-box {
  box-sizing: border-box;
}
.letsb-section-bg .letsb-menu-btn {
  appearance: none;
  -webkit-appearance: none;
  visibility: visible;
  opacity: 1;
  position: relative;
  z-index: 2;
}
.letsb-section-bg .letsb-menu-dropdown {
  box-sizing: border-box;
  visibility: visible;
}
.letsb-section-bg .letsb-menu-dropdown.open {
  display: block;
  opacity: 1;
  visibility: visible;
}
.letsb-section-bg .letsb-sub-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  appearance: none;
  -webkit-appearance: none;
  visibility: visible;
  opacity: 1;
}
.letsb-section-bg .letsb-social-link svg,
.letsb-section-bg .letsb-banner-svg {
  display: block;
}
.letsb-section-bg .letsb-social-link svg path {
  fill: currentColor;
}
.letsb-section-bg a,
.letsb-section-bg button,
.letsb-section-bg input {
  pointer-events: auto;
}

/* === FINAL: screenshot-matched footer dropdown sizing/padding on every page === */
.letsb-section-bg,
.letsb-section-bg .letsb-wrap,
.letsb-section-bg .letsb-footer-row{overflow:visible!important;}
.letsb-section-bg .letsb-footer-row>div{position:relative!important;overflow:visible!important;}
.letsb-section-bg #letsb-services.letsb-menu-dropdown{
  width:min(540px, calc(100vw - 48px))!important;
  max-width:540px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding-left:20px!important;
  padding-right:20px!important;
  border:1px solid #e2e2e2!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(0,0,0,.06)!important;
}
.letsb-section-bg #letsb-services.letsb-menu-dropdown.open{padding:20px!important;max-height:900px!important;overflow:visible!important;}
.letsb-section-bg #letsb-services .letsb-services-grid{
  display:grid!important;
  grid-template-columns:145px 182px 110px!important;
  column-gap:28px!important;
  row-gap:0!important;
  align-items:start!important;
  width:100%!important;
}
.letsb-section-bg #letsb-services .letsb-services-grid a{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  color:#a7a7a7!important;
  -webkit-text-fill-color:#a7a7a7!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:500 !important;
  padding:2px 0!important;
  margin:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-overflow:clip!important;
  overflow:visible!important;
}
.letsb-section-bg #letsb-company.letsb-menu-dropdown{
  width:min(420px, calc(100vw - 48px))!important;
  max-width:420px!important;
  box-sizing:border-box!important;
  padding-left:20px!important;
  padding-right:20px!important;
}
.letsb-section-bg #letsb-company.letsb-menu-dropdown.open{padding:20px!important;max-height:900px!important;overflow:visible!important;}
@media(max-width:1100px){
  .letsb-section-bg #letsb-services.letsb-menu-dropdown,
  .letsb-section-bg #letsb-company.letsb-menu-dropdown{width:100%!important;max-width:100%!important;}
  .letsb-section-bg #letsb-services .letsb-services-grid{grid-template-columns:1fr 1fr!important;column-gap:24px!important;}
}
@media(max-width:640px){
  .letsb-section-bg #letsb-services .letsb-services-grid,
  .letsb-section-bg #letsb-company .letsb-company-grid{grid-template-columns:1fr 1fr!important;column-gap:18px!important;}
}
@media(max-width:420px){
  .letsb-section-bg #letsb-services .letsb-services-grid,
  .letsb-section-bg #letsb-company .letsb-company-grid{grid-template-columns:1fr!important;}
}

/* === COMPANY LINKS dropdown only: screenshot-matched size/padding === */
.letsb-section-bg #letsb-company.letsb-menu-dropdown,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown{
  width:258px!important;
  max-width:258px!important;
  min-width:258px!important;
  box-sizing:border-box!important;
  padding-left:20px!important;
  padding-right:20px!important;
  border:1px solid #e2e2e2!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(0,0,0,.06)!important;
}
.letsb-section-bg #letsb-company.letsb-menu-dropdown.open,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown.open{
  width:258px!important;
  max-width:258px!important;
  min-width:258px!important;
  padding:20px!important;
  max-height:900px!important;
  overflow:visible!important;
}
.letsb-section-bg #letsb-company .letsb-company-grid,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  column-gap:16px!important;
  row-gap:0!important;
  width:100%!important;
  align-items:start!important;
}
.letsb-section-bg #letsb-company .letsb-company-grid a,
html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid a{
  display:block!important;
  color:#a7a7a7!important;
  -webkit-text-fill-color:#a7a7a7!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:500 !important;
  padding:2px 0!important;
  margin:0!important;
  text-decoration:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:1100px){
  .letsb-section-bg #letsb-company.letsb-menu-dropdown,
  .letsb-section-bg #letsb-company.letsb-menu-dropdown.open,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown.open{
    width:258px!important;
    max-width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:420px){
  .letsb-section-bg #letsb-company.letsb-menu-dropdown,
  .letsb-section-bg #letsb-company.letsb-menu-dropdown.open,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown.open{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .letsb-section-bg #letsb-company .letsb-company-grid,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid{
    grid-template-columns:1fr 1fr!important;
    column-gap:16px!important;
  }
}
@media(max-width:340px){
  .letsb-section-bg #letsb-company .letsb-company-grid,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid{
    grid-template-columns:1fr!important;
  }
}

/* ------------------------------------------------------------
   Footer typography (relocated from main.css — was duplicated
   there as a footer-only rule block; kept here as the single
   source of truth so it travels with the rest of the footer).
   ------------------------------------------------------------ */
/* Footer / final CTA */
.letsb-section-bg,
.letsb-section-bg * {
  font-family: "Plus Jakarta Sans", Arial, sans-serif;
}

.letsb-banner-svg text {
  font-family: "Plus Jakarta Sans", Arial, sans-serif;
}

.letsb-banner-svg text:first-of-type {
  font-weight: var(--dc-weight-extrabold) !important;
  letter-spacing: -0.045em !important;
}

.letsb-banner-svg text:last-of-type {
  font-weight: var(--dc-weight-medium) !important;
  letter-spacing: 0.16em !important;
}

.letsb-brand-note {
  font-size: clamp(0.96rem, 1vw, 1.05rem) !important;
  font-weight: var(--dc-weight-regular) !important;
  line-height: 1.72 !important;
  letter-spacing: -0.008em !important;
}

.letsb-menu-btn {
  font-size: 0.86rem !important;
  font-weight: var(--dc-weight-bold) !important;
}

.letsb-services-grid a,
.letsb-company-grid a {
  font-size: 0.95rem !important;
  font-weight: var(--dc-weight-medium) !important;
  line-height: 1.42 !important;
  letter-spacing: -0.008em !important;
}

.letsb-signup-title {
  font-size: 1rem !important;
  font-weight: var(--dc-weight-extrabold) !important;
  letter-spacing: 0.05em !important;
}

.letsb-signup-title small {
  font-size: 0.85rem !important;
  font-weight: var(--dc-weight-medium) !important;
  letter-spacing: -0.006em !important;
  text-transform: none !important;
}

.letsb-email-wrap input {
  font-size: 0.95rem !important;
  font-weight: var(--dc-weight-regular) !important;
  line-height: 1.2 !important;
}

.letsb-sub-btn {
  font-size: 0.9rem !important;
  font-weight: var(--dc-weight-bold) !important;
  letter-spacing: 0.045em !important;
}

/* ------------------------------------------------------------
   Footer home-page style lock (relocated from an inline <style>
   in includes/footer.php). Kept as the LAST section in this file
   so it continues to win the cascade against everything above,
   exactly as it did as the final inline block on every page.
   Purpose: keeps Services / Company Links buttons identical on
   every page, matching the Home page footer exactly.
   ------------------------------------------------------------ */
html body .letsb-section-bg {
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    color: #0a0a0a !important;
    overflow-x: hidden !important;
  }
  html body .letsb-section-bg,
  html body .letsb-section-bg * {
    box-sizing: border-box !important;
  }
  html body .letsb-section-bg .letsb-wrap {
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: clamp(14px, 2.5vw, 24px) clamp(14px, 4vw, 40px) clamp(36px, 5vw, 52px) !important;
    background: #ffffff !important;
    color: #0a0a0a !important;
  }
  html body .letsb-section-bg .letsb-footer-row {
    display: grid !important;
    grid-template-columns: minmax(230px, .95fr) minmax(190px, .9fr) minmax(190px, .9fr) minmax(280px, 1.15fr) !important;
    gap: 28px !important;
    align-items: start !important;
    color: #0a0a0a !important;
  }
  html body .letsb-section-bg .letsb-footer-row > div,
  html body .letsb-section-bg .letsb-brand-card,
  html body .letsb-section-bg .letsb-signup-box,
  html body .letsb-section-bg .letsb-menu-dropdown {
    min-width: 0 !important;
  }

  /* HOME PAGE EXACT FOOTER MENU BUTTON: black text + green dot + green arrow */
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:hover,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:focus,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:focus-visible,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:active,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn.active {
    all: unset !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    cursor: pointer !important;
    color: #0a0a0a !important;
    -webkit-text-fill-color: #0a0a0a !important;
    font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
    font-size: clamp(13px, 1.6vw, 22px) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn::before,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:hover::before,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:focus::before,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn.active::before {
    content: "" !important;
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    min-height: 10px !important;
    max-width: 10px !important;
    max-height: 10px !important;
    flex: 0 0 10px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #2ED06E !important;
    background-color: #2ED06E !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn .arr,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:hover .arr,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn:focus .arr {
    all: unset !important;
    display: inline-block !important;
    color: #2ED06E !important;
    -webkit-text-fill-color: #2ED06E !important;
    font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
    font-size: 90% !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    margin-left: 0 !important;
    transform: none !important;
    transition: transform .3s ease !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn.active .arr {
    transform: rotate(90deg) !important;
  }

  /* Closed menu line/dropdown card same as home footer */
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row .letsb-menu-dropdown {
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e2e2e2 !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.06) !important;
    border-radius: 16px !important;
    padding: 0 20px !important;
    margin-top: 16px !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: none !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row .letsb-menu-dropdown.open {
    max-height: 1200px !important;
    padding: 20px !important;
  }
  html body .letsb-section-bg .letsb-services-grid,
  html body .letsb-section-bg #letsb-services .letsb-services-grid {
    display: grid !important;
    grid-template-columns: minmax(145px, 1fr) minmax(170px, 1.1fr) minmax(125px, .9fr) !important;
    gap: 0 18px !important;
  }
  html body .letsb-section-bg .letsb-company-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 16px !important;
  }
  html body .letsb-section-bg .letsb-services-grid a,
  html body .letsb-section-bg .letsb-company-grid a {
    display: block !important;
    color: #a7a7a7 !important;
    -webkit-text-fill-color: #a7a7a7 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    padding: 2px 0 !important;
    font-weight: 500 !important;
    background: transparent !important;
  }
  html body .letsb-section-bg .letsb-services-grid a:hover,
  html body .letsb-section-bg .letsb-company-grid a:hover {
    color: #2ED06E !important;
    -webkit-text-fill-color: #2ED06E !important;
  }

  /* Newsletter button same as home footer, not affected by page CTA styles */
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row .letsb-sub-btn,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row .letsb-sub-btn:hover,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row .letsb-sub-btn:focus {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #2ED06E !important;
    background-color: #2ED06E !important;
    color: #0a0a0a !important;
    -webkit-text-fill-color: #0a0a0a !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: visible !important;
    cursor: pointer !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row .letsb-sub-btn:hover,
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row .letsb-sub-btn:focus {
    background: #27bd63 !important;
    background-color: #27bd63 !important;
  }

  @media (max-width: 1100px) {
    html body .letsb-section-bg .letsb-footer-row {
      grid-template-columns: 1fr 1fr !important;
      gap: 24px 20px !important;
    }
    html body .letsb-section-bg .letsb-brand-card {
      grid-column: 1 / -1 !important;
      display: grid !important;
      grid-template-columns: minmax(190px, 280px) 1fr !important;
      gap: 22px !important;
      align-items: center !important;
    }
    html body .letsb-section-bg .letsb-signup-box {
      grid-column: 1 / -1 !important;
    }
    html body .letsb-section-bg .letsb-services-grid,
    html body .letsb-section-bg #letsb-services .letsb-services-grid {
      grid-template-columns: 1fr 1fr !important;
    }
  }
  @media (max-width: 640px) {
    html body .letsb-section-bg .letsb-wrap {
      padding: 14px 14px 36px !important;
    }
    html body .letsb-section-bg .letsb-footer-row {
      grid-template-columns: 1fr !important;
      gap: 18px !important;
    }
    html body .letsb-section-bg .letsb-brand-card {
      grid-column: auto !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      text-align: left !important;
    }
    html body .letsb-section-bg .letsb-signup-box {
      grid-column: auto !important;
    }
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row button.letsb-menu-btn {
      font-size: clamp(18px, 5.4vw, 24px) !important;
      gap: 10px !important;
    }
    html body .letsb-section-bg .letsb-services-grid,
    html body .letsb-section-bg #letsb-services .letsb-services-grid,
    html body .letsb-section-bg .letsb-company-grid {
      grid-template-columns: 1fr 1fr !important;
    }
  }
  @media (max-width: 360px) {
    html body .letsb-section-bg .letsb-services-grid,
    html body .letsb-section-bg #letsb-services .letsb-services-grid,
    html body .letsb-section-bg .letsb-company-grid {
      grid-template-columns: 1fr !important;
    }
  }


  /* === FINAL: screenshot-matched footer dropdown sizing/padding on every page === */
  html body .letsb-section-bg,
  html body .letsb-section-bg .letsb-wrap,
  html body .letsb-section-bg .letsb-footer-row {
    overflow: visible !important;
  }
  html body .letsb-section-bg .letsb-footer-row > div {
    position: relative !important;
    overflow: visible !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-services.letsb-menu-dropdown {
    width: min(540px, calc(100vw - 48px)) !important;
    max-width: 540px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.06) !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-services.letsb-menu-dropdown.open {
    padding: 20px !important;
    max-height: 900px !important;
    overflow: visible !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-services .letsb-services-grid {
    display: grid !important;
    grid-template-columns: 145px 182px 110px !important;
    column-gap: 28px !important;
    row-gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-services .letsb-services-grid a {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    color: #a7a7a7 !important;
    -webkit-text-fill-color: #a7a7a7 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    padding: 2px 0 !important;
    margin: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-overflow: clip !important;
    overflow: visible !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown {
    width: min(420px, calc(100vw - 48px)) !important;
    max-width: 420px !important;
    box-sizing: border-box !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown.open {
    padding: 20px !important;
    max-height: 900px !important;
    overflow: visible !important;
  }

  @media (max-width: 1100px) {
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-services.letsb-menu-dropdown,
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown {
      width: 100% !important;
      max-width: 100% !important;
    }
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-services .letsb-services-grid {
      grid-template-columns: 1fr 1fr !important;
      column-gap: 24px !important;
    }
  }
  @media (max-width: 640px) {
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-services .letsb-services-grid,
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid {
      grid-template-columns: 1fr 1fr !important;
      column-gap: 18px !important;
    }
  }
  @media (max-width: 420px) {
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-services .letsb-services-grid,
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid {
      grid-template-columns: 1fr !important;
    }
  }

  /* === COMPANY LINKS dropdown only: screenshot-matched size/padding === */
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown {
    width: 258px !important;
    max-width: 258px !important;
    min-width: 258px !important;
    box-sizing: border-box !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.06) !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown.open {
    width: 258px !important;
    max-width: 258px !important;
    min-width: 258px !important;
    padding: 20px !important;
    max-height: 900px !important;
    overflow: visible !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 16px !important;
    row-gap: 0 !important;
    width: 100% !important;
    align-items: start !important;
  }
  html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid a {
    display: block !important;
    color: #a7a7a7 !important;
    -webkit-text-fill-color: #a7a7a7 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
    padding: 2px 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  @media (max-width: 1100px) {
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown,
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown.open {
      width: 258px !important;
      max-width: 100% !important;
      min-width: 0 !important;
    }
  }
  @media (max-width: 420px) {
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown,
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown.open {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
    }
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid {
      grid-template-columns: 1fr 1fr !important;
      column-gap: 16px !important;
    }
  }
  @media (max-width: 340px) {
    html body .letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid {
      grid-template-columns: 1fr !important;
    }
  }

/* === REFERENCE-MATCHED FOOTER BOTTOM STRIP + RIGHT-ALIGNED SOCIALS ===
   The existing social markup remains a single row after the unchanged footer
   columns.  At the reference's 1919px viewport the strip resolves to 156px,
   the icons to 42px, the gap to 14px and the right inset to about 92px. */
html body #lets-build.letsb-section-bg .letsb-wrap > .letsb-socials-row.letsb-bottom-strip {
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: clamp(96px, 5.85vw, 112px) !important;
  margin-top: 42px !important;
  margin-right: 0 !important;
  margin-bottom: -52px !important;
  margin-left: -50vw !important;
  padding: 0 clamp(24px, 4.8vw, 92px) !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #081E42 !important;
  background-color: #081E42 !important;
  border: 0 !important;
}

html body #lets-build.letsb-section-bg .letsb-wrap > .letsb-socials-row.letsb-bottom-strip > .letsb-strip-contact {
  min-width: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex: 0 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 7px !important;
}

html body #lets-build.letsb-section-bg .letsb-bottom-strip .letsb-strip-contact-line {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
  font-size: clamp(14px, 0.92vw, 18px) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.055em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

html body #lets-build.letsb-section-bg .letsb-bottom-strip .letsb-strip-contact-line:hover,
html body #lets-build.letsb-section-bg .letsb-bottom-strip .letsb-strip-contact-line:focus-visible {
  color: #2ED06E !important;
  -webkit-text-fill-color: #2ED06E !important;
}

html body #lets-build.letsb-section-bg .letsb-bottom-strip .letsb-strip-contact-icon {
  width: 28px !important;
  height: 28px !important;
  max-width: none !important;
  flex: 0 0 28px !important;
  color: #2ED06E !important;
}

html body #lets-build.letsb-section-bg .letsb-wrap > .letsb-socials-row.letsb-bottom-strip > .letsb-socials {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
}

html body #lets-build.letsb-section-bg .letsb-socials-row.letsb-bottom-strip .letsb-social-link {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  color: #ffffff !important;
  background: rgba(0, 0, 0, 0.42) !important;
  background-color: rgba(0, 0, 0, 0.42) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 10px !important;
}

html body #lets-build.letsb-section-bg .letsb-socials-row.letsb-bottom-strip .letsb-social-link:hover,
html body #lets-build.letsb-section-bg .letsb-socials-row.letsb-bottom-strip .letsb-social-link:focus-visible {
  color: #081E42 !important;
  background: #2ED06E !important;
  background-color: #2ED06E !important;
  border-color: #2ED06E !important;
}

@media (max-width: 900px) {
  html body #lets-build.letsb-section-bg .letsb-wrap > .letsb-socials-row.letsb-bottom-strip {
    margin-bottom: -40px !important;
  }
}

@media (max-width: 640px) {
  html body #lets-build.letsb-section-bg .letsb-wrap > .letsb-socials-row.letsb-bottom-strip {
    min-height: 164px !important;
    margin-top: 32px !important;
    margin-bottom: -36px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 18px !important;
  }

  html body #lets-build.letsb-section-bg .letsb-wrap > .letsb-socials-row.letsb-bottom-strip > .letsb-socials {
    width: 100% !important;
    gap: 12px !important;
  }
}

@media (max-width: 420px) {
  html body #lets-build.letsb-section-bg .letsb-wrap > .letsb-socials-row.letsb-bottom-strip {
    min-height: 158px !important;
    margin-top: 28px !important;
    margin-bottom: -34px !important;
  }

  html body #lets-build.letsb-section-bg .letsb-wrap > .letsb-socials-row.letsb-bottom-strip > .letsb-socials {
    gap: 10px !important;
  }

  html body #lets-build.letsb-section-bg .letsb-bottom-strip .letsb-strip-contact-line {
    gap: 10px !important;
    font-size: 13px !important;
    letter-spacing: 0.035em !important;
  }

  html body #lets-build.letsb-section-bg .letsb-bottom-strip .letsb-strip-contact-icon {
    width: 25px !important;
    height: 25px !important;
    flex-basis: 25px !important;
  }
}

@media (max-width: 360px) {
  html body #lets-build.letsb-section-bg .letsb-socials-row.letsb-bottom-strip .letsb-social-link {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }
}

@media (max-width: 340px) {
  html body #lets-build.letsb-section-bg .letsb-wrap > .letsb-socials-row.letsb-bottom-strip {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  html body #lets-build.letsb-section-bg .letsb-wrap > .letsb-socials-row.letsb-bottom-strip > .letsb-socials {
    gap: 8px !important;
  }
}

/* ============================================================
   Reusable Footer component isolation
   Keeps inherited page-level resets from changing the approved
   Home Footer while leaving every selector scoped to this Footer.
   ============================================================ */
html body .letsb-section-bg,
html body .letsb-section-bg .letsb-wrap,
html body .letsb-section-bg .letsb-banner-wrap,
html body .letsb-section-bg .letsb-banner-svg,
html body .letsb-section-bg .letsb-arrow-btn,
html body .letsb-section-bg .letsb-footer-row,
html body .letsb-section-bg .letsb-brand-card,
html body .letsb-section-bg .letsb-logo-slot,
html body .letsb-section-bg .letsb-menu-dropdown,
html body .letsb-section-bg .letsb-services-grid,
html body .letsb-section-bg .letsb-company-grid,
html body .letsb-section-bg .letsb-signup-box,
html body .letsb-section-bg .letsb-email-wrap,
html body .letsb-section-bg .letsb-socials-row,
html body .letsb-section-bg .letsb-socials {
  font-family: "Plus Jakarta Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
}

html body .letsb-section-bg svg {
  max-width: none;
}

html body .letsb-section-bg .letsb-banner-svg {
  max-width: 100%;
}

html body .letsb-section-bg .letsb-brand-logo {
  max-width: none;
}

/* Protect Footer arrow SVG presentation attributes from broad inner-page SVG rules. */
html body #lets-build .letsb-arrow-btn > span > svg,
html body #lets-build #letsb-btn-services > .arr > svg,
html body #lets-build #letsb-btn-company > .arr > svg {
  width: 1em !important;
  height: 0.81em !important;
  max-width: none !important;
}

/* IDs intentionally outrank broad page-level button descendant resets. */
html body #lets-build #letsb-btn-services > .arr,
html body #lets-build #letsb-btn-company > .arr {
  line-height: 1 !important;
}

html body .letsb-section-bg .letsb-banner-svg text:first-of-type,
html body .letsb-section-bg .letsb-banner-svg text:last-of-type {
  font-weight: 400 !important;
  line-height: normal !important;
}

html body .letsb-section-bg .letsb-brand-note {
  font-weight: 400 !important;
  line-height: 1.72 !important;
  letter-spacing: -0.008em !important;
}

html body .letsb-section-bg .letsb-signup-title,
html body .letsb-section-bg .letsb-signup-title small {
  font-weight: 400 !important;
  line-height: normal !important;
}

html body .letsb-section-bg .letsb-email-wrap > span {
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
}

html body .letsb-section-bg .letsb-email-wrap input {
  margin: 0;
  padding: 1px 2px;
  font-weight: 400 !important;
  letter-spacing: normal !important;
}

html body .letsb-section-bg .letsb-social-link,
html body .letsb-section-bg .letsb-social-link svg,
html body .letsb-section-bg .letsb-social-link path {
  font-weight: 400 !important;
  line-height: normal !important;
  letter-spacing: normal !important;
}

/* Preserve the approved Home Footer spacing against inner-page resets. */
html body .letsb-section-bg .letsb-banner-wrap {
  margin: 0 0 38px !important;
}

html body .letsb-section-bg .letsb-brand-card {
  padding: 2px 0 0 !important;
}

html body .letsb-section-bg .letsb-logo-slot {
  margin: 0 0 18px !important;
  padding: 10px 0 !important;
}

html body .letsb-section-bg .letsb-brand-note {
  margin: 0 0 20px !important;
}

html body .letsb-section-bg .letsb-signup-box {
  padding: 24px 20px !important;
}

html body .letsb-section-bg .letsb-signup-title {
  margin: 0 0 16px !important;
}

html body .letsb-section-bg .letsb-email-wrap {
  margin: 0 0 12px !important;
  padding: 12px 14px !important;
}

html body .letsb-section-bg .letsb-menu-btn .arr,
html body .letsb-section-bg .letsb-menu-btn .arr svg,
html body .letsb-section-bg .letsb-menu-btn .arr path {
  line-height: 1 !important;
}

@media (max-width: 1100px) {
  html body .letsb-section-bg .letsb-logo-slot {
    margin-bottom: 0 !important;
  }

  html body .letsb-section-bg .letsb-brand-note {
    margin-bottom: 14px !important;
  }
}

@media (max-width: 900px) {
  html body .letsb-section-bg .letsb-banner-wrap {
    margin-bottom: 24px !important;
  }
}

@media (max-width: 640px) {
  html body .letsb-section-bg .letsb-brand-logo {
    max-width: 250px;
  }

  html body .letsb-section-bg .letsb-banner-wrap {
    margin-bottom: 22px !important;
  }

  html body .letsb-section-bg .letsb-brand-card {
    padding: 4px 0 8px !important;
  }

  html body .letsb-section-bg .letsb-logo-slot {
    margin: 0 0 12px !important;
    padding: 4px 0 !important;
  }

  html body .letsb-section-bg .letsb-brand-note {
    margin: 0 0 18px !important;
  }

  html body .letsb-section-bg .letsb-signup-box {
    padding: 22px 20px !important;
  }
}

@media (max-width: 420px) {
  html body .letsb-section-bg .letsb-brand-logo {
    max-width: 220px;
  }

  html body .letsb-section-bg .letsb-banner-wrap {
    margin-bottom: 18px !important;
  }

  html body .letsb-section-bg .letsb-logo-slot {
    margin-bottom: 10px !important;
  }

  html body .letsb-section-bg .letsb-brand-note {
    margin-bottom: 16px !important;
  }

  html body .letsb-section-bg .letsb-email-wrap {
    padding: 12px !important;
  }
}

@media (max-width: 360px) {
  html body .letsb-section-bg .letsb-brand-logo {
    max-width: 195px;
  }
}

/* Web-development page uses high-specificity global rendering/button rules.
   The Footer ID keeps the approved Home component authoritative without
   touching any page-level selector outside this shared Footer. */
html body #lets-build,
html body #lets-build * {
  text-rendering: auto !important;
}

html body #lets-build .letsb-signup-box > button.letsb-sub-btn,
html body #lets-build .letsb-signup-box > button.letsb-sub-btn:hover,
html body #lets-build .letsb-signup-box > button.letsb-sub-btn:focus,
html body #lets-build .letsb-signup-box > button.letsb-sub-btn:active {
  display: inline-flex !important;
  position: static !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 14px !important;
  margin: 0 !important;
  gap: normal !important;
  column-gap: normal !important;
  row-gap: normal !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 1 auto !important;
  flex-basis: auto !important;
  font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  white-space: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  background: #2ED06E !important;
  background-color: #2ED06E !important;
  color: #0a0a0a !important;
  -webkit-text-fill-color: #0a0a0a !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

html body #lets-build .letsb-signup-box > button.letsb-sub-btn:hover,
html body #lets-build .letsb-signup-box > button.letsb-sub-btn:focus {
  background: #27bd63 !important;
  background-color: #27bd63 !important;
}

html body #lets-build .letsb-signup-box > button.letsb-sub-btn::before,
html body #lets-build .letsb-signup-box > button.letsb-sub-btn::after {
  content: none !important;
  display: none !important;
}

/* Home-only compact CTA geometry: size buttons from their text/content instead
   of the previous fixed 56-60px heights. Inner pages remain unchanged. */
html.page-home body #phHeaderRoot header#siteHeader .ph-desktop-actions > a.ph-touch-btn.dc-master-btn,
html.page-home body #phHeaderRoot header#siteHeader .ph-mobile-actions > a.ph-mobile-cta.dc-master-btn,
html.page-home body #phHeaderRoot a.ph-mobile-primary.dc-master-btn,
html.page-home body #hero a.ph-cta-a.dc-master-btn,
html.page-home body #hero a.ph-cta-b.dc-master-btn,
html.page-home body #wcu-section a.wcu-button.dc-master-btn,
html.page-home body #dc-insights a.fi-btn.dc-master-btn,
html.page-home body #dc-industries a.ind2-btn.dc-master-btn,
html.page-home body #lets-build button.letsb-sub-btn.dc-master-btn {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

html.page-home body #hero a.ph-cta-a.dc-master-btn,
html.page-home body #hero a.ph-cta-b.dc-master-btn,
html.page-home body #wcu-section a.wcu-button.dc-master-btn,
html.page-home body #dc-insights a.fi-btn.dc-master-btn,
html.page-home body #dc-industries a.ind2-btn.dc-master-btn {
  gap: 9px !important;
  padding: 4px 5px 4px 18px !important;
}

html.page-home body #hero .ph-cta-icon,
html.page-home body #wcu-section .wcu-button-arrow,
html.page-home body #dc-insights .fi-btn-arrow,
html.page-home body #dc-industries .ind2-btn-arrow {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  flex: 0 0 34px !important;
}

html.page-home body #phHeaderRoot header#siteHeader .ph-desktop-actions > a.ph-touch-btn.dc-master-btn,
html.page-home body #phHeaderRoot header#siteHeader .ph-mobile-actions > a.ph-mobile-cta.dc-master-btn,
html.page-home body #phHeaderRoot a.ph-mobile-primary.dc-master-btn {
  padding: 7px 16px !important;
  gap: 0 !important;
  justify-content: center !important;
}

html.page-home body #lets-build button.letsb-sub-btn.dc-master-btn {
  padding: 10px 16px !important;
  gap: 0 !important;
  justify-content: center !important;
}

@media (max-width: 767px) {
  html.page-home body #hero a.ph-cta-a.dc-master-btn,
  html.page-home body #hero a.ph-cta-b.dc-master-btn,
  html.page-home body #wcu-section a.wcu-button.dc-master-btn,
  html.page-home body #dc-insights a.fi-btn.dc-master-btn,
  html.page-home body #dc-industries a.ind2-btn.dc-master-btn {
    gap: 8px !important;
    padding: 4px 5px 4px 16px !important;
  }

  html.page-home body #hero .ph-cta-icon,
  html.page-home body #wcu-section .wcu-button-arrow,
  html.page-home body #dc-insights .fi-btn-arrow,
  html.page-home body #dc-industries .ind2-btn-arrow {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    flex-basis: 32px !important;
  }
}

/* 2026-08-16 — Home Success Stories CTA: compact content-fit width only.
   Keep color, height, typography, arrow and hover behavior unchanged. */
html.page-home body #dc-insights a.fi-btn.dc-master-btn {
  width: fit-content !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* === Mobile-only compact LET'S BUILD banner ===
   Laptop/tablet keep the original footer banner unchanged. */
.letsb-banner-svg--mobile{
  display:none!important;
}

@media (max-width:767px){
  .letsb-banner-svg--desktop{
    display:none!important;
  }
  .letsb-banner-svg--mobile{
    display:block!important;
    width:100%;
    height:auto;
    overflow:visible;
  }
  .letsb-banner-svg--mobile .letsb-mobile-title{
    fill:#fff;
    font-family:"Plus Jakarta Sans", Arial, sans-serif;
    font-size:42px;
    font-weight:700;
    letter-spacing:-1.15px;
  }
  .letsb-banner-svg--mobile .letsb-mobile-subtitle{
    fill:#fff;
    font-family:"Plus Jakarta Sans", Arial, sans-serif;
    font-size:7px;
    font-weight:400;
    letter-spacing:1.05px;
    text-anchor:middle;
  }
  /* The compact mobile SVG already contains its own arrow panel. */
  .letsb-banner-wrap > .letsb-arrow-btn{
    display:none!important;
  }
}


/* 2026-08-16 — Mobile LET'S BUILD exact reference artwork.
   Desktop/laptop remains the original footer banner. */
.letsb-banner-mobile-art{
  display:none!important;
}
@media (max-width:767px){
  html body #lets-build .letsb-banner-svg--desktop{
    display:none!important;
  }
  html body #lets-build .letsb-banner-svg--mobile{
    display:none!important;
  }
  html body #lets-build .letsb-banner-mobile-art{
    display:block!important;
    width:min(100%, 460px)!important;
    max-width:100%!important;
    height:auto!important;
    margin:0 auto!important;
    object-fit:contain!important;
    overflow:visible!important;
  }
  html body #lets-build .letsb-banner-wrap{
    width:100%!important;
    max-width:100%!important;
    padding-inline:8px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  /* The supplied mobile artwork already includes the white pill arrow button. */
  html body #lets-build .letsb-banner-wrap > .letsb-arrow-btn{
    display:none!important;
  }
}
@media (max-width:360px){
  html body #lets-build .letsb-banner-mobile-art{
    width:100%!important;
    max-width:100%!important;
  }
}

/* 2026-08-16 verification fix: mobile banner is inline SVG so its text uses the same
   document-loaded Plus Jakarta Sans as the desktop banner (external SVG <img> fonts
   are not reliable across browsers). Keep the reference mobile shape and laptop colors. */
html body #lets-build .letsb-banner-mobile-art .letsb-mobile-art-title {
  fill: #fff !important;
  font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  letter-spacing: -1.2px !important;
}
html body #lets-build .letsb-banner-mobile-art .letsb-mobile-art-subtitle {
  fill: #fff !important;
  font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* 2026-08-16 — Success Stories CTA explicit width refinement.
   Width only; preserve all existing colors, typography, height, arrow and hover behavior. */
html.page-home body #dc-insights a.fi-btn.dc-master-btn {
  width: 330px !important;
  min-width: 330px !important;
  max-width: 100% !important;
}

@media (max-width: 767px) {
  html.page-home body #dc-insights a.fi-btn.dc-master-btn {
    width: 300px !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* React/TypeScript newsletter validation status */
.letsb-form-message{
  margin:8px 0 0;
  font-family:"Plus Jakarta Sans",Arial,sans-serif;
  font-size:12px;
  line-height:1.4;
  color:#555;
}
.letsb-sub-btn:disabled{opacity:.65;cursor:not-allowed;}

/* ========================================================================== 
   Step 25 — React shared footer responsive hardening
   ========================================================================== 
   #lets-build is the single GlobalFooter root. These rules intentionally live
   at the very end of footer.css so page-level legacy styles cannot resize,
   recolor, clip or otherwise break the shared footer on any route.
*/
html body #lets-build.letsb-section-bg {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
  isolation: isolate !important;
  background: #fff !important;
  color: #0a0a0a !important;
  font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
}

html body #lets-build.letsb-section-bg *,
html body #lets-build.letsb-section-bg *::before,
html body #lets-build.letsb-section-bg *::after {
  box-sizing: border-box !important;
}

html body #lets-build .letsb-wrap,
html body #lets-build .letsb-banner-wrap,
html body #lets-build .letsb-footer-row,
html body #lets-build .letsb-brand-card,
html body #lets-build .letsb-signup-box,
html body #lets-build .letsb-bottom-strip,
html body #lets-build .letsb-socials,
html body #lets-build .letsb-strip-contact {
  min-width: 0 !important;
  max-width: 100% !important;
}

html body #lets-build a,
html body #lets-build button,
html body #lets-build input {
  font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

html body #lets-build .letsb-arrow-btn {
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  transform: none !important;
}

html body #lets-build .letsb-menu-btn {
  max-width: 100% !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

html body #lets-build .letsb-menu-dropdown,
html body #lets-build .letsb-menu-dropdown.open {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html body #lets-build .letsb-services-grid,
html body #lets-build .letsb-company-grid {
  min-width: 0 !important;
  max-width: 100% !important;
}

html body #lets-build .letsb-services-grid a,
html body #lets-build .letsb-company-grid a {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

html body #lets-build .letsb-email-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html body #lets-build .letsb-email-wrap input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 44px !important;
  margin: 0 !important;
  text-transform: none !important;
}

html body #lets-build .letsb-sub-btn,
html body #lets-build .letsb-sub-btn:hover,
html body #lets-build .letsb-sub-btn:focus,
html body #lets-build .letsb-sub-btn:active {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 44px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border-radius: 10px !important;
  white-space: normal !important;
  touch-action: manipulation !important;
}

html body #lets-build .letsb-social-link {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 42px !important;
}

html body #lets-build .letsb-strip-contact-line {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 1100px) {
  html body #lets-build .letsb-footer-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 20px !important;
  }

  html body #lets-build .letsb-brand-card,
  html body #lets-build .letsb-signup-box {
    min-width: 0 !important;
  }

  html body #lets-build .letsb-signup-box {
    grid-column: 1 / -1 !important;
  }

  html body #lets-build #letsb-services.letsb-menu-dropdown,
  html body #lets-build #letsb-company.letsb-menu-dropdown,
  html body #lets-build #letsb-services.letsb-menu-dropdown.open,
  html body #lets-build #letsb-company.letsb-menu-dropdown.open {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  html body #lets-build .letsb-wrap {
    width: 100% !important;
    padding: 16px 16px 36px !important;
  }

  html body #lets-build .letsb-banner-wrap {
    margin-bottom: 26px !important;
    padding-inline: 0 !important;
  }

  html body #lets-build .letsb-footer-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  html body #lets-build .letsb-signup-box {
    grid-column: auto !important;
    width: 100% !important;
  }

  html body #lets-build .letsb-menu-btn {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
    white-space: normal !important;
    min-height: 44px !important;
  }

  html body #lets-build #letsb-services.letsb-menu-dropdown,
  html body #lets-build #letsb-company.letsb-menu-dropdown,
  html body #lets-build #letsb-services.letsb-menu-dropdown.open,
  html body #lets-build #letsb-company.letsb-menu-dropdown.open {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-top: 10px !important;
  }

  html body #lets-build #letsb-services .letsb-services-grid,
  html body #lets-build #letsb-company .letsb-company-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 16px !important;
    row-gap: 4px !important;
  }

  html body #lets-build .letsb-bottom-strip {
    width: 100% !important;
    min-width: 0 !important;
    flex-wrap: wrap !important;
    gap: 18px !important;
  }

  html body #lets-build .letsb-strip-contact,
  html body #lets-build .letsb-socials {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body #lets-build .letsb-socials {
    justify-content: flex-start !important;
    gap: 10px !important;
  }

  html body #lets-build .letsb-brand-logo {
    max-width: min(228px, 75vw) !important;
    height: auto !important;
  }
}

@media (max-width: 480px) {
  html body #lets-build .letsb-wrap {
    padding-inline: 14px !important;
  }

  html body #lets-build #letsb-services .letsb-services-grid,
  html body #lets-build #letsb-company .letsb-company-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body #lets-build .letsb-social-link {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    flex-basis: 40px !important;
  }

  html body #lets-build .letsb-menu-btn,
  html body #lets-build .letsb-sub-btn,
  html body #lets-build .letsb-email-wrap input {
    font-size: 14px !important;
  }
}

@media (max-width: 340px) {
  html body #lets-build .letsb-wrap {
    padding-inline: 12px !important;
  }

  html body #lets-build .letsb-socials {
    gap: 8px !important;
  }
}

/* Services and Company Links dropdowns: compact, balanced links only.
   Kept last to resolve older, conflicting three-column / fixed-width rules. */
html body #lets-build.letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-services .letsb-services-grid,
html body #lets-build.letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 18px !important;
}

@media (min-width: 1101px) {
  html body #lets-build.letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-services.letsb-menu-dropdown {
    width: min(465px, calc(100vw - 48px)) !important;
    max-width: 465px !important;
    min-width: 0 !important;
  }
  html body #lets-build.letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company.letsb-menu-dropdown {
    width: 230px !important;
    max-width: 230px !important;
    min-width: 0 !important;
  }
}

@media (max-width: 480px) {
  html body #lets-build.letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-services .letsb-services-grid,
  html body #lets-build.letsb-section-bg .letsb-wrap .letsb-footer-row #letsb-company .letsb-company-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
