/*
Theme Name: KMYeast
Theme URI: https://kmyeast.com
Author: KMYeast Team
Author URI: https://kmyeast.com
Description: 克鲁维酵母科技企业官网主题 V2 — 黄绿+深蓝专业B2B风格，全站统一V2设计语言，支持首页/关于我们/科研实力/联系我们/页脚全后台自定义编辑、滚动动画等。
Version: 2.2.2
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GPL v2 or later
Text Domain: kmyeast
*/

/* ═══════════════════════════════════════
   DESIGN TOKENS (CSS Variables) — V2 风格
   ═══════════════════════════════════════ */
:root {
    /* ── V2 主色：黄绿色系 ── */
    --g-100: #f7fce8;   /* 极淡黄绿 */
    --g-200: #e8f5c0;   /* 淡黄绿 */
    --g-300: #cfec82;   /* 柔黄绿 */
    --g-400: #b4dd3a;   /* 主黄绿 */
    --g-500: #96c81a;   /* 深黄绿 */
    --g-600: #72a010;   /* 草绿 */

    /* ── V2 强调：橙黄色系 ── */
    --a-400: #f0a830;   /* 橙黄 */
    --a-500: #d9901a;   /* 深橙 */
    --a-pale: #fff8e8;

    /* ── V2 深蓝（文字/背景）── */
    --b-900: #0d1f3c;   /* 最深蓝 */
    --b-800: #1a365d;   /* Logo深蓝 */
    --b-700: #234876;   /* 中深蓝 */
    --b-600: #2c5282;   /* 中蓝 */
    --b-400: #4a6fa5;   /* 浅蓝 */

    /* ── V2 中性色 ── */
    --n-900: #0f172a;
    --n-700: #334155;
    --n-500: #64748b;
    --n-300: #cbd5e1;
    --n-100: #f8fafc;
    --white:  #ffffff;

    /* ── V2 阴影 ── */
    --s-sm:  0 2px 8px rgba(0,0,0,.06);
    --s-md:  0 8px 32px rgba(0,0,0,.09);
    --s-lg:  0 20px 60px rgba(0,0,0,.12);
    --s-green: 0 8px 32px rgba(150,200,26,.25);
    --s-amber: 0 6px 24px rgba(240,168,48,.30);

    /* ── V2 圆角 ── */
    --r-sm: 8px;
    --r-md: 16px;
    --r-lg: 24px;
    --r-xl: 40px;
    --r-full: 999px;

    --ease: cubic-bezier(.16,1,.3,1);

    /* ── 兼容别名（V1 深蓝金色 → V2 映射）── */
    /* 原深蓝金色系保留用于兼容性 */
    --c-navy:       var(--b-800);
    --c-navy-mid:   var(--b-600);
    --c-navy-light: var(--b-400);
    --c-gold:       var(--g-500);
    --c-gold-light: var(--g-300);
    --c-gold-pale:  var(--g-100);

    /* 绿色系兼容别名 */
    --c-forest:     var(--b-900);
    --c-green:      var(--g-500);
    --c-mid:        var(--g-400);
    --c-light:      var(--g-200);
    --c-pale:       var(--g-100);

    /* 中性色 */
    --c-ink:        var(--n-900);
    --c-body:       var(--n-700);
    --c-muted:      var(--n-500);
    --c-surface:    var(--n-100);
    --c-border:     var(--n-300);
    --c-white:      var(--white);

    /* 圆角（保留） */
    --radius-sm:    var(--r-sm);
    --radius-md:    var(--r-md);
    --radius-lg:    var(--r-lg);
    --radius-xl:    var(--r-xl);

    /* 阴影（V2 新版） */
    --shadow-xs:    0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
    --shadow-sm:    var(--s-sm);
    --shadow-md:    var(--s-md);
    --shadow-lg:    var(--s-lg);
    --shadow-glow:  0 0 0 1px rgba(150,200,26,.2), 0 8px 32px rgba(150,200,26,.15);

    /* 动画曲线 */
    --ease-out:     var(--ease);
    --ease-spring:  cubic-bezier(.34,1.56,.64,1);
}

/* ═══════════════════════════════════════
   RESET & BASE
   ═══════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Noto Sans SC', 'Inter', -apple-system, sans-serif;
    color: var(--c-body);
    background: var(--c-white);
    line-height: 1.7;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }

/* ═══════════════════════════════════════
   SCROLL REVEAL ANIMATIONS
   ═══════════════════════════════════════ */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .8s var(--ease-out), transform .8s var(--ease-out);
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }
.reveal-delay-4 { transition-delay: .4s; }
.reveal-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity .8s var(--ease-out), transform .8s var(--ease-out);
}
.reveal-left.visible { opacity: 1; transform: translateX(0); }
.reveal-right {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity .8s var(--ease-out), transform .8s var(--ease-out);
}
.reveal-right.visible { opacity: 1; transform: translateX(0); }

/* ═══════════════════════════════════════
   TYPOGRAPHY
   ═══════════════════════════════════════ */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Noto Serif SC', serif;
    color: var(--c-ink);
    line-height: 1.3;
    font-weight: 700;
}
.section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--g-600);
    margin-bottom: 18px;
}
.section-label::before {
    content: '';
    width: 18px;
    height: 2px;
    background: var(--g-500);
    border-radius: 2px;
}
.section-label-white { color: rgba(255,255,255,.6); }
.section-label-white::before { background: rgba(255,255,255,.4); }
.section-label-amber { color: var(--a-500); }
.section-label-amber::before { background: var(--a-400); }
.section-title {
    font-family: 'Noto Serif SC', serif;
    font-size: clamp(26px, 3.2vw, 42px);
    font-weight: 700;
    line-height: 1.2;
    color: var(--b-900);
    letter-spacing: -.02em;
    margin-bottom: 20px;
}
.section-desc {
    font-size: 17px;
    color: var(--n-500);
    max-width: 640px;
    line-height: 1.7;
}

/* ── Eyebrow（与 section-label 同义，V2 HTML 用）── */
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--g-600);
    margin-bottom: 18px;
}
.eyebrow::before {
    content: '';
    width: 18px;
    height: 2px;
    background: var(--g-500);
    border-radius: 2px;
}
.eyebrow-white { color: rgba(255,255,255,.6); }
.eyebrow-white::before { background: rgba(255,255,255,.4); }
.eyebrow-amber { color: var(--a-500); }
.eyebrow-amber::before { background: var(--a-400); }

/* ═══════════════════════════════════════
   STATS BAR — V2 深蓝统计条
   ═══════════════════════════════════════ */
.stats-bar {
    background: var(--b-900);
    padding: 0;
}
.stats-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 48px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.stat-item {
    padding: 36px 24px;
    text-align: center;
}
.stats-bar .stat-item {
    border-right: 1px solid rgba(255,255,255,.07);
    border-left: none;
}
.stats-bar .stat-item:last-child { border-right: none; }
.stat-num {
    font-family: 'Inter', sans-serif;
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 900;
    color: var(--g-300);
    line-height: 1;
    margin-bottom: 6px;
}
.stat-num sup { font-size: .5em; vertical-align: super; color: var(--a-400); }
.stat-label { font-size: 13px; color: rgba(255,255,255,.45); letter-spacing: .04em; }

@media (max-width: 768px) {
    .stats-inner { grid-template-columns: 1fr 1fr; padding: 0 24px; }
    .stat-item { padding: 28px 16px; }
}
@media (max-width: 480px) {
    .stats-inner { grid-template-columns: 1fr; }
    .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.07); }
}

/* ═══════════════════════════════════════
   LAYOUT UTILITIES — V2
   ═══════════════════════════════════════ */
.container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 48px;
}
.section {
    padding: 112px 0;
}
.section.s-bg-surface { background: var(--n-100); }
.section.s-bg-dark { background: var(--b-900); }
.section.s-bg-green { background: linear-gradient(135deg, var(--g-100), var(--g-200)); }

/* 产品中心 — 上绿下白渐变 */
#productsSection {
    background: linear-gradient(180deg, var(--g-100) 0%, #f8fafc 100%);
    position: relative;
    overflow: hidden;
}
/* 右上角黄绿装饰圆 */
#productsSection::before {
    content: '';
    position: absolute;
    top: -80px;
    right: -80px;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(150,200,26,0.15) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

/* 段落头样式 */
.s-head-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 64px;
    flex-wrap: wrap;
}
.s-lead {
    font-size: 17px;
    color: var(--n-500);
    max-width: 600px;
    line-height: 1.75;
    margin-top: 16px;
}
.s-lead-white { color: rgba(255,255,255,.55); }
.s-title-white { color: #fff; }

.s-title {
    font-family: 'Noto Serif SC', serif;
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 900;
    color: var(--b-900);
    line-height: 1.2;
    letter-spacing: -.02em;
}

/* ═══════════════════════════════════════
   ABOUT 企业简介 — V2
═══════════════════════════════════════ */
.about-layout {
    display: grid;
    grid-template-columns: 5fr 3fr;
    gap: 48px;
    align-items: center;
}
.about-body {
    font-size: 16px;
    line-height: 1.95;
    color: var(--n-700);
    margin-bottom: 0;
}
.about-body p { margin-bottom: 18px; }
.about-body p:last-child { margin-bottom: 0; }
.about-body strong { color: var(--b-800); font-weight: 600; }
.about-feats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 32px;
}
.feat-card {
    background: var(--white);
    border: 1px solid var(--n-300);
    border-radius: var(--r-md);
    padding: 22px 20px;
    transition: all .3s var(--ease);
}
.feat-card:hover {
    border-color: var(--g-400);
    box-shadow: var(--s-sm);
    transform: translateY(-4px);
}
.feat-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--g-100);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}
.feat-icon svg { width: 20px; height: 20px; color: var(--g-600); }
.feat-title { font-size: 14px; font-weight: 700; color: var(--b-800); margin-bottom: 4px; }
.feat-desc { font-size: 12px; color: var(--n-500); line-height: 1.6; }

/* 右侧核心数据卡片 */
.about-highlight {
    background: linear-gradient(145deg, var(--b-800), var(--b-900));
    border-radius: var(--r-xl);
    padding: 44px 36px;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.about-highlight::before {
    content: '';
    position: absolute;
    top: -40px;
    right: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(255,255,255,.05);
    pointer-events: none;
}
.ah-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    color: var(--g-300);
    text-transform: uppercase;
    margin-bottom: 28px;
}
.ah-stat {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.ah-stat:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.ah-num {
    font-family: 'Inter', sans-serif;
    font-size: 48px;
    font-weight: 900;
    color: #fff;
    line-height: 1;
}
.ah-num span { font-size: 22px; font-weight: 700; color: var(--g-300); }
.ah-meta { font-size: 13px; color: rgba(255,255,255,.5); margin-top: 4px; }

/* 响应式布局 */
@media (max-width: 1100px) {
    .about-layout { 
        grid-template-columns: 1fr 1fr; 
        gap: 40px; 
    }
}
@media (max-width: 1024px) {
    .about-layout { 
        grid-template-columns: 1fr; 
        gap: 40px; 
    }
    .about-layout .about-highlight {
        max-width: 100%;
    }
}
@media (max-width: 768px) {
    .about-feats { grid-template-columns: 1fr; }
    .about-layout { gap: 32px; }
    .about-highlight { padding: 36px 28px; }
}
@media (max-width: 480px) {
    .about-highlight { padding: 28px 20px; }
    .ah-num { font-size: 36px; }
}

.mt-20 { margin-top: 20px; }
.mt-40 { margin-top: 40px; }
.mt-60 { margin-top: 60px; }

@media (max-width: 1024px) {
    .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); }
    .section { padding: 70px 0; }
}
@media (max-width: 768px) {
    .container { padding: 0 24px; }
    .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
    .section { padding: 50px 0; }
}

/* ═══════════════════════════════════════
   BUTTONS — V2 胶囊按钮
   ═══════════════════════════════════════ */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: var(--r-full);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all .25s var(--ease);
    cursor: pointer;
    border: none;
    white-space: nowrap;
    font-family: inherit;
}
.btn-primary {
    background: var(--b-800);
    color: #fff;
    box-shadow: 0 8px 28px rgba(26,54,93,.35);
}
.btn-primary:hover {
    background: var(--b-900);
    transform: translateY(-3px);
    box-shadow: 0 14px 36px rgba(26,54,93,.45);
}
.btn-outline {
    border: 2px solid rgba(13,31,60,.5);
    color: var(--b-800);
    background: rgba(255,255,255,.5);
    backdrop-filter: blur(8px);
}
.btn-outline:hover {
    background: var(--b-800);
    color: #fff;
    border-color: var(--b-800);
    transform: translateY(-2px);
}
.btn-outline-light { color: var(--b-800); border-color: rgba(26,54,93,.3); background: rgba(255,255,255,.6); }
.btn-outline-light:hover { background: var(--b-800); color: #fff; border-color: var(--b-800); }
.btn-gold {
    background: linear-gradient(135deg, var(--g-400), var(--g-500));
    color: var(--b-900);
    box-shadow: var(--s-green);
}
.btn-gold:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 40px rgba(150,200,26,.4);
}
.btn-white {
    background: #fff;
    color: var(--b-800);
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
}
.btn-white:hover {
    background: var(--g-100);
    color: var(--b-900);
    transform: translateY(-2px);
}
.btn-arrow { width: 16px; height: 16px; display: inline-block; flex-shrink: 0; }
.btn svg { width: 18px; height: 18px; flex-shrink: 0; }

/* CTA 按钮变体 */
.btn-cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--g-400), var(--g-500));
    color: var(--b-900);
    padding: 14px 32px;
    border-radius: var(--r-full);
    font-weight: 700;
    font-size: 15px;
    box-shadow: var(--s-green);
    transition: all .25s var(--ease);
}
.btn-cta-primary:hover { transform: translateY(-3px); box-shadow: 0 14px 40px rgba(150,200,26,.4); }
.btn-cta-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1.5px solid rgba(255,255,255,.25);
    color: rgba(255,255,255,.85);
    padding: 13px 28px;
    border-radius: var(--r-full);
    font-weight: 600;
    font-size: 15px;
    transition: all .25s var(--ease);
}
.btn-cta-ghost:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.5); transform: translateY(-2px); }

/* ═══════════════════════════════════════
   CARDS
   ═══════════════════════════════════════ */
.card {
    background: var(--c-surface);
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out);
}
.card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}
.card-body { padding: 28px; }
.card-icon {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    flex-shrink: 0;
}
.card-icon svg { width: 28px; height: 28px; }
.card-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--c-ink);
    margin-bottom: 10px;
}
.card-text { font-size: 15px; color: var(--c-muted); line-height: 1.7; }

/* ═══════════════════════════════════════
   CORE PRODUCT CARDS (三大核心产品) — V2
   ═══════════════════════════════════════ */
.core-product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.core-product-card {
    background: #fff;
    border-radius: var(--r-xl);
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(150,200,26,.15), 0 1px 4px rgba(0,0,0,.06);
    border: 1px solid rgba(150,200,26,.12);
    transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.core-product-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 60px rgba(150,200,26,.25), 0 8px 24px rgba(0,0,0,.08);
    border-color: rgba(150,200,26,.3);
}

/* 视觉区 — 增强凸出感 */
.core-product-visual {
    position: relative;
    height: 200px;
    overflow: hidden;
}
.core-product-visual-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(145deg, var(--g-100) 0%, var(--g-200) 60%, var(--g-300) 100%);
}
/* 右上角装饰圆 */
.core-product-visual::after {
    content: '';
    position: absolute;
    top: -30px;
    right: -30px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: rgba(255,255,255,.4);
    pointer-events: none;
}
/* 左下角装饰 */
.core-product-visual::before {
    content: '';
    position: absolute;
    bottom: -40px;
    left: -40px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: rgba(150,200,26,.12);
    pointer-events: none;
}
.core-product-visual-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.core-product-visual-icon svg {
    width: 80px;
    height: 80px;
    color: var(--g-600);
    opacity: .7;
    filter: drop-shadow(0 4px 12px rgba(150,200,26,.2));
}
.core-product-badge-row {
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    gap: 6px;
}
.core-product-badge {
    padding: 4px 12px;
    background: rgba(255,255,255,.85);
    border-radius: var(--r-full);
    font-size: 11px;
    font-weight: 700;
    color: var(--b-800);
    backdrop-filter: blur(4px);
}

/* 内容区 */
.core-product-body { padding: 24px 24px 20px; }
.core-product-cat {
    font-size: 11px;
    font-weight: 700;
    color: var(--g-600);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.core-product-cat-en {
    color: var(--n-500);
    font-weight: 500;
    letter-spacing: .06em;
    margin-left: 4px;
}
.core-product-name {
    font-family: 'Noto Serif SC', serif;
    font-size: 21px;
    font-weight: 700;
    color: var(--b-900);
    margin: 8px 0 10px;
    line-height: 1.35;
}
.core-product-desc {
    font-size: 14px;
    color: var(--n-500);
    line-height: 1.75;
    margin-bottom: 16px;
}

/* 标签组 */
.core-product-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 18px;
}
.core-product-tag {
    font-size: 12px;
    padding: 4px 12px;
    border-radius: var(--r-full);
    background: var(--g-100);
    color: var(--g-600);
    font-weight: 500;
    white-space: nowrap;
}

/* 了解详情链接 */
.core-product-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    color: var(--b-800);
    text-decoration: none;
    transition: gap .2s;
}
.core-product-link:hover { gap: 10px; }
.core-product-link svg {
    width: 14px;
    height: 14px;
    transition: transform .2s;
}
.core-product-link:hover svg { transform: translateX(4px); }

/* 响应式 */
@media (max-width: 900px) {
    .core-product-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (max-width: 600px) {
    .core-product-grid { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 600px) {
    .core-product-visual { height: 160px; }
    .core-product-body { padding: 22px 20px 18px; }
    .core-product-name { font-size: 19px; }
}

/* ═══════════════════════════════════════
   HERO BADGES — V2 浮动徽章
   ═══════════════════════════════════════ */
.hero-badge {
    position: absolute;
    background: #fff;
    border-radius: var(--r-md);
    padding: 14px 20px;
    box-shadow: var(--s-lg);
    display: flex;
    align-items: center;
    gap: 12px;
    animation: float 6s ease-in-out infinite;
    min-width: 160px;
}
.hero-badge-1 { top: 4%; right: -6%; animation-delay: 0s; }
.hero-badge-2 { bottom: 6%; left: -8%; animation-delay: -2.5s; }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.badge-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.badge-icon.green { background: var(--g-100); }
.badge-icon.green svg { width: 22px; height: 22px; color: var(--g-600); }
.badge-icon.amber { background: var(--a-pale); }
.badge-icon.amber svg { width: 22px; height: 22px; color: var(--a-500); }
.badge-title { font-size: 14px; font-weight: 700; color: var(--n-900); }
.badge-sub { font-size: 11px; color: var(--n-500); margin-top: 1px; }

/* 右侧图像区 */
.hero-right {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Hero 标签（chips） */
.hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 40px;
}
.chip {
    background: var(--b-900);
    color: #fff;
    padding: 7px 20px;
    border-radius: var(--r-full);
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 2px 10px rgba(13,31,60,.2);
}
.chip.amber {
    background: var(--a-400);
    color: #fff;
    box-shadow: 0 2px 10px rgba(240,168,48,.3);
}

/* Hero 大圆球 */
.hero-sphere {
    position: relative;
    width: clamp(320px, 38vw, 520px);
    aspect-ratio: 1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 40% 40%, rgba(255,255,255,.3) 0%, rgba(255,255,255,.1) 50%, transparent 70%);
    animation: heroSpherePulse 4s ease-in-out infinite;
}
@keyframes heroSpherePulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.02); }
}
.hero-sphere-inner {
    width: 90%;
    height: 90%;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, rgba(255,255,255,.25) 0%, rgba(255,255,255,.08) 50%, transparent 70%);
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero-photo-wrap {
    position: relative;
    width: clamp(320px, 38vw, 520px);
    aspect-ratio: 1;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(145deg, #d4ec60, #a8d020);
    box-shadow: 0 24px 80px rgba(13,31,60,.18), 0 0 0 8px rgba(255,255,255,.4);
}
.hero-photo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: multiply;
    filter: saturate(1.15) contrast(1.05);
}
.hero-photo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 40% 40%, #d6f060, #8ec010 60%, #5a8508 100%);
}

/* Hero 浮动卡片 */
.hero-badge-float {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(12px);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(13,31,60,.15);
    animation: heroBadgeFloat 3s ease-in-out infinite;
}
.hero-badge-float .badge-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.hero-badge-float .badge-icon svg { width: 18px; height: 18px; }
.hero-badge-float .badge-icon.green {
    background: linear-gradient(135deg, var(--g-300), var(--g-400));
    color: var(--b-900);
}
.hero-badge-float .badge-icon.amber {
    background: linear-gradient(135deg, var(--a-400), var(--a-500));
    color: #fff;
}
.hero-badge-float .badge-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--b-900);
    line-height: 1.2;
}
.hero-badge-float .badge-sub {
    font-size: 11px;
    color: var(--n-500);
    line-height: 1.3;
}
.hero-badge-1 { top: 5%; right: -5%; animation-delay: 0s; }
.hero-badge-2 { bottom: 8%; left: -8%; animation-delay: -1.5s; }
@keyframes heroBadgeFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* 胶囊按钮白色描边 */
.btn-outline-white {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: var(--r-full);
    font-size: 15px;
    font-weight: 600;
    color: var(--b-900);
    background: rgba(255,255,255,.4);
    border: 2px solid rgba(255,255,255,.6);
    backdrop-filter: blur(8px);
    transition: all .22s var(--ease);
    text-decoration: none;
}
.btn-outline-white:hover {
    background: rgba(255,255,255,.7);
    border-color: rgba(255,255,255,.9);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255,255,255,.3);
}
.btn-outline-white .btn-arrow { width: 16px; height: 16px; }

/* 圆角视觉区（产品卡片用） */
.core-product-visual {
    position: relative;
    height: 200px;
    overflow: hidden;
}
.core-product-visual-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--g-100), var(--g-200));
}
.core-product-visual-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.core-product-visual-icon svg {
    width: 80px;
    height: 80px;
    color: var(--g-600);
    opacity: .6;
}
.core-product-badge-row {
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    gap: 6px;
}
.core-product-badge {
    padding: 4px 12px;
    background: rgba(255,255,255,.85);
    border-radius: var(--r-full);
    font-size: 11px;
    font-weight: 700;
    color: var(--b-800);
    backdrop-filter: blur(4px);
}

@media (max-width: 1100px) {
    .hero-content-grid { grid-template-columns: 1fr !important; }
    .hero-right { display: none; }
}

/* ═══════════════════════════════════════
   ADVANTAGES GRID — V2 深蓝背景优势卡片
   ═══════════════════════════════════════ */
.adv-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.adv-card {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--r-lg);
    padding: 32px 24px;
    transition: all .3s var(--ease);
    position: relative;
    overflow: hidden;
}
.adv-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(150,200,26,.12) 0%, transparent 60%);
    opacity: 0;
    transition: opacity .3s;
}
.adv-card:hover {
    border-color: rgba(150,200,26,.35);
    transform: translateY(-6px);
    background: rgba(255,255,255,.08);
}
.adv-card:hover::before { opacity: 1; }
.adv-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(150,200,26,.2), rgba(150,200,26,.08));
    border: 1px solid rgba(150,200,26,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.adv-icon svg { width: 24px; height: 24px; color: var(--g-300); }
.adv-title { font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 10px; }
.adv-desc { font-size: 13px; color: rgba(255,255,255,.45); line-height: 1.7; }

.adv-card.featured {
    grid-column: span 2;
    background: linear-gradient(135deg, rgba(150,200,26,.15), rgba(150,200,26,.05));
    border-color: rgba(150,200,26,.25);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 24px;
    align-items: center;
}
.adv-card.featured .adv-icon { width: 72px; height: 72px; border-radius: 20px; }
.adv-card.featured .adv-icon svg { width: 32px; height: 32px; }

@media (max-width: 1100px) { .adv-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .adv-grid { grid-template-columns: 1fr; } .adv-card.featured { grid-column: span 1; grid-template-columns: auto 1fr; } }

/* ═══════════════════════════════════════
   CTA SECTION — V2
   ═══════════════════════════════════════ */
.cta-section {
    background: linear-gradient(135deg, var(--b-900) 0%, var(--b-800) 100%);
    position: relative;
    overflow: hidden;
    padding: 80px 0;
}
/* 首页专属：防止被其他页面的 .cta-section 覆盖 */
.cta-section.cta-section--home {
    background: linear-gradient(135deg, var(--b-900) 0%, var(--b-800) 100%) !important;
    padding: 80px 0 !important;
    overflow: hidden;
}
/* 首页 cta-inner：覆盖 About 页污染的 text-align/padding/border-radius */
.cta-section--home .cta-inner {
    background: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}
.cta-section--home .cta-inner::before,
.cta-section--home .cta-inner::after {
    display: none !important;
}
/* 首页按钮：确保 white-space nowrap，不换行 */
.cta-section--home .btn-cta-primary,
.cta-section--home .btn-cta-ghost {
    white-space: nowrap;
    min-width: max-content;
}
.cta-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 55% 100% at 80% 50%, rgba(150,200,26,.15) 0%, transparent 60%),
        radial-gradient(ellipse 35% 80% at 10% 50%, rgba(150,200,26,.08) 0%, transparent 50%);
}
.cta-wm {
    position: absolute;
    right: -2%;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'Inter', sans-serif;
    font-size: clamp(80px, 14vw, 180px);
    font-weight: 900;
    color: rgba(255,255,255,.04);
    pointer-events: none;
    user-select: none;
}
.cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    flex-wrap: wrap;
}
.cta-title { font-family: 'Noto Serif SC', serif; font-size: clamp(22px, 3vw, 36px); font-weight: 700; color: #fff; margin-bottom: 12px; }
.cta-desc { font-family: 'Noto Serif SC', serif; font-size: 16px; color: rgba(255,255,255,.55); max-width: 480px; line-height: 1.75; }
.cta-actions { display: flex; gap: 14px; flex-shrink: 0; flex-wrap: wrap; }

@media (max-width: 900px) { .cta-inner { flex-direction: column; } .cta-actions { width: 100%; } }

/* ═══════════════════════════════════════
   NAVBAR — V2 胶囊按钮风格
   ═══════════════════════════════════════ */
.navbar {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 900;
    transition: background .35s, box-shadow .35s, padding .3s;
    padding: 0;
    background: transparent;
}
.navbar.scrolled {
    background: rgba(255,255,255,.97);
    box-shadow: 0 1px 0 rgba(0,0,0,.07), var(--s-sm);
}

/* ── 透明态覆盖（黄绿 Hero 上）── */
.navbar:not(.scrolled) .nav-links a { color: rgba(13,31,60,.72); background: rgba(255,255,255,.18); }
.navbar:not(.scrolled) .nav-links a:hover { color: var(--b-900); background: rgba(255,255,255,.45); }
.navbar:not(.scrolled) .nav-links a.active,
.navbar:not(.scrolled) .nav-links a[aria-current="page"] { color: var(--b-900); background: rgba(255,255,255,.65); font-weight: 700; }
.navbar:not(.scrolled) .nav-links a.nav-btn { color: #fff; background: var(--b-800); box-shadow: 0 4px 16px rgba(13,31,60,.28); border: none; }
.navbar:not(.scrolled) .nav-links a.nav-btn:hover { background: var(--b-900); transform: translateY(-2px); }
.navbar:not(.scrolled) .logo-name-cn { color: var(--b-900); }
.navbar:not(.scrolled) .logo-name-en { color: var(--b-600); }
.navbar:not(.scrolled) .nav-toggle svg { color: var(--b-900); }

@media (max-width: 1024px) {
    .nav-links { background: rgba(255,255,255,.98) !important; }
    .nav-links.active a { color: var(--n-900) !important; background: transparent !important; }
    .nav-links.active a:hover { background: var(--g-100) !important; }
    .nav-links.active a.active,
    .nav-links.active a[aria-current="page"] { background: var(--g-200) !important; font-weight: 700 !important; }
    .nav-links.active a.nav-btn { color: #fff !important; background: var(--b-800) !important; }
}

.nav-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 48px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}
/* WordPress 自定义 Logo — 完全控制尺寸 */
.navbar .logo-mark.logo-mark-img {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
}
.navbar .logo-mark.logo-mark-img a.custom-logo-link {
    display: block !important;
    line-height: 0 !important;
}
.navbar .logo-mark.logo-mark-img img {
    display: block !important;
    height: var(--logo-height, 40px) !important;
    width: auto !important;
    max-width: var(--logo-max-width, 120px) !important;
    max-height: var(--logo-height, 40px) !important;
}
.logo-img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    box-shadow: 0 2px 10px rgba(0,0,0,.2);
}
.logo-mark {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: linear-gradient(140deg, var(--b-800), var(--g-500));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 10px rgba(0,0,0,.18);
}
.logo-mark svg { width: 24px; height: 24px; }
.logo-name { display: flex; flex-direction: column; line-height: 1.2; }
.logo-name-cn {
    font-family: 'Noto Serif SC', serif;
    font-weight: 700;
    font-size: 15px;
    color: var(--b-800);
    letter-spacing: .04em;
}
.logo-name-en {
    font-size: 10px;
    font-weight: 600;
    color: var(--g-500);
    letter-spacing: .15em;
    text-transform: uppercase;
}

/* ── 导航链接：V2 胶囊按钮风格 ── */
.nav-links {
    display: flex;
    align-items: center;
    gap: 6px;
    list-style: none;
    position: relative;
    z-index: 901;
}
.nav-links a {
    font-size: 14px;
    font-weight: 500;
    color: var(--n-700);
    padding: 8px 18px;
    border-radius: var(--r-full);
    background: transparent;
    transition: all .22s var(--ease);
    white-space: nowrap;
}
.nav-links a:hover {
    color: var(--b-800);
    background: var(--g-100);
    transform: translateY(-1px);
}
.nav-links a.active,
.nav-links a[aria-current="page"] {
    color: var(--b-900);
    font-weight: 700;
    background: var(--g-200);
    box-shadow: 0 2px 10px rgba(150,200,26,.22);
}
.nav-links a.nav-btn {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    background: var(--b-800);
    padding: 9px 22px;
    border-radius: var(--r-full);
    box-shadow: 0 4px 16px rgba(26,54,93,.30);
    transition: all .25s var(--ease);
    white-space: nowrap;
    border: none;
}
.nav-links a.nav-btn:hover {
    background: var(--b-900);
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(26,54,93,.40);
}

.nav-toggle {
    display: none;
    width: 44px; height: 44px;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    border-radius: var(--r-sm);
    transition: background .2s;
}
.nav-toggle:hover { background: var(--g-100); }
.nav-toggle svg { width: 24px; height: 24px; color: var(--b-800); }

@media (max-width: 1024px) {
    .nav-links {
        position: fixed;
        inset: 80px 0 auto 0;
        background: rgba(255,255,255,.98);
        backdrop-filter: blur(20px);
        flex-direction: column;
        padding: 20px 16px;
        gap: 4px;
        transform: translateY(-100%);
        opacity: 0;
        visibility: hidden;
        transition: all .4s var(--ease);
        box-shadow: var(--s-md);
        border-bottom: 1px solid var(--n-300);
    }
    .nav-links.active {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }
    .nav-links a {
        width: 100%;
        padding: 13px 18px;
        font-size: 15px;
        border-radius: var(--r-md);
        color: var(--n-900);
        background: transparent;
        transform: none;
    }
    .nav-links a.nav-btn {
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 8px;
        padding: 13px;
        border-radius: var(--r-md);
        background: var(--b-800);
        color: #fff;
        box-shadow: 0 4px 16px rgba(26,54,93,.28);
        transform: none;
    }
    .nav-toggle { display: flex; }
}
@media (max-width: 768px) {
    .nav-inner { padding: 0 24px; }
    .logo-name-en { display: none; }
}

/* ═══════════════════════════════════════
   NAV SUB-MENU — 下拉菜单
   ═══════════════════════════════════════ */
/* 有子菜单的顶级 li 设为 relative 定位容器 */
.nav-links > li {
    position: relative;
}

/* sub-menu 默认隐藏 */
.nav-links .sub-menu {
    display: block;
    list-style: none;
    margin: 0;
    padding: 8px 0;
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(-6px);
    min-width: 160px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(13,31,60,.14), 0 2px 8px rgba(13,31,60,.08);
    border: 1px solid var(--n-200, #e8edf3);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s var(--ease), transform .22s var(--ease), visibility .22s;
    z-index: 999;
    white-space: nowrap;
}

/* 父 li hover 时展开 sub-menu */
.nav-links > li:hover > .sub-menu,
.nav-links > li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

/* sub-menu 内的链接样式 */
.nav-links .sub-menu li {
    position: static;
}
.nav-links .sub-menu a {
    display: block;
    padding: 9px 20px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--n-700, #4a5568);
    border-radius: 0;
    background: transparent;
    transition: background .18s, color .18s;
    white-space: nowrap;
}
.nav-links .sub-menu a:hover {
    color: var(--b-800, #1a365d);
    background: var(--g-100, #f7fce8);
    transform: none;
}

/* 有子菜单的顶级链接加小箭头指示 */
.nav-links > li.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid currentColor;
    margin-left: 6px;
    vertical-align: middle;
    opacity: .6;
    transition: transform .22s;
}
.nav-links > li.menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
    opacity: 1;
}

/* 移动端：sub-menu 改为静态展开（inline）*/
@media (max-width: 1024px) {
    .nav-links .sub-menu {
        position: static;
        transform: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        box-shadow: none;
        border: none;
        border-left: 3px solid var(--g-300, #c9e96a);
        border-radius: 0;
        background: transparent;
        padding: 0 0 0 12px;
        min-width: unset;
        margin: 4px 0 8px 8px;
    }
    .nav-links .sub-menu a {
        padding: 8px 14px;
        font-size: 14px;
        color: var(--n-600, #6b7280);
    }
    .nav-links > li.menu-item-has-children > a::after {
        display: none;
    }
}

/* ═══════════════════════════════════════
   HERO SECTION — V2 黄绿渐变 + 大弧切图
   ═══════════════════════════════════════ */
.hero {
    min-height: 100vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: linear-gradient(145deg, #e6f4a0 0%, #c8e84c 30%, #b4dd3a 55%, #d6ef80 80%, #f0f9c8 100%);
}

/* 有机圆弧装饰 */
.hero::before {
    content: '';
    position: absolute;
    right: -8%;
    top: -12%;
    width: 65%;
    padding-bottom: 65%;
    background: rgba(255,255,255,.18);
    border-radius: 50%;
    z-index: 1;
}
.hero::after {
    content: '';
    position: absolute;
    left: -5%;
    bottom: -15%;
    width: 42%;
    padding-bottom: 42%;
    background: rgba(255,255,255,.12);
    border-radius: 50%;
    z-index: 1;
}

.hero-bg { position: absolute; inset: 0; z-index: 0; }
.hero-pattern {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(201,162,39,.08) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(44,82,130,.15) 0%, transparent 45%),
        radial-gradient(circle at 60% 80%, rgba(26,54,93,.20) 0%, transparent 50%);
}
.hero-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size: 80px 80px;
    mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
}

/* 大字母水印 */
.hero-watermark {
    position: absolute;
    left: 2%;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'Inter', sans-serif;
    font-size: clamp(120px, 18vw, 260px);
    font-weight: 900;
    letter-spacing: -.04em;
    color: rgba(255,255,255,.22);
    line-height: 1;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: left;
    max-width: 1320px;
    margin: 0 auto;
    padding: 120px 48px 80px;
    width: 100%;
}

/* 透明态标签（放在主标题行内） */
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(13,31,60,.85);
    color: #fff;
    padding: 7px 18px 7px 12px;
    border-radius: var(--r-full);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: 16px;
    box-shadow: 0 4px 16px rgba(13,31,60,.25);
    vertical-align: top;
}
.hero-badge svg { width: 16px; height: 16px; }

/* Hero 标签点 */
.hero-tag-dot {
    width: 8px;
    height: 8px;
    background: var(--a-400);
    border-radius: 50%;
    flex-shrink: 0;
    animation: blink 2s ease-in-out infinite;
}
@keyframes blink { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .5; transform: scale(.7); } }

.hero-title {
    font-size: clamp(40px, 5vw, 68px);
    font-weight: 900;
    color: var(--b-900);
    line-height: 1.08;
    margin-bottom: 24px;
    letter-spacing: -.02em;
}
.hero-title .accent { color: var(--b-700); }

.hero-subtitle {
    font-size: 17px;
    color: rgba(13,31,60,.78);
    line-height: 1.8;
    max-width: 460px;
    margin-bottom: 44px;
}

.hero-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.hero-scroll-hint {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgba(13,31,60,.5);
    font-size: 11px;
    letter-spacing: .15em;
    text-transform: uppercase;
    animation: bounce 2s infinite;
}
.hero-scroll-hint svg { width: 20px; height: 20px; }

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
    40% { transform: translateX(-50%) translateY(8px); }
    60% { transform: translateX(-50%) translateY(4px); }
}

@media (max-width: 768px) {
    .hero-content { padding: 100px 24px 64px; }
    .hero-actions { flex-direction: column; width: 100%; }
    .hero-actions .btn { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════
   FOOTER — V2 黄绿亮底 + 深蓝文字
   ═══════════════════════════════════════ */
.footer {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, #c4e040 0%, #b8d830 40%, #b4dd3a 70%, #c8ea5a 100%);
    color: var(--b-900);
    padding: 0;
}

/* 顶部分隔波浪：从白色页面平滑过渡到黄绿页脚 */
.footer-wave {
    display: block;
    width: 100%;
    height: 80px;
    margin-bottom: -2px;
}

/* 有机背景气泡 */
.footer::before {
    content: '';
    position: absolute;
    top: -20%;
    right: -8%;
    width: 55%;
    padding-bottom: 55%;
    background: rgba(255,255,255,.22);
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
}
.footer::after {
    content: '';
    position: absolute;
    bottom: -25%;
    left: -6%;
    width: 44%;
    padding-bottom: 44%;
    background: rgba(255,255,255,.14);
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
}

/* 页脚主体 */
.footer-body {
    position: relative;
    z-index: 1;
    max-width: 1320px;
    margin: 0 auto;
    padding: 56px 48px 48px;
}

/* Newsletter 条幅 */
.footer-newsletter {
    background: var(--b-900);
    border-radius: var(--r-lg);
    padding: 36px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 56px;
    position: relative;
    overflow: hidden;
}
.footer-newsletter::before {
    content: '';
    position: absolute;
    right: -40px;
    top: -40px;
    width: 180px;
    height: 180px;
    background: var(--g-500);
    opacity: .12;
    border-radius: 50%;
}
.fn-text h3 { font-size: 20px; font-weight: 800; color: #fff; margin-bottom: 6px; }
.fn-text p { font-size: 14px; color: rgba(255,255,255,.5); }
.fn-form { display: flex; gap: 10px; flex-shrink: 0; }
.fn-input {
    padding: 11px 20px;
    border: none;
    outline: none;
    border-radius: var(--r-full);
    font-size: 14px;
    background: rgba(255,255,255,.1);
    color: #fff;
    width: 240px;
}
.fn-input::placeholder { color: rgba(255,255,255,.35); }
.fn-input:focus { background: rgba(255,255,255,.18); }
.fn-btn {
    padding: 11px 28px;
    border: none;
    cursor: pointer;
    background: linear-gradient(135deg, var(--g-500), var(--g-400));
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    border-radius: var(--r-full);
    white-space: nowrap;
    transition: all .25s var(--ease);
}
.fn-btn:hover { transform: translateY(-2px); box-shadow: var(--s-green); }

/* 4列网格 */
.footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
    gap: 40px;
    padding-bottom: 48px;
    border-bottom: 2px solid rgba(13,31,60,.1);
    margin-bottom: 32px;
    align-items: start;
}

/* Brand 列 */
.footer-brand .logo { margin-bottom: 18px; display: flex; align-items: center; gap: 12px; }
.footer-brand .logo-img { width: 40px; height: 40px; border-radius: 10px; }
.footer-brand .logo-mark {
    background: linear-gradient(140deg, var(--b-800), var(--g-500));
    width: 40px; height: 40px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.footer-brand .logo-mark svg { width: 22px; height: 22px; fill: white; }
.footer-brand .footer-logo-mark { background: none; width: auto; height: auto; border-radius: 10px; overflow: hidden; }
.footer-brand .footer-logo-mark img.kmyeast-footer-logo { height: 40px; width: auto; max-width: 100px; object-fit: contain; }
.footer-brand .logo-name-cn { font-size: 18px; font-weight: 900; color: var(--b-900); }
.footer-brand .logo-name-en { font-size: 10px; font-weight: 600; color: var(--b-600); letter-spacing: .12em; text-transform: uppercase; }
.footer-brand-desc { font-size: 14px; color: rgba(13,31,60,.55); line-height: 1.8; margin-bottom: 24px; max-width: 280px; }

/* V2 品牌区新样式 */
.footer-logo-link { display: flex; align-items: center; gap: 14px; text-decoration: none; margin-bottom: 20px; }
.footer-logo-icon { width: 48px; height: 48px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.footer-logo-img { width: 48px; height: 48px; object-fit: contain; }
.footer-logo-text { display: flex; flex-direction: column; }
.footer-logo-cn { display: block; font-size: 18px; font-weight: 900; color: var(--b-900); letter-spacing: .02em; line-height: 1.2; }
.footer-logo-en { display: block; font-size: 9px; font-weight: 600; color: var(--g-600); letter-spacing: .15em; text-transform: uppercase; margin-top: 4px; }
.footer-brand .footer-desc { font-size: 14px; color: rgba(13,31,60,.6); line-height: 1.75; margin-bottom: 28px; max-width: 300px; }
.footer-social { display: flex; gap: 12px; }
.footer-social .social-btn { width: 40px; height: 40px; border-radius: 50%; background: rgba(13,31,60,.08); color: var(--b-900); display: flex; align-items: center; justify-content: center; transition: all .25s var(--ease); }
.footer-social .social-btn:hover { background: var(--b-900); color: #fff; transform: translateY(-3px); box-shadow: 0 6px 20px rgba(13,31,60,.2); }
.footer-social .social-btn svg { width: 18px; height: 18px; }

/* 社交按钮 */
.footer-social { display: flex; gap: 10px; }
.social-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(13,31,60,.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--b-800);
    transition: all .22s;
    border: 1px solid rgba(13,31,60,.12);
}
.social-btn:hover { background: var(--b-800); color: #fff; border-color: var(--b-800); transform: translateY(-2px); }
.social-btn svg { width: 15px; height: 15px; }

/* 导航列 */
.footer-title {
    font-family: 'Noto Sans SC', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--b-900);
    opacity: .45;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.footer-title::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(13,31,60,.15);
}
.footer-links,
.footer-col > ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-links li { margin-bottom: 10px; }
.footer-links a,
.footer-col > ul > li > a {
    font-size: 14px;
    color: rgba(13,31,60,.6);
    text-decoration: none;
    transition: all .2s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.footer-links a::before {
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--g-500);
    opacity: 0;
    transition: opacity .2s;
    flex-shrink: 0;
}
.footer-links a:hover { color: var(--b-900); transform: translateX(4px); }
.footer-links a:hover::before { opacity: 1; }
.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 14px;
    color: rgba(13,31,60,.6);
}
.footer-contact-item svg {
    width: 18px; height: 18px;
    color: var(--b-800);
    flex-shrink: 0;
    margin-top: 2px;
}
.f-contact-row { display: flex; align-items: flex-start; gap: 12px; font-size: 13px; color: rgba(13,31,60,.6); }
.f-contact-icon {
    width: 30px;
    height: 30px;
    border-radius: var(--r-sm);
    background: rgba(13,31,60,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.f-contact-icon svg { width: 14px; height: 14px; color: var(--b-800); }
.f-contact-text { padding-top: 6px; }
.f-contact-label { font-size: 10px; font-weight: 700; letter-spacing: .08em; color: var(--b-600); opacity: .6; text-transform: uppercase; margin-bottom: 2px; }
.f-contact-val { font-size: 13px; color: var(--b-900); font-weight: 500; }

/* 底栏 */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: rgba(13,31,60,.45);
    flex-wrap: wrap;
    gap: 12px;
}
.footer-bottom p { margin: 0; }
.footer-bottom a { color: rgba(13,31,60,.4); text-decoration: none; transition: color .2s; }
.footer-bottom a:hover { color: var(--b-900); }
.footer-links-inline { display: flex; gap: 20px; }

@media (max-width: 1100px) {
    .footer-newsletter { flex-direction: column; align-items: flex-start; padding: 28px 32px; }
    .fn-form { width: 100%; }
    .fn-input { flex: 1; }
}
@media (max-width: 1024px) {
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 768px) {
    .footer-grid { grid-template-columns: 1fr; gap: 32px; }
    .footer-body { padding: 40px 24px 32px; }
    .footer-newsletter { padding: 24px; }
    .footer-bottom { flex-direction: column; align-items: flex-start; }
    .footer-links-inline { flex-wrap: wrap; gap: 12px; }
}

/* ═══════════════════════════════════════
   PAGE HERO BANNER (子页面通用) — V2 黄绿渐变风格
   ═══════════════════════════════════════ */
.page-hero {
    position: relative;
    min-height: 55vh;
    padding: 100px 0 80px;
    background: linear-gradient(145deg, #e6f4a0 0%, #c8e84c 30%, #b4dd3a 55%, #d6ef80 80%, #f0f9c8 100%);
    overflow: hidden;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 有机圆弧装饰 */
.page-hero::before {
    content: '';
    position: absolute;
    right: -8%;
    top: -12%;
    width: 55%;
    padding-bottom: 55%;
    background: rgba(255, 255, 255, .18);
    border-radius: 50%;
    z-index: 1;
}
.page-hero::after {
    content: '';
    position: absolute;
    left: -5%;
    bottom: -10%;
    width: 35%;
    padding-bottom: 35%;
    background: rgba(255, 255, 255, .12);
    border-radius: 50%;
    z-index: 1;
}

.page-hero-content { 
    position: relative; 
    z-index: 2; 
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 48px;
    width: 100%;
    text-align: left;
}
.page-hero .section-label { 
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--b-900);
    color: #fff;
    padding: 7px 18px 7px 12px;
    border-radius: var(--r-full);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(13, 31, 60, .2);
    width: fit-content;
}
.page-hero .section-label::before {
    display: none !important;
}
.page-hero .section-label-dot {
    width: 8px;
    height: 8px;
    background: var(--a-400);
    border-radius: 50%;
    flex-shrink: 0;
    animation: blink 2s ease-in-out infinite;
}
.page-hero h1 {
    color: var(--b-900);
    margin-bottom: 20px;
    font-family: 'Noto Serif SC', serif;
    font-size: clamp(32px, 5vw, 52px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -.02em;
}
.page-hero p {
    font-size: 17px;
    color: rgba(13, 31, 60, .65);
    max-width: 560px;
    margin: 0;
    line-height: 1.7;
}

/* 响应式 */
@media (max-width: 768px) {
    .page-hero {
        min-height: 45vh;
        padding: 100px 0 64px;
    }
    .page-hero-content {
        padding: 0 24px;
    }
    .page-hero::before {
        width: 80%;
        padding-bottom: 80%;
        right: -20%;
        top: -15%;
    }
}

/* ═══════════════════════════════════════
   COUNTER / STATS
   ═══════════════════════════════════════ */
.stat-number {
    font-size: clamp(36px, 5vw, 52px);
    font-weight: 800;
    color: var(--c-gold);
    line-height: 1.1;
    font-family: 'Inter', sans-serif;
}
.stat-label { font-size: 14px; color: var(--c-muted); margin-top: 4px; }
/* ⚠️ 已被首页 .stats-bar .stat-item 覆盖，此处仅保留内页用途（如有需要） */
/* .stat-item + .stat-item { padding-left: 32px; border-left: 1px solid var(--c-border); } */

/* ═══════════════════════════════════════
   TIMELINE
   ═══════════════════════════════════════ */
.timeline { position: relative; padding-left: 40px; }
.timeline::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, var(--c-gold), var(--c-navy-mid));
}
.timeline-item { position: relative; padding-bottom: 40px; }
.timeline-item::before {
    display: none;
}
.timeline-year {
    font-size: 13px;
    font-weight: 700;
    color: var(--c-gold);
    letter-spacing: .08em;
    margin-bottom: 6px;
}
.timeline-title { font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.timeline-desc { font-size: 14px; color: var(--c-muted); line-height: 1.6; }

/* ═══════════════════════════════════════
   FAQ ACCORDION
   ═══════════════════════════════════════ */
.faq-item {
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    margin-bottom: 12px;
    overflow: hidden;
    transition: box-shadow .3s;
}
.faq-item:hover { box-shadow: var(--shadow-xs); }
.faq-question {
    width: 100%;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--c-surface);
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    color: var(--c-ink);
    text-align: left;
    transition: background .2s;
}
.faq-question:hover { background: var(--c-white); }
.faq-question svg {
    width: 20px;
    height: 20px;
    color: var(--c-muted);
    transition: transform .3s var(--ease-out);
    flex-shrink: 0;
    margin-left: 16px;
}
.faq-item.open .faq-question svg { transform: rotate(180deg); }
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s var(--ease-out);
}
.faq-answer-inner {
    padding: 0 24px 20px;
    font-size: 15px;
    color: var(--c-muted);
    line-height: 1.7;
}

/* ═══════════════════════════════════════
   CONTACT FORM
   ═══════════════════════════════════════ */
.form-group { margin-bottom: 20px; }
.form-group label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--c-ink);
    margin-bottom: 8px;
}
.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 14px 18px;
    font-size: 15px;
    font-family: inherit;
    border: 1.5px solid var(--c-border);
    border-radius: var(--radius-sm);
    background: var(--c-white);
    color: var(--c-ink);
    transition: border-color .2s, box-shadow .2s;
    outline: none;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    border-color: var(--c-navy-mid);
    box-shadow: 0 0 0 3px rgba(44,82,130,.1);
}
.form-group textarea { resize: vertical; min-height: 120px; }

/* WP Specific: 联系表单样式覆盖 */
.wpcf7-form .form-group { margin-bottom: 20px; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7-submit.btn {
    border: none;
    cursor: pointer;
}
.wpcf7-not-valid { border-color: #ef4444 !important; }

/* ═══════════════════════════════════════
   ARTICLE / POST STYLES
   ═══════════════════════════════════════ */
.article-content { font-size: 16px; line-height: 1.85; color: var(--c-body); }
.article-content h2 { font-size: 28px; margin: 40px 0 16px; }
.article-content h3 { font-size: 22px; margin: 32px 0 12px; }
.article-content p { margin-bottom: 20px; }
.article-content img { border-radius: var(--radius-md); margin: 28px 0; }
.article-content blockquote {
    border-left: 4px solid var(--c-gold);
    padding: 20px 24px;
    margin: 28px 0;
    background: var(--c-gold-pale);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    font-style: italic;
    color: var(--c-ink);
}
.article-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 14px;
    color: var(--c-muted);
    margin-bottom: 24px;
}
.article-meta svg { width: 16px; height: 16px; }

/* Post list in news page */
.post-card {
    display: flex;
    gap: 28px;
    padding: 28px;
    background: var(--c-surface);
    border-radius: var(--radius-md);
    transition: transform .3s, box-shadow .3s;
    cursor: pointer;
}
.post-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}
.post-card-thumb {
    width: 240px;
    flex-shrink: 0;
    border-radius: var(--radius-sm);
    overflow: hidden;
    aspect-ratio: 16/10;
    background: linear-gradient(135deg, var(--c-navy), var(--c-navy-mid));
}
.post-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-card-info { flex: 1; }
.post-card-cat {
    font-size: 12px;
    font-weight: 600;
    color: var(--c-gold);
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.post-card-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.post-card-excerpt { font-size: 14px; color: var(--c-muted); line-height: 1.6; margin-bottom: 14px; }
.post-card-date { font-size: 13px; color: var(--c-muted); }

@media (max-width: 768px) {
    .post-card { flex-direction: column; }
    .post-card-thumb { width: 100%; }
}

/* ═══════════════════════════════════════
   SIDEBAR
   ═══════════════════════════════════════ */
.sidebar-widget {
    background: var(--c-surface);
    border-radius: var(--radius-md);
    padding: 28px;
    margin-bottom: 28px;
}
.sidebar-widget h3 {
    font-family: 'Noto Sans SC', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--c-ink);
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--c-gold-pale);
}
.sidebar-search input {
    width: 100%;
    padding: 12px 16px;
    border: 1.5px solid var(--c-border);
    border-radius: var(--radius-sm);
    font-size: 14px;
    outline: none;
    transition: border-color .2s;
}
.sidebar-search input:focus { border-color: var(--c-navy-mid); }
.sidebar-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.sidebar-tags a {
    padding: 6px 14px;
    font-size: 13px;
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: 100px;
    color: var(--c-muted);
    transition: all .2s;
}
.sidebar-tags a:hover { color: var(--c-gold); border-color: var(--c-gold); background: var(--c-gold-pale); }
.sidebar-list { list-style: none; }
.sidebar-list li { padding: 10px 0; border-bottom: 1px solid var(--c-border); }
.sidebar-list li:last-child { border-bottom: none; }
.sidebar-list a {
    font-size: 14px;
    color: var(--c-body);
    display: flex;
    justify-content: space-between;
    transition: color .2s;
}
.sidebar-list a:hover { color: var(--c-gold); }

/* ═══════════════════════════════════════
   ABOUT PAGE STYLES（关于我们 — 还原 about.html）
   ═══════════════════════════════════════ */

/* ── Page Hero (About) 增强版 — products / news / research / contact / single-news 统一风格 ── */
.page-hero-about,
.page-hero-products,
.page-hero-news,
.page-hero-research,
.page-hero-contact,
.page-hero-single-news {
    min-height: 420px;
    background: var(--c-navy);
}
.page-hero-about .page-hero-bg,
.page-hero-products .page-hero-bg,
.page-hero-news .page-hero-bg,
.page-hero-research .page-hero-bg,
.page-hero-contact .page-hero-bg,
.page-hero-single-news .page-hero-bg {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 80% 50%, rgba(201,162,39,.18) 0%, transparent 60%),
        radial-gradient(ellipse 40% 60% at 10% 80%, rgba(201,162,39,.10) 0%, transparent 50%),
        linear-gradient(150deg, var(--c-navy) 0%, #0f2240 60%, #0D1B12 100%);
}
.page-hero-about .page-hero-grid,
.page-hero-products .page-hero-grid,
.page-hero-news .page-hero-grid,
.page-hero-research .page-hero-grid,
.page-hero-contact .page-hero-grid,
.page-hero-single-news .page-hero-grid {
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size: 60px 60px;
}
.page-hero-line {
    position: absolute;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(201,162,39,.4), transparent);
    animation: lineFloat 6s ease-in-out infinite;
}
.page-hero-line:nth-child(1) { height: 300px; left: 15%; top: 10%; animation-delay: 0s; }
.page-hero-line:nth-child(2) { height: 200px; left: 50%; top: 30%; animation-delay: -2s; }
.page-hero-line:nth-child(3) { height: 250px; right: 20%; top: 5%; animation-delay: -4s; }

@keyframes lineFloat {
    0%, 100% { transform: scaleY(1) translateY(0); opacity: .6; }
    50% { transform: scaleY(1.2) translateY(-20px); opacity: 1; }
}

.page-hero-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    animation: orbFloat 8s ease-in-out infinite;
}
.page-hero-orb-1 { width: 500px; height: 500px; background: rgba(201,162,39,.12); top: -150px; right: 0; }
.page-hero-orb-2 { width: 300px; height: 300px; background: rgba(201,162,39,.10); bottom: -80px; left: 20%; animation-delay: -3s; }

@keyframes orbFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-30px) scale(1.05); }
}

/* 旧样式已统一到上方 .page-hero-content */

.page-breadcrumb {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: rgba(255,255,255,.5);
    margin-bottom: 32px;
    letter-spacing: .04em;
}
.page-breadcrumb a { color: rgba(255,255,255,.5); transition: color .2s; text-decoration: none; }
.page-breadcrumb a:hover { color: var(--c-gold-light); }
.page-breadcrumb .sep { color: rgba(255,255,255,.25); }
.page-breadcrumb .current { color: var(--g-400); }

.page-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(26,54,93,.25);
    border: 1px solid rgba(180,221,58,.35);
    color: var(--g-400);
    font-size: 12px; font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase;
    padding: 6px 16px; border-radius: 100px;
    margin-bottom: 24px;
}
.page-eyebrow-dot {
    width: 6px; height: 6px;
    border-radius: 50%; background: var(--g-400);
    animation: pulseDot 2s ease-in-out infinite;
}
@keyframes pulseDot { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }

.page-title {
    font-family: 'Noto Serif SC', serif;
    font-size: clamp(42px, 6vw, 72px);
    font-weight: 900;
    line-height: 1.1;
    color: var(--c-white);
    letter-spacing: -.01em;
    margin-bottom: 24px;
}
.page-title-lg {
    font-size: clamp(40px, 6vw, 64px);
}
.page-title .highlight,
.page-title .hero-title-accent {
    background: linear-gradient(90deg, var(--g-300), var(--g-400));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.page-subtitle {
    font-size: 18px;
    color: rgba(255,255,255,.65);
    max-width: 600px;
    line-height: 1.8;
}

.hero-stats-row {
    display: flex; gap: 40px;
    margin-top: 56px;
    padding-top: 48px;
    border-top: 1px solid rgba(255,255,255,.1);
}
.hero-stat-num {
    font-family: 'Noto Serif SC', serif;
    font-size: 36px;
    font-weight: 900;
    color: var(--c-white);
    line-height: 1;
    margin-bottom: 4px;
}
.hero-stat-num .unit {
    font-size: 18px;
    color: var(--c-gold);
}
.hero-stat-label {
    font-size: 13px;
    color: rgba(255,255,255,.5);
    letter-spacing: .04em;
}

/* ── Section Common (About page overrides) ── */
.mission-section { padding: 120px 0; background: var(--c-white); }

/* About 页面：去掉 section label 前面的横线 */
.mission-section .section-label::before,
.story-section .section-label::before,
.values-section .section-label::before,
.team-section .section-label::before,
.partners-section .section-label::before,
/* 首页：去掉四个板块 section label 前面的横线 */
#aboutSection .section-label::before,
#productsSection .section-label::before,
#techSection .section-label::before,
#partnerSection .section-label::before,
/* 产品中心等页面：hero 区域 section label 去掉横线 */
.page-hero .section-label::before,
/* 产品中心应用领域板块 */
.post-type-archive-product .section .section-label::before {
    display: none;
}
/* 全局：所有 section-label 去掉横线 */
.section-label::before {
    display: none !important;
}

/* ═══════════════════════════════════════
   ABOUT HERO — V2 黄绿渐变风格
═══════════════════════════════════════ */
.about-hero {
    min-height: 88vh;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: linear-gradient(145deg, #e6f4a0 0%, #c8e84c 30%, #b4dd3a 55%, #d6ef80 80%, #f0f9c8 100%);
}

/* 有机圆弧装饰 */
.about-hero::before {
    content: '';
    position: absolute;
    right: -8%;
    top: -12%;
    width: 65%;
    padding-bottom: 65%;
    background: rgba(255, 255, 255, .18);
    border-radius: 50%;
    z-index: 1;
}
.about-hero::after {
    content: '';
    position: absolute;
    left: -5%;
    bottom: -15%;
    width: 42%;
    padding-bottom: 42%;
    background: rgba(255, 255, 255, .12);
    border-radius: 50%;
    z-index: 1;
}

/* 大字母水印 */
.about-hero-wm {
    position: absolute;
    right: 6%;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'Inter', sans-serif;
    font-size: clamp(100px, 16vw, 220px);
    font-weight: 900;
    letter-spacing: -.04em;
    color: rgba(255, 255, 255, .15);
    line-height: 1;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}

.about-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 1320px;
    margin: 0 auto;
    padding: 100px 48px 80px;
    width: 100%;
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 64px;
    align-items: center;
}

/* 左侧文字区 */
.about-hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--b-900);
    color: #fff;
    padding: 7px 18px 7px 12px;
    border-radius: var(--r-full);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: 28px;
    box-shadow: 0 4px 16px rgba(13, 31, 60, .25);
}
.about-hero-tag-dot {
    width: 8px;
    height: 8px;
    background: var(--a-400);
    border-radius: 50%;
    flex-shrink: 0;
    animation: blink 2s ease-in-out infinite;
}
@keyframes blink {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .5; transform: scale(.7); }
}

.about-hero-h1 {
    font-family: 'Noto Serif SC', serif;
    font-size: clamp(34px, 4.2vw, 56px);
    font-weight: 900;
    color: var(--b-900);
    line-height: 1.14;
    letter-spacing: -.02em;
    margin-bottom: 24px;
}

.about-hero-vision {
    font-family: 'Noto Serif SC', serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--b-800);
    line-height: 1.85;
    margin-bottom: 20px;
    padding-left: 18px;
    border-left: 3px solid var(--g-500);
    max-width: 560px;
}
.about-hero-vision strong { color: var(--b-900); font-weight: 800; }

.about-hero-sub {
    font-size: 14.5px;
    color: rgba(13, 31, 60, .6);
    line-height: 1.8;
    margin-bottom: 28px;
    max-width: 540px;
}
.about-hero-sub strong { color: var(--b-700); font-weight: 700; }

.about-hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 0;
}
.about-hero-chip {
    background: linear-gradient(135deg, var(--a-400), var(--g-500));
    color: #fff;
    padding: 8px 20px;
    border-radius: var(--r-full);
    font-size: 13px;
    font-weight: 800;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .25);
    box-shadow: 0 3px 14px rgba(150, 200, 26, .35);
    transition: all .3s var(--ease);
}
.about-hero-chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(150, 200, 26, .5);
}

/* 右侧视觉区 */
.about-hero-right {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.about-hero-visual {
    position: relative;
    width: clamp(300px, 35vw, 440px);
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.about-hero-circle {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 40%, #d6f060, #8ec010 60%, #5a8508 100%);
    box-shadow: 0 24px 80px rgba(13, 31, 60, .14), 0 0 0 8px rgba(255, 255, 255, .35);
}
.about-hero-center-icon {
    position: relative;
    z-index: 1;
    text-align: center;
}
.about-hero-yeast-img {
    width: 88%;
    height: 88%;
    border-radius: 50%;
    object-fit: cover;
    mix-blend-mode: multiply;
    filter: drop-shadow(0 8px 24px rgba(90, 133, 8, .35)) contrast(1.08) saturate(0.95);
    animation: yeast-breathe 5s ease-in-out infinite;
    transition: transform .6s var(--ease);
}
.about-hero-visual:hover .about-hero-yeast-img {
    transform: scale(1.06);
}
@keyframes yeast-breathe {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.03); }
}
.about-hero-center-text {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .85;
    margin-top: 14px;
}

/* 浮动 badge */
.about-hero-badge {
    position: absolute;
    background: #fff;
    border-radius: var(--r-md);
    padding: 14px 20px;
    box-shadow: var(--s-lg);
    display: flex;
    align-items: center;
    gap: 12px;
    animation: float 6s ease-in-out infinite;
    min-width: 160px;
    z-index: 3;
}
.about-hero-badge-1 { top: 6%; right: -2%; animation-delay: 0s; }
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}
.badge-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.badge-icon.green { background: linear-gradient(135deg, var(--g-100), var(--g-200)); }
.badge-icon.amber { background: var(--a-pale); }
.badge-title { font-size: 14px; font-weight: 700; color: var(--n-900); }
.badge-sub { font-size: 11px; color: var(--n-500); margin-top: 1px; }

/* ═══════════════════════════════════════
   INTRO DIVIDER — Hero/Intro 分隔条
═══════════════════════════════════════ */
.intro-divider {
    position: relative;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--b-900);
    overflow: hidden;
    padding: 0 48px;
}
.divider-hint {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, .5);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .04em;
}
.hint-arrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    animation: bounce-down 1.8s ease-in-out infinite;
}
.hint-arrow span {
    width: 14px;
    height: 2px;
    border-radius: 1px;
    background: rgba(255, 255, 255, .4);
    transition: background .25s;
}
.hint-arrow span:nth-child(2) { width: 10px; }
.hint-arrow span:nth-child(3) { width: 6px; }
@keyframes bounce-down {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(5px); }
}
.intro-divider:hover .hint-arrow span { background: var(--g-400); }

.divider-claim { text-align: right; color: #fff; }
.divider-claim-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--g-300);
    margin-bottom: 3px;
}
.divider-claim-text {
    font-size: 17px;
    font-weight: 700;
    color: rgba(255, 255, 255, .92);
    letter-spacing: -.01em;
    line-height: 1.35;
}
.divider-claim-text strong { color: var(--a-400); }

/* ═══════════════════════════════════════
   COMPANY INTRO — 黄绿底+深蓝卡片
═══════════════════════════════════════ */
.intro-section {
    background: linear-gradient(160deg, #d8ef70 0%, #c4e040 40%, #b4dd3a 100%);
    padding: 80px 0;
    position: relative;
}
.intro-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: stretch;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 48px;
}
.intro-left {
    color: var(--b-900);
    display: flex;
    flex-direction: column;
}
.intro-left .eyebrow { color: rgba(13, 31, 60, .6); }
.intro-left .s-title { color: var(--b-900); }
.intro-left .s-lead { color: var(--b-800); }

.intro-body { font-size: 15px; line-height: 1.9; color: var(--b-800); }
.intro-body p { margin-bottom: 14px; }
.intro-body strong { color: var(--b-900); font-weight: 700; }

/* 三大亮点 */
.intro-feats {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: auto;
}
.feat-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .55);
    border: 1px solid rgba(255, 255, 255, .7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 2px 12px rgba(13, 31, 60, .06), inset 0 1px 0 rgba(255, 255, 255, .6);
    transition: all .35s var(--ease);
}
.feat-card:hover {
    background: rgba(255, 255, 255, .78);
    transform: translateX(6px);
    box-shadow: 0 8px 28px rgba(13, 31, 60, .1), inset 0 1px 0 rgba(255, 255, 255, .7);
}
.feat-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--g-500), var(--g-400));
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 10px rgba(150, 200, 26, .25);
}
.feat-icon svg { width: 22px; height: 22px; color: #fff; }
.feat-body { flex: 1; min-width: 0; }
.feat-title { font-size: 14.5px; font-weight: 700; color: var(--b-900); margin-bottom: 3px; }
.feat-desc { font-size: 12.5px; color: var(--n-500); line-height: 1.5; }

/* 右侧深蓝卡片 */
.intro-right {
    background: var(--b-900);
    border-radius: var(--r-xl);
    padding: 36px 32px;
    color: #fff;
    position: relative;
    overflow: hidden;
    align-self: stretch;
    max-width: 420px;
    justify-self: end;
}
.intro-right::before {
    content: '';
    position: absolute;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: rgba(180, 221, 58, .08);
    top: -60px;
    right: -60px;
}
.intro-right::after {
    content: '';
    position: absolute;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: rgba(240, 168, 48, .06);
    bottom: -40px;
    left: -40px;
}
.intro-right-inner { position: relative; z-index: 2; }
.ir-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    color: var(--g-300);
    text-transform: uppercase;
    margin-bottom: 28px;
}
.ir-stat {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.ir-stat:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.ir-big-num {
    font-family: 'Inter', sans-serif;
    font-size: 40px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.03em;
    color: #fff;
}
.ir-big-num span { font-size: .45em; font-weight: 700; color: var(--g-300); }
.ir-meta { font-size: 13px; color: rgba(255, 255, 255, .5); margin-top: 6px; line-height: 1.55; }

/* ═══════════════════════════════════════
   TIMELINE ABOUT — 左右交替居中时间轴
═══════════════════════════════════════ */
.timeline-about {
    position: relative;
    max-width: 840px;
    margin: 56px auto 0;
    padding: 0;
}
/* 中央竖线 */
.timeline-about::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 8px;
    bottom: 0;
    transform: translateX(-50%);
    width: 3px;
    border-radius: 0 0 3px 3px;
    background: linear-gradient(to bottom, var(--g-400) 0%, var(--a-400) 45%, var(--g-500) 70%, rgba(150, 200, 26, 0) 100%);
}
/* 延伸箭头 */
.timeline-about::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -4px;
    transform: translate(-50%, 100%);
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 10px solid var(--g-300);
    opacity: .35;
}

.tl-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    margin-bottom: 36px;
    width: 100%;
}
.tl-item:last-child { margin-bottom: 4px; }

/* 中央圆点 */
.tl-dot {
    position: absolute;
    left: 50%;
    top: 22px;
    transform: translate(-50%, -50%);
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    border: 3.5px solid var(--g-500);
    box-shadow: 0 0 0 5px rgba(150, 200, 26, .1), 0 3px 10px rgba(13, 31, 60, .08);
    z-index: 3;
    transition: all .35s ease;
}
.tl-item:hover .tl-dot {
    border-color: var(--a-400);
    box-shadow: 0 0 0 7px rgba(240, 168, 48, .12), 0 4px 14px rgba(240, 168, 48, .18);
    transform: translate(-50%, -50%) scale(1.25);
}

/* 卡片 */
.tl-card {
    width: calc(50% - 44px);
    padding: 24px 28px;
    border-radius: var(--r-lg);
    background: #fff;
    border: 1px solid rgba(13, 31, 60, .06);
    box-shadow: 0 3px 20px rgba(13, 31, 60, .05);
    transition: all .35s var(--ease);
    position: relative;
}
.tl-card:hover {
    box-shadow: 0 10px 36px rgba(13, 31, 60, .12);
    border-color: rgba(150, 200, 26, .2);
    transform: translateY(-4px);
}

/* 偶数：右侧 */
.tl-item:nth-child(even) { justify-content: flex-end; }

/* 连接横线 */
.tl-card::after {
    content: '';
    position: absolute;
    top: 22px;
    width: 24px;
    height: 2px;
    background: var(--n-300);
    border-radius: 1px;
}
.tl-item:nth-child(odd) .tl-card::after { right: -24px; }
.tl-item:nth-child(even) .tl-card::after { left: -24px; }

.tl-date {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 800;
    color: var(--g-600);
    letter-spacing: .08em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 6px;
}
.tl-title {
    font-size: 14.5px;
    font-weight: 700;
    color: var(--b-900);
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex-wrap: wrap;
}
.tl-desc { font-size: 13px; color: var(--n-500); line-height: 1.65; margin-top: 8px; }
.tl-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: var(--r-full);
    letter-spacing: .04em;
    flex-shrink: 0;
    margin-top: 2px;
}
.tl-badge.patent { background: var(--a-pale); color: var(--a-500); }
.tl-badge.award { background: var(--g-100); color: var(--g-600); }
.tl-badge.news { background: var(--n-100); color: var(--b-700); }
.tl-badge.company { background: rgba(150, 200, 26, .1); color: var(--g-600); }

/* ═══════════════════════════════════════
   TEAM GRID — 深蓝背景版
═══════════════════════════════════════ */
#team {
    background: var(--b-900);
    position: relative;
    overflow: hidden;
}
#team::before {
    content: '';
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(180, 221, 58, .06);
    top: -120px;
    right: -100px;
    pointer-events: none;
}
#team::after {
    content: '';
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: rgba(240, 168, 48, .045);
    bottom: -80px;
    left: -80px;
    pointer-events: none;
}
#team .eyebrow { color: var(--g-300); }
#team .eyebrow::before { background: var(--g-400); }
#team .s-title { color: #fff; }
#team .s-lead { color: rgba(255, 255, 255, .5); }

.team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    position: relative;
    z-index: 1;
}
.team-card {
    background: rgba(255, 255, 255, .95);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: var(--r-xl);
    overflow: hidden;
    transition: all .45s var(--ease);
    position: relative;
}
/* 底部渐变光效 */
.team-card::after {
    content: '';
    position: absolute;
    bottom: -60px;
    left: 10%;
    right: 10%;
    height: 40px;
    border-radius: 50%;
    filter: blur(24px);
    opacity: 0;
    transition: opacity .4s var(--ease);
}
.team-card:nth-child(1)::after { background: var(--g-500); }
.team-card:nth-child(2)::after { background: var(--a-400); }
.team-card:nth-child(3)::after { background: #4a6fa5; }
.team-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 24px 64px rgba(0, 0, 0, .25), 0 8px 24px rgba(150, 200, 26, .12);
    border-color: rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .98);
}
.team-card:hover::after { opacity: .35; }

.team-avatar-area {
    height: 220px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* 头像区 — 柔和渐变 + 斜纹纹理 */
.team-card:nth-child(1) .team-avatar-bg {
    background:
        linear-gradient(145deg, #e8f5c0, #d4ed80, #c4e040),
        repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,255,255,.15) 10px, rgba(255,255,255,.15) 11px);
}
.team-card:nth-child(2) .team-avatar-bg {
    background:
        linear-gradient(145deg, #fff8e8, #ffe4a0, #f0c860),
        repeating-linear-gradient(-30deg, transparent, transparent 12px, rgba(255,255,255,.12) 12px, rgba(255,255,255,.12) 13px);
}
.team-card:nth-child(3) .team-avatar-bg {
    background:
        linear-gradient(145deg, #dbeafe, #bfdbfe, #93c5fd),
        repeating-linear-gradient(60deg, transparent, transparent 8px, rgba(255,255,255,.18) 8px, rgba(255,255,255,.18) 9px);
}
.team-avatar-bg {
    position: absolute;
    inset: 0;
}
.team-avatar-icon {
    position: relative;
    z-index: 1;
    width: 108px;
    height: 108px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .65);
    border: 3px solid rgba(255, 255, 255, .7);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 46px;
    backdrop-filter: blur(6px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .5);
    transition: all .35s var(--ease);
}
.team-card:hover .team-avatar-icon {
    transform: scale(1.08);
    box-shadow: 0 6px 28px rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .5);
    background: rgba(255, 255, 255, .85);
}
.team-role-tag {
    position: absolute;
    bottom: 18px;
    left: 18px;
    z-index: 2;
    background: rgba(13, 31, 60, .75);
    backdrop-filter: blur(8px);
    color: #fff;
    padding: 5px 16px;
    border-radius: var(--r-full);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.team-info { padding: 32px 28px 38px; }
.team-name {
    font-family: 'Noto Serif SC', serif;
    font-size: 21px;
    font-weight: 700;
    color: var(--b-900);
    margin-bottom: 4px;
}
.team-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--g-600);
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(13, 31, 60, .08);
    display: flex;
    align-items: center;
    gap: 8px;
}
.team-title::before {
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--g-500);
    flex-shrink: 0;
}
.team-bio {
    font-size: 14px;
    color: var(--n-500);
    line-height: 1.85;
    margin-bottom: 18px;
}
.team-stats { display: flex; gap: 10px; flex-wrap: wrap; }
.team-info .team-stat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--g-600);
    background: rgba(180, 221, 58, .12);
    padding: 6px 13px;
    border-radius: var(--r-full);
    border: 1px solid rgba(180, 221, 58, .25);
    transition: all .25s var(--ease);
}
.team-info .team-stat:hover {
    border-color: rgba(180, 221, 58, .5);
    background: rgba(180, 221, 58, .2);
}

/* ═══════════════════════════════════════
   PARTNERS GRID — 简洁卡片版
═══════════════════════════════════════ */
.partners-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 180px));
    justify-content: center;
    gap: 22px;
}
.partner-card {
    background: rgba(255, 255, 255, .65);
    backdrop-filter: blur(6px);
    border-radius: var(--r-lg);
    padding: 30px 18px;
    text-align: center;
    transition: all .35s var(--ease);
    border: 1px solid rgba(13, 31, 60, .06);
    min-width: 0;
}
.partner-card:hover {
    background: #fff;
    transform: translateY(-8px);
    box-shadow: 0 16px 48px rgba(13, 31, 60, .1);
    border-color: transparent;
}
.partner-icon { font-size: 32px; margin-bottom: 14px; display: block; }
.partner-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--b-800);
    line-height: 1.45;
    word-break: break-word;
}

/* ═══════════════════════════════════════
   CTA SECTION — 深蓝背景
═══════════════════════════════════════ */
.cta-section {
    background: #0a1628;
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}
.cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cta-content {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 600px;
}
.cta-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--g-300);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.cta-title {
    font-family: 'Noto Serif SC', serif;
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 20px;
}
.cta-desc {
    font-family: 'Noto Serif SC', serif;
    font-size: 16px;
    color: rgba(255, 255, 255, .6);
    margin-bottom: 36px;
    line-height: 1.8;
}
.cta-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}
.btn-outline-dark {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: var(--r-full);
    border: 2px solid rgba(255, 255, 255, .3);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: all .25s var(--ease);
}
.btn-outline-dark:hover {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .5);
    transform: translateY(-2px);
}

/* 响应式 */
@media (max-width: 1100px) {
    .about-hero-inner { grid-template-columns: 1fr; }
    .about-hero-right { display: none; }
    .about-hero-wm { display: none; }
    .intro-layout { grid-template-columns: 1fr; gap: 40px; }
    .intro-right { border-radius: var(--r-xl); }
    .intro-divider { height: 64px; padding: 0 32px; }
    .team-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1024px) {
    .team-grid { grid-template-columns: 1fr 1fr; }
    .partners-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .about-hero { min-height: 70vh; }
    .about-hero-inner { padding: 100px 24px 64px; }
    .intro-section { padding: 60px 0; }
    .intro-layout { padding: 0 24px; }
    .intro-divider {
        height: auto;
        flex-direction: column;
        gap: 8px;
        padding: 16px 24px;
        text-align: center;
    }
    .divider-hint { display: none; }
    .divider-claim { text-align: center; }
    .timeline-about { max-width: 100%; padding-left: 42px; padding-right: 0; }
    .timeline-about::before { left: 15px; top: 0; bottom: 0; transform: none; }
    .timeline-about::after { display: none; }
    .tl-item { display: block; margin-bottom: 28px; position: relative; padding-left: 8px; }
    .tl-card { width: 100% !important; padding: 18px 20px; }
    .tl-card::after { display: none; }
    .tl-dot {
        position: absolute;
        left: -27px;
        top: 50%;
        transform: translateY(-50%) !important;
    }
    .tl-item:hover .tl-dot { transform: translateY(-50%) scale(1.2) !important; }
    .team-grid { grid-template-columns: 1fr; }
    .partners-grid { grid-template-columns: repeat(2, 1fr); }
    .cta-inner { padding: 40px 24px; }
}

.mission-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    align-items: center;
}
.section-divider {
    width: 48px; height: 3px;
    background: linear-gradient(90deg, var(--c-navy-mid), var(--c-gold));
    border-radius: 2px;
    margin: 20px 0 32px;
}

/* ── Mission Cards ── */
.mission-visual { position: relative; }
.mission-bg-num {
    position: absolute;
    font-family: 'Noto Serif SC', serif;
    font-size: 200px;
    font-weight: 900;
    color: rgba(26,54,93,.06);
    line-height: 1;
    top: -40px; left: -20px;
    user-select: none; pointer-events: none; z-index: 0;
}
.mission-cards {
    position: relative; z-index: 1;
    display: flex; flex-direction: column; gap: 16px;
}
.mission-card {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    padding: 28px 32px;
    display: flex; align-items: flex-start; gap: 20px;
    transition: transform .3s var(--ease-out), box-shadow .3s, border-color .3s;
    cursor: default;
}
.mission-card:hover {
    transform: translateX(8px);
    box-shadow: var(--shadow-md);
    border-color: rgba(201,162,39,.3);
}
.mission-card-icon {
    width: 52px; height: 52px;
    border-radius: var(--radius-md);
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; flex-shrink: 0;
}
.mc-green { background: linear-gradient(135deg, #E8F8F0, #f5f0e1); }
.mc-amber { background: linear-gradient(135deg, #FEF7E7, #FDECC8); }
.mc-teal  { background: linear-gradient(135deg, #E0F5F3, #CCEEEC); }
.mission-card-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 17px; font-weight: 700;
    color: var(--c-navy); margin-bottom: 6px;
}
.mission-card-text {
    font-size: 14px; color: var(--c-muted); line-height: 1.7;
}

/* ── Mission Quote ── */
.mission-quote {
    background: linear-gradient(135deg, var(--c-navy), var(--c-navy-mid));
    border-radius: var(--radius-lg);
    padding: 36px 32px; color: white;
    position: relative; overflow: hidden;
}
.mission-quote::before {
    content: '"';
    position: absolute; top: -10px; left: 20px;
    font-family: 'Noto Serif SC', serif;
    font-size: 120px; font-weight: 900;
    color: rgba(255,255,255,.1); line-height: 1;
}
.mission-quote-text {
    font-family: 'Noto Serif SC', serif;
    font-size: 22px; font-weight: 700;
    line-height: 1.6; margin-bottom: 20px;
    position: relative; z-index: 1;
}
.mission-quote-author {
    display: flex; align-items: center; gap: 12px;
    position: relative; z-index: 1;
}
.mission-quote-avatar {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,.2);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
}
.mission-quote-name {
    font-size: 14px; font-weight: 600;
    color: rgba(255,255,255,.9);
}
.mission-quote-role {
    font-size: 12px; color: rgba(255,255,255,.55);
}

/* ── Story / Timeline (About page — 中心时间轴) ── */
.story-section { padding: 120px 0; background: #F9FAF8; overflow: hidden; }
.story-header { text-align: center; margin-bottom: 80px; }
.story-header .section-desc { margin: 0 auto; }
.story-header .section-divider { margin: 20px auto 32px; }

.timeline-about {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
}
.timeline-about::before {
    content: '';
    position: absolute;
    left: 50%; top: 0; bottom: 0;
    width: 2px;
    background: linear-gradient(180deg,
        transparent 0%, var(--c-border) 5%,
        var(--c-gold) 30%, var(--c-gold-light) 70%,
        var(--c-border) 95%, transparent 100%
    );
    transform: translateX(-50%);
}
.timeline-item {
    display: grid;
    grid-template-columns: 1fr 60px 1fr;
    margin-bottom: 64px; position: relative;
}
.timeline-item:last-child { margin-bottom: 0; }

/* Odd items: content on left */
.timeline-item:nth-child(odd) .timeline-content { grid-column: 1; text-align: right; }
.timeline-item:nth-child(odd) .timeline-center { grid-column: 2; }
.timeline-item:nth-child(odd) .timeline-empty  { grid-column: 3; }

/* Even items: content on right */
.timeline-item:nth-child(even) .timeline-empty   { grid-column: 1; }
.timeline-item:nth-child(even) .timeline-center  { grid-column: 2; }
.timeline-item:nth-child(even) .timeline-content { grid-column: 3; text-align: left; }

.timeline-center {
    display: flex; flex-direction: column;
    align-items: center;
}
.timeline-dot {
    width: 48px; height: 48px;
    border-radius: 50%;
    background: var(--c-white);
    border: 3px solid var(--c-gold);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 0 0 6px rgba(26,54,93,.20), var(--shadow-sm);
    z-index: 2;
    transition: transform .3s var(--ease-spring), border-color .3s;
}
.timeline-item:hover .timeline-dot {
    transform: scale(1.2);
    border-color: var(--c-navy-mid);
}
.timeline-content {
    padding: 8px 28px; align-self: center;
}
.timeline-year {
    font-family: 'Noto Serif SC', serif;
    font-size: 13px; font-weight: 700;
    color: var(--c-gold); letter-spacing: .08em; margin-bottom: 6px;
}
.timeline-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 18px; font-weight: 700;
    color: var(--c-navy); margin-bottom: 8px; line-height: 1.4;
}
.timeline-desc {
    font-size: 14px; color: var(--c-muted); line-height: 1.7;
}
.timeline-card {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: 24px 28px;
    box-shadow: var(--shadow-xs);
    transition: box-shadow .3s, transform .3s var(--ease-out);
}
.timeline-item:hover .timeline-card {
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}

/* ── Values (核心价值观) ── */
.values-section { padding: 120px 0; background: var(--c-white); }
.values-header {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 80px; align-items: end; margin-bottom: 72px;
}
.values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.value-card {
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    padding: 40px 32px;
    position: relative; overflow: hidden;
    transition: transform .3s var(--ease-out), box-shadow .3s, border-color .3s;
    cursor: default; background: var(--c-white);
}
.value-card::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(201,162,39,.06) 0%, transparent 60%);
    opacity: 0; transition: opacity .3s;
}
.value-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(26,54,93,.35);
}
.value-card:hover::before { opacity: 1; }
.value-bg-char {
    position: absolute;
    font-family: 'Noto Serif SC', serif;
    font-size: 100px; font-weight: 900;
    color: rgba(26,54,93,.05);
    line-height: 1; bottom: -10px; right: 20px;
    user-select: none; pointer-events: none;
    transition: color .3s;
}
.value-card:hover .value-bg-char { color: rgba(201,162,39,.12); }
.value-num {
    font-family: 'Inter', sans-serif;
    font-size: 11px; font-weight: 700;
    letter-spacing: .15em; color: var(--c-gold-light);
    margin-bottom: 20px;
}
.value-icon {
    font-size: 40px; margin-bottom: 20px;
    display: block; transition: transform .3s var(--ease-spring);
}
.value-card:hover .value-icon { transform: scale(1.15) rotate(-5deg); }
.value-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 22px; font-weight: 900;
    color: var(--c-navy); margin-bottom: 12px;
}
.value-text {
    font-size: 14px; color: var(--c-muted); line-height: 1.75;
}

/* ── Team (核心团队) ── */
.team-section {
    padding: 120px 0;
    background: var(--c-ink);
    overflow: hidden; position: relative;
}
.team-bg-orb {
    position: absolute; border-radius: 50%; filter: blur(100px);
}
.team-bg-orb-1 { width: 600px; height: 600px; background: rgba(26,54,93,.30); top: -200px; right: -200px; }
.team-bg-orb-2 { width: 400px; height: 400px; background: rgba(201,162,39,.12); bottom: -100px; left: -100px; }
.team-header {
    text-align: center; margin-bottom: 72px;
    position: relative; z-index: 1;
}
.team-header .section-title { color: var(--c-white); }
.team-header .section-desc { color: rgba(255,255,255,.55); margin: 0 auto; }
.team-header .section-divider { margin: 20px auto 32px; }
.team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    position: relative; z-index: 1;
}
.team-card {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--radius-lg);
    padding: 36px 28px; text-align: left;
    transition: transform .3s var(--ease-out), background .3s, border-color .3s, box-shadow .3s;
    cursor: default; position: relative; overflow: hidden;
}
.team-card::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(201,162,39,.12) 0%, transparent 60%);
    opacity: 0; transition: opacity .3s;
}
.team-card:hover {
    transform: translateY(-8px);
    background: rgba(255,255,255,.06);
    border-color: rgba(26,54,93,.35);
    box-shadow: 0 20px 60px rgba(0,0,0,.3), 0 0 0 1px rgba(26,54,93,.20);
}
.team-card:hover::before { opacity: 1; }
.team-avatar {
    width: 80px; height: 80px; border-radius: 50%;
    margin: 0 auto 20px 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 32px;
    background: linear-gradient(135deg, var(--c-navy-mid), var(--c-gold));
    box-shadow: 0 8px 24px rgba(26,54,93,.4);
    transition: transform .3s var(--ease-spring), box-shadow .3s;
    position: relative; z-index: 1;
}
.team-card:hover .team-avatar {
    transform: scale(1.08);
    box-shadow: 0 12px 32px rgba(26,54,93,.5);
}
.team-name {
    font-family: 'Noto Serif SC', serif;
    font-size: 17px; font-weight: 700;
    color: var(--c-white); margin-bottom: 4px;
    position: relative; z-index: 1;
}
.team-role {
    font-size: 12px; color: var(--c-gold);
    font-weight: 600; letter-spacing: .06em;
    margin-bottom: 16px; position: relative; z-index: 1;
}
.team-bio {
    font-size: 13px; color: rgba(255,255,255,.55);
    line-height: 1.8; position: relative; z-index: 1;
}

/* ── Partners (合作高校与机构) ── */
.partners-section { padding: 120px 0; background: var(--c-surface); }
.partners-header { text-align: center; margin-bottom: 72px; }
.partners-header .section-divider { margin: 20px auto 32px; }
.partners-header .section-desc { margin: 0 auto; }
.partners-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.partner-card {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    padding: 32px;
    display: flex; align-items: flex-start; gap: 20px;
    transition: transform .3s var(--ease-out), box-shadow .3s, border-color .3s;
}
.partner-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: rgba(26,54,93,.35);
}
.partner-icon {
    width: 56px; height: 56px;
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, var(--c-gold-pale), var(--c-gold-light));
    display: flex; align-items: center; justify-content: center;
    font-size: 26px; flex-shrink: 0;
    transition: transform .3s var(--ease-spring);
}
.partner-card:hover .partner-icon { transform: scale(1.1) rotate(-5deg); }
.partner-name {
    font-family: 'Noto Serif SC', serif;
    font-size: 16px; font-weight: 700;
    color: var(--c-navy); margin-bottom: 6px;
}
.partner-type {
    font-size: 11px; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    color: var(--c-gold); margin-bottom: 8px;
}
.partner-desc {
    font-size: 13px; color: var(--c-muted); line-height: 1.65;
}

/* ── CTA (About Page) ── */
.cta-section { padding: 120px 0; background: var(--c-white); }
.cta-inner {
    background: linear-gradient(135deg, var(--c-navy) 0%, var(--c-navy-mid) 60%);
    border-radius: 32px; padding: 80px;
    text-align: center; position: relative; overflow: hidden;
}
.cta-inner::before {
    content: ''; position: absolute;
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(201,162,39,.20) 0%, transparent 60%);
    top: -200px; right: -100px; border-radius: 50%;
}
.cta-inner::after {
    content: ''; position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size: 60px 60px;
}
.cta-content { position: relative; z-index: 1; }
.cta-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    color: var(--c-gold-light);
    font-size: 12px; font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase;
    padding: 6px 18px; border-radius: 100px;
    margin-bottom: 28px;
}
.cta-title {
    font-family: 'Noto Serif SC', serif;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 900; color: var(--c-white);
    line-height: 1.25; margin-bottom: 20px;
}
.cta-desc {
    font-size: 17px; color: rgba(255,255,255,.65);
    max-width: 480px; margin: 0 auto 40px; line-height: 1.7;
}
.cta-buttons {
    display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
}
.btn-primary {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--c-white); color: var(--c-navy);
    font-size: 15px; font-weight: 700;
    padding: 16px 36px; border-radius: var(--radius-md);
    transition: transform .2s var(--ease-spring), box-shadow .2s;
    box-shadow: 0 4px 24px rgba(0,0,0,.15);
    text-decoration: none;
}
.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 32px rgba(0,0,0,.2);
}
.btn-secondary {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,.12);
    color: var(--c-white); font-size: 15px; font-weight: 600;
    padding: 16px 36px; border-radius: var(--radius-md);
    border: 1px solid rgba(255,255,255,.2);
    transition: background .2s, transform .2s var(--ease-spring);
    text-decoration: none;
}
.btn-secondary:hover {
    background: rgba(255,255,255,.2);
    transform: translateY(-3px);
}

/* ═════ ABOUT PAGE RESPONSIVE ═════ */
@media (max-width: 1024px) {
    .mission-grid, .values-header { grid-template-columns: 1fr; gap: 48px; }
    .values-grid { grid-template-columns: repeat(2, 1fr); }
    .team-grid { grid-template-columns: 1fr; }
    .partners-grid { grid-template-columns: repeat(2, 1fr); }
    .hero-stats-row { gap: 24px; flex-wrap: wrap; }
    .page-hero-content { padding: 0 48px; }
}
@media (max-width: 768px) {
    .container { padding: 0 20px; }
    .page-hero-content { padding: 0 24px; }
    .page-hero { padding: 100px 0 64px; }
    .values-grid { grid-template-columns: 1fr; }
    .team-grid { grid-template-columns: 1fr; }
    .partners-grid { grid-template-columns: 1fr; }
    .timeline-about::before { left: 24px; }
    .timeline-item { grid-template-columns: 0 48px 1fr !important; }
    .timeline-item:nth-child(odd) .timeline-content { grid-column: 3; text-align: left; }
    .timeline-item:nth-child(odd) .timeline-empty { display: none; }
    .timeline-item:nth-child(even) .timeline-empty { display: none; }
    .cta-inner { padding: 48px 24px; }
    .mission-grid { gap: 48px; }
    .hero-stats-row { gap: 16px; justify-content: center; }
}

.cursor-glow {
    pointer-events: none;
    position: fixed;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(150,200,26,.15) 0%, transparent 70%);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
    transition: top .2s ease, left .2s ease;
}

/* ═══════════════════════════════════════
   UTILITY CLASSES
   ═══════════════════════════════════════ */
.text-center { text-align: center; }
.text-gold { color: var(--c-gold); }
.text-navy { color: var(--c-navy); }
.bg-dark { background: var(--c-ink); }
.bg-surface { background: var(--c-surface); }
.bg-navy { background: var(--c-navy); }
.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.mb-16 { margin-bottom: 16px; }
.mb-24 { margin-bottom: 24px; }
.mb-40 { margin-bottom: 40px; }
.mb-60 { margin-bottom: 60px; }
.gap-16 { gap: 16px; }
.gap-32 { gap: 32px; }
.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }

/* ─── 合作伙伴 Logo ─── */
.partner-logo-item {
    transition: transform 0.3s ease;
}
.partner-logo-item:hover {
    transform: translateY(-2px);
}
.partner-logo-item img:hover {
    filter: grayscale(0%) !important;
    opacity: 1 !important;
}

/* ═══════════════════════════════════════
   NEWS PAGE (新闻动态)
   ═══════════════════════════════════════ */

/* ── News Hero — 复用共享增强版规则，此处仅保留特殊覆盖 ── */
/* 旧样式已统一 */

/* ── News Section Layout ── */
.news-section { padding: 100px 0 120px; background: var(--c-surface); }
.news-layout { display: grid; grid-template-columns: 1fr 340px; gap: 60px; align-items: start; }

/* ── News List Header ── */
.news-list-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 36px; padding-bottom: 24px; border-bottom: 1px solid var(--c-border); }
.news-count { font-size: 14px; color: var(--c-muted); }
.news-count strong { color: var(--c-navy); font-weight: 700; }

/* ── News Cards (通用) ── */
.news-card { display: block; background: var(--c-white); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-xs); transition: all .35s var(--ease-out); margin-bottom: 32px; border: 1px solid rgba(0,0,0,.04); }
.news-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: rgba(201,162,39,.25); }
.news-card-image { position: relative; min-height: 280px; overflow: hidden; background: linear-gradient(135deg, var(--c-navy) 0%, var(--c-navy-mid) 60%, var(--c-gold-pale) 100%); }
.news-card-image::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 30% 30%, rgba(201,162,39,.2) 0%, transparent 50%); }
.news-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease-out); }
.news-card:hover .news-card-image img { transform: scale(1.05); }
.news-card-badge { position: absolute; top: 20px; left: 20px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; background: var(--c-gold); color: var(--c-navy); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; border-radius: 100px; }
.news-card-body { padding: 36px; display: flex; flex-direction: column; }
.news-card-meta { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; font-size: 13px; color: var(--c-muted); }
.news-card-category { color: var(--c-gold); font-weight: 600; letter-spacing: .04em; }
.news-card-title { font-family: 'Noto Serif SC', serif; font-size: 24px; font-weight: 700; color: var(--c-navy); line-height: 1.35; margin-bottom: 14px; transition: color .2s; }
.news-card:hover .news-card-title { color: var(--c-gold); }
.news-card-excerpt { font-size: 15px; color: var(--c-muted); line-height: 1.75; flex: 1; margin-bottom: 20px; }
.news-card-footer { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--c-green); transition: gap .2s; }
.news-card:hover .news-card-footer { gap: 12px; }
.news-card-footer svg { width: 16px; height: 16px; transition: transform .2s; }
.news-card:hover .news-card-footer svg { transform: translateX(4px); }

/* ── Featured Card (头条 — 双列) ── */
.news-card.featured { display: grid; grid-template-columns: 1fr 1fr; }

/* ── Standard Card (普通 — 左图右文) ── */
.news-card.standard { display: grid; grid-template-columns: 220px 1fr; }
.news-card.standard .news-card-image { min-height: 180px; }
.news-card.standard .news-card-body { padding: 28px 32px; }
.news-card.standard .news-card-title { font-size: 19px; margin-bottom: 10px; }
.news-card.standard .news-card-excerpt { font-size: 14px; margin-bottom: 16px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ── Sidebar ── */
.news-sidebar { position: sticky; top: 100px; }
.sidebar-search { margin-bottom: 32px; }
/* .sidebar-search 内的 input 已由 .sidebar-search-input 统一接管，此处保留仅作兜底 */
.sidebar-search input:not(.sidebar-search-input) {
    width: 100%;
    padding: 12px 16px;
    border: 1.5px solid var(--c-border);
    border-radius: var(--radius-sm);
    font-size: 14px;
    outline: none;
    transition: border-color .2s;
}
.sidebar-search input:focus:not(.sidebar-search-input):not(.sidebar-search-input-v2) { border-color: var(--c-gold); }

/* 搜索框 — 统一样式（全局 searchform + 侧边栏 + 404 页面共用） */
/* 默认状态参考静态页 news.html：白底、灰边、圆角，focus 时变金边 */
.sidebar-search-input,
.sidebar-search input[type="search"],
.sidebar-search-wrap input[type="search"] {
    width: 100%;
    padding: 14px 20px 14px 48px;
    background-color: var(--c-white) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 16px center !important;
    border: 1px solid var(--c-border) !important;
    border-radius: var(--radius-md) !important;
    font-size: 14px;
    color: var(--c-body);
    transition: border-color .2s, box-shadow .2s;
    outline: none !important;
    box-shadow: none !important;
    font-family: inherit;
    box-sizing: border-box;
}
.sidebar-search-input:focus,
.sidebar-search input[type="search"]:focus,
.sidebar-search-wrap input[type="search"]:focus {
    border-color: var(--c-gold) !important;
    box-shadow: 0 0 0 3px rgba(201,162,39,.10) !important;
}
.sidebar-search-input::placeholder {
    color: rgba(0,0,0,.35);
}
/* 搜索框 hover 微交互 */
.sidebar-search-input:hover,
.sidebar-search input[type="search"]:hover,
.sidebar-search-wrap input[type="search"]:hover {
    border-color: var(--c-gold) !important;
}

.sidebar-search-wrap { position: relative; }

/* 搜索框 — 暗色背景变体（404 页面、深色 hero 区域） */
.page-hero .sidebar-search-input,
.page-hero .sidebar-search input[type="search"],
.page-hero .sidebar-search-wrap input[type="search"] {
    background-color: rgba(255,255,255,.08) !important;
    border-color: rgba(201,162,39,.45) !important;
    color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ccc' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
}
.page-hero .sidebar-search-input:focus,
.page-hero .sidebar-search input[type="search"]:focus,
.page-hero .sidebar-search-wrap input[type="search"]:focus {
    background-color: rgba(255,255,255,.12) !important;
    box-shadow: 0 0 0 3.5px rgba(201,162,39,.20) !important;
}
.page-hero .sidebar-search-input::placeholder,
.page-hero .sidebar-search input[type="search"]::placeholder,
.page-hero .sidebar-search-wrap input[type="search"]::placeholder {
    color: rgba(255,255,255,.42);
}
.page-hero .sidebar-search-input:hover,
.page-hero .sidebar-search input[type="search"]:hover,
.page-hero .sidebar-search-wrap input[type="search"]:hover {
    border-color: var(--c-gold) !important;
}

/* Sidebar Box (分类/标签/热门) */
.sidebar-box { background: var(--c-white); border-radius: var(--radius-lg); padding: 28px; margin-bottom: 24px; border: 1px solid rgba(0,0,0,.04); box-shadow: var(--shadow-xs); }
.sidebar-title { font-size: 13px; font-weight: 700; color: var(--c-navy); letter-spacing: .06em; text-transform: uppercase; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--c-border); }
.sidebar-cat-list { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.sidebar-cat-item a { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; border-radius: var(--radius-sm); font-size: 14px; color: var(--c-body); transition: all .2s; }
.sidebar-cat-item a:hover, .sidebar-cat-item a.active { color: var(--c-gold); background: var(--c-gold-pale); }
.sidebar-cat-count { font-size: 12px; color: var(--c-muted); }

/* Tags Cloud */
.tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-pill { padding: 8px 16px; background: var(--c-surface); border-radius: 100px; font-size: 13px; color: var(--c-muted); transition: all .2s; border: 1px solid transparent; cursor: pointer; }
.tag-pill:hover { color: var(--c-gold); border-color: var(--c-gold); background: var(--c-gold-pale); }

/* Mini Hot News Items */
.mini-news-item { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--c-border); transition: opacity .2s; cursor: pointer; }
.mini-news-item:last-child { border-bottom: none; }
.mini-news-item:hover { opacity: .7; }
.mini-news-date { font-size: 11px; color: var(--c-gold); font-weight: 600; white-space: nowrap; line-height: 1.6; }

/* ═══════════════════════════════════════
   SINGLE NEWS PAGE (新闻详情页)
   ═══════════════════════════════════════ */

/* ── Single News Hero ── */
/* 旧样式已统一 */
.page-hero-single-news .page-title-lg {
    font-size: clamp(28px, 4.5vw, 44px);
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
.page-hero-single-news .page-hero-bg,
.page-hero-single-news .page-hero-grid,
.page-hero-single-news .page-hero-line,
.page-hero-single-news .page-hero-orb {
    /* 复用 page-hero-about 的背景样式 — 已在上方统一定义选择器组 */
}

/* ── News Meta Bar (文章元信息栏) ── */
.news-meta-bar {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
    padding: 0;
}
.news-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: rgba(255,255,255,.55);
}
.news-meta-item svg {
    color: var(--c-gold);
    opacity: .8;
}

/* ── Feature Image (特色图) ── */
.news-feature-image {
    max-width: 960px;
    margin: 0 auto 48px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}
.news-feature-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius-lg);
}

/* ── Article Body (正文容器) ── */
.article-body-wrap {
    max-width: 800px;
    margin: 0 auto;
}

/* ── Detail Tags (标签区) ── */
.news-detail-tags {
    max-width: 800px;
    margin: 48px auto 0;
    padding-top: 28px;
    border-top: 2px solid var(--c-gold-pale);
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.news-tags-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--c-navy);
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* ── Detail Nav (导航栏：返回 + 上下篇) ── */
.news-detail-nav {
    margin: 48px 0 0;
    padding: 0;
}
.btn-sm { font-size: 13px; padding: 10px 20px; }

/* ── 文章导航：上一篇/下一篇（参考 article.html .article-nav） ── */
.news-pager {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.news-pager-btn {
    display: flex;
    flex-direction: column;
    padding: 28px;
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    transition: all .25s var(--ease-out);
}
.news-pager-btn:hover {
    border-color: var(--c-gold);
    box-shadow: var(--shadow-sm);
}
.news-pager-prev { align-items: flex-start; text-align: left; }
.news-pager-next { align-items: flex-end; text-align: right; }
.news-pager-prev { align-items: flex-start; }
.news-pager-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--c-gold);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.news-pager-prev .news-pager-label { flex-direction: row-reverse; }
.news-pager-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--c-navy);
    line-height: 1.45;
}

/* ── 分享栏（参考 article.html .share-bar） ── */
.news-share-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 36px;
    padding: 24px 0;
    border-top: 1px solid var(--c-border);
    border-bottom: 1px solid var(--c-border);
}
.news-share-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--c-navy);
    letter-spacing: .04em;
}
.news-share-btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--c-surface);
    color: var(--c-muted);
    border: none;
    cursor: pointer;
    transition: all .2s ease;
    text-decoration: none;
}
.news-share-btn:hover {
    background: var(--c-navy);
    color: #fff;
}

/* ── 复制成功 Toast ── */
.news-toast {
    position: fixed;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: var(--c-navy);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 24px;
    border-radius: 50px;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease;
    z-index: 9999;
    box-shadow: 0 6px 20px rgba(26,54,93,.25);
}
.news-toast.show {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.news-pager-prev .news-pager-title { text-align: left; }
.news-pager-next .news-pager-title { text-align: right; }

/* ═══════════════════════════════════════
   CONTACT PAGE — 联系我们（参照 contact.html）
   ═══════════════════════════════════════ */

/* Hero 已由共享 .page-hero-* 增强版规则覆盖（含 bg/grid/line/orb/content） */

.page-hero-contact .page-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(26,54,93,.20);
    border: 1px solid rgba(201,162,39,.3);
    color: var(--c-gold-light);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 100px;
    margin-bottom: 24px;
}
.page-eyebrow-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--c-gold);
    animation: pulse2 2s ease-in-out infinite;
}
@keyframes pulse2 { 0%,100%{opacity:1} 50%{opacity:.4} }

/* ── Contact Section ── */
.contact-section { padding: 100px 0 120px; background: var(--c-surface); }
.contact-layout {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 64px;
    align-items: start;
}

/* Contact Form */
.contact-form-wrap {
    background: var(--c-white);
    border-radius: var(--radius-lg);
    padding: 48px;
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(0,0,0,.04);
}
.form-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 26px;
    font-weight: 700;
    color: var(--c-navy);
    margin-bottom: 8px;
}
.form-desc {
    font-size: 15px;
    color: var(--c-muted);
    margin-bottom: 36px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}
.form-group { display: flex; flex-direction: column; }
.form-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--c-navy);
    margin-bottom: 8px;
    letter-spacing: .02em;
}
.form-input,
.form-select {
    width: 100%;
    padding: 14px 18px;
    background: var(--c-surface);
    border: 1.5px solid var(--c-border);
    border-radius: var(--radius-sm);
    font-size: 15px;
    color: var(--c-body);
    transition: border-color .2s, box-shadow .2s;
    outline: none;
    font-family: inherit;
}
.form-input:focus,
.form-select:focus {
    border-color: var(--c-gold);
    box-shadow: 0 0 0 3px rgba(201,162,39,.08);
    background: #fff;
}
.form-input::placeholder { color: var(--c-muted); }
textarea.form-input { resize: vertical; min-height: 140px; padding-top: 16px; line-height: 1.7; }

.form-select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    cursor: pointer;
}

.form-checkbox-group {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 28px;
}
.form-checkbox {
    width: 18px; height: 18px;
    border: 2px solid var(--c-border);
    border-radius: 4px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: all .2s;
    flex-shrink: 0;
    position: relative;
}
.form-checkbox:checked {
    background: var(--c-gold);
    border-color: var(--c-gold);
}
.form-checkbox:checked::after {
    content: '';
    position: absolute;
    left: 5px; top: 2px;
    width: 5px; height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.checkbox-label { font-size: 13px; color: var(--c-muted); }

.submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px 32px;
    background: var(--c-navy);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all .3s var(--ease-out);
    font-family: inherit;
    letter-spacing: .04em;
}
.submit-btn:hover {
    background: var(--c-navy-mid);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}
.submit-btn svg { width: 20px; height: 20px; }

/* Form Alert */
.form-alert {
    padding: 14px 20px;
    border-radius: var(--radius-md);
    margin-bottom: 24px;
}
.form-alert p { margin: 0; font-size: 14px; font-weight: 600; }
.form-alert-error { background: #fef2f2; color: #ef4444; border: 1px solid #fecaca; }
.form-alert-success { background: #ecfdf5; color: #059669; border: 1px solid #a7f3d0; }

/* ── Contact Sidebar ── */
.contact-sidebar { display: flex; flex-direction: column; gap: 24px; }

.contact-info-card {
    background: var(--c-white);
    border-radius: var(--radius-lg);
    padding: 36px;
    border: 1px solid rgba(0,0,0,.04);
    box-shadow: var(--shadow-xs);
}
.contact-card-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--c-navy);
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.contact-card-title svg { width: 22px; height: 22px; color: var(--c-gold); flex-shrink: 0; }

.contact-item {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}
.contact-item:last-child { margin-bottom: 0; }
.contact-icon-wrap {
    width: 48px; height: 48px;
    border-radius: var(--radius-sm);
    background: linear-gradient(135deg, var(--c-gold-pale), rgba(201,162,39,.08));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.contact-icon-wrap svg { width: 22px; height: 22px; color: var(--c-gold); }
.contact-text h5 { font-size: 14px; font-weight: 700; color: var(--c-navy); margin-bottom: 4px; }
.contact-text p { font-size: 14px; color: var(--c-muted); line-height: 1.6; margin: 0; }
.contact-text a { color: var(--c-navy-mid); transition: color .2s; }
.contact-text a:hover { color: var(--c-gold); }

/* Map Card */
.map-card {
    background: var(--c-white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.04);
    box-shadow: var(--shadow-xs);
}
.map-placeholder {
    width: 100%;
    height: 260px;
    background: linear-gradient(135deg, var(--c-navy) 0%, var(--c-navy-mid) 60%, #3a6a9e 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.map-placeholder::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 30px 30px;
}
.map-content { text-align: center; position: relative; z-index: 2; }
.map-pin-icon {
    width: 56px; height: 56px;
    background: rgba(201,162,39,.25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
}
.map-pin-icon svg { width: 28px; height: 28px; color: var(--c-gold-light); }
.map-label {
    font-family: 'Noto Serif SC', serif;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
}
.map-address { font-size: 13px; color: rgba(255,255,255,.55); }
.map-footer {
    padding: 16px 20px;
    background: var(--c-surface);
    border-top: 1px solid var(--c-border);
}
.map-footer p { font-size: 13px; color: var(--c-muted); margin: 0; }

/* CTA Banner */
.cta-banner {
    background: linear-gradient(145deg, var(--c-navy), #0f2240);
    border-radius: var(--radius-lg);
    padding: 40px 32px;
    color: #fff;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.cta-banner::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -30%;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(201,162,39,.15), transparent 70%);
    pointer-events: none;
}
.cta-banner h3 {
    font-family: 'Noto Serif SC', serif;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    position: relative;
    z-index: 2;
    color: #fff;
}
.cta-banner p {
    font-size: 14px;
    color: rgba(255,255,255,.55);
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
    line-height: 1.7;
}
.cta-banner-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    background: var(--c-gold);
    color: var(--c-navy);
    font-size: 14px;
    font-weight: 700;
    border-radius: var(--radius-md);
    transition: all .2s;
    position: relative;
    z-index: 2;
}
.cta-banner-btn:hover { background: var(--c-gold-light); }

/* ── Offices Section ── */
.offices-section { padding: 80px 0 60px; background: var(--c-white); }
.offices-header { text-align: center; margin-bottom: 56px; }
.offices-header h2 {
    font-family: 'Noto Serif SC', serif;
    font-size: 34px;
    font-weight: 900;
    color: var(--c-navy);
    margin-bottom: 12px;
}
.offices-header p { font-size: 16px; color: var(--c-muted); max-width: 500px; margin: 0 auto; }
.offices-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.office-card {
    background: var(--c-surface);
    border-radius: var(--radius-lg);
    padding: 36px 28px;
    border: 1px solid var(--c-border);
    text-align: center;
    transition: all .3s var(--ease-out);
}
.office-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: rgba(201,162,39,.25);
}
.office-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px; height: 64px;
    border-radius: var(--radius-md);
    background: linear-gradient(140deg, var(--c-navy), var(--c-navy-mid));
    margin-bottom: 20px;
}
.office-badge svg { width: 28px; height: 28px; color: var(--c-gold); }
.office-name { font-size: 19px; font-weight: 700; color: var(--c-navy); margin-bottom: 6px; }
.office-type {
    font-size: 13px;
    color: var(--c-gold);
    font-weight: 600;
    letter-spacing: .06em;
    margin-bottom: 16px;
}
.office-addr { font-size: 14px; color: var(--c-muted); line-height: 1.7; margin-bottom: 16px; }
.office-contact { font-size: 13px; color: var(--c-body); }

/* ── FAQ Section (Contact Page — 静态页风格覆盖通用 FAQ) ── */
.faq-section { padding: 80px 0 100px; background: var(--c-surface); }
.faq-header { text-align: center; margin-bottom: 52px; }
.faq-header h2 {
    font-family: 'Noto Serif SC', serif;
    font-size: 34px;
    font-weight: 900;
    color: var(--c-navy);
    margin-bottom: 12px;
}
.faq-header p { font-size: 16px; color: var(--c-muted); }
.faq-list {
    max-width: 780px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.faq-item {
    background: var(--c-white);
    border-radius: var(--radius-md);
    overflow: hidden;
    border: 1px solid var(--c-border);
    transition: border-color .2s;
}
.faq-item:hover { border-color: rgba(201,162,39,.25); }
.faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 28px;
    cursor: pointer;
    user-select: none;
}
.faq-q h4 { font-size: 16px; font-weight: 700; color: var(--c-navy); flex: 1; }
.faq-q-icon {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--c-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all .3s;
}
.faq-q-icon svg {
    width: 14px; height: 14px;
    color: var(--c-muted);
    transform: rotate(180deg);
    transition: transform .3s;
}
.faq-item.active .faq-q-icon { background: var(--c-gold-pale); }
.faq-item.active .faq-q-icon svg { transform: rotate(0); color: var(--c-gold); }
.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s var(--ease-out);
}
.faq-a-inner {
    padding: 0 28px 20px;
    font-size: 15px;
    color: var(--c-muted);
    line-height: 1.75;
}
.faq-item.active .faq-a { max-height: 200px; }

/* ── Responsive ── */
@media(max-width:1024px){
    .contact-layout { grid-template-columns: 1fr; }
    .offices-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width:768px){
    .contact-section { padding: 60px 0 80px; }
    .form-row { grid-template-columns: 1fr; }
    .contact-form-wrap { padding: 28px 24px; }
    .offices-grid { grid-template-columns: 1fr; }
    .offices-section { padding: 60px 0 40px; }
    .faq-section { padding: 60px 0 70px; }
}

/* ── Related News Cards (相关推荐卡片) ── */
.card-image-link {
    display: block;
    aspect-ratio: 16/10;
    overflow: hidden;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
}
.card-image-link img,
.card-placeholder-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s var(--ease-out);
}
.card:hover .card-image-link img,
.card:hover .card-placeholder-img img { transform: scale(1.05); }

.card-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    font-size: 12px;
    color: var(--c-muted);
}
.card-meta span:first-child {
    color: var(--c-gold);
    font-weight: 600;
    letter-spacing: .03em;
}

.card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--c-green);
    transition: all .2s;
    margin-top: 14px;
}
.card-link:hover { gap: 10px; }
.card-link svg { transition: transform .2s; }
.card-link:hover svg { transform: translateX(4px); }

/* ═══════════════════════════════════════
   NEWS DETAIL SIDEBAR (详情页右侧栏)
   ═══════════════════════════════════════ */

/* ── Detail Layout (双栏布局) ── */
.news-detail-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 56px;
    align-items: start;
}
.news-detail-main { /* 左栏，无需额外样式 */ }

/* ── Sidebar Container ── */
.news-detail-sidebar {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ── CTA Card (获取产品资料) ── */
.sidebar-cta-card {
    background: linear-gradient(145deg, var(--c-navy), #0f2240);
    border-radius: var(--radius-lg);
    padding: 36px 28px;
    color: var(--c-white);
    position: relative;
    overflow: hidden;
}
.sidebar-cta-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(201,162,39,.15), transparent 50%);
}
/* ── CTA 立即获取按钮 ── */
.sidebar-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 26px;
    background: linear-gradient(135deg, #c9a227, #dbb82e);
    color: var(--c-navy);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .03em;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition:
        transform .35s cubic-bezier(.34,1.56,.64,1),
        box-shadow .3s ease,
        background .3s ease,
        filter .2s ease;
}
.sidebar-cta-btn:hover {
    transform: translateY(-3px) scale(1.04);
    box-shadow:
        0 8px 28px rgba(201,162,39,.5),
        0 4px 12px rgba(201,162,39,.25),
        0 0 0 1px rgba(255,255,255,.15) inset;
    background: linear-gradient(135deg, #dab32c, #edc630);
    filter: brightness(1.05);
}
.sidebar-cta-btn:active {
    transform: translateY(0) scale(.97);
    transition-duration: .12s;
}

/* 光效扫过动画 */
.sidebar-cta-btn::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -100%;
    width: 55%;
    height: 200%;
    background: linear-gradient(
        105deg,
        transparent 30%,
        rgba(255,255,255,.45) 50%,
        transparent 70%
    );
    transform: skewX(-22deg);
    opacity: 0;
    pointer-events: none;
    transition: none;
}
.sidebar-cta-btn:hover::after {
    left: 160%;
    opacity: 1;
    transition: left .65s ease-out, opacity .2s ease-in;
}

/* 脉冲光环（持续吸引注意） */
.sidebar-cta-btn::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    background: inherit;
    z-index: -1;
    opacity: 0;
    animation: cta-pulse-ring 2.5s ease-in-out infinite;
}
@keyframes cta-pulse-ring {
    0%, 100% { transform: scale(1); opacity: 0; }
    50% { transform: scale(1.08); opacity: .25; }
}
.sidebar-cta-icon {
    width: 52px; height: 52px;
    background: rgba(255,255,255,.08);
    border-radius: var(--radius-md);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 20px;
    color: var(--c-gold-light);
    position: relative; z-index: 1;
}
.sidebar-cta-title {
    font-size: 19px;
    font-weight: 700;
    color: var(--c-white);
    margin-bottom: 10px;
    position: relative; z-index: 1;
}
.sidebar-cta-desc {
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255,255,255,.6);
    position: relative; z-index: 1;
    margin-bottom: 28px;
}

/* ── Read Card (相关阅读) ── */
.sidebar-read-card {
    background: var(--c-white);
    border-radius: var(--radius-lg);
    padding: 28px;
    border: 1px solid rgba(0,0,0,.04);
    box-shadow: var(--shadow-xs);
}
.sidebar-read-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--c-navy);
    letter-spacing: .03em;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--c-border);
}
.sidebar-read-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.sidebar-read-item {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    text-decoration: none;
    transition: opacity .2s;
}
.sidebar-read-item:hover { opacity: .7; }
.sidebar-read-thumb {
    flex-shrink: 0;
    width: 48px; height: 48px;
    background: linear-gradient(135deg, var(--c-navy), var(--c-navy-mid));
    border-radius: var(--radius-sm);
    display: flex; align-items: center; justify-content: center;
}
.sidebar-read-thumb span {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    color: rgba(255,255,255,.45);
}
.sidebar-read-info { flex: 1; min-width: 0; }
.sidebar-read-item-title {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--c-navy);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 4px;
    transition: color .2s;
}
.sidebar-read-item:hover .sidebar-read-item-title { color: var(--c-gold); }
.sidebar-read-date {
    font-size: 11px;
    color: var(--c-muted);
}

/* ═══ NEWS DETAIL RESPONSIVE ═════ */
@media (max-width: 1024px) {
    .news-detail-layout { grid-template-columns: 1fr; }
    .news-detail-sidebar { position: static; top: 0; order: -1; }
}
.mini-news-text { font-size: 13px; color: var(--c-body); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ── Pagination ── */
.news-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--c-border); }
.news-pagination a,
.news-pagination span {
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    border-radius: var(--radius-sm); font-size: 14px; font-weight: 500;
    color: var(--c-body); background: var(--c-white);
    border: 1px solid var(--c-border);
    cursor: pointer; transition: all .2s;
}
.news-pagination a:hover,
.news-pagination span.current,
.news-pagination .current { background: var(--c-navy); color: var(--c-white); border-color: var(--c-navy); }

/* ── Single News Article Body ── */
.news-article-body h2 { font-size: 26px; margin: 40px 0 18px; color: var(--c-navy); }
.news-article-body h3 { font-size: 21px; margin: 32px 0 14px; color: var(--c-navy-mid); }
.news-article-body p + p { margin-top: 20px; }
.news-article-body img { max-width: 100%; height: auto; border-radius: var(--radius-lg); margin: 32px 0; }
.news-article-body blockquote {
    border-left: 4px solid var(--c-gold);
    padding: 24px 28px;
    margin: 32px 0;
    background: var(--c-gold-pale);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    font-style: italic;
    color: var(--c-navy-mid);
}

/* ═════ NEWS PAGE RESPONSIVE ═════ */
@media (max-width: 1024px) {
    .news-layout { grid-template-columns: 1fr; }
    .news-sidebar { position: relative; top: 0; }
}
@media (max-width: 768px) {
    .news-card.featured, .news-card.standard { grid-template-columns: 1fr; }
    .news-card.featured .news-card-image { min-height: 220px; }
    .news-card.standard .news-card-image { min-height: 160px; }
    .news-card-body { padding: 24px; }
    .page-hero-content { padding: 0 24px; }
    .container { padding: 0 24px; }
    .news-section { padding: 60px 0 80px; }
}

/* ═══════════════════════════════════════
   RESEARCH PAGE STYLES（科研实力 — 还原 research.html）
   ═══════════════════════════════════════ */

/* ── 面包屑（子页面通用） ── */
.page-breadcrumb {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: rgba(255,255,255,.5);
    margin-bottom: 32px; letter-spacing: .04em;
}
.page-breadcrumb a { color: rgba(255,255,255,.5); transition: color .2s; }
.page-breadcrumb a:hover { color: var(--c-gold-light); }
.page-breadcrumb .sep { color: rgba(255,255,255,.25); }
.page-breadcrumb .current { color: var(--c-gold-light); }

/* ── Eyebrow 标签（子页面 Hero） ── */
.page-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(26,54,93,.20); border: 1px solid rgba(201,162,39,.3);
    color: var(--c-gold-light); font-size: 12px; font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase;
    padding: 6px 16px; border-radius: 100px; margin-bottom: 24px;
}
.page-eyebrow-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--c-gold); animation: pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot { 0%,100%{opacity:1} 50%{opacity:.4} }

/* ── Hero 标题高亮 ── */
.page-title .highlight { color: var(--c-gold); position: relative; }
.page-title-lg { font-size: clamp(36px, 5vw, 56px) !important; }
.page-subtitle { font-size: clamp(15px, 1.8vw, 18px) !important; color: rgba(255,255,255,.75) !important; line-height: 1.8; }

/* ── 1. 技术平台概览（左图右文） ── */
.platform-section { padding: 100px 0 80px; background: var(--c-white); }
.platform-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 60px;
    align-items: center; margin-top: 48px;
}
.platform-visual {
    position: relative; aspect-ratio: 4/3;
    border-radius: var(--radius-lg); overflow: hidden;
    background: linear-gradient(135deg, var(--c-navy), var(--c-navy-mid));
    display: flex; align-items: center; justify-content: center;
}
.platform-visual-overlay {
    position: absolute; inset: 0;
    background:
        radial-gradient(circle at 30% 40%, rgba(201,162,39,.15) 0%, transparent 50%),
        radial-gradient(circle at 70% 70%, rgba(74,111,165,.15) 0%, transparent 45%);
}
.platform-visual-icon {
    position: relative; z-index: 2;
    width: 140px; height: 140px; border-radius: 50%;
    background: rgba(201,162,39,.15);
    border: 2px solid rgba(201,162,39,.35);
    display: flex; align-items: center; justify-content: center;
}
.platform-visual-icon svg { width: 64px; height: 64px; color: var(--c-gold); }
.platform-visual-label {
    position: absolute; bottom: 32px; left: 32px; z-index: 2;
    color: var(--c-white); font-family: 'Noto Serif SC', serif;
    font-size: 20px; font-weight: 700;
}
.platform-text .section-label { margin-bottom: 12px; }
.platform-text h2 { margin-bottom: 18px; }
.platform-desc {
    color: var(--c-body); font-size: 16px;
    line-height: 1.85; margin-bottom: 28px;
}
.platform-highlights { display: flex; flex-direction: column; gap: 16px; }
.platform-hl-item {
    display: flex; align-items: flex-start; gap: 14px;
    padding: 16px 20px; background: var(--c-surface);
    border-radius: var(--radius-md);
    border-left: 3px solid var(--c-gold);
}
.platform-hl-icon {
    flex-shrink: 0; width: 40px; height: 40px; border-radius: 10px;
    background: var(--c-gold-pale);
    display: flex; align-items: center; justify-content: center;
}
.platform-hl-icon svg { width: 20px; height: 20px; color: var(--c-gold); }
.platform-hl-content strong { display: block; font-size: 15px; color: var(--c-navy); margin-bottom: 4px; }
.platform-hl-content span { font-size: 13px; color: var(--c-muted); }

@media (max-width: 1024px) {
    .platform-grid { grid-template-columns: 1fr; gap: 40px; }
    .platform-visual { max-width: 480px; margin: 0 auto; width: 100%; }
}

/* ── 2. 四大核心技术卡片 ── */
/* ── 2. 核心技术矩阵 — 2×2 大卡片网格 ── */
.tech-section { padding: 90px 0 80px; background: var(--c-surface); }
.tech-header .section-desc { margin: 0 auto; }
.tech-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}
.tech-card {
    background: var(--c-white);
    border-radius: var(--radius-lg);
    padding: 36px 32px;
    border: 1px solid var(--c-border);
    border-left: 4px solid var(--c-gold);
    transition: transform .4s var(--ease-out), box-shadow .4s var(--ease-out);
    position: relative;
    overflow: hidden;
}
/* 偶数行右侧卡片用海军蓝左边框 */
.tech-card:nth-child(2n) { border-left-color: var(--c-navy-mid); }

.tech-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }

/* Platform 胶囊标签 */
.tech-card-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    padding: 5px 14px;
    border-radius: 100px;
    margin-bottom: 18px;
}
.badge-gold {
    background: var(--c-gold-pale);
    color: #99700E;
}
.badge-navy {
    background: rgba(26,54,93,.08);
    color: var(--c-navy-mid);
}

.tech-card h3 {
    font-family: 'Noto Serif SC', serif;
    font-size: 21px;
    font-weight: 700;
    color: var(--c-navy);
    margin-bottom: 12px;
    line-height: 1.35;
}
.tech-card p {
    font-size: 14.5px;
    color: var(--c-muted);
    line-height: 1.8;
    margin-bottom: 20px;
}
.tech-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.tech-tag {
    font-size: 11px;
    font-weight: 600;
    padding: 5px 13px;
    border-radius: 100px;
    background: var(--c-gold-pale);
    color: #99700E;
    letter-spacing: .02em;
}

@media (max-width: 900px) {
    .tech-cards { grid-template-columns: 1fr; }
}

/* ── 3. 研发团队：统计栏 + 成员卡片 ── */
.team-section { padding: 90px 0; background: var(--c-white); }
.team-header .section-title { color: var(--c-navy); }
.team-header .section-desc { color: var(--c-muted); margin: 0 auto; }
.team-stats-bar {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
    margin-bottom: 56px; border-radius: var(--radius-lg);
    overflow: hidden; box-shadow: var(--shadow-md);
}
.team-stat {
    text-align: center; padding: 42px 24px;
    background: var(--c-navy); position: relative;
}
.team-stat:not(:last-child)::after {
    content:''; position: absolute; right: 0; top: 24px; bottom: 24px;
    width: 1px; background: rgba(255,255,255,.12);
}
.team-stat-num {
    font-family: 'Inter', sans-serif;
    font-size: clamp(32px, 4vw, 46px); font-weight: 800;
    color: var(--c-gold); line-height: 1; margin-bottom: 8px;
}
.team-stat-label { font-size: 13px; color: rgba(255,255,255,.65); letter-spacing: .04em; }

.team-members {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
.team-member-card {
    display: flex; flex-direction: column; align-items: center;
    text-align: center; padding: 36px 24px 32px;
    background: var(--c-white); border-radius: var(--radius-lg);
    border: 1px solid var(--c-border); transition: box-shadow .3s, transform .3s;
}
.team-member-card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); }
.member-avatar {
    width: 88px; height: 88px; border-radius: 50%;
    background: linear-gradient(135deg, var(--c-navy), var(--c-gold));
    display: flex; align-items: center; justify-content: center;
    font-family: 'Noto Serif SC', serif;
    font-size: 32px; font-weight: 700; color: #fff;
    margin-bottom: 20px;
    box-shadow: 0 6px 20px rgba(26,54,93,.18);
}
.team-member-card h4 { font-size: 17px; font-weight: 700; color: var(--c-navy); margin-bottom: 8px; }
.team-member-card .role {
    font-size: 13px; color: var(--c-gold-dark, #8a732a);
    font-weight: 600; margin-bottom: 14px;
    padding: 4px 14px; border-radius: 100px;
    background: rgba(212,175,55,.10);
}
.team-member-card .bio { font-size: 13px; color: var(--c-muted); line-height: 1.75; }

@media (max-width: 768px) {
    .team-stats-bar { grid-template-columns: repeat(2, 1fr); }
    .team-stat:nth-child(2)::after { display: none; }
    .team-members { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .team-members { grid-template-columns: 1fr; }
}

/* ── 4. 专利时间轴（Research 页专用增强版） ── */
/* ── 4. 专利时间轴 — 照搬静态页 research.html ═══ */
/* 用 .timeline-patent 前缀避免与全局 .timeline (line 951) 冲突 */
.patent-section { padding: 90px 0 100px; background: var(--c-surface); }
.patent-header { text-align: center; margin-bottom: 56px; }
.patent-header .section-desc { margin: 0 auto; }

.timeline-patent {
    position: relative;
    max-width: 850px;
    margin: 0 auto;
    padding: 0 20px;
}
.timeline-patent::before {
    content: '';
    position: absolute;
    left: 24px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, var(--c-gold), var(--c-navy-light), transparent);
}
.timeline-patent-item {
    position: relative;
    padding-left: 68px;
    padding-bottom: 48px;
}
.timeline-patent-item:last-child { padding-bottom: 0; }

.timeline-patent-item .timeline-patent-dot {
    position: absolute;
    left: 12px;
    top: 4px;
    width: 26px;
    height: 26px;
    border-radius: 50% !important;
    background: var(--c-white) !important;
    border: 3px solid var(--c-gold) !important;
    box-shadow: 0 0 0 4px var(--c-gold-pale) !important;
    z-index: 2;
    display: block !important;
}
.timeline-patent-item .timeline-year {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: var(--c-gold);
    letter-spacing: .06em;
    margin-bottom: 8px;
}
.timeline-patent-item .timeline-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--c-navy);
    margin-bottom: 8px;
}
.timeline-patent-item .timeline-desc {
    font-size: 14px;
    color: var(--c-muted);
    line-height: 1.7;
}
.timeline-patent-item .timeline-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 100px;
    background: var(--c-navy);
    color: var(--c-gold);
    margin-top: 10px;
    letter-spacing: .03em;
}

/* ── 5. 产学研合作（项目卡片 + Logo网格 + CTA） ── */
.partner-section { padding: 90px 0 100px; background: var(--c-white); }

/* 合作项目卡片 */
.partner-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 48px;
}
.partner-card {
    display: flex;
    gap: 20px;
    padding: 28px;
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    border-left: 4px solid var(--c-gold);
    transition: all .3s;
}
.partner-card:hover {
    border-color: var(--c-gold);
    box-shadow: var(--shadow-sm);
    transform: translateY(-2px);
}
.partner-card-icon {
    width: 48px; height: 48px; flex-shrink: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--c-navy), var(--c-navy-mid));
    display: flex; align-items: center; justify-content: center;
}
.partner-card-icon svg { width: 22px; height: 22px; color: var(--c-gold); }
.partner-card-body h4 {
    font-size: 15px; font-weight: 700; color: var(--c-navy);
    margin-bottom: 8px; line-height: 1.5;
}
.partner-card-body p {
    font-size: 13px; color: var(--c-muted);
    line-height: 1.7; margin-bottom: 12px;
}
.partner-tag {
    display: inline-block;
    font-size: 11px; font-weight: 600; padding: 3px 10px;
    border-radius: 100px; background: rgba(212,175,55,.10);
    color: var(--c-gold-dark, #8a732a);
    margin-right: 6px; margin-bottom: 4px;
}
.partner-section { padding: 90px 0 100px; background: var(--c-white); }
.partner-logos {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 20px; margin-bottom: 48px;
}
.partner-logo-item {
    display: flex; align-items: center; justify-content: center;
    padding: 28px 16px; border: 1px solid var(--c-border);
    border-radius: var(--radius-md); background: var(--c-surface);
    font-size: 13px; font-weight: 600; color: var(--c-muted);
    transition: all .3s; line-height: 1.6; text-align: center;
}
.partner-logo-item:hover { border-color: var(--c-gold); color: var(--c-navy); box-shadow: var(--shadow-sm); }
.partner-logo-item strong { color: var(--c-body); font-size: 12px; font-weight: 500; display: block; margin-top: 4px; }
.partner-cta {
    text-align: center; padding: 52px 40px;
    background: linear-gradient(135deg, var(--c-navy), var(--c-navy-mid));
    border-radius: var(--radius-xl);
}
.partner-cta h3 {
    font-family: 'Noto Serif SC', serif; font-size: 26px;
    font-weight: 700; color: #fff; margin-bottom: 14px;
}
.partner-cta p { font-size: 15px; color: rgba(255,255,255,.65); margin-bottom: 28px; max-width: 520px; margin-left: auto; margin-right: auto; }
.partner-cta .btn svg { width: 18px; height: 18px; }

@media (max-width: 768px) {
    .partner-cards { grid-template-columns: 1fr; }
    .partner-card { flex-direction: column; gap: 16px; }
    .partner-logos { grid-template-columns: repeat(2, 1fr); }
}

/* ── Research Page Responsive ── */
@media (max-width: 1024px) {
    .platform-grid { grid-template-columns: 1fr; gap: 40px; }
    .partner-logos { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .page-hero-content { padding: 0 24px; }
    .platform-visual { max-width: 480px; margin: 0 auto; width: 100%; }
    .team-stats-bar { grid-template-columns: repeat(2, 1fr); }
    .team-stat:nth-child(2)::after { display: none; }
}

/* ═══════════════════════════════════════════════════════════════
   CONTENT FORMS — V2 风格（对齐 contact-form.html）
   kmyeast-wp Theme V2 | 黄绿主色调 + 深蓝文字
   
   设计要点：
   - 输入框：淡黄绿灰背景 #f5f7f2，聚焦黄绿边框 #b4dd3a
   - 按钮：黄绿背景 #b4dd3a，深蓝文字 #0d1f3c，药丸形圆角
   - 必填星号：红色 #e53e3e
   ═══════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   1. 输入框 & 文本域
   ───────────────────────────────────────────── */
.ti-cf-module input[type="text"],
.ti-cf-module input[type="email"],
.ti-cf-module input[type="tel"],
.ti-cf-module input[type="url"],
.ti-cf-module input[type="number"],
.ti-cf-module textarea,
.ti-cf-module select,
body .ti-cf-module input[type="text"],
body .ti-cf-module input[type="email"],
body .ti-cf-module input[type="tel"],
body .ti-cf-module textarea,
body .ti-cf-module select,
.elementor-16 .elementor-element-f42e7f8 fieldset > input,
.elementor-16 .elementor-element-f42e7f8 fieldset > textarea,
.elementor-16 .elementor-element-f42e7f8 fieldset select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 16px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    /* 淡黄绿灰背景 — 对齐参考文件 */
    background-color: #f5f7f2 !important;

    /* 淡边框 */
    border: 1px solid rgba(13, 31, 60, 0.08) !important;
    border-radius: 12px !important;

    font-size: 15px !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #0d1f3c !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    outline: none !important;
    transition: border-color 0.25s, box-shadow 0.25s, background-color 0.25s !important;
    text-align: left !important;
}

/* 占位符 */
.ti-cf-module input::placeholder,
.ti-cf-module textarea::placeholder {
    color: #9ab !important;
    font-size: 14px !important;
    opacity: 1 !important;
}

/* Hover 悬停 — 边框变黄绿 */
.ti-cf-module input[type="text"]:hover,
.ti-cf-module input[type="email"]:hover,
.ti-cf-module input[type="tel"]:hover,
.ti-cf-module textarea:hover,
.ti-cf-module select:hover,
body .ti-cf-module input:hover,
body .ti-cf-module textarea:hover,
.elementor-16 .elementor-element-f42e7f8 fieldset > input:hover,
.elementor-16 .elementor-element-f42e7f8 fieldset > textarea:hover {
    border-color: rgba(180, 221, 58, 0.4) !important;
}

/* Focus 聚焦 — 黄绿边框 + 光晕 + 白色背景 */
.ti-cf-module input[type="text"]:focus,
.ti-cf-module input[type="email"]:focus,
.ti-cf-module input[type="tel"]:focus,
.ti-cf-module textarea:focus,
.ti-cf-module select:focus,
body .ti-cf-module input:focus,
body .ti-cf-module textarea:focus,
.elementor-16 .elementor-element-f42e7f8 fieldset > input:focus,
.elementor-16 .elementor-element-f42e7f8 fieldset > textarea:focus,
.elementor-16 .elementor-element-f42e7f8 fieldset select:focus {
    border-color: #b4dd3a !important;                              /* 主黄绿色 */
    box-shadow: 0 0 0 3.5px rgba(180, 221, 58, 0.18) !important;   /* 黄绿光晕 */
    background-color: #ffffff !important;                           /* 聚焦时白色 */
    outline: none !important;
}

/* 文本域 */
.ti-cf-module textarea,
body .ti-cf-module textarea,
.elementor-16 .elementor-element-f42e7f8 fieldset > textarea {
    min-height: 140px !important;
    resize: vertical !important;
    line-height: 1.65 !important;
}

/* 下拉框箭头 */
.ti-cf-module select,
body .ti-cf-module select,
.elementor-16 .elementor-element-f42e7f8 fieldset select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23546e8a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}

/* ─────────────────────────────────────────────
   2. 标签文字
   ───────────────────────────────────────────── */
.ti-cf-module label,
.ti-cf-module fieldset > label,
body .ti-cf-module label,
.elementor-16 .elementor-element-f42e7f8 fieldset > label {
    display: block !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0d1f3c !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    letter-spacing: 0.02em !important;
    font-family: inherit !important;
    padding: 0 !important;
}

/* 必填星号 — 红色 */
.ti-cf-module .content-forms-required,
.ti-cf-module .required-mark,
.elementor-16 .elementor-element-f42e7f8 .required-mark {
    color: #e53e3e !important;
    font-weight: 700 !important;
    margin-left: 2px !important;
}

/* ─────────────────────────────────────────────
   3. 段落/字段间距
   ───────────────────────────────────────────── */
.ti-cf-module fieldset,
body .ti-cf-module fieldset {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

/* 每个字段之间的间距 */
.ti-cf-module fieldset + fieldset,
body .ti-cf-module fieldset + fieldset {
    margin-top: 20px !important;
}

/* 覆盖 Elementor 的字段间距 */
.elementor-16 .elementor-element-f42e7f8 .elementor-column {
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-bottom: 20px !important;
}

/* ─────────────────────────────────────────────
   4. 提交按钮 ★ 核心：黄绿药丸按钮
   ───────────────────────────────────────────── */
.ti-cf-module button[type="submit"],
.ti-cf-module .submit-form button,
.ti-cf-module.content-form button,
body .ti-cf-module button[type="submit"],
.elementor-16 .elementor-element-f42e7f8 fieldset > button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    /* 宽高自适应 */
    width: auto !important;
    padding: 14px 32px !important;
    margin: 8px 0 0 0 !important;

    /* 黄绿背景 + 深蓝文字 — 对齐参考文件 */
    background: #b4dd3a !important;
    color: #0d1f3c !important;

    font-size: 15px !important;
    font-weight: 600 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;

    /* 药丸形圆角 */
    border-radius: 999px !important;
    border: none !important;

    cursor: pointer !important;

    /* 绿色阴影 */
    box-shadow: 0 4px 16px rgba(180, 221, 58, 0.35) !important;

    transition: transform 0.25s, box-shadow 0.25s, background-color 0.25s !important;

    -webkit-appearance: none !important;
    appearance: none !important;
    outline: none !important;
    text-decoration: none !important;
    text-align: center !important;
}

/* 按钮 hover — 更亮的黄绿 */
.ti-cf-module button[type="submit"]:hover,
.ti-cf-module .submit-form button:hover,
body .ti-cf-module button[type="submit"]:hover,
.elementor-16 .elementor-element-f42e7f8 fieldset > button:hover {
    background: #c8e84c !important;
    color: #0d1f3c !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(180, 221, 58, 0.45) !important;
}

/* 按钮 active */
.ti-cf-module button[type="submit"]:active,
body .ti-cf-module button[type="submit"]:active,
.elementor-16 .elementor-element-f42e7f8 fieldset > button:active {
    transform: translateY(0) !important;
    box-shadow: 0 4px 16px rgba(180, 221, 58, 0.35) !important;
}

/* 禁用状态 */
.ti-cf-module button[type="submit"]:disabled,
body .ti-cf-module button[type="submit"]:disabled {
    opacity: 0.65 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* ─────────────────────────────────────────────
   5. 提交按钮容器
   ───────────────────────────────────────────── */
.ti-cf-module .submit-form,
body .ti-cf-module .submit-form {
    margin-top: 8px !important;
    padding: 0 !important;
    text-align: left !important;
}

/* 覆盖 Elementor 的提交按钮容器样式 */
.elementor-16 .elementor-element-f42e7f8 .content-form .submit-form {
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-bottom: 0 !important;
    text-align: left !important;
}

/* ─────────────────────────────────────────────
   6. 响应消息
   ───────────────────────────────────────────── */
.ti-cf-module .content-form-notice,
.ti-cf-module .content-form-success,
.ti-cf-module .content-form-error,
body .ti-cf-module .content-form-notice {
    padding: 16px 20px !important;
    margin: 20px 0 0 !important;
    border-radius: 12px !important;
    border-width: 1px !important;
    border-style: solid !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.ti-cf-module .content-form-success,
body .ti-cf-module .content-form-success {
    background: #ecfdf5 !important;
    border-color: #6ee7b7 !important;
    color: #059669 !important;
}

.ti-cf-module .content-form-error,
body .ti-cf-module .content-form-error {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
    color: #dc2626 !important;
}

/* ─────────────────────────────────────────────
   7. 复选框
   ───────────────────────────────────────────── */
.ti-cf-module label.checkbox-input,
body .ti-cf-module label.checkbox-input {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding-left: 0 !important;
    position: relative !important;
}

.ti-cf-module label.checkbox-input input[type="checkbox"],
body .ti-cf-module label.checkbox-input input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    border: 2px solid rgba(13, 31, 60, 0.15) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    flex-shrink: 0 !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
}

.ti-cf-module label.checkbox-input input[type="checkbox"]:checked,
body .ti-cf-module label.checkbox-input input[type="checkbox"]:checked {
    background-color: #b4dd3a !important;
    border-color: #b4dd3a !important;
}

.ti-cf-module label.checkbox-input input[type="checkbox"]:checked::after,
body .ti-cf-module label.checkbox-input input[type="checkbox"]:checked::after {
    content: '' !important;
    position: absolute !important;
    left: 5px !important;
    top: 2px !important;
    width: 5px !important;
    height: 9px !important;
    border: solid #0d1f3c !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}

/* ─────────────────────────────────────────────
   8. 加载状态
   ───────────────────────────────────────────── */
.ti-cf-module .content-form-loading,
body .ti-cf-module .content-form-loading {
    opacity: 0.6 !important;
    pointer-events: none !important;
}

/* ─────────────────────────────────────────────
   9. 移动端响应式
   ───────────────────────────────────────────── */

/* 平板（641px - 1024px） */
@media screen and (max-width: 1024px) {
    /* 字段间距微调 */
    .ti-cf-module fieldset + fieldset,
    body .ti-cf-module fieldset + fieldset {
        margin-top: 16px !important;
    }
}

/* 手机（640px 及以下） */
@media screen and (max-width: 640px) {
    /* ── 表单容器 ── */
    .ti-cf-module,
    body .ti-cf-module {
        padding: 20px 16px !important;
    }

    /* ── 标签 ── */
    .ti-cf-module label,
    .ti-cf-module fieldset > label,
    body .ti-cf-module label,
    .elementor-16 .elementor-element-f42e7f8 fieldset > label {
        font-size: 13px !important;
        margin-bottom: 4px !important;
    }

    /* ── 输入框 & 文本域 ── */
    .ti-cf-module input[type="text"],
    .ti-cf-module input[type="email"],
    .ti-cf-module input[type="tel"],
    .ti-cf-module textarea,
    .ti-cf-module select,
    .elementor-16 .elementor-element-f42e7f8 fieldset > input,
    .elementor-16 .elementor-element-f42e7f8 fieldset > textarea,
    .elementor-16 .elementor-element-f42e7f8 fieldset select {
        padding: 13px 14px !important;
        font-size: 16px !important;   /* 16px 防止 iOS 自动缩放 */
        border-radius: 10px !important;
        min-height: 48px !important;
    }

    /* 文本域 */
    .ti-cf-module textarea,
    body .ti-cf-module textarea,
    .elementor-16 .elementor-element-f42e7f8 fieldset > textarea {
        min-height: 120px !important;
    }

    /* ── 字段间距 ── */
    .ti-cf-module fieldset + fieldset,
    body .ti-cf-module fieldset + fieldset {
        margin-top: 16px !important;
    }

    /* Elementor 字段列间距 */
    .elementor-16 .elementor-element-f42e7f8 .elementor-column {
        margin-bottom: 16px !important;
    }

    /* ── 提交按钮 ★ 移动端全宽 ── */
    .ti-cf-module button[type="submit"],
    .ti-cf-module .submit-form button,
    body .ti-cf-module button[type="submit"],
    .elementor-16 .elementor-element-f42e7f8 fieldset > button {
        width: 100% !important;
        padding: 15px 28px !important;
        font-size: 15px !important;
        justify-content: center !important;
        border-radius: 999px !important;
    }

    /* 按钮容器 */
    .ti-cf-module .submit-form,
    body .ti-cf-module .submit-form {
        margin-top: 12px !important;
    }

    /* ── 响应消息 ── */
    .ti-cf-module .content-form-notice,
    .ti-cf-module .content-form-success,
    .ti-cf-module .content-form-error,
    body .ti-cf-module .content-form-notice {
        padding: 14px 16px !important;
        font-size: 13px !important;
        border-radius: 8px !important;
    }

    /* ── 复选框 ── */
    .ti-cf-module label.checkbox-input,
    body .ti-cf-module label.checkbox-input {
        font-size: 13px !important;
    }

    .ti-cf-module label.checkbox-input input[type="checkbox"],
    body .ti-cf-module label.checkbox-input input[type="checkbox"] {
        width: 20px !important;
        height: 20px !important;
    }

    /* ── 占位符微调 ── */
    .ti-cf-module input::placeholder,
    .ti-cf-module textarea::placeholder {
        font-size: 15px !important;
    }
}

/* 超小屏（480px 及以下） */
@media screen and (max-width: 480px) {
    .ti-cf-module,
    body .ti-cf-module {
        padding: 16px 12px !important;
    }

    .ti-cf-module input[type="text"],
    .ti-cf-module input[type="email"],
    .ti-cf-module input[type="tel"],
    .ti-cf-module textarea,
    .ti-cf-module select {
        padding: 12px 12px !important;
        font-size: 16px !important;
        border-radius: 8px !important;
    }

    .ti-cf-module button[type="submit"],
    .ti-cf-module .submit-form button,
    body .ti-cf-module button[type="submit"] {
        padding: 14px 24px !important;
        font-size: 14px !important;
    }
}
/* 强制单列、全宽 */
.elementor-16 .elementor-element-f42e7f8 .elementor-column {
    width: 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* 确保 fieldset 撑满 */
.ti-cf-module fieldset {
    width: 100% !important;
    max-width: 100% !important;
}

/* ═══════════════════════════════════════════════════════════════
   END — Content Forms V2 STYLES (对齐 contact-form.html)
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════
   LATEST NEWS PAGE REFACTOR — 响应式重构 + Hero胶囊统一
   版本: 1.0
   说明: 本段CSS可直接追加到 style.css 末尾，覆盖原有样式
   ═══════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────
   1. HERO 区域 — 统一为简洁胶囊风格
   ───────────────────────────────────────── */

/*
 * 覆盖 .page-hero-news 的深蓝背景/装饰层，
 * 改用与联系方式页一致的黄绿渐变底色。
 */
.page-hero-news {
    min-height: 50vh !important;
    background: linear-gradient(145deg,
        #e6f4a0 0%, #c8e84c 30%, #b4dd3a 55%, #d6ef80 80%, #f0f9c8 100%
    ) !important;
}

/* 去掉深蓝增强版的背景装饰层 */
.page-hero-news .page-hero-bg,
.page-hero-news .page-hero-grid,
.page-hero-news .page-hero-line,
.page-hero-news .page-hero-orb {
    display: none !important;
}

/* 重写 ::before / ::after 为黄绿有机圆弧（与联系页一致） */
.page-hero-news::before {
    content: '';
    position: absolute;
    right: -8%;
    top: -12%;
    width: 55%;
    padding-bottom: 55%;
    background: rgba(255, 255, 255, .18);
    border-radius: 50%;
    z-index: 1;
}
.page-hero-news::after {
    content: '';
    position: absolute;
    left: -5%;
    bottom: -10%;
    width: 35%;
    padding-bottom: 35%;
    background: rgba(255, 255, 255, .12);
    border-radius: 50%;
    z-index: 1;
}

/* ── 胶囊 Label: 与联系页 .section-label 保持一致 ── */
.page-hero-news .page-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--b-900);
    color: #fff;
    padding: 7px 18px 7px 12px;
    border-radius: var(--r-full);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(13, 31, 60, .2);
    width: fit-content;
    border: none;
    backdrop-filter: none;
}

/* 胶囊中的脉冲圆点 — 统一为橙黄色 */
.page-hero-news .page-eyebrow-dot {
    width: 8px;
    height: 8px;
    background: var(--a-400);
    border-radius: 50%;
    flex-shrink: 0;
    animation: blink 2s ease-in-out infinite;
}

/* ── Hero 标题: 深蓝文字（而非白字） ── */
.page-hero-news .page-title,
.page-hero-news .page-title-lg {
    color: var(--b-900) !important;
    text-align: left !important;
    font-family: 'Noto Serif SC', serif;
    font-size: clamp(32px, 5vw, 52px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -.02em;
}

/* 高亮关键词仍用黄绿渐变 */
.page-hero-news .page-title .highlight,
.page-hero-news .page-title-lg .highlight {
    background: linear-gradient(90deg, var(--g-500), var(--g-400));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── Hero 副标题: 深色半透明文字 ── */
.page-hero-news .page-subtitle {
    font-size: 17px;
    color: rgba(13, 31, 60, .65) !important;
    max-width: 560px !important;
    line-height: 1.7;
    text-align: left !important;
    margin: 0;
}

/* Hero 内容区左对齐 */
.page-hero-news .page-hero-content {
    text-align: left;
}

/* ─────────────────────────────────────────
   2. 新闻列表区域 — 全响应式重构
   ───────────────────────────────────────── */

/* ── 2.1 基础布局 ── */
.news-section {
    padding: 80px 0 100px;
    background: var(--c-surface);
}

.news-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: start;
}

/* ── 2.2 列表头 ── */
.news-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--c-border);
}

.news-count {
    font-size: 14px;
    color: var(--c-muted);
}

.news-count strong {
    color: var(--b-800);
    font-weight: 700;
}

/* ── 2.3 Featured 卡片（头条）── */
.news-card.featured {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #fff;
    border-radius: var(--r-lg);
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
    border: 1px solid rgba(0, 0, 0, .04);
    margin-bottom: 28px;
    transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}

.news-card.featured:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: rgba(180, 221, 58, .25);
}

.news-card.featured .news-card-image {
    min-height: 320px;
    background: linear-gradient(135deg,
        var(--b-800) 0%, var(--b-600) 60%, var(--g-100) 100%);
}

.news-card.featured .news-card-body {
    padding: 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-card.featured .news-card-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--b-800);
    line-height: 1.35;
    margin-bottom: 14px;
    transition: color .2s;
}

.news-card.featured:hover .news-card-title {
    color: var(--g-600);
}

.news-card.featured .news-card-excerpt {
    font-size: 15px;
    color: var(--n-500);
    line-height: 1.75;
    flex: 1;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── 2.4 Standard 卡片（普通文章）── */
.news-card.standard {
    display: grid;
    grid-template-columns: 240px 1fr;
    background: #fff;
    border-radius: var(--r-md);
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
    border: 1px solid rgba(0, 0, 0, .04);
    margin-bottom: 24px;
    transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}

.news-card.standard:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-sm);
    border-color: rgba(180, 221, 58, .2);
}

.news-card.standard .news-card-image {
    min-height: 200px;
}

.news-card.standard .news-card-body {
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-card.standard .news-card-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--b-800);
    line-height: 1.4;
    margin-bottom: 10px;
    transition: color .2s;
}

.news-card.standard:hover .news-card-title {
    color: var(--g-600);
}

.news-card.standard .news-card-excerpt {
    font-size: 14px;
    color: var(--n-500);
    line-height: 1.7;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── 2.5 通用卡片子元素 ── */
.news-card-image {
    position: relative;
    overflow: hidden;
}

.news-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s var(--ease);
}

.news-card:hover .news-card-image img {
    transform: scale(1.05);
}

.news-card-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 14px;
    background: linear-gradient(135deg, var(--g-400), var(--g-500));
    color: var(--b-900);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    border-radius: var(--r-full);
}

.news-card-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
    font-size: 13px;
    color: var(--n-500);
}

.news-card-category {
    color: var(--g-600);
    font-weight: 600;
    letter-spacing: .04em;
}

.news-card-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--g-600);
    transition: gap .2s;
}

.news-card:hover .news-card-footer {
    gap: 12px;
}

.news-card-footer svg {
    width: 16px;
    height: 16px;
    transition: transform .2s;
}

.news-card:hover .news-card-footer svg {
    transform: translateX(4px);
}

/* ─────────────────────────────────────────
   3. 侧边栏 — 粘性定位与样式
   ───────────────────────────────────────── */

.news-sidebar {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.sidebar-box {
    background: #fff;
    border-radius: var(--r-md);
    padding: 24px;
    border: 1px solid rgba(0, 0, 0, .04);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
}

.sidebar-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--b-800);
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--n-300);
}

/* 分类列表 */
.sidebar-cat-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sidebar-cat-item a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 14px;
    border-radius: var(--r-sm);
    font-size: 14px;
    color: var(--n-700);
    transition: all .2s;
}

.sidebar-cat-item a:hover,
.sidebar-cat-item a.active {
    color: var(--g-600);
    background: var(--g-100);
}

.sidebar-cat-count {
    font-size: 12px;
    color: var(--n-500);
}

/* 标签云 */
.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tag-pill {
    padding: 7px 14px;
    background: var(--n-100);
    border-radius: var(--r-full);
    font-size: 13px;
    color: var(--n-500);
    transition: all .2s;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
}

.tag-pill:hover {
    color: var(--g-600);
    border-color: var(--g-400);
    background: var(--g-100);
}

/* 热门文章缩略 */
.mini-news-item {
    display: flex;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--n-300);
    transition: opacity .2s;
    cursor: pointer;
    text-decoration: none;
}

.mini-news-item:last-child {
    border-bottom: none;
}

.mini-news-item:hover {
    opacity: .7;
}

.mini-news-date {
    font-size: 11px;
    color: var(--g-600);
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.6;
}

.mini-news-text {
    font-size: 13px;
    color: var(--n-700);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 搜索框 */
.sidebar-search-wrap {
    position: relative;
}

.sidebar-search-input,
.sidebar-search-wrap input[type="search"] {
    width: 100%;
    padding: 13px 20px 13px 44px;
    background: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 14px center !important;
    border: 1px solid var(--n-300) !important;
    border-radius: var(--r-sm) !important;
    font-size: 14px;
    color: var(--n-700);
    transition: border-color .2s, box-shadow .2s;
    outline: none !important;
    box-shadow: none !important;
    font-family: inherit;
    box-sizing: border-box;
}

.sidebar-search-input:focus,
.sidebar-search-wrap input[type="search"]:focus {
    border-color: var(--g-500) !important;
    box-shadow: 0 0 0 3px rgba(150, 200, 26, .12) !important;
}

/* ─────────────────────────────────────────
   4. 分页组件
   ───────────────────────────────────────── */

.news-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--n-300);
}

.news-pagination a,
.news-pagination span {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--r-sm);
    font-size: 14px;
    font-weight: 500;
    color: var(--n-700);
    background: #fff;
    border: 1px solid var(--n-300);
    cursor: pointer;
    transition: all .2s;
    text-decoration: none;
}

.news-pagination a:hover {
    border-color: var(--g-500);
    color: var(--g-600);
    background: var(--g-100);
}

.news-pagination span.current,
.news-pagination .current {
    background: var(--b-800);
    color: #fff;
    border-color: var(--b-800);
}

/* ─────────────────────────────────────────
   5. 响应式 — 平板 (≤ 1024px)
   ───────────────────────────────────────── */
@media (max-width: 1024px) {
    /* 布局：侧边栏下移 */
    .news-layout {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .news-sidebar {
        position: static;
        top: 0;
    }

    /* Hero 区缩小 */
    .page-hero-news {
        min-height: 40vh !important;
        padding: 100px 0 60px;
    }

    .page-hero-news .page-title,
    .page-hero-news .page-title-lg {
        font-size: clamp(28px, 4.5vw, 44px);
    }

    /* 头条卡片：改为单列 */
    .news-card.featured {
        grid-template-columns: 1fr;
    }

    .news-card.featured .news-card-image {
        min-height: 260px;
    }

    /* 新闻区域紧缩 */
    .news-section {
        padding: 60px 0 80px;
    }
}

/* ─────────────────────────────────────────
   6. 响应式 — 手机 (≤ 768px)
   ───────────────────────────────────────── */
@media (max-width: 768px) {
    /* Hero：更紧凑 */
    .page-hero-news {
        min-height: 36vh !important;
        padding: 90px 0 48px;
    }

    .page-hero-news .page-hero-content {
        padding: 0 24px;
    }

    .page-hero-news .page-title,
    .page-hero-news .page-title-lg {
        font-size: clamp(24px, 7vw, 36px);
    }

    .page-hero-news .page-subtitle {
        font-size: 15px;
    }

    /* 有机圆弧缩放 */
    .page-hero-news::before {
        width: 80%;
        padding-bottom: 80%;
        right: -20%;
        top: -15%;
    }

    .page-hero-news::after {
        width: 45%;
        padding-bottom: 45%;
        left: -8%;
        bottom: -12%;
    }

    /* 新闻区域 */
    .news-section {
        padding: 40px 0 60px;
    }

    .container {
        padding: 0 20px;
    }

    .news-list-header {
        margin-bottom: 24px;
        padding-bottom: 16px;
    }

    /* Featured 卡片 */
    .news-card.featured {
        grid-template-columns: 1fr;
        border-radius: var(--r-md);
    }

    .news-card.featured .news-card-image {
        min-height: 200px;
    }

    .news-card.featured .news-card-body {
        padding: 24px 20px;
    }

    .news-card.featured .news-card-title {
        font-size: 20px;
    }

    .news-card.featured .news-card-excerpt {
        -webkit-line-clamp: 2;
    }

    /* Standard 卡片：单列堆叠 */
    .news-card.standard {
        grid-template-columns: 1fr;
        border-radius: var(--r-md);
    }

    .news-card.standard .news-card-image {
        min-height: 180px;
    }

    .news-card.standard .news-card-body {
        padding: 20px;
    }

    .news-card.standard .news-card-title {
        font-size: 17px;
    }

    /* 缩小卡片间距 */
    .news-card.featured,
    .news-card.standard {
        margin-bottom: 20px;
    }

    /* 侧边栏改为水平排列（搜索 + 分类 + 标签） */
    .news-sidebar {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .sidebar-box {
        padding: 20px;
    }

    /* 标签云缩小间距 */
    .tag-cloud {
        gap: 6px;
    }

    .tag-pill {
        padding: 6px 12px;
        font-size: 12px;
    }

    /* 分页紧凑化 */
    .news-pagination {
        gap: 6px;
        margin-top: 36px;
        padding-top: 24px;
    }

    .news-pagination a,
    .news-pagination span {
        width: 36px;
        height: 36px;
        font-size: 13px;
    }
}

/* ─────────────────────────────────────────
   7. 响应式 — 小屏手机 (≤ 480px)
   ───────────────────────────────────────── */
@media (max-width: 480px) {
    .page-hero-news {
        min-height: 32vh !important;
        padding: 80px 0 40px;
    }

    .page-hero-news .page-title,
    .page-hero-news .page-title-lg {
        font-size: clamp(22px, 8vw, 30px);
    }

    .page-hero-news .page-subtitle {
        font-size: 14px;
    }

    .page-hero-news .page-eyebrow {
        font-size: 11px;
        padding: 6px 14px 6px 10px;
    }

    .news-section {
        padding: 32px 0 48px;
    }

    .container {
        padding: 0 16px;
    }

    /* Featured 卡片 */
    .news-card.featured .news-card-image {
        min-height: 180px;
    }

    .news-card.featured .news-card-body {
        padding: 20px 16px;
    }

    .news-card.featured .news-card-title {
        font-size: 18px;
    }

    .news-card.featured .news-card-meta {
        flex-wrap: wrap;
        gap: 8px;
        font-size: 12px;
    }

    /* Standard 卡片 */
    .news-card.standard .news-card-image {
        min-height: 160px;
    }

    .news-card.standard .news-card-body {
        padding: 16px;
    }

    .news-card.standard .news-card-title {
        font-size: 16px;
    }

    .news-card.standard .news-card-meta {
        font-size: 12px;
        gap: 10px;
    }

    .news-card.standard .news-card-excerpt {
        font-size: 13px;
        -webkit-line-clamp: 2;
    }

    /* 卡片 Badge 缩小 */
    .news-card-badge {
        top: 12px;
        left: 12px;
        padding: 4px 10px;
        font-size: 10px;
    }

    /* 侧边栏 */
    .sidebar-box {
        padding: 16px;
        border-radius: var(--r-sm);
    }

    .sidebar-title {
        font-size: 12px;
        margin-bottom: 14px;
        padding-bottom: 10px;
    }

    .sidebar-cat-item a {
        padding: 8px 12px;
        font-size: 13px;
    }

    .tag-pill {
        padding: 5px 10px;
        font-size: 12px;
    }

    /* 搜索框 */
    .sidebar-search-input,
    .sidebar-search-wrap input[type="search"] {
        padding: 11px 16px 11px 38px;
        font-size: 13px;
        background-size: 16px !important;
        background-position: 12px center !important;
    }

    /* 分页 */
    .news-pagination a,
    .news-pagination span {
        width: 34px;
        height: 34px;
        font-size: 12px;
        border-radius: 6px;
    }
}

/* ─────────────────────────────────────────
   8. 联系页面表单区域响应式补全
   ───────────────────────────────────────── */

/* 联系表单的双列 grid 在小屏改为单列 */
@media (max-width: 768px) {
    .page-contact .section [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
}

/* 联系卡片在平板端也可堆叠 */
@media (max-width: 768px) {
    .page-contact .card.mb-24 {
        border-radius: var(--r-sm);
    }

    .page-contact .card-body {
        padding: 20px;
    }

    .page-contact .card-body h3 {
        font-size: 16px;
    }

    /* FAQ 折叠面板在移动端优化 */
    .faq-question {
        padding: 16px 20px;
        font-size: 15px;
    }

    .faq-answer-inner {
        padding: 0 20px 16px;
        font-size: 14px;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   LATEST NEWS PAGE REFACTOR — 响应式重构 + Hero胶囊统一
   版本: 1.1
   更新: 2026-05-15
   说明: 本段CSS可直接追加到 style.css 末尾，覆盖原有样式
   覆盖范围: archive-news.php / 新闻归档页 / 通用归档页
   ═══════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────
   1. HERO 区域 — 统一为简洁胶囊风格
   ───────────────────────────────────────── */

/*
 * 覆盖 .page-hero-news 的深蓝背景/装饰层，
 * 改用与联系方式页一致的黄绿渐变底色。
 */
.page-hero-news {
    min-height: 50vh !important;
    background: linear-gradient(145deg,
        #e6f4a0 0%, #c8e84c 30%, #b4dd3a 55%, #d6ef80 80%, #f0f9c8 100%
    ) !important;
}

/* 去掉深蓝增强版的背景装饰层 */
.page-hero-news .page-hero-bg,
.page-hero-news .page-hero-grid,
.page-hero-news .page-hero-line,
.page-hero-news .page-hero-orb {
    display: none !important;
}

/* 重写 ::before / ::after 为黄绿有机圆弧（与联系页一致） */
.page-hero-news::before {
    content: '';
    position: absolute;
    right: -8%;
    top: -12%;
    width: 55%;
    padding-bottom: 55%;
    background: rgba(255, 255, 255, .18);
    border-radius: 50%;
    z-index: 1;
}
.page-hero-news::after {
    content: '';
    position: absolute;
    left: -5%;
    bottom: -10%;
    width: 35%;
    padding-bottom: 35%;
    background: rgba(255, 255, 255, .12);
    border-radius: 50%;
    z-index: 1;
}

/* ── 胶囊 Label: 与联系页 .section-label 保持一致 ── */
.page-hero-news .page-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--b-900);
    color: #fff;
    padding: 7px 18px 7px 12px;
    border-radius: var(--r-full);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(13, 31, 60, .2);
    width: fit-content;
    border: none;
    backdrop-filter: none;
}

/* 胶囊中的脉冲圆点 — 统一为橙黄色 */
.page-hero-news .page-eyebrow-dot {
    width: 8px;
    height: 8px;
    background: var(--a-400);
    border-radius: 50%;
    flex-shrink: 0;
    animation: blink 2s ease-in-out infinite;
}

/* ── Hero 标题: 深蓝文字（而非白字） ── */
.page-hero-news .page-title,
.page-hero-news .page-title-lg {
    color: var(--b-900) !important;
    text-align: left !important;
    font-family: 'Noto Serif SC', serif;
    font-size: clamp(32px, 5vw, 52px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -.02em;
}

/* 高亮关键词仍用黄绿渐变 */
.page-hero-news .page-title .highlight,
.page-hero-news .page-title-lg .highlight {
    background: linear-gradient(90deg, var(--g-500), var(--g-400));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── Hero 副标题: 深色半透明文字 ── */
.page-hero-news .page-subtitle {
    font-size: 17px;
    color: rgba(13, 31, 60, .65) !important;
    max-width: 560px !important;
    line-height: 1.7;
    text-align: left !important;
    margin: 0;
}

/* Hero 内容区左对齐 */
.page-hero-news .page-hero-content {
    text-align: left;
}

/* ─────────────────────────────────────────
   2. 新闻列表区域 — 全响应式重构
   ───────────────────────────────────────── */

/* ── 2.1 基础布局 ── */
.news-section {
    padding: 80px 0 100px;
    background: var(--c-surface);
}

.news-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: start;
}

/* ── 2.2 列表头 ── */
.news-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--c-border);
}

.news-count {
    font-size: 14px;
    color: var(--c-muted);
}

.news-count strong {
    color: var(--b-800);
    font-weight: 700;
}

/* ── 2.3 Featured 卡片（头条）── */
.news-card.featured {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #fff;
    border-radius: var(--r-lg);
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
    border: 1px solid rgba(0, 0, 0, .04);
    margin-bottom: 28px;
    transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}

.news-card.featured:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: rgba(180, 221, 58, .25);
}

.news-card.featured .news-card-image {
    min-height: 320px;
    background: linear-gradient(135deg,
        var(--b-800) 0%, var(--b-600) 50%, var(--g-300) 100%);
    position: relative;
    overflow: hidden;
}

/* 无图时的 fallback 装饰 */
.news-card.featured .news-card-image::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 30% 70%, rgba(200, 232, 76, .15) 0%, transparent 50%),
        radial-gradient(circle at 70% 30%, rgba(255, 255, 255, .08) 0%, transparent 40%);
    pointer-events: none;
}

.news-card.featured .news-card-body {
    padding: 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-card.featured .news-card-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--b-800);
    line-height: 1.35;
    margin-bottom: 14px;
    transition: color .2s;
}

.news-card.featured:hover .news-card-title {
    color: var(--g-600);
}

.news-card.featured .news-card-excerpt {
    font-size: 15px;
    color: var(--n-500);
    line-height: 1.75;
    flex: 1;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── 2.4 Standard 卡片（普通文章）── */
.news-card.standard {
    display: grid;
    grid-template-columns: 240px 1fr;
    background: #fff;
    border-radius: var(--r-md);
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
    border: 1px solid rgba(0, 0, 0, .04);
    margin-bottom: 24px;
    transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}

.news-card.standard:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-sm);
    border-color: rgba(180, 221, 58, .2);
}

.news-card.standard .news-card-image {
    min-height: 200px;
    background: linear-gradient(135deg,
        var(--b-700) 0%, var(--b-500) 50%, var(--g-200) 100%);
    position: relative;
    overflow: hidden;
}

.news-card.standard .news-card-image::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 80%, rgba(200, 232, 76, .12) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, .06) 0%, transparent 40%);
    pointer-events: none;
}

.news-card.standard .news-card-body {
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-card.standard .news-card-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--b-800);
    line-height: 1.4;
    margin-bottom: 10px;
    transition: color .2s;
}

.news-card.standard:hover .news-card-title {
    color: var(--g-600);
}

.news-card.standard .news-card-excerpt {
    font-size: 14px;
    color: var(--n-500);
    line-height: 1.7;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── 2.5 通用卡片子元素 ── */
.news-card-image {
    position: relative;
    overflow: hidden;
}

.news-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s var(--ease);
}

.news-card:hover .news-card-image img {
    transform: scale(1.05);
}

.news-card-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 14px;
    background: linear-gradient(135deg, var(--g-400), var(--g-500));
    color: var(--b-900);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    border-radius: var(--r-full);
}

.news-card-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
    font-size: 13px;
    color: var(--n-500);
}

.news-card-category {
    color: var(--g-600);
    font-weight: 600;
    letter-spacing: .04em;
}

.news-card-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--g-600);
    transition: gap .2s;
}

.news-card:hover .news-card-footer {
    gap: 12px;
}

.news-card-footer svg {
    width: 16px;
    height: 16px;
    transition: transform .2s;
}

.news-card:hover .news-card-footer svg {
    transform: translateX(4px);
}

/* ─────────────────────────────────────────
   3. 侧边栏 — 粘性定位与样式
   ───────────────────────────────────────── */

.news-sidebar {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.sidebar-box {
    background: #fff;
    border-radius: var(--r-md);
    padding: 24px;
    border: 1px solid rgba(0, 0, 0, .04);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
}

.sidebar-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--b-800);
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--n-300);
}

/* 分类列表 */
.sidebar-cat-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sidebar-cat-item a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 14px;
    border-radius: var(--r-sm);
    font-size: 14px;
    color: var(--n-700);
    transition: all .2s;
}

.sidebar-cat-item a:hover,
.sidebar-cat-item a.active {
    color: var(--g-600);
    background: var(--g-100);
}

.sidebar-cat-count {
    font-size: 12px;
    color: var(--n-500);
}

/* 标签云 */
.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tag-pill {
    padding: 7px 14px;
    background: var(--n-100);
    border-radius: var(--r-full);
    font-size: 13px;
    color: var(--n-500);
    transition: all .2s;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
}

.tag-pill:hover {
    color: var(--g-600);
    border-color: var(--g-400);
    background: var(--g-100);
}

/* 热门文章缩略 */
.mini-news-item {
    display: flex;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--n-300);
    transition: opacity .2s;
    cursor: pointer;
    text-decoration: none;
}

.mini-news-item:last-child {
    border-bottom: none;
}

.mini-news-item:hover {
    opacity: .7;
}

.mini-news-date {
    font-size: 11px;
    color: var(--g-600);
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.6;
}

.mini-news-text {
    font-size: 13px;
    color: var(--n-700);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 搜索框 */
.sidebar-search-wrap {
    position: relative;
    display: flex;
    gap: 8px;
}

.sidebar-search-wrap form {
    display: flex;
    gap: 8px;
    width: 100%;
}

.sidebar-search-input,
.sidebar-search-input-v2,
.sidebar-search-wrap input[type="search"] {
    width: 100%;
    padding: 13px 20px 13px 44px;
    background: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 14px center !important;
    border: 1px solid var(--n-300) !important;
    border-radius: var(--r-sm) !important;
    font-size: 14px;
    color: var(--n-700);
    transition: border-color .2s, box-shadow .2s;
    outline: none !important;
    box-shadow: none !important;
    font-family: inherit;
    box-sizing: border-box;
}

.sidebar-search-input:focus,
.sidebar-search-input-v2:focus,
.sidebar-search-wrap input[type="search"]:focus {
    border-color: var(--g-500) !important;
    box-shadow: 0 0 0 3px rgba(150, 200, 26, .12) !important;
}

/* 搜索提交按钮 */
.sidebar-search-wrap button[type="submit"],
.sidebar-search-wrap .search-submit {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--b-800);
    color: #fff;
    border: none;
    border-radius: var(--r-sm);
    cursor: pointer;
    transition: background .2s, transform .2s;
    flex-shrink: 0;
}

.sidebar-search-wrap button[type="submit"]:hover,
.sidebar-search-wrap .search-submit:hover {
    background: var(--g-500);
    transform: scale(1.05);
}

.sidebar-search-wrap button[type="submit"] svg,
.sidebar-search-wrap .search-submit svg {
    width: 18px;
    height: 18px;
}

/* ─────────────────────────────────────────
   4. 分页组件
   ───────────────────────────────────────── */

.news-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--n-300);
}

.news-pagination a,
.news-pagination span {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--r-sm);
    font-size: 14px;
    font-weight: 500;
    color: var(--n-700);
    background: #fff;
    border: 1px solid var(--n-300);
    cursor: pointer;
    transition: all .2s;
    text-decoration: none;
}

.news-pagination a:hover {
    border-color: var(--g-500);
    color: var(--g-600);
    background: var(--g-100);
}

.news-pagination span.current,
.news-pagination .current {
    background: var(--b-800);
    color: #fff;
    border-color: var(--b-800);
}

/* ─────────────────────────────────────────
   5. 响应式 — 平板 (≤ 1024px)
   ───────────────────────────────────────── */
@media (max-width: 1024px) {
    /* 布局：侧边栏下移 */
    .news-layout {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .news-sidebar {
        position: static;
        top: 0;
    }

    /* Hero 区缩小 */
    .page-hero-news {
        min-height: 40vh !important;
        padding: 100px 0 60px;
    }

    .page-hero-news .page-title,
    .page-hero-news .page-title-lg {
        font-size: clamp(28px, 4.5vw, 44px);
    }

    /* 头条卡片：改为单列 */
    .news-card.featured {
        grid-template-columns: 1fr;
    }

    .news-card.featured .news-card-image {
        min-height: 260px;
    }

    /* 新闻区域紧缩 */
    .news-section {
        padding: 60px 0 80px;
    }
}

/* ─────────────────────────────────────────
   6. 响应式 — 手机 (≤ 768px)
   ───────────────────────────────────────── */
@media (max-width: 768px) {
    /* Hero：更紧凑 */
    .page-hero-news {
        min-height: 36vh !important;
        padding: 90px 0 48px;
    }

    .page-hero-news .page-hero-content {
        padding: 0 24px;
    }

    .page-hero-news .page-title,
    .page-hero-news .page-title-lg {
        font-size: clamp(24px, 7vw, 36px);
    }

    .page-hero-news .page-subtitle {
        font-size: 15px;
    }

    /* 有机圆弧缩放 */
    .page-hero-news::before {
        width: 80%;
        padding-bottom: 80%;
        right: -20%;
        top: -15%;
    }

    .page-hero-news::after {
        width: 45%;
        padding-bottom: 45%;
        left: -8%;
        bottom: -12%;
    }

    /* 新闻区域 */
    .news-section {
        padding: 40px 0 60px;
    }

    .container {
        padding: 0 20px;
    }

    .news-list-header {
        margin-bottom: 24px;
        padding-bottom: 16px;
    }

    /* Featured 卡片 */
    .news-card.featured {
        grid-template-columns: 1fr;
        border-radius: var(--r-md);
    }

    .news-card.featured .news-card-image {
        min-height: 200px;
    }

    .news-card.featured .news-card-body {
        padding: 24px 20px;
    }

    .news-card.featured .news-card-title {
        font-size: 20px;
    }

    .news-card.featured .news-card-excerpt {
        -webkit-line-clamp: 2;
    }

    /* Standard 卡片：单列堆叠 */
    .news-card.standard {
        grid-template-columns: 1fr;
        border-radius: var(--r-md);
    }

    .news-card.standard .news-card-image {
        min-height: 180px;
    }

    .news-card.standard .news-card-body {
        padding: 20px;
    }

    .news-card.standard .news-card-title {
        font-size: 17px;
    }

    /* 缩小卡片间距 */
    .news-card.featured,
    .news-card.standard {
        margin-bottom: 20px;
    }

    /* 侧边栏改为水平排列（搜索 + 分类 + 标签） */
    .news-sidebar {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .sidebar-box {
        padding: 20px;
    }

    /* 标签云缩小间距 */
    .tag-cloud {
        gap: 6px;
    }

    .tag-pill {
        padding: 6px 12px;
        font-size: 12px;
    }

    /* 分页紧凑化 */
    .news-pagination {
        gap: 6px;
        margin-top: 36px;
        padding-top: 24px;
    }

    .news-pagination a,
    .news-pagination span {
        width: 36px;
        height: 36px;
        font-size: 13px;
    }
}

/* ─────────────────────────────────────────
   7. 响应式 — 小屏手机 (≤ 480px)
   ───────────────────────────────────────── */
@media (max-width: 480px) {
    .page-hero-news {
        min-height: 32vh !important;
        padding: 80px 0 40px;
    }

    .page-hero-news .page-title,
    .page-hero-news .page-title-lg {
        font-size: clamp(22px, 8vw, 30px);
    }

    .page-hero-news .page-subtitle {
        font-size: 14px;
    }

    .page-hero-news .page-eyebrow {
        font-size: 11px;
        padding: 6px 14px 6px 10px;
    }

    .news-section {
        padding: 32px 0 48px;
    }

    .container {
        padding: 0 16px;
    }

    /* Featured 卡片 */
    .news-card.featured .news-card-image {
        min-height: 180px;
    }

    .news-card.featured .news-card-body {
        padding: 20px 16px;
    }

    .news-card.featured .news-card-title {
        font-size: 18px;
    }

    .news-card.featured .news-card-meta {
        flex-wrap: wrap;
        gap: 8px;
        font-size: 12px;
    }

    /* Standard 卡片 */
    .news-card.standard .news-card-image {
        min-height: 160px;
    }

    .news-card.standard .news-card-body {
        padding: 16px;
    }

    .news-card.standard .news-card-title {
        font-size: 16px;
    }

    .news-card.standard .news-card-meta {
        font-size: 12px;
        gap: 10px;
    }

    .news-card.standard .news-card-excerpt {
        font-size: 13px;
        -webkit-line-clamp: 2;
    }

    /* 卡片 Badge 缩小 */
    .news-card-badge {
        top: 12px;
        left: 12px;
        padding: 4px 10px;
        font-size: 10px;
    }

    /* 侧边栏 */
    .sidebar-box {
        padding: 16px;
        border-radius: var(--r-sm);
    }

    .sidebar-title {
        font-size: 12px;
        margin-bottom: 14px;
        padding-bottom: 10px;
    }

    .sidebar-cat-item a {
        padding: 8px 12px;
        font-size: 13px;
    }

    .tag-pill {
        padding: 5px 10px;
        font-size: 12px;
    }

    /* 搜索框 */
    .sidebar-search-input,
    .sidebar-search-input-v2,
    .sidebar-search-wrap input[type="search"] {
        padding: 11px 16px 11px 38px;
        font-size: 13px;
        background-size: 16px !important;
        background-position: 12px center !important;
    }

    .sidebar-search-wrap button[type="submit"],
    .sidebar-search-wrap .search-submit {
        width: 40px;
        height: 40px;
    }

    /* 分页 */
    .news-pagination a,
    .news-pagination span {
        width: 34px;
        height: 34px;
        font-size: 12px;
        border-radius: 6px;
    }
}

/* ─────────────────────────────────────────
   8. 联系页面表单区域响应式补全
   ───────────────────────────────────────── */

/* 联系表单的双列 grid 在小屏改为单列 */
@media (max-width: 768px) {
    .page-contact .section [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
}

/* 联系卡片在平板端也可堆叠 */
@media (max-width: 768px) {
    .page-contact .card.mb-24 {
        border-radius: var(--r-sm);
    }

    .page-contact .card-body {
        padding: 20px;
    }

    .page-contact .card-body h3 {
        font-size: 16px;
    }

    /* FAQ 折叠面板在移动端优化 */
    .faq-question {
        padding: 16px 20px;
        font-size: 15px;
    }

    .faq-answer-inner {
        padding: 0 20px 16px;
        font-size: 14px;
    }
}