/* Public Home mobile hardening */

@media (max-width: 1050px) {
    .public-site-shell:has(.saz-home-v8) .public-header {
        z-index: 2147483000 !important;
        overflow: visible !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .public-site-shell:has(.saz-home-v8) .public-header__inner {
        position: relative !important;
        z-index: 2147483001 !important;
    }

    .public-site-shell:has(.saz-home-v8) .public-mobile-nav {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483002 !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-width: none !important;
        overflow: visible !important;
        isolation: isolate !important;
    }

    .public-site-shell:has(.saz-home-v8) .public-mobile-nav__backdrop {
        position: fixed !important;
        inset: 0 !important;
        z-index: 0 !important;
        background: rgba(0, 2, 10, .78) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
    }

    .public-site-shell:has(.saz-home-v8) .public-mobile-nav__panel {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 1 !important;
        width: min(360px, 88vw) !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow-y: auto !important;
        color: #f6f8ff !important;
        background: linear-gradient(180deg, #071021 0%, #030714 100%) !important;
        border-left: 1px solid rgba(137, 153, 255, .2) !important;
        box-shadow: -28px 0 80px rgba(0, 0, 0, .5) !important;
    }

    .public-site-shell:has(.saz-home-v8) .public-mobile-nav__header strong,
    .public-site-shell:has(.saz-home-v8) .public-mobile-nav__panel > a {
        color: #f6f8ff !important;
    }

    .public-site-shell:has(.saz-home-v8) .public-mobile-nav__header label {
        color: #fff !important;
        background: #0d1832 !important;
    }

    .saz-home-v8 .saz-proof {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 760px !important;
        margin-inline: auto !important;
    }

    .saz-home-v8 .saz-proof-item,
    .saz-home-v8 .saz-proof-item > div,
    .saz-home-v8 .saz-proof-item strong,
    .saz-home-v8 .saz-proof-item small {
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
    }

    .saz-home-v8 .saz-kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
}

@media (max-width: 680px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .public-site-shell:has(.saz-home-v8),
    .saz-home-v8,
    .saz-home-v8 main,
    .saz-home-v8 section {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    .saz-home-v8 .saz-container {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
    }

    .saz-home-v8 .saz-hero {
        padding: 42px 0 28px !important;
        overflow: hidden !important;
    }

    .saz-home-v8 .saz-hero-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .saz-home-v8 .saz-hero-copy {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        text-align: right !important;
    }

    .saz-home-v8 .saz-eyebrow {
        max-width: 100% !important;
        padding: 7px 10px !important;
        font-size: .68rem !important;
        line-height: 1.6 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .saz-home-v8 .saz-hero-copy h1 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 16px 0 14px !important;
        font-size: clamp(2.15rem, 10.5vw, 3.1rem) !important;
        line-height: 1.22 !important;
        letter-spacing: -.035em !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .saz-home-v8 .saz-hero-copy p {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        font-size: .88rem !important;
        line-height: 1.95 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .saz-home-v8 .saz-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        margin-top: 22px !important;
    }

    .saz-home-v8 .saz-actions .saz-btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 52px !important;
        padding-inline: 16px !important;
    }

    /* Trust cards: force a single horizontal card per row on phones. */
    .saz-home-v8 .saz-proof {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 20px 0 0 !important;
    }

    .saz-home-v8 .saz-proof-item {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 78px !important;
        height: auto !important;
        padding: 12px 14px !important;
        text-align: right !important;
    }

    .saz-home-v8 .saz-proof-icon {
        flex: 0 0 42px !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
    }

    .saz-home-v8 .saz-proof-item > div {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .saz-home-v8 .saz-proof-item strong,
    .saz-home-v8 .saz-proof-item small {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        letter-spacing: normal !important;
    }

    .saz-home-v8 .saz-proof-item strong {
        font-size: .82rem !important;
        line-height: 1.65 !important;
    }

    .saz-home-v8 .saz-proof-item small {
        margin-top: 3px !important;
        font-size: .68rem !important;
        line-height: 1.7 !important;
    }

    .saz-home-v8 .saz-kpi-strip {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        width: 100% !important;
        margin-top: 18px !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .saz-home-v8 .saz-kpi-strip > div {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 66px !important;
        padding: 12px 14px !important;
        border: 1px solid rgba(136,151,255,.10) !important;
        border-radius: 14px !important;
        background: rgba(8,14,31,.66) !important;
        text-align: right !important;
    }

    .saz-home-v8 .saz-kpi-strip > div::after {
        display: none !important;
    }

    .saz-home-v8 .saz-kpi-strip > div > div {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .saz-home-v8 .saz-kpi-strip strong,
    .saz-home-v8 .saz-kpi-strip span {
        margin: 0 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
    }

    .saz-home-v8 .saz-kpi-strip strong {
        flex: 0 0 auto !important;
        font-size: 1.05rem !important;
        line-height: 1.35 !important;
    }

    .saz-home-v8 .saz-kpi-strip span {
        flex: 1 1 auto !important;
        font-size: .74rem !important;
        line-height: 1.65 !important;
        text-align: right !important;
    }

    .saz-home-v8 .saz-app-stage {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 390px !important;
        margin: 4px 0 0 !important;
        perspective: none !important;
    }

    .saz-home-v8 .saz-app-window {
        inset: 14px 0 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 18px !important;
        transform: none !important;
    }

    .saz-home-v8 .saz-app-topbar {
        grid-template-columns: auto 1fr auto !important;
        gap: 8px !important;
        padding: 0 10px !important;
    }

    .saz-home-v8 .saz-app-url {
        min-width: 0 !important;
        width: 100% !important;
        padding-inline: 8px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .saz-home-v8 .saz-app-status span {
        display: none !important;
    }

    .saz-home-v8 .saz-app-body {
        grid-template-columns: 58px minmax(0, 1fr) !important;
        min-height: 330px !important;
    }

    .saz-home-v8 .saz-app-main {
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 8px !important;
    }

    .saz-home-v8 .saz-app-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .saz-home-v8 .saz-floating {
        display: none !important;
    }

    .saz-home-v8 .saz-section {
        padding: 56px 0 !important;
    }

    .saz-home-v8 .saz-module-grid,
    .saz-home-v8 .saz-ai-grid,
    .saz-home-v8 .saz-device-grid,
    .saz-home-v8 .saz-start-grid,
    .saz-home-v8 .saz-pricing-grid,
    .saz-home-v8 .saz-timeline {
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .saz-home-v8 .saz-product-shell--premium,
    .saz-home-v8 .saz-showcase-stage,
    .saz-home-v8 .saz-showcase-desktop {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .saz-home-v8 .saz-showcase-stage {
        min-height: 355px !important;
        padding: 10px 6px 18px !important;
        overflow: hidden !important;
    }

    .saz-home-v8 .saz-showcase-desktop {
        transform: none !important;
    }

    .saz-home-v8 .saz-showcase-tablet,
    .saz-home-v8 .saz-showcase-mobile,
    .saz-home-v8 .saz-showcase-float {
        display: none !important;
    }

    .saz-home-v8 .saz-final-box {
        width: 100% !important;
        max-width: 100% !important;
        padding: 26px 18px !important;
    }
}

@media (max-width: 420px) {
    .saz-home-v8 .saz-container {
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
    }

    .saz-home-v8 .saz-hero-copy h1 {
        font-size: clamp(2rem, 10.6vw, 2.7rem) !important;
    }

    .saz-home-v8 .saz-proof-item {
        min-height: 74px !important;
        padding: 11px 12px !important;
    }

    .saz-home-v8 .saz-proof-icon {
        flex-basis: 38px !important;
        width: 38px !important;
        height: 38px !important;
    }

    .saz-home-v8 .saz-app-body {
        grid-template-columns: 52px minmax(0, 1fr) !important;
        min-height: 305px !important;
    }
}
