.page-spacing-compact :is(.listing-section, .about-introduction, .about-section, .contact-page, .detail-content) {
    padding-block: clamp(20px, 4vw, 36px);
}

.page-spacing-wide :is(.listing-section, .about-introduction, .about-section, .contact-page, .detail-content) {
    padding-block: clamp(38px, 6vw, 76px);
}

.page-about-layout-stack .about-introduction .company-grid,
.page-contact-layout-stack .contact-page .grid-2,
.page-contact-fields-one .contact-page .field-grid,
.page-product-gallery-stack .product-overview,
.page-detail-layout-stack .detail-layout,
.page-detail-layout-main .detail-layout {
    grid-template-columns: minmax(0, 1fr);
}

.page-reading-width-readable:not(.page-detail-layout-main, .page-detail-layout-stack) .detail-article {
    max-width: 900px;
    width: 100%;
    margin-inline: auto;
}

.page-reading-width-full .detail-article {
    max-width: none;
}

.page-about-layout-stack .about-introduction .company-grid,
.page-product-gallery-stack .product-overview,
.page-reading-width-readable:is(.page-detail-layout-stack, .page-detail-layout-main) .detail-layout {
    max-width: 900px;
    margin-inline: auto;
}

.page-contact-layout-stack .contact-page .grid-2 {
    max-width: 900px;
    margin-inline: auto;
}

.page-contact-layout-stack .contact-page .contact-scene {
    max-width: 520px;
    align-self: center;
}

.page-product-gallery-stack .product-gallery {
    max-width: 630px;
    width: 100%;
    justify-self: center;
}

.page-list-layout-grid .site-section.listing-section .content-grid {
    grid-template-columns: repeat(var(--listing-columns, 3), minmax(0, 1fr));
    gap: 20px;
}

.page-list-layout-grid .site-section.listing-section .article-feed {
    padding: 0;
    border: 0;
    background: transparent;
}

.page-list-layout-grid .listing-section .content-grid .content-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.page-list-layout-grid .listing-section .content-grid .card-media {
    max-width: none;
}

.page-list-layout-grid .listing-section .content-grid .card-media img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.page-list-image-square,
.page-product-image-square {
    --selected-image-ratio: 1;
}

.page-list-image-classic,
.page-product-image-classic {
    --selected-image-ratio: 4 / 3;
}

.page-list-image-wide,
.page-product-image-wide {
    --selected-image-ratio: 16 / 9;
}

main:is(.page-list-image-square, .page-list-image-classic, .page-list-image-wide)
    .listing-section .content-grid .content-card .card-media {
    height: auto;
    aspect-ratio: var(--selected-image-ratio);
}

main:is(.page-list-image-square, .page-list-image-classic, .page-list-image-wide)
    .listing-section .content-grid .content-card .card-media img {
    width: 100%;
    height: 100%;
    aspect-ratio: var(--selected-image-ratio);
    object-fit: cover;
}

main:is(.page-product-image-square, .page-product-image-classic, .page-product-image-wide)
    .product-gallery .product-main {
    height: auto;
    max-height: none;
    aspect-ratio: var(--selected-image-ratio);
}

main:is(.page-product-image-square, .page-product-image-classic, .page-product-image-wide)
    .product-gallery .product-main #product-main-image {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: contain;
}

.page-list-layout-grid .listing-section .empty-site {
    grid-column: 1 / -1;
}

.design-cloud .content-card.card-text-only {
    grid-template-columns: minmax(0, 1fr);
}

.design-precision .about-introduction,
.design-precision .about-section {
    padding-block: clamp(28px, 4vw, 44px);
}

@media (min-width: 721px) {
    .design-precision .listing-section .content-grid > .content-card:only-child {
        grid-column: 1 / -1;
        max-width: 960px;
    }

    .design-precision .listing-section .content-grid > .content-card:only-child:not(.card-text-only) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
        align-items: center;
    }

    .design-precision .listing-section .content-card:only-child .card-media {
        width: 100%;
    }
}

@media (min-width: 621px) and (max-width: 900px) {
    .design-precision .contact-information:has(.contact-scene) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: 16px 24px;
    }

    .design-precision .contact-information:has(.contact-scene) > :not(.contact-details, .contact-scene) {
        grid-column: 1 / -1;
    }

    .design-precision .contact-information .contact-details {
        grid-template-columns: minmax(0, 1fr) 96px;
        gap: 12px;
    }

    .design-precision .contact-information .contact-qr,
    .design-precision .contact-information .contact-qr img {
        width: 96px;
    }

    .design-precision .contact-information .contact-scene {
        max-height: 200px;
        margin-top: 0;
    }
}

@media (min-width: 1021px) {
    .page-list-desktop-two { --listing-columns: 2; }
    .page-list-desktop-three { --listing-columns: 3; }
    .page-list-desktop-four { --listing-columns: 4; }
}

@media (min-width: 1021px) {
    [dir="rtl"] .design-precision .language-menu .language-options {
        right: 0;
        left: auto;
    }
}

@media (min-width: 421px) and (max-width: 1020px) {
    [dir="rtl"] .design-precision .language-menu .language-options {
        position: fixed;
        top: 78px;
        right: auto;
        left: 12px;
    }
}

@media (min-width: 721px) and (max-width: 1020px) {
    .page-list-layout-grid { --listing-columns: 2; }
}

@media (max-width: 720px) {
    .page-list-layout-grid { --listing-columns: 1; }
    .page-list-layout-grid.page-list-mobile-two { --listing-columns: 2; }
    .page-list-layout-grid .listing-section .content-grid { gap: 12px; }
    .page-list-layout-grid.page-list-mobile-two .card-copy { padding: 12px; overflow-wrap: anywhere; }
    .page-list-layout-grid.page-list-mobile-two .card-parameters > div { grid-template-columns: 1fr; gap: 4px; }
}

@media (max-width: 1020px) {
    .site-header .header-main > .site-logo {
        flex: 0 1 auto;
        min-width: 0;
    }

    .site-header .header-main > .site-logo > span:last-child {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .site-header .header-main .language-menu > summary > span {
        max-width: min(22vw, 8em);
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

@media (max-width: 560px) {
    .design-precision .header-main {
        min-height: 70px;
        gap: 10px;
    }

    .site-header .header-main .logo-symbol {
        flex: none;
    }

    .design-precision .header-main .site-logo strong {
        font-size: 17px;
    }

    .hero-copy h1,
    .section-title h2 {
        text-wrap: balance;
    }
}

@media (max-width: 360px) {
    .site-header .header-main {
        width: calc(100% - 24px);
        gap: 7px;
    }

    .site-header .header-main > .site-logo {
        gap: 7px;
    }

    .site-header .header-main .site-logo strong {
        font-size: 16px;
    }

    .site-header .header-main .site-logo small {
        display: none;
    }
}
.site-font-system {
    font-family: system-ui, "Microsoft YaHei", "PingFang SC", sans-serif;
}

.site-font-songti {
    font-family: "Songti SC", SimSun, "Noto Serif CJK SC", serif;
}

.site-leading-compact { --site-body-leading: 1.6; }
.site-leading-regular { --site-body-leading: 1.8; }
.site-leading-relaxed { --site-body-leading: 2; }

body:is(.site-leading-compact, .site-leading-regular, .site-leading-relaxed) #main-content
    :is(p:not(.eyebrow), li, dd, td, th) {
    line-height: var(--site-body-leading);
}

