:root {
    --content-font-family: Inter, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
}

@media (min-width: 768px) {
    header nav a,
    header nav .nav-dropdown a {
        font-size: 16px !important;
    }
}

/* Keep navigation, the first section and footer unchanged. */
main > section:first-of-type ~ *,
main > section:first-of-type ~ * :not(.material-symbols-outlined) {
    font-family: var(--content-font-family) !important;
}

main > section:first-of-type ~ * .material-symbols-outlined {
    font-family: "Material Symbols Outlined" !important;
}

.sentieon-unified-body-copy,
.sentieon-unified-body-copy *:not(.material-symbols-outlined):not(a) {
    font-family: var(--content-font-family) !important;
    font-size: 17px !important;
    line-height: 1.625 !important;
    font-weight: 400 !important;
    color: #3d494d !important;
    letter-spacing: 0.36px !important;
}

.sentieon-solution-copy-16,
.sentieon-solution-copy-16 *:not(.material-symbols-outlined):not(a) {
    font-size: 16px !important;
}

.compat-group-note,
.compat-case-content p {
    font-size: 17px !important;
    letter-spacing: 0.36px !important;
    line-height: 1.625 !important;
    font-weight: 400 !important;
    color: #3d494d !important;
}

.nice-dcv-unified-copy,
.nice-dcv-unified-copy p {
    font-size: 17px !important;
    letter-spacing: 0.36px !important;
    line-height: 1.625 !important;
    font-weight: 400 !important;
    color: #3d494d !important;
}

.nice-dcv-unified-copy-16 p,
.nice-dcv-unified-copy-16 li,
.nice-dcv-unified-copy-16 .comparison-capability {
    font-family: Inter, "Microsoft YaHei", sans-serif !important;
    font-size: 16px !important;
    letter-spacing: 0.36px !important;
    line-height: 1.625 !important;
    font-weight: 400 !important;
    color: #3d494d !important;
}

.enginframe-unified-copy,
.enginframe-unified-copy p {
    font-family: Inter, "Microsoft YaHei", sans-serif !important;
    font-size: 17px !important;
    letter-spacing: 0.36px !important;
    line-height: 1.625 !important;
    font-weight: 400 !important;
    color: #3d494d !important;
}

.skyform-unified-copy,
.skyform-unified-copy p {
    font-family: Inter, "Microsoft YaHei", sans-serif !important;
    font-size: 17px !important;
    letter-spacing: 0.36px !important;
    line-height: 1.625 !important;
    font-weight: 400 !important;
    color: #3d494d !important;
}

.hgmd-unified-copy,
.hgmd-unified-copy p {
    font-family: Inter, "Microsoft YaHei", sans-serif !important;
    font-size: 17px !important;
    letter-spacing: 0.36px !important;
    line-height: 1.625 !important;
    font-weight: 400 !important;
    color: #3d494d !important;
}

/* Mobile-only layout polish. Desktop rules remain untouched. */
.mobile-site-menu {
    display: none;
}

.site-mobile-nav-replaced {
    display: none !important;
}

/* Content-only font unification. Excludes navigation, first hero section, footer, icons, and logo images. */
body > main > section:first-of-type ~ section,
body > main > section:first-of-type ~ section *:not(.material-symbols-outlined),
body > main > section:first-of-type ~ div,
body > main > section:first-of-type ~ div *:not(.material-symbols-outlined),
body > main > div,
body > main > div *:not(.material-symbols-outlined) {
    font-family: var(--content-font-family) !important;
}

.material-symbols-outlined {
    font-family: "Material Symbols Outlined" !important;
}

@media (max-width: 767px) {
    html,
    body {
        max-width: 100%;
        overflow-x: clip;
    }

    body,
    main,
    main section {
        min-width: 0;
    }

    img,
    video,
    iframe,
    canvas {
        max-width: 100%;
    }

    header {
        height: 64px !important;
    }

    header nav {
        height: 64px !important;
        min-height: 64px;
        padding-left: 20px !important;
        padding-right: 20px !important;
        position: relative;
    }

    header nav img {
        max-height: 38px;
        max-width: 160px;
        object-fit: contain;
    }

    .mobile-site-menu {
        display: block;
        margin-left: auto;
    }

    .mobile-site-menu summary {
        align-items: center;
        background: #ffffff;
        border: 1px solid rgba(17, 40, 91, 0.16);
        border-radius: 10px;
        color: #11285b;
        cursor: pointer;
        display: flex;
        font-size: 14px;
        font-weight: 700;
        gap: 6px;
        list-style: none;
        min-height: 40px;
        padding: 8px 12px;
    }

    .mobile-site-menu summary::-webkit-details-marker {
        display: none;
    }

    .mobile-site-menu[open] summary {
        background: #eef8fb;
        border-color: rgba(35, 191, 209, 0.55);
    }

    .mobile-site-menu__panel {
        background: rgba(255, 255, 255, 0.98);
        border: 1px solid rgba(17, 40, 91, 0.12);
        border-radius: 14px;
        box-shadow: 0 18px 50px rgba(17, 40, 91, 0.18);
        display: grid;
        gap: 2px;
        max-height: calc(100vh - 88px);
        overflow-y: auto;
        padding: 10px;
        position: absolute;
        right: 20px;
        top: 58px;
        width: min(290px, calc(100vw - 40px));
        z-index: 90;
    }

    .mobile-site-menu__panel a {
        border-radius: 8px;
        color: #26354d;
        font-size: 15px;
        font-weight: 650;
        line-height: 1.35;
        padding: 11px 12px;
        text-decoration: none;
    }

    .mobile-site-menu__panel a:active,
    .mobile-site-menu__panel a:focus-visible,
    .mobile-site-menu__panel a[aria-current="page"] {
        background: #e8f7fa;
        color: #00677d;
        outline: none;
    }

    nav:has(.mobile-site-menu) > .md\:hidden {
        display: none !important;
    }

    aside[class*="fixed"][class*="right-"] {
        display: none !important;
    }

    main section:first-of-type h1:not(.product-news-logo-frame),
    .slider-container h1,
    .slider-container h2 {
        font-size: clamp(2.25rem, 10.5vw, 3rem) !important;
        line-height: 1.16 !important;
        overflow-wrap: anywhere;
    }

    .slider-container h1,
    .slider-container h2 {
        margin-bottom: 24px !important;
    }

    .slider-container [class*="mb-8"] {
        margin-bottom: 18px !important;
    }

    .sentieon-hero {
        min-height: auto !important;
        padding-bottom: 64px !important;
        padding-top: 56px !important;
    }

    .sentieon-hero h1 {
        height: 76px !important;
        margin-bottom: 28px !important;
    }

    .sentieon-hero-copy,
    .sentieon-hero-copy span {
        font-size: 16px !important;
        line-height: 1.75 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere;
        white-space: normal !important;
    }

    .sentieon-hero-copy {
        margin-bottom: 32px !important;
    }

    .sentieon-hero a,
    .hero a,
    .skyform-hero a {
        justify-content: center;
        max-width: 100%;
        text-align: center;
    }

    .hero,
    .skyform-hero {
        min-height: auto !important;
        padding: 56px 20px !important;
    }

    .hero > *,
    .skyform-hero > * {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        transform: none !important;
    }

    main section[class*="py-24"] {
        padding-bottom: 64px !important;
        padding-top: 64px !important;
    }

    table {
        font-size: 13px;
        max-width: 100%;
    }

    th,
    td {
        overflow-wrap: anywhere;
    }
}
