/*
Theme Name: Lightning Child
Theme URI:
Template: lightning
Description: Next Field Partners custom child theme
Author:
Tags:
Version: 0.7.32
*/

/* NFP homepage — editorial corporate design */
:root {
  --nfp-navy: #071e41;
  --nfp-navy-deep: #04152f;
  --nfp-gold: #b9822f;
  --nfp-ink: #182536;
  --nfp-muted: #667181;
  --nfp-line: #d8dee6;
  --nfp-paper: #ffffff;
  --nfp-mist: #f3f6f8;
}

.home .site-header {
  border-bottom: 1px solid var(--nfp-line);
  background: rgba(255, 255, 255, .97);
  box-shadow: none;
}

.home .site-header-container.container {
  min-height: 88px;
  max-width: 1440px;
  padding-right: 48px;
  padding-left: 48px;
}

.home .site-header-logo img {
  max-height: 54px;
  width: auto;
}

.home .global-nav-list > li > a {
  padding-right: 15px;
  padding-left: 15px;
  color: var(--nfp-ink);
  font-size: 13px;
  letter-spacing: .02em;
}

.home .global-nav-name { font-weight: 500; }

.home .global-nav-list > li:last-child > a {
  min-height: 44px;
  margin-left: 10px;
  padding-right: 22px;
  padding-left: 22px;
  background: var(--nfp-navy);
  color: #fff;
}

@media (min-width: 992px) {
  .home.header_scrolled .site-header-container {
    position: relative;
  }

  .home.header_scrolled .site-header-logo {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 48px;
    display: flex !important;
    width: auto;
    height: 44px;
    align-items: center;
    margin: 0;
    padding: 0;
    transform: translateY(-50%);
  }

  .home.header_scrolled .site-header-logo a,
  .home.header_scrolled .site-header-logo span {
    display: flex;
    height: 100%;
    align-items: center;
  }

  .home.header_scrolled .site-header-logo img {
    width: auto;
    max-height: 42px;
  }
}

.home .site-body-container.container {
  max-width: none;
  padding: 0;
}

.home .main-section,
.home .entry-body { margin: 0; padding: 0; }

.nfp-home {
  overflow: hidden;
  background: var(--nfp-paper);
  color: var(--nfp-ink);
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, sans-serif;
  font-size: 16px;
  line-height: 1.9;
}

.nfp-home *, .nfp-home *::before, .nfp-home *::after { box-sizing: border-box; }
.nfp-home h1, .nfp-home h2, .nfp-home h3, .nfp-home p, .nfp-home figure, .nfp-home dl, .nfp-home ol, .nfp-home ul { margin-top: 0; }

.nfp-home__hero {
  display: grid;
  grid-template-columns: minmax(440px, 46%) 1fr;
  grid-template-rows: minmax(650px, calc(100vh - 88px)) auto;
  min-height: 720px;
  background: var(--nfp-paper);
}

.nfp-home__hero-copy {
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 78px clamp(36px, 5vw, 90px) 70px max(36px, calc((100vw - 1320px) / 2));
}

.nfp-home__eyebrow,
.nfp-home__section-label {
  margin-bottom: 28px;
  color: var(--nfp-gold);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
}

.nfp-home__hero h1 {
  margin-bottom: 32px;
  color: var(--nfp-navy);
  font-family: "Noto Serif JP", "Yu Mincho", YuMincho, serif;
  font-size: clamp(42px, 3.75vw, 60px);
  font-weight: 500;
  line-height: 1.38;
  letter-spacing: .015em;
  word-break: keep-all;
}

.nfp-home__title-line,
.nfp-home__heading-line {
  display: block;
  white-space: nowrap;
}

.nfp-home__title-line--accent { color: #254b8c; }

.nfp-home__lead {
  max-width: 590px;
  margin-bottom: 38px;
  color: #3f4d5d;
  font-size: 16px;
  line-height: 2;
}

.nfp-home__actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }

.nfp-home__button {
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border: 1px solid var(--nfp-navy);
  border-radius: 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}

.nfp-home__button--primary { background: var(--nfp-navy); color: #fff; }
.nfp-home__button--primary:hover { background: #173b70; color: #fff; }

.nfp-home__text-link,
.nfp-home__arrow-link {
  color: var(--nfp-navy);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.nfp-home__text-link span,
.nfp-home__arrow-link span { margin-left: 10px; color: var(--nfp-gold); }

.nfp-home__hero-visual {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: var(--nfp-navy);
}

.nfp-home__hero-visual::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(118deg, rgba(7, 30, 65, .42) 0%, rgba(7, 30, 65, .04) 52%, rgba(185, 130, 47, .08) 100%);
}

.nfp-home__hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 53% center;
  filter: saturate(.72) contrast(1.02);
}

.nfp-home__hero-visual figcaption {
  position: absolute;
  z-index: 3;
  right: 32px;
  bottom: 30px;
  color: rgba(255, 255, 255, .86);
  font-size: 10px;
  letter-spacing: .17em;
}

.nfp-home__hero-line { position: absolute; z-index: 2; pointer-events: none; }
.nfp-home__hero-line--one {
  width: 480px;
  height: 480px;
  right: -260px;
  top: -100px;
  border: 1px solid rgba(185, 130, 47, .78);
  transform: rotate(35deg);
}
.nfp-home__hero-line--two {
  width: 360px;
  height: 360px;
  left: -250px;
  bottom: -210px;
  border: 1px solid rgba(255, 255, 255, .7);
  transform: rotate(35deg);
}

.nfp-home__hero-facts {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  margin: 0;
  padding: 0 max(36px, calc((100vw - 1320px) / 2));
  border-top: 2px solid var(--nfp-gold);
  background: var(--nfp-navy);
}

.nfp-home__hero-facts > div { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 24px; padding: 25px 40px; }
.nfp-home__hero-facts > div + div { border-left: 1px solid rgba(255, 255, 255, .18); }
.nfp-home__hero-facts dt { color: #aeb9c9; font-size: 11px; font-weight: 600; letter-spacing: .1em; }
.nfp-home__hero-facts dd { margin: 0; color: #fff; font-family: "Noto Serif JP", serif; font-size: 20px; font-weight: 500; letter-spacing: .02em; }

.nfp-home__statement,
.nfp-home__services,
.nfp-home__process,
.nfp-home__contact {
  max-width: 1320px;
  margin: 0 auto;
  padding: 130px 36px;
}

.nfp-home__statement { padding-top: 110px; }

.nfp-home__statement-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr);
  gap: clamp(50px, 6vw, 90px);
  align-items: start;
}
.nfp-home__statement-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
}

.nfp-home__statement h2,
.nfp-home__section-heading h2,
.nfp-home__industries h2,
.nfp-home__proof h2,
.nfp-home__contact h2 {
  margin-bottom: 0;
  color: var(--nfp-navy);
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: clamp(32px, 3.3vw, 50px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .02em;
}

.nfp-home__statement-grid > div { padding-top: 8px; border-top: 1px solid var(--nfp-gold); }
.nfp-home__statement-grid p { margin-bottom: 20px; color: #455263; }

.nfp-home__services { padding-top: 40px; }
.nfp-home__section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .6fr); column-gap: 80px; align-items: end; margin-bottom: 70px; }
.nfp-home__section-heading .nfp-home__section-label { grid-column: 1 / -1; }
.nfp-home__section-heading > p:last-child { margin-bottom: 0; color: var(--nfp-muted); }
.nfp-home__services .nfp-home__section-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr);
  column-gap: 64px;
}
.nfp-home__services .nfp-home__section-heading > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
}
.nfp-home__services .nfp-home__section-heading > .wp-block-column:last-child {
  align-self: end;
  height: auto;
  padding-bottom: 8px;
}
.nfp-home__services .nfp-home__section-heading > .wp-block-column:last-child p {
  margin-bottom: 0;
}

.nfp-home__service-list { margin: 0 0 36px; padding: 0; border-top: 1px solid var(--nfp-navy); list-style: none; }
.nfp-home__service-list li {
  display: grid;
  grid-template-columns: 90px minmax(220px, .78fr) minmax(320px, 1.22fr);
  gap: 28px;
  align-items: start;
  padding: 34px 0;
  border-bottom: 1px solid var(--nfp-line);
}
.nfp-home__service-number { color: var(--nfp-gold); font-family: Georgia, serif; font-size: 15px; letter-spacing: .1em; }
.nfp-home__service-list h3 { margin: 0; color: var(--nfp-navy); font-family: "Noto Serif JP", serif; font-size: 25px; font-weight: 500; }
.nfp-home__service-list p { margin: 0; color: #526070; }
.nfp-home__arrow-link { display: inline-block; margin-left: calc(90px + 28px); }

.nfp-home__industries {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(420px, 1.2fr);
  gap: clamp(60px, 10vw, 150px);
  padding: 110px max(36px, calc((100vw - 1248px) / 2));
  background: var(--nfp-mist);
}
.nfp-home__industries-title { align-self: center; }
.nfp-home__industries-copy { border-top: 1px solid var(--nfp-gold); padding-top: 26px; }
.nfp-home__industries-copy > p { margin-bottom: 32px; color: #455263; }
.nfp-home__industries ul { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; border-top: 1px solid var(--nfp-line); list-style: none; }
.nfp-home__industries li { padding: 15px 0; border-bottom: 1px solid var(--nfp-line); color: var(--nfp-navy); }
.nfp-home__industries li:nth-child(even) { padding-left: 28px; border-left: 1px solid var(--nfp-line); }

.nfp-home__proof {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 70px;
  padding: 115px max(36px, calc((100vw - 1248px) / 2));
  background: var(--nfp-navy-deep);
  color: #fff;
}
.nfp-home__proof h2 { margin-bottom: 34px; color: #fff; font-size: 38px; }
.nfp-home__text-link--light { color: #fff; }
.nfp-home__proof-numbers { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 1px solid rgba(255,255,255,.28); }
.nfp-home__proof-numbers > div { padding: 28px 26px 34px 0; border-bottom: 1px solid rgba(255,255,255,.28); }
.nfp-home__proof-numbers > div:nth-child(even) { padding-left: 40px; border-left: 1px solid rgba(255,255,255,.28); }
.nfp-home__proof-numbers dt { margin-bottom: 6px; color: rgba(255,255,255,.7); font-size: 13px; }
.nfp-home__proof-numbers dd { margin: 0; }
.nfp-home__proof-numbers strong { color: #fff; font-family: Georgia, serif; font-size: clamp(42px, 4vw, 64px); font-weight: 400; letter-spacing: -.02em; }
.nfp-home__proof-numbers span { margin-left: 8px; color: #fff; font-size: 13px; }

.nfp-home__section-heading--compact { grid-template-columns: 1fr; margin-bottom: 55px; }
.nfp-home__process ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nfp-home__process li {
  position: relative;
  min-height: 160px;
  padding: 25px 4px 22px;
  border-top: 1px solid var(--nfp-navy);
  border-bottom: 1px solid var(--nfp-line);
  color: var(--nfp-navy);
}
.nfp-home__process li:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -29px;
  width: 24px;
  content: "→";
  color: var(--nfp-gold);
  font-size: 19px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  transform: translateY(-50%);
}
.nfp-home__process li:nth-child(3)::after {
  top: auto;
  right: 50%;
  bottom: -35px;
  content: "↓";
  transform: translateX(50%);
}
.nfp-home__process li > span { display: block; margin-bottom: 18px; color: var(--nfp-gold); font-family: Georgia, serif; font-size: 13px; }
.nfp-home__process li strong { display: block; margin-bottom: 10px; font-size: 14px; font-weight: 600; line-height: 1.55; }
.nfp-home__process li small { display: block; color: var(--nfp-muted); font-size: 12px; line-height: 1.7; }

.nfp-home__contact { display: grid; grid-template-columns: 1fr minmax(380px, .72fr); gap: 90px; border-top: 1px solid var(--nfp-line); }
.nfp-home__contact-details { padding-top: 48px; }
.nfp-home__contact-details > p:first-child { margin-bottom: 30px; color: #526070; }
.nfp-home__phone { margin: 25px 0 0; color: var(--nfp-muted); font-size: 12px; }
.nfp-home__phone a { margin-left: 12px; color: var(--nfp-navy); font-family: Georgia, serif; font-size: 22px; text-decoration: none; }
.nfp-home__phone span { display: block; margin-top: 4px; margin-left: 55px; }

@media (max-width: 991px) {
  .home .site-header-container.container { min-height: 72px; padding: 0 22px; }
  .home .site-header-logo img { max-height: 44px; }
  .nfp-home__hero { grid-template-columns: 1fr; grid-template-rows: auto minmax(380px, 56vw) auto; }
  .nfp-home__hero-copy { padding: 72px 36px 54px; }
  .nfp-home__hero-visual { grid-row: 2; }
  .nfp-home__hero-facts { grid-row: 3; width: 100%; padding: 0; }
  .nfp-home__statement-grid, .nfp-home__section-heading, .nfp-home__industries, .nfp-home__proof, .nfp-home__contact { grid-template-columns: 1fr; }
  .nfp-home__statement-grid { grid-template-columns: 1fr !important; }
  .nfp-home__services .nfp-home__section-heading { grid-template-columns: 1fr; row-gap: 28px; }
  .nfp-home__services .nfp-home__section-heading > .wp-block-column:last-child { align-self: start; padding-bottom: 0; }
  .nfp-home__section-heading { align-items: start; }
  .nfp-home__service-list li { grid-template-columns: 60px 1fr; }
  .nfp-home__service-list p { grid-column: 2; }
  .nfp-home__proof { gap: 42px; }
  .nfp-home__process ol { grid-template-columns: repeat(3, 1fr); row-gap: 34px; }
  .nfp-home__process li:nth-child(3)::after { display: block; }
  .nfp-home__contact { gap: 28px; }
  .nfp-home__contact-details { padding-top: 0; }
}

@media (max-width: 767px) {
  .nfp-home { font-size: 15px; }
  .nfp-home__hero-copy { padding: 54px 22px 42px; }
  .nfp-home__hero h1 { font-size: clamp(30px, 8.5vw, 40px); line-height: 1.5; }
  .nfp-home__hero-visual { min-height: 330px; }
  .nfp-home__hero-visual figcaption { right: 18px; bottom: 15px; font-size: 8px; }
  .nfp-home__hero-facts { grid-template-columns: 1fr; }
  .nfp-home__hero-facts > div, .nfp-home__hero-facts > div:last-child { grid-template-columns: 86px 1fr; padding: 17px 22px; border-right: 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .16); }
  .nfp-home__hero-facts > div:first-child { border-top: 0; }
  .nfp-home__statement, .nfp-home__services, .nfp-home__process, .nfp-home__contact { padding: 84px 22px; }
  .nfp-home__statement-grid { gap: 38px; }
  .nfp-home__statement h2, .nfp-home__section-heading h2, .nfp-home__industries h2, .nfp-home__proof h2, .nfp-home__contact h2 { font-size: 31px; }
  .nfp-home__statement h2 { font-size: clamp(20px, 6.4vw, 31px); }
  .nfp-home__heading-line { white-space: normal; }
  .nfp-home__section-heading { gap: 30px; margin-bottom: 45px; }
  .nfp-home__service-list li { grid-template-columns: 42px 1fr; gap: 12px; padding: 27px 0; }
  .nfp-home__service-list h3 { font-size: 21px; }
  .nfp-home__service-list p { font-size: 14px; }
  .nfp-home__arrow-link { margin-left: 54px; }
  .nfp-home__industries, .nfp-home__proof { padding: 84px 22px; }
  .nfp-home__industries { gap: 42px; }
  .nfp-home__industries ul { grid-template-columns: 1fr; }
  .nfp-home__industries li:nth-child(even) { padding-left: 0; border-left: 0; }
  .nfp-home__proof-numbers { grid-template-columns: 1fr; }
  .nfp-home__proof-numbers > div:nth-child(even) { padding-left: 0; border-left: 0; }
  .nfp-home__process ol { grid-template-columns: 1fr; gap: 26px; }
  .nfp-home__process li { min-height: 0; padding: 20px 0 22px 48px; }
  .nfp-home__process li::after,
  .nfp-home__process li:nth-child(3)::after { display: block; top: auto; right: auto; bottom: -22px; left: 10px; content: "↓"; transform: none; }
  .nfp-home__process li:last-child::after { display: none; }
  .nfp-home__process li > span { position: absolute; top: 20px; left: 0; }
  .nfp-home__contact-details { min-width: 0; }
  .nfp-home__phone a { display: block; margin: 8px 0 0; }
  .nfp-home__phone span { margin-left: 0; }
}

/* Mobile navigation: site-branded, editor-friendly menu */
@media (max-width: 991.98px) {
  .vk-mobile-nav {
    padding: 78px 22px 36px !important;
    border: 0 !important;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(243, 246, 248, .98)) !important;
  }

  /* Lightning's empty widget-area notices are useful during setup, but not inside the menu. */
  .vk-mobile-nav > .veu_adminEdit {
    display: none !important;
  }

  .vk-mobile-nav-menu-outer {
    width: 100%;
    max-width: 520px;
    margin: 0 auto !important;
  }

  .vk-mobile-nav-menu-outer::before {
    display: block;
    width: 58px;
    height: 58px;
    margin: 0 0 34px 4px;
    background: url('/wp-content/uploads/2026/08/nfp-official-logo.png') center / contain no-repeat;
    content: "";
  }

  .vk-mobile-nav nav ul,
  .vk-mobile-nav nav ul li {
    border: 0 !important;
  }

  .vk-mobile-nav nav > ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    counter-reset: nfp-mobile-menu;
  }

  .vk-mobile-nav nav > ul > li {
    position: relative;
    overflow: hidden;
    margin: 0 !important;
    border: 1px solid #dce3e9 !important;
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 7px 22px rgba(7, 34, 67, .055);
    counter-increment: nfp-mobile-menu;
  }

  .vk-mobile-nav nav > ul > li.current-menu-item {
    border-color: rgba(197, 135, 37, .55) !important;
    box-shadow: inset 3px 0 0 #c58725, 0 7px 22px rgba(7, 34, 67, .055);
  }

  .vk-mobile-nav nav > ul > li > a {
    position: relative;
    display: flex !important;
    min-height: 64px;
    align-items: center;
    padding: 15px 50px 15px 58px !important;
    border: 0 !important;
    color: #08254a !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.55;
    letter-spacing: .015em;
    text-decoration: none !important;
  }

  .vk-mobile-nav nav > ul > li > a::before {
    position: absolute;
    left: 18px;
    color: #b9791f;
    content: "0" counter(nfp-mobile-menu);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
  }

  .vk-mobile-nav nav > ul > li > a::after {
    position: absolute;
    right: 18px;
    color: #b9791f;
    content: "\2192";
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
  }

  .vk-mobile-nav nav > ul > li:last-child {
    margin-top: 8px !important;
    border-color: #c58725 !important;
    background: #c58725;
    box-shadow: 0 10px 26px rgba(146, 94, 16, .18);
  }

  .vk-mobile-nav nav > ul > li:last-child > a,
  .vk-mobile-nav nav > ul > li:last-child > a::before,
  .vk-mobile-nav nav > ul > li:last-child > a::after {
    color: #071f42 !important;
  }

  .vk-mobile-nav-menu-btn {
    top: 16px !important;
    right: 18px !important;
    left: auto !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(8, 37, 74, .22) !important;
    border-radius: 8px !important;
    background-color: rgba(255, 255, 255, .96) !important;
    background-size: 22px 22px !important;
    box-shadow: 0 5px 16px rgba(7, 34, 67, .08);
  }

  .admin-bar .vk-mobile-nav-menu-btn {
    top: 62px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nfp-home__button { transition: none; }
}

/* Gutenberg / core block structure */
.nfp-home.wp-block-group,
.nfp-home .wp-block-group,
.nfp-home .wp-block-columns,
.nfp-home .wp-block-image,
.nfp-home .wp-block-buttons { margin-top: 0; margin-bottom: 0; }
.nfp-home > section { max-width: none; }
.nfp-home .wp-block-heading { margin-top: 0; }

.nfp-home .nfp-home__button {
  display: block;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.nfp-home .nfp-home__button .wp-block-button__link {
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border: 1px solid var(--nfp-navy);
  border-radius: 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
}
.nfp-home .nfp-home__button--primary .wp-block-button__link { background: var(--nfp-navy); color: #fff; }
.nfp-home .nfp-home__button--secondary .wp-block-button__link { background: transparent; color: var(--nfp-navy); }
.nfp-home .nfp-home__button--primary .wp-block-button__link:hover { background: #173b70; color: #fff; }
.nfp-home .nfp-home__button--secondary .wp-block-button__link:hover { background: var(--nfp-navy); color: #fff; }

.nfp-home__hero > .nfp-home__hero-visual { grid-column: 2; grid-row: 1; }
.nfp-home__hero h1 { max-width: 680px; }
.nfp-home__hero-facts > .wp-block-group {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 24px;
  padding: 25px 40px;
}
.nfp-home__hero-facts > .wp-block-group + .wp-block-group { border-left: 1px solid rgba(255, 255, 255, .18); }
.nfp-home__hero-facts p { margin: 0; color: #aeb9c9; font-size: 11px; font-weight: 600; letter-spacing: .1em; }
.nfp-home__hero-facts h3 { margin: 0; color: #fff; font-family: "Noto Serif JP", serif; font-size: 20px; font-weight: 500; letter-spacing: .02em; }

.nfp-home__statement-grid.wp-block-columns { display: grid; }
.nfp-home__statement-grid > .wp-block-column { margin: 0; }
.nfp-home__statement h2 { margin-bottom: 0; white-space: nowrap; }
.nfp-home__statement-grid > .wp-block-column:first-child > h2 {
  border-top: 0 !important;
}

.nfp-home__positioning,
.nfp-home__benefits,
.nfp-home__pricing {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 130px 36px;
}
.nfp-home__positioning { border-top: 1px solid var(--nfp-line); }
.nfp-home__positioning > .vk_outer-background-area {
  background: #f5f7f9 !important;
}
.nfp-home__position-map {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 32px;
  margin-top: 62px !important;
  border-top: 0;
  border-bottom: 0;
}
.nfp-home__position-item {
  position: relative;
  min-height: 215px;
  padding: 31px 25px 28px;
  border: 1px solid #dfe5eb;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(7, 30, 65, .055);
}
.nfp-home__position-item + .nfp-home__position-item { border-left: 1px solid #dfe5eb; }
.nfp-home__position-item::before {
  position: absolute;
  top: 0;
  left: 25px;
  width: 40px;
  height: 2px;
  background: var(--nfp-gold);
  content: "";
}
.nfp-home__position-item:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: -28px;
  width: 24px;
  color: var(--nfp-gold);
  content: "→";
  font-size: 18px;
  line-height: 1;
  text-align: center;
  transform: translateY(-50%);
}
.nfp-home__position-item > p:first-child { margin-bottom: 21px; color: var(--nfp-gold); font-family: Georgia, serif; font-size: 13px; }
.nfp-home__position-item h3 {
  margin-bottom: 18px;
  padding: 0;
  border-top: 0 !important;
  border-bottom: 0 !important;
  color: var(--nfp-navy);
  font-family: "Noto Serif JP", serif;
  font-size: 21px;
  font-weight: 500;
}
.nfp-home__position-item > p:last-child { margin: 0; color: var(--nfp-muted); font-size: 13px; line-height: 1.8; }

.nfp-home__service-list { border-top: 1px solid var(--nfp-navy); }
.nfp-home__service-item {
  display: grid;
  grid-template-columns: 72px minmax(220px, .7fr) 1fr;
  gap: 30px;
  align-items: start;
  padding: 35px 0;
  border-bottom: 1px solid var(--nfp-line);
}
.nfp-home__service-number { margin: 3px 0 0; color: var(--nfp-gold); font-family: Georgia, serif; font-size: 14px; }
.nfp-home__service-item h3 {
  margin: 0;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
  color: var(--nfp-navy);
  font-family: "Noto Serif JP", serif;
  font-size: 23px;
  font-weight: 500;
}
.nfp-home__service-item h3::after { display: none !important; content: none !important; }
.nfp-home__service-item > p:last-child { margin: 0; color: var(--nfp-muted); font-size: 14px; line-height: 1.9; }
.nfp-home__services > p:last-child { margin: 34px 0 0; }

.nfp-home__benefits { max-width: none !important; padding-right: max(36px, calc((100vw - 1320px) / 2)); padding-left: max(36px, calc((100vw - 1320px) / 2)); background: #f3f5f7; }
.nfp-home__benefits > h2 { margin-bottom: 60px; color: var(--nfp-navy); font-family: "Noto Serif JP", serif; font-size: clamp(34px, 3.3vw, 50px); font-weight: 500; line-height: 1.52; }
.nfp-home__benefit-list { border-top: 1px solid var(--nfp-navy); }
.nfp-home__benefit-item {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) 1fr;
  column-gap: clamp(45px, 8vw, 120px);
  padding: 38px 0;
  border-bottom: 1px solid #cdd4dc;
}
.nfp-home__benefit-item h3 { grid-row: 1 / span 2; margin: 0; color: var(--nfp-navy); font-family: "Noto Serif JP", serif; font-size: 21px; font-weight: 500; line-height: 1.7; }
.nfp-home__benefit-item > p { margin: 0; color: #4b5969; font-size: 14px; }
.nfp-home__benefit-result { margin-top: 12px !important; color: var(--nfp-gold) !important; font-size: 12px !important; font-weight: 600; letter-spacing: .03em; }

.nfp-home__proof-numbers > .wp-block-group { min-height: 210px; padding: 34px 0 30px; border-top: 1px solid rgba(255, 255, 255, .28); }
.nfp-home__proof-numbers > .wp-block-group:nth-child(even) { padding-left: 44px; border-left: 1px solid rgba(255, 255, 255, .28); }
.nfp-home__proof-numbers p { margin: 0 0 35px; color: #aeb9c9; font-size: 12px; font-weight: 600; }
.nfp-home__proof-numbers h3 { margin: 0; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 5vw, 70px); font-weight: 400; line-height: 1; }
.nfp-home__proof-numbers small { margin-left: 10px; font-family: "Noto Sans JP", sans-serif; font-size: 12px; font-weight: 500; }

.nfp-home__process > h2 { margin-bottom: 58px; color: var(--nfp-navy); font-family: "Noto Serif JP", serif; font-size: clamp(34px, 3.3vw, 50px); font-weight: 500; line-height: 1.5; }
.nfp-home__process > .vk_outer-background-area {
  background: #f5f7f9 !important;
}
.nfp-home__process-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 34px;
  row-gap: 56px;
  border-top: 0;
}
.nfp-home__process-item {
  position: relative;
  min-height: 190px;
  padding: 30px 30px 28px;
  border: 1px solid #dfe5eb;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(7, 30, 65, .065);
}
.nfp-home__process-item::before {
  position: absolute;
  top: 0;
  left: 30px;
  width: 42px;
  height: 2px;
  background: var(--nfp-gold);
  content: "";
}
.nfp-home__process-item:not(:last-child)::after { position: absolute; top: 50%; right: -29px; width: 24px; content: "→"; color: var(--nfp-gold); font-size: 19px; line-height: 1; text-align: center; transform: translateY(-50%); }
.nfp-home__process-item:nth-child(3)::after { display: none; }
.nfp-home__process-item > p:first-child { margin: 0 0 24px; color: var(--nfp-gold); font-family: Georgia, serif; font-size: 13px; letter-spacing: .08em; }
.nfp-home__process-item h3 {
  margin: 0 0 16px;
  padding: 0;
  border-top: 0 !important;
  border-bottom: 0 !important;
  color: var(--nfp-navy);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.55;
}
.nfp-home__process-item > p:last-child { margin: 0; color: var(--nfp-muted); font-size: 13px; line-height: 1.75; }

.nfp-home__pricing { display: grid; grid-template-columns: 1fr minmax(380px, .72fr); gap: 90px; border-top: 1px solid var(--nfp-line); }
.nfp-home__pricing h2 { margin: 0; color: var(--nfp-navy); font-family: "Noto Serif JP", serif; font-size: clamp(34px, 3.3vw, 50px); font-weight: 500; line-height: 1.52; }
.nfp-home__pricing-copy { padding-top: 47px; }
.nfp-home__pricing-copy > p { margin-bottom: 30px; color: #526070; }

@media (max-width: 991px) {
  .nfp-home__hero > .nfp-home__hero-visual { grid-column: 1; grid-row: 2; }
  .nfp-home__hero-facts > .wp-block-group { padding: 22px 26px; }
  .nfp-home__position-map { grid-template-columns: repeat(2, 1fr); column-gap: 36px; row-gap: 36px; }
  .nfp-home__position-item:not(:last-child)::after { right: -30px; }
  .nfp-home__position-item:nth-child(3) { border-left: 1px solid #dfe5eb; border-top: 1px solid #dfe5eb; }
  .nfp-home__position-item:nth-child(2) { border-bottom: 1px solid var(--nfp-line); }
  .nfp-home__position-item:nth-child(2)::after { display: none; }
  .nfp-home__service-item { grid-template-columns: 60px 1fr; }
  .nfp-home__service-item > p:last-child { grid-column: 2; }
  .nfp-home__benefit-item { grid-template-columns: 1fr; gap: 16px; }
  .nfp-home__benefit-item h3 { grid-row: auto; }
  .nfp-home__process-list { grid-template-columns: repeat(3, 1fr); row-gap: 48px; }
  .nfp-home__process-item:nth-child(3)::after { display: none; }
  .nfp-home__pricing { grid-template-columns: 1fr; gap: 28px; }
  .nfp-home__pricing-copy { padding-top: 0; }
}

@media (max-width: 767px) {
  .nfp-home__hero-facts > .wp-block-group { grid-template-columns: 86px 1fr; padding: 17px 22px; }
  .nfp-home__hero-facts > .wp-block-group + .wp-block-group { border-top: 1px solid rgba(255, 255, 255, .16); border-left: 0; }
  .nfp-home__positioning, .nfp-home__benefits, .nfp-home__pricing { padding: 84px 22px; }
  .nfp-home__position-map { grid-template-columns: 1fr; gap: 32px; margin-top: 42px !important; }
  .nfp-home__position-item { min-height: 0; padding: 27px 22px 27px 58px; border: 1px solid #dfe5eb !important; }
  .nfp-home__position-item::before { left: 22px; width: 36px; }
  .nfp-home__position-item:not(:last-child)::after, .nfp-home__position-item:nth-child(2)::after { display: block; top: auto; right: auto; bottom: -25px; left: 50%; content: "↓"; transform: translateX(-50%); }
  .nfp-home__position-item > p:first-child { position: absolute; top: 28px; left: 22px; }
  .nfp-home__service-item { grid-template-columns: 42px 1fr; gap: 12px; padding: 27px 0; }
  .nfp-home__service-item h3 { font-size: 21px; }
  .nfp-home__benefits > h2 { margin-bottom: 42px; font-size: 31px; }
  .nfp-home__benefit-item { padding: 30px 0; }
  .nfp-home__proof-numbers > .wp-block-group:nth-child(even) { padding-left: 0; border-left: 0; }
  .nfp-home__process > h2 { margin-bottom: 42px; font-size: 31px; }
  .nfp-home__process-list { grid-template-columns: 1fr; gap: 34px; }
  .nfp-home__process-item { min-height: 0; padding: 26px 24px 25px 58px; }
  .nfp-home__process-item::before { left: 24px; width: 36px; }
  .nfp-home__process-item:not(:last-child)::after, .nfp-home__process-item:nth-child(3)::after { display: block; top: auto; right: auto; bottom: -26px; left: 50%; content: "↓"; transform: translateX(-50%); }
  .nfp-home__process-item > p:first-child { position: absolute; top: 27px; left: 24px; }
  .nfp-home__pricing h2 { font-size: 31px; }
}

/* VK Blocks Pro Outer structure */
.nfp-home.vk_outer { width: 100%; max-width: none; margin: 0; }
.nfp-home .vk_outer-background-area { opacity: 1 !important; }
.nfp-home > div > .vk_outer_container { width: 100%; max-width: none; padding: 0; }
.nfp-home .vk_outer_container { position: relative; z-index: 1; }

.nfp-home__hero { display: block; min-height: 0; }
.nfp-home__hero > div > .vk_outer_container { display: block; width: 100%; max-width: none; padding: 0; }
.nfp-home__hero-layout {
  display: grid !important;
  grid-template-columns: minmax(440px, 46%) 1fr;
  min-height: clamp(560px, calc(100svh - 121px), 650px);
  margin: 0 !important;
  gap: 0 !important;
}
.nfp-home__hero-layout > .wp-block-column { min-width: 0; margin: 0; }
.nfp-home__hero-layout > .wp-block-column:last-child { display: flex; }
.nfp-home__hero-layout .nfp-home__hero-copy {
  padding-top: 54px;
  padding-bottom: 54px;
}
.nfp-home__hero-layout .nfp-home__hero-visual {
  width: 100%;
  min-height: 560px;
  height: 100%;
}
.nfp-home__hero-layout .nfp-home__hero-visual img {
  display: block;
  width: 100%;
  height: 100% !important;
  min-height: 100%;
  object-fit: cover;
}
.nfp-home__hero-facts.wp-block-columns { margin: 0 !important; gap: 0 !important; }
.nfp-home__hero-facts > .wp-block-column { margin: 0; }

.nfp-home__service-list > div > .vk_outer_container { border-top: 1px solid var(--nfp-navy); }
.nfp-home__service-item { display: block; min-height: 0; padding: 0; border: 0; }
.nfp-home__service-item > .vk_outer-background-area { background: #fff !important; }
.nfp-home__service-item > div > .vk_outer_container {
  display: grid;
  grid-template-columns: 72px minmax(220px, .7fr) 1fr;
  gap: 30px;
  align-items: start;
  padding: 35px 0;
  border-bottom: 1px solid var(--nfp-line);
}
.nfp-home__service-item > div > .vk_outer_container > p:last-child { margin: 0; color: var(--nfp-muted); font-size: 14px; line-height: 1.9; }

.nfp-home__proof { display: block; padding: 0; }
.nfp-home__proof > div > .vk_outer_container { max-width: 1400px; margin: 0 auto; padding: 110px 36px; }
.nfp-home__proof > div > .vk_outer_container > .wp-block-columns { display: grid; grid-template-columns: minmax(300px, .72fr) 1.28fr; gap: 78px; margin: 0; }
.nfp-home__proof-numbers.wp-block-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; margin: 0; }
.nfp-home__proof-numbers > .wp-block-column { margin: 0; padding: 34px 0; border-top: 1px solid rgba(255,255,255,.28); }
.nfp-home__proof-numbers > .wp-block-column + .wp-block-column { padding-left: 44px; border-left: 1px solid rgba(255,255,255,.28); }
.nfp-home__proof-numbers h3 { margin-bottom: 42px; }
.nfp-home__proof-numbers h3 {
  font-size: clamp(38px, 4.1vw, 54px);
  letter-spacing: -.035em;
  white-space: nowrap;
}
.nfp-home__proof .nfp-home__text-link--light {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .45);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .025em;
}

.nfp-home__pricing, .nfp-home__contact { display: block; padding: 0; }
.nfp-home__pricing > div > .vk_outer_container,
.nfp-home__contact > div > .vk_outer_container { max-width: 1320px; margin: 0 auto; padding: 130px 36px; }
.nfp-home__pricing > div > .vk_outer_container > .wp-block-columns,
.nfp-home__contact > div > .vk_outer_container > .wp-block-columns { display: grid; grid-template-columns: 1fr minmax(380px, .72fr); gap: 90px; margin: 0; }
.nfp-home__pricing > div > .vk_outer_container > .wp-block-columns {
  grid-template-columns: minmax(440px, .78fr) minmax(0, 1.22fr);
  gap: 64px;
}

/* Closing CTA */
.nfp-home__contact {
  width: 100%;
  max-width: none !important;
  margin-right: 0 !important;
  margin-bottom: clamp(36px, 4vw, 64px) !important;
  margin-left: 0 !important;
}
.nfp-home__contact > .vk_outer-background-area {
  background: var(--nfp-navy) !important;
}
.nfp-home__contact > div > .vk_outer_container {
  max-width: 1000px;
  padding-top: 105px;
  padding-bottom: 105px;
}
.nfp-home__contact > div > .vk_outer_container > .wp-block-columns {
  grid-template-columns: 1fr;
  gap: 34px;
  text-align: center;
}
.nfp-home__contact .nfp-home__section-label {
  margin-bottom: 24px;
}
.nfp-home__contact h2 {
  max-width: 820px;
  margin: 0 auto;
  padding: 0;
  border-top: 0 !important;
  border-bottom: 0 !important;
  color: #fff;
}
.nfp-home__contact-details {
  max-width: 720px;
  margin: 0 auto !important;
  padding-top: 0;
}
.nfp-home__contact-details > p:first-child {
  max-width: 680px;
  margin: 0 auto 28px;
  color: rgba(255, 255, 255, .78);
}
.nfp-home__contact .wp-block-buttons {
  justify-content: center;
}
.nfp-home__contact .nfp-home__button--primary .wp-block-button__link {
  min-width: 280px;
  border-color: var(--nfp-gold);
  background: var(--nfp-gold);
  color: var(--nfp-navy-deep);
  font-size: 16px;
}
.nfp-home__contact .nfp-home__button--primary .wp-block-button__link:hover {
  border-color: #fff;
  background: #fff;
  color: var(--nfp-navy-deep);
}
.nfp-home__contact .nfp-home__phone {
  margin-top: 0;
  color: rgba(255, 255, 255, .68);
}
.nfp-home__contact .nfp-home__phone a {
  color: #fff;
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, sans-serif;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: .015em;
}
.nfp-home__contact .nfp-home__phone span {
  color: rgba(255, 255, 255, .68);
}
.nfp-home__benefit-list.wp-block-columns { display: block !important; }
.nfp-home__benefit-list > .nfp-home__benefit-item { width: 100%; max-width: none; }
.nfp-home__position-map.wp-block-columns,
.nfp-home__process-list.wp-block-columns,
.nfp-home__proof-numbers.wp-block-columns { display: grid !important; }

@media (max-width: 991px) {
  .nfp-home__hero-layout { grid-template-columns: 1fr; min-height: 0; }
  .nfp-home__hero-layout .nfp-home__hero-copy { padding-top: 64px; padding-bottom: 50px; }
  .nfp-home__hero-layout .nfp-home__hero-visual { min-height: 380px; }
  .nfp-home__service-item > div > .vk_outer_container { grid-template-columns: 60px 1fr; }
  .nfp-home__service-item > div > .vk_outer_container > p:last-child { grid-column: 2; }
  .nfp-home__proof > div > .vk_outer_container > .wp-block-columns,
  .nfp-home__pricing > div > .vk_outer_container > .wp-block-columns,
  .nfp-home__contact > div > .vk_outer_container > .wp-block-columns { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 767px) {
  .nfp-home__hero-layout .nfp-home__hero-copy { padding-top: 48px; padding-bottom: 40px; }
  .nfp-home__hero-layout .nfp-home__hero-visual { min-height: 330px; }
  .nfp-home__service-item > div > .vk_outer_container { grid-template-columns: 42px 1fr; gap: 12px; padding: 27px 0; }
  .nfp-home__proof > div > .vk_outer_container,
  .nfp-home__pricing > div > .vk_outer_container,
  .nfp-home__contact > div > .vk_outer_container { padding: 84px 22px; }
  .nfp-home__proof-numbers.wp-block-columns { grid-template-columns: 1fr; }
  .nfp-home__proof-numbers > .wp-block-column + .wp-block-column { padding-left: 0; border-left: 0; }
}

/* Desktop header: refined corporate brand treatment */
@media (min-width: 992px) {
  .site-header {
    position: relative;
    border-top: 3px solid var(--nfp-navy);
    border-bottom: 1px solid rgba(7, 30, 65, .12);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 10px 32px rgba(7, 30, 65, .055);
    backdrop-filter: blur(14px);
  }

  .site-header::before {
    position: absolute;
    z-index: 2;
    top: -3px;
    left: 0;
    width: clamp(78px, 8vw, 128px);
    height: 3px;
    background: var(--nfp-gold);
    content: "";
  }

  .site-header-container.container,
  .home .site-header-container.container {
    min-height: 90px;
    max-width: 1440px;
    padding-right: 48px;
    padding-left: 48px;
  }

  .site-header-logo,
  .home.header_scrolled .site-header-logo {
    display: flex;
    width: auto !important;
    height: auto;
    align-items: center;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header-logo > a,
  .site-header-logo > span {
    display: inline-flex !important;
    width: auto !important;
    height: auto;
    align-items: center;
    color: var(--nfp-navy);
    text-decoration: none;
  }

  .site-header-logo > a::after {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    margin-left: 18px;
    padding-left: 18px;
    border-left: 1px solid rgba(185, 130, 47, .58);
    content: "NEXT FIELD PARTNERS";
    color: var(--nfp-navy);
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, sans-serif;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: .16em;
    white-space: nowrap;
  }

  .site-header-logo img,
  .home .site-header-logo img,
  .home.header_scrolled .site-header-logo img {
    width: auto;
    max-height: 48px;
  }

  .global-nav {
    margin-left: auto !important;
  }

  .global-nav-list {
    align-items: center;
    gap: 2px;
  }

  /* Disable Lightning's underline; the active state below provides one consistent line. */
  .global-nav-list > li::before {
    display: none !important;
    content: none !important;
  }

  .global-nav-list > li > a,
  .home .global-nav-list > li > a {
    position: relative;
    min-height: 90px;
    padding: 0 16px;
    color: var(--nfp-ink);
    font-size: 13px;
    letter-spacing: .025em;
    transition: color .2s ease, background-color .2s ease;
  }

  .global-nav-list > li:not(:last-child) > a::after {
    position: absolute;
    right: 16px;
    bottom: 16px;
    left: 16px;
    width: auto;
    height: 2px;
    border: 0;
    background: var(--nfp-gold);
    content: "";
    opacity: 0;
    transform: scaleX(.25);
    transform-origin: center;
    transition: opacity .2s ease, transform .2s ease;
  }

  .global-nav-list > li:not(:last-child) > a:hover,
  .global-nav-list > li.current-menu-item:not(:last-child) > a {
    color: var(--nfp-navy);
    background: rgba(7, 30, 65, .025);
  }

  .global-nav-list > li:not(:last-child) > a:hover::after,
  .global-nav-list > li.current-menu-item:not(:last-child) > a::after {
    opacity: 1;
    transform: scaleX(1);
  }

  .global-nav-list > li:last-child > a,
  .home .global-nav-list > li:last-child > a {
    min-height: 50px;
    margin-left: 10px;
    padding: 0 24px;
    border: 1px solid var(--nfp-navy);
    border-radius: 4px;
    background: var(--nfp-navy);
    box-shadow: 0 7px 18px rgba(7, 30, 65, .15);
    color: #fff;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
  }

  .global-nav-list > li:last-child > a::before {
    display: none !important;
    content: none !important;
  }

  .global-nav-list > li:last-child > a:hover {
    border-color: var(--nfp-gold);
    background: var(--nfp-gold);
    color: var(--nfp-navy-deep);
    transform: translateY(-1px);
  }

  .header_scrolled .site-header-container.container,
  .home.header_scrolled .site-header-container.container {
    min-height: 78px;
  }

  .header_scrolled .site-header-logo > a::after,
  .home.header_scrolled .site-header-logo > a::after {
    display: none;
    content: none;
  }

  .header_scrolled .global-nav-list > li:not(:last-child) > a,
  .home.header_scrolled .global-nav-list > li:not(:last-child) > a {
    min-height: 78px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .site-header-logo > a::after { display: none; }
  .site-header-container.container,
  .home .site-header-container.container { padding-right: 28px; padding-left: 28px; }
  .global-nav-list > li > a,
  .home .global-nav-list > li > a { padding-right: 12px; padding-left: 12px; }
}

@media (min-width: 768px) {
  .nfp-home__hero-facts > .wp-block-column {
    min-height: 100px;
    align-content: center;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
  }
  .nfp-home__hero-facts > .wp-block-column > p { margin: 0 !important; }
}

/* Hero CTA buttons */
.nfp-home__hero .nfp-home__actions > .wp-block-button {
  flex: 0 0 204px;
  width: 204px;
}
.nfp-home__hero .nfp-home__actions > .wp-block-button .wp-block-button__link {
  width: 100%;
}

@media (max-width: 767.98px) {
  .nfp-home__hero .nfp-home__actions {
    flex-direction: column;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px;
    width: 100%;
  }
  .nfp-home__hero .nfp-home__actions > .wp-block-button {
    flex: 0 0 auto;
    width: min(240px, 100%);
  }
}

/* Core services CTA: editable core button + VK responsive spacer */
.nfp-home__services-cta {
  justify-content: flex-start;
}
.nfp-home__services-cta-button {
  margin-left: 118px;
}
.nfp-home__services-cta .wp-block-button__link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 4px 0;
  border: 0;
  border-bottom: 1px solid rgba(7, 30, 65, .42);
  border-radius: 0;
  background: transparent;
  color: var(--nfp-navy);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.nfp-home__services-cta .wp-block-button__link:hover {
  border-bottom-color: var(--nfp-gold);
  background: transparent;
  color: var(--nfp-gold);
}

@media (max-width: 767.98px) {
  .nfp-home__services-cta {
    justify-content: center !important;
    width: 100%;
  }
  .nfp-home__services-cta-button {
    width: min(280px, 100%);
    margin-left: 0;
  }
  .nfp-home__services-cta .wp-block-button__link {
    width: 100%;
    min-height: 56px;
    justify-content: center;
    padding: 13px 20px;
    border: 1px solid var(--nfp-navy);
    background: var(--nfp-navy);
    color: #fff;
    font-size: 14px;
    text-align: center;
  }
  .nfp-home__services-cta .wp-block-button__link:hover {
    border-color: var(--nfp-gold);
    background: var(--nfp-gold);
    color: var(--nfp-navy-deep);
  }
}

/* Mobile navigation: elegant navy treatment */
@media (max-width: 991.98px) {
  .vk-mobile-nav {
    top: 0 !important;
    bottom: auto !important;
    box-sizing: border-box;
    width: 100%;
    height: 100dvh !important;
    min-height: 0 !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(185, 130, 47, .13), transparent 36%),
      linear-gradient(150deg, #08254a 0%, #04152f 100%) !important;
  }

  .vk-mobile-nav.vk-mobile-nav-drop-in:not(.vk-mobile-nav-open) {
    top: -2000px !important;
  }

  .vk-mobile-nav.vk-mobile-nav-open {
    top: 0 !important;
  }

  .admin-bar .vk-mobile-nav.vk-mobile-nav-open {
    top: 46px !important;
    height: calc(100dvh - 46px) !important;
  }

  .vk-mobile-nav-menu-outer::before {
    width: 52px;
    height: 52px;
    margin-bottom: 32px;
    filter: brightness(0) invert(1);
    opacity: .94;
  }

  .vk-mobile-nav nav > ul {
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, .24) !important;
  }

  .vk-mobile-nav nav > ul > li,
  .vk-mobile-nav nav > ul > li.current-menu-item {
    overflow: visible;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .vk-mobile-nav nav > ul > li.current-menu-item {
    background: rgba(255, 255, 255, .045);
    box-shadow: inset 2px 0 0 #c58a32;
  }

  .vk-mobile-nav nav > ul > li > a {
    min-height: 68px;
    padding: 16px 44px 16px 54px !important;
    color: rgba(255, 255, 255, .94) !important;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .035em;
  }

  .vk-mobile-nav nav > ul > li > a::before {
    left: 18px;
    color: #d39a43;
    font-size: 10px;
    letter-spacing: .1em;
  }

  .vk-mobile-nav nav > ul > li > a::after {
    right: 17px;
    color: rgba(211, 154, 67, .9);
    font-size: 16px;
  }

  .vk-mobile-nav nav > ul > li:last-child,
  .vk-mobile-nav nav > ul > li.current-menu-item:last-child {
    margin-top: 24px !important;
    border: 1px solid rgba(211, 154, 67, .78) !important;
    border-radius: 2px;
    background: rgba(185, 130, 47, .08);
    box-shadow: none;
  }

  .vk-mobile-nav nav > ul > li:last-child > a {
    color: #fff !important;
  }

  .vk-mobile-nav nav > ul > li:last-child > a::before,
  .vk-mobile-nav nav > ul > li:last-child > a::after {
    color: #d39a43 !important;
  }

  .vk-mobile-nav-menu-btn.menu-open {
    border-color: rgba(255, 255, 255, .32) !important;
    background-color: transparent !important;
    background-image: url('/wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-close-white.svg') !important;
    box-shadow: none;
  }
}

@media (min-width: 783px) and (max-width: 991.98px) {
  .admin-bar .vk-mobile-nav.vk-mobile-nav-open {
    top: 32px !important;
    height: calc(100dvh - 32px) !important;
  }
}

/* Mobile first view: copy and photography in one cover hero */
@media (max-width: 767.98px) {
  .nfp-home__hero-layout {
    display: block !important;
    min-height: calc(100svh - 72px);
    background:
      linear-gradient(180deg, rgba(4, 21, 47, .72) 0%, rgba(4, 21, 47, .62) 48%, rgba(4, 21, 47, .78) 100%),
      url('/wp-content/uploads/2026/08/nfp-field-business-hero.jpg') 58% center / cover no-repeat;
  }

  .admin-bar .nfp-home__hero-layout {
    min-height: calc(100svh - 118px);
  }

  .nfp-home__hero-layout .nfp-home__hero-copy {
    display: flex;
    min-height: inherit;
    flex-direction: column;
    justify-content: center;
    padding: 36px 22px 40px;
    color: #fff;
  }

  .nfp-home__hero-layout > .wp-block-column:last-child {
    display: none !important;
  }

  .nfp-home__hero .nfp-home__eyebrow {
    margin-bottom: 21px;
    color: #dda34b;
    text-shadow: 0 1px 10px rgba(0, 0, 0, .16);
  }

  .nfp-home__hero h1 {
    margin-bottom: 22px;
    color: #fff;
    font-size: clamp(30px, 9vw, 38px);
    line-height: 1.43;
    letter-spacing: .015em;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .2);
  }

  .nfp-home__hero .nfp-home__lead {
    margin-bottom: 25px;
    color: rgba(255, 255, 255, .88);
    font-size: 14px;
    line-height: 1.9;
    text-shadow: 0 1px 12px rgba(0, 0, 0, .22);
  }

  .nfp-home__hero .nfp-home__button--primary .wp-block-button__link {
    border-color: var(--nfp-gold);
    background: var(--nfp-gold);
    color: var(--nfp-navy-deep);
  }

  .nfp-home__hero .nfp-home__button--secondary .wp-block-button__link {
    border-color: rgba(255, 255, 255, .86);
    background: rgba(4, 21, 47, .16);
    color: #fff;
  }

  .nfp-home__hero-facts > .wp-block-column {
    min-height: 80px;
    align-content: center;
    align-items: center;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .nfp-home__hero-facts > .wp-block-column > p {
    margin: 0 !important;
  }

  .nfp-home__statement-grid > .wp-block-column {
    padding-top: 0;
    border-top: 0;
  }

  .nfp-home__service-item > div > .vk_outer_container {
    display: block;
    padding: 28px 0;
  }

  .nfp-home__service-item .nfp-home__service-number {
    margin: 0 0 10px !important;
  }

  .nfp-home__service-item h3 {
    width: 100%;
    margin: 0 0 13px !important;
    word-break: normal;
    overflow-wrap: anywhere;
    writing-mode: horizontal-tb;
  }

  .nfp-home__service-item > div > .vk_outer_container > p:last-child {
    width: 100%;
    margin: 0;
  }

  .nfp-home__services .nfp-home__section-heading h2 {
    font-size: clamp(20px, 6.4vw, 25px);
    line-height: 1.55;
    letter-spacing: 0;
    word-break: keep-all;
    overflow-wrap: normal;
  }
}

/* Mobile track record: numbers first, CTA last, contained in one viewport */
@media (max-width: 767.98px) {
  .nfp-home__process > div > .vk_outer_container > h2 {
    font-size: clamp(16px, 4.35vw, 18px);
    line-height: 1.45;
    letter-spacing: -.025em;
    white-space: nowrap !important;
  }

  .nfp-home__proof > div > .vk_outer_container {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 48px 22px 44px;
  }

  .nfp-home__proof > div > .vk_outer_container > .wp-block-columns,
  .nfp-home__proof-intro {
    display: contents !important;
  }

  .nfp-home__proof-intro > .nfp-home__section-label {
    order: 1;
    margin-bottom: 20px;
  }

  .nfp-home__proof-intro > h2 {
    order: 2;
    margin: 0 0 28px;
    font-size: clamp(27px, 7.6vw, 31px);
    line-height: 1.5;
  }

  .nfp-home__proof > div > .vk_outer_container > .wp-block-columns > .wp-block-column:last-child {
    order: 3;
    min-width: 0;
  }

  .nfp-home__proof-numbers.wp-block-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 1px solid rgba(255, 255, 255, .28);
  }

  .nfp-home__proof-numbers > .wp-block-column,
  .nfp-home__proof-numbers > .wp-block-column + .wp-block-column {
    min-width: 0;
    padding: 20px 12px 22px 0;
    border-top: 1px solid rgba(255, 255, 255, .28);
  }

  .nfp-home__proof-numbers > .wp-block-column + .wp-block-column {
    padding-right: 0;
    padding-left: 14px;
    border-left: 1px solid rgba(255, 255, 255, .28);
  }

  .nfp-home__proof-numbers p {
    margin: 0 0 7px;
    font-size: 10px;
    line-height: 1.5;
  }

  .nfp-home__proof-numbers h3,
  .nfp-home__proof-numbers h3:last-child {
    margin: 0 0 20px;
    font-size: clamp(23px, 6.8vw, 29px);
    line-height: 1.1;
    letter-spacing: -.045em;
    white-space: nowrap;
  }

  .nfp-home__proof-numbers h3:last-child {
    margin-bottom: 0;
  }

  .nfp-home__proof-intro > p:last-child {
    order: 4;
    margin: 24px 0 0;
    text-align: center;
  }

  .nfp-home__proof .nfp-home__text-link--light {
    width: min(280px, 100%);
    min-height: 52px;
    justify-content: center;
    padding: 12px 20px;
    border: 1px solid rgba(255, 255, 255, .72);
    font-size: 14px;
  }

  /* Process timeline */
  .nfp-home__process-list.wp-block-columns {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    padding-left: 48px;
  }

  .nfp-home__process-list::before {
    position: absolute;
    top: 27px;
    bottom: 27px;
    left: 18px;
    width: 1px;
    background: linear-gradient(to bottom, var(--nfp-gold), rgba(185, 130, 47, .3));
    content: "";
  }

  .nfp-home__process-item {
    min-height: 118px;
    padding: 22px 20px 20px;
    border-color: #dce3e9;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(7, 30, 65, .055);
  }

  .nfp-home__process-item::before {
    top: 0;
    left: 20px;
    width: 36px;
  }

  .nfp-home__process-item::after,
  .nfp-home__process-item:not(:last-child)::after,
  .nfp-home__process-item:nth-child(3)::after {
    display: none !important;
    content: none !important;
  }

  .nfp-home__process-item > p:first-child {
    position: absolute;
    z-index: 2;
    top: 19px;
    left: -48px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    margin: 0;
    border: 1px solid var(--nfp-gold);
    border-radius: 50%;
    background: #f5f7f9;
    box-shadow: 0 0 0 6px #f5f7f9;
    color: var(--nfp-gold);
    font-size: 10px;
    line-height: 1;
  }

  .nfp-home__process-item h3 {
    margin: 0 0 10px;
    font-size: 16px;
  }

  .nfp-home__process-item > p:last-child {
    font-size: 12px;
    line-height: 1.65;
  }

  .nfp-home__pricing h2 {
    text-align: center;
  }

  .nfp-home__pricing-copy .wp-block-buttons {
    justify-content: center;
  }

  .nfp-home__contact h2 {
    font-size: clamp(23px, 6.4vw, 25px);
    line-height: 1.62;
    letter-spacing: -.01em;
    word-break: keep-all;
  }
}

/* Mobile fixed contact CTA — content is managed in the Mobile Fix Nav widget area */
@media (max-width: 991.98px) {
  .mobile-fix-nav {
    padding: 0 14px calc(10px + env(safe-area-inset-bottom));
    border: 0;
    background: transparent !important;
    box-shadow: none;
    pointer-events: none;
  }

  .mobile-fix-nav-top {
    padding: 0 !important;
    background: transparent;
  }

  .mobile-fix-nav-widget,
  .nfp-mobile-contact-widget,
  .nfp-mobile-contact-widget .wp-block-button {
    width: 100%;
    margin: 0;
  }

  .nfp-mobile-contact-widget {
    pointer-events: auto;
  }

  .nfp-mobile-contact-widget .wp-block-button__link {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 7px;
    background: var(--nfp-navy);
    box-shadow: 0 10px 28px rgba(4, 21, 47, .28);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .035em;
    text-decoration: none;
  }

  .nfp-mobile-contact-widget .wp-block-button__link::after {
    margin-left: 14px;
    content: "\2192";
    color: var(--nfp-gold);
    font-size: 17px;
    font-weight: 400;
  }
}

/* Mobile first view: hero copy, image and facts fit above the fixed CTA */
@media (max-width: 767.98px) {
  .nfp-home__hero > div > .vk_outer_container {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-height: calc(100svh - 72px - var(--vk-mobile-fix-nav-height, 68px));
  }

  .admin-bar .nfp-home__hero > div > .vk_outer_container {
    min-height: calc(100svh - 118px - var(--vk-mobile-fix-nav-height, 68px));
  }

  .nfp-home__hero-layout,
  .admin-bar .nfp-home__hero-layout {
    min-height: 0;
    height: 100%;
  }

  .nfp-home__hero-layout .nfp-home__hero-copy {
    min-height: 0;
    height: 100%;
    padding: 22px 22px 20px;
  }

  .nfp-home__hero .nfp-home__eyebrow {
    margin-bottom: 11px;
    font-size: 10px;
  }

  .nfp-home__hero h1 {
    margin-bottom: 13px;
    font-size: clamp(28px, 8.1vw, 33px);
    line-height: 1.38;
  }

  .nfp-home__hero .nfp-home__lead {
    margin-bottom: 15px;
    font-size: 13px;
    line-height: 1.72;
  }

  .nfp-home__hero .wp-block-buttons {
    gap: 9px;
  }

  .nfp-home__hero .nfp-home__button .wp-block-button__link {
    min-height: 46px;
    padding: 10px 18px;
    font-size: 13px;
  }

  .nfp-home__hero-facts > .wp-block-column {
    min-height: 56px;
    padding: 0 22px !important;
  }

  .nfp-home__hero-facts > .wp-block-column > p:first-child {
    font-size: 9px;
  }

  .nfp-home__hero-facts > .wp-block-column > p:last-child {
    font-size: 17px;
  }
}
