.wp-block-group.mpc-text-image-collage {
    position: relative;
    isolation: isolate;
    margin-block: 0;
    padding: clamp(48px, 3.7vw, 80px) 5.5% clamp(80px, 7vw, 150px) 10%;
    background: #fff;
    color: var(--wp--preset--color--accent-1, #00263a);
}

.mpc-text-image-collage::before,
.mpc-text-image-collage::after {
    content: "";
    position: absolute;
    width: 30%;
    aspect-ratio: 480 / 196;
    background: url('../images/stat-sparkles.svg') center / contain no-repeat;
    pointer-events: none;
    z-index: -1;
}
.mpc-text-image-collage::before { top: 5%; left: 3%; }
.mpc-text-image-collage::after { bottom: 3%; right: 3%; transform: rotate(180deg); }

.mpc-text-image-collage__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.55fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(32px, 3.5vw, 72px);
    max-width: 1800px;
    margin-inline: auto;
}
.mpc-text-image-collage__copy .wp-block-heading {
    margin: 0 0 clamp(28px, 2.3vw, 48px);
    max-width: 12ch;
    color: var(--wp--preset--color--primary, #c8102e);
    font-size: clamp(32px, 2.6vw, 56px);
    line-height: 1.3;
}
.mpc-text-image-collage__copy p {
    margin: 0 0 clamp(24px, 1.8vw, 40px);
    font-size: clamp(16px, 1.2vw, 26px);
    line-height: 1.4;
}
.mpc-text-image-collage__copy > :last-child { margin-bottom: 0; }

.mpc-text-image-collage__images {
    position: relative;
    isolation: isolate;
    aspect-ratio: 1070 / 810;
    margin: 0;
    min-width: 0;
}
.mpc-text-image-collage__images::before {
    content: "";
    position: absolute;
    inset: 18.5% 15% 10% 15%;
    border: 2px solid var(--wp--preset--color--accent-2, #3eb1c8);
    z-index: -1;
    pointer-events: none;
}
.mpc-text-image-collage__images::after {
    content: "";
    position: absolute;
    top: 1.5%;
    right: 5%;
    width: 9%;
    aspect-ratio: 1;
    background: url('../images/stat-sun.svg') center / contain no-repeat;
    pointer-events: none;
}
.mpc-text-image-collage__images > .wp-block-image {
    position: absolute;
    margin: 0;
}
.mpc-text-image-collage__images > .mpc-text-image-collage__neighborhood {
    top: 0; left: 0; width: 50.5%; height: 44.5%;
}
.mpc-text-image-collage__images > .mpc-text-image-collage__aerial {
    top: 28.5%; right: 0; width: 60%; height: 44.5%; z-index: 1;
}
.mpc-text-image-collage__images > .mpc-text-image-collage__dining {
    bottom: 0; left: 2.5%; width: 45.5%; height: 40%;
}
.mpc-text-image-collage__images .wp-block-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Apply to the following navy Group; the edge extends into the section above. */
.wp-block-group.is-style-mpc-navy-top-tear {
    position: relative;
    isolation: isolate;
    z-index: 1;
    margin-block-start: 0;
    background-color: var(--wp--preset--color--accent-1, #00263a);
}
.wp-block-group.is-style-mpc-navy-top-tear::before {
    content: "";
    position: absolute;
    bottom: calc(100% - 1px);
    inset-inline: 0;
    height: clamp(40px, 5.5vw, 120px);
    background: var(--wp--preset--color--accent-1, #00263a);
    mask: url('../images/paper-tear-mask.svg') center / max(100%, 768px) 100% no-repeat;
    transform: scaleX(-1);
    pointer-events: none;
}

@media (max-width: 1024px) {
    .wp-block-group.mpc-text-image-collage { padding: 56px 24px 88px; }
    .mpc-text-image-collage__layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
    .mpc-text-image-collage__copy .wp-block-heading { max-width: 16ch; }
    .mpc-text-image-collage__images { width: 100%; max-width: 680px; justify-self: center; }
    .mpc-text-image-collage::before { width: 35%; top: 0; }
    .mpc-text-image-collage::after { width: 45%; bottom: 20px; }
}

/* Standalone Group style so torn edges can be reused on other navy sections. */
.wp-block-group.is-style-mpc-navy-tears {
    position: relative;
    isolation: isolate;
    z-index: 1;
    margin-block: 0;
    background-color: var(--wp--preset--color--accent-1, #00263a);
}
.wp-block-group.is-style-mpc-navy-tears::before,
.wp-block-group.is-style-mpc-navy-tears::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    height: clamp(40px, 5.5vw, 120px);
    background: var(--wp--preset--color--accent-1, #00263a);
    mask: url('../images/paper-tear-mask.svg') center / max(100%, 768px) 100% no-repeat;
    pointer-events: none;
}
.wp-block-group.is-style-mpc-navy-tears::before { bottom: calc(100% - 1px); transform: scaleX(-1); }
.wp-block-group.is-style-mpc-navy-tears::after { top: calc(100% - 1px); transform: rotate(180deg); }

.wp-block-group.mpc-benefits-grid {
    position: relative;
    isolation: isolate;
    margin-block: 0;
    padding: clamp(56px, 5vw, 90px) 10% clamp(72px, 6vw, 110px);
    background-color: var(--wp--preset--color--accent-1, #00263a);
    background-image: url('../images/mpc/benefits-decoration.svg');
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    color: #fff;
    text-align: center;
}
.mpc-benefits-grid__intro { max-width: 1200px; margin: 0 auto; }
.mpc-benefits-grid__intro .wp-block-heading {
    margin: 0 0 28px;
    color: var(--wp--preset--color--accent-2, #3eb1c8);
    font-size: 40px;
    line-height: 50px;
    font-weight: 700;
}
.mpc-benefits-grid p {
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    margin: 0;
}
.mpc-benefits-grid__intro > p + p { margin-top: 28px; }
.mpc-benefits-grid__intro > .mpc-benefits-grid__lead {
    margin-top: clamp(40px, 4vw, 72px);
    font-size: 24px;
    line-height: 24px;
    font-weight: 700;
}
.wp-block-group.mpc-benefits-grid__items {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(48px, 4vw, 72px) clamp(24px, 3vw, 56px);
    max-width: 1440px;
    margin: clamp(40px, 4vw, 72px) auto 0;
}
.wp-block-group.mpc-benefits-grid__item { grid-column: span 2; margin: 0; min-width: 0; }
.mpc-benefits-grid__item:nth-child(1) { grid-column: 2 / span 2; }
.mpc-benefits-grid__item:nth-child(2) { grid-column: 4 / span 2; }
.mpc-benefits-grid__item > .mpc-benefits-grid__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    height: clamp(90px, 7.5vw, 130px);
    margin: 0 0 20px;
}
.mpc-benefits-grid__icon img { display: block; width: auto; height: 100%; max-width: 160px; object-fit: contain; }
.mpc-benefits-grid__item .wp-block-heading {
    margin: 0 0 28px;
    color: var(--wp--preset--color--accent-2, #3eb1c8);
    font-size: clamp(20px, 1.55vw, 28px);
    line-height: 1.3;
}
.mpc-benefits-grid a { color: var(--wp--preset--color--accent-2, #3eb1c8); text-decoration: underline; }
.mpc-benefits-grid a:hover { color: #fff; }
.mpc-benefits-grid a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

@media (max-width: 1024px) {
    .wp-block-group.mpc-benefits-grid { padding-inline: 7%; }
    .wp-block-group.mpc-benefits-grid__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mpc-benefits-grid__items > .mpc-benefits-grid__item { grid-column: auto; }
    .mpc-benefits-grid__items > .mpc-benefits-grid__item:last-child { grid-column: 1 / -1; max-width: 400px; justify-self: center; }
}
@media (max-width: 600px) {
    .wp-block-group.mpc-benefits-grid { padding: 48px 28px 64px; background-image: none; }
    .wp-block-group.mpc-benefits-grid__items { grid-template-columns: minmax(0, 1fr); gap: 44px; }
    .mpc-benefits-grid__items > .mpc-benefits-grid__item { grid-column: 1; max-width: 400px; justify-self: center; }
    .mpc-benefits-grid__item .wp-block-heading { margin-bottom: 18px; }
}

/* Reserve the bottom edge's height so the next section cannot sit beneath it. */
:root .wp-block-group.is-style-mpc-navy-tears { margin-block-end: clamp(40px, 5.5vw, 120px); }

.wp-block-group.mpc-section-heading {
    position: relative;
    isolation: isolate;
    z-index: 2;
    margin-block: 0;
    padding: clamp(64px, 6vw, 110px) 24px 28px;
    background-color: #fff;
    color: var(--wp--preset--color--accent-1, #00263a);
    text-align: center;
}
.mpc-section-heading .wp-block-heading {
    margin: 0 auto 24px;
    color: var(--wp--preset--color--primary, #c8102e);
    font-size: 37px;
    line-height: 50px;
    font-weight: 700;
}
.mpc-section-heading p { max-width: 760px; margin: 0 auto; font-size: 16px; line-height: 24px; font-weight: 400; }
.wp-block-group.is-style-mpc-paper-bottom-tear {
    position: relative;
    isolation: isolate;
    z-index: 2;
    background: linear-gradient(#ffffff70, #ffffff70), url('../images/stat-paper.png') center / cover;
}
.wp-block-group.is-style-mpc-paper-bottom-tear::after {
    content: "";
    position: absolute;
    top: calc(100% - 1px);
    inset-inline: 0;
    height: clamp(40px, 5.5vw, 100px);
    background: linear-gradient(#ffffff70, #ffffff70), url('../images/stat-paper.png') center / cover;
    mask: url('../images/paper-tear-mask.svg') center / max(100%, 768px) 100% no-repeat;
    transform: rotate(180deg);
    pointer-events: none;
}
/* The paper section supplies the space behind the preceding navy torn edge. */
:root .mpc-benefits-grid.is-style-mpc-navy-tears:has(+ .mpc-section-heading) { margin-block-end: 0; z-index: 3; }
.wp-block-group.mpc-testimonials { position: relative; isolation: isolate; margin-block: 0; padding: 0; }
.mpc-testimonials .mpc-testimonial-carousel { margin-block: 0; }
.wp-block-group.mpc-testimonial {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: clamp(800px, 48vw, 830px);
    margin: 0;
    padding: 80px 8% 64px;
    color: #fff;
    background: #242a2c;
}
.mpc-testimonial > .mpc-testimonial__photo { position: absolute; inset: 0; margin: 0; z-index: -2; }
.mpc-testimonial__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 35% center; }
.mpc-testimonial::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 35%, #151b1e60 54%, #151b1ee6 100%);
    z-index: -1;
    pointer-events: none;
}
.wp-block-group.mpc-testimonial__copy { width: 42%; margin: 0; padding: 0; }
.mpc-testimonial__copy p { margin: 0; font-size: 22px; line-height: 35px; text-align: left; font-weight: 700; }
.mpc-testimonial__copy .mpc-testimonial__author { margin-top: clamp(32px, 3vw, 56px); font-size: 27px; line-height: 43px; }
.mpc-testimonial__copy .wp-block-buttons { margin-top: 48px; }
.mpc-testimonial__copy .wp-block-button__link {
    border: 0;
    border-radius: 0;
    background: var(--wp--preset--color--primary, #c8102e);
    color: #fff;
    padding: 16px 28px;
    font-size: 21px;
    line-height: 21px;
    font-weight: 700;
    text-align: left;
}
.mpc-testimonial__copy .wp-block-button__link[href]:hover { background: var(--wp--preset--color--accent-1, #00263a); }
.mpc-testimonial__copy .wp-block-button__link:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.wp-block-group.is-style-mpc-white-bottom-tear { position: relative; isolation: isolate; }
.wp-block-group.is-style-mpc-white-bottom-tear::after {
    content: "";
    position: absolute;
    bottom: -1px;
    inset-inline: 0;
    height: clamp(32px, 4vw, 80px);
    background: #fff;
    mask: url('../images/paper-tear-mask.svg') center / max(100%, 768px) 100% no-repeat;
    z-index: 2;
    pointer-events: none;
}
@media (max-width: 767px) {
    .wp-block-group.mpc-section-heading { padding: 64px 24px 24px; }
    .wp-block-group.mpc-testimonial { display: block; padding: 0 0 64px; min-height: 0; }
    .mpc-testimonial > .mpc-testimonial__photo { position: relative; inset: auto; aspect-ratio: 1.1; z-index: 0; }
    .mpc-testimonial__photo img { object-position: left center; }
    .mpc-testimonial::before { display: none; }
    .wp-block-group.mpc-testimonial__copy { width: auto; padding: 32px 24px 0; }
    .mpc-testimonial__copy .mpc-testimonial__author { margin-top: 24px; }
    .mpc-testimonial__copy .wp-block-buttons { margin-top: 32px; }
}

.wp-block-group.is-style-mpc-paper-bottom-tear,
.wp-block-group.is-style-mpc-paper-bottom-tear::after { background-color: #fff; }
.mpc-testimonial__quote { max-width: 540px; }

/* Match the XD typography using the Caecilia family already bundled by the theme. */
:is(.mpc-benefits-grid, .mpc-section-heading, .mpc-testimonial__copy),
:is(.mpc-benefits-grid, .mpc-section-heading, .mpc-testimonial__copy) :is(h2, h3, p, a) {
    font-family: var(--wp--preset--font-family--pmn-caecilia, "PMN Caecilia"), serif;
    font-style: normal;
    letter-spacing: 0;
}
.mpc-benefits-grid__intro .wp-block-heading { color: #3eb1c8; }
.mpc-benefits-grid p { color: #fff; }
.mpc-section-heading .wp-block-heading { color: #c8102e; }
.mpc-section-heading p { color: #00263a; }
.mpc-testimonial__copy p { color: #fff; }
.mpc-testimonial__copy .wp-block-button__link { background: #c8102e; color: #fff; }

.mpc-testimonial--kelly .mpc-testimonial__photo img { object-position: 35% bottom; }
.mpc-testimonial-carousel .swiper-wrapper { align-items: stretch; }
.mpc-testimonial-carousel .swiper-slide { height: auto; }
.mpc-testimonial-carousel .swiper-slide > .mpc-testimonial { box-sizing: border-box; height: 100%; }
.mpc-testimonial-carousel :is(.swiper-button-prev, .swiper-button-next) {
    color: #fff;
    width: 44px;
    height: 56px;
    background: #00263a40;
    border-radius: 3px;
}
.mpc-testimonial-carousel .swiper-button-prev { left: 16px; }
.mpc-testimonial-carousel .swiper-button-next { right: 16px; }
.mpc-testimonial-carousel :is(.swiper-button-prev, .swiper-button-next)::after { font-size: 30px; }
.mpc-testimonial-carousel :is(.swiper-button-prev, .swiper-button-next):focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 767px) {
    .mpc-testimonial-carousel :is(.swiper-button-prev, .swiper-button-next) { top: 190px; }
    .mpc-testimonial--kelly .mpc-testimonial__photo img { object-position: 35% bottom; }
}

html.mpc-video-modal-open { overflow: hidden; }
.mpc-video-modal {
    width: min(1100px, calc(100vw - 32px));
    max-width: none;
    max-height: calc(100dvh - 32px);
    padding: 48px 0 0;
    border: 0;
    border-radius: 4px;
    background: #00263a;
    color: #fff;
    box-shadow: 0 16px 80px #0008;
}
.mpc-video-modal::backdrop { background: #000c; }
.mpc-video-modal__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    border: 0;
    padding: 0;
    background: transparent;
    color: #fff;
    font: 36px/1 sans-serif;
    cursor: pointer;
}
.mpc-video-modal__close:focus-visible { outline: 2px solid #3eb1c8; outline-offset: -5px; }
.mpc-video-modal__player { background: #000; }
.mpc-video-modal__player :is(iframe, video) {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    max-height: calc(100dvh - 96px);
    border: 0;
    background: #000;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .wp-block-group.mpc-testimonial__copy { width: 48%; }
}
