/* 全站视觉排版优化：只调整展示层，不改变 SEO/GEO 文本与结构化数据 */
:root {
    --ui-ink: #17271f;
    --ui-muted: #627169;
    --ui-line: rgba(28, 66, 46, 0.10);
    --ui-soft: #f6f8f2;
    --ui-card: #ffffff;
    --ui-green: #1f4b36;
    --ui-green-2: #5f8d4e;
    --ui-gold: #c79a43;
    --ui-shadow: 0 18px 46px rgba(20, 45, 32, 0.08);
    --ui-shadow-hover: 0 24px 58px rgba(20, 45, 32, 0.13);
}

html {
    scroll-padding-top: 92px;
}

body {
    color: var(--ui-ink);
    background:
        radial-gradient(circle at 12% 8%, rgba(95, 141, 78, 0.08), transparent 28%),
        linear-gradient(180deg, #fbfaf6 0%, #f5f7f0 100%);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3 {
    text-wrap: balance;
}

p,
li {
    text-wrap: pretty;
}

.container {
    max-width: 1200px;
}

.top-bar {
    background: linear-gradient(90deg, #183828, #2f603f) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.main-header {
    background: rgba(255, 255, 255, 0.94) !important;
    border-bottom: 1px solid rgba(29, 64, 44, 0.08) !important;
    box-shadow: 0 10px 30px rgba(20, 45, 32, 0.08) !important;
}

.main-header .container {
    height: 72px;
}

.logo a span {
    color: var(--ui-ink) !important;
    font-size: clamp(1.08rem, 1.8vw, 1.42rem) !important;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.main-nav ul {
    gap: 4px;
}

.main-nav a {
    padding: 10px 12px;
    border-radius: 999px;
    color: #23352c;
    font-weight: 600;
}

.main-nav a:hover,
.main-nav li.active > a {
    background: rgba(95, 141, 78, 0.12);
    color: var(--ui-green);
}

.main-nav li.active > a {
    border: 1px solid rgba(95, 141, 78, 0.35);
}

.page-header {
    min-height: 360px;
    padding: 155px 0 92px !important;
    display: flex;
    align-items: center;
}

.page-header h1 {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(2.05rem, 4vw, 3.25rem) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.03em;
}

.page-header p {
    max-width: 820px !important;
    line-height: 1.9 !important;
}

.section-header {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 42px;
}

.section-title {
    font-size: clamp(1.72rem, 3vw, 2.35rem) !important;
    line-height: 1.24 !important;
    letter-spacing: -0.025em;
    color: var(--ui-ink) !important;
}

.section-desc {
    max-width: 780px !important;
    color: var(--ui-muted) !important;
    line-height: 1.9 !important;
}

.section-subtitle,
.news-category-tag,
.product-tag,
.keyword-card span {
    letter-spacing: 0.08em;
}

.products-section,
.news-section,
.photo-showcase-section,
.rd-section,
.bases-section {
    background:
        radial-gradient(circle at 8% 4%, rgba(95, 141, 78, 0.08), transparent 26%),
        linear-gradient(180deg, #fbfaf6 0%, #f4f6ef 100%) !important;
}

.product-card,
.service-card,
.base-card,
.rd-card,
.news-card,
.news-item,
.keyword-card,
.audience-card,
.photo-showcase-card,
a.link-card,
.featured-news,
.sidebar-widget,
.faq-item,
.answer-banner,
.metric-card,
.boundary-card,
.contact-card,
.info-card,
.advantage-card {
    border: 1px solid var(--ui-line) !important;
    border-radius: 24px !important;
    box-shadow: var(--ui-shadow) !important;
}

.product-card:hover,
.service-card:hover,
.base-card:hover,
.rd-card:hover,
.news-card:hover,
.news-item:hover,
.keyword-card:hover,
.photo-showcase-card:hover,
a.link-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--ui-shadow-hover) !important;
}

.product-content,
.service-card-content,
.base-card-content,
.news-card .news-content,
.news-item-content {
    padding: 26px !important;
}

.product-content h3,
.service-card-content h3,
.base-card-content h3,
.news-card .news-content h3,
.news-item-content h3,
.keyword-card h3 {
    color: var(--ui-ink) !important;
    line-height: 1.45 !important;
}

.product-content p,
.service-card-content p,
.base-card-content p,
.news-card .news-content p,
.news-item-content p,
.keyword-card p,
.audience-card span {
    color: var(--ui-muted) !important;
    line-height: 1.82 !important;
}

.btn,
.btn-primary,
.btn-secondary,
.btn-white,
.btn-outline,
.btn-outline-dark,
.btn-outline-white,
.source-link,
a.link-card::after,
.keyword-card::after {
    min-height: 44px;
    border-radius: 999px !important;
    font-weight: 700 !important;
}

.btn-primary,
.btn-white {
    box-shadow: 0 14px 32px rgba(31, 75, 54, 0.16) !important;
}

.btn-outline,
.btn-outline-dark,
.btn-outline-white {
    border-width: 1px !important;
}

a.link-card::after,
.keyword-card::after {
    background: rgba(95, 141, 78, 0.10) !important;
    border: 1px solid rgba(95, 141, 78, 0.18) !important;
    color: var(--ui-green) !important;
}

.stats-section {
    padding: 42px 0 !important;
    background: rgba(255, 255, 255, 0.92) !important;
}

.stats-grid {
    gap: 20px !important;
}

.stat-item {
    background: #fff;
    border: 1px solid var(--ui-line);
    box-shadow: 0 12px 30px rgba(20, 45, 32, 0.06);
}

.stat-number {
    letter-spacing: -0.04em;
}

.photo-showcase-card img,
.news-thumb img,
.news-card img,
.product-image img,
.featured-image img {
    background: #edf3e8;
}

.floating-qrcode {
    right: 14px !important;
    width: 112px !important;
    padding: 12px !important;
    opacity: 0.92;
    box-shadow: 0 14px 38px rgba(20, 45, 32, 0.14) !important;
}

.floating-actions a,
.floating-actions button {
    box-shadow: 0 14px 32px rgba(20, 45, 32, 0.22) !important;
}

.main-footer {
    margin-top: 0;
}

a:focus-visible,
button:focus-visible {
    outline: 3px solid rgba(199, 154, 67, 0.55);
    outline-offset: 3px;
}

@media (min-width: 992px) {
    .products-grid,
    .news-grid,
    .bases-timeline,
    .rd-cards,
    .photo-gallery-grid,
    .service-grid,
    .bases-grid {
        gap: 24px !important;
    }
}

@media (max-width: 992px) {
    .main-header .container {
        height: 64px;
    }

    .main-nav {
        background: rgba(255, 255, 255, 0.98) !important;
        border-top: 1px solid rgba(31, 75, 54, 0.08);
    }

    .main-nav a {
        border-radius: 14px;
        padding: 13px 14px;
    }
}

@media (max-width: 1540px) {
    .floating-qrcode {
        display: none !important;
    }
}

@media (max-width: 768px) {
    html {
        scroll-padding-top: 72px;
    }

    .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .logo a span {
        max-width: calc(100vw - 96px);
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .page-header {
        min-height: 300px;
        padding: 112px 0 72px !important;
    }

    .page-header h1 {
        font-size: clamp(1.72rem, 8vw, 2.2rem) !important;
        line-height: 1.18 !important;
    }

    .page-header p {
        font-size: 0.92rem !important;
        line-height: 1.72 !important;
    }

    .section-header,
    .photo-showcase-header {
        margin-bottom: 26px !important;
    }

    .section-title {
        font-size: clamp(1.45rem, 6vw, 1.78rem) !important;
    }

    .section-desc {
        font-size: 0.92rem !important;
        line-height: 1.78 !important;
    }

    .products-section,
    .news-section,
    .photo-showcase-section,
    .rd-section,
    .bases-section,
    section[style*="padding: 100px"],
    section[style*="padding: 90px"],
    section[style*="padding: 80px"] {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .product-content,
    .service-card-content,
    .base-card-content,
    .news-card .news-content,
    .news-item-content,
    .keyword-card,
    .audience-card,
    .rd-card {
        padding: 18px !important;
    }

    .product-card,
    .service-card,
    .base-card,
    .rd-card,
    .news-card,
    .news-item,
    .keyword-card,
    .audience-card,
    .photo-showcase-card,
    a.link-card {
        border-radius: 18px !important;
    }

    .btn,
    .btn-primary,
    .btn-secondary,
    .btn-white,
    .btn-outline,
    .btn-outline-dark,
    .btn-outline-white {
        min-height: 44px;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .stat-item {
        padding: 18px 10px !important;
    }

    .stat-number {
        font-size: 1.58rem !important;
    }
}

@media (max-width: 480px) {
    .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .section-title {
        font-size: 1.42rem !important;
    }
}

/* 蕲艾工厂页关键数据区：保证深浅背景下文字都清晰可读 */
.core-stats {
    background: linear-gradient(135deg, #173b29 0%, #35643d 100%) !important;
    color: #fff !important;
}

.core-stats .stats-header h2,
.core-stats .stats-header p {
    color: #fff !important;
}

.core-stats .stat-item {
    background: rgba(255, 255, 255, 0.97) !important;
    border: 1px solid rgba(255, 255, 255, 0.82) !important;
    box-shadow: 0 18px 42px rgba(12, 31, 21, 0.18) !important;
}

.core-stats .stat-icon {
    background: rgba(212, 175, 55, 0.16) !important;
    color: #d4af37 !important;
}

.core-stats .stat-number {
    color: #d4af37 !important;
}

.core-stats .stat-prefix,
.core-stats .stat-unit,
.core-stats .stat-label {
    color: #1f4b36 !important;
}

.rd-section {
    background: linear-gradient(135deg, #183828 0%, #2f603f 100%) !important;
    color: #fff !important;
}

.rd-section .section-title h2 {
    color: #fff !important;
}

.rd-section .rd-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.rd-section .rd-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-content: start !important;
    min-height: 176px;
    padding: 28px !important;
    background: rgba(255, 255, 255, 0.97) !important;
    border: 1px solid rgba(255, 255, 255, 0.82) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 42px rgba(12, 31, 21, 0.18) !important;
}

.rd-section .rd-metric {
    color: #d4af37 !important;
    font-size: clamp(2rem, 3vw, 2.5rem) !important;
}

.rd-section .rd-name {
    color: #1f4b36 !important;
    font-size: 1.05rem !important;
}

.rd-section .rd-desc {
    color: #5b6b61 !important;
    line-height: 1.75 !important;
}

@media (max-width: 900px) {
    .rd-section .rd-list {
        grid-template-columns: 1fr !important;
    }

    .rd-section .rd-row {
        min-height: auto;
    }
}
