/* Homepage mobile containment: keep every first-screen control inside the viewport. */
@media screen and (max-width: 720px) {
    html,
    html body.home,
    html body.ncy-is-front-page {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    html body.home .ncy-site-header,
    html body.ncy-is-front-page .ncy-site-header {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    html body.home .ncy-site-header .ncy-header-inner,
    html body.ncy-is-front-page .ncy-site-header .ncy-header-inner {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 72px 0 16px !important;
        box-sizing: border-box !important;
    }

    html body.home .ncy-site-header .ncy-brand,
    html body.ncy-is-front-page .ncy-site-header .ncy-brand {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    html body.home .ncy-site-header .ncy-menu-toggle,
    html body.ncy-is-front-page .ncy-site-header .ncy-menu-toggle {
        position: absolute !important;
        top: 50% !important;
        right: 16px !important;
        z-index: 180 !important;
        display: inline-flex !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        margin: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateY(-50%) !important;
        pointer-events: auto !important;
    }

    html body.home .ncy-home-v7-hero,
    html body.ncy-is-front-page .ncy-home-v7-hero {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    html body.home .ncy-home-v7-hero > .wp-block-group__inner-container,
    html body.ncy-is-front-page .ncy-home-v7-hero > .wp-block-group__inner-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-right: 16px !important;
        padding-left: 16px !important;
        box-sizing: border-box !important;
    }

    html body.home .ncy-home-v7-hero > .wp-block-group__inner-container > .wp-block-group__inner-container,
    html body.ncy-is-front-page .ncy-home-v7-hero > .wp-block-group__inner-container > .wp-block-group__inner-container,
    html body.home .ncy-home-v7-hero .ncy-hero-copy,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-hero-copy,
    html body.home .ncy-home-v7-hero .ncy-hero-copy > .wp-block-group__inner-container,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-hero-copy > .wp-block-group__inner-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        box-sizing: border-box !important;
    }

    html body.home .ncy-home-v7-hero .ncy-home-v7-title,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-home-v7-title,
    html body.home .ncy-home-v7-hero .ncy-home-v7-title__line,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-home-v7-title__line,
    html body.home .ncy-home-v7-hero .ncy-home-v7-title__item,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-home-v7-title__item {
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    html body.home .ncy-home-v7-hero .ncy-hero-lead,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-hero-lead,
    html body.home .ncy-home-v7-hero .ncy-home-v7-price,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-home-v7-price,
    html body.home .ncy-home-v7-hero .ncy-home-v7-next-step,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-home-v7-next-step,
    html body.home .ncy-home-v7-hero .ncy-wechat-action,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-wechat-action,
    html body.home .ncy-home-v7-hero .ncy-hero-proof,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-hero-proof {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    html body.home .ncy-home-v7-hero .wp-block-buttons,
    html body.ncy-is-front-page .ncy-home-v7-hero .wp-block-buttons {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 10px !important;
        box-sizing: border-box !important;
    }

    html body.home .ncy-home-v7-hero .wp-block-button,
    html body.home .ncy-home-v7-hero .wp-block-button__link,
    html body.ncy-is-front-page .ncy-home-v7-hero .wp-block-button,
    html body.ncy-is-front-page .ncy-home-v7-hero .wp-block-button__link {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    html body.home .ncy-home-v7-hero .ncy-hero-proof,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-hero-proof {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body.home .ncy-home-v7-hero .ncy-hero-proof span,
    html body.ncy-is-front-page .ncy-home-v7-hero .ncy-hero-proof span {
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
}
