/* HF13: homepage quality heading and mobile drawer behavior. Loaded last. */

/* This is the HOME page section. Do not depend on the About-page modifier. */
.theme-ace-precision-grid .ace-quality--home .ace-quality__headline,
.theme-ace-precision-grid .ace-quality--home .ace-quality__copy .ace-quality__headline,
body.theme-ace-precision-grid .ace-quality--home h2.ace-quality__headline {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: transparent !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    opacity: 1 !important;
    visibility: visible !important;
    mix-blend-mode: normal !important;
    filter: none !important;
    text-shadow: 0 4px 22px rgb(0 0 0 / 48%) !important;
}

.theme-ace-precision-grid .ace-quality--home .ace-quality__headline {
    max-width: 680px;
    margin: 0 0 24px;
    font-size: clamp(3rem, 5vw, 5.35rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.018em;
    text-transform: uppercase;
    text-wrap: balance;
}

.theme-ace-precision-grid .ace-quality--home .ace-quality__copy > p,
.theme-ace-precision-grid .ace-quality--home .ace-quality__copy li,
.theme-ace-precision-grid .ace-quality--home .ace-quality__documents > p {
    color: rgb(255 255 255 / 90%) !important;
    -webkit-text-fill-color: rgb(255 255 255 / 90%) !important;
}

.theme-ace-precision-grid .ace-quality--home .ace-quality__documents > h3,
.theme-ace-precision-grid .ace-quality--home .ace-placeholder strong {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.theme-ace-precision-grid .ace-quality--home .ace-placeholder small {
    color: rgb(255 255 255 / 68%) !important;
    -webkit-text-fill-color: rgb(255 255 255 / 68%) !important;
}

@media (max-width: 1180px) {
    .ace-mobile-menu__panel {
        width: min(380px, calc(100vw - 24px));
        max-height: calc(100dvh - 104px);
        padding: 18px;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .ace-mobile-menu__nav {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .ace-mobile-menu__nav a {
        width: 100%;
        min-height: 50px;
        display: flex !important;
        align-items: center;
        padding: 12px 4px;
        border-block-end: 1px solid rgb(255 255 255 / 14%);
        color: #ffffff;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.25;
        white-space: normal;
    }

    .ace-mobile-menu__quote {
        width: 100%;
        margin-block-start: 14px;
    }

    .ace-mobile-menu__contact {
        display: grid;
        margin-block-start: 14px;
    }

    .ace-mobile-menu__contact a {
        min-height: 50px;
        display: flex;
        align-items: center;
        border-block-end: 1px solid rgb(255 255 255 / 14%);
        color: #ffffff;
    }

    .ace-language--mobile {
        display: flex !important;
        width: max-content;
        margin-block-start: 16px;
        border-color: rgb(255 255 255 / 24%);
    }
}

@media (max-width: 620px) {
    .theme-ace-precision-grid .ace-quality--home .ace-quality__headline {
        font-size: clamp(2.65rem, 12.5vw, 4.25rem);
    }

    .ace-mobile-menu__panel {
        position: fixed;
        inset-block-start: 92px;
        inset-inline: 12px;
        width: auto;
        max-height: calc(100dvh - 108px);
        z-index: 1200;
        border: 1px solid rgb(255 255 255 / 14%);
        box-shadow: 0 18px 50px rgb(0 0 0 / 38%);
    }
}
