/*
 * VA20Four7 v11.12 — Inner-page journey alignment
 * Normalizes the shared “Continue the journey” component to the same
 * left-aligned content rhythm used by the rest of the inner-page system.
 */

/* Keep the shared block on the same content axis as every other section. */
.va110-next-journey > .wrap {
  display: block;
}

/*
 * Previous production CSS split the eyebrow and heading into .55fr / 1fr,
 * which made the heading appear detached and offset toward the center.
 * Treat this as a conventional section heading instead.
 */
.va110-next-journey-head {
  display: block !important;
  width: 100%;
  max-width: 820px;
  margin: 0 0 30px !important;
  text-align: left;
}

.va110-next-journey-head .eyebrow {
  display: inline-flex;
  margin: 0 0 14px !important;
}

.va110-next-journey-head h2 {
  margin: 0 !important;
  max-width: 18ch !important;
  font-size: clamp(34px, 3.4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  text-align: left !important;
}

/* Keep the navigation rail flush with the same wrap edges as the heading. */
.va110-next-journey-grid {
  width: 100%;
  margin: 0 !important;
  align-items: stretch;
}

.va110-next-journey-grid > a {
  min-width: 0;
  padding: 24px 30px 24px !important;
}

.va110-next-journey-grid > a small,
.va110-next-journey-grid > a strong {
  text-align: left;
}

/* Service/support pages can contain only two links; don't leave a ghost third column. */
.va110-next-journey-grid:has(> a:nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Tablet: preserve hierarchy but reduce vertical footprint. */
@media (max-width: 900px) {
  .va110-next-journey-head {
    max-width: 720px;
    margin-bottom: 24px !important;
  }

  .va110-next-journey-head h2 {
    font-size: clamp(32px, 5vw, 42px) !important;
  }

  .va110-next-journey-grid,
  .va110-next-journey-grid:has(> a:nth-child(2):last-child) {
    grid-template-columns: 1fr !important;
  }

  .va110-next-journey-grid > a {
    padding: 22px 24px !important;
  }
}

/* Mobile: align exactly with the normal mobile content edge. */
@media (max-width: 580px) {
  .va110-next-journey {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .va110-next-journey-head {
    margin-bottom: 20px !important;
  }

  .va110-next-journey-head .eyebrow {
    margin-bottom: 12px !important;
  }

  .va110-next-journey-head h2 {
    max-width: 20ch !important;
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: 1.1 !important;
  }

  .va110-next-journey-grid > a {
    min-height: 108px !important;
    padding: 20px 22px !important;
  }
}
