/* =========================================================
   MIZUHO BISO
   VISUAL PLANNING PAGE
   /visual-planning/
========================================================= */


/* =========================================================
   VARIABLES
========================================================= */

.mzb-vp {
  --mzb-vp-text: #17191b;
  --mzb-vp-muted: #6f7478;
  --mzb-vp-line: #dfe2e3;
  --mzb-vp-soft: #f5f5f2;
  --mzb-vp-soft-blue: #eef2f4;
  --mzb-vp-dark: #17242d;
  --mzb-vp-white: #ffffff;

  --mzb-vp-width: 1180px;
  --mzb-vp-side: 24px;

  color: var(--mzb-vp-text);
  background: var(--mzb-vp-white);
  font-size: 16px;
  line-height: 2;
}


/* =========================================================
   SWELL RESET / PAGE ONLY
========================================================= */

body:has(.mzb-vp) .c-pageTitle {
  display: none;
}

body:has(.mzb-vp) .post_content {
  margin-top: 0;
}

body:has(.mzb-vp) .l-mainContent__inner {
  padding-top: 0;
}

.mzb-vp,
.mzb-vp * {
  box-sizing: border-box;
}

.mzb-vp h1,
.mzb-vp h2,
.mzb-vp h3,
.mzb-vp p,
.mzb-vp figure,
.mzb-vp blockquote {
  margin-top: 0;
}

.mzb-vp h1,
.mzb-vp h2,
.mzb-vp h3 {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
}

.mzb-vp h1::before,
.mzb-vp h1::after,
.mzb-vp h2::before,
.mzb-vp h2::after,
.mzb-vp h3::before,
.mzb-vp h3::after {
  display: none !important;
  content: none !important;
}

.mzb-vp a {
  color: inherit;
  text-decoration: none;
}

.mzb-vp img {
  display: block;
  width: 100%;
  height: auto;
}


/* =========================================================
   FULL WIDTH
========================================================= */

.mzb-vp {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.mzb-vp .mzb-vp-container {
  width: min(
    calc(100% - (var(--mzb-vp-side) * 2)),
    var(--mzb-vp-width)
  );
  margin-inline: auto;
}


/* =========================================================
   COMMON
========================================================= */

.mzb-vp .mzb-vp-section {
  padding: 128px 0;
}

.mzb-vp .mzb-vp-eyebrow {
  margin-bottom: 24px;
  color: #68747b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.18em;
}

.mzb-vp .mzb-vp-section-no {
  margin-bottom: 10px;
  color: #a6aaad;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
}

.mzb-vp .mzb-vp-section-head {
  max-width: 760px;
  margin-bottom: 64px;
}

.mzb-vp .mzb-vp-section-head--center {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.mzb-vp .mzb-vp-section-head h2,
.mzb-vp .mzb-vp-split__content h2,
.mzb-vp .mzb-vp-reality__copy h2,
.mzb-vp .mzb-vp-after__content h2,
.mzb-vp .mzb-vp-cta h2 {
  margin-bottom: 30px;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(36px, 4vw, 58px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.04em;
}

.mzb-vp .mzb-vp-section-lead {
  margin-bottom: 0;
  color: #50565a;
  font-size: 17px;
  line-height: 2.1;
}

.mzb-vp .mzb-vp-media {
  overflow: hidden;
  margin: 0;
}

.mzb-vp .mzb-vp-media img,
.mzb-vp .mzb-vp-split__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* =========================================================
   HERO
========================================================= */

.mzb-vp .mzb-vp-hero {
  position: relative;
  overflow: hidden;
  padding: 42px 0 112px;
  background: #fff;
}

.mzb-vp .mzb-vp-hero__inner {
  display: grid;
  grid-template-columns:
    minmax(340px, 0.8fr)
    minmax(0, 1.35fr);
  align-items: center;
  width: min(
    calc(100% - 48px),
    1360px
  );
  margin-inline: auto;
  gap: clamp(44px, 7vw, 100px);
}

.mzb-vp .mzb-vp-hero__copy {
  position: relative;
  z-index: 2;
  padding-left: clamp(0px, 3vw, 36px);
}

.mzb-vp .mzb-vp-hero__title {
  margin-bottom: 32px;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(45px, 5.3vw, 78px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.035em;
}

.mzb-vp .mzb-vp-hero__lead {
  margin-bottom: 22px;
  font-size: clamp(19px, 1.6vw, 24px);
  font-weight: 600;
  line-height: 1.8;
}

.mzb-vp .mzb-vp-hero__text {
  max-width: 470px;
  margin-bottom: 36px;
  color: #50565a;
  font-size: 16px;
  line-height: 2;
}

.mzb-vp .mzb-vp-text-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #1e2225;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  transition:
    opacity 0.25s ease,
    gap 0.25s ease;
}

.mzb-vp .mzb-vp-text-link:hover {
  gap: 22px;
  opacity: 0.65;
}

.mzb-vp .mzb-vp-hero__visual {
  overflow: hidden;
  margin: 0;
  min-height: 650px;
}

.mzb-vp .mzb-vp-hero__visual img {
  width: 100%;
  height: 650px;
  object-fit: cover;
}


/* =========================================================
   01 / ANXIETY
========================================================= */

.mzb-vp .mzb-vp-anxiety {
  background: var(--mzb-vp-soft);
}

.mzb-vp .mzb-vp-anxiety__layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: stretch;
  gap: clamp(40px, 6vw, 82px);
}

.mzb-vp .mzb-vp-anxiety__layout .mzb-vp-media img {
  height: 100%;
  min-height: 560px;
  object-fit: cover;
}

.mzb-vp .mzb-vp-anxiety__questions {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mzb-vp .mzb-vp-question {
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: start;
  padding: 30px 0;
  border-bottom: 1px solid #d2d5d5;
  gap: 18px;
}

.mzb-vp .mzb-vp-question:first-child {
  border-top: 1px solid #d2d5d5;
}

.mzb-vp .mzb-vp-question__number {
  padding-top: 7px;
  color: #999ea0;
  font-size: 12px;
  letter-spacing: 0.1em;
}

.mzb-vp .mzb-vp-question p {
  margin-bottom: 0;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(23px, 2.2vw, 31px);
  line-height: 1.65;
}

.mzb-vp .mzb-vp-message {
  margin-top: 90px;
  padding: 65px 7%;
  background: #fff;
  text-align: center;
}

.mzb-vp .mzb-vp-message__small {
  margin-bottom: 18px;
  color: #767b7e;
  font-size: 14px;
}

.mzb-vp .mzb-vp-message__main {
  margin-bottom: 0;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(29px, 3.2vw, 45px);
  line-height: 1.65;
  letter-spacing: 0.035em;
}


/* =========================================================
   02 / PLANNING
========================================================= */

.mzb-vp .mzb-vp-planning {
  background: #fff;
}

.mzb-vp .mzb-vp-planning__visual {
  margin: 0;
  overflow: hidden;
}

.mzb-vp .mzb-vp-planning__visual img {
  width: 100%;
}

.mzb-vp .mzb-vp-planning__copy {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 42px;
  border-top: 1px solid var(--mzb-vp-line);
  border-bottom: 1px solid var(--mzb-vp-line);
}

.mzb-vp .mzb-vp-planning__copy p {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 128px;
  margin-bottom: 0;
  padding: 24px 30px;
  font-size: 17px;
  line-height: 1.8;
  text-align: center;
}

.mzb-vp .mzb-vp-planning__copy p + p {
  border-left: 1px solid var(--mzb-vp-line);
}

.mzb-vp .mzb-vp-planning__statement {
  margin: 65px auto 0;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(29px, 3vw, 43px);
  line-height: 1.65;
  text-align: center;
}


/* =========================================================
   03 / MEETING
========================================================= */

.mzb-vp .mzb-vp-meeting {
  background: var(--mzb-vp-soft-blue);
}

.mzb-vp .mzb-vp-split {
  display: grid;
  grid-template-columns:
    minmax(0, 1.05fr)
    minmax(380px, 0.95fr);
  align-items: center;
  gap: clamp(55px, 8vw, 105px);
}

.mzb-vp .mzb-vp-split--reverse {
  grid-template-columns:
    minmax(380px, 0.95fr)
    minmax(0, 1.05fr);
}

.mzb-vp .mzb-vp-split--reverse .mzb-vp-split__media {
  order: 2;
}

.mzb-vp .mzb-vp-split--reverse .mzb-vp-split__content {
  order: 1;
}

.mzb-vp .mzb-vp-split__media {
  overflow: hidden;
  margin: 0;
}

.mzb-vp .mzb-vp-split__media img {
  min-height: 640px;
}

.mzb-vp .mzb-vp-split__content > p:not(
  .mzb-vp-section-no,
  .mzb-vp-eyebrow
) {
  margin-bottom: 22px;
  color: #4d5357;
  font-size: 16px;
  line-height: 2;
}

.mzb-vp .mzb-vp-quote {
  position: relative;
  margin: 50px 0 0;
  padding: 34px 0 0;
  border-top: 1px solid #aab0b3;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(24px, 2.7vw, 37px);
  font-style: normal;
  line-height: 1.75;
}


/* =========================================================
   04 / BENEFITS
========================================================= */

.mzb-vp .mzb-vp-conviction {
  background: #fff;
}

.mzb-vp .mzb-vp-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--mzb-vp-line);
  border-bottom: 1px solid var(--mzb-vp-line);
}

.mzb-vp .mzb-vp-benefit {
  min-height: 330px;
  padding: 55px 46px 48px;
}

.mzb-vp .mzb-vp-benefit + .mzb-vp-benefit {
  border-left: 1px solid var(--mzb-vp-line);
}

.mzb-vp .mzb-vp-benefit__number {
  margin-bottom: 46px;
  color: #a0a5a8;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.1em;
}

.mzb-vp .mzb-vp-benefit h3 {
  margin-bottom: 23px;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 29px;
  font-weight: 500;
  line-height: 1.5;
}

.mzb-vp .mzb-vp-benefit > p:last-child {
  margin-bottom: 0;
  color: #5b6063;
  line-height: 2;
}


/* =========================================================
   05 / REAL COLOR
========================================================= */

.mzb-vp .mzb-vp-reality {
  color: #fff;
  background: var(--mzb-vp-dark);
}

.mzb-vp .mzb-vp-reality .mzb-vp-eyebrow,
.mzb-vp .mzb-vp-reality .mzb-vp-section-no {
  color: #aeb8bd;
}

.mzb-vp .mzb-vp-reality__inner {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  align-items: end;
  gap: 90px;
}

.mzb-vp .mzb-vp-reality__copy {
  max-width: 640px;
}

.mzb-vp .mzb-vp-reality__copy > p:not(
  .mzb-vp-section-no,
  .mzb-vp-eyebrow
) {
  margin-bottom: 22px;
  color: #d5dadd;
  line-height: 2;
}

.mzb-vp .mzb-vp-reality__point {
  padding: 10px 0 10px 58px;
  border-left: 1px solid #7e8a91;
}

.mzb-vp .mzb-vp-reality__point p {
  margin-bottom: 22px;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(31px, 3.3vw, 48px);
  line-height: 1.6;
}

.mzb-vp .mzb-vp-reality__point span {
  color: #c6ced2;
  font-size: 15px;
}

.mzb-vp .mzb-vp-note {
  margin-top: 75px;
  padding-top: 25px;
  border-top: 1px solid #52616a;
}

.mzb-vp .mzb-vp-note p {
  margin-bottom: 0;
  color: #aeb7bc;
  font-size: 12px;
  line-height: 1.9;
}


/* =========================================================
   06 / CRAFT
========================================================= */

.mzb-vp .mzb-vp-craft {
  background: #fff;
}


/* =========================================================
   07 / AFTER
========================================================= */

.mzb-vp .mzb-vp-after {
  padding-top: 0;
  background: var(--mzb-vp-soft);
}

.mzb-vp .mzb-vp-after__visual {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
}

.mzb-vp .mzb-vp-after__visual img {
  width: 100%;
  height: min(62vw, 690px);
  object-fit: cover;
}

.mzb-vp .mzb-vp-after__content {
  position: relative;
  z-index: 2;
  width: min(
    calc(100% - 80px),
    760px
  );
  margin-top: -110px;
  margin-left: auto;
  padding: 70px 75px;
  background: #fff;
}

.mzb-vp .mzb-vp-after__strong {
  margin-bottom: 30px;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 26px;
  line-height: 1.7;
}

.mzb-vp .mzb-vp-after__content > p:not(
  .mzb-vp-section-no,
  .mzb-vp-eyebrow,
  .mzb-vp-after__strong
) {
  margin-bottom: 18px;
  color: #565c60;
  line-height: 2;
}


/* =========================================================
   08 / FLOW
========================================================= */

.mzb-vp .mzb-vp-flow {
  background: #fff;
}

.mzb-vp .mzb-vp-flow__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--mzb-vp-line);
  border-bottom: 1px solid var(--mzb-vp-line);
}

.mzb-vp .mzb-vp-flow__item {
  position: relative;
  min-height: 285px;
  padding: 43px 27px 36px;
}

.mzb-vp .mzb-vp-flow__item + .mzb-vp-flow__item {
  border-left: 1px solid var(--mzb-vp-line);
}

.mzb-vp .mzb-vp-flow__number {
  display: block;
  margin-bottom: 45px;
  color: #a1a5a7;
  font-size: 11px;
  letter-spacing: 0.1em;
}

.mzb-vp .mzb-vp-flow__item h3 {
  margin-bottom: 17px;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 27px;
  font-weight: 500;
}

.mzb-vp .mzb-vp-flow__item p {
  margin-bottom: 0;
  color: #62676a;
  font-size: 14px;
  line-height: 1.9;
}


/* =========================================================
   CTA
========================================================= */

.mzb-vp .mzb-vp-cta {
  padding: 128px 24px;
  color: #fff;
  background: var(--mzb-vp-dark);
  text-align: center;
}

.mzb-vp .mzb-vp-cta__inner {
  max-width: 850px;
  margin-inline: auto;
}

.mzb-vp .mzb-vp-cta .mzb-vp-eyebrow {
  color: #aeb8bd;
}

.mzb-vp .mzb-vp-cta h2 {
  margin-bottom: 35px;
  font-size: clamp(38px, 4.4vw, 62px);
}

.mzb-vp .mzb-vp-cta__lead {
  margin-bottom: 45px;
  color: #d7dddf;
  font-size: 17px;
  line-height: 2.05;
}

.mzb-vp .mzb-vp-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 430px);
  min-height: 78px;
  padding: 0 30px 0 34px;
  border: 1px solid #fff;
  background: transparent;
  color: #fff !important;
  font-size: 15px;
  font-weight: 600;
  transition:
    color 0.25s ease,
    background 0.25s ease;
}

.mzb-vp .mzb-vp-button:hover {
  color: var(--mzb-vp-dark) !important;
  background: #fff;
}

.mzb-vp .mzb-vp-button__arrow {
  font-size: 21px;
  transition: transform 0.25s ease;
}

.mzb-vp .mzb-vp-button:hover .mzb-vp-button__arrow {
  transform: translateX(6px);
}

.mzb-vp .mzb-vp-cta__note {
  margin: 24px 0 0;
  color: #9fabad;
  font-size: 12px;
  line-height: 1.8;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1023px) {

  .mzb-vp .mzb-vp-section {
    padding: 100px 0;
  }

  .mzb-vp .mzb-vp-hero__inner {
    grid-template-columns: 0.9fr 1.1fr;
    gap: 45px;
  }

  .mzb-vp .mzb-vp-hero__visual {
    min-height: 560px;
  }

  .mzb-vp .mzb-vp-hero__visual img {
    height: 560px;
  }

  .mzb-vp .mzb-vp-anxiety__layout {
    gap: 45px;
  }

  .mzb-vp .mzb-vp-split,
.mzb-vp .mzb-vp-split--reverse {
    gap: 55px;
  }

  .mzb-vp .mzb-vp-split__media img {
    min-height: 560px;
  }

  .mzb-vp .mzb-vp-benefit {
    padding: 45px 30px;
  }

  .mzb-vp .mzb-vp-reality__inner {
    gap: 55px;
  }

  .mzb-vp .mzb-vp-flow__list {
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    overflow-x: auto;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .mzb-vp {
    --mzb-vp-side: 18px;
    font-size: 15px;
  }

  .mzb-vp .mzb-vp-section {
    padding: 78px 0;
  }

  .mzb-vp .mzb-vp-eyebrow {
    margin-bottom: 17px;
    font-size: 10px;
  }

  .mzb-vp .mzb-vp-section-head {
    margin-bottom: 42px;
  }

  .mzb-vp .mzb-vp-section-head h2,
.mzb-vp .mzb-vp-split__content h2,
.mzb-vp .mzb-vp-reality__copy h2,
.mzb-vp .mzb-vp-after__content h2,
.mzb-vp .mzb-vp-cta h2 {
    margin-bottom: 23px;
    font-size: 32px;
    line-height: 1.5;
  }

  .mzb-vp .mzb-vp-section-lead {
    font-size: 15px;
    line-height: 1.95;
  }


  /* HERO */

  .mzb-vp .mzb-vp-hero {
    padding: 40px 0 72px;
  }

  .mzb-vp .mzb-vp-hero__inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 42px;
  }

  .mzb-vp .mzb-vp-hero__copy {
    width: calc(100% - 36px);
    padding-left: 0;
  }

  .mzb-vp .mzb-vp-hero__title {
    margin-bottom: 24px;
    font-size: clamp(39px, 11.5vw, 52px);
    line-height: 1.4;
  }

  .mzb-vp .mzb-vp-hero__lead {
    margin-bottom: 18px;
    font-size: 18px;
  }

  .mzb-vp .mzb-vp-hero__text {
    margin-bottom: 30px;
    font-size: 15px;
    line-height: 1.95;
  }

  .mzb-vp .mzb-vp-hero__visual {
    width: calc(100% - 18px);
    min-height: auto;
    margin-left: 18px;
  }

  .mzb-vp .mzb-vp-hero__visual img {
    height: 64vh;
    min-height: 480px;
    max-height: 620px;
  }


  /* ANXIETY */

  .mzb-vp .mzb-vp-anxiety__layout {
    display: block;
  }

  .mzb-vp .mzb-vp-anxiety__layout .mzb-vp-media {
    margin-bottom: 42px;
  }

  .mzb-vp .mzb-vp-anxiety__layout .mzb-vp-media img {
    min-height: 0;
  }

  .mzb-vp .mzb-vp-question {
    grid-template-columns: 38px 1fr;
    padding: 25px 0;
    gap: 11px;
  }

  .mzb-vp .mzb-vp-question p {
    font-size: 23px;
  }

  .mzb-vp .mzb-vp-message {
    margin-top: 55px;
    padding: 45px 22px;
  }

  .mzb-vp .mzb-vp-message__main {
    font-size: 26px;
  }


  /* PLANNING */

  .mzb-vp .mzb-vp-planning__copy {
    display: block;
    margin-top: 25px;
  }

  .mzb-vp .mzb-vp-planning__copy p {
    min-height: auto;
    padding: 20px 15px;
    font-size: 15px;
  }

  .mzb-vp .mzb-vp-planning__copy p + p {
    border-top: 1px solid var(--mzb-vp-line);
    border-left: 0;
  }

  .mzb-vp .mzb-vp-planning__statement {
    margin-top: 45px;
    font-size: 26px;
  }


  /* SPLIT */

  .mzb-vp .mzb-vp-split,
.mzb-vp .mzb-vp-split--reverse {
    display: flex;
    flex-direction: column;
    gap: 43px;
  }

  .mzb-vp .mzb-vp-split--reverse .mzb-vp-split__media,
.mzb-vp .mzb-vp-split--reverse .mzb-vp-split__content {
    order: initial;
  }

  .mzb-vp .mzb-vp-split__media img {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .mzb-vp .mzb-vp-quote {
    margin-top: 36px;
    padding-top: 26px;
    font-size: 25px;
  }


  /* BENEFITS */

  .mzb-vp .mzb-vp-benefits {
    display: block;
  }

  .mzb-vp .mzb-vp-benefit {
    min-height: auto;
    padding: 39px 8px;
  }

  .mzb-vp .mzb-vp-benefit + .mzb-vp-benefit {
    border-top: 1px solid var(--mzb-vp-line);
    border-left: 0;
  }

  .mzb-vp .mzb-vp-benefit__number {
    margin-bottom: 24px;
  }

  .mzb-vp .mzb-vp-benefit h3 {
    margin-bottom: 15px;
    font-size: 26px;
  }


  /* REALITY */

  .mzb-vp .mzb-vp-reality__inner {
    display: block;
  }

  .mzb-vp .mzb-vp-reality__point {
    margin-top: 55px;
    padding: 35px 0 0;
    border-top: 1px solid #7e8a91;
    border-left: 0;
  }

  .mzb-vp .mzb-vp-reality__point p {
    font-size: 30px;
  }

  .mzb-vp .mzb-vp-note {
    margin-top: 50px;
  }


  /* AFTER */

  .mzb-vp .mzb-vp-after__visual img {
    height: 65vw;
    min-height: 350px;
  }

  .mzb-vp .mzb-vp-after__content {
    width: calc(100% - 36px);
    margin: -45px auto 0;
    padding: 45px 24px;
  }


  /* FLOW */

  .mzb-vp .mzb-vp-flow__list {
    display: block;
    overflow: visible;
  }

  .mzb-vp .mzb-vp-flow__item {
    display: grid;
    grid-template-columns: 45px 92px 1fr;
    align-items: start;
    min-height: 0;
    padding: 27px 0;
    gap: 10px;
  }

  .mzb-vp .mzb-vp-flow__item + .mzb-vp-flow__item {
    border-top: 1px solid var(--mzb-vp-line);
    border-left: 0;
  }

  .mzb-vp .mzb-vp-flow__number {
    margin: 10px 0 0;
  }

  .mzb-vp .mzb-vp-flow__item h3 {
    margin: 0;
    font-size: 24px;
  }

  .mzb-vp .mzb-vp-flow__item p {
    margin: 2px 0 0;
    font-size: 13px;
  }


  /* CTA */

  .mzb-vp .mzb-vp-cta {
    padding: 82px 18px;
  }

  .mzb-vp .mzb-vp-cta h2 {
    font-size: 34px;
  }

  .mzb-vp .mzb-vp-cta__lead {
    font-size: 15px;
  }

  .mzb-vp .mzb-vp-button {
    min-height: 70px;
    padding-right: 24px;
    padding-left: 24px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {

  .mzb-vp .mzb-vp-hero__title {
    font-size: 37px;
  }

  .mzb-vp .mzb-vp-section-head h2,
.mzb-vp .mzb-vp-split__content h2,
.mzb-vp .mzb-vp-reality__copy h2,
.mzb-vp .mzb-vp-after__content h2 {
    font-size: 29px;
  }

  .mzb-vp .mzb-vp-flow__item {
    grid-template-columns: 38px 78px 1fr;
  }

}

/* Page layout and WordPress auto-formatting compatibility. */
body:has(.mzb-vp) #top_title_area,
body:has(.mzb-vp) .l-topTitleArea,
body:has(.mzb-vp) #breadcrumb { display: none; }
body:has(.mzb-vp) #content { max-width: none; padding: 0; margin: 0; }
body:has(.mzb-vp) #main_content { width: 100%; max-width: none; margin: 0; padding: 0; float: none; }
body:has(.mzb-vp) .l-mainContent__inner { padding: 0; }
body:has(.mzb-vp) .post_content { margin: 0; padding: 0; }
.mzb-vp { width: 100%; margin: 0; }
.mzb-vp h1, .mzb-vp h2, .mzb-vp h3 { margin-top: 0 !important; }
.mzb-vp p:empty, .mzb-vp > p:not(:has(*)) { display: none; }
.mzb-vp figure > p { display: contents; }
.mzb-vp h1 > br:last-child,
.mzb-vp h2 > br:last-child,
.mzb-vp h3 > br:last-child,
.mzb-vp .mzb-vp-text-link br,
.mzb-vp .mzb-vp-button br { display: none; }
.mzb-vp .mzb-vp-hero__copy > p:not([class]):not(:has(a)) { color: #50565a; font-size: 16px; line-height: 2; margin-bottom: 36px; }
.mzb-vp .mzb-vp-question > p:first-child { padding-top: 7px; color: #999ea0; font-family: inherit; font-size: 12px; letter-spacing: .1em; }
.mzb-vp .mzb-vp-flow__item > p:first-child { margin: 0 0 45px; color: #a1a5a7; font-size: 11px; letter-spacing: .1em; }
.mzb-vp .mzb-vp-split__media, .mzb-vp .mzb-vp-split__content { min-width: 0; }
/* wpautop can split the original CTA anchor into three anchors. */
.mzb-vp .mzb-vp-cta__inner > .mzb-vp-button:not(:has(span)),
.mzb-vp .mzb-vp-cta__inner > p:has(.mzb-vp-button__arrow) { display: none; }
.mzb-vp .mzb-vp-button:has(span:not(.mzb-vp-button__arrow)):not(:has(.mzb-vp-button__arrow))::after { content: '→'; font-size: 21px; flex: 0 0 auto; margin-left: 16px; }
@media (min-width: 768px) {
 .mzb-vp .mzb-vp-hero__inner { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 4vw, 64px); }
 .mzb-vp .mzb-vp-hero__title { font-size: clamp(32px, 3.2vw, 46px); }
}
@media (min-width: 768px) and (max-width: 1023px) {
 .mzb-vp .mzb-vp-split, .mzb-vp .mzb-vp-split--reverse { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
 .mzb-vp .mzb-vp-split__content h2 { font-size: 34px; }
 .mzb-vp .mzb-vp-reality__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
}
@media (max-width: 767px) {
 .mzb-vp .mzb-vp-hero__copy > p:not([class]):not(:has(a)) { font-size: 15px; line-height: 1.95; margin-bottom: 30px; }
 .mzb-vp .mzb-vp-hero__title { font-size: clamp(32px, 8.4vw, 42px); }
 .mzb-vp .mzb-vp-hero__visual img { height: auto; min-height: 0; max-height: none; aspect-ratio: 4 / 3; }
 .mzb-vp .mzb-vp-flow__item { grid-template-columns: 36px minmax(72px, .6fr) minmax(0, 1fr); }
 .mzb-vp .mzb-vp-flow__item > p:first-child { margin: 10px 0 0; }
 .mzb-vp .mzb-vp-flow__item h3 { font-size: 22px; }
 .mzb-vp .mzb-vp-flow__item p { overflow-wrap: anywhere; }
 .mzb-vp .mzb-vp-cta h2 { font-size: clamp(25px, 7.1vw, 32px); }
}

.mzb-vp .mzb-vp-anxiety__layout > p,
.mzb-vp .mzb-vp-anxiety__questions > p,
.mzb-vp .mzb-vp-question > p:nth-child(n+3),
.mzb-vp .mzb-vp-planning__copy > p:nth-child(n+4),
.mzb-vp .mzb-vp-reality__inner > p { display: none; }

@media (max-width: 767px) { .mzb-vp .mzb-vp-flow .mzb-vp-section-head h2 { font-size: 27px; } }

.mzb-vp .mzb-vp-section-head { max-width: 960px; }

.mzb-vp .mzb-vp-flow__item > p:first-child .mzb-vp-flow__number { margin: 0; }
