/* ============================================================
   NEOLOCAL™ — SITE
   Existing site styles, header, nav, logo, footer
   Load order: 2 of 4
   ============================================================ */

/* ============================================================
   EXISTING SITE STYLES — unchanged
   ============================================================ */

#site-logo a {
  background: #ffffff;
  border-radius: 6px;
  padding: 8px 18px 6px 12px;
  display: inline-flex;
  align-items: center;
  box-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

#site-logo img {
  height: 55px;
  width: auto;
  display: block;
  -webkit-transition: height 0.2s ease;
  transition: height 0.2s ease;
}

@media screen and (max-width: 1200px) {
  #site-logo img { height: 46px; }
}

@media screen and (max-width: 1024px) {
  #site-logo img { height: 40px; }
}

@media screen and (max-width: 768px) {
  #site-logo img { height: 34px; }
  #site-logo a { padding: 6px 14px 5px 10px; }
}

@media screen and (max-width: 480px) {
  #site-logo img { height: 28px; }
  #site-logo a { padding: 5px 12px 4px 8px; }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
  white-space: nowrap;
}

#main-nav .highlight-link>a {
  box-shadow: 10px 20px 30px -10px #777;
  color: #eceded !important;
}

#main-nav .highlight-link>a:hover {
  box-shadow: 5px 20px 30px -10px #ed6e22;
}

#gform_submit_button_1 {
  border: 3px solid #ed6e22;
}

@media screen and (max-width: 1260px) {
  h1 { font-size: 2.4em; }
}

@media screen and (max-width: 1320px) {
  /* logo height handled by responsive rules below */
}

@media screen and (max-width: 680px) {
  h1 { font-size: 1.9em !important; }
  /* logo height handled by responsive rules below */
}

h1.fancy-heading.tf_textc { font-size: 3em; }

.orangeh {
  color: #ed8220;
  text-shadow: 0 .36px 0.596px #0070a1, 0 -0.5px 0.5px #000;
}

#main-nav .has-mega>.sub-menu {
  left: auto;
  padding: 15px 25px;
  top: auto;
  width: auto;
}

#main-nav .has-mega-column > .sub-menu a {
  padding: .4em 1.4em;
  width: 100%;
}

#main-nav .has-mega-column > .sub-menu a:hover {
  background-color: #eceded;
}

@media screen and (min-width: 761px) {
  #main-nav .has-mega-column > .sub-menu a:hover {
    background-color: #eceded;
  }
}

#headerwrap.fixed-header:before {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.cta_hov { background-color: #ededed; }

.cta_hov:hover {
  background-color: #1d4f91 !important;
  background-image: none;
  color: #eceded !important;
}

#main-nav .has-mega-column .cta_hov>a:hover {
  background-color: #0d1c2e !important;
  color: #FFF !important;
}

.highlight {
  display: inline-block;
  background-image: url("https://s2.svgbox.net/pen-brushes.svg?ic=brush-10&color=143c66");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  margin: -2px -6px;
  padding: 12px 16px;
}

.text-highlight {
  font-style: normal;
  padding: 0 .45em;
  font-weight: 300;
  color: #eceded;
  border-radius: 25px;
  text-shadow: 1px 1px 1px #fff;
  background-color: #143c66;
}

img.wp-post-image { z-index: 1; }

.w_right {
  float: right !important;
  margin-top: -5.5%;
  margin-right: -5.5%;
}

.grad-b-b-o {
  background-image: linear-gradient(to right top, #020814, #111c2b, #172e44, #1a405f, #18547b, #305e92, #4f66a7, #726db9, #b462af, #e4578c, #f8625b, #ed8220);
}

.grad-b-b-b {
  background-image: linear-gradient(to right top, #020814, #111c2b, #172e44, #1a405f, #18547b, #18547b, #18547b, #18547b, #1a405f, #172e44, #111c2b, #020814);
}

.themify_builder_content-2398 .tb_i5in352.module-link-block .tb_link_block_container,
.themify_builder_content-2398 .tb_syj9351.module-link-block .tb_link_block_container,
.themify_builder_content-2398 .tb_qdbu352.module-link-block .tb_link_block_container,
.themify_builder_content-2398 .tb_ao35352.module-link-block .tb_link_block_container {
  font-size: 0.8em;
  line-height: 1.6em;
  color: #eceded;
  background-image: linear-gradient(to right top, #020814, #111c2b, #172e44, #1a405f, #18547b, #305e92, #4f66a7, #726db9, #b462af, #e4578c, #f8625b, #ed8220);
  background-color: #0070a1;
  border-radius: 5px;
  box-shadow: 0 10px 20px -10px #020814;
}

.pillar-eyebrow { margin-bottom: 1.5em; }
.pillar-cta { margin-top: 1.5em; }
.faq img.tf_vmiddle.tf_box.tb_link_block_img { width: 100px; }

.box-it {
  margin-left: 5%;
  margin-right: 5%;
  width: auto;
}

.impact-steps {
  font-family: "Open Sans";
  font-size: 1.2em;
  line-height: 1.7em;
}

@media screen and (max-width: 680px) {
  .hero span.main-head.tf_block {
    font-style: normal;
    letter-spacing: -2px !important;
    font-size: .9em !important;
    font-family: "Open Sans";
    font-weight: 700;
    margin-bottom: 2.5em !important;
  }
  .hero.module-fancy-heading .sub-head {
    font-size: 1.1rem !important;
    padding-top: .3em;
  }
  .impact span.main-head.tf_block { font-size: .5em !important; }
  .impact.module-fancy-heading .sub-head {
    font-size: .27em;
    padding-top: .3em;
  }
  .impact h6 { font-size: 1.0em; }
}


/* ============================================================
   NEOLOCAL™ — FOOTER WIDGETS
   ============================================================ */

/* ── Shared widget base ── */
.nlfw {
  padding: 0;
}

.nlfw-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px; font-weight: 700;
  letter-spacing: 3px; text-transform: uppercase;
  color: rgba(255,255,255,0.40) !important;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.nlfw-title-spaced { margin-top: 28px; }

/* ── Widget 1 — About ── */
.nlfw-tagline {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 18px; font-weight: 600;
  font-style: italic; color: #ffffff !important;
  line-height: 1.3; margin: 0 0 14px 0;
}

.nlfw-desc {
  font-family: 'Barlow', sans-serif !important;
  font-size: 13px; font-weight: 300;
  color: rgba(255,255,255,0.45) !important;
  line-height: 1.7; margin: 0 0 20px 0;
}

.nlfw-powered {
  display: -webkit-inline-flex; display: inline-flex;
  -webkit-align-items: center; align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 3px; padding: 6px 12px;
}

.nlfw-powered-label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 9px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: rgba(255,255,255,0.25) !important;
}

.nlfw-powered-name {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase;
  color: #ed8220 !important;
}

/* ── Widget 2 — Links ── */
.nlfw-list {
  list-style: none !important;
  padding: 0 !important; margin: 0 !important;
  display: -webkit-flex; display: flex;
  -webkit-flex-direction: column; flex-direction: column;
  gap: 8px;
}

.nlfw-list li { margin: 0 !important; padding: 0 !important; }

.nlfw-list a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px; font-weight: 600;
  letter-spacing: 1px; text-transform: uppercase;
  color: rgba(255,255,255,0.45) !important;
  text-decoration: none !important;
  -webkit-transition: color 0.2s; transition: color 0.2s;
}

.nlfw-list a:hover { color: #ed8220 !important; }

/* ── Widget 3 — Partner ── */
.nlfw-partner-desc {
  font-family: 'Barlow', sans-serif !important;
  font-size: 13px; font-weight: 300;
  color: rgba(255,255,255,0.45) !important;
  line-height: 1.7; margin: 0 0 20px 0;
}

.nlfw-partner-stat {
  display: -webkit-flex; display: flex;
  -webkit-align-items: baseline; align-items: baseline;
  gap: 10px; margin-bottom: 20px;
  padding: 14px 16px;
  background: rgba(237,130,32,0.08);
  border: 1px solid rgba(237,130,32,0.15);
  border-left: 3px solid #ed8220;
  border-radius: 4px;
}

.nlfw-partner-stat-num {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 36px; color: #ed8220 !important;
  line-height: 1;
}

.nlfw-partner-stat-label {
  font-family: 'Barlow', sans-serif !important;
  font-size: 12px; font-weight: 300;
  color: rgba(255,255,255,0.50) !important;
  line-height: 1.4;
}

.nlfw-partner-cta {
  display: block;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: rgba(255,255,255,0.55) !important;
  text-decoration: none !important;
  -webkit-transition: color 0.2s; transition: color 0.2s;
}

.nlfw-partner-cta:hover { color: #ed8220 !important; }

/* ── Widget 4 — Trust ── */
.nlfw-trust-items {
  display: -webkit-flex; display: flex;
  -webkit-flex-direction: column; flex-direction: column;
  gap: 12px;
}

.nlfw-trust-item {
  display: -webkit-flex; display: flex;
  -webkit-align-items: flex-start; align-items: flex-start;
  gap: 12px;
}

.nlfw-trust-icon {
  width: 28px; height: 28px; flex-shrink: 0;
  background: rgba(237,130,32,0.10);
  border-radius: 4px;
  display: -webkit-flex; display: flex;
  -webkit-align-items: center; align-items: center;
  -webkit-justify-content: center; justify-content: center;
  margin-top: 1px;
}

.nlfw-trust-body { -webkit-flex: 1; flex: 1; }

.nlfw-trust-label {
  display: block;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px; font-weight: 700;
  letter-spacing: 0.5px; text-transform: uppercase;
  color: #ffffff !important;
  margin-bottom: 2px;
}

.nlfw-trust-desc {
  display: block;
  font-family: 'Barlow', sans-serif !important;
  font-size: 11px; font-weight: 300;
  color: rgba(255,255,255,0.40) !important;
  line-height: 1.5;
}


/* ============================================================
   NEOLOCAL™ — RICH FOOTER
   ============================================================ */

.nlrf-wrap {
  width: 100%;
  padding: 56px 0 0 0;
}

/* ── Top ── */
.nlrf-top {
  display: -webkit-flex; display: flex;
  -webkit-justify-content: space-between; justify-content: space-between;
  -webkit-align-items: flex-start; align-items: flex-start;
  gap: 48px; margin-bottom: 40px;
}

.nlrf-top-left { -webkit-flex: 1 1 0%; flex: 1 1 0%; max-width: 420px; }

.nlrf-tagline {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 20px; font-weight: 600;
  font-style: italic; color: #ffffff !important;
  line-height: 1.3; margin: 0 0 12px 0;
}

.nlrf-desc {
  font-family: 'Barlow', sans-serif !important;
  font-size: 13px; font-weight: 300;
  color: rgba(255,255,255,0.45) !important;
  line-height: 1.7; margin: 0 0 18px 0;
}

.nlrf-powered {
  display: -webkit-inline-flex; display: inline-flex;
  -webkit-align-items: center; align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 3px; padding: 6px 12px;
}

.nlrf-powered-label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 9px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: rgba(255,255,255,0.25) !important;
}

.nlrf-powered-name {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase;
  color: #ed8220 !important;
}

.nlrf-top-right {
  -webkit-flex: 0 0 240px; flex: 0 0 240px;
  display: -webkit-flex; display: flex;
  -webkit-flex-direction: column; flex-direction: column;
  gap: 8px; -webkit-align-items: flex-end; align-items: flex-end;
}

.nlrf-cta-primary {
  display: block; width: 100%;
  background: #ed8220 !important; color: #ffffff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  padding: 13px 20px; border-radius: 3px;
  text-decoration: none !important; text-align: center;
  -webkit-transition: background 0.2s; transition: background 0.2s;
}
.nlrf-cta-primary:hover { background: #f5a54a !important; color: #ffffff !important; }

.nlrf-cta-secondary {
  display: block; width: 100%;
  background: transparent !important;
  color: rgba(255,255,255,0.55) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  padding: 12px 20px; border-radius: 3px;
  border: 1px solid rgba(255,255,255,0.15) !important;
  text-decoration: none !important; text-align: center;
  -webkit-transition: all 0.2s; transition: all 0.2s;
}
.nlrf-cta-secondary:hover {
  border-color: rgba(255,255,255,0.35) !important;
  color: #ffffff !important;
}

.nlrf-cta-micro {
  font-family: 'Barlow', sans-serif !important;
  font-size: 10px; font-weight: 300; font-style: italic;
  color: rgba(255,255,255,0.20) !important;
  text-align: center; margin: 0 !important;
}

/* ── Divider ── */
.nlrf-divider {
  height: 1px; background: rgba(255,255,255,0.08); margin: 0 0 40px 0;
}

/* ── Main grid ── */
.nlrf-grid {
  display: -webkit-flex; display: flex;
  gap: 0;
  -webkit-align-items: flex-start; align-items: flex-start;
  margin-bottom: 40px;
}

.nlrf-col {
  -webkit-flex: 1 1 0%; flex: 1 1 0%;
  min-width: 0;
  padding-right: 32px;
  border-right: 1px solid rgba(255,255,255,0.06);
  padding-left: 32px;
}

.nlrf-col:first-child { padding-left: 0; }
.nlrf-col:last-child { border-right: none; padding-right: 0; }

/* Column header */
.nlrf-col-head {
  display: -webkit-flex; display: flex;
  -webkit-align-items: center; align-items: center;
  gap: 8px;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px; font-weight: 700;
  letter-spacing: 3px; text-transform: uppercase;
  color: rgba(255,255,255,0.55) !important;
  margin-bottom: 14px; padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.nlrf-col-dot {
  width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
}
.nlrf-dot-orange { background: #ed8220; }
.nlrf-dot-blue   { background: #4a7cc7; }
.nlrf-dot-green  { background: #2d9e6b; }

/* Sub head */
.nlrf-sub-head {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 9px; font-weight: 700;
  letter-spacing: 2.5px; text-transform: uppercase;
  color: rgba(255,255,255,0.22) !important;
  margin: 20px 0 10px 0;
}

/* Link lists */
.nlrf-list {
  list-style: none !important;
  padding: 0 !important; margin: 0 !important;
  display: -webkit-flex; display: flex;
  -webkit-flex-direction: column; flex-direction: column;
  gap: 8px;
}

.nlrf-list-sm { gap: 6px; }
.nlrf-list li, .nlrf-list-sm li { margin: 0 !important; padding: 0 !important; }

.nlrf-list a, .nlrf-list-sm a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px; font-weight: 600;
  letter-spacing: 0.5px;
  color: rgba(255,255,255,0.45) !important;
  text-decoration: none !important;
  display: -webkit-flex; display: flex;
  -webkit-align-items: center; align-items: center;
  gap: 8px;
  -webkit-transition: color 0.15s; transition: color 0.15s;
}

.nlrf-list a:hover, .nlrf-list-sm a:hover { color: #ed8220 !important; }

.nlrf-num {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 13px; color: rgba(255,255,255,0.18) !important;
  line-height: 1; flex-shrink: 0; width: 18px;
}

.nlrf-tag {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 9px; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase;
  color: rgba(255,255,255,0.25) !important;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 2px; padding: 1px 5px;
}

/* ── Founding card ── */
.nlrf-founding-card {
  background: rgba(237,130,32,0.07);
  border: 1px solid rgba(237,130,32,0.16);
  border-left: 3px solid #ed8220;
  border-radius: 5px; padding: 16px 18px;
  margin-bottom: 4px;
}

.nlrf-founding-num {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 52px; line-height: 0.9;
  color: #ed8220 !important; margin-bottom: 8px;
}

.nlrf-founding-desc {
  font-family: 'Barlow', sans-serif !important;
  font-size: 12px; font-weight: 300;
  color: rgba(255,255,255,0.50) !important;
  line-height: 1.6; margin: 0 0 12px 0;
}

.nlrf-founding-link {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase;
  color: #ed8220 !important; text-decoration: none !important;
  -webkit-transition: opacity 0.2s; transition: opacity 0.2s;
}
.nlrf-founding-link:hover { opacity: 0.75; }

/* ── Trust list ── */
.nlrf-trust-list {
  display: -webkit-flex; display: flex;
  -webkit-flex-direction: column; flex-direction: column;
  gap: 8px;
}

.nlrf-trust-item {
  display: -webkit-flex; display: flex;
  -webkit-align-items: flex-start; align-items: flex-start;
  gap: 8px;
  font-family: 'Barlow', sans-serif !important;
  font-size: 12px; font-weight: 300;
  color: rgba(255,255,255,0.40) !important;
  line-height: 1.4;
}

.nlrf-trust-check {
  color: #1a6640 !important; flex-shrink: 0;
  font-weight: 700; margin-top: 1px;
}

/* ── Bottom ── */
.nlrf-bottom {
  display: -webkit-flex; display: flex;
  -webkit-justify-content: space-between; justify-content: space-between;
  -webkit-align-items: center; align-items: center;
  padding: 20px 0; gap: 24px;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
}

.nlrf-legal-links {
  display: -webkit-flex; display: flex;
  -webkit-align-items: center; align-items: center;
  gap: 12px; -webkit-flex-wrap: wrap; flex-wrap: wrap;
}

.nlrf-legal-links a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 10px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: rgba(255,255,255,0.22) !important;
  text-decoration: none !important;
  -webkit-transition: color 0.2s; transition: color 0.2s;
}
.nlrf-legal-links a:hover { color: rgba(255,255,255,0.55) !important; }

.nlrf-bottom-sep { color: rgba(255,255,255,0.12); font-size: 11px; }

.nlrf-loop {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: rgba(255,255,255,0.18) !important;
  display: -webkit-flex; display: flex;
  -webkit-align-items: center; align-items: center;
  gap: 8px;
}

.nlrf-loop-arrow { color: rgba(237,130,32,0.25) !important; }
.nlrf-loop-accent { color: rgba(237,130,32,0.50) !important; }

/* ── Responsive ── */
@media screen and (max-width: 1024px) {
  .nlrf-grid { -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .nlrf-col {
    -webkit-flex: 1 1 calc(50% - 32px);
    flex: 1 1 calc(50% - 32px);
    border-right: none;
    padding-left: 0; padding-right: 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    padding-bottom: 28px; margin-bottom: 8px;
  }
  .nlrf-col:last-child { border-bottom: none; }
}

@media screen and (max-width: 768px) {
  .nlrf-top { -webkit-flex-direction: column; flex-direction: column; }
  .nlrf-top-right { -webkit-flex: none; flex: none; width: 100%; -webkit-align-items: stretch; align-items: stretch; }
  .nlrf-col { -webkit-flex: 1 1 100%; flex: 1 1 100%; }
  .nlrf-bottom { -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: flex-start; align-items: flex-start; gap: 16px; }
}

/* ── Logo pill — targets logo however Themify renders it in footer ── */
#footerwrap #site-logo a,
#footerwrap .site-logo a,
#footerwrap .custom-logo-link,
#footerwrap a img[src*="Logo-NeoLocal"],
#footerwrap .widget a:has(img) {
  background: #ffffff !important;
  border-radius: 6px !important;
  padding: 8px 18px 6px 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.25) !important;
}

#footerwrap #site-logo img,
#footerwrap .site-logo img,
#footerwrap .custom-logo-link img,
#footerwrap .widget a img {
  height: 30px !important;
  width: auto !important;
  display: block !important;
}

/* ── Widget titles ── */
#footerwrap .widget-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.40) !important;
  margin-bottom: 16px !important;
  border-bottom: none !important;
}

/* ── All links ── */
#footerwrap a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.45) !important;
  text-decoration: none !important;
  -webkit-transition: color 0.2s ease !important;
  transition: color 0.2s ease !important;
}

#footerwrap a:hover {
  color: #ed8220 !important;
  text-decoration: none !important;
}

/* ── Body text ── */
#footerwrap p,
#footerwrap li {
  font-family: 'Barlow', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.45) !important;
  line-height: 1.7 !important;
}

/* ── Nav/menu links ── */
#footerwrap .nav li a,
#footerwrap .menu li a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.40) !important;
  padding: 4px 0 !important;
  display: block !important;
}

#footerwrap .nav li a:hover,
#footerwrap .menu li a:hover {
  color: #ed8220 !important;
}

/* ── Widget lists ── */
#footerwrap .widget ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-direction: column !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* ── Footer columns ── */
#footerwrap .footer-widgets-area {
  display: -webkit-flex !important;
  display: flex !important;
  gap: 48px !important;
  -webkit-align-items: flex-start !important;
  align-items: flex-start !important;
  -webkit-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
  padding: 48px 40px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}

/* ── Copyright bar ── */
#footerwrap #copyright,
#footerwrap .copyright {
  background: #000e38 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding: 20px 40px !important;
}

#footerwrap #copyright .container {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-align-items: center !important;
  align-items: center !important;
  -webkit-justify-content: space-between !important;
  justify-content: space-between !important;
}

#footerwrap #copyright p,
#footerwrap #copyright span,
#footerwrap .copyright p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.20) !important;
  margin: 0 !important;
}

#footerwrap #copyright a {
  color: rgba(255,255,255,0.35) !important;
  font-size: 11px !important;
}

#footerwrap #copyright a:hover {
  color: #ed8220 !important;
}

/* ── Responsive ── */
@media screen and (max-width: 768px) {
  #footerwrap .container,
  #footerwrap .footer-widgets-area {
    padding: 36px 24px !important;
    -webkit-flex-direction: column !important;
    flex-direction: column !important;
    gap: 28px !important;
  }
  #footerwrap #copyright,
  #footerwrap .copyright { padding: 16px 24px !important; }
  #footerwrap #copyright .container {
    -webkit-flex-direction: column !important;
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
  }
}


/* ============================================================
   NEOLOCAL™ — REASSURANCE LAYER
   Placement: After Capabilities, Before Pricing
   ============================================================ */

.nl-reassure {
  background: #ffffff;
  width: 100%;
  padding: 80px 40px;
  border-top: 1px solid #e4e2db;
  border-bottom: 1px solid #e4e2db;
}

.nl-reassure-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap: 80px;
}

/* ── Header — left ── */
.nl-reassure-header {
  -webkit-flex: 0 0 380px;
  flex: 0 0 380px;
}

.nl-reassure-eyebrow {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.nl-reassure-eyebrow-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #ed8220;
  flex-shrink: 0;
}

.nl-reassure-eyebrow span {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #ed8220;
}

.nl-reassure-headline {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 52px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  line-height: 0.92 !important;
  color: #00195c;
  letter-spacing: 0.5px;
  margin: 0 0 16px 0 !important;
}

.nl-reassure-accent { color: #ed8220; }

.nl-reassure-sub {
  font-family: 'Barlow', sans-serif !important;
  font-size: 16px;
  font-weight: 300;
  color: #5a6378;
  line-height: 1.75;
  margin: 0;
}

/* ── Cards — right ── */
.nl-reassure-cards {
  -webkit-flex: 1 1 0%;
  flex: 1 1 0%;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  gap: 2px;
}

.nl-reassure-card {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  gap: 24px;
  background: #f4f3ef;
  border: 1px solid #e4e2db;
  border-left: 4px solid #ed8220;
  border-radius: 6px;
  padding: 28px 32px;
}

.nl-reassure-card:last-child {
  border-left-color: #00195c;
}

.nl-reassure-card:last-child .nl-reassure-card-icon svg {
  stroke: #00195c;
}

.nl-reassure-card-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  background: rgba(237,130,32,0.08);
  border-radius: 6px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.nl-reassure-card:last-child .nl-reassure-card-icon {
  background: rgba(0,25,92,0.07);
}

.nl-reassure-card-body {
  -webkit-flex: 1 1 0%;
  flex: 1 1 0%;
}

.nl-reassure-card-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px;
  color: #00195c;
  margin: 0 0 8px 0 !important;
  line-height: 1.1 !important;
}

.nl-reassure-card-desc {
  font-family: 'Barlow', sans-serif !important;
  font-size: 15px;
  font-weight: 300;
  color: #5a6378;
  line-height: 1.7;
  margin: 0;
}

/* ── Responsive ── */
@media screen and (max-width: 1024px) {
  .nl-reassure-inner {
    -webkit-flex-direction: column;
    flex-direction: column;
    gap: 48px;
  }
  .nl-reassure-header {
    -webkit-flex: none;
    flex: none;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .nl-reassure { padding: 64px 24px; }
  .nl-reassure-headline { font-size: 42px !important; }
  .nl-reassure-card { padding: 22px 22px; gap: 18px; }
  .nl-reassure-card-icon { width: 40px; height: 40px; }
}

/* ============================================================
   NEOLOCAL™ — THEMIFY GLOBAL OVERRIDES
   Fix Themify Ultra conflicts once, globally
   ============================================================ */

/* ── Release overflow:hidden on builder rows so sticky works ── */
.themify_builder_row,
.row_inner,
.module_row,
.themify_builder_content {
  overflow: visible !important;
}

/* ── Remove padding from Themify's row wrappers ── */
.module_subrow,
.row_inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* ── Remove column padding so our sections control their own spacing ── */
.module_column > .tb-column-inner,
.module_column.col-full > .tb-column-inner,
.module_column,
.module_column.col-full {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ── Beat Comfortaa global font on all our elements ── */
[class^="nl-"], [class*=" nl-"],
[class^="nla-"], [class*=" nla-"],
[class^="nlc-"], [class*=" nlc-"],
[class^="nlfp-"], [class*=" nlfp-"],
[class^="nli-"], [class*=" nli-"],
[class^="nlmm-"], [class*=" nlmm-"],
[class^="nlp-"], [class*=" nlp-"],
[class^="nlpar-"], [class*=" nlpar-"],
[class^="nlrf-"], [class*=" nlrf-"],
[class^="nlv-"], [class*=" nlv-"],
[class^="nlw-"], [class*=" nlw-"],
[class^="nlwl-"], [class*=" nlwl-"],
[class^="nlel-"], [class*=" nlel-"],
[class^="nlfw-"], [class*=" nlfw-"] {
  font-family: inherit;
}

/* ── Reset Themify's input/button globals inside our modules ── */
.module_raw_output input,
.module_raw_output select,
.module_raw_output textarea {
  font-family: 'Barlow', sans-serif !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  -webkit-appearance: none;
  appearance: none;
}

/* Button reset scoped to our specific submit/CTA buttons only */
.module_raw_output .nli-form-submit,
.module_raw_output .nlwl-reg-submit,
.module_raw_output .nlw-notify-btn,
.module_raw_output .nlwl-cta-btn {
  font-family: 'Barlow Condensed', sans-serif !important;
  cursor: pointer !important;
}

/* ── Prevent Themify h1/h2 size overrides inside our modules ── */
.module_raw_output h1,
.module_raw_output h2,
.module_raw_output h3 {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* ── Remove Themify anchor padding inside our modules ── */
.module_raw_output a {
  padding: 0;
}

/* ── Mobile: remove column padding so our sections aren't double-padded ── */
@media screen and (max-width: 768px) {
  .module_subrow,
  .row_inner,
  .module_column,
  .module_column.col-full,
  .module_column > .tb-column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* ── Filter button — neutralise Themify button globals ── */
.nlw-filter-btn {
  border-radius: 0 !important;
  display: block !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  box-shadow: none !important;
  -webkit-transform: none !important;
  transform: none !important;
  padding: 18px 20px !important;
  color: #5a6378 !important;
  width: auto !important;
}

.nlw-filter-btn:hover {
  box-shadow: none !important;
  -webkit-transform: none !important;
  transform: none !important;
  background-color: transparent !important;
  color: #ed8220 !important;
}

.nlw-filter-btn.nlw-active {
  color: #ed8220 !important;
  border-bottom-color: #ed8220 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
