/* Mobile launch polish shared by the public website. */

@media (max-width: 760px) {
    html {
        scroll-padding-top: 4.5rem;
    }

    body {
        min-width: 0;
    }

    #main-content {
        min-width: 0;
        overflow: clip;
    }

    #navbar > div:first-child {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    #navbar .h-20 {
        height: 4.5rem;
    }

    #navbar img.h-12 {
        height: 2.75rem;
    }

    .site-nav-toggle {
        width: 2.75rem;
        height: 2.75rem;
    }

    .site-mobile-menu {
        top: 4.5rem;
        max-height: calc(100vh - 4.5rem);
        max-height: calc(100dvh - 4.5rem);
        overscroll-behavior: contain;
    }

    .site-mobile-menu__inner {
        width: calc(100% - 1.5rem);
        padding-bottom: calc(1.25rem + env(safe-area-inset-bottom));
    }

    .site-mobile-menu__link,
    .site-mobile-menu summary,
    .site-mobile-menu__subheading,
    .site-mobile-menu__sublink {
        min-height: 44px;
    }

    .site-mobile-menu__subheading,
    .site-mobile-menu__sublink {
        display: flex;
        align-items: center;
    }

    .home-v2 .home-v2-sandbox {
        display: block;
        min-height: 0;
    }

    .home-v2 .home-v2-sandbox-stage {
        height: clamp(320px, 106vw, 430px);
        min-height: 0;
    }

    .home-v2 .home-v2-sandbox-copy,
    .home-v2 .home-v2-sandbox[data-home-v2-hero-proof="v100-ai-data-center-4k-responsive"] .home-v2-sandbox-copy {
        left: 1rem;
        right: 1rem;
        top: 1.25rem;
        width: auto;
    }

    .home-v2 .home-v2-sandbox-copy h1,
    .home-v2 .home-v2-sandbox[data-home-v2-hero-proof="v100-ai-data-center-4k-responsive"] .home-v2-sandbox-copy h1 {
        font-size: clamp(1.55rem, 7.2vw, 1.95rem);
        line-height: 1.1;
        white-space: normal;
        text-wrap: balance;
    }

    .home-v2 .home-v2-axis {
        padding: 3.5rem 0 4rem;
    }

    .home-v2 .home-v2-axis__title {
        margin-bottom: 1.5rem;
        font-size: clamp(2rem, 10vw, 2.5rem);
    }

    .home-v2 .home-v2-axis__toolbar {
        gap: .75rem;
        margin-bottom: 1.75rem;
    }

    .home-v2 .home-v2-axis-tabs {
        display: flex;
        width: 100%;
        gap: .25rem;
        padding: .375rem;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-padding-inline: .375rem;
        scroll-snap-type: x proximity;
        border-radius: 999px;
    }

    .home-v2 .home-v2-axis-tab {
        width: auto;
        flex: 0 0 auto;
        min-height: 44px;
        padding: 0 1rem;
        font-size: .875rem;
        white-space: nowrap;
        scroll-snap-align: start;
    }

    .home-v2 .home-v2-product-grid {
        display: flex;
        width: auto;
        min-width: 100%;
        gap: 1rem;
        padding-bottom: 1rem;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-padding-inline: 2px;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
        will-change: auto;
    }

    .home-v2 .home-v2-product-card {
        flex: 0 0 min(82vw, 22rem);
        scroll-snap-align: start;
    }

    .product-series-page .product-series-hero {
        padding: 5.75rem 0 2rem;
    }

    .product-series-page .product-series-hero h1 {
        font-size: clamp(2.1rem, 10vw, 2.6rem);
    }

    .product-series-page .product-series-list {
        padding-top: 1rem;
    }

    .product-series-page .product-series-layout {
        gap: 2.75rem;
    }

    .product-series-page .product-grid {
        gap: 2.75rem;
    }

    .product-series-page .product-series-group + .product-series-group {
        margin-top: 4rem;
    }

    .cqm-detail .cqm-shell {
        width: min(100% - 2rem, 1460px);
    }

    .cqm-detail .cqm-hero {
        padding: 5.75rem 0 3.25rem;
    }

    .cqm-detail .cqm-hero-grid {
        gap: 1.75rem;
        margin-top: 2.25rem;
    }

    .cqm-detail .cqm-hero h1 {
        font-size: clamp(1.9rem, 9.5vw, 2.2rem);
    }

    .cqm-detail .cqm-action-row {
        gap: .625rem;
        margin-top: 1.5rem;
    }

    .cqm-detail .cqm-primary-btn,
    .cqm-detail .cqm-secondary-btn {
        min-height: 44px;
        padding: 0 1rem;
    }

    .cqm-detail .cqm-hero-media,
    .cqm-detail .cqm-product-visual {
        min-height: 0;
        aspect-ratio: 4 / 3;
        padding: 1rem;
        border-radius: 16px;
    }

    .cqm-detail .cqm-section {
        padding: 4rem 0;
    }

    .cqm-detail .cqm-section h2 {
        font-size: clamp(1.75rem, 8vw, 2rem);
    }

    .cqm-detail .cqm-application-carousel,
    .cqm-detail .cqm-spec-model-strip,
    .cqm-detail .cqm-spec-tile-grid {
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 1rem;
    }

    .cqm-detail .cqm-application-card,
    .cqm-detail .cqm-spec-model-card,
    .cqm-detail .cqm-spec-tile {
        scroll-snap-align: start;
    }

    .application-index {
        --application-nav: 72px;
    }

    .application-index .application-domain-tabs {
        padding-right: 3.5rem;
        scroll-padding-inline: 1.25rem;
        scroll-snap-type: x proximity;
        -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 2rem), transparent 100%);
        mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 2rem), transparent 100%);
    }

    .application-index .application-domain-tab {
        scroll-snap-align: start;
    }

    .application-index .application-domain-stage__copy a {
        margin-top: 1.5rem;
    }

    .about-story {
        --about-nav: 72px;
    }

    .about-story .about-hero {
        min-height: calc(100svh - var(--about-nav));
    }

    .about-story .about-hero__content {
        padding-bottom: clamp(3rem, 10vh, 4.5rem);
    }

    .about-story .about-timeline-card img {
        height: 13.5rem;
        min-height: 13.5rem;
    }

    .about-story .about-timeline-card__copy {
        min-height: 0;
        padding: 1.25rem;
    }

    .about-story .about-timeline-card time {
        font-size: 2.75rem;
    }

    .about-story .about-timeline-card h4 {
        margin-top: 1rem;
    }

    .about-story .about-timeline-card p {
        margin-top: .75rem;
    }

    .about-story .about-honor-wall {
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: .875rem;
        margin-right: -1rem;
        padding: 0 1rem 1rem 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-padding-inline: 1rem;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
    }

    .about-story .about-honor-card {
        flex: 0 0 min(82vw, 19.5rem);
        max-width: min(82vw, 19.5rem);
        scroll-snap-align: start;
    }

    .about-story .about-honor-card__copy {
        padding: 1rem 1.125rem 1.25rem;
    }

    .about-story .about-honor-card__copy p {
        font-size: .9rem;
        line-height: 1.65;
    }

}

.legal-page {
    min-height: 100vh;
    padding: 8.5rem 0 6rem;
    color: #000;
    background: #fff;
    font-family: var(--site-font);
}

.legal-page__inner {
    width: min(100% - 3rem, 56rem);
    margin: 0 auto;
}

.legal-page__header {
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.legal-page__header h1 {
    margin: 0;
    color: #000;
    font-family: var(--site-heading-font);
    font-size: clamp(2.25rem, 4vw, 3.25rem);
    font-weight: 500;
    line-height: 1.12;
}

.legal-page__updated {
    margin: 1rem 0 0;
    color: #000;
    font-size: .875rem;
}

.legal-page__content {
    color: #000;
    font-size: 1rem;
    line-height: 1.85;
}

.legal-page__content h2 {
    margin: 2.75rem 0 .875rem;
    color: #000;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.4;
}

.legal-page__content p,
.legal-page__content ul {
    margin: .875rem 0 0;
}

.legal-page__content ul {
    padding-left: 1.25rem;
}

.legal-page__content li + li {
    margin-top: .5rem;
}

.legal-page__content a {
    color: #000;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: .2em;
}

@media (prefers-reduced-motion: reduce) {
    .home-v2 .home-v2-axis-tabs,
    .application-index .application-domain-tabs,
    .about-story .about-honor-wall,
    .cqm-detail .cqm-application-carousel,
    .cqm-detail .cqm-spec-model-strip,
    .cqm-detail .cqm-spec-tile-grid {
        scroll-behavior: auto;
    }
}

@media (max-width: 760px) {
    .legal-page {
        padding: 6.5rem 0 4.5rem;
    }

    .legal-page__inner {
        width: min(100% - 2rem, 56rem);
    }

    .legal-page__header {
        padding-bottom: 1.5rem;
    }

    .legal-page__header h1 {
        font-size: 2rem;
    }

    .legal-page__content {
        font-size: .98rem;
        line-height: 1.78;
    }

    .legal-page__content h2 {
        margin-top: 2rem;
        font-size: 1.2rem;
    }
}
