/* 标题保持原视觉层级，轮播只有首张使用 H1。 */
.hero-slide {
    /* 原动画把 cover 改成百分比，竖屏下会重复铺图。 */
    background-size: cover !important;
    background-repeat: no-repeat;
}
.hero .hero-title {
    max-width: 780px;
    margin: 18px 0;
    color: #fff;
    font-size: clamp(48px, 5.3vw, 80px);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.035em;
}

/* 搜索与表单允许在窄屏收缩，不用隐藏整页溢出掩盖问题。 */
.search-panel input,
.search-panel form,
.header-inner,
.form-grid > label,
.news-detail-prose {
    min-width: 0;
}
.search-panel input { width: 0; }
.search-panel button { flex-shrink: 0; }
.translation-notice,
.listing-empty {
    margin-block: 24px;
    padding: 20px 24px;
    border-left: 3px solid #bf933e;
    background: #f4f6f8;
    color: #173d5b;
}
.translation-notice a,
.listing-empty a { text-decoration: underline; }
.translation-notice p { margin-bottom: 0; }
.project-image > span:empty { display: none; }
.editorial-evidence { margin-top: 32px; padding: 24px; border-top: 1px solid #dce4e9; background: #f7f9fa; }
.editorial-evidence h2 { font-size: 20px; margin-top: 0; }
.editorial-evidence a { text-decoration: underline; overflow-wrap: anywhere; }

@media (max-width: 640px) {
    .hero-slide { background-image: linear-gradient(90deg, rgba(6,31,54,.92), rgba(8,41,67,.48)), var(--hero-image-mobile, var(--hero-image)); }
    .hero .hero-title { font-size: 40px; }
    .site-header .brand { min-width: 0; flex: 1; }
    .site-header .brand-logo { width: min(179px, 48vw); height: auto; }
    .header-actions { flex-shrink: 0; margin-left: 8px; }
    .search-panel button { padding-inline: 16px; }
    .site-page { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }

    /* 手机客服改为底部横向工具条，给正文留出完整阅读宽度。 */
    .site-page .customer-float {
        right: 0;
        bottom: 0;
        width: 100%;
        padding-bottom: env(safe-area-inset-bottom);
        background: #123f69;
    }
    .site-page .customer-float-rail {
        display: flex;
        width: 100%;
        border-top-width: 2px;
    }
    .site-page .customer-float-action {
        flex: 1;
        min-width: 0;
        min-height: 56px;
        grid-auto-flow: column;
        justify-content: center;
        gap: 7px;
        padding: 8px;
        border-right: 1px solid #ffffff26;
        border-bottom: 0;
    }
    .site-page .customer-float .customer-float-qr {
        position: absolute;
        top: auto;
        right: 12px;
        bottom: 70px;
        max-width: calc(100vw - 24px);
    }
    .site-page .customer-float-popover { display: none; }
}

@media (max-width: 360px) {
    .hero .hero-title { font-size: 30px; overflow-wrap: anywhere; }
    .site-page .customer-float-action { gap: 4px; font-size: 10px; }
    .site-page .customer-float .customer-float-icon { width: 24px; height: 24px; }
}
