.zmg-res-page {
    width: 100%;
    overflow: hidden;
    background: #fff;
}

.zmg-res-page *,
.zmg-res-page *::before,
.zmg-res-page *::after {
    box-sizing: border-box;
}

.zmg-res-page .wrapper {
    width: 100%;
    max-width: 1557px;
    margin: 0 auto;
}

.zmg-res-page h1,
.zmg-res-page h2,
.zmg-res-page h3,
.zmg-res-page p {
    margin-top: 0;
}

.zmg-res-page h1,
.zmg-res-page h2,
.zmg-res-page h3 {
    font-family: "Friz Quadrata", serif;
    font-weight: 400;
}

.zmg-res-page p,
.zmg-res-page a,
.zmg-res-page button {
    font-family: var(--roboto-regular)
}

.zmg-res-hero {
    position: relative;
    min-height: 900px;
    display: flex;
    align-items: center;

    padding: 100px 30px;

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;

    overflow: hidden;
}

.zmg-res-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            115deg,
            rgba(120, 0, 0, 0.92) 0%,
            rgba(159, 20, 27, 0.72) 32%,
            rgba(174, 46, 51, 0.48) 54%,
            rgba(174, 46, 51, 0) 75%
        );

    clip-path: polygon(
        0 0,
        80% 0,
        51% 100%,
        0 100%
    );
}

.zmg-res-hero__inner {
    position: relative;
    z-index: 2;
}

.zmg-res-hero h1 {
    max-width: 800px;
    margin: 0;

    color: #fff;

    font-size: 58px;
    line-height: 1.03;
}

.zmg-res-intro {
    position: relative;

    min-height: 520px;

    display: flex;
    align-items: center;


    background: #1d2024;
    overflow: hidden;
}

.zmg-res-intro__top-angle {
    position: absolute;

    top: 0;
    left: -5%;

    width: 65%;
    height: 85px;

    background: rgba(91, 12, 18, 0.28);

    clip-path: polygon(
        0 0,
        100% 0,
        0 100%
    );
}

.zmg-res-intro__bottom-angle {
    position: absolute;

    right: -5%;
    bottom: 0;

    width: 78%;
    height: 165px;

    background: #182d4c;

    clip-path: polygon(
        100% 0,
        100% 100%,
        0 100%
    );
}

.zmg-res-intro__inner {
    position: relative;
    z-index: 2;
}

.zmg-res-intro__inner p {
    max-width: 760px;

    margin: 0 0 20px;

    color: #c8c8c8;

    font-size: 19px;
    line-height: 1.1;
}

.zmg-res-intro__inner p:last-child {
    margin-bottom: 0;
}

.zmg-res-definition {
    position: relative;

    min-height: 805px;

    display: flex;
    align-items: center;

    padding: 100px 30px;

    background: #fff;
    overflow: hidden;
}

.zmg-res-definition__geometry {
    position: absolute;

    width: 1500px;
    height: 550px;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%) rotate(-13deg);

    border: 1px solid rgba(190, 0, 0, 0.5);
    border-radius: 8px;

    pointer-events: none;
}

.zmg-res-definition__grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
    gap: 55px;

    align-items: center;
}

.zmg-res-definition__image {
    width: 100%;
}

.zmg-res-definition__image img {
    display: block;

    width: 100%;
    height: 475px;

    object-fit: cover;

    border-radius: 14px;
}

.zmg-res-definition__content h2 {
    margin-bottom: 16px;

    color: #111;

    font-size: 42px;
    line-height: 1.08;
}

.zmg-res-heading-rule {
    position: relative;

    width: 100%;
    height: 3px;

    margin-bottom: 25px;

    background: #111;
}

.zmg-res-heading-rule span {
    position: absolute;

    left: 0;
    top: 0;

    width: 55px;
    height: 3px;

    background: #b40000;
}

.zmg-res-definition__content p {
    margin-bottom: 28px;

    color: #222;

    font-size: 16px;
    line-height: 1.75;
}

.zmg-res-definition__content p:last-child {
    margin-bottom: 0;
}

.zmg-res-when {
    position: relative;

    min-height: 675.67px;

    display: flex;
    align-items: center;

    padding: 100px 30px;

    background: #202020;
    overflow: hidden;
}

.zmg-res-when__geometry {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            172deg,
            transparent 0 15%,
            rgba(18, 62, 112, 0.8) 15.2%,
            transparent 15.4%
        ),
        linear-gradient(
            173deg,
            transparent 0 82%,
            #192e4c 82.2% 100%
        );

    pointer-events: none;
}

.zmg-res-when__inner {
    position: relative;
    z-index: 2;
}

.zmg-res-when__top {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 100px;

    margin-bottom: 75px;
}

.zmg-res-when__top h2 {
    margin: 0;

    color: #fff;

    font-size: 42px;
    line-height: 1;
}

.zmg-res-when__top p {
    max-width: 610px;
    margin: 0;

    color: #d2d2d2;

    font-size: 15px;
    line-height: 1.8;
}

.zmg-res-when__cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 55px;
}

.zmg-res-card-rule {
    position: relative;

    width: 100%;
    height: 3px;

    margin-bottom: 12px;

    background: #fff;
}

.zmg-res-card-rule span {
    position: absolute;

    left: 0;
    top: 0;

    width: 55px;
    height: 3px;

    background: #1459a6;
}

.zmg-res-when-card h3 {
    min-height: 86px;

    margin-bottom: 17px;

    color: #fff;

    font-size: 27px;
    line-height: 1.05;
}

.zmg-res-when-card p {
    margin: 0;

    color: #d0d0d0;

    font-size: 16px;
    line-height: 1.75;
}

.zmg-res-process {
    position: relative;

    min-height: 1560px;

    display: flex;
    align-items: center;

    padding: 100px 30px;

    background: #fff;
    overflow: hidden;
}

.zmg-res-process__geometry {
    position: absolute;

    left: -180px;
    top: 120px;

    width: 880px;
    height: 1180px;

    border: 1px solid rgba(196, 0, 0, 0.55);
    border-radius: 10px;

    transform: skewX(-30deg);

    pointer-events: none;
}

.zmg-res-process__geometry::after {
    content: "";

    position: absolute;

    width: 490px;
    height: 720px;

    left: 210px;
    top: 180px;

    border: 1px solid rgba(196, 0, 0, 0.25);
    border-radius: 10px;
}

.zmg-res-process__grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;

    align-items: center;
}

.zmg-res-process__content {
    max-width: 630px;
}

.zmg-res-process__content h2 {
    margin-bottom: 28px;

    color: #262626;

    font-size: 42px;
    line-height: 1;
}

.zmg-res-process__intro {
    margin-bottom: 42px;

    color: #333;

    font-size: 14px;
    line-height: 1.8;
}

.zmg-res-process-item {
    margin-bottom: 38px;
}

.zmg-res-process-item:last-child {
    margin-bottom: 0;
}

.zmg-res-process-item h3 {
    margin-bottom: 12px;

    color: #3a3a3a;

    font-size: 24px;
    line-height: 1.15;
}

.zmg-res-process-item p {
    margin: 0;

    color: #333;

    font-size: 14px;
    line-height: 1.8;
}

.zmg-res-industries {
    position: relative;

    min-height: 1500px;

    display: flex;
    align-items: center;

    padding: 100px 30px;

    background: #202020;
    overflow: hidden;
}

.zmg-res-industries__geometry {
    position: absolute;

    width: 1150px;
    height: 1300px;

    left: -250px;
    top: 260px;

    background:
        linear-gradient(
            135deg,
            #0d3c78 0%,
            #1459ad 55%,
            #0e448b 100%
        );

    clip-path: polygon(
        0 0,
        100% 18%,
        67% 70%,
        29% 100%,
        0 94%
    );

    pointer-events: none;
}

.zmg-res-industries__geometry::after {
    content: "";

    position: absolute;

    width: 650px;
    height: 700px;

    right: -580px;
    top: -310px;

    background: #0f4d9d;

    clip-path: polygon(
        25% 0,
        100% 0,
        100% 70%,
        0 100%
    );
}

.zmg-res-industries__grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 500px minmax(0, 1fr);
    gap: 90px;

    align-items: start;
}

.zmg-res-industries__intro {
    padding-top: 10px;
}

.zmg-res-industries__intro h2 {
    margin-bottom: 24px;

    color: #fff;

    font-size: 42px;
    line-height: 1.1;
}

.zmg-res-industries__intro p {
    max-width: 700px;
    margin: 0;

    color: #ddd;

    font-size: 14px;
    line-height: 1.8;
}

.zmg-res-industries__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.zmg-res-industry-card {
    min-height: 245px;

    padding: 42px 38px;

    background: #666;

    border-radius: 14px;
}

.zmg-res-industry-card h3 {
    margin-bottom: 25px;
    margin-top: 10px;

    color: #fff;

    font-size: 24px;
    line-height: 1.08;
}

.zmg-res-industry-card p {
    margin: 0;

    color: #f0f0f0;

    font-size: 13px;
    line-height: 30px;
}

.zmg-res-why {
    position: relative;

    min-height: 1105px;

    display: flex;
    align-items: center;

    padding: 100px 30px;

    background: #fff;
    overflow: hidden;
}

.zmg-res-why__geometry {
    position: absolute;

    width: 1500px;
    height: 950px;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%) rotate(10deg);

    border: 1px solid rgba(24, 86, 163, 0.32);

    pointer-events: none;
}

.zmg-res-why__grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 70px;

    align-items: center;
}

.zmg-res-why__content h2 {
    margin-bottom: 28px;

    color: #242424;

    font-size: 42px;
    line-height: 1;
}

.zmg-res-why__intro {
    max-width: 750px;

    margin-bottom: 55px;

    color: #333;

    font-size: 14px;
    line-height: 1.8;
}

.zmg-res-timeline {
    position: relative;

    padding-left: 55px;
}

.zmg-res-timeline::before {
    content: "";

    position: absolute;

    left: 18px;
    top: 14px;
    bottom: 40px;

    width: 1px;

    background: #b8b8b8;
}

.zmg-res-timeline-item {
    position: relative;

    margin-bottom: 38px;
}

.zmg-res-timeline-item:last-child {
    margin-bottom: 0;
}

.zmg-res-timeline-dot {
    position: absolute;

    left: -55px;
    top: 2px;

    width: 22px;
    height: 22px;

    background: #0e4fa3;

    border-radius: 50%;
}

.zmg-res-timeline-item h3 {
    margin-bottom: 12px;

    color: #343434;

    font-size: 25px;
    line-height: 1.15;
}

.zmg-res-timeline-item p {
    margin: 0;

    color: #333;

    font-size: 14px;
    line-height: 1.8;
}

.zmg-res-why__image img {
    display: block;

    width: 100%;
    height: 905px;

    object-fit: cover;

    border-radius: 20px;
}

.zmg-res-confidential {
    position: relative;

    min-height: 439.03px;

    display: flex;
    align-items: center;

    padding: 70px 30px;

    background: #050505;
    overflow: hidden;
}

.zmg-res-confidential__geometry {
    position: absolute;

    inset: -200px -100px;

    border: 90px solid rgba(107, 0, 0, 0.45);

    transform: rotate(-13deg);

    pointer-events: none;
}

.zmg-res-confidential__inner {
    position: relative;
    z-index: 2;

    text-align: center;
}

.zmg-res-confidential h2 {
    margin-bottom: 22px;

    color: #fff;

    font-size: 42px;
    line-height: 1.08;
}

.zmg-res-confidential__rule {
    position: relative;

    width: 100%;
    max-width: 1120px;
    height: 3px;

    margin: 0 auto 25px;

    background: #fff;
}

.zmg-res-confidential__rule span {
    position: absolute;

    left: 0;
    top: 0;

    width: 55px;
    height: 3px;

    background: #c40000;
}

.zmg-res-confidential p {
    max-width: 1550px;

    margin: 0 auto 28px;

    color: #ddd;

    font-size: 14px;
    line-height: 1.75;
}

.zmg-res-confidential p:last-child {
    margin-bottom: 0;
}

.zmg-res-faq {
    position: relative;

  

    background: #fff;
}

.zmg-res-faq__inner {
    max-width: 1550px !important;
}

.zmg-res-faq h2 {
    margin-bottom: 70px;

    color: #151515;

    font-size: 48px;
    line-height: 1.1;

    text-align: center;
}

.zmg-res-faq-list {
    width: 100%;
}

.zmg-res-faq-item {
    border-bottom: 1px solid #ddd;
}

.zmg-res-faq-question {
    width: 100%;
    font-weight: 500;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;

    padding: 28px 15px;

    background: transparent;

    border: 0;

    color: #ad0000;

    font-size: 16px;
    line-height: 1.4;

    text-align: left;

    cursor: pointer;
}

.zmg-res-faq-chevron {
    flex: 0 0 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: transform 0.3s ease;
}

.zmg-res-faq-chevron svg {
    display: block;

    width: 18px;
    height: 18px;

    fill: none;
    stroke: #111;
    stroke-width: 2;
}

.zmg-res-faq-item.is-open .zmg-res-faq-chevron {
    transform: rotate(180deg);
}

.zmg-res-faq-answer {
    max-height: 0;

    overflow: hidden;

    transition: max-height 0.4s ease;
}

.zmg-res-faq-answer__inner {
    padding: 0 15px 28px;
}

.zmg-res-faq-answer p {
    margin: 0;

    color: #777;

    font-size: 14px;
    line-height: 1.65;
}

.zmg-res-cta {
    position: relative;

    min-height: 400px;

    display: flex;
    align-items: center;

    padding: 70px 30px;

    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    overflow: hidden;
}

.zmg-res-cta__overlay {
    position: absolute;
    inset: 0;

    background: rgba(12, 14, 15, 0.72);
}

.zmg-res-cta__inner {
    position: relative;
    z-index: 2;

    max-width: 1500px !important;

    text-align: center;
}

.zmg-res-cta h2 {
    margin-bottom: 20px;

    color: #fff;

    font-size: 44px;
    line-height: 1.1;
}

.zmg-res-cta p {
    max-width: 1090px;

    margin: 0 auto 20px;

    color: #fff;

    font-size: 14px;
    line-height: 1.55;
}

.zmg-res-cta__button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 175px;
    min-height: 54px;

    padding: 14px 30px;

    background: #c60000;

    border-radius: 40px;

    color: #fff !important;

    font-size: 15px;
    font-weight: 600;

    text-decoration: none !important;

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

.zmg-res-cta__button:hover {
    background: #a90000;
    transform: translateY(-2px);
}

@media (min-width: 768px) and (max-width: 1199px) {

    .zmg-res-page .wrapper {
        max-width: 100%;
    }

    .zmg-res-hero {
        min-height: 700px;
        padding: 70px 30px;
    }

    .zmg-res-hero h1 {
        max-width: 650px;
        font-size: 48px;
    }

    .zmg-res-intro {
        min-height: auto;
        padding: 70px 30px;
    }

    .zmg-res-intro__inner p {
        max-width: 720px;
        font-size: 17px;
    }

    .zmg-res-definition {
        min-height: auto;
        padding: 70px 30px;
    }

    .zmg-res-definition__grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .zmg-res-definition__image img {
        height: 430px;
    }

    .zmg-res-definition__content h2 {
        font-size: 36px;
    }

    .zmg-res-when {
        min-height: auto;
        padding: 70px 30px;
    }

    .zmg-res-when__top {
        gap: 50px;
        margin-bottom: 55px;
    }

    .zmg-res-when__top h2 {
        font-size: 36px;
    }

    .zmg-res-when__cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 45px 40px;
    }

    .zmg-res-when-card h3 {
        min-height: 0;
    }

    .zmg-res-process {
        min-height: auto;
        padding: 70px 30px;
    }

    .zmg-res-process__grid {
        grid-template-columns: 40% 60%;
        gap: 35px;
    }

    .zmg-res-process__content h2 {
        font-size: 36px;
    }

    .zmg-res-process__geometry {
        left: -380px;
    }

    .zmg-res-industries {
        min-height: auto;
        padding: 70px 30px;
    }

    .zmg-res-industries__grid {
        grid-template-columns: 280px 1fr;
        gap: 45px;
    }

    .zmg-res-industries__intro h2 {
        font-size: 36px;
    }

    .zmg-res-industries__cards {
        gap: 20px;
    }

    .zmg-res-industry-card {
        min-height: 220px;
        padding: 30px 25px;
    }

    .zmg-res-why {
        min-height: auto;
        padding: 70px 30px;
    }

    .zmg-res-why__grid {
        grid-template-columns: 1fr 0.85fr;
        gap: 40px;
    }

    .zmg-res-why__content h2 {
        font-size: 36px;
    }

    .zmg-res-why__image img {
        height: 620px;
    }

    .zmg-res-confidential {
        min-height: auto;
        padding: 70px 30px;
    }

    .zmg-res-confidential h2 {
        font-size: 36px;
    }

    .zmg-res-faq {
        padding: 70px 30px;
    }

    .zmg-res-faq h2 {
        margin-bottom: 50px;
        font-size: 40px;
    }

    .zmg-res-cta {
        min-height: 360px;
        padding: 70px 30px;
    }

    .zmg-res-cta h2 {
        font-size: 38px;
    }
}

@media (max-width: 767px) {

    .zmg-res-page .wrapper {
        max-width: 100%;
    }

    .zmg-res-hero {
        min-height: 600px;

        align-items: center;

        padding: 50px 20px;

        background-position: 62% center;
    }

    .zmg-res-hero__overlay {
        width: 100%;

        clip-path: none;

        background:
            linear-gradient(
                90deg,
                rgba(105, 0, 0, 0.92),
                rgba(132, 0, 0, 0.62),
                rgba(0, 0, 0, 0.18)
            );
    }

    .zmg-res-hero h1 {
        max-width: 100%;

        font-size: 38px;
        line-height: 1.08;
    }

    .zmg-res-hero h1 br {
        display: none;
    }

    .zmg-res-intro {
        min-height: auto;

        padding: 50px 20px;
    }

    .zmg-res-intro__inner p {
        max-width: 100%;

        font-size: 16px;
        line-height: 1.5;
    }

    .zmg-res-intro__bottom-angle {
        height: 90px;
    }

    .zmg-res-definition {
        min-height: auto;

        padding: 50px 20px;
    }

    .zmg-res-definition__grid {
        display: flex;
        flex-direction: column;

        gap: 10px;
    }

    .zmg-res-definition__image {
        width: 100%;
    }

    .zmg-res-definition__image img {
        height: auto;
        aspect-ratio: 1 / 0.82;
    }

    .zmg-res-definition__content h2 {
        font-size: 32px;
    }

    .zmg-res-definition__content p {
        font-size: 15px;
        line-height: 1.65;
    }

    .zmg-res-definition__geometry {
        width: 800px;
        height: 400px;
    }

    .zmg-res-when {
        min-height: auto;

        padding: 50px 20px;
    }

    .zmg-res-when__top {
        display: block;

        margin-bottom: 50px;
    }

    .zmg-res-when__top h2 {
        margin-bottom: 30px;

        font-size: 32px;
    }

    .zmg-res-when__top h2 br {
        display: none;
    }

    .zmg-res-when__cards {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .zmg-res-when-card h3 {
        min-height: 0;

        font-size: 25px;
    }

    .zmg-res-when-card h3 br {
        display: none;
    }

    .zmg-res-process {
        min-height: auto;

        padding: 50px 20px;
    }

    .zmg-res-process__grid {
        display: block;
    }

    .zmg-res-process__space {
        display: none;
    }

    .zmg-res-process__content {
        max-width: 100%;
    }

    .zmg-res-process__content h2 {
        font-size: 32px;
    }

    .zmg-res-process__content h2 br {
        display: none;
    }

    .zmg-res-process-item {
        margin-bottom: 32px;
    }

    .zmg-res-process-item h3 {
        font-size: 23px;
    }

    .zmg-res-process__geometry {
        left: -650px;
        opacity: 0.35;
    }

    .zmg-res-industries {
        min-height: auto;

        padding: 50px 20px;
    }

    .zmg-res-industries__grid {
        display: block;
    }

    .zmg-res-industries__intro {
        margin-bottom: 45px;
    }

    .zmg-res-industries__intro h2 {
        font-size: 32px;
    }

    .zmg-res-industries__intro p {
        max-width: 100%;
    }

    .zmg-res-industries__cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .zmg-res-industry-card {
        min-height: 0;

        padding: 30px 25px;
    }

    .zmg-res-industry-card h3 {
        font-size: 23px;
    }

    .zmg-res-industry-card h3 br {
        display: none;
    }

    .zmg-res-industries__geometry {
        width: 900px;
        left: -500px;

        opacity: 0.65;
    }

    .zmg-res-why {
        min-height: auto;

        padding: 50px 20px;
    }

    .zmg-res-why__grid {
        display: flex;
        flex-direction: column;

        gap: 45px;
    }

    .zmg-res-why__content h2 {
        font-size: 32px;
    }

    .zmg-res-why__content h2 br {
        display: none;
    }

    .zmg-res-why__intro {
        margin-bottom: 45px;
    }

    .zmg-res-timeline {
        padding-left: 42px;
    }

    .zmg-res-timeline::before {
        left: 10px;
    }

    .zmg-res-timeline-dot {
        left: -42px;

        width: 20px;
        height: 20px;
    }

    .zmg-res-timeline-item h3 {
        font-size: 23px;
    }

    .zmg-res-why__image {
        width: 100%;
    }

    .zmg-res-why__image img {
        width: 100%;
        height: auto;

        aspect-ratio: 0.95 / 1;
    }

    .zmg-res-confidential {
        min-height: auto;

        padding: 50px 20px;
    }

    .zmg-res-confidential h2 {
        font-size: 31px;
    }

    .zmg-res-confidential p {
        font-size: 14px;
    }

    .zmg-res-faq {
        padding: 50px 20px;
    }

    .zmg-res-faq h2 {
        margin-bottom: 40px;

        font-size: 34px;
    }

    .zmg-res-faq-question {
        gap: 20px;

        padding: 24px 5px;

        font-size: 15px;
    }

    .zmg-res-faq-answer__inner {
        padding: 0 5px 24px;
    }

    .zmg-res-cta {
        min-height: 380px;

        padding: 50px 20px;
    }

    .zmg-res-cta h2 {
        font-size: 32px;
    }

    .zmg-res-cta p {
        font-size: 14px;
    }
}

.zmg-res-hero {
    position: relative !important;

    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 900px !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

   

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;

    overflow: hidden !important;
}

.zmg-res-hero__overlay {
    display: none !important;
}

.zmg-res-hero__inner {
    position: relative !important;
    z-index: 2 !important;

    width: 100% !important;
    max-width: 1550px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-hero {
        width: 100vw !important;
        max-width: 100vw !important;
        min-height: 700px !important;

        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        padding: 70px 30px !important;

        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-hero {
        width: 100vw !important;
        max-width: 100vw !important;
        min-height: 600px !important;

        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        padding: 50px 20px !important;

        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (max-width: 575px) {
    .zmg-res-hero {
        min-height: 550px !important;
    }
}

.zmg-res-hero__overlay {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;

    background: linear-gradient(
        115deg,
        rgba(120, 0, 0, 0.92) 0%,
        rgba(159, 20, 27, 0.72) 32%,
        rgba(174, 46, 51, 0.48) 54%,
        rgba(174, 46, 51, 0) 75%
    ) !important;

    clip-path: polygon(
        0 0,
        80% 0,
        51% 100%,
        0 100%
    ) !important;

    pointer-events: none !important;
}

.zmg-res-hero__inner {
    position: relative !important;
    z-index: 2 !important;
}

@media (min-width: 1200px) {

    .zmg-res-hero h1 {
        font-size: 60px !important;
        line-height: 1.05 !important;
    }

    .zmg-res-definition__content h2,
    .zmg-res-when__top h2,
    .zmg-res-process__content h2,
    .zmg-res-industries__intro h2,
    .zmg-res-why__content h2,
    .zmg-res-confidential h2,
    .zmg-res-faq h2,
    .zmg-res-cta h2 {
        font-size: 50px !important;
    }

    .zmg-res-when-card h3,
    .zmg-res-process-item h3,
    .zmg-res-industry-card h3,
    .zmg-res-timeline-item h3 {
        font-size: 30px !important;
    }

    .zmg-res-definition__content p,
    .zmg-res-when__top p,
    .zmg-res-process__intro,
    .zmg-res-process-item p,
    .zmg-res-industries__intro p,
    .zmg-res-industry-card p,
    .zmg-res-why__intro,
    .zmg-res-timeline-item p,
    .zmg-res-confidential p,
    .zmg-res-faq-answer p,
    .zmg-res-cta p {
        font-size: 16px !important;
    }

    .zmg-res-when-card p {
        font-size: 14px !important;
    }

    .zmg-res-faq-question {
        font-size: 20px !important;
    }

    .zmg-res-intro__inner p {
        font-size: 26px !important;
        line-height: 1.08 !important;
    }

    .zmg-res-cta__button {
        font-size: 18px !important;
    }
    .zmg-res-intro__inner p {
    margin-left: 70px !important;
    }
}

.zmg-res-definition {
    background-color: #fff !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

.zmg-res-definition__geometry {
    display: none !important;
}

@media (min-width: 1200px) {
    .zmg-res-definition {
        min-height: 805px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-definition {
        padding: 70px 30px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-definition {
        padding: 50px 20px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (min-width: 1200px) {

    .zmg-res-definition__grid {
        grid-template-columns: 655px minmax(0, 1fr) !important;
        gap: 55px !important;
        align-items: center !important;
    }

    .zmg-res-definition__image {
        width: 655px !important;
        height: 605px !important;
    }

    .zmg-res-definition__image img {
        width: 655px !important;
        height: 605px !important;
        object-fit: cover !important;
        border-radius: 14px !important;
    }
}

.zmg-res-when {
    background-color: #202020 !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

.zmg-res-when__geometry {
    display: none !important;
}

@media (min-width: 1200px) {
    .zmg-res-when {
        min-height: 675.67px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-when {
        min-height: auto !important;
        padding: 70px 30px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-when {
        min-height: auto !important;
        padding: 50px 20px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

.zmg-res-process {
    background-color: #fff !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

.zmg-res-process__geometry {
    display: none !important;
}

@media (min-width: 1200px) {
    .zmg-res-process {
        min-height: 1560px !important;
        background-position: center center !important;
        background-size: cover !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-process {
        min-height: auto !important;
        padding: 70px 30px !important;
        background-position: center center !important;
        background-size: cover !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-process {
        min-height: auto !important;
        padding: 50px 20px !important;
        background-position: center center !important;
        background-size: cover !important;
    }
}

.zmg-res-industries {
    background-color: #202020 !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

.zmg-res-industries__geometry {
    display: none !important;
}

@media (min-width: 1200px) {
    .zmg-res-industries {
        min-height: 1500px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-industries {
        min-height: auto !important;
        padding: 70px 30px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-industries {
        min-height: auto !important;
        padding: 50px 20px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (min-width: 1200px) {

    .zmg-res-industry-card:nth-child(1),
    .zmg-res-industry-card:nth-child(2) {
        height: 245px !important;
        min-height: 245px !important;
    }

    .zmg-res-industry-card:nth-child(3),
    .zmg-res-industry-card:nth-child(4) {
        height: 275px !important;
        min-height: 275px !important;
    }

    .zmg-res-industry-card:nth-child(5),
    .zmg-res-industry-card:nth-child(6) {
        height: 260px !important;
        min-height: 260px !important;
    }

    .zmg-res-industry-card:nth-child(7),
    .zmg-res-industry-card:nth-child(8) {
        height: 310px !important;
        min-height: 310px !important;
    }
}

@media (min-width: 1200px) {

    .zmg-res-industries {
        position: relative !important;
        overflow: visible !important;
    }

    .zmg-res-industries > .wrapper {
        position: relative !important;
        overflow: visible !important;
    }

    .zmg-res-industries__grid {
        position: relative !important;
        align-items: stretch !important;
        overflow: visible !important;
    }

    .zmg-res-industries__intro {
        position: sticky !important;
        top: 180px !important;
        align-self: start !important;

        padding-top: 10px !important;
        margin: 0 !important;

        z-index: 5 !important;
        transform: none !important;
    }
}

@media (min-width: 1200px) {

    .zmg-res-page {
        overflow: visible !important;
    }

    .zmg-res-industries {
        position: relative !important;
        display: block !important;
        min-height: 1500px !important;
        overflow: visible !important;
    }

    .zmg-res-industries > .wrapper {
        position: relative !important;
        min-height: 1300px !important;
        overflow: visible !important;
    }

    .zmg-res-industries__grid {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 500px minmax(0, 1fr) !important;
        gap: 90px !important;

        min-height: 1300px !important;
        align-items: stretch !important;

        overflow: visible !important;
        transform: none !important;
    }

    .zmg-res-industries__intro {
        position: sticky !important;
        top: 160px !important;

        align-self: start !important;

        padding-top: 10px !important;
        margin: 0 !important;

        height: fit-content !important;

        transform: none !important;
        z-index: 5 !important;
    }
}

.zmg-res-why {
    background-color: #fff !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

.zmg-res-why__geometry {
    display: none !important;
}

@media (min-width: 1200px) {
    .zmg-res-why {
        min-height: 1105px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-why {
        min-height: auto !important;
        padding: 70px 30px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-why {
        min-height: auto !important;
        padding: 50px 20px !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

.zmg-res-timeline::before {
    left: 11px !important;
    top: 11px !important;
    bottom: auto !important;

    width: 1px !important;
    height: calc(100% - 22px) !important;

    background: #b8b8b8 !important;
}

@media (max-width: 767px) {
    .zmg-res-timeline::before {
        left: 10px !important;
        top: 10px !important;

        bottom: auto !important;
        height: calc(100% - 20px) !important;
    }
}

@media (min-width: 1200px) {
    .zmg-res-timeline::before {
        top: 11px !important;
        bottom: 73px !important;
        height: auto !important;
        left: 11px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {

    .zmg-res-definition__grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .zmg-res-definition__image {
        width: 100% !important;
    }

    .zmg-res-definition__image img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 0.82 !important;
        object-fit: cover !important;
    }

    .zmg-res-when__top {
        display: block !important;
        margin-bottom: 50px !important;
    }

    .zmg-res-when__top h2 {
        margin-bottom: 30px !important;
    }

    .zmg-res-when__cards {
        grid-template-columns: 1fr !important;
        gap: 45px !important;
    }

    .zmg-res-when-card h3 {
        min-height: 0 !important;
    }

    .zmg-res-process__grid {
        display: block !important;
    }

    .zmg-res-process__space {
        display: none !important;
    }

    .zmg-res-process__content {
        max-width: 100% !important;
    }

    .zmg-res-industries__grid {
        display: block !important;
        min-height: 0 !important;
    }

    .zmg-res-industries__intro {
        position: relative !important;
        top: auto !important;
        margin-bottom: 45px !important;
    }

    .zmg-res-industries__cards {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .zmg-res-industry-card {
        min-height: 0 !important;
        height: auto !important;
    }

    .zmg-res-why__grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 45px !important;
    }

    .zmg-res-why__image {
        width: 100% !important;
    }

    .zmg-res-why__image img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 0.95 / 1 !important;
        object-fit: cover !important;
    }

    .zmg-res-timeline {
        padding-left: 42px !important;
    }

    .zmg-res-timeline::before {
        left: 10px !important;
        top: 10px !important;
        bottom: auto !important;
        height: calc(100% - 20px) !important;
    }

    .zmg-res-timeline-dot {
        left: -42px !important;
        width: 20px !important;
        height: 20px !important;
    }
}

@media (min-width: 1050px) and (max-width: 1600px) {

    .zmg-res-industries__grid {
        grid-template-columns:
            clamp(280px, 28vw, 500px)
            minmax(0, 1fr) !important;

        gap: clamp(30px, 4vw, 90px) !important;
    }

    .zmg-res-industries__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(18px, 1.5vw, 28px) !important;
        min-width: 0 !important;
    }

    .zmg-res-industry-card {
        width: 100% !important;
        min-width: 0 !important;

        padding:
            clamp(22px, 2vw, 42px)
            clamp(18px, 2vw, 38px) !important;

        height: auto !important;

        overflow: visible !important;
    }

    .zmg-res-industry-card h3 {
        font-size: 30px !important;
        line-height: 1.08 !important;
        overflow-wrap: break-word !important;
    }

    .zmg-res-industry-card p {
        font-size: 16px !important;
        line-height: 30px !important;
        overflow-wrap: break-word !important;
    }

    .zmg-res-industry-card:nth-child(1),
    .zmg-res-industry-card:nth-child(2) {
        min-height: 245px !important;
    }

    .zmg-res-industry-card:nth-child(3),
    .zmg-res-industry-card:nth-child(4) {
        min-height: 275px !important;
    }

    .zmg-res-industry-card:nth-child(5),
    .zmg-res-industry-card:nth-child(6) {
        min-height: 260px !important;
    }

    .zmg-res-industry-card:nth-child(7),
    .zmg-res-industry-card:nth-child(8) {
        min-height: 310px !important;
    }
}

.zmg-res-confidential {
    background-color: #050505 !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

.zmg-res-confidential__geometry {
    display: none !important;
}

@media (min-width: 1200px) {
    .zmg-res-confidential {
        min-height: 439.03px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-confidential {
        min-height: 400px !important;
        padding: 70px 30px !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-confidential {
        min-height: auto !important;
        padding: 50px 20px !important;
        background-position: center center !important;
    }
}

@media (min-width: 1200px) {
    .zmg-res-timeline::before {
        top: 11px !important;
        bottom: 70px !important;
        height: auto !important;
        left: 11px !important;
    }
}

.zmg-res-timeline::before {
    display: none !important;
}

.zmg-res-timeline-line {
    position: absolute;
    width: 1px;
    background: #b8b8b8;
    z-index: 0;
    pointer-events: none;
}

.zmg-res-timeline-dot {
    z-index: 2;
}

@media (min-width: 1200px) {
    .zmg-res-confidential__rule {
        width: 100% !important;
        max-width: 1550px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .zmg-res-confidential p {
        width: 100% !important;
        max-width: 1550px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 1199px) {

    .zmg-res-definition__grid {
        display: contents !important;
    }

    .zmg-res-definition > .wrapper {
        display: flex !important;
        flex-direction: column !important;
    }

    .zmg-res-definition__content {
        display: contents !important;
    }

    .zmg-res-definition__content h2 {
        order: 1 !important;
        width: 100% !important;
        margin-bottom: 16px !important;
    }

    .zmg-res-heading-rule {
        order: 2 !important;
        width: 100% !important;
        margin-bottom: 30px !important;
    }

    .zmg-res-definition__image {
        order: 3 !important;
        width: 100% !important;
        margin-bottom: 30px !important;
    }

    .zmg-res-definition__content p {
        order: 4 !important;
        width: 100% !important;
    }

    .zmg-res-definition__image img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }
}

@media (min-width: 1200px) {

    .zmg-res-industries__grid {
        align-items: start !important;
    }

    .zmg-res-industries__cards {
        align-self: start !important;
        height: auto !important;

        gap: 28px !important;
        row-gap: 28px !important;
        column-gap: 28px !important;

        align-content: start !important;
    }

}

@media (min-width: 1200px) {

    .zmg-res-industries__cards {
        align-self: stretch !important;
        height: 1300px !important;

        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(4, 1fr) !important;

        row-gap: 28px !important;
        column-gap: 28px !important;
        align-content: stretch !important;
    }

    .zmg-res-industry-card,
    .zmg-res-industry-card:nth-child(1),
    .zmg-res-industry-card:nth-child(2),
    .zmg-res-industry-card:nth-child(3),
    .zmg-res-industry-card:nth-child(4),
    .zmg-res-industry-card:nth-child(5),
    .zmg-res-industry-card:nth-child(6),
    .zmg-res-industry-card:nth-child(7),
    .zmg-res-industry-card:nth-child(8) {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

}

@media (max-width: 1199px) {

    .zmg-res-why__grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .zmg-res-why__content {
        display: contents !important;
    }

    .zmg-res-why__content h2 {
        order: 1 !important;
        width: 100% !important;
        margin-bottom: 30px !important;
    }

    .zmg-res-why__image {
        order: 2 !important;
        width: 100% !important;
        margin-bottom: 30px !important;
    }

    .zmg-res-why__image img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
        border-radius: 14px !important;
    }

    .zmg-res-why__intro {
        order: 3 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 40px !important;
    }

    .zmg-res-timeline {
        order: 4 !important;
        width: 100% !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-page h2 {
        font-size: 42px !important;
    }
}

.zmg-res-page h1 {
    font-family: "Gelasio", serif !important;
}

.zmg-res-page h2,
.zmg-res-page h3 {
    font-family: var(--fritz-regular) !important;
}

.zmg-res-page .zmg-res-faq-question {
    font-family: var(--fritz-regular) !important;
    font-weight: 500 !important;
}

.zmg-res-page .zmg-res-faq-answer,
.zmg-res-page .zmg-res-faq-answer p {
    font-family: "Inter", sans-serif !important;
}

@media (min-width: 768px) and (max-width: 1199px) {

    .zmg-res-hero,
    .zmg-res-intro,
    .zmg-res-definition,
    .zmg-res-when,
    .zmg-res-process,
    .zmg-res-industries,
    .zmg-res-why,
    .zmg-res-confidential,
    .zmg-res-faq,
    .zmg-res-cta {
        padding: 70px 30px !important;
    }
}

@media (max-width: 767px) {

    .zmg-res-hero,
    .zmg-res-intro,
    .zmg-res-definition,
    .zmg-res-when,
    .zmg-res-process,
    .zmg-res-industries,
    .zmg-res-why,
    .zmg-res-confidential,
    .zmg-res-faq,
    .zmg-res-cta {
        padding: 50px 20px !important;
    }
}

.zmg-res-hero__overlay {
    display: block !important;
    position: absolute !important;

    inset: 0 auto 0 0 !important;
    width: 68% !important;
    height: 100% !important;

    background: linear-gradient(
        90deg,
        rgba(135, 0, 0, 0.76),
        rgba(159, 35, 35, 0.45)
    ) !important;

    clip-path: polygon(
        0 0,
        100% 0,
        58% 100%,
        0 100%
    ) !important;

    z-index: 1 !important;
    pointer-events: none !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-hero__overlay {
        inset: 0 auto 0 0 !important;
        width: 68% !important;
        height: 100% !important;

        clip-path: polygon(
            0 0,
            100% 0,
            58% 100%,
            0 100%
        ) !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-hero__overlay {
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;

        clip-path: none !important;

        background: rgba(130, 0, 0, 0.62) !important;
    }
}

.zmg-res-faq-chevron svg,
.zmg-res-faq-chevron img {
    display: none !important;
}

.zmg-res-faq-chevron {
    display: block !important;
    flex: 0 0 9px !important;

    width: 9px !important;
    height: 9px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    border-right: 2px solid #111 !important;
    border-bottom: 2px solid #111 !important;

    background: transparent !important;

    transform: rotate(45deg) !important;
    transition: transform 0.3s ease !important;
}

.zmg-res-faq-item.is-open .zmg-res-faq-chevron {
    transform: rotate(225deg) !important;
}

.zmg-res-faq-chevron::before,
.zmg-res-faq-chevron::after {
    content: none !important;
    display: none !important;
}



.zmg-res-cta__button {
    width: 214px !important;
    height: 61px !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;

    border: 0 !important;
    border-radius: 320px !important;

    background-color: #9b0302 !important;
    color: #fff !important;

    font-family: var(--roboto-regular) !important;
    font-size: 18px !important;
    font-weight: 500 !important;

    position: relative !important;
    overflow: hidden !important;

    margin-top: 18px !important;
    transition: 0.5s ease-in-out !important;

    text-decoration: none !important;
}

.zmg-res-cta__button:hover {
    background-color: #ef0200 !important;
    color: #fff !important;
    box-shadow: 0 4px 20px rgba(255, 2, 0, 0.7) !important;
    transform: none !important;
}

.zmg-res-cta .normal-button.sheen {
    width: 214px;
    height: 61px;
    min-width: 214px;
    min-height: 61px;
    padding: 0;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 320px !important;
    font-size: 18px;
}

.zmg-res-cta {
    position: relative !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    text-align: center !important;
}

.zmg-res-cta__overlay,
.zmg-res-cta::before {
    display: none !important;
    content: none !important;
}

.zmg-res-page h1,
.zmg-res-page h2,
.zmg-res-page h3 {
    font-weight: 500 !important;
}

@media (min-width: 768px) and (max-width: 1199px) {

    .zmg-res-why__image {
        width: 100% !important;
        height: 430px !important;
        overflow: hidden !important;
        border-radius: 20px !important;
    }

    .zmg-res-why__image img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;

        object-position: center 65% !important;

        border-radius: 20px !important;
    }
}

@media (max-width: 767px) {

    .zmg-res-why__image {
        width: 100% !important;
        height: 330px !important;
        overflow: hidden !important;
        border-radius: 20px !important;
    }

    .zmg-res-why__image img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;

        aspect-ratio: auto !important;

        object-fit: cover !important;
        object-position: center 65% !important;

        border-radius: 20px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-cta a.normal-button.sheen {
        width: 190px !important;
        height: 52px !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        font-size: 17px !important;
        line-height: 1 !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-cta a.normal-button.sheen {
        width: 165px !important;
        height: 45px !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        font-size: 16px !important;
        line-height: 1 !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-page p {
        font-size: 15px !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-page p {
        font-size: 14px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-page .zmg-res-intro__inner p {
        font-size: 22px !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-page .zmg-res-intro__inner p {
        font-size: 19px !important;
        line-height: 1.4 !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-page .zmg-res-faq-question {
        font-size: 19px !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-page .zmg-res-faq-question {
        font-size: 18px !important;
    }
}



@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-page section {
        padding: 70px 30px !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-page section {
        padding: 50px 20px !important;
    }
}

.zmg-res-page .zmg-res-hero {
    background-image: url('../../assets/img/zmg-2026/re-hero.png') !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
}

.zmg-res-page .zmg-res-hero__overlay {
    display: none !important;
}




@media (min-width: 1200px) {
    .zmg-res-when-card h3 {
        height: 100px !important;
        min-height: 100px !important;
        margin-bottom: 17px !important;
    }
}



@media (min-width: 1200px) {
    .zmg-res-when__top {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 55px !important;
        align-items: start !important;
    }

    .zmg-res-when__top h2 {
        grid-column: 1 / 3 !important;
    }

    .zmg-res-when__top > p {
        grid-column: 3 / 5 !important;
        max-width: none !important;
        margin: 0 !important;
    }
}



@media (min-width: 1200px) {
    .zmg-res-when-card p {
        font-size: 16px !important;
    }
}



@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-when__top {
        display: block !important;
    }

    .zmg-res-when__cards {
        grid-template-columns: 1fr !important;
    }

    .zmg-res-when-card h3 {
        min-height: 0 !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-when__top {
        display: block !important;
    }

    .zmg-res-when__cards {
        grid-template-columns: 1fr !important;
    }

    .zmg-res-when-card h3 {
        min-height: 0 !important;
    }
}


@media (min-width: 768px) and (max-width: 1199px) {
    .zmg-res-when {
        min-height: auto !important;
    }

    .zmg-res-when__top {
        grid-template-columns: 1fr !important;
        gap: 25px !important;
        margin-bottom: 55px !important;
    }

    .zmg-res-when__top p {
        max-width: 100% !important;
    }

    .zmg-res-when__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 45px 35px !important;
    }

    .zmg-res-when-card h3 {
        min-height: auto !important;
    }
}

@media (max-width: 767px) {
    .zmg-res-when {
        min-height: auto !important;
    }

    .zmg-res-when__top {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        margin-bottom: 45px !important;
    }

    .zmg-res-when__top p {
        max-width: 100% !important;
    }

    .zmg-res-when__cards {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .zmg-res-when-card h3 {
        min-height: auto !important;
    }
}




.zmg-res-intro__inner p {
    font-family: var(--roboto-regular) !important;
    font-size: 26px !important;
    font-weight: 300 !important;
    line-height: 30px !important;
}




@media (max-width: 1199px) {
    .zmg-res-definition::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(255, 255, 255, 0.75);
        z-index: 1;
        pointer-events: none;
    }

    .zmg-res-definition__grid {
        position: relative;
        z-index: 2;
    }
}



@media (max-width: 1199px) {
    .zmg-res-definition {
        background-image: none !important;
        background-color: #fff !important;
    }

    .zmg-res-definition__geometry {
        display: none !important;
    }
}





/* =========================================
   FAQ
========================================= */

.zmg-res-faq {
    position: relative;
    background: #fff;
}

.zmg-res-faq__inner {
    max-width: 1550px !important;
}

.zmg-res-faq h2 {
    margin-bottom: 70px;
    color: #151515;
    font-size: 50px;
    line-height: 1.1;
    text-align: center;

    /* Uses the website's standard H2 font */
}

/* FAQ LIST */

.zmg-res-faq-list {
    width: 100%;
}

.zmg-res-faq-item {
    border-bottom: 1px solid #ddd;
}

/* FAQ QUESTION */

.zmg-res-faq-question {
    width: 100%;
    font-weight: 500;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;

    padding: 28px 15px;

    background: transparent;
    border: 0;

    text-align: left;
    cursor: pointer;
}

/* FAQ QUESTIONS — H3 */

.zmg-res-faq-question h3 {
    margin: 0;
    padding: 0;

    color: #ad0000;

    font-size: 20px;
    line-height: 1.3;
    font-weight: 500 !important;

}


/* CHEVRON */

.zmg-res-faq-chevron svg,
.zmg-res-faq-chevron img {
    display: none !important;
}

.zmg-res-faq-chevron {
    display: block !important;

    flex: 0 0 9px !important;

    width: 9px !important;
    height: 9px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    border-right: 2px solid #111 !important;
    border-bottom: 2px solid #111 !important;

    background: transparent !important;

    transform: rotate(45deg) !important;
    transition: transform .3s ease !important;
}

.zmg-res-faq-chevron::before,
.zmg-res-faq-chevron::after {
    content: none !important;
    display: none !important;
}

.zmg-res-faq-item.is-open .zmg-res-faq-chevron {
    transform: rotate(225deg) !important;
}


/* FAQ ANSWER */

.zmg-res-faq-answer {
    max-height: 0;
    overflow: hidden;

    font-family: "Inter", sans-serif !important;

    transition: max-height 0.4s ease;
}

.zmg-res-faq-answer__inner {
    padding: 0 15px 28px;
}

.zmg-res-faq-answer p {
    margin: 0;

    color: #777;

    font-family: "Inter", sans-serif !important;

    font-size: 14px;
    line-height: 1.65;
}


/* =========================================
   DESKTOP
========================================= */

@media (min-width: 1200px) {

    .zmg-res-faq h2 {
        font-size: 50px !important;
    }

    .zmg-res-faq-question h3 {
        font-size: 20px !important;
    }

    .zmg-res-faq-answer p {
        font-size: 16px !important;
    }
}


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

@media (min-width: 768px) and (max-width: 1199px) {

    .zmg-res-faq {
        padding: 70px 30px !important;
    }

    .zmg-res-faq h2 {
        margin-bottom: 50px;
        font-size: 40px;
    }

    .zmg-res-faq-question {
        padding: 28px 15px;
    }

    .zmg-res-faq-question h3 {
        font-size: 19px !important;
    }

    .zmg-res-faq-answer p {
        font-size: 15px !important;
    }
}


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

@media (max-width: 767px) {

    .zmg-res-faq {
        padding: 50px 20px !important;
    }

    .zmg-res-faq h2 {
        margin-bottom: 40px;
        font-size: 34px;
    }

    .zmg-res-faq-question {
        gap: 20px;
        padding: 24px 5px;
    }

    .zmg-res-faq-question h3 {
        font-size: 18px !important;
        line-height: 1.4;
    }

    .zmg-res-faq-answer__inner {
        padding: 0 5px 24px;
    }

    .zmg-res-faq-answer p {
        font-size: 14px !important;
        line-height: 1.6;
    }
}




/* Remove horizontal overflow from banner/page */
html,
body {
    overflow-x: hidden !important;
}

.zmg-res-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.zmg-res-hero {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}




/* =========================================
   INDUSTRIES - FIX STICKY SCROLL
   DESKTOP ONLY
   ========================================= */

@media (min-width: 1200px) {

    .zmg-res-page {
        overflow-x: clip !important;
        overflow-y: visible !important;
    }

    .zmg-res-industries {
        position: relative !important;
        display: block !important;

        /* enough vertical travel for sticky */
        min-height: 1500px !important;
        height: auto !important;


        overflow: visible !important;
    }

    .zmg-res-industries > .wrapper {
        position: relative !important;
        min-height: 1300px !important;
        height: auto !important;

        overflow: visible !important;
    }

    .zmg-res-industries__grid {
        position: relative !important;

        display: grid !important;
        grid-template-columns: 500px minmax(0, 1fr) !important;
        gap: 90px !important;

        align-items: stretch !important;

        min-height: 1300px !important;

        overflow: visible !important;
        transform: none !important;
    }

    /* LEFT SIDE SCROLL / STICK */
    .zmg-res-industries__intro {
        position: sticky !important;
        top: 160px !important;

        align-self: start !important;
        height: fit-content !important;

        padding-top: 10px !important;
        margin: 0 !important;

        transform: none !important;
        z-index: 5 !important;
    }
}




/* ==========================================================
   INDUSTRIES STICKY LEFT CONTENT - FINAL FIX
   Desktop only
   ========================================================== */

@media (min-width: 1200px) {

    /* Sticky cannot work properly through clipped parents */
    html,
    body {
        overflow-x: clip !important;
    }

    .zmg-res-page {
        overflow: visible !important;
    }

    /* INDUSTRIES SECTION */
    .zmg-res-industries {
        position: relative !important;

        display: block !important;
        align-items: initial !important;

        width: 100% !important;
        min-height: 1500px !important;
        height: auto !important;

        overflow: visible !important;
    }

    /* WRAPPER */
    .zmg-res-industries > .wrapper {
        position: relative !important;

        width: 100% !important;
        max-width: 1557px !important;

        min-height: 1300px !important;

        margin: 0 auto !important;

        overflow: visible !important;
    }

    /* TWO COLUMN LAYOUT */
    .zmg-res-industries__grid {
        position: relative !important;

        display: grid !important;
        grid-template-columns: 500px minmax(0, 1fr) !important;
        gap: 90px !important;

        width: 100% !important;
        min-height: 1300px !important;

        align-items: stretch !important;

        overflow: visible !important;

        transform: none !important;
    }

    /* LEFT COLUMN */
    .zmg-res-industries__intro {
        position: -webkit-sticky !important;
        position: sticky !important;

        top: 120px !important;

        align-self: start !important;

        width: 500px !important;
        height: max-content !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 10px 0 0 !important;

        transform: none !important;

        z-index: 20 !important;
    }

    /* RIGHT CARDS */
    .zmg-res-industries__cards {
        position: relative !important;

        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        align-self: start !important;

        overflow: visible !important;
    }
}






/* =========================================
   INDUSTRIES STICKY - 45PX ONLY WHEN STUCK
   ========================================= */

@media (min-width: 1200px) {

    .zmg-res-industries {
        position: relative !important;
        overflow: visible !important;
    }

    .zmg-res-industries > .wrapper,
    .zmg-res-industries__grid {
        position: relative !important;
        overflow: visible !important;
    }

    .zmg-res-industries__grid {
        align-items: stretch !important;
    }

    .zmg-res-industries__intro {
        position: sticky !important;

        /* This applies when it starts sticking */
        top: 45px !important;

        align-self: start !important;

        /* Normal starting position */
        margin: 0 !important;
        padding-top: 10px !important;

        height: fit-content !important;
        transform: none !important;
        z-index: 5 !important;
    }
}




/* =========================================
   INDUSTRIES STICKY
   45PX SPACE BELOW HEADER
   ========================================= */

@media (min-width: 1200px) {

    .zmg-res-industries__intro {
        position: sticky !important;

        /* header height (~69px) + 45px visible gap */
        top: 114px !important;

        align-self: start !important;
        margin: 0 !important;
        padding-top: 10px !important;
        height: fit-content !important;
        transform: none !important;
        z-index: 5 !important;
    }
}




/* =========================================
   INDUSTRIES STICKY - DESKTOP
   KEEP VISIBLE SPACE BELOW HEADER
   ========================================= */

@media (min-width: 1200px) {

    

    .zmg-res-industries__intro {
        position: sticky !important;

        /* pushes sticky title clearly BELOW the header */
        top: 170px !important;

        padding-top: 0 !important;
        margin: 0 !important;

        align-self: start !important;
        height: fit-content !important;

        transform: none !important;
        z-index: 5 !important;
    }
}









/* =========================================
   INDUSTRY CARDS FIX
   1300px - 1600px
   ========================================= */

@media (min-width: 1300px) and (max-width: 1600px) {

    .zmg-res-industries__cards {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-rows: auto !important;
        align-items: stretch !important;
    }

    .zmg-res-industry-card,
    .zmg-res-industry-card:nth-child(1),
    .zmg-res-industry-card:nth-child(2),
    .zmg-res-industry-card:nth-child(3),
    .zmg-res-industry-card:nth-child(4),
    .zmg-res-industry-card:nth-child(5),
    .zmg-res-industry-card:nth-child(6),
    .zmg-res-industry-card:nth-child(7),
    .zmg-res-industry-card:nth-child(8) {
        width: 100% !important;

        height: auto !important;
        min-height: 350px !important;

        padding: 30px 25px 35px !important;

        align-self: stretch !important;
        overflow: visible !important;
    }

    .zmg-res-industry-card h3 {
        margin-top: 0 !important;
        margin-bottom: 20px !important;
    }

    .zmg-res-industry-card p {
        margin: 0 !important;
        padding-bottom: 0 !important;
    }
}




/* =========================================
   INDUSTRIES SECTION HEIGHT FIX
   DESKTOP / LAPTOP
   ========================================= */

@media (min-width: 1200px) {

    .zmg-res-industries {
        min-height: auto !important;
        height: auto !important;

        padding-top: 100px !important;
        padding-bottom: 100px !important;

        overflow: visible !important;
    }

    .zmg-res-industries > .wrapper {
        min-height: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }

    .zmg-res-industries__grid {
        min-height: 0 !important;
        height: auto !important;

        align-items: stretch !important;
        overflow: visible !important;
    }

    .zmg-res-industries__cards {
        height: auto !important;
    }
}




/* =========================================
   WHEN CARDS - NO TITLE OVERFLOW
   KEEP 30PX FONT
   1200px - 1598px
   ========================================= */

@media (min-width: 1200px) and (max-width: 1598px) {

    .zmg-res-when__cards {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 25px !important;
    }

    .zmg-res-when-card {
        width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .zmg-res-when-card h3 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        /* RETAIN DESKTOP FONT SIZE */
        font-size: 30px !important;
        line-height: 1.05 !important;

        height: auto !important;
        min-height: 0 !important;

        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;

        margin-bottom: 25px !important;
    }

    .zmg-res-when-card p {
        width: 100% !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
    }
}