/* ============================================================
   自定义样式 — 浅蓝色风格（分享技术）
   补充说明 Tailwind CDN 之外的细节
   ============================================================ */

:root {
    --primary: #1A56DB;
    --primary-light: #E6F1FB;
    --accent: #0E9F6E;
    --cta: #F59E0B;
}

html {
    scroll-behavior: smooth;
}

/* 主体浅蓝色风格：顶部浅蓝渐变过渡到底部浅灰白 */
body {
    background:
        linear-gradient(180deg, #EFF6FF 0%, #F4F8FE 220px, #F8FAFC 480px);
    background-attachment: fixed;
}

/* 轻量滚动条 */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #94A3B8; }

/* Lucide 图标：继承文字颜色，统一尺寸 */
[data-lucide] {
    width: 1.25em;
    height: 1.25em;
    stroke-width: 2;
    vertical-align: -0.125em;
    flex-shrink: 0;
}

/* 卡片 hover 上浮（取代 Tailwind hover，保证平滑） */
.card-hover {
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(30, 58, 138, .10);
    border-color: rgba(26, 86, 219, .35);
}

/* Hero 区域浅蓝渐变底色 */
.hero-gradient {
    background:
        radial-gradient(1200px 400px at 80% -10%, rgba(26,86,219,.10), transparent),
        linear-gradient(135deg, #E6F1FB 0%, #F4F8FE 60%, #FFFFFF 100%);
}

/* 数字强调（数据墙） */
.num-strong {
    font-family: "DIN", "Inter", "PingFang SC", sans-serif;
    font-weight: 800;
    letter-spacing: -0.02em;
}

/* 焦点可见性（可访问性） */
:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* 进入动画 */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fadeUp .5s ease both; }

/* 移动端菜单过渡 */
[data-mobile-menu] { transition: max-height .2s ease; }

/* ============================================================
   富文本正文样式（政策详情 / 申报指南 / 成功案例 / 服务项目）
   ============================================================ */
.prose-policy { line-height: 1.9; word-break: break-word; }
.prose-policy > *:first-child { margin-top: 0; }
.prose-policy > *:last-child { margin-bottom: 0; }
.prose-policy p { margin: 0 0 1em 0; }
.prose-policy img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1.25em auto;
    border-radius: 8px;
}
.prose-policy h1, .prose-policy h2, .prose-policy h3,
.prose-policy h4, .prose-policy h5, .prose-policy h6 {
    font-weight: 700;
    color: #1E293B;
    margin: 1.4em 0 0.6em;
    line-height: 1.4;
}
.prose-policy h1 { font-size: 1.5em; }
.prose-policy h2 { font-size: 1.3em; }
.prose-policy h3 { font-size: 1.15em; }
.prose-policy h4 { font-size: 1.05em; }
.prose-policy ul, .prose-policy ol { margin: 0 0 1em 0; padding-left: 1.6em; }
.prose-policy ul { list-style: disc; }
.prose-policy ol { list-style: decimal; }
.prose-policy li { margin: 0.35em 0; }
.prose-policy blockquote {
    margin: 1em 0;
    padding: 0.75em 1em;
    border-left: 4px solid var(--primary);
    background: #F1F5F9;
    color: #475569;
    border-radius: 0 8px 8px 0;
}
.prose-policy a { color: var(--primary); text-decoration: underline; }
.prose-policy a:hover { opacity: 0.85; }
.prose-policy table {
    width: 100%;
    max-width: 100%;
    margin: 1em 0;
    border-collapse: collapse;
    font-size: 0.95em;
}
.prose-policy th, .prose-policy td {
    border: 1px solid #E2E8F0;
    padding: 0.6em 0.75em;
    text-align: left;
    vertical-align: top;
}
.prose-policy th { background: #F1F5F9; font-weight: 600; color: #334155; }
.prose-policy tr:nth-child(even) td { background: #F8FAFC; }
.prose-policy hr { border: none; border-top: 1px solid #E2E8F0; margin: 1.5em 0; }
.prose-policy pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 1em;
    border-radius: 8px;
    overflow-x: auto;
    margin: 1em 0;
    font-size: 0.9em;
}
.prose-policy code { background: #F1F5F9; color: #BE185D; padding: 0.15em 0.4em; border-radius: 4px; font-size: 0.92em; }
.prose-policy pre code { background: transparent; color: inherit; padding: 0; }
.prose-policy strong { font-weight: 700; color: #1E293B; }
.prose-policy em { font-style: italic; }
.prose-policy figure { margin: 1.25em 0; text-align: center; }
.prose-policy figcaption { margin-top: 0.5em; font-size: 0.85em; color: #94A3B8; }
/* 移动端富文本表格横向滚动 */
.prose-policy { overflow-x: auto; }
