/* New Military Law v1.0.5: archive title size fix */

/* Archive title must match mobilization archive: white uppercase, not yellow. */
body.post-type-archive-military-law .tm-category__title,
body.tax-military-law-categories .tm-category__title {
  color: #fff !important;
  text-transform: uppercase !important;
}

/* Single service title remains yellow like mobilization service pages. */
body.single-military-law .tm-single__columns .tm-spec-subcolumn > h1 {
  color: #fdd140 !important;
}

.jv-nml-service-content,
.jv-nml-service-content * { box-sizing: border-box; }
.jv-nml-service-content {
  max-width: 1120px;
  margin-inline: auto;
  color: rgba(255,255,255,.64);
}
.jv-nml-service-content .jv-nml-price-box { display: none !important; }

.jv-nml-service-content p,
.jv-nml-service-content li,
.jv-nml-service-content .jv-nml-demoted-heading {
  color: rgba(255,255,255,.64) !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
}
.jv-nml-service-content p { margin: 0 0 18px !important; }
.jv-nml-service-content strong { color: #fff; font-weight: 700; }
.jv-nml-service-content .jv-nml-lead {
  font-size: inherit !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,.64) !important;
  margin: 0 0 18px !important;
}

/* Main section headings: white and uppercase. */
.jv-nml-service-content .jv-nml-heading,
.jv-nml-service-content .jv-section-heading {
  display: block !important;
  max-width: 1020px !important;
  margin: 36px 0 20px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(24px, 3vw, 42px) !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
}
.jv-nml-service-content .jv-nml-heading strong,
.jv-nml-service-content .jv-section-heading strong { color: inherit !important; font-weight: inherit !important; }

/* FAQ title stays yellow. */
.jv-nml-service-content .jv-nml-faq-title {
  color: #fdd140 !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.08 !important;
  margin: 52px 0 22px !important;
}

/* Text that used to become accidental large heading. */
.jv-nml-service-content .jv-nml-demoted-heading,
.jv-nml-service-content .jv-nml-law-intro {
  display: block !important;
  max-width: 1000px !important;
  margin: 0 0 14px !important;
  color: #fff !important;
  font-size: inherit !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Subheadings before checklists: white, same text size, not big headings. */
.jv-nml-service-content .jv-nml-list-title {
  display: block !important;
  color: #fff !important;
  font-size: inherit !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 20px 0 10px !important;
}

/* Legal / quote blocks: compact, no large empty area. Quote in yellow, source grey. */
.jv-nml-service-content .jv-nml-quote {
  display: block !important;
  margin: 18px 0 24px !important;
  padding: 18px 24px !important;
  min-height: 0 !important;
  height: auto !important;
  border-left: 4px solid #fdd140 !important;
  border-radius: 0 18px 18px 0 !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,255,255,.64) !important;
  font-size: .98em !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
.jv-nml-service-content .jv-nml-quote-text {
  color: #fdd140 !important;
  font-weight: 700 !important;
}
.jv-nml-service-content .jv-nml-quote-source {
  display: inline !important;
  color: rgba(255,255,255,.64) !important;
  font-weight: 500 !important;
}

/* Compact price table inside content, not under the title. */
.jv-nml-service-content .jv-nml-price-callout,
.jv-nml-service-content .jv-nml-price-table {
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) auto !important;
  align-items: center !important;
  gap: 22px !important;
  width: 100% !important;
  margin: 24px 0 28px !important;
  padding: 18px 24px !important;
  min-height: 0 !important;
  border: 1px solid rgba(253,209,64,.75) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.035) !important;
}
.jv-nml-service-content .jv-nml-price-label {
  color: rgba(255,255,255,.58) !important;
  font-size: 1.02em !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}
.jv-nml-service-content .jv-nml-price-value {
  color: #fdd140 !important;
  font-size: clamp(22px, 2.6vw, 34px) !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* Checklists: no hyphens; simple yellow check like mobilization pages. */
.jv-nml-service-content .jv-nml-list,
.jv-nml-service-content .jv-list-checks {
  margin: 16px 0 28px !important;
  padding: 0 !important;
  list-style: none !important;
  display: block !important;
  max-width: 1000px !important;
}
.jv-nml-service-content .jv-nml-list li,
.jv-nml-service-content .jv-list-checks li {
  position: relative !important;
  margin: 0 0 13px !important;
  padding: 0 0 0 38px !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
}
.jv-nml-service-content .jv-nml-list li::marker,
.jv-nml-service-content .jv-list-checks li::marker { content: '' !important; }
.jv-nml-service-content .jv-nml-list li::before,
.jv-nml-service-content .jv-list-checks li::before {
  content: '✓' !important;
  position: absolute !important;
  left: 2px !important;
  top: -0.05em !important;
  width: 24px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 0 !important;
  color: #fdd140 !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
.jv-nml-service-content .jv-nml-list li strong,
.jv-nml-service-content .jv-list-checks li strong,
.jv-nml-service-content .jv-nml-emphasis-list li strong {
  color: #fdd140 !important;
  font-weight: 800 !important;
}

/* Feature cards: for "Чому варто обрати..." and similar benefit sections. */
.jv-nml-service-content .jv-nml-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin: 24px 0 36px !important;
}
.jv-nml-service-content .jv-nml-feature-card {
  min-height: 170px !important;
  padding: 26px 26px 28px !important;
  border-radius: 22px !important;
  background: #071327 !important;
  border: 1px solid rgba(255,255,255,.04) !important;
}
.jv-nml-service-content .jv-nml-feature-card-title {
  color: #fdd140 !important;
  font-size: clamp(20px, 1.9vw, 30px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
}
.jv-nml-service-content .jv-nml-feature-card-text {
  color: rgba(255,255,255,.55) !important;
  font-size: 1em !important;
  line-height: 1.32 !important;
  font-weight: 400 !important;
}

/* FAQ: triangle accordion like the mobilization pages. */
.jv-nml-service-content .jv-nml-faq-section { margin: 48px 0 38px !important; }
.jv-nml-service-content .jv-nml-faq-section details { display: block; }
.jv-nml-service-content .jv-nml-faq-item {
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: #071327 !important;
  margin: 0 0 14px !important;
  box-shadow: none !important;
}
.jv-nml-service-content .jv-nml-faq-item summary {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 20px 24px !important;
  list-style: none !important;
  cursor: pointer !important;
  color: #fff !important;
  font: inherit !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}
.jv-nml-service-content .jv-nml-faq-item summary::-webkit-details-marker { display: none !important; }
.jv-nml-service-content .jv-nml-faq-item summary::before {
  content: '' !important;
  grid-column: 1 !important;
  width: 0 !important;
  height: 0 !important;
  border-top: 6px solid transparent !important;
  border-bottom: 6px solid transparent !important;
  border-left: 9px solid #fdd140 !important;
  transition: transform .2s ease !important;
}
.jv-nml-service-content .jv-nml-faq-item[open] summary::before { transform: rotate(90deg) !important; }
.jv-nml-service-content .jv-nml-faq-item summary::after { content: none !important; display: none !important; }
.jv-nml-service-content .jv-nml-faq-answer {
  padding: 0 24px 22px 48px !important;
  color: rgba(255,255,255,.55) !important;
  line-height: 1.45 !important;
}
.jv-nml-service-content .jv-nml-faq-answer p {
  margin: 0 !important;
  color: rgba(255,255,255,.55) !important;
  font-weight: 300 !important;
}

@media (max-width: 1024px) {
  .jv-nml-service-content .jv-nml-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  body.single-military-law .tm-single__columns .tm-spec-subcolumn > h1 {
    font-size: clamp(30px, 10vw, 46px) !important;
    line-height: 1.05 !important;
    overflow-wrap: break-word !important;
  }
  .jv-nml-service-content { max-width: none; }
  .jv-nml-service-content .jv-nml-heading,
  .jv-nml-service-content .jv-section-heading {
    margin: 30px 0 16px !important;
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: 1.08 !important;
  }
  .jv-nml-service-content .jv-nml-faq-title {
    font-size: clamp(25px, 8vw, 34px) !important;
  }
  .jv-nml-service-content .jv-nml-quote { padding: 16px 18px !important; }
  .jv-nml-service-content .jv-nml-price-callout,
  .jv-nml-service-content .jv-nml-price-table {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 18px 20px !important;
  }
  .jv-nml-service-content .jv-nml-price-value { white-space: normal !important; font-size: clamp(24px, 8vw, 32px) !important; }
  .jv-nml-service-content .jv-nml-list li,
  .jv-nml-service-content .jv-list-checks li { padding-left: 34px !important; }
  .jv-nml-service-content .jv-nml-feature-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .jv-nml-service-content .jv-nml-feature-card { min-height: 0 !important; padding: 22px !important; }
  .jv-nml-service-content .jv-nml-faq-item summary { padding: 18px !important; }
  .jv-nml-service-content .jv-nml-faq-answer { padding: 0 18px 20px 42px !important; }
}


/* v1.0.4 refinements from visual review */
body.post-type-archive-military-law .tm-category__title,
body.post-type-archive-military-law h1.tm-category__title,
body.post-type-archive-military-law .tm-main .tm-category__title,
body.post-type-archive-military-law .tm-category__header .tm-category__title,
body.tax-military-law-categories .tm-category__title,
body.tax-military-law-categories h1.tm-category__title,
body.tax-military-law-categories .tm-main .tm-category__title,
body.tax-military-law-categories .tm-category__header .tm-category__title {
  color: #fff !important;
  text-transform: uppercase !important;
  /* v1.0.5: do not force size; keep the active theme/archive template sizing. */
}

.jv-nml-service-content .jv-nml-heading,
.jv-nml-service-content .jv-section-heading {
  max-width: 1000px !important;
  margin: 34px 0 18px !important;
  font-size: clamp(24px, 2.15vw, 32px) !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
  letter-spacing: -0.018em !important;
}

body.single-military-law .tm-single__columns .tm-spec-subcolumn > h1 {
  font-size: clamp(42px, 4.2vw, 64px) !important;
  line-height: 1.02 !important;
}

.jv-nml-service-content .jv-nml-list-title,
.jv-nml-service-content .jv-nml-demoted-heading,
.jv-nml-service-content .jv-nml-law-intro {
  color: #fff !important;
  font-size: inherit !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 18px 0 10px !important;
}

.jv-nml-service-content .jv-nml-feature-grid,
.jv-nml-service-content .jv-nml-why-grid {
  display: block !important;
  margin: 12px 0 28px !important;
}
.jv-nml-service-content .jv-nml-feature-card {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.jv-nml-service-content .jv-nml-feature-card-title,
.jv-nml-service-content .jv-nml-feature-card-text {
  display: inline !important;
  color: rgba(255,255,255,.64) !important;
  font-size: inherit !important;
  line-height: 1.5 !important;
  font-weight: 300 !important;
  text-transform: none !important;
}

.jv-nml-service-content .jv-nml-quote {
  margin: 16px 0 22px !important;
  padding: 16px 22px !important;
  min-height: 0 !important;
  line-height: 1.38 !important;
}
.jv-nml-service-content .jv-nml-price-callout,
.jv-nml-service-content .jv-nml-price-table {
  margin: 22px 0 26px !important;
  padding: 14px 22px !important;
  border-radius: 18px !important;
}
.jv-nml-service-content .jv-nml-price-label { font-size: .95em !important; }
.jv-nml-service-content .jv-nml-price-value { font-size: clamp(18px, 1.75vw, 26px) !important; }

.jv-nml-service-content .jv-nml-list li,
.jv-nml-service-content .jv-list-checks li {
  margin-bottom: 12px !important;
  padding-left: 36px !important;
}

@media (max-width: 767px) {
  body.single-military-law .tm-single__columns .tm-spec-subcolumn > h1 {
    font-size: clamp(32px, 9.2vw, 48px) !important;
  }
  .jv-nml-service-content .jv-nml-heading,
  .jv-nml-service-content .jv-section-heading {
    font-size: clamp(23px, 6.8vw, 30px) !important;
    margin: 28px 0 15px !important;
  }
  .jv-nml-service-content .jv-nml-quote {
    padding: 14px 16px !important;
  }
}

/* =========================================================
   v1.0.7 — native Gutenberg compatibility
   ========================================================= */
.jv-nml-service-content.wp-block-group {
  display: block !important;
  padding: 0 !important;
}
.jv-nml-service-content.wp-block-group > * {
  margin-block-start: 0;
}
.jv-nml-service-content .wp-block-group {
  box-sizing: border-box;
}
.jv-nml-service-content .wp-block-details {
  margin-block-start: 0;
  margin-block-end: 14px;
}

/* =========================================================
   v1.0.7 — 3 rows + horizontal scroll for Military Law archive
   Mirrors the Mobilization Law archive behavior.
   ========================================================= */
.tm-military-archive .tm-tabs-content__item .tm-grid.jv-nml-services-grid {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-template-rows: repeat(3, minmax(0, auto)) !important;
  grid-auto-columns: calc(33.333% - 14px) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 0 18px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-x: contain !important;
  scroll-snap-type: x proximity !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.tm-military-archive .tm-tabs-content__item .tm-grid.jv-nml-services-grid::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
.tm-military-archive .tm-tabs-content__item .tm-grid.jv-nml-services-grid > * {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
  box-sizing: border-box !important;
  scroll-snap-align: start !important;
}
.tm-military-archive .tm-tabs-content__item .tm-grid.tm-service-rows-1 {
  grid-template-rows: repeat(1, minmax(0, auto)) !important;
}
.tm-military-archive .tm-tabs-content__item .tm-grid.tm-service-rows-2 {
  grid-template-rows: repeat(2, minmax(0, auto)) !important;
}
.tm-military-archive .tm-tabs-content__item .tm-grid.tm-service-rows-3 {
  grid-template-rows: repeat(3, minmax(0, auto)) !important;
}
.tm-military-archive .tm-tabs-content__item .tm-grid.jv-nml-services-grid .tm-services-card,
.tm-military-archive .tm-tabs-content__item .tm-grid.jv-nml-services-grid .tm-services-card__title {
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
}
.jv-nml-scrollbar {
  position: relative !important;
  display: block;
  width: 100% !important;
  height: 4px !important;
  margin: 10px 0 22px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.20) !important;
}
.jv-nml-scrollbar[hidden] {
  display: none !important;
}
.jv-nml-scrollbar__thumb {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  height: 4px !important;
  min-width: 80px !important;
  border-radius: 999px !important;
  background: #fff !important;
  transition: transform .08s linear !important;
  will-change: transform !important;
}

@media (max-width: 767px) {
  .tm-military-archive .tm-tabs-content__item .tm-grid.jv-nml-services-grid {
    grid-auto-columns: minmax(260px, 84%) !important;
    grid-template-rows: repeat(3, auto) !important;
    touch-action: pan-x pan-y !important;
  }
  .tm-military-archive .tm-tabs-content__item .tm-grid.tm-service-rows-1 {
    grid-template-rows: repeat(1, auto) !important;
  }
  .tm-military-archive .tm-tabs-content__item .tm-grid.tm-service-rows-2 {
    grid-template-rows: repeat(2, auto) !important;
  }
}

/* =========================================================
   v1.0.9 — archive card distribution and equal heading sizes
   ========================================================= */

/* Yellow single-service title uses the same scale as white section headings. */
body.single-military-law .tm-single__columns .tm-spec-subcolumn > h1 {
  font-size: clamp(24px, 2.15vw, 32px) !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
  letter-spacing: -0.018em !important;
}

/* Yellow FAQ heading follows the same scale as the white headings too. */
.jv-nml-service-content .jv-nml-faq-title {
  font-size: clamp(24px, 2.15vw, 32px) !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
  letter-spacing: -0.018em !important;
}

/*
 * Cards are placed by front.js:
 * - 1–3: one horizontal row with up to three cards;
 * - 4–6: two horizontal rows with up to three cards in each row;
 * - 7+: three rows, filled vertically by column, then continued to the right.
 */
.tm-military-archive .tm-tabs-content__item .tm-grid.jv-nml-services-grid {
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc((100% - 32px) / 3) !important;
  align-items: stretch !important;
}
.tm-military-archive .tm-tabs-content__item .tm-grid.tm-service-rows-1 {
  grid-template-rows: minmax(0, auto) !important;
}
.tm-military-archive .tm-tabs-content__item .tm-grid.tm-service-rows-2 {
  grid-template-rows: repeat(2, minmax(0, auto)) !important;
}
.tm-military-archive .tm-tabs-content__item .tm-grid.tm-service-rows-3 {
  grid-template-rows: repeat(3, minmax(0, auto)) !important;
}

@media (max-width: 767px) {
  body.single-military-law .tm-single__columns .tm-spec-subcolumn > h1,
  .jv-nml-service-content .jv-nml-faq-title {
    font-size: clamp(23px, 6.8vw, 30px) !important;
    line-height: 1.08 !important;
  }

  .tm-military-archive .tm-tabs-content__item .tm-grid.jv-nml-services-grid {
    grid-auto-columns: minmax(260px, 84%) !important;
  }
}

/* =========================================================
   v1.0.10 — ACF builder typography parity with Mobilization Law
   ========================================================= */
/* The main yellow service title is slightly larger than section headings,
   but no longer oversized. */
body.single-military-law.jv-service-builder-page
.tm-single__columns .tm-spec-subcolumn > h1 {
  font-size: clamp(36px, 3.35vw, 54px) !important;
  line-height: 1.06 !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
}

/* White section headings use the same regular weight as Mobilization Law. */
body.single-military-law.jv-service-builder-page .jv-service-section h2,
body.single-military-law.jv-service-standardized-page .jv-service-section h2 {
  font-weight: 400 !important;
  letter-spacing: -0.015em !important;
}

/* FAQ heading remains yellow but uses the same regular typeface. */
body.single-military-law.jv-service-builder-page .jv-service-faq h2 {
  font-weight: 400 !important;
}

@media (max-width: 767px) {
  body.single-military-law.jv-service-builder-page
  .tm-single__columns .tm-spec-subcolumn > h1 {
    font-size: clamp(30px, 8.8vw, 44px) !important;
    line-height: 1.07 !important;
  }
}

/* =========================================================
   v1.0.11 — exact DOCX order, compact price block and FAQ fix
   ========================================================= */

/* Main service title: slightly larger than section headings, as in Mobilization Law. */
body.single-military-law.jv-service-builder-page
.tm-single__columns .tm-spec-subcolumn > h1 {
  max-width: 1180px !important;
  font-size: clamp(34px, 3.05vw, 48px) !important;
  line-height: 1.07 !important;
  font-weight: 400 !important;
  letter-spacing: -0.018em !important;
  overflow-wrap: break-word !important;
}

/* Ordinary white headings keep the lighter Mobilization Law weight. */
body.single-military-law.jv-service-builder-page .jv-service-section > h2,
body.single-military-law.jv-service-builder-page .jv-service-content > h2,
body.single-military-law.jv-service-builder-page .jv-service-list > h2,
body.single-military-law.jv-service-builder-page .jv-service-pricing-section > h2 {
  max-width: 1050px !important;
  font-size: clamp(22px, 2.05vw, 31px) !important;
  line-height: 1.13 !important;
  font-weight: 400 !important;
  letter-spacing: -0.012em !important;
}

/* FAQ title stays yellow, while retaining the same controlled scale. */
body.single-military-law.jv-service-builder-page .jv-service-faq > h2 {
  color: #fdd140 !important;
  font-size: clamp(24px, 2.25vw, 34px) !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
}

/* Exact-order price block used by the original 30 military-law documents. */
body.single-military-law.jv-service-builder-page .jv-nml-price-callout-block {
  padding-block: 20px !important;
}
body.single-military-law.jv-service-builder-page .jv-nml-price-callout-block__row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  width: 100% !important;
  padding: 14px 20px !important;
  border: 1px solid rgba(253,209,64,.78) !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
  background: rgba(253,209,64,.035) !important;
}
body.single-military-law.jv-service-builder-page .jv-nml-price-callout-block__label {
  color: rgba(255,255,255,.62) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
}
body.single-military-law.jv-service-builder-page .jv-nml-price-callout-block__value {
  color: #fdd140 !important;
  font-size: clamp(18px, 1.65vw, 24px) !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}
body.single-military-law.jv-service-builder-page .jv-nml-price-callout-block__sentence {
  margin: 16px 0 0 !important;
  color: rgba(255,255,255,.72) !important;
  font-size: inherit !important;
  line-height: 1.5 !important;
  font-weight: 300 !important;
}

/* Intro lines inside list blocks are ordinary white body-size text, not oversized headings. */
body.single-military-law.jv-service-builder-page .jv-service-list .jv-nml-inline-heading {
  margin-bottom: 12px !important;
  color: #fff !important;
  font-size: inherit !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}

/* Prevent FAQ questions from collapsing into a one-word-wide column. */
body.single-military-law.jv-service-builder-page .jv-service-faq-question {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  column-gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.single-military-law.jv-service-builder-page .jv-service-faq-question > span:first-child {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
body.single-military-law.jv-service-builder-page .jv-service-faq-icon {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
}
body.single-military-law.jv-service-builder-page .jv-service-faq-answer {
  width: auto !important;
  min-width: 0 !important;
  overflow-wrap: break-word !important;
}

@media (max-width: 767px) {
  body.single-military-law.jv-service-builder-page
  .tm-single__columns .tm-spec-subcolumn > h1 {
    font-size: clamp(30px, 8.7vw, 43px) !important;
    line-height: 1.07 !important;
  }

  body.single-military-law.jv-service-builder-page .jv-service-section > h2,
  body.single-military-law.jv-service-builder-page .jv-service-content > h2,
  body.single-military-law.jv-service-builder-page .jv-service-list > h2,
  body.single-military-law.jv-service-builder-page .jv-service-pricing-section > h2 {
    font-size: clamp(20px, 6.1vw, 27px) !important;
  }

  body.single-military-law.jv-service-builder-page .jv-service-faq > h2 {
    font-size: clamp(22px, 6.6vw, 29px) !important;
  }

  body.single-military-law.jv-service-builder-page .jv-nml-price-callout-block__row {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 7px !important;
    padding: 14px 16px !important;
  }
  body.single-military-law.jv-service-builder-page .jv-nml-price-callout-block__value {
    white-space: normal !important;
  }
}
