:root {
    --ink: #111827;
    --slate: #334155;
    --blue: #1e5aa8;
    --gold: #d6a441;
    --cyan: var(--gold);
    --violet: #64748b;
    --paper: #f6f8fa;
    --line: #dce3eb;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

.home-shell {
    background: var(--paper);
}

.skip-link {
    position: fixed;
    left: 1rem;
    top: 1rem;
    z-index: 100;
    transform: translateY(-180%);
    border-radius: .5rem;
    background: #fff;
    color: var(--ink);
    padding: .75rem 1rem;
    font-weight: 800;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .18);
    transition: transform .2s ease;
}

.skip-link:focus {
    transform: translateY(0);
}

#main-content:focus {
    outline: none;
}

.home-shell a:focus-visible,
.home-shell button:focus-visible,
.home-shell input:focus-visible {
    outline: 3px solid rgba(30, 90, 168, .38);
    outline-offset: 3px;
}

.brand-mark-light {
    background: var(--blue);
}

/* 导航栏 logo：默认（透明/深色顶栏）显示白色版，滚动后白底显示深色版 */
.brand-logo img {
    transition: opacity .3s ease;
}
.brand-logo-dark {
    opacity: 0;
}
.home-nav.is-scrolled .brand-logo-light {
    opacity: 0;
}
.home-nav.is-scrolled .brand-logo-dark {
    opacity: 1;
}

.home-nav {
    color: #fff;
}

.home-nav .nav-brand-text {
    color: #fff;
}

.home-nav .nav-brand-sub {
    color: rgba(255, 255, 255, .7);
}

.home-nav .nav-pill {
    color: rgba(255, 255, 255, .9);
}

.home-nav .nav-pill:hover,
.home-nav .nav-pill.is-active {
    color: var(--cyan);
}

.home-nav .nav-search-input {
    border: 1px solid rgba(255, 255, 255, .35);
    background: rgba(255, 255, 255, .14);
    color: #fff;
    backdrop-filter: blur(8px);
}

.home-nav .nav-search-input::placeholder {
    color: rgba(255, 255, 255, .7);
}

.home-nav .nav-toggle-btn {
    border: 1px solid rgba(255, 255, 255, .35);
    background: rgba(255, 255, 255, .16);
    color: #fff;
}

.home-nav.is-scrolled {
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid rgba(226, 232, 240, .9);
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
    backdrop-filter: blur(12px);
    color: var(--ink);
}

.home-nav.is-scrolled .nav-brand-text {
    color: var(--ink);
}

.home-nav.is-scrolled .nav-brand-sub {
    color: rgb(100 116 139);
}

.home-nav.is-scrolled .nav-pill {
    color: rgb(51 65 85);
}

.home-nav.is-scrolled .nav-pill:hover,
.home-nav.is-scrolled .nav-pill.is-active {
    color: var(--blue);
}

.home-nav.is-scrolled .nav-search-input {
    border-color: rgba(148, 163, 184, .4);
    background: rgba(255, 255, 255, .9);
    color: var(--ink);
}

.home-nav.is-scrolled .nav-search-input::placeholder {
    color: rgb(148 163 184);
}

.home-nav.is-scrolled .nav-toggle-btn {
    border-color: rgba(148, 163, 184, .35);
    background: rgba(255, 255, 255, .8);
    color: var(--ink);
}

@media (min-width: 1024px) and (max-width: 1279px) {
    .nav-search-input {
        color: transparent !important;
        cursor: pointer;
    }

    .nav-search-input::placeholder {
        color: transparent !important;
    }

    .nav-search-input:focus {
        color: inherit !important;
        cursor: text;
    }

    .nav-search-input:focus::placeholder {
        color: rgb(148 163 184) !important;
    }
}

.menu-lines,
.menu-lines::before,
.menu-lines::after {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .25s ease, opacity .25s ease;
}

.menu-lines {
    position: relative;
}

.menu-lines::before,
.menu-lines::after {
    content: "";
    position: absolute;
    left: 0;
}

.menu-lines::before {
    transform: translateY(-6px);
}

.menu-lines::after {
    transform: translateY(6px);
}

[data-menu-toggle].is-open .menu-lines {
    background: transparent;
}

[data-menu-toggle].is-open .menu-lines::before {
    transform: rotate(45deg);
}

[data-menu-toggle].is-open .menu-lines::after {
    transform: rotate(-45deg);
}

.hero-stage,
.hero-carousel {
    isolation: isolate;
}

.hero-slide {
    opacity: 0;
    transform: scale(1.035);
    transition: opacity .8s ease, transform 5.6s ease;
}

.hero-slide.is-active {
    opacity: 1;
    transform: scale(1);
}

/* 轮播文案层：多张堆叠，仅当前可见 */
.hero-content {
    transition: opacity .5s ease, transform .5s ease;
}

.hero-content.is-hidden {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transform: translateY(16px);
    pointer-events: none;
    visibility: hidden;
}

.hero-dot {
    width: .72rem;
    height: .72rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .58);
    background: rgba(255, 255, 255, .28);
    transition: width .25s ease, background .25s ease, border-color .25s ease;
}

.hero-dot.is-active {
    width: 2.5rem;
    background: var(--cyan);
    border-color: var(--cyan);
}

.hero-grid {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(rgba(34, 211, 238, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(34, 211, 238, .08) 1px, transparent 1px),
        radial-gradient(circle at var(--cursor-x, 70%) var(--cursor-y, 24%), rgba(34, 211, 238, .28), transparent 30%),
        radial-gradient(circle at 20% 80%, rgba(124, 58, 237, .22), transparent 32%);
    background-size: 72px 72px, 72px 72px, auto, auto;
    mask-image: linear-gradient(to bottom, black 72%, transparent 100%);
}

.hero-grid::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 0%, rgba(34, 211, 238, .18) 40%, rgba(255,255,255,.4) 50%, rgba(124,58,237,.16) 58%, transparent 100%);
    transform: translateX(-70%);
    animation: scanBeam 6.8s cubic-bezier(.65, 0, .35, 1) infinite;
}

.hero-orb {
    position: absolute;
    z-index: 0;
    border-radius: 999px;
    filter: blur(14px);
    opacity: .65;
    pointer-events: none;
}

.hero-orb-a {
    right: 8%;
    top: 14%;
    width: 20rem;
    height: 20rem;
    background: rgba(34, 211, 238, .18);
    animation: floatOrb 9s ease-in-out infinite;
}

.hero-orb-b {
    left: 8%;
    bottom: 10%;
    width: 14rem;
    height: 14rem;
    background: rgba(124, 58, 237, .18);
    animation: floatOrb 11s ease-in-out infinite reverse;
}

.metric-chip {
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: .75rem;
    background: rgba(17, 24, 39, .32);
    padding: 1rem;
    backdrop-filter: blur(6px);
}

.metric-chip strong,
.metric-chip span {
    display: block;
}

.metric-chip strong {
    color: white;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 900;
}

.metric-chip span {
    margin-top: .45rem;
    font-size: .78rem;
    color: rgb(203 213 225);
}

.light-panel {
    position: relative;
    height: min(62vh, 620px);
    min-height: 420px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 2rem;
    background: rgba(255, 255, 255, .08);
    box-shadow: 0 28px 110px rgba(34, 211, 238, .14);
}

.light-panel-beam {
    position: absolute;
    inset: -30% auto auto -20%;
    z-index: 2;
    width: 72%;
    height: 160%;
    background: linear-gradient(90deg, transparent, rgba(34, 211, 238, .18), rgba(255,255,255,.34), transparent);
    transform: rotate(18deg) translateX(-55%);
    animation: panelBeam 5.2s ease-in-out infinite;
    pointer-events: none;
}

.section-title {
    display: grid;
    gap: 1rem;
}

.section-title p {
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: var(--blue);
}

.section-title h2 {
    max-width: 820px;
    font-size: clamp(2.15rem, 4vw, 4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 950;
    color: var(--ink);
}

.section-title a {
    justify-self: start;
    border-radius: 999px;
    background: var(--ink);
    color: white;
    padding: .85rem 1.25rem;
    font-size: .9rem;
    font-weight: 900;
    transition: transform .25s ease, background .25s ease;
}

.section-title a:hover {
    transform: translateY(-3px);
    background: var(--blue);
}

.section-title-dark h2 {
    color: white;
}

.section-title-dark p {
    color: var(--cyan);
}

.product-card,
.news-card {
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.product-card:hover,
.news-card:hover {
    transform: translateY(-2px);
    border-color: rgba(30, 90, 168, .24);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .08);
}

.advantage-card {
    display: flex;
    gap: 1.4rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .06);
    padding: 1.5rem;
    backdrop-filter: blur(6px);
    transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.advantage-card:hover {
    transform: translateY(-2px);
    border-color: rgba(214, 164, 65, .36);
    background: rgba(255, 255, 255, .09);
}

.case-card {
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    transition: transform .22s ease, box-shadow .22s ease;
}

.case-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .1);
}

.about-note {
    border-radius: .75rem;
    background: rgb(248 250 252);
    padding: 1rem;
}

.about-note strong,
.about-note span {
    display: block;
}

.about-note strong {
    color: var(--ink);
    font-size: 1.05rem;
    font-weight: 950;
}

.about-note span {
    margin-top: .45rem;
    color: rgb(100 116 139);
    font-size: .9rem;
    line-height: 1.65;
}

.news-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.5rem;
    padding: 1.5rem;
}

.date-block {
    display: flex;
    width: 5.5rem;
    height: 5.5rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 1.5rem;
    background: var(--ink);
    color: white;
}

.date-block strong {
    font-size: 2rem;
    line-height: 1;
    font-weight: 950;
}

.date-block span {
    margin-top: .4rem;
    font-size: .78rem;
    color: rgb(203 213 225);
}

.reveal {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .42s ease, transform .42s ease;
    transition-delay: var(--reveal-delay, 0ms);
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

@keyframes scanBeam {
    0%, 18% { transform: translateX(-76%); opacity: 0; }
    36%, 58% { opacity: .65; }
    82%, 100% { transform: translateX(76%); opacity: 0; }
}

@keyframes panelBeam {
    0%, 18% { transform: rotate(18deg) translateX(-60%); opacity: 0; }
    45%, 62% { opacity: .9; }
    100% { transform: rotate(18deg) translateX(130%); opacity: 0; }
}

@keyframes floatOrb {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(18px, -24px, 0) scale(1.08); }
}

@media (min-width: 768px) {
    .section-title {
        grid-template-columns: 1fr auto;
        align-items: end;
    }

    .section-title p,
    .section-title h2 {
        grid-column: 1;
    }

    .section-title a {
        grid-column: 2;
        grid-row: 2;
    }
}

@media (max-width: 767px) {
    .light-panel {
        min-height: 340px;
        height: 46vh;
    }

    .metric-chip {
        padding: .85rem;
    }

    .advantage-card,
    .news-card {
        grid-template-columns: 1fr;
    }

    .advantage-card {
        flex-direction: column;
    }
}

/* ===== 研报平台首页组件 ===== */
/* ---- 研报类型卡片：隐形图标 + 渐显交互 ---- */
.report-type-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.6rem .6rem 1.4rem;
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, .25);
    background: #fff;
    text-align: center;
    overflow: hidden;
    isolation: isolate;
    transition: transform .28s cubic-bezier(.2, .7, .25, 1),
                box-shadow .28s ease,
                border-color .28s ease;
}

/* 角落渐变光晕：默认近乎不可见，悬浮增强 */
.report-type-card .rtc-accent {
    position: absolute;
    inset: -40% -40% auto auto;
    width: 140%;
    height: 140%;
    background: radial-gradient(circle at 80% 20%,
        var(--rtc-accent, #d6a441) 0%,
        transparent 60%);
    opacity: 0;
    transform: translate(18%, -18%) scale(.9);
    transition: opacity .35s ease, transform .35s ease;
    z-index: 0;
    pointer-events: none;
}

/* 顶部主题色点：默认即醒目，承担单卡色彩身份 */
.report-type-card .rtc-dot {
    position: absolute;
    top: .7rem;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--rtc-accent, #d6a441);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--rtc-accent, #d6a441) 14%, transparent);
    opacity: .85;
    transition: opacity .25s ease, box-shadow .25s ease;
    z-index: 2;
}

/* 隐形水印图标：默认低透明度居中铺底，悬浮旋转放大变亮 */
.report-type-card .rtc-watermark {
    position: absolute;
    right: -.4rem;
    bottom: -.5rem;
    width: 4.5rem;
    height: 4.5rem;
    color: var(--rtc-accent, #d6a441);
    opacity: .08;
    transform: rotate(-8deg);
    transition: opacity .35s ease, transform .35s ease;
    z-index: 1;
    pointer-events: none;
}
.report-type-card .rtc-watermark svg { width: 100%; height: 100%; }

/* 激活态图标 chip：默认描边淡色，悬浮实心填充 + 上移 */
.report-type-card .rtc-chip {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    margin-bottom: .65rem;
    border-radius: .75rem;
    color: var(--rtc-accent, #d6a441);
    background: color-mix(in srgb, var(--rtc-accent, #d6a441) 10%, #fff);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rtc-accent, #d6a441) 22%, transparent);
    transform: translateY(0);
    transition: transform .3s cubic-bezier(.2, .7, .25, 1),
                background .3s ease, color .3s ease, box-shadow .3s ease;
}
.report-type-card .rtc-chip svg { width: 1.25rem; height: 1.25rem; }

.report-type-card .rtc-en {
    position: relative;
    z-index: 2;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    color: #94a3b8;
    transition: color .25s ease;
}
.report-type-card .rtc-name {
    position: relative;
    z-index: 2;
    margin-top: .35rem;
    font-size: .95rem;
    font-weight: 600;
    color: var(--ink);
    transition: color .25s ease;
}

/* ---- 悬浮状态：全面提升 ---- */
.report-type-card:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--rtc-accent, #d6a441) 55%, transparent);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .10);
}
.report-type-card:hover .rtc-accent { opacity: .22; transform: translate(0, 0) scale(1); }
.report-type-card:hover .rtc-dot    { opacity: 1; box-shadow: 0 0 0 5px color-mix(in srgb, var(--rtc-accent, #d6a441) 18%, transparent); }
.report-type-card:hover .rtc-watermark { opacity: .16; transform: rotate(4deg) scale(1.08); }
.report-type-card:hover .rtc-chip {
    transform: translateY(-2px);
    color: #fff;
    background: var(--rtc-accent, #d6a441);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--rtc-accent, #d6a441) 40%, transparent);
}
.report-type-card:hover .rtc-en   { color: var(--rtc-accent, #d6a441); }
.report-type-card:hover .rtc-name { color: var(--ink); }

/* 键盘聚焦可访问性：复现悬浮视觉 + 焦点环 */
.report-type-card:focus-visible {
    outline: none;
    transform: translateY(-4px);
    border-color: var(--rtc-accent, #d6a441);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .10),
                0 0 0 3px color-mix(in srgb, var(--rtc-accent, #d6a441) 35%, transparent);
}

/* ---- 8 张卡片：各自主题色（金 / 靛 / 青 / 紫 / 翠 / 赭 / 砖 / 石板） ---- */
.report-type-card:nth-child(1) { --rtc-accent: #d6a441; } /* 行业研究 */
.report-type-card:nth-child(2) { --rtc-accent: #1e5aa8; } /* 报告库 */
.report-type-card:nth-child(3) { --rtc-accent: #b6502f; } /* 行业资讯 */
.report-type-card:nth-child(4) { --rtc-accent: #0e9488; } /* 产业观察 */
.report-type-card:nth-child(5) { --rtc-accent: #7c5cbf; } /* 会议纪要 */
.report-type-card:nth-child(6) { --rtc-accent: #475569; } /* 定制报告 */

/* ---- 图标显隐：默认全部隐藏，按 nth-child 仅显示匹配项 ---- */
.report-type-card .rtc-watermark svg path,
.report-type-card .rtc-chip svg path { display: none; }

.report-type-card:nth-child(1) .i-industry,
.report-type-card:nth-child(2) .i-annuals,
.report-type-card:nth-child(3) .i-prospectus,
.report-type-card:nth-child(4) .i-company,
.report-type-card:nth-child(5) .i-minutes,
.report-type-card:nth-child(6) .i-strategy { display: inline; }

/* ---- 移动端微调 ---- */
@media (max-width: 640px) {
    .report-type-card { padding: 1.3rem .5rem 1.2rem; }
    .report-type-card .rtc-chip { width: 2.1rem; height: 2.1rem; margin-bottom: .5rem; }
    .report-type-card .rtc-chip svg { width: 1.05rem; height: 1.05rem; }
    .report-type-card .rtc-watermark { width: 3.6rem; height: 3.6rem; }
}

.ranking-card {
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease;
}

.ranking-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .1);
}

.ranking-head {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid rgba(226, 232, 240, .9);
}

.ranking-head h3 {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--ink);
}

.ranking-tag {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: var(--cyan);
    color: white;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    padding: .25rem .65rem;
}

.ranking-list {
    list-style: none;
    margin: 0;
    padding: .5rem 0;
}

.ranking-list li {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .8rem 1.5rem;
    border-bottom: 1px dashed rgba(226, 232, 240, .9);
    transition: background .2s ease;
}

.ranking-list li:last-child {
    border-bottom: 0;
}

.ranking-list li:hover {
    background: rgb(248 250 252);
}

.ranking-no {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    text-align: center;
    border-radius: .4rem;
    background: rgb(241 245 249);
    color: var(--slate);
    font-size: .8rem;
    font-weight: 900;
}

.ranking-list li:nth-child(1) .ranking-no,
.ranking-list li:nth-child(2) .ranking-no,
.ranking-list li:nth-child(3) .ranking-no {
    background: var(--cyan);
    color: white;
}

/* 榜单条目缩略图：64px 方形，圆角，悬浮微放大 */
.ranking-thumb {
    flex-shrink: 0;
    width: 4rem;
    height: 4rem;
    border-radius: .6rem;
    overflow: hidden;
    position: relative;
    background: rgb(241 245 249);
    box-shadow: 0 2px 8px rgba(15, 23, 42, .08);
}

.ranking-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}

.ranking-thumb:hover img {
    transform: scale(1.08);
}

.ranking-list li > a:not(.ranking-thumb) {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
    flex: 1;
}

.ranking-title {
    font-size: .92rem;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    transition: color .2s ease;
}

.ranking-list a:hover .ranking-title {
    color: var(--blue);
}

.ranking-meta {
    font-size: .75rem;
    color: rgb(100 116 139);
}

.report-card {
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    overflow: hidden;
}

.report-card:hover {
    transform: translateY(-2px);
    border-color: rgba(30, 90, 168, .24);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .08);
}

/* 热点洞察卡片封面：顶部全宽图，悬浮放大，分类标签浮于左上 */
.report-cover {
    position: relative;
    aspect-ratio: 16 / 9;
    background: var(--ink);
}

.report-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease;
}

.report-card:hover .report-cover img {
    transform: scale(1.06);
}

.report-cover-tag {
    position: absolute;
    left: .75rem;
    top: .75rem;
    border-radius: 999px;
    background: rgba(17, 24, 39, .72);
    color: #fff;
    padding: .25rem .7rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .02em;
    backdrop-filter: blur(6px);
}

.report-list-card {
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    overflow: hidden;
}

.report-list-card:hover {
    transform: translateY(-2px);
    border-color: rgba(30, 90, 168, .24);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .08);
}

/* 研选报告卡片封面：顶部全宽图，分类标签浮于左下 */
.report-list-cover {
    position: relative;
    aspect-ratio: 16 / 9;
    background: var(--ink);
}

.report-list-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease;
}

.report-list-card:hover .report-list-cover img {
    transform: scale(1.06);
}

.report-list-cat {
    position: absolute;
    left: .75rem;
    bottom: .75rem;
    border-radius: .4rem;
    background: rgba(214, 164, 65, .92);
    color: #fff;
    padding: .25rem .65rem;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .03em;
}

.industry-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, .35);
    background: white;
    padding: .65rem 1.25rem;
    font-size: .9rem;
    font-weight: 700;
    color: var(--slate);
    transition: transform .2s ease, border-color .2s ease, color .2s ease, background .2s ease;
}

.industry-chip:hover {
    transform: translateY(-2px);
    border-color: var(--blue);
    color: var(--blue);
    background: rgb(239 246 255);
}

.hero-copy-stack {
    position: relative;
    min-height: 13.5rem;
}

.hero-search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    max-width: 46rem;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: .85rem;
    background: rgba(255, 255, 255, .96);
    padding: .5rem;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .22);
    backdrop-filter: blur(16px);
}

.hero-search-icon {
    width: 1.2rem;
    height: 1.2rem;
    margin-left: .65rem;
    color: var(--blue);
}

.hero-search input {
    min-width: 0;
    border: 0;
    background: transparent;
    color: var(--ink);
    padding: .85rem 0;
    font-size: 1rem;
    outline: 0;
}

.hero-search input::placeholder {
    color: #8492a6;
}

.hero-search button {
    border-radius: .6rem;
    background: var(--blue);
    color: #fff;
    padding: .9rem 1.2rem;
    font-size: .92rem;
    font-weight: 800;
    transition: background .2s ease, transform .2s ease;
}

.hero-search button:hover {
    background: #164b8d;
    transform: translateX(2px);
}

.hero-keywords {
    display: flex;
    max-width: 46rem;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem .9rem;
    color: rgba(226, 232, 240, .82);
    font-size: .82rem;
}

.hero-keywords > span {
    color: var(--gold);
    font-weight: 800;
}

.hero-keywords a {
    border-bottom: 1px solid transparent;
    transition: color .2s ease, border-color .2s ease;
}

.hero-keywords a:hover {
    border-color: rgba(255, 255, 255, .5);
    color: #fff;
}

.report-index-section {
    position: relative;
    z-index: 20;
    padding-bottom: 4rem;
}

.report-index-section > div {
    transform: translateY(-2.5rem);
    border: 1px solid var(--line);
    border-radius: 1.25rem;
    background: rgba(246, 248, 250, .98);
    padding: 1.5rem;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .09);
}

.report-index-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.report-index-head p,
.featured-kicker {
    color: var(--blue);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.report-index-head h2 {
    margin-top: .3rem;
    color: var(--ink);
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    font-weight: 850;
    letter-spacing: -.025em;
}

.report-index-head > a {
    flex-shrink: 0;
    color: var(--blue);
    font-size: .86rem;
    font-weight: 800;
}

.featured-layout {
    display: grid;
    gap: 1.25rem;
}

.featured-report {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .07);
}

.featured-report-cover {
    position: relative;
    min-height: 18rem;
    overflow: hidden;
    background: var(--ink);
}

.featured-report-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.featured-report:hover .featured-report-cover img {
    transform: scale(1.025);
}

.featured-report-cover span {
    position: absolute;
    left: 1rem;
    top: 1rem;
    border-radius: 999px;
    background: rgba(17, 24, 39, .82);
    color: #fff;
    padding: .38rem .75rem;
    font-size: .72rem;
    font-weight: 800;
    backdrop-filter: blur(8px);
}

.featured-report-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.6rem;
}

.featured-report-body h3 {
    margin-top: .65rem;
    color: var(--ink);
    font-size: clamp(1.55rem, 3vw, 2.35rem);
    line-height: 1.18;
    font-weight: 850;
    letter-spacing: -.035em;
}

.featured-report-body h3 a:hover {
    color: var(--blue);
}

.featured-summary {
    margin-top: 1rem;
    color: #64748b;
    font-size: .94rem;
    line-height: 1.85;
}

.featured-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    margin-top: 1rem;
    color: #8492a6;
    font-size: .78rem;
}

.featured-action {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: 1.35rem;
    border-radius: .55rem;
    background: var(--ink);
    color: #fff;
    padding: .8rem 1rem;
    font-size: .88rem;
    font-weight: 800;
    transition: background .2s ease;
}

.featured-action:hover {
    background: var(--blue);
}

.selected-report-list {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 1.25rem;
    background: #fff;
}

.selected-report-item {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    border-bottom: 1px solid #e8edf2;
}

.selected-report-item:last-child {
    border-bottom: 0;
}

.selected-report-thumb {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: .55rem;
    background: #e8edf2;
}

.selected-report-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.selected-report-item p {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    color: #94a3b8;
    font-size: .7rem;
}

.selected-report-item p span {
    color: var(--blue);
    font-weight: 800;
}

.selected-report-item h3 {
    margin-top: .4rem;
    color: var(--ink);
    font-size: .95rem;
    line-height: 1.5;
    font-weight: 750;
}

.selected-report-item h3 a:hover {
    color: var(--blue);
}

.selected-report-item small {
    display: block;
    margin-top: .35rem;
    color: #94a3b8;
    font-size: .72rem;
}

.home-empty {
    display: grid;
    justify-items: center;
    gap: .4rem;
    border: 1px dashed #cbd5e1;
    border-radius: 1rem;
    background: rgba(255, 255, 255, .7);
    padding: 3rem 1.5rem;
    text-align: center;
}

.home-empty strong {
    color: var(--ink);
    font-size: 1.05rem;
}

.home-empty span {
    color: #64748b;
    font-size: .9rem;
}

.platform-grid {
    position: absolute;
    inset: 0;
    opacity: .28;
    background-image:
        linear-gradient(rgba(30, 90, 168, .22) 1px, transparent 1px),
        linear-gradient(90deg, rgba(30, 90, 168, .22) 1px, transparent 1px),
        radial-gradient(circle at 18% 20%, rgba(214, 164, 65, .22), transparent 28%);
    background-size: 72px 72px, 72px 72px, auto;
    mask-image: linear-gradient(90deg, #000, transparent 85%);
}

.platform-capability {
    position: relative;
    min-height: 11rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .055);
    padding: 1.4rem;
    backdrop-filter: blur(10px);
    transition: border-color .2s ease, background .2s ease;
}

.platform-capability:hover {
    border-color: rgba(214, 164, 65, .4);
    background: rgba(255, 255, 255, .075);
}

.platform-capability > span {
    position: absolute;
    right: 1rem;
    top: .65rem;
    color: rgba(214, 164, 65, .32);
    font-size: 2rem;
    font-weight: 900;
}

.platform-capability h3 {
    position: relative;
    padding-right: 2rem;
    font-size: 1.05rem;
    font-weight: 800;
}

.platform-capability p {
    position: relative;
    margin-top: .75rem;
    color: #b9c4d3;
    font-size: .86rem;
    line-height: 1.75;
}

.platform-primary,
.platform-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .6rem;
    padding: .85rem 1.15rem;
    font-size: .9rem;
    font-weight: 800;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.platform-primary {
    background: #fff;
    color: var(--ink);
}

.platform-primary:hover {
    background: var(--gold);
}

.platform-secondary {
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
}

.platform-secondary:hover {
    border-color: var(--gold);
    color: var(--gold);
}

.ranking-tag,
.ranking-list li:nth-child(1) .ranking-no,
.ranking-list li:nth-child(2) .ranking-no,
.ranking-list li:nth-child(3) .ranking-no,
.report-list-cat {
    color: #111827;
}

@media (min-width: 1024px) {
    .featured-layout {
        grid-template-columns: minmax(0, 1.28fr) minmax(22rem, .72fr);
    }

    .featured-report {
        grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr);
    }

    .featured-report-cover {
        min-height: 100%;
    }

    .featured-report-body {
        justify-content: center;
        padding: 2.25rem;
    }
}

@media (max-width: 767px) {
    .hero-copy-stack {
        min-height: 16.5rem;
    }

    .hero-search {
        grid-template-columns: auto minmax(0, 1fr);
        gap: .4rem;
        padding: .45rem;
    }

    .hero-search button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .hero-keywords a:nth-of-type(n+5) {
        display: none;
    }

    .report-index-section {
        padding-bottom: 1rem;
    }

    .report-index-section > div {
        transform: translateY(-1.5rem);
        padding: 1rem;
    }

    .report-index-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .selected-report-item {
        grid-template-columns: 5.5rem minmax(0, 1fr);
        gap: .8rem;
    }
}

.line-clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .reveal {
        opacity: 1;
        transform: none;
    }
}

/* ============================================================
   行研业务介绍 · 内容区样式 (lr-page)
   ------------------------------------------------------------
   所有样式限定在 .lr-page 作用域内，避免污染站点全局样式。
   依赖 :root 已定义的变量：
     --ink #111827   --slate #334155   --blue #1e5aa8
     --cyan #d6a441(金)   --violet #64748b   --paper #f6f8fa
   ============================================================ */

.lr-page,
.lr-page *,
.lr-page *::before,
.lr-page *::after { box-sizing: border-box; }

.lr-page {
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC",
        "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    color: var(--slate);
    font-size: 15px;
    line-height: 1.75;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ---------- 通用：标题块 ---------- */
.lr-head { margin: 0 0 40px; }

.lr-head__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--cyan);
    margin: 0 0 14px;
}
.lr-head__eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    background: var(--cyan);
    border-radius: 2px;
}
.lr-head__eyebrow span {
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 600;
    opacity: .82;
}

.lr-head__title {
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -.5px;
    line-height: 1.4;
    margin: 0;
}
.lr-head__title em { font-style: normal; color: var(--blue); }

/* ---------- 通用：关键词标签 ---------- */
.lr-tag {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    padding: 6px 11px;
    border-radius: 999px;
    color: var(--slate);
    background: var(--paper);
    border: 1px solid #e6ebf2;
    white-space: nowrap;
    transition: color .25s, background .25s, border-color .25s;
}

/* ============================================================
   Section A · 核心优势 —— 2×2 卡片网格
   ============================================================ */
.lr-adv-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
@media (max-width: 640px) {
    .lr-adv-grid { grid-template-columns: 1fr; }
}

.lr-adv-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    padding: 26px 24px 22px;
    overflow: hidden;
    transition: transform .35s cubic-bezier(.2,.7,.3,1),
                box-shadow .35s ease,
                border-color .35s ease;
}
.lr-adv-card::before {
    /* 悬停时顶部金色细线由左滑入 */
    content: "";
    position: absolute;
    left: 0; top: 0;
    width: 100%; height: 2px;
    background: linear-gradient(90deg, var(--cyan), rgba(214,164,65,0));
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .45s ease;
}
.lr-adv-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 44px -22px rgba(17,24,39,.22);
    border-color: #dbe4ef;
}
.lr-adv-card:hover::before { transform: scaleX(1); }

.lr-adv-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 16px;
}
.lr-adv-card__num {
    font-size: 38px;
    font-weight: 800;
    line-height: .9;
    color: var(--cyan);
    letter-spacing: -1px;
    font-variant-numeric: tabular-nums;
}
.lr-adv-card__icon {
    width: 44px; height: 44px;
    flex: 0 0 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--blue);
    background: #eef4fb;
    transition: transform .35s ease, background .35s ease;
}
.lr-adv-card__icon svg { width: 22px; height: 22px; display: block; }
.lr-adv-card:hover .lr-adv-card__icon {
    transform: rotate(-6deg) scale(1.05);
    background: #e3edfa;
}

.lr-adv-card__title {
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.5;
    margin: 0 0 4px;
}
.lr-adv-card__rule {
    width: 30px;
    height: 2px;
    background: #e2e8f0;
    border-radius: 2px;
    margin: 12px 0 14px;
    transition: width .35s ease, background .35s ease;
}
.lr-adv-card:hover .lr-adv-card__rule {
    width: 52px;
    background: var(--cyan);
}

.lr-adv-card__body {
    font-size: 13.5px;
    color: var(--slate);
    line-height: 1.85;
    margin: 0 0 18px;
    flex: 1 1 auto;                 /* 让标签行在卡片底部对齐 */
}
.lr-adv-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.lr-adv-card:hover .lr-tag { border-color: #f0e0b8; }

/* ============================================================
   Section B · 业务分类 —— 纵向业务清单
   ============================================================ */
.lr-svc-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.lr-svc {
    position: relative;
    display: flex;
    align-items: stretch;
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    overflow: hidden;
    transition: transform .35s cubic-bezier(.2,.7,.3,1),
                box-shadow .35s ease,
                border-color .35s ease;
}
.lr-svc:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px -22px rgba(17,24,39,.2);
    border-color: #dbe4ef;
}

/* 左侧编号列 */
.lr-svc__side {
    flex: 0 0 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #eef2f7;
    background: linear-gradient(180deg, #fbfcfe, #fff);
    transition: background .35s ease;
}
.lr-svc:hover .lr-svc__side {
    background: linear-gradient(180deg, #f6faff, #fff);
}
.lr-svc__num {
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    color: var(--cyan);
    letter-spacing: -1px;
    font-variant-numeric: tabular-nums;
}

/* 右侧主内容 */
.lr-svc__main {
    flex: 1 1 auto;
    min-width: 0;
    padding: 20px 22px;
}
.lr-svc__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.lr-svc__icon {
    width: 36px; height: 36px;
    flex: 0 0 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--blue);
    background: #eef4fb;
    transition: transform .35s ease;
}
.lr-svc__icon svg { width: 19px; height: 19px; display: block; }
.lr-svc:hover .lr-svc__icon { transform: scale(1.06); }

.lr-svc__title {
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    margin: 0;
    line-height: 1.4;
}
.lr-svc__badge {                   /* 旗舰业务标记 */
    margin-left: auto;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    color: var(--cyan);
    background: #fbf3e0;
    border: 1px solid #f0e0b8;
    padding: 4px 10px;
    border-radius: 999px;
    white-space: nowrap;
}
.lr-svc__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}
.lr-svc__desc {
    font-size: 13.5px;
    color: var(--slate);
    line-height: 1.85;
    margin: 0;
}

/* 旗舰业务（#1 IPO）突出处理：浅蓝渐变 + 金色内嵌左条 */
.lr-svc--flagship {
    background: linear-gradient(135deg, #f2f8ff 0%, #ffffff 58%);
    border-color: #cfe0f5;
    box-shadow: inset 4px 0 0 var(--cyan);
}
.lr-svc--flagship .lr-svc__side {
    background: linear-gradient(180deg, #ecf4ff, #f8fbff);
    border-right-color: #dbe8f5;
}
.lr-svc--flagship:hover {
    border-color: #bcd6f2;
    box-shadow: inset 4px 0 0 var(--cyan),
                0 18px 40px -22px rgba(17,24,39,.2);
}

/* ---------- 响应式：窄屏收紧间距 ---------- */
@media (max-width: 640px) {
    .lr-head { margin-bottom: 30px; }
    .lr-svc__side { flex-basis: 56px; }
    .lr-svc__num { font-size: 24px; }
    .lr-svc__main { padding: 16px 16px; }
    .lr-adv-card { padding: 22px 20px 20px; }
}

/* 尊重“减少动效”偏好 */
@media (prefers-reduced-motion: reduce) {
    .lr-page *,
    .lr-page *::before,
    .lr-page *::after {
        transition: none !important;
        animation: none !important;
    }
    .lr-adv-card:hover,
    .lr-svc:hover { transform: none; }
}

/* ============================================================
   二级页面统一组件 (led-modern)
   ------------------------------------------------------------
   与首页 hero / report-list-card / section-title 视觉对齐。
   依赖 :root 已定义变量：
     --ink #111827  --slate #334155  --blue #1e5aa8
     --cyan #d6a441(金)  --paper #f6f8fa
   ============================================================ */

/* ---------- 统一深色 Hero 页头 ---------- */
.led-hero {
    position: relative;
    overflow: hidden;
    background: var(--ink);
    color: #fff;
}
.led-hero::before {
    /* 复用首页 hero 的双色光晕装饰 */
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: .55;
    background-image:
        radial-gradient(circle at 18% 12%, rgba(34, 211, 238, .22), transparent 30%),
        radial-gradient(circle at 86% 88%, rgba(124, 58, 237, .20), transparent 32%);
    pointer-events: none;
}
.led-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 80rem;
    margin: 0 auto;
    padding: 9rem 1.25rem 4rem;
}
@media (min-width: 64rem) {
    .led-hero__inner { padding: 9rem 2rem 4.5rem; }
}

.led-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    margin: 0 0 1rem;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--cyan);
}
.led-hero__eyebrow::before {
    content: "";
    width: 1.5rem;
    height: 2px;
    background: var(--cyan);
    border-radius: 2px;
}

.led-hero__title {
    margin: 0;
    font-size: clamp(1.85rem, 4vw, 3rem);
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: -.02em;
    color: #fff;
}
/* 详情页标题更长，放宽行高 */
.led-hero__title--lg {
    font-size: clamp(1.7rem, 3.6vw, 2.6rem);
    line-height: 1.3;
}

.led-hero__desc {
    margin: 1.1rem 0 0;
    max-width: 44rem;
    font-size: 1rem;
    line-height: 1.8;
    color: rgb(203 213 225);
}

/* 元信息行（详情页用：来源 / 时间 / 阅读） */
.led-hero__meta {
    margin: 1.25rem 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1.4rem;
    font-size: .82rem;
    color: rgba(255, 255, 255, .72);
}
.led-hero__meta span { display: inline-flex; align-items: center; gap: .4rem; }

.led-hero__crumb {
    margin-top: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    font-size: .82rem;
    color: rgba(255, 255, 255, .6);
}
.led-hero__crumb a {
    color: rgba(255, 255, 255, .6);
    transition: color .2s ease;
}
.led-hero__crumb a:hover { color: var(--cyan); }
.led-hero__crumb .sep { opacity: .5; }
.led-hero__crumb .current { color: var(--cyan); font-weight: 600; }

/* ---------- 卡片式翻页导航 ---------- */
.post-nav {
    display: grid;
    gap: 1rem;
    margin-top: 3rem;
}
@media (min-width: 48rem) {
    .post-nav { grid-template-columns: 1fr 1fr; }
}
.post-nav__item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.4rem;
    border: 1px solid rgba(148, 163, 184, .25);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
    min-width: 0;
}
.post-nav__item:hover {
    transform: translateY(-2px);
    border-color: rgba(214, 164, 65, .5);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .09);
    text-decoration: none;
}
.post-nav__item.is-empty {
    opacity: .5;
    pointer-events: none;
    background: rgb(248 250 252);
}
.post-nav__arrow {
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .6rem;
    background: rgb(241 245 249);
    color: var(--slate);
    transition: background .22s ease, color .22s ease;
}
.post-nav__item:hover .post-nav__arrow {
    background: var(--cyan);
    color: #fff;
}
.post-nav__text { min-width: 0; }
.post-nav__label {
    display: block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: rgb(148 163 184);
}
.post-nav__title {
    display: block;
    margin-top: .25rem;
    font-size: .95rem;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.post-nav__item--next { justify-content: flex-end; text-align: right; }
.post-nav__item--next .post-nav__arrow { order: 2; }

/* ---------- 统一分页 ---------- */
.led-pagination {
    margin-top: 3.5rem;
    display: flex;
    justify-content: center;
}
/* ThinkPHP 默认输出 ul.pagination */
.led-pagination ul,
.led-pagination .pagination {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .4rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.led-pagination li { display: inline-flex; }
.led-pagination a,
.led-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 .75rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .6rem;
    background: #fff;
    color: var(--slate);
    font-size: .9rem;
    font-weight: 600;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.led-pagination a:hover {
    border-color: var(--cyan);
    color: var(--cyan);
    text-decoration: none;
}
/* 当前页 / 禁用态 */
.led-pagination .active span,
.led-pagination .active a,
.led-pagination .current {
    background: var(--cyan);
    border-color: var(--cyan);
    color: #fff;
}
.led-pagination .disabled span,
.led-pagination .disabled a {
    opacity: .45;
    pointer-events: none;
}

/* ---------- 空状态 ---------- */
.led-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 4rem 1.5rem;
}
.led-empty__icon {
    width: 4.5rem;
    height: 4.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgb(241 245 249);
    color: rgb(148 163 184);
    margin-bottom: 1.5rem;
}
.led-empty__icon svg { width: 2.25rem; height: 2.25rem; }
.led-empty__title {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--ink);
}
.led-empty__desc {
    margin-top: .6rem;
    font-size: .95rem;
    line-height: 1.7;
    color: rgb(100 116 139);
    max-width: 32rem;
}
.led-empty__actions {
    margin-top: 1.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    justify-content: center;
}

/* ---------- 留言表单 ---------- */
.led-form { display: grid; gap: 1.1rem; }
.led-form .field-label {
    font-size: .82rem;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: .4rem;
}
.led-form .form-control,
.led-form input[type="text"],
.led-form input[type="email"],
.led-form input[type="tel"],
.led-form textarea {
    width: 100%;
    padding: .85rem 1rem;
    border: 1px solid rgba(148, 163, 184, .4);
    border-radius: .7rem;
    background: #fff;
    color: var(--ink);
    font-size: .95rem;
    line-height: 1.6;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.led-form .form-control::placeholder,
.led-form input::placeholder,
.led-form textarea::placeholder { color: rgb(148 163 184); }
.led-form .form-control:focus,
.led-form input:focus,
.led-form textarea:focus {
    border-color: var(--cyan);
    box-shadow: 0 0 0 4px rgba(214, 164, 65, .14);
}
.led-form__row { display: grid; gap: 1.1rem; }
@media (min-width: 40rem) {
    .led-form__row--2 { grid-template-columns: 1fr 1fr; }
}
.led-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .95rem 2rem;
    border: 0;
    border-radius: .7rem;
    background: var(--cyan);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .04em;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.led-form__submit:hover {
    transform: translateY(-2px);
    background: #c4953a;
    box-shadow: 0 12px 28px rgba(214, 164, 65, .32);
}

/* 联系方式卡片（留言页右侧） */
.contact-card {
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    padding: 1.75rem;
}
.contact-item {
    display: flex;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px dashed rgba(226, 232, 240, .9);
}
.contact-item:last-child { border-bottom: 0; }
.contact-item__icon {
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .75rem;
    background: color-mix(in srgb, var(--cyan) 12%, #fff);
    color: var(--cyan);
}
.contact-item__icon svg { width: 1.35rem; height: 1.35rem; }
.contact-item__label {
    font-size: .78rem;
    font-weight: 700;
    color: rgb(148 163 184);
    letter-spacing: .04em;
}
.contact-item__value {
    margin-top: .25rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--ink);
}
.contact-item__value a { color: var(--blue); }

/* ---------- 产品多图画廊 ---------- */
.led-gallery__main {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 1rem;
    overflow: hidden;
    background: rgb(241 245 249);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .08);
}
.led-gallery__main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.led-gallery__thumbs {
    margin-top: .9rem;
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}
.led-gallery__thumb {
    width: 4.5rem;
    height: 4.5rem;
    border-radius: .55rem;
    overflow: hidden;
    border: 2px solid transparent;
    background: rgb(241 245 249);
    cursor: pointer;
    transition: border-color .2s ease;
}
.led-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.led-gallery__thumb:hover,
.led-gallery__thumb.is-active { border-color: var(--cyan); }

/* 产品信息卡 */
.product-info-card {
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    padding: 1.75rem;
}
.product-info-card h1 {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.35;
    color: var(--ink);
    letter-spacing: -.01em;
}
.product-info-card .info-list {
    list-style: none;
    margin: 1.4rem 0 0;
    padding: 0;
}
.product-info-card .info-list li {
    display: flex;
    gap: .5rem;
    padding: .75rem 0;
    border-bottom: 1px dashed rgba(226, 232, 240, .9);
    font-size: .92rem;
    color: var(--slate);
}
.product-info-card .info-list li:last-child { border-bottom: 0; }
.product-info-card .info-list li strong {
    flex-shrink: 0;
    color: rgb(148 163 184);
    font-weight: 600;
    min-width: 5rem;
}
.product-info-card .info-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-top: 1.4rem;
    width: 100%;
    padding: .9rem 1.5rem;
    border-radius: .7rem;
    background: var(--ink);
    color: #fff;
    font-weight: 800;
    transition: transform .2s ease, background .2s ease;
}
.product-info-card .info-cta:hover {
    transform: translateY(-2px);
    background: var(--blue);
    text-decoration: none;
}

/* ---------- 区块标题（内页用，精简版 section-title） ---------- */
.led-block-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}
.led-block-title h2 {
    margin: 0;
    font-size: clamp(1.5rem, 2.6vw, 2rem);
    font-weight: 900;
    letter-spacing: -.02em;
    color: var(--ink);
}
.led-block-title .eyebrow {
    display: block;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--cyan);
    margin-bottom: .5rem;
}

/* 留言页：表单 + 联系方式 双栏布局 */
.led-contact-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
}
@media (min-width: 64rem) {
    .led-contact-grid {
        grid-template-columns: 1.1fr 0.9fr;
        align-items: start;
    }
}

/* 结果统计条（搜索页） */
.result-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: 2rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(226, 232, 240, .9);
}
.result-bar__count { font-size: 1rem; color: var(--slate); }
.result-bar__count strong { color: var(--ink); font-weight: 900; }
.result-bar__count em { color: var(--cyan); font-style: normal; font-weight: 800; }

/* ============================================================
   研报平台布局组件 (report-platform)
   ------------------------------------------------------------
   对齐发现报告(fxbaogao.com)真实布局：
   - 主列表 + 右侧栏 双栏
   - 横向信息密集型报告卡
   - 精简浅色页头（替代巨大深色 Hero）
   依赖 :root 变量 --ink/--slate/--blue/--cyan/--paper
   ============================================================ */

/* ---------- 精简浅色页头条 ---------- */
.page-head {
    background: linear-gradient(180deg, #fff 0%, var(--paper) 100%);
    border-bottom: 1px solid rgba(226, 232, 240, .9);
}
.page-head__inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 6.5rem 1.25rem 2rem;
}
@media (min-width: 64rem) {
    .page-head__inner { padding: 6.5rem 2rem 2.25rem; }
}
.page-head__crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    font-size: .8rem;
    color: rgb(100 116 139);
    margin-bottom: .9rem;
}
.page-head__crumb a {
    color: rgb(100 116 139);
    transition: color .2s ease;
}
.page-head__crumb a:hover { color: var(--blue); }
.page-head__crumb .sep { opacity: .5; }
.page-head__crumb .current { color: var(--ink); font-weight: 700; }

.page-head__title {
    margin: 0;
    font-size: clamp(1.7rem, 3.2vw, 2.4rem);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: var(--ink);
}
.page-head__title em { font-style: normal; color: var(--blue); }
.page-head__desc {
    margin: .8rem 0 0;
    max-width: 48rem;
    font-size: .95rem;
    line-height: 1.75;
    color: rgb(100 116 139);
}

/* 详情页页头：标题 + 元信息 */
.page-head__meta {
    margin: 1rem 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1.2rem;
    font-size: .82rem;
    color: rgb(100 116 139);
}
.page-head__meta span { display: inline-flex; align-items: center; gap: .35rem; }
.page-head__meta .cat {
    display: inline-flex;
    align-items: center;
    padding: .2rem .65rem;
    border-radius: .4rem;
    background: color-mix(in srgb, var(--cyan) 14%, #fff);
    color: #b5871f;
    font-weight: 700;
    font-size: .76rem;
}

/* ---------- 主列表 + 右侧栏 双栏布局 ---------- */
.report-layout {
    max-width: 80rem;
    margin: 0 auto;
    padding: 2.5rem 1.25rem 4rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 64rem) {
    .report-layout {
        padding: 3rem 2rem 5rem;
        grid-template-columns: minmax(0, 1fr) 18rem;
        gap: 2.5rem;
    }
}
@media (min-width: 80rem) {
    .report-layout { grid-template-columns: minmax(0, 1fr) 20rem; }
}
.report-layout__main { min-width: 0; }
.report-layout__aside { min-width: 0; }
/* 移动端侧栏排到主区下方（默认 grid 单列已实现） */

/* ---------- 排序切换条 ---------- */
.sort-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(226, 232, 240, .9);
}
.sort-bar__tabs {
    display: inline-flex;
    gap: .35rem;
}
.sort-bar__tab {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .5rem 1rem;
    border-radius: .55rem;
    font-size: .88rem;
    font-weight: 700;
    color: rgb(100 116 139);
    background: transparent;
    transition: color .2s ease, background .2s ease;
}
.sort-bar__tab:hover { color: var(--ink); background: rgb(241 245 249); text-decoration: none; }
.sort-bar__tab.is-active {
    color: #fff;
    background: var(--ink);
}
.sort-bar__count { font-size: .85rem; color: rgb(100 116 139); }
.sort-bar__count strong { color: var(--ink); font-weight: 800; }

/* ---------- 横向研报列表项（核心组件） ---------- */
.report-row {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 1.25rem;
    padding: 1.5rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .04);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.report-row + .report-row { margin-top: 1rem; }
.report-row:hover {
    transform: translateY(-2px);
    border-color: rgba(214, 164, 65, .45);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .09);
}

/* 封面缩略图：竖向比例贴合研报封面 */
.report-row__thumb {
    display: block;
    width: 7.5rem;
    aspect-ratio: 3 / 4;
    border-radius: .55rem;
    overflow: hidden;
    background: var(--ink);
    box-shadow: 0 4px 12px rgba(15, 23, 42, .12);
}
.report-row__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}
.report-row:hover .report-row__thumb img { transform: scale(1.05); }

.report-row__body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.report-row__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.5;
    color: var(--ink);
    letter-spacing: -.01em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    transition: color .2s ease;
}
.report-row__title a { color: inherit; }
.report-row:hover .report-row__title { color: var(--blue); }

.report-row__summary {
    margin: .55rem 0 0;
    font-size: .875rem;
    line-height: 1.7;
    color: rgb(100 116 139);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.report-row__meta {
    margin-top: auto;
    padding-top: .8rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .9rem;
    font-size: .78rem;
    color: rgb(148 163 184);
}
.report-row__meta .src { color: rgb(71 85 105); font-weight: 600; }
.report-row__meta .dot { opacity: .5; }
.report-row__cat {
    display: inline-flex;
    align-items: center;
    padding: .2rem .6rem;
    border-radius: .35rem;
    background: color-mix(in srgb, var(--cyan) 12%, #fff);
    color: #b5871f;
    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
}
.report-row__btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .45rem .9rem;
    border-radius: .5rem;
    background: var(--ink);
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    transition: background .2s ease, transform .2s ease;
}
.report-row__btn:hover {
    background: var(--blue);
    transform: translateX(2px);
    text-decoration: none;
}
.report-row__btn svg { width: .9rem; height: .9rem; }

/* 窄屏：缩略图变小、按钮移到信息行 */
@media (max-width: 47.99rem) {
    .report-row {
        grid-template-columns: 5rem minmax(0, 1fr);
        gap: .9rem;
        padding: 1.1rem;
    }
    .report-row__thumb { width: 5rem; }
    .report-row__title { font-size: .98rem; }
}

/* ---------- 右侧栏卡片 ---------- */
.report-aside {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    position: sticky;
    top: 6rem;
}
.aside-card {
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .04);
    padding: 1.35rem;
}
.aside-card__title {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 1rem;
    padding-bottom: .8rem;
    border-bottom: 1px solid rgba(226, 232, 240, .9);
    font-size: 1rem;
    font-weight: 800;
    color: var(--ink);
}
.aside-card__title::before {
    content: "";
    width: 4px;
    height: 1rem;
    border-radius: 2px;
    background: var(--cyan);
}

/* 热门搜索/标签胶囊云 */
.aside-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.aside-tags a {
    display: inline-flex;
    align-items: center;
    padding: .4rem .8rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, .3);
    background: var(--paper);
    font-size: .8rem;
    font-weight: 600;
    color: rgb(71 85 105);
    transition: all .2s ease;
}
.aside-tags a:hover {
    border-color: var(--cyan);
    color: #b5871f;
    background: color-mix(in srgb, var(--cyan) 10%, #fff);
    text-decoration: none;
    transform: translateY(-1px);
}

/* 行业/分类列表 */
.aside-list { list-style: none; margin: 0; padding: 0; }
.aside-list li { border-bottom: 1px dashed rgba(226, 232, 240, .9); }
.aside-list li:last-child { border-bottom: 0; }
.aside-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .65rem .15rem;
    font-size: .88rem;
    font-weight: 600;
    color: rgb(71 85 105);
    transition: color .2s ease, padding-left .2s ease;
}
.aside-list a:hover {
    color: var(--blue);
    padding-left: .5rem;
    text-decoration: none;
}
.aside-list a::after {
    content: "›";
    color: rgb(203 213 225);
    font-weight: 700;
    transition: color .2s ease;
}
.aside-list a:hover::after { color: var(--cyan); }
.aside-list a.is-active { color: var(--blue); }

/* 热门报告紧凑列表 */
.aside-rank { list-style: none; margin: 0; padding: 0; counter-reset: rank; }
.aside-rank li {
    display: flex;
    gap: .65rem;
    align-items: flex-start;
    padding: .55rem 0;
}
.aside-rank li::before {
    counter-increment: rank;
    content: counter(rank);
    flex-shrink: 0;
    width: 1.35rem;
    height: 1.35rem;
    line-height: 1.35rem;
    text-align: center;
    border-radius: .35rem;
    background: rgb(241 245 249);
    color: rgb(100 116 139);
    font-size: .75rem;
    font-weight: 800;
}
.aside-rank li:nth-child(1)::before,
.aside-rank li:nth-child(2)::before,
.aside-rank li:nth-child(3)::before {
    background: var(--cyan);
    color: #fff;
}
.aside-rank a {
    font-size: .85rem;
    line-height: 1.5;
    color: rgb(51 65 85);
    font-weight: 600;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    transition: color .2s ease;
}
.aside-rank a:hover { color: var(--blue); text-decoration: none; }

/* 联系/商务卡片 */
.aside-contact p {
    margin: .35rem 0;
    font-size: .85rem;
    color: rgb(71 85 105);
    line-height: 1.7;
}
.aside-contact p strong {
    color: rgb(148 163 184);
    font-weight: 600;
    margin-right: .35rem;
}
.aside-contact .aside-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    margin-top: .75rem;
    width: 100%;
    padding: .65rem 1rem;
    border-radius: .55rem;
    background: var(--cyan);
    color: #fff;
    font-size: .85rem;
    font-weight: 800;
    transition: transform .2s ease, box-shadow .2s ease;
}
.aside-contact .aside-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(214, 164, 65, .35);
    text-decoration: none;
}

/* ---------- 详情页正文容器（双栏左侧） ---------- */
.article-main {
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .04);
    overflow: hidden;
}
.article-main__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    padding: .9rem 1.75rem;
    background: var(--paper);
    border-bottom: 1px solid rgba(226, 232, 240, .9);
    font-size: .82rem;
    color: rgb(100 116 139);
}
.article-main__topbar .actions { display: inline-flex; gap: .8rem; align-items: center; }
.article-main__topbar .actions a { color: rgb(100 116 139); transition: color .2s ease; }
.article-main__topbar .actions a:hover { color: var(--blue); }
.article-main__body {
    padding: 2rem 1.5rem;
}
@media (min-width: 48rem) {
    .article-main__body { padding: 2.5rem 3rem; }
}
.article-main__topbar .article-download-link {
    color: var(--blue);
    font-weight: 700;
}
.article-main__topbar .article-download-link:hover {
    color: var(--cyan);
}
.article-attach {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
    padding: 1.1rem 1.25rem;
    border: 1px dashed rgba(148, 163, 184, .55);
    border-radius: .75rem;
    background: linear-gradient(135deg, rgba(248, 250, 252, .95), rgba(241, 245, 249, .9));
}
.article-attach__icon {
    flex: 0 0 auto;
    width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .55rem;
    background: rgba(37, 99, 235, .08);
    color: var(--blue);
}
.article-attach__icon svg {
    width: 1.25rem;
    height: 1.25rem;
}
.article-attach__meta {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.article-attach__meta strong {
    font-size: .92rem;
    color: rgb(15 23 42);
}
.article-attach__meta span {
    font-size: .82rem;
    color: rgb(100 116 139);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.article-attach__btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .55rem 1.1rem;
    border-radius: .5rem;
    background: var(--blue);
    color: #fff;
    font-size: .85rem;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.article-attach__btn:hover {
    background: var(--cyan);
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(37, 99, 235, .25);
}
@media (max-width: 40rem) {
    .article-attach {
        flex-wrap: wrap;
    }
    .article-attach__btn {
        width: 100%;
    }
}

/* ============================================================
   一级频道视觉系统
   ============================================================ */
.mobile-nav-link {
    color: rgb(51 65 85);
    transition: color .2s ease, background .2s ease;
}
.mobile-nav-link:hover { background: rgb(241 245 249); text-decoration: none; }
.mobile-nav-link.is-active { background: var(--ink); color: #fff; }

.led-content-wrap { padding-top: 5rem; }
.led-content-wrap:focus { outline: none; }

.channel-head {
    --channel-accent: var(--blue);
    --channel-accent-rgb: 30, 90, 168;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(115deg, rgba(17, 24, 39, .99) 0%, rgba(17, 24, 39, .94) 52%, rgba(30, 41, 59, .88) 100%);
}
.channel-head::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .2;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(90deg, transparent, #000 38%, #000);
}
.channel-head::after {
    content: "";
    position: absolute;
    right: -10rem;
    bottom: -16rem;
    z-index: -1;
    width: 36rem;
    height: 36rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    box-shadow: 0 0 0 5rem rgba(255,255,255,.025), 0 0 0 10rem rgba(255,255,255,.018);
}
.channel-head--industry { --channel-accent: #36a3a1; --channel-accent-rgb: 54, 163, 161; }
.channel-head--reports { --channel-accent: #d6a441; --channel-accent-rgb: 214, 164, 65; }
.channel-head--strategy { --channel-accent: #7c8fc7; --channel-accent-rgb: 124, 143, 199; }
.channel-head--company { --channel-accent: #4f8ac9; --channel-accent-rgb: 79, 138, 201; }
.channel-head--insight { --channel-accent: #c66c55; --channel-accent-rgb: 198, 108, 85; }
.channel-head--custom { --channel-accent: #d6a441; --channel-accent-rgb: 214, 164, 65; }
.channel-head--contact { --channel-accent: #4f8ac9; --channel-accent-rgb: 79, 138, 201; }
.channel-head__glow {
    position: absolute;
    top: -14rem;
    right: 8%;
    z-index: -1;
    width: 34rem;
    height: 34rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--channel-accent-rgb), .3), transparent 68%);
    pointer-events: none;
}
.channel-head__inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 3rem 1.25rem 0;
}
.channel-head__crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    margin-bottom: 2rem;
    font-size: .78rem;
    color: rgba(226, 232, 240, .66);
}
.channel-head__crumb a { color: rgba(226, 232, 240, .72); transition: color .2s ease; }
.channel-head__crumb a:hover { color: #fff; text-decoration: none; }
.channel-head__crumb span[aria-current="page"] { color: #fff; font-weight: 700; }
.channel-head__grid {
    display: grid;
    gap: 2.5rem;
    align-items: end;
    padding-bottom: 3rem;
}
.channel-head__eyebrow {
    margin: 0 0 1rem;
    color: var(--channel-accent);
    font-size: .72rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .3em;
}
.channel-head h1 {
    max-width: 48rem;
    margin: 0;
    color: #fff;
    font-size: clamp(2.4rem, 6vw, 4.8rem);
    line-height: .98;
    font-weight: 900;
    letter-spacing: -.055em;
}
.channel-head__lead {
    max-width: 42rem;
    margin: 1.25rem 0 0;
    color: rgb(203 213 225);
    font-size: clamp(.95rem, 1.5vw, 1.08rem);
    line-height: 1.85;
}
.channel-head__summary {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: end;
    gap: .2rem .8rem;
    min-width: 14rem;
    padding: 1.3rem 1.4rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 1rem;
    background: rgba(255,255,255,.07);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(14px);
}
.channel-head__summary span {
    grid-column: 1 / -1;
    color: rgba(226,232,240,.68);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
}
.channel-head__summary strong {
    color: var(--channel-accent);
    font-size: 2.8rem;
    line-height: .9;
    font-weight: 900;
    letter-spacing: -.05em;
}
.channel-head__summary small { color: rgb(226 232 240); font-size: .78rem; padding-bottom: .12rem; }

.channel-index {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    padding: 1.2rem 1.25rem;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 1rem;
    background: #fff;
    color: var(--ink);
    box-shadow: 0 8px 24px rgba(15,23,42,.05);
}
.channel-index__head {
    flex: 0 0 auto;
    min-width: 7.5rem;
    padding-right: 1.4rem;
    border-right: 1px solid rgb(226 232 240);
}
.channel-index__eyebrow {
    display: block;
    margin-bottom: .35rem;
    color: var(--blue);
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .14em;
}
.channel-index__head strong { display: block; color: var(--ink); font-size: .92rem; font-weight: 850; }
.channel-index__links { display: flex; flex-wrap: wrap; gap: .45rem; }
.channel-index__links a {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    padding: .4rem .8rem;
    border-radius: .5rem;
    color: rgb(71 85 105);
    font-size: .82rem;
    font-weight: 700;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}
.channel-index__links a:hover { color: var(--blue); background: rgb(241 245 249); text-decoration: none; transform: translateY(-1px); }
.channel-index__links a.is-active { color: #fff; background: var(--ink); }

.channel-head__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.channel-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    padding: .7rem 1.15rem;
    border-radius: .6rem;
    font-size: .86rem;
    font-weight: 800;
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.channel-action:hover { transform: translateY(-2px); text-decoration: none; }
.channel-action--primary { color: var(--ink); background: var(--channel-accent); }
.channel-action--primary:hover { color: var(--ink); filter: brightness(1.06); }
.channel-action--secondary { color: #fff; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.06); }
.channel-action--secondary:hover { color: #fff; border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.11); }
.channel-service-mark {
    align-self: stretch;
    min-height: 12rem;
    padding: 1.5rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 1rem;
    background: linear-gradient(145deg, rgba(var(--channel-accent-rgb), .2), rgba(255,255,255,.04));
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.channel-service-mark span { color: var(--channel-accent); font-size: .72rem; font-weight: 800; letter-spacing: .16em; }
.channel-service-mark strong { color: #fff; font-size: 2rem; line-height: 1.1; letter-spacing: -.04em; }

.report-layout { background: var(--paper); }
.report-layout--industry,
.report-layout--reports,
.report-layout--strategy,
.report-layout--company,
.report-layout--insight { max-width: none; padding-left: max(1.25rem, calc((100% - 80rem) / 2)); padding-right: max(1.25rem, calc((100% - 80rem) / 2)); }
.sort-bar { align-items: end; }
.sort-bar > div { min-width: 0; }
.sort-bar__eyebrow,
.aside-card__eyebrow {
    margin: 0 0 .45rem;
    color: var(--blue);
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .2em;
}
.sort-bar h2 { margin: 0; color: var(--ink); font-size: 1.45rem; font-weight: 900; letter-spacing: -.025em; }
.report-row__topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .5rem;
    color: rgb(148 163 184);
    font-size: .74rem;
}
.report-row__meta .report-row__btn { margin-left: auto; }
.aside-card__eyebrow + .aside-card__title { margin-top: 0; }
.aside-contact .aside-card__title { line-height: 1.35; }

.service-page,
.message-page { background: var(--paper); padding: 4rem 1.25rem 5rem; }
.service-page__inner,
.message-page__inner { max-width: 80rem; margin: 0 auto; }
.service-highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}
.service-highlights article {
    position: relative;
    overflow: hidden;
    min-height: 12rem;
    padding: 1.5rem;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15,23,42,.05);
}
.service-highlights article::after {
    content: "";
    position: absolute;
    right: -2rem;
    bottom: -2rem;
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    background: rgba(214,164,65,.09);
}
.service-highlights span { color: var(--gold); font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.service-highlights h2 { margin: 2rem 0 .55rem; color: var(--ink); font-size: 1.1rem; font-weight: 850; }
.service-highlights p { margin: 0; color: rgb(100 116 139); font-size: .86rem; line-height: 1.75; }
.contact-summary { display: grid; gap: 1rem; margin-bottom: 2rem; }
.contact-summary__item {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 10rem;
    padding: 1.5rem;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15,23,42,.05);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.contact-summary__item:hover { transform: translateY(-3px); border-color: rgba(30,90,168,.35); box-shadow: 0 14px 30px rgba(15,23,42,.08); text-decoration: none; }
.contact-summary__item span { color: var(--blue); font-size: .72rem; font-weight: 850; letter-spacing: .12em; }
.contact-summary__item strong { margin-top: auto; color: var(--ink); font-size: 1.15rem; overflow-wrap: anywhere; }
.contact-summary__item small { margin-top: .5rem; color: rgb(100 116 139); font-size: .78rem; }
.service-content {
    display: grid;
    gap: 2rem;
    padding: 1.5rem;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 12px 34px rgba(15,23,42,.06);
}
.service-content__label {
    color: var(--blue);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.service-content__body { min-width: 0; }
.service-content__body > :first-child { margin-top: 0; }
.service-content__body > :last-child { margin-bottom: 0; }
.lr-page { max-width: none; color: rgb(51 65 85); font-size: .96rem; line-height: 1.9; }
.lr-page h1, .lr-page h2, .lr-page h3, .lr-page h4 { color: var(--ink); font-weight: 850; line-height: 1.35; letter-spacing: -.02em; }
.lr-page h2 { margin: 2rem 0 1rem; font-size: 1.5rem; }
.lr-page h3 { margin: 1.6rem 0 .8rem; font-size: 1.18rem; }
.lr-page p, .lr-page ul, .lr-page ol, .lr-page blockquote { margin: 0 0 1.15rem; }
.lr-page ul, .lr-page ol { padding-left: 1.35rem; }
.lr-page li + li { margin-top: .45rem; }
.lr-page img { display: block; max-width: 100%; height: auto; margin: 1.5rem auto; border-radius: .8rem; }
.lr-page blockquote { padding: 1rem 1.2rem; border-left: 4px solid var(--gold); background: var(--paper); color: rgb(71 85 105); }
.lr-page table { display: block; width: 100%; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.lr-page th, .lr-page td { min-width: 8rem; padding: .75rem; border: 1px solid rgb(226 232 240); text-align: left; }
.lr-page th { background: var(--paper); color: var(--ink); }
.service-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 2rem;
    padding: 2rem;
    border-radius: 1.25rem;
    color: #fff;
    background: var(--ink);
    box-shadow: 0 20px 50px rgba(15,23,42,.16);
}
.service-cta span { color: var(--gold); font-size: .7rem; font-weight: 850; letter-spacing: .2em; }
.service-cta h2 { margin: .5rem 0 0; color: #fff; font-size: 1.45rem; font-weight: 900; }
.service-cta p { margin: .55rem 0 0; color: rgb(148 163 184); font-size: .86rem; }
.service-cta > a { flex: 0 0 auto; display: inline-flex; gap: .6rem; align-items: center; padding: .8rem 1.1rem; border-radius: .6rem; background: var(--gold); color: var(--ink); font-size: .86rem; font-weight: 850; }
.service-cta > a:hover { text-decoration: none; transform: translateY(-2px); }

.message-page__inner { display: grid; gap: 1.5rem; }
.message-panel,
.message-contact {
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 12px 34px rgba(15,23,42,.06);
}
.message-panel { padding: 1.5rem; }
.message-panel__head { margin-bottom: 1.75rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgb(226 232 240); }
.message-panel__head p,
.message-contact__eyebrow { margin: 0 0 .5rem; color: var(--blue); font-size: .7rem; font-weight: 850; letter-spacing: .2em; }
.message-panel__head h2,
.message-contact h2 { margin: 0; color: var(--ink); font-size: 1.5rem; font-weight: 900; letter-spacing: -.025em; }
.message-panel__head span,
.message-contact__lead { display: block; margin-top: .65rem; color: rgb(100 116 139); font-size: .84rem; line-height: 1.7; }
.field-required { color: #c2410c; }
.led-form__submit svg { width: 1rem; height: 1rem; }
.message-contact { align-self: start; padding: 1.5rem; color: #fff; background: var(--ink); }
.message-contact h2 { color: #fff; }
.message-contact__lead { color: rgb(148 163 184); }
.message-contact__item { display: block; margin-top: 1rem; padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .75rem; background: rgba(255,255,255,.05); }
.message-contact__item:hover { border-color: rgba(214,164,65,.5); background: rgba(255,255,255,.08); text-decoration: none; }
.message-contact__item span { display: block; margin-bottom: .35rem; color: rgb(148 163 184); font-size: .72rem; font-weight: 700; }
.message-contact__item strong { display: block; color: #fff; font-size: .92rem; overflow-wrap: anywhere; }
.message-contact__link { display: inline-flex; gap: .45rem; margin-top: 1.5rem; color: var(--gold); font-size: .85rem; font-weight: 800; }
.message-contact__link:hover { color: #fff; text-decoration: none; }

@media (min-width: 48rem) {
    .channel-head__inner { padding-left: 2rem; padding-right: 2rem; }
    .channel-head__grid { grid-template-columns: minmax(0, 1fr) 15rem; }
    .channel-head--service .channel-head__grid { grid-template-columns: minmax(0, 1fr) 18rem; }
    .service-page, .message-page { padding-left: 2rem; padding-right: 2rem; }
    .service-highlights { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .contact-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .service-content { grid-template-columns: 10rem minmax(0, 1fr); padding: 2.5rem; }
    .message-panel, .message-contact { padding: 2rem; }
}
@media (min-width: 64rem) {
    .channel-head__inner { padding-top: 4rem; }
    .message-page__inner { grid-template-columns: minmax(0, 1fr) 22rem; gap: 2rem; }
}
@media (max-width: 63.99rem) {
    .report-aside { position: static; }
}
/* ============================================================
   一级频道独立页面
   ============================================================ */
.channel-crumb { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; margin-bottom:2.5rem; color:rgb(100 116 139); font-size:.78rem; }
.channel-crumb a { color:inherit; }
.channel-crumb a:hover { color:var(--blue); text-decoration:none; }
.channel-crumb--dark { color:rgba(226,232,240,.7); }
.channel-crumb--dark a:hover { color:#fff; }
.channel-kicker { margin:0 0 1rem; color:var(--blue); font-size:.7rem; font-weight:900; letter-spacing:.28em; }
.channel-section-head { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:1.75rem; background:transparent; }
.channel-section-head span { color:var(--blue); font-size:.65rem; font-weight:900; letter-spacing:.2em; }
.channel-section-head h2 { margin:.45rem 0 0; color:var(--ink); font-size:1.8rem; font-weight:900; letter-spacing:-.035em; }
.channel-section-head p,.channel-section-head a { margin:0; color:rgb(100 116 139); font-size:.84rem; }
.channel-section-head a:hover { color:var(--blue); text-decoration:none; }

/* 行业研究：产业地图 */
.industry-atlas-hero { color:#fff; background:linear-gradient(105deg,#101a27 0%,#162536 55%,#123f48 100%); }
.industry-atlas-hero__inner { max-width:80rem; margin:auto; padding:3rem 1.25rem 4rem; }
.industry-atlas-hero .channel-kicker { color:#55c4bd; }
.industry-atlas-hero h1 { max-width:50rem; margin:0; font-size:clamp(2.7rem,6vw,5.2rem); line-height:.98; font-weight:900; letter-spacing:-.06em; }
.industry-atlas-hero p:last-child { max-width:43rem; margin:1.5rem 0 0; color:rgb(203 213 225); font-size:1rem; line-height:1.9; }
.industry-atlas { padding:4rem 1.25rem 5rem; background:var(--paper); }
.industry-atlas__inner { max-width:80rem; margin:auto; }
.industry-atlas__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.industry-sector { min-height:14rem; display:flex; flex-direction:column; padding:1.25rem; border:1px solid rgb(226 232 240); border-radius:.8rem; background:#fff; transition:.22s ease; }
.industry-sector:hover { transform:translateY(-3px); border-color:#55c4bd; box-shadow:0 14px 32px rgba(15,23,42,.08); text-decoration:none; }
.industry-sector__top { display:flex; justify-content:space-between; gap:1rem; }
.industry-sector__top span { color:rgb(148 163 184); font-size:.7rem; font-weight:900; letter-spacing:.12em; }
.industry-sector__top strong { color:var(--ink); font-size:1.05rem; font-weight:850; }
.industry-sector > p { margin:1.2rem 0; color:rgb(100 116 139); font-size:.8rem; line-height:1.7; }
.industry-sector__meta { margin-top:auto; display:grid; grid-template-columns:auto 1fr; align-items:end; gap:.05rem .4rem; }
.industry-sector__meta b { color:rgb(148 163 184); font-size:2rem; line-height:1; }
.industry-sector.has-content .industry-sector__meta b { color:#29958f; }
.industry-sector__meta span { color:rgb(100 116 139); font-size:.72rem; }
.industry-sector__meta time,.industry-sector__meta em { grid-column:1/-1; margin-top:.55rem; color:rgb(148 163 184); font-size:.68rem; font-style:normal; }
.industry-atlas__reports-head { margin-top:4rem; }
.industry-research-grid { display:grid; gap:1rem; }
.industry-research-card { display:grid; grid-template-columns:8rem minmax(0,1fr); gap:1.25rem; padding:1.25rem; border:1px solid rgb(226 232 240); border-radius:1rem; background:#fff; }
.industry-research-card__cover { display:block; aspect-ratio:4/5; overflow:hidden; border-radius:.65rem; }
.industry-research-card__cover img { width:100%;height:100%;object-fit:cover; }
.industry-research-card span { color:#29958f; font-size:.7rem; font-weight:850; }
.industry-research-card h3 { margin:.55rem 0; color:var(--ink); font-size:1.08rem; font-weight:850; }
.industry-research-card p { margin:0; color:rgb(100 116 139); font-size:.84rem; line-height:1.7; }
.industry-research-card footer { display:flex; gap:1rem; margin-top:1rem; color:rgb(148 163 184); font-size:.72rem; }

/* 报告库：文献档案 */
.report-archive-hero { background:#eef2f6; border-bottom:1px solid rgb(203 213 225); }
.report-archive-hero__inner { max-width:80rem; margin:auto; padding:3rem 1.25rem 3.5rem; }
.report-archive-hero__grid { display:grid; gap:2.5rem; align-items:end; }
.report-archive-hero h1 { margin:0; color:var(--ink); font-size:clamp(2.5rem,5vw,4.6rem); line-height:1.02; font-weight:900; letter-spacing:-.055em; }
.report-archive-hero__grid > div > p:last-child { max-width:36rem; margin:1.25rem 0 0; color:rgb(71 85 105); line-height:1.8; }
.report-archive-search { padding:1.4rem; border:1px solid rgb(203 213 225); border-radius:.8rem; background:#fff; box-shadow:8px 8px 0 #dce3eb; }
.report-archive-search label { display:block; margin-bottom:.65rem; color:var(--ink); font-size:.76rem; font-weight:850; }
.report-archive-search > div { display:flex; gap:.5rem; }
.report-archive-search input { min-width:0; flex:1; height:3rem; padding:0 1rem; border:1px solid rgb(203 213 225); border-radius:.45rem; }
.report-archive-search button { flex:0 0 auto; padding:0 1rem; border:0; border-radius:.45rem; color:#fff; background:var(--ink); font-size:.82rem; font-weight:800; }
.report-archive-search small { display:block; margin-top:.65rem; color:rgb(100 116 139); font-size:.7rem; }
.report-archive { padding:3rem 1.25rem 5rem; background:#fff; }
.report-archive__inner { max-width:80rem; margin:auto; }
.report-archive-shelves { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ink); border-left:1px solid rgb(203 213 225); }
.report-archive-shelves a { min-height:9rem; padding:1rem; border-right:1px solid rgb(203 213 225); border-bottom:1px solid rgb(203 213 225); color:var(--ink); background:#fff; }
.report-archive-shelves a:hover { background:var(--paper); text-decoration:none; }
.report-archive-shelves span { display:block; color:rgb(148 163 184); font-size:.6rem; font-weight:800; letter-spacing:.12em; }
.report-archive-shelves strong { display:block; margin-top:1rem; font-size:1rem; }
.report-archive-shelves b { display:inline-block; margin-top:1rem; font-size:1.7rem; }
.report-archive-shelves small { margin-left:.35rem; color:rgb(100 116 139); }
.report-archive-list__head { display:flex; justify-content:space-between; align-items:end; margin:3.5rem 0 1rem; padding-bottom:1rem; border-bottom:2px solid var(--ink); background:transparent; }
.report-archive-list__head span { color:var(--blue); font-size:.65rem; font-weight:900; letter-spacing:.2em; }
.report-archive-list__head h2 { margin:.35rem 0 0; color:var(--ink); font-size:1.55rem; font-weight:900; }
.report-archive-list__head p { margin:0; color:rgb(100 116 139); font-size:.75rem; }
.report-record { display:grid; grid-template-columns:2.5rem 5rem minmax(0,1fr); gap:.75rem 1rem; padding:1.2rem .25rem; border-bottom:1px solid rgb(226 232 240); align-items:start; }
.report-record__index { color:rgb(148 163 184); font-size:.7rem; font-weight:850; }
.report-record__type { color:var(--blue); font-size:.72rem; font-weight:800; }
.report-record__body h3 { margin:0; color:var(--ink); font-size:1rem; font-weight:800; }
.report-record__body p { margin:.45rem 0 0; color:rgb(100 116 139); font-size:.78rem; line-height:1.6; }
.report-record__meta { grid-column:3; display:flex; flex-wrap:wrap; gap:.65rem; color:rgb(148 163 184); font-size:.7rem; }
.report-record__open { grid-column:3; justify-self:start; color:var(--ink); font-size:.76rem; font-weight:800; }

/* 宏观策略：双轨时间线 */
.macro-timeline-hero { background:linear-gradient(180deg,#fff,#f1f4f8); }
.macro-timeline-hero__inner { max-width:80rem; margin:auto; padding:3rem 1.25rem 4rem; }
.macro-timeline-hero h1 { margin:0; color:var(--ink); font-size:clamp(2.5rem,5.5vw,4.8rem); line-height:1.02; font-weight:900; letter-spacing:-.055em; }
.macro-timeline-hero p:last-child { max-width:44rem; margin:1.4rem 0 0; color:rgb(71 85 105); line-height:1.85; }
.macro-timeline { padding:3.5rem 1.25rem 5rem; background:#172033; color:#fff; }
.macro-timeline__inner { max-width:80rem; margin:auto; }
.macro-timeline__legend { display:flex; gap:1.5rem; margin-bottom:2rem; color:rgb(203 213 225); font-size:.75rem; }
.macro-timeline__legend span { display:flex; align-items:center; gap:.5rem; }
.macro-timeline__legend i { width:.55rem;height:.55rem;border-radius:50%;background:#6f91d8; }
.macro-timeline__legend span+span i { background:var(--gold); }
.macro-tracks { display:grid; gap:2rem; }
.macro-track { padding:1.5rem; border:1px solid rgba(255,255,255,.12); border-radius:1rem; background:rgba(255,255,255,.04); }
.macro-track > header { display:grid; grid-template-columns:1fr auto; padding-bottom:1.2rem; border-bottom:1px solid rgba(255,255,255,.12); background:transparent; }
.macro-track header span { grid-column:1/-1; color:#8ea7dc; font-size:.65rem; font-weight:900; letter-spacing:.18em; }
.macro-track--policy header span { color:var(--gold); }
.macro-track header h2 { margin:.4rem 0 0; color:#fff; font-size:1.45rem; font-weight:900; }
.macro-track header a { align-self:end; color:rgb(148 163 184); font-size:.75rem; }
.macro-track ol { list-style:none; margin:0; padding:1rem 0 0; }
.macro-track li { position:relative; display:grid; grid-template-columns:4rem minmax(0,1fr); gap:1rem; padding:1rem 0; }
.macro-track li+li { border-top:1px dashed rgba(255,255,255,.12); }
.macro-track time { display:flex; flex-direction:column; color:#8ea7dc; }
.macro-track--policy time { color:var(--gold); }
.macro-track time b { font-size:1rem; }.macro-track time span { font-size:.66rem; }
.macro-track li small { color:rgb(148 163 184); font-size:.65rem; }
.macro-track li h3 { margin:.45rem 0; color:#fff; font-size:1rem; font-weight:800; line-height:1.5; }
.macro-track li p { margin:0; color:rgb(148 163 184); font-size:.78rem; line-height:1.7; }
.macro-track li em { display:block; margin-top:.75rem; color:rgb(203 213 225); font-size:.7rem; font-style:normal; }
.macro-track__empty { padding:2rem 0; color:rgb(148 163 184); }
.macro-timeline__note { margin-top:2rem; padding:1rem 1.2rem; border-left:3px solid var(--gold); background:rgba(255,255,255,.04); }
.macro-timeline__note strong,.macro-timeline__note span { color:var(--gold); font-size:.72rem; font-weight:850; }
.macro-timeline__note p { margin:.4rem 0 0; color:rgb(148 163 184); font-size:.76rem; }

/* 公司研究：双卷宗 */
.company-dossier-hero { color:#fff; background:#101827; }
.company-dossier-hero__inner { max-width:80rem; margin:auto; padding:3rem 1.25rem 4rem; display:grid; gap:2rem; }
.company-dossier-hero .channel-kicker { color:#6fa3dc; }
.company-dossier-hero h1 { margin:0; font-size:clamp(2.7rem,6vw,5rem); line-height:1; font-weight:900; letter-spacing:-.06em; }
.company-dossier-hero p:last-child { max-width:42rem; color:rgb(203 213 225); line-height:1.85; }
.company-dossier-hero__stamp { align-self:end; justify-self:start; padding:1.2rem; border:1px solid rgba(255,255,255,.18); transform:rotate(-2deg); }
.company-dossier-hero__stamp span,.company-dossier-hero__stamp small { display:block; color:rgb(148 163 184); font-size:.62rem; letter-spacing:.14em; }
.company-dossier-hero__stamp strong { display:block; margin:.5rem 0; color:#6fa3dc; font-size:3rem; line-height:1; }
.company-dossier { padding:4rem 1.25rem 5rem; background:#e9edf2; }
.company-dossier__inner { max-width:80rem; margin:auto; }
.company-files { display:grid; gap:1.5rem; }
.company-file { position:relative; padding:1.5rem; border:1px solid rgb(203 213 225); background:#fff; box-shadow:7px 7px 0 rgba(15,23,42,.08); }
.company-file--startup { background:#f9f7f1; transform:rotate(.35deg); }
.company-file > header { display:flex; justify-content:space-between; gap:1rem; padding-bottom:1.2rem; border-bottom:2px solid var(--ink); background:transparent; }
.company-file header span { color:var(--blue); font-size:.62rem; font-weight:900; letter-spacing:.16em; }
.company-file header h2 { margin:.4rem 0 0; color:var(--ink); font-size:1.45rem; font-weight:900; }
.company-file header a { align-self:end; color:var(--ink); font-size:.75rem; font-weight:800; }
.company-file__intro { margin:1.2rem 0; color:rgb(71 85 105); font-size:.82rem; line-height:1.7; }
.company-file__reports article { padding:1rem 0; border-top:1px dashed rgb(203 213 225); }
.company-file__reports article > span { color:var(--blue); font-size:.68rem; font-weight:800; }
.company-file__reports h3 { margin:.5rem 0; color:var(--ink); font-size:1.05rem; font-weight:850; }
.company-file__reports p { margin:0; color:rgb(100 116 139); font-size:.8rem; line-height:1.65; }
.company-file__reports footer { display:flex; gap:1rem; margin-top:.8rem; color:rgb(148 163 184); font-size:.7rem; }
.company-file__empty { padding:2rem 0; color:rgb(148 163 184); }
.company-dossier__notice { margin-top:2rem; display:grid; gap:.5rem; padding:1.25rem; border:1px solid rgb(203 213 225); background:rgba(255,255,255,.65); }
.company-dossier__notice strong { color:var(--ink); }.company-dossier__notice p { margin:0; color:rgb(100 116 139); font-size:.78rem; }.company-dossier__notice a { color:var(--blue); font-size:.78rem; font-weight:800; }

/* 热点洞察：编辑部首页 */
.insight-editorial-hero { background:#fff; border-bottom:1px solid rgb(226 232 240); }
.insight-editorial-hero__inner { max-width:80rem; margin:auto; padding:3rem 1.25rem 3.5rem; }
.insight-editorial-hero .channel-kicker { color:#b65543; }
.insight-editorial-hero h1 { margin:0; color:var(--ink); font-size:clamp(2.8rem,6vw,5.4rem); line-height:.96; font-weight:900; letter-spacing:-.065em; }
.insight-editorial-hero p:last-child { max-width:42rem; margin:1.4rem 0 0; color:rgb(71 85 105); line-height:1.8; }
.insight-editorial { padding:3rem 1.25rem 5rem; background:#fff; }
.insight-editorial__inner { max-width:80rem; margin:auto; }
.insight-lead { display:grid; overflow:hidden; border-top:4px solid var(--ink); border-bottom:1px solid var(--ink); }
.insight-lead__image { min-height:18rem; }.insight-lead__image img { width:100%;height:100%;object-fit:cover; }
.insight-lead > div { padding:1.5rem 0; }
.insight-lead > div > span { color:#b65543; font-size:.68rem; font-weight:900; letter-spacing:.15em; }
.insight-lead h2 { margin:.7rem 0; color:var(--ink); font-size:clamp(1.7rem,4vw,3.2rem); line-height:1.15; font-weight:900; letter-spacing:-.04em; }
.insight-lead p { color:rgb(71 85 105); line-height:1.75; }
.insight-lead footer { display:flex; flex-wrap:wrap; gap:1rem; color:rgb(148 163 184); font-size:.72rem; }.insight-lead footer a { margin-left:auto; color:var(--ink); font-weight:800; }
.insight-mosaic { display:grid; gap:1rem; margin-top:1.5rem; }
.insight-mosaic-card { position:relative; min-height:16rem; overflow:hidden; background:var(--ink); }
.insight-mosaic-card__image,.insight-mosaic-card__image img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }.insight-mosaic-card__image::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,23,42,.92),transparent 70%); }
.insight-mosaic-card > div { position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;color:#fff; }.insight-mosaic-card span { font-size:.68rem;font-weight:800;color:#f2b49f; }.insight-mosaic-card h3 { margin:.45rem 0;color:#fff;font-size:1.05rem;font-weight:850; }.insight-mosaic-card time { font-size:.68rem;color:rgb(203 213 225); }
.insight-columns { display:grid; gap:2rem; margin-top:3.5rem; }
.insight-columns section > header { display:grid;grid-template-columns:1fr auto;padding-bottom:.9rem;border-bottom:2px solid var(--ink);background:transparent; }.insight-columns header span { grid-column:1/-1;color:#b65543;font-size:.62rem;font-weight:900;letter-spacing:.16em; }.insight-columns header h2 { margin:.35rem 0 0;color:var(--ink);font-size:1.35rem;font-weight:900; }.insight-columns header a { align-self:end;color:rgb(100 116 139);font-size:.72rem; }
.insight-columns ol { list-style:none;margin:0;padding:0; }.insight-columns li { display:grid;grid-template-columns:2rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid rgb(226 232 240); }.insight-columns li > b { color:#b65543;font-size:.72rem; }.insight-columns h3 { margin:0;color:var(--ink);font-size:.95rem;font-weight:800; }.insight-columns time { display:block;margin-top:.4rem;color:rgb(148 163 184);font-size:.68rem; }.insight-columns__empty { color:rgb(148 163 184); }
.insight-keywords { display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--ink); }.insight-keywords span { margin-right:.5rem;color:var(--ink);font-size:.72rem;font-weight:850; }.insight-keywords a { padding:.4rem .7rem;border:1px solid rgb(203 213 225);color:rgb(71 85 105);font-size:.72rem; }.insight-keywords a:hover { border-color:#b65543;color:#b65543;text-decoration:none; }

.industry-sector__meta b.is-soft { color:rgb(203 213 225); font-size:1.4rem; }
.industry-atlas__grid--compact .industry-sector { min-height:11.5rem; }

/* 首页：报告速览 + 公众号资讯 */
.home-report-feed { display:grid; gap:1rem; }
.home-report-feed__item { display:grid; grid-template-columns:6.5rem minmax(0,1fr); gap:1.1rem; padding:1.1rem; border:1px solid rgb(226 232 240); border-radius:1rem; background:#fff; }
.home-report-feed__cover { display:block; aspect-ratio:4/5; overflow:hidden; border-radius:.7rem; background:#eef2f6; }
.home-report-feed__cover img { width:100%; height:100%; object-fit:cover; }
.home-report-feed__item p { margin:0; display:flex; flex-wrap:wrap; gap:.75rem; color:rgb(148 163 184); font-size:.72rem; }
.home-report-feed__item p span { color:var(--blue); font-weight:800; }
.home-report-feed__item h3 { margin:.45rem 0; color:var(--ink); font-size:1.05rem; font-weight:850; line-height:1.45; }
.home-report-feed__summary { margin:.35rem 0 .55rem !important; color:rgb(100 116 139) !important; font-size:.84rem !important; line-height:1.7 !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.home-report-feed__item small { color:rgb(148 163 184); font-size:.72rem; }

.home-news-feed { display:grid; gap:1rem; }
.home-news-card { display:grid; grid-template-columns:8.5rem minmax(0,1fr); gap:1.15rem; padding:1.15rem; border:1px solid rgb(226 232 240); border-radius:1rem; background:var(--paper); }
.home-news-card__cover { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; border-radius:.75rem; background:#e2e8f0; }
.home-news-card__cover img { width:100%; height:100%; object-fit:cover; }
.home-news-card__cover span { position:absolute; left:.55rem; bottom:.55rem; padding:.2rem .45rem; border-radius:.35rem; background:rgba(17,24,39,.82); color:#fff; font-size:.65rem; font-weight:800; }
.home-news-card__meta { margin:0; display:flex; gap:.75rem; color:rgb(148 163 184); font-size:.72rem; }
.home-news-card__meta span { color:#b65543; font-weight:800; }
.home-news-card h3 { margin:.45rem 0; color:var(--ink); font-size:1.05rem; font-weight:850; line-height:1.45; }
.home-news-card > div > p:not(.home-news-card__meta) { margin:0; color:rgb(100 116 139); font-size:.84rem; line-height:1.7; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.home-news-card__link { display:inline-flex; margin-top:.85rem; color:var(--ink); font-size:.8rem; font-weight:800; }

/* 行业资讯：公众号新闻流 */
.mp-news-hero { background:#fff; border-bottom:1px solid rgb(226 232 240); }
.mp-news-hero__inner { max-width:80rem; margin:auto; padding:3rem 1.25rem 3.5rem; }
.mp-news-hero .channel-kicker { color:#b65543; }
.mp-news-hero h1 { margin:0; color:var(--ink); font-size:clamp(2.4rem,5vw,4.4rem); line-height:1.02; font-weight:900; letter-spacing:-.05em; }
.mp-news-hero p:last-child { max-width:44rem; margin:1.25rem 0 0; color:rgb(71 85 105); line-height:1.8; }
.mp-news { padding:3rem 1.25rem 5rem; background:#f7f8fa; }
.mp-news__inner { max-width:80rem; margin:auto; }
.mp-news-lead { display:grid; gap:1.25rem; margin-bottom:2rem; padding:1.25rem; border:1px solid rgb(226 232 240); border-radius:1.1rem; background:#fff; }
.mp-news-lead__cover { display:block; min-height:14rem; overflow:hidden; border-radius:.9rem; background:#e2e8f0; }
.mp-news-lead__cover img { width:100%; height:100%; object-fit:cover; }
.mp-news-badge { display:inline-flex; padding:.25rem .55rem; border-radius:.35rem; background:rgba(182,85,67,.1); color:#b65543; font-size:.68rem; font-weight:850; }
.mp-news-lead h2 { margin:.7rem 0; color:var(--ink); font-size:clamp(1.45rem,3vw,2.2rem); line-height:1.25; font-weight:900; }
.mp-news-lead p { margin:0; color:rgb(71 85 105); line-height:1.75; }
.mp-news-lead footer { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.1rem; color:rgb(148 163 184); font-size:.72rem; }
.mp-news-lead footer a { margin-left:auto; color:var(--ink); font-weight:800; }
.mp-news-layout { display:grid; gap:1.5rem; }
.mp-news-list { display:grid; gap:.85rem; }
.mp-news-item { display:grid; grid-template-columns:6.5rem minmax(0,1fr); gap:1rem; padding:1rem; border:1px solid rgb(226 232 240); border-radius:.9rem; background:#fff; }
.mp-news-item__cover { display:block; aspect-ratio:1; overflow:hidden; border-radius:.7rem; background:#eef2f6; }
.mp-news-item__cover img { width:100%; height:100%; object-fit:cover; }
.mp-news-item__meta { margin:0; display:flex; gap:.7rem; color:rgb(148 163 184); font-size:.7rem; }
.mp-news-item__meta span { color:#b65543; font-weight:800; }
.mp-news-item h3 { margin:.4rem 0; color:var(--ink); font-size:1rem; font-weight:850; line-height:1.45; }
.mp-news-item p:not(.mp-news-item__meta) { margin:0; color:rgb(100 116 139); font-size:.8rem; line-height:1.65; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mp-news-item small { display:block; margin-top:.55rem; color:rgb(148 163 184); font-size:.7rem; }
.mp-news-aside { display:grid; gap:1rem; align-content:start; }
.mp-news-aside section { padding:1.15rem; border:1px solid rgb(226 232 240); border-radius:1rem; background:#fff; }
.mp-news-aside header { display:grid; grid-template-columns:1fr auto; gap:.35rem; margin-bottom:.9rem; padding-bottom:.75rem; border-bottom:1px solid rgb(226 232 240); background:transparent; }
.mp-news-aside header span { grid-column:1/-1; color:#b65543; font-size:.62rem; font-weight:900; letter-spacing:.16em; }
.mp-news-aside header h2 { margin:0; color:var(--ink); font-size:1.1rem; font-weight:900; }
.mp-news-aside header a { align-self:end; color:rgb(100 116 139); font-size:.72rem; }
.mp-news-aside__tags { display:grid; gap:.55rem; }
.mp-news-aside__tags a { display:flex; justify-content:space-between; gap:1rem; padding:.7rem .85rem; border:1px solid rgb(226 232 240); border-radius:.65rem; color:var(--ink); font-size:.84rem; font-weight:750; }
.mp-news-aside__tags a:hover { border-color:#b65543; color:#b65543; text-decoration:none; }
.mp-news-aside__tags b { color:rgb(148 163 184); font-size:.75rem; }
.mp-news-aside ol { list-style:none; margin:0; padding:0; }
.mp-news-aside li { display:grid; grid-template-columns:1.6rem 1fr; gap:.7rem; padding:.7rem 0; border-bottom:1px solid rgb(241 245 249); }
.mp-news-aside li > b { color:#b65543; font-size:.7rem; }
.mp-news-aside h3 { margin:0; color:var(--ink); font-size:.86rem; font-weight:800; line-height:1.45; }
.mp-news-aside time { display:block; margin-top:.3rem; color:rgb(148 163 184); font-size:.66rem; }
.mp-news-keywords { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; padding:1.15rem; border:1px solid rgb(226 232 240); border-radius:1rem; background:#fff; }
.mp-news-keywords span { margin-right:.25rem; color:var(--ink); font-size:.72rem; font-weight:850; }
.mp-news-keywords a { padding:.35rem .65rem; border:1px solid rgb(226 232 240); border-radius:999px; color:rgb(71 85 105); font-size:.72rem; }
.mp-news-keywords a:hover { border-color:#b65543; color:#b65543; text-decoration:none; }

/* 产业观察：密集资讯列表 */
.observe-news-hero { color:#fff; background:#101827; }
.observe-news-hero__inner { max-width:80rem; margin:auto; padding:3rem 1.25rem 4rem; }
.observe-news-hero .channel-kicker { color:#6fa3dc; }
.observe-news-hero h1 { margin:0; font-size:clamp(2.4rem,5vw,4.4rem); line-height:1.02; font-weight:900; letter-spacing:-.05em; }
.observe-news-hero p:last-child { max-width:44rem; margin:1.25rem 0 0; color:rgb(203 213 225); line-height:1.85; }
.observe-news { padding:3rem 1.25rem 5rem; background:#e9edf2; }
.observe-news__inner { max-width:80rem; margin:auto; }
.observe-news-tabs { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1.5rem; }
.observe-news-tabs a { display:inline-flex; align-items:center; gap:.4rem; padding:.55rem .9rem; border:1px solid rgb(203 213 225); border-radius:999px; background:#fff; color:rgb(71 85 105); font-size:.8rem; font-weight:750; }
.observe-news-tabs a.is-active,.observe-news-tabs a:hover { border-color:var(--ink); color:var(--ink); text-decoration:none; }
.observe-news-tabs span { color:rgb(148 163 184); font-size:.72rem; }
.observe-news-list { display:grid; gap:.75rem; }
.observe-news-item { display:grid; grid-template-columns:4.2rem minmax(0,1fr); gap:1rem; padding:1.15rem 1.25rem; border:1px solid rgb(203 213 225); background:#fff; }
.observe-news-item time { display:flex; flex-direction:column; color:#6fa3dc; }
.observe-news-item time b { font-size:1.05rem; line-height:1; }
.observe-news-item time span { margin-top:.35rem; font-size:.66rem; color:rgb(148 163 184); }
.observe-news-item > div > p { margin:0; display:flex; flex-wrap:wrap; gap:.65rem; color:rgb(148 163 184); font-size:.72rem; }
.observe-news-item > div > p span { color:var(--blue); font-weight:800; }
.observe-news-item h3 { margin:.45rem 0; color:var(--ink); font-size:1.05rem; font-weight:850; line-height:1.45; }
.observe-news-item__summary { margin:0 0 .7rem !important; color:rgb(100 116 139) !important; font-size:.82rem !important; line-height:1.7 !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.observe-news-item > div > a { color:var(--ink); font-size:.78rem; font-weight:800; }
.observe-news-note { margin-top:1.5rem; display:grid; gap:.45rem; padding:1.2rem 1.3rem; border:1px solid rgb(203 213 225); background:rgba(255,255,255,.7); }
.observe-news-note strong { color:var(--ink); }
.observe-news-note p { margin:0; color:rgb(100 116 139); font-size:.78rem; line-height:1.65; }
.observe-news-note a { color:var(--blue); font-size:.78rem; font-weight:800; }

@media (min-width:48rem) {
    .home-report-feed { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-news-feed { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mp-news-hero__inner,.mp-news,.observe-news-hero__inner,.observe-news { padding-left:2rem; padding-right:2rem; }
    .mp-news-lead { grid-template-columns:1.15fr .85fr; align-items:center; }
    .mp-news-layout { grid-template-columns:minmax(0,1.55fr) 18rem; }
}
@media (max-width:47.99rem) {
    .home-report-feed__item,.home-news-card,.mp-news-item { grid-template-columns:5rem minmax(0,1fr); }
    .mp-news-lead footer a { margin-left:0; flex-basis:100%; }
    .observe-news-item { grid-template-columns:3.5rem 1fr; }
}

/* 定制报告：研究项目蓝图 */
.custom-blueprint-hero { color:#fff;background:#101827; }.custom-blueprint-hero__inner { max-width:80rem;margin:auto;padding:3rem 1.25rem 4rem; }.custom-blueprint-hero__grid { display:grid;gap:2rem;align-items:center; }.custom-blueprint-hero .channel-kicker { color:var(--gold); }.custom-blueprint-hero h1 { margin:0;font-size:clamp(2.8rem,6vw,5.2rem);line-height:.98;font-weight:900;letter-spacing:-.06em; }.custom-blueprint-hero p { max-width:40rem;color:rgb(203 213 225);line-height:1.8; }.custom-blueprint-hero a { display:inline-flex;margin-top:1rem;padding:.75rem 1rem;background:var(--gold);color:var(--ink);font-size:.82rem;font-weight:850; }.custom-blueprint-hero a:hover { text-decoration:none;transform:translateY(-2px); }
.custom-blueprint-hero__diagram { display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:1.5rem;border:1px solid rgba(255,255,255,.15); }.custom-blueprint-hero__diagram span { color:#fff;font-size:.7rem;font-weight:850;letter-spacing:.12em; }.custom-blueprint-hero__diagram i { height:1px;background:linear-gradient(90deg,var(--gold),transparent); }
.custom-blueprint { padding:4rem 1.25rem 5rem;background:var(--paper); }.custom-blueprint__inner { max-width:80rem;margin:auto;display:grid;gap:2rem; }.custom-blueprint__prepare { align-self:start;padding:1.5rem;background:var(--ink);color:#fff; }.custom-blueprint__prepare > span,.custom-blueprint__workbench > header span { color:var(--gold);font-size:.65rem;font-weight:900;letter-spacing:.18em; }.custom-blueprint__prepare h2,.custom-blueprint__workbench h2 { margin:.5rem 0 1.5rem;color:inherit;font-size:1.4rem;font-weight:900; }.custom-blueprint__prepare ul { list-style:none;margin:0;padding:0; }.custom-blueprint__prepare li { padding:1rem 0;border-top:1px solid rgba(255,255,255,.13); }.custom-blueprint__prepare b { color:#fff; }.custom-blueprint__prepare p { margin:.4rem 0 0;color:rgb(148 163 184);font-size:.78rem;line-height:1.65; }
.custom-blueprint__workbench { padding:1.5rem;border:1px solid rgb(203 213 225);background:#fff; }.custom-blueprint__workbench > header { background:transparent; }.custom-blueprint__workbench h2 { color:var(--ink); }.custom-blueprint-flow { position:relative;list-style:none;margin:0;padding:0; }.custom-blueprint-flow::before { content:"";position:absolute;top:1rem;bottom:1rem;left:1.3rem;width:1px;background:rgb(203 213 225); }.custom-blueprint-flow li { position:relative;display:grid;grid-template-columns:2.7rem minmax(0,1fr);gap:1.2rem;padding:1rem 0; }.custom-blueprint-flow li > span { position:relative;z-index:1;width:2.7rem;height:2.7rem;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--ink);font-size:.72rem;font-weight:900; }.custom-blueprint-flow small { color:rgb(148 163 184);font-size:.62rem;letter-spacing:.15em; }.custom-blueprint-flow h3 { margin:.35rem 0;color:var(--ink);font-size:1.05rem;font-weight:850; }.custom-blueprint-flow p { margin:0;color:rgb(100 116 139);font-size:.8rem;line-height:1.7; }
.custom-blueprint-content { display:grid;gap:1.5rem;padding:1.5rem;border-top:3px solid var(--gold);background:#fff; }.custom-blueprint-content > span { color:var(--blue);font-size:.7rem;font-weight:900;letter-spacing:.15em; }.custom-blueprint-actions { display:grid;gap:1rem;padding:2rem;background:var(--ink);color:#fff; }.custom-blueprint-actions span { color:var(--gold);font-size:.65rem;font-weight:900;letter-spacing:.18em; }.custom-blueprint-actions h2 { margin:.5rem 0;color:#fff;font-size:1.55rem;font-weight:900; }.custom-blueprint-actions p { color:rgb(148 163 184); }.custom-blueprint-actions > a { justify-self:start;padding:.7rem 1rem;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.78rem;font-weight:800; }.custom-blueprint-actions > a:first-of-type { background:var(--gold);border-color:var(--gold);color:var(--ink); }

/* 联系我们：联系控制台 */
.contact-console-hero { background:linear-gradient(110deg,#eef4fa,#fff);border-bottom:1px solid rgb(203 213 225); }.contact-console-hero__inner { max-width:80rem;margin:auto;padding:3rem 1.25rem 4rem; }.contact-console-hero h1 { margin:0;color:var(--ink);font-size:clamp(2.6rem,5.5vw,4.8rem);line-height:1.02;font-weight:900;letter-spacing:-.055em; }.contact-console-hero p:last-child { max-width:42rem;margin:1.3rem 0 0;color:rgb(71 85 105);line-height:1.8; }
.contact-console { padding:3rem 1.25rem 5rem;background:#fff; }.contact-console__inner { max-width:80rem;margin:auto; }.contact-console-routes { display:grid;border-top:1px solid var(--ink);border-left:1px solid rgb(203 213 225); }.contact-route { min-height:18rem;display:flex;flex-direction:column;padding:1.5rem;border-right:1px solid rgb(203 213 225);border-bottom:1px solid rgb(203 213 225);color:var(--ink); }.contact-route:hover { text-decoration:none;background:var(--paper); }.contact-route > span { color:rgb(148 163 184);font-size:.65rem;font-weight:850;letter-spacing:.15em; }.contact-route > div { margin-top:2.5rem; }.contact-route small { display:block;color:var(--blue);font-size:.72rem;font-weight:850; }.contact-route strong { display:block;margin:.65rem 0;color:var(--ink);font-size:1.25rem;overflow-wrap:anywhere; }.contact-route p { color:rgb(100 116 139);font-size:.8rem;line-height:1.65; }.contact-route > b { margin-top:auto;color:var(--ink);font-size:.78rem; }.contact-route--message { background:var(--ink);color:#fff; }.contact-route--message:hover { background:#172033; }.contact-route--message small,.contact-route--message strong,.contact-route--message b { color:#fff; }.contact-route--message p { color:rgb(148 163 184); }
.contact-console-info { display:grid;gap:2rem;margin-top:3rem; }.contact-console-info > section { padding-top:1rem;border-top:3px solid var(--ink); }.contact-console-info section > span { color:var(--blue);font-size:.65rem;font-weight:900;letter-spacing:.18em; }.contact-console-info h2 { margin:.5rem 0 1.2rem;color:var(--ink);font-size:1.5rem;font-weight:900; }.contact-console-info dl { margin:0; }.contact-console-info dl div { display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid rgb(226 232 240); }.contact-console-info dt { color:rgb(100 116 139);font-size:.76rem; }.contact-console-info dd { margin:0;color:var(--ink);font-size:.82rem;overflow-wrap:anywhere; }.contact-console-info__split > a { display:block;padding:1rem 0;border-bottom:1px solid rgb(226 232 240); }.contact-console-info__split strong { color:var(--ink); }.contact-console-info__split p { margin:.35rem 0;color:rgb(100 116 139);font-size:.78rem; }.contact-console-info__split b { color:var(--blue);font-size:.72rem; }.contact-console-note { margin-top:2rem;padding:1rem 1.2rem;background:var(--paper); }.contact-console-note strong { color:var(--ink);font-size:.78rem; }.contact-console-note p { margin:.4rem 0 0;color:rgb(100 116 139);font-size:.74rem;line-height:1.6; }

@media (min-width:48rem) {
    .industry-atlas-hero__inner,.report-archive-hero__inner,.macro-timeline-hero__inner,.company-dossier-hero__inner,.insight-editorial-hero__inner,.custom-blueprint-hero__inner,.contact-console-hero__inner { padding-left:2rem;padding-right:2rem; }
    .industry-atlas,.report-archive,.macro-timeline,.company-dossier,.insight-editorial,.custom-blueprint,.contact-console { padding-left:2rem;padding-right:2rem; }
    .industry-atlas__grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
    .industry-research-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .report-archive-hero__grid { grid-template-columns:1fr .9fr; }
    .report-archive-shelves { grid-template-columns:repeat(5,minmax(0,1fr)); }
    .report-record { grid-template-columns:2.5rem 6rem minmax(0,1fr) 9rem 4rem;align-items:center; }
    .report-record__meta,.report-record__open { grid-column:auto; }.report-record__open { justify-self:end; }
    .macro-tracks { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .company-dossier-hero__inner { grid-template-columns:1fr auto; }.company-dossier-hero__inner .channel-crumb { grid-column:1/-1; }
    .company-files { grid-template-columns:repeat(2,minmax(0,1fr)); }.company-file--startup { transform:rotate(.35deg) translateY(2rem); }
    .insight-lead { grid-template-columns:1.2fr .8fr; }.insight-lead > div { padding:2rem; }.insight-mosaic { grid-template-columns:repeat(3,minmax(0,1fr)); }.insight-mosaic-card--wide { grid-column:span 2; }.insight-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .custom-blueprint-hero__grid { grid-template-columns:1fr .75fr; }.custom-blueprint__inner { grid-template-columns:18rem minmax(0,1fr); }.custom-blueprint-content,.custom-blueprint-actions { grid-column:1/-1; }.custom-blueprint-content { grid-template-columns:10rem 1fr; }.custom-blueprint-actions { grid-template-columns:1fr auto auto;align-items:center; }
    .contact-console-routes { grid-template-columns:repeat(3,minmax(0,1fr)); }.contact-console-info { grid-template-columns:1fr 1fr; }
}
@media (max-width:47.99rem) {
    .channel-section-head { align-items:flex-start;flex-direction:column;gap:.5rem; }
    .industry-atlas__grid { grid-template-columns:1fr 1fr; }.industry-sector { min-height:12rem; }.industry-research-card { grid-template-columns:5rem 1fr; }
    .report-archive-search > div { flex-direction:column; }.report-archive-search button { height:3rem; }.report-record__body,.report-record__meta,.report-record__open { grid-column:2/-1; }
    .company-dossier-hero__stamp { display:none; }.company-file > header { flex-direction:column; }.company-file header a { align-self:flex-start; }
    .insight-lead footer a { margin-left:0;flex-basis:100%; }.insight-mosaic-card--wide { grid-column:auto; }
    .custom-blueprint-actions { padding:1.5rem; }
    .contact-route { min-height:15rem; }.contact-console-info dl div { grid-template-columns:1fr;gap:.3rem; }
}

@media (max-width: 47.99rem) {
    .channel-head__inner { padding-top: 2rem; }
    .channel-head__crumb { margin-bottom: 1.5rem; }
    .channel-head__grid { gap: 1.5rem; padding-bottom: 2rem; }
    .channel-head h1 { font-size: 2.65rem; }
    .channel-head__summary { grid-template-columns: auto 1fr; }
    .channel-index { display: block; margin-bottom: 1.25rem; padding: 1rem; }
    .channel-index__head { min-width: 0; margin-bottom: .75rem; padding: 0; border: 0; }
    .channel-index__links { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .15rem; scrollbar-width: thin; }
    .channel-index__links a { flex: 0 0 auto; }
    .channel-service-mark { min-height: 9rem; }
    .service-page, .message-page { padding-top: 2.5rem; padding-bottom: 3.5rem; }
    .service-highlights { grid-template-columns: 1fr; }
    .service-highlights article { min-height: auto; }
    .service-highlights h2 { margin-top: 1.2rem; }
    .service-cta { align-items: flex-start; flex-direction: column; padding: 1.5rem; }
    .service-cta > a { width: 100%; justify-content: center; }
    .report-row__topline { align-items: flex-start; flex-direction: column; gap: .35rem; }
    .report-row__meta .report-row__btn { flex-basis: 100%; justify-content: center; margin: .35rem 0 0; }
}
