/**
 * Mislens Factories
 *
 * 文件位置：
 * /wp-content/themes/mislens-theme-v2/modules/factories/factories.css
 *
 * ==========================================================================
 * 页面结构
 * ==========================================================================
 *
 * 01 Hero
 * 02 Manufacturing Network
 * 03 Product Development
 * 04 Quality Control
 * 05 Compliance + CTA
 * Factory Detail Modal
 */


/* ==========================================================================
   1. VARIABLES
   ========================================================================== */

.mislens-factories-page {
    --mislens-factories-pink: #fa7598;
    --mislens-factories-pink-dark: #ef648a;

    --mislens-factories-heading: #29252c;
    --mislens-factories-text: #666168;
    --mislens-factories-muted: #8b8589;

    --mislens-factories-border: #e5dfe2;
    --mislens-factories-soft: #faf8f9;
    --mislens-factories-white: #ffffff;

    --mislens-factories-container: 1200px;

    --mislens-factories-font:
        "Montserrat",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
}


/* ==========================================================================
   2. PAGE
   ========================================================================== */

.mislens-factories {
    width: 100%;
    margin: 0;
    padding: 0;

    background:
        var(--mislens-factories-white);

    color:
        var(--mislens-factories-heading);

    font-family:
        var(--mislens-factories-font);
}


/* ==========================================================================
   3. SHARED EYEBROW
   ========================================================================== */

.mislens-factories-hero__eyebrow,
.mislens-factories-network__eyebrow,
.mislens-factories-development__eyebrow,
.mislens-factories-quality__eyebrow,
.mislens-factories-compliance__eyebrow {
    margin:
        0
        0
        11px;

    color:
        var(--mislens-factories-pink-dark);

    font-size: 12px;
    line-height: 1.3;

    font-weight: 600;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;
}


/* ==========================================================================
   4. HERO
   ========================================================================== */

.mislens-factories-hero {
    width: 100%;

    padding:
        78px
        24px
        84px;

    background:
        var(--mislens-factories-white);
}


.mislens-factories-hero__intro {
    width: min(
        100%,
        860px
    );

    margin:
        0
        auto
        58px;

    text-align: center;
}


.mislens-factories-hero__heading {
    margin:
        0
        0
        20px;

    color:
        var(--mislens-factories-heading);

    font-size:
        clamp(
            38px,
            4.5vw,
            56px
        );

    line-height: 1.08;

    font-weight: 500;

    letter-spacing:
        -0.03em;
}


.mislens-factories-hero__body {
    max-width: 760px;

    margin:
        0
        auto;

    color:
        var(--mislens-factories-text);

    font-size: 16px;
    line-height: 1.75;
}


/* ==========================================================================
   5. HERO SYSTEM
   ========================================================================== */

.mislens-factories-system {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(320px, 0.95fr);

    align-items: center;

    gap:
        clamp(
            52px,
            7vw,
            92px
        );

    width: min(
        100%,
        var(--mislens-factories-container)
    );

    margin: 0 auto;
}


.mislens-factories-system__media {
    min-width: 0;
}


.mislens-factories-system__image {
    display: block;

    width: 100%;
    height: auto;

    max-height: 520px;

    object-fit: cover;
}


.mislens-factories-system__content {
    max-width: 480px;
}


.mislens-factories-system__heading {
    margin:
        0
        0
        18px;

    color:
        var(--mislens-factories-heading);

    font-size:
        clamp(
            30px,
            3vw,
            42px
        );

    line-height: 1.14;

    font-weight: 500;

    letter-spacing:
        -0.025em;
}


.mislens-factories-system__body {
    margin: 0;

    color:
        var(--mislens-factories-text);

    font-size: 15px;
    line-height: 1.75;
}


/* ==========================================================================
   6. MANUFACTURING NETWORK
   ========================================================================== */

.mislens-factories-network {
    width: 100%;

    padding:
        84px
        24px
        92px;

    background:
        var(--mislens-factories-soft);
}


.mislens-factories-network__header {
    width: min(
        100%,
        800px
    );

    margin:
        0
        auto
        58px;

    text-align: center;
}


.mislens-factories-network__heading {
    margin:
        0
        0
        18px;

    color:
        var(--mislens-factories-heading);

    font-size:
        clamp(
            32px,
            3.4vw,
            46px
        );

    line-height: 1.12;

    font-weight: 500;

    letter-spacing:
        -0.025em;
}


.mislens-factories-network__intro {
    max-width: 720px;

    margin: 0 auto;

    color:
        var(--mislens-factories-text);

    font-size: 15px;
    line-height: 1.75;
}


/* ==========================================================================
   7. FACILITY LIST
   ========================================================================== */

.mislens-factories-network__list {
    display: grid;

    gap: 72px;

    width: min(
        100%,
        var(--mislens-factories-container)
    );

    margin: 0 auto;
}


.mislens-factories-facility {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(320px, 0.88fr);

    align-items: center;

    gap:
        clamp(
            48px,
            7vw,
            88px
        );
}


.mislens-factories-facility--2
.mislens-factories-facility__media {
    order: 2;
}


.mislens-factories-facility--2
.mislens-factories-facility__content {
    order: 1;
}


.mislens-factories-facility__media {
    min-width: 0;

    overflow: hidden;

    background:
        #f1edef;
}


.mislens-factories-facility__image {
    display: block;

    width: 100%;
    height:
        clamp(
            320px,
            34vw,
            460px
        );

    object-fit: cover;

    transition:
        transform 300ms ease;
}


.mislens-factories-facility:hover
.mislens-factories-facility__image {
    transform:
        scale(1.015);
}


.mislens-factories-facility__content {
    max-width: 500px;
}


.mislens-factories-facility__role {
    margin:
        0
        0
        10px;

    color:
        var(--mislens-factories-pink-dark);

    font-size: 12px;
    line-height: 1.4;

    font-weight: 600;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;
}


.mislens-factories-facility__name {
    margin:
        0
        0
        18px;

    color:
        var(--mislens-factories-heading);

    font-size:
        clamp(
            27px,
            2.6vw,
            36px
        );

    line-height: 1.18;

    font-weight: 500;

    letter-spacing:
        -0.02em;
}


.mislens-factories-facility__body {
    margin: 0;

    color:
        var(--mislens-factories-text);

    font-size: 15px;
    line-height: 1.75;
}


/* ==========================================================================
   8. FACILITY DETAIL BUTTON
   ========================================================================== */

.mislens-factories-facility__detail-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 42px;

    margin-top: 22px;

    padding:
        0
        17px;

    border:
        1px solid
        #d6cfd2;

    border-radius: 4px;

    background:
        transparent;

    color:
        var(--mislens-factories-heading);

    font-family:
        var(--mislens-factories-font);

    font-size: 13px;
    line-height: 1;

    font-weight: 600;

    cursor: pointer;

    transition:
        border-color 160ms ease,
        color 160ms ease,
        background-color 160ms ease,
        transform 160ms ease;
}


.mislens-factories-facility__detail-button:hover,
.mislens-factories-facility__detail-button:focus {
    border-color:
        var(--mislens-factories-pink);

    background:
        #ffffff;

    color:
        var(--mislens-factories-pink-dark);

    transform:
        translateY(-1px);
}


.mislens-factories-facility__detail-button:focus-visible {
    outline:
        2px solid
        var(--mislens-factories-pink);

    outline-offset: 3px;
}


.mislens-factories-facility__detail-arrow {
    font-size: 16px;
    line-height: 1;

    transition:
        transform 160ms ease;
}


.mislens-factories-facility__detail-button:hover
.mislens-factories-facility__detail-arrow {
    transform:
        translateX(2px);
}


/* ==========================================================================
   9. PRODUCT DEVELOPMENT
   ========================================================================== */

.mislens-factories-development {
    width: 100%;

    padding:
        90px
        24px;

    background:
        var(--mislens-factories-white);
}


.mislens-factories-development__inner {
    display: grid;

    grid-template-columns:
        minmax(360px, 0.9fr)
        minmax(0, 1.1fr);

    align-items: center;

    gap:
        clamp(
            56px,
            7vw,
            96px
        );

    width: min(
        100%,
        var(--mislens-factories-container)
    );

    margin: 0 auto;
}


.mislens-factories-development__content {
    max-width: 520px;
}


.mislens-factories-development__heading {
    margin:
        0
        0
        18px;

    color:
        var(--mislens-factories-heading);

    font-size:
        clamp(
            32px,
            3.3vw,
            44px
        );

    line-height: 1.13;

    font-weight: 500;

    letter-spacing:
        -0.025em;
}


.mislens-factories-development__intro {
    margin:
        0
        0
        30px;

    color:
        var(--mislens-factories-text);

    font-size: 15px;
    line-height: 1.75;
}


.mislens-factories-development__media {
    min-width: 0;

    overflow: hidden;

    background:
        #f1edef;
}


.mislens-factories-development__image {
    display: block;

    width: 100%;
    height:
        clamp(
            420px,
            42vw,
            580px
        );

    object-fit: cover;
}


/* ==========================================================================
   10. DEVELOPMENT STEPS
   ========================================================================== */

.mislens-factories-development__steps {
    display: grid;

    gap: 0;

    border-top:
        1px solid
        var(--mislens-factories-border);
}


.mislens-factories-development-step {
    display: grid;

    grid-template-columns:
        46px
        minmax(0, 1fr);

    gap: 17px;

    padding:
        21px
        0;

    border-bottom:
        1px solid
        var(--mislens-factories-border);
}


.mislens-factories-development-step__number {
    color:
        var(--mislens-factories-pink-dark);

    font-size: 13px;
    line-height: 1.5;

    font-weight: 600;
}


.mislens-factories-development-step__title {
    margin:
        0
        0
        6px;

    color:
        var(--mislens-factories-heading);

    font-size: 17px;
    line-height: 1.4;

    font-weight: 600;
}


.mislens-factories-development-step__body {
    margin: 0;

    color:
        var(--mislens-factories-text);

    font-size: 14px;
    line-height: 1.65;
}


/* ==========================================================================
   11. QUALITY CONTROL
   ========================================================================== */

.mislens-factories-quality {
    width: 100%;

    padding:
        88px
        24px
        94px;

    background:
        #f5f2f3;
}


.mislens-factories-quality__header {
    width: min(
        100%,
        790px
    );

    margin:
        0
        auto
        52px;

    text-align: center;
}


.mislens-factories-quality__heading {
    margin:
        0
        0
        18px;

    color:
        var(--mislens-factories-heading);

    font-size:
        clamp(
            32px,
            3.4vw,
            46px
        );

    line-height: 1.12;

    font-weight: 500;

    letter-spacing:
        -0.025em;
}


.mislens-factories-quality__intro {
    max-width: 720px;

    margin: 0 auto;

    color:
        var(--mislens-factories-text);

    font-size: 15px;
    line-height: 1.75;
}


/* ==========================================================================
   12. QUALITY BODY
   ========================================================================== */

.mislens-factories-quality__body {
    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(330px, 0.92fr);

    align-items: stretch;

    gap:
        clamp(
            50px,
            7vw,
            88px
        );

    width: min(
        100%,
        var(--mislens-factories-container)
    );

    margin: 0 auto;
}


.mislens-factories-quality__media {
    min-width: 0;

    overflow: hidden;

    background:
        #ebe6e8;
}


.mislens-factories-quality__image {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 500px;

    object-fit: cover;
}


/* ==========================================================================
   13. QUALITY STEPS
   ========================================================================== */

.mislens-factories-quality__steps {
    display: grid;

    align-content: center;
}


.mislens-factories-quality-step {
    display: grid;

    grid-template-columns:
        52px
        minmax(0, 1fr);

    gap: 18px;

    padding:
        20px
        0;

    border-bottom:
        1px solid
        #ddd6d9;
}


.mislens-factories-quality-step:first-child {
    padding-top: 0;
}


.mislens-factories-quality-step:last-child {
    padding-bottom: 0;

    border-bottom: 0;
}


.mislens-factories-quality-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    border:
        1px solid
        var(--mislens-factories-pink);

    border-radius: 50%;

    color:
        var(--mislens-factories-pink-dark);

    font-size: 11px;
    line-height: 1;

    font-weight: 600;
}


.mislens-factories-quality-step__title {
    margin:
        0
        0
        6px;

    color:
        var(--mislens-factories-heading);

    font-size: 17px;
    line-height: 1.4;

    font-weight: 600;
}


.mislens-factories-quality-step__body {
    margin: 0;

    color:
        var(--mislens-factories-text);

    font-size: 14px;
    line-height: 1.65;
}


/* ==========================================================================
   14. COMPLIANCE
   ========================================================================== */

.mislens-factories-compliance {
    width: 100%;

    padding:
        90px
        24px
        92px;

    background:
        var(--mislens-factories-white);
}


.mislens-factories-compliance__header {
    width: min(
        100%,
        800px
    );

    margin:
        0
        auto
        48px;

    text-align: center;
}


.mislens-factories-compliance__heading {
    margin:
        0
        0
        18px;

    color:
        var(--mislens-factories-heading);

    font-size:
        clamp(
            32px,
            3.3vw,
            44px
        );

    line-height: 1.13;

    font-weight: 500;

    letter-spacing:
        -0.025em;
}


.mislens-factories-compliance__intro {
    max-width: 720px;

    margin: 0 auto;

    color:
        var(--mislens-factories-text);

    font-size: 15px;
    line-height: 1.75;
}


/* ==========================================================================
   15. DOCUMENT GRID
   ========================================================================== */

.mislens-factories-compliance__documents {
    display: grid;

    grid-template-columns:
        repeat(
            6,
            minmax(0, 1fr)
        );

    align-items: start;

    gap: 20px;

    width: min(
        100%,
        var(--mislens-factories-container)
    );

    margin: 0 auto;
}


.mislens-factories-document {
    min-width: 0;
}


.mislens-factories-document__media {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;

    aspect-ratio:
        0.74;

    overflow: hidden;

    border:
        1px solid
        #e3dde0;

    background:
        #ffffff;

    box-shadow:
        0
        6px
        20px
        rgba(
            58,
            47,
            52,
            0.07
        );
}


.mislens-factories-document__image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    padding: 6px;

    box-sizing: border-box;
}


.mislens-factories-document__label {
    margin:
        11px
        0
        0;

    color:
        var(--mislens-factories-heading);

    font-size: 13px;
    line-height: 1.45;

    font-weight: 600;

    text-align: center;
}


/* ==========================================================================
   16. FINAL CTA
   ========================================================================== */

.mislens-factories-cta {
    width: 100%;

    padding:
        74px
        24px;

    background:
        #f7e8ed;
}


.mislens-factories-cta__inner {
    width: min(
        100%,
        760px
    );

    margin: 0 auto;

    text-align: center;
}


.mislens-factories-cta__heading {
    margin:
        0
        0
        16px;

    color:
        var(--mislens-factories-heading);

    font-size:
        clamp(
            30px,
            3.1vw,
            42px
        );

    line-height: 1.14;

    font-weight: 500;

    letter-spacing:
        -0.025em;
}


.mislens-factories-cta__body {
    max-width: 660px;

    margin:
        0
        auto
        26px;

    color:
        var(--mislens-factories-text);

    font-size: 15px;
    line-height: 1.7;
}


.mislens-factories-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding:
        0
        25px;

    border:
        1px solid
        var(--mislens-factories-pink);

    border-radius: 4px;

    background:
        var(--mislens-factories-pink);

    color: #ffffff;

    font-family:
        var(--mislens-factories-font);

    font-size: 14px;
    line-height: 1;

    font-weight: 600;

    box-shadow:
        0
        6px
        16px
        rgba(
            239,
            100,
            138,
            0.20
        );

    cursor: pointer;

    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        transform 160ms ease,
        box-shadow 160ms ease;
}


.mislens-factories-cta__button:hover,
.mislens-factories-cta__button:focus {
    border-color:
        var(--mislens-factories-pink-dark);

    background:
        var(--mislens-factories-pink-dark);

    color: #ffffff;

    transform:
        translateY(-1px);

    box-shadow:
        0
        9px
        20px
        rgba(
            239,
            100,
            138,
            0.26
        );
}


.mislens-factories-cta__button:focus-visible {
    outline:
        2px solid
        var(--mislens-factories-pink-dark);

    outline-offset: 3px;
}


/* ==========================================================================
   17. FACTORY MODAL PAGE LOCK
   ========================================================================== */

body.mislens-factory-modal-open {
    overflow: hidden;
}


/* ==========================================================================
   18. FACTORY MODAL ROOT
   ========================================================================== */

.mislens-factory-modal[hidden] {
    display: none !important;
}


.mislens-factory-modal {
    position: fixed;

    inset: 0;

    z-index: 100000;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 24px;

    box-sizing: border-box;

    font-family:
        var(--mislens-factories-font);
}


/* ==========================================================================
   19. FACTORY MODAL BACKDROP
   ========================================================================== */

.mislens-factory-modal__backdrop {
    position: absolute;

    inset: 0;

    background:
        rgba(
            25,
            21,
            23,
            0.76
        );

    -webkit-backdrop-filter:
        blur(3px);

    backdrop-filter:
        blur(3px);
}


/* ==========================================================================
   20. FACTORY MODAL DIALOG
   ========================================================================== */

.mislens-factory-modal__dialog {
    position: relative;

    z-index: 2;

    display: grid;

    grid-template-rows:
        auto
        minmax(0, 1fr);

    width:
        min(
            820px,
            calc(100vw - 48px)
        );

    max-height:
        min(
            86vh,
            820px
        );

    overflow: hidden;

    border-radius: 6px;

    background:
        #ffffff;

    box-shadow:
        0
        28px
        70px
        rgba(
            0,
            0,
            0,
            0.30
        );
}


/* ==========================================================================
   21. FACTORY MODAL HEADER
   ========================================================================== */

.mislens-factory-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 24px;

    padding:
        25px
        24px
        21px;

    border-bottom:
        1px solid
        var(--mislens-factories-border);

    background:
        #ffffff;
}


.mislens-factory-modal__heading-wrap {
    min-width: 0;

    flex: 1;
}


.mislens-factory-modal__eyebrow {
    margin:
        0
        0
        7px;

    color:
        var(--mislens-factories-pink-dark);

    font-size: 11px;
    line-height: 1.3;

    font-weight: 600;

    letter-spacing:
        0.09em;

    text-transform:
        uppercase;
}


.mislens-factory-modal__title {
    margin: 0;

    color:
        var(--mislens-factories-heading);

    font-size:
        clamp(
            24px,
            3vw,
            32px
        );

    line-height: 1.18;

    font-weight: 500;

    letter-spacing:
        -0.02em;
}


/* ==========================================================================
   22. FACTORY MODAL CLOSE
   ========================================================================== */

.mislens-factory-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    flex:
        0
        0
        40px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background:
        transparent;

    color:
        #514b50;

    font-family:
        Arial,
        sans-serif;

    font-size: 30px;
    line-height: 1;

    font-weight: 300;

    cursor: pointer;

    transition:
        background-color 150ms ease,
        color 150ms ease;
}


.mislens-factory-modal__close:hover,
.mislens-factory-modal__close:focus {
    background:
        #f5f1f3;

    color:
        var(--mislens-factories-pink-dark);
}


.mislens-factory-modal__close:focus-visible {
    outline:
        2px solid
        var(--mislens-factories-pink);

    outline-offset: 2px;
}


/* ==========================================================================
   23. FACTORY MODAL BODY
   ========================================================================== */

.mislens-factory-modal__body {
    min-height: 0;

    overflow-y: auto;

    padding:
        28px
        30px
        34px;

    box-sizing: border-box;

    overscroll-behavior:
        contain;

    -webkit-overflow-scrolling:
        touch;
}


.mislens-factory-modal__content {
    width: 100%;
    max-width: 700px;

    margin: 0 auto;

    color:
        var(--mislens-factories-text);

    font-size: 15px;
    line-height: 1.8;
}


/* ==========================================================================
   24. FACTORY MODAL RICH TEXT
   ========================================================================== */

.mislens-factory-modal__content > *:first-child {
    margin-top: 0;
}


.mislens-factory-modal__content > *:last-child {
    margin-bottom: 0;
}


.mislens-factory-modal__content p {
    margin:
        0
        0
        18px;
}


.mislens-factory-modal__content h2,
.mislens-factory-modal__content h3,
.mislens-factory-modal__content h4 {
    margin:
        30px
        0
        12px;

    color:
        var(--mislens-factories-heading);

    line-height: 1.3;

    font-weight: 600;
}


.mislens-factory-modal__content h2 {
    font-size: 24px;
}


.mislens-factory-modal__content h3 {
    font-size: 20px;
}


.mislens-factory-modal__content h4 {
    font-size: 17px;
}


.mislens-factory-modal__content ul,
.mislens-factory-modal__content ol {
    margin:
        0
        0
        20px;

    padding-left: 24px;
}


.mislens-factory-modal__content li {
    margin-bottom: 7px;
}


.mislens-factory-modal__content strong {
    color:
        var(--mislens-factories-heading);

    font-weight: 600;
}


.mislens-factory-modal__content a {
    color:
        var(--mislens-factories-pink-dark);

    text-decoration:
        underline;

    text-underline-offset:
        2px;
}


.mislens-factory-modal__content a:hover,
.mislens-factory-modal__content a:focus {
    color:
        var(--mislens-factories-heading);
}


/* ==========================================================================
   25. TABLET
   ========================================================================== */

@media (max-width: 980px) {

    .mislens-factories-hero {
        padding:
            66px
            22px
            72px;
    }


    .mislens-factories-hero__intro {
        margin-bottom: 48px;
    }


    .mislens-factories-system {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(280px, 0.9fr);

        gap: 38px;
    }


    .mislens-factories-network {
        padding:
            72px
            22px
            78px;
    }


    .mislens-factories-network__header {
        margin-bottom: 46px;
    }


    .mislens-factories-network__list {
        gap: 58px;
    }


    .mislens-factories-facility {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(280px, 0.88fr);

        gap: 38px;
    }


    .mislens-factories-development {
        padding:
            76px
            22px;
    }


    .mislens-factories-development__inner {
        grid-template-columns:
            minmax(300px, 0.92fr)
            minmax(0, 1.08fr);

        gap: 40px;
    }


    .mislens-factories-quality {
        padding:
            74px
            22px
            80px;
    }


    .mislens-factories-quality__body {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(300px, 0.92fr);

        gap: 40px;
    }


    .mislens-factories-quality__image {
        min-height: 450px;
    }


    .mislens-factories-compliance {
        padding:
            76px
            22px
            80px;
    }


    .mislens-factories-compliance__documents {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );

        gap:
            26px
            22px;
    }


    .mislens-factories-cta {
        padding:
            64px
            22px;
    }


    .mislens-factory-modal {
        padding: 18px;
    }


    .mislens-factory-modal__dialog {
        width:
            min(
                760px,
                calc(100vw - 36px)
            );

        max-height:
            calc(100vh - 36px);
    }

}


/* ==========================================================================
   26. MOBILE
   ========================================================================== */

@media (max-width: 767px) {

    .mislens-factories-hero {
        padding:
            48px
            18px
            56px;
    }


    .mislens-factories-hero__intro {
        margin:
            0
            0
            38px;

        text-align: left;
    }


    .mislens-factories-hero__heading {
        margin-bottom: 16px;

        font-size:
            clamp(
                31px,
                8vw,
                40px
            );
    }


    .mislens-factories-hero__body {
        margin: 0;

        font-size: 14px;
        line-height: 1.65;
    }


    .mislens-factories-system {
        grid-template-columns: 1fr;

        gap: 28px;
    }


    .mislens-factories-system__content {
        max-width: none;
    }


    .mislens-factories-system__heading {
        margin-bottom: 13px;

        font-size:
            clamp(
                27px,
                7vw,
                33px
            );
    }


    .mislens-factories-system__body {
        font-size: 14px;
        line-height: 1.65;
    }


    /* Network */

    .mislens-factories-network {
        padding:
            54px
            18px
            60px;
    }


    .mislens-factories-network__header {
        margin:
            0
            0
            36px;

        text-align: left;
    }


    .mislens-factories-network__heading {
        margin-bottom: 14px;

        font-size:
            clamp(
                28px,
                7vw,
                34px
            );
    }


    .mislens-factories-network__intro {
        margin: 0;

        font-size: 14px;
        line-height: 1.65;
    }


    .mislens-factories-network__list {
        gap: 42px;
    }


    .mislens-factories-facility {
        grid-template-columns: 1fr;

        gap: 22px;
    }


    .mislens-factories-facility--2
    .mislens-factories-facility__media,
    .mislens-factories-facility--2
    .mislens-factories-facility__content {
        order: initial;
    }


    .mislens-factories-facility__image {
        height:
            clamp(
                260px,
                70vw,
                360px
            );
    }


    .mislens-factories-facility__content {
        max-width: none;
    }


    .mislens-factories-facility__name {
        margin-bottom: 13px;

        font-size:
            clamp(
                24px,
                6vw,
                30px
            );
    }


    .mislens-factories-facility__body {
        font-size: 14px;
        line-height: 1.65;
    }


    .mislens-factories-facility__detail-button {
        min-height: 41px;

        margin-top: 18px;

        font-size: 12px;
    }


    /* Development */

    .mislens-factories-development {
        padding:
            58px
            18px;
    }


    .mislens-factories-development__inner {
        grid-template-columns: 1fr;

        gap: 34px;
    }


    .mislens-factories-development__content {
        max-width: none;
    }


    .mislens-factories-development__heading {
        margin-bottom: 14px;

        font-size:
            clamp(
                28px,
                7vw,
                34px
            );
    }


    .mislens-factories-development__intro {
        margin-bottom: 24px;

        font-size: 14px;
        line-height: 1.65;
    }


    .mislens-factories-development__image {
        height:
            clamp(
                300px,
                82vw,
                430px
            );
    }


    .mislens-factories-development-step {
        grid-template-columns:
            40px
            minmax(0, 1fr);

        gap: 13px;

        padding:
            18px
            0;
    }


    .mislens-factories-development-step__title {
        font-size: 16px;
    }


    .mislens-factories-development-step__body {
        font-size: 13px;
        line-height: 1.6;
    }


    /* Quality */

    .mislens-factories-quality {
        padding:
            56px
            18px
            62px;
    }


    .mislens-factories-quality__header {
        margin:
            0
            0
            36px;

        text-align: left;
    }


    .mislens-factories-quality__heading {
        margin-bottom: 14px;

        font-size:
            clamp(
                28px,
                7vw,
                34px
            );
    }


    .mislens-factories-quality__intro {
        margin: 0;

        font-size: 14px;
        line-height: 1.65;
    }


    .mislens-factories-quality__body {
        grid-template-columns: 1fr;

        gap: 30px;
    }


    .mislens-factories-quality__image {
        min-height: 0;

        height:
            clamp(
                300px,
                80vw,
                420px
            );
    }


    .mislens-factories-quality-step {
        grid-template-columns:
            45px
            minmax(0, 1fr);

        gap: 14px;

        padding:
            17px
            0;
    }


    .mislens-factories-quality-step__number {
        width: 32px;
        height: 32px;
    }


    .mislens-factories-quality-step__title {
        font-size: 16px;
    }


    .mislens-factories-quality-step__body {
        font-size: 13px;
        line-height: 1.6;
    }


    /* Compliance */

    .mislens-factories-compliance {
        padding:
            58px
            18px
            62px;
    }


    .mislens-factories-compliance__header {
        margin:
            0
            0
            34px;

        text-align: left;
    }


    .mislens-factories-compliance__heading {
        margin-bottom: 14px;

        font-size:
            clamp(
                28px,
                7vw,
                34px
            );
    }


    .mislens-factories-compliance__intro {
        margin: 0;

        font-size: 14px;
        line-height: 1.65;
    }


    .mislens-factories-compliance__documents {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap:
            24px
            14px;
    }


    .mislens-factories-document__label {
        margin-top: 8px;

        font-size: 12px;
    }


    /* CTA */

    .mislens-factories-cta {
        padding:
            52px
            18px;
    }


    .mislens-factories-cta__inner {
        text-align: left;
    }


    .mislens-factories-cta__heading {
        margin-bottom: 13px;

        font-size:
            clamp(
                28px,
                7vw,
                34px
            );
    }


    .mislens-factories-cta__body {
        margin:
            0
            0
            22px;

        font-size: 14px;
        line-height: 1.65;
    }


    .mislens-factories-cta__button {
        width: 100%;

        min-height: 46px;
    }


    /* Modal */

    .mislens-factory-modal {
        align-items: stretch;

        padding: 0;
    }


    .mislens-factory-modal__dialog {
        width: 100vw;
        height: 100vh;

        max-height: none;

        border-radius: 0;
    }


    .mislens-factory-modal__header {
        gap: 14px;

        padding:
            18px
            12px
            16px
            18px;
    }


    .mislens-factory-modal__eyebrow {
        margin-bottom: 5px;

        font-size: 10px;
    }


    .mislens-factory-modal__title {
        font-size:
            clamp(
                23px,
                7vw,
                29px
            );
    }


    .mislens-factory-modal__close {
        width: 38px;
        height: 38px;

        flex-basis: 38px;

        font-size: 28px;
    }


    .mislens-factory-modal__body {
        padding:
            22px
            18px
            30px;
    }


    .mislens-factory-modal__content {
        max-width: none;

        font-size: 14px;
        line-height: 1.75;
    }


    .mislens-factory-modal__content p {
        margin-bottom: 16px;
    }


    .mislens-factory-modal__content h2,
    .mislens-factory-modal__content h3,
    .mislens-factory-modal__content h4 {
        margin-top: 25px;
    }


    .mislens-factory-modal__content h2 {
        font-size: 22px;
    }


    .mislens-factory-modal__content h3 {
        font-size: 19px;
    }


    .mislens-factory-modal__content h4 {
        font-size: 16px;
    }

}


/* ==========================================================================
   27. SMALL MOBILE
   ========================================================================== */

@media (max-width: 420px) {

    .mislens-factories-hero,
    .mislens-factories-network,
    .mislens-factories-development,
    .mislens-factories-quality,
    .mislens-factories-compliance,
    .mislens-factories-cta {
        padding-left: 15px;
        padding-right: 15px;
    }


    .mislens-factories-compliance__documents {
        gap:
            20px
            11px;
    }


    .mislens-factories-development-step {
        grid-template-columns:
            34px
            minmax(0, 1fr);
    }


    .mislens-factories-quality-step {
        grid-template-columns:
            40px
            minmax(0, 1fr);
    }


    .mislens-factory-modal__header {
        padding-left: 15px;
    }


    .mislens-factory-modal__body {
        padding-left: 15px;
        padding-right: 15px;
    }

}


/* ==========================================================================
   28. RTL
   ========================================================================== */

html[dir="rtl"]
.mislens-factories-hero__intro,
html[dir="rtl"]
.mislens-factories-system__content,
html[dir="rtl"]
.mislens-factories-network__header,
html[dir="rtl"]
.mislens-factories-facility__content,
html[dir="rtl"]
.mislens-factories-development__content,
html[dir="rtl"]
.mislens-factories-quality__header,
html[dir="rtl"]
.mislens-factories-quality__steps,
html[dir="rtl"]
.mislens-factories-compliance__header,
html[dir="rtl"]
.mislens-factories-cta__inner,
html[dir="rtl"]
.mislens-factory-modal__heading-wrap,
html[dir="rtl"]
.mislens-factory-modal__content {
    direction: rtl;

    text-align: right;
}


html[dir="rtl"]
.mislens-factories-system,
html[dir="rtl"]
.mislens-factories-facility,
html[dir="rtl"]
.mislens-factories-development__inner,
html[dir="rtl"]
.mislens-factories-quality__body {
    direction: ltr;
}


html[dir="rtl"]
.mislens-factories-development-step,
html[dir="rtl"]
.mislens-factories-quality-step {
    direction: rtl;
}


html[dir="rtl"]
.mislens-factories-compliance__documents {
    direction: ltr;
}


html[dir="rtl"]
.mislens-factories-document__label {
    direction: rtl;
}


html[dir="rtl"]
.mislens-factories-facility__detail-button {
    direction: rtl;
}


html[dir="rtl"]
.mislens-factories-facility__detail-arrow {
    transform:
        scaleX(-1);
}


html[dir="rtl"]
.mislens-factories-facility__detail-button:hover
.mislens-factories-facility__detail-arrow {
    transform:
        scaleX(-1)
        translateX(2px);
}


html[dir="rtl"]
.mislens-factory-modal__header {
    direction: ltr;
}


html[dir="rtl"]
.mislens-factory-modal__content ul,
html[dir="rtl"]
.mislens-factory-modal__content ol {
    padding-left: 0;
    padding-right: 24px;
}


/* ==========================================================================
   29. RTL MOBILE
   ========================================================================== */

@media (max-width: 767px) {

    html[dir="rtl"]
    .mislens-factories-hero__intro,
    html[dir="rtl"]
    .mislens-factories-network__header,
    html[dir="rtl"]
    .mislens-factories-quality__header,
    html[dir="rtl"]
    .mislens-factories-compliance__header,
    html[dir="rtl"]
    .mislens-factories-cta__inner {
        text-align: right;
    }

}


/* ==========================================================================
   30. REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

    .mislens-factories-facility__image,
    .mislens-factories-facility__detail-button,
    .mislens-factories-facility__detail-arrow,
    .mislens-factories-cta__button,
    .mislens-factory-modal__close {
        transition: none;
    }

}