/*
Theme Name: Blocksy Child
Template: blocksy
Description: Blocksy 子主题 - yilin100.com 毅霖升学
Author: yilin100
Version: 2.0.0
Text Domain: blocksy-child
*/

/* ==================== 设计令牌 ==================== */
:root {
    /* 品牌色 */
    --yl-primary: #2563EB;
    --yl-primary-dark: #1D4ED8;
    --yl-primary-light: #3B82F6;
    --yl-primary-lighter: #60A5FA;
    --yl-primary-lightest: #DBEAFE;
    --yl-bg: #F8FAFC;
    --yl-bg-white: #FFFFFF;
    --yl-text: #1E293B;
    --yl-text-secondary: #475569;
    --yl-text-muted: #94A3B8;
    --yl-success: #22C55E;
    --yl-border: #E2E8F0;
    --yl-border-light: #F1F5F9;

    /* 圆角 */
    --yl-radius-sm: 8px;
    --yl-radius-md: 12px;
    --yl-radius-lg: 16px;
    --yl-radius-xl: 24px;
    --yl-radius-full: 9999px;

    /* 阴影 */
    --yl-shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --yl-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -1px rgba(0,0,0,0.04);
    --yl-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04);
    --yl-shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.08), 0 10px 10px -5px rgba(0,0,0,0.03);
    --yl-shadow-blue: 0 4px 14px rgba(37,99,235,0.25);
    --yl-shadow-blue-lg: 0 10px 30px rgba(37,99,235,0.3);

    /* 过渡 */
    --yl-transition: all 0.3s cubic-bezier(0.4,0,0.2,1);

    /* 容器 */
    --yl-container: 1200px;
}

/* ==================== 全局重置 ==================== */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;
    color: var(--yl-text);
    background: var(--yl-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ==================== 首页模块系统 ==================== */
.yl-section {
    max-width: var(--yl-container);
    margin: 0 auto;
    padding: 0 24px;
}

.yl-section--pad {
    padding-top: 80px;
    padding-bottom: 80px;
}

.yl-section--bg-white { background: var(--yl-bg-white); }
.yl-section--bg-light { background: var(--yl-bg); }
.yl-section--bg-dark { background: linear-gradient(135deg, #1E3A8A 0%, #2563EB 50%, #3B82F6 100%); }

/* ==================== 模块标题 ==================== */
.yl-section-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--yl-text);
    letter-spacing: -0.02em;
    margin-bottom: 8px;
}

.yl-section-subtitle {
    font-size: 1.0625rem;
    color: var(--yl-text-secondary);
    margin-bottom: 48px;
}

.yl-section-head--center { text-align: center; }
.yl-section-head--center .yl-section-title { margin-bottom: 8px; }

.yl-section-head--row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 36px;
}

.yl-section-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--yl-primary);
    transition: var(--yl-transition);
}
.yl-section-link:hover {
    gap: 8px;
    color: var(--yl-primary-dark);
}

/* ==================== 玻璃拟态卡片 ==================== */
.yl-glass-card {
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,0.8);
    border-radius: var(--yl-radius-lg);
    box-shadow: var(--yl-shadow-lg);
    transition: var(--yl-transition);
}
.yl-glass-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--yl-shadow-xl);
    background: rgba(255,255,255,0.9);
}

/* ==================== 通用卡片 ==================== */
.yl-card {
    background: #fff;
    border: 1px solid var(--yl-border);
    border-radius: var(--yl-radius-lg);
    transition: var(--yl-transition);
}
.yl-card:hover {
    border-color: var(--yl-primary-lighter);
    box-shadow: var(--yl-shadow-lg);
    transform: translateY(-4px);
}

/* ==================== 按钮 ==================== */
.yl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: var(--yl-radius-md);
    font-size: 0.9375rem;
    font-weight: 600;
    transition: var(--yl-transition);
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
}
.yl-btn--primary {
    background: var(--yl-primary);
    color: #fff;
    box-shadow: var(--yl-shadow-blue);
}
.yl-btn--primary:hover {
    background: var(--yl-primary-dark);
    box-shadow: var(--yl-shadow-blue-lg);
    transform: translateY(-2px);
    color: #fff;
}
.yl-btn--secondary {
    background: #fff;
    color: var(--yl-primary);
    border: 1.5px solid var(--yl-primary-lightest);
}
.yl-btn--secondary:hover {
    border-color: var(--yl-primary);
    background: var(--yl-primary-lightest);
    color: var(--yl-primary);
}
.yl-btn--lg {
    padding: 16px 36px;
    font-size: 1rem;
}
.yl-btn--white {
    background: #fff;
    color: var(--yl-primary);
}
.yl-btn--white:hover {
    background: var(--yl-primary-lightest);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    color: var(--yl-primary);
}
.yl-btn--outline-white {
    background: transparent;
    color: #fff;
    border: 1.5px solid rgba(255,255,255,0.4);
}
.yl-btn--outline-white:hover {
    background: rgba(255,255,255,0.1);
    border-color: #fff;
    color: #fff;
}

/* ==================== 徽章 ==================== */
.yl-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    border-radius: var(--yl-radius-full);
    font-size: 0.8125rem;
    font-weight: 600;
}
.yl-badge--blue { background: var(--yl-primary-lightest); color: var(--yl-primary); }
.yl-badge--985 { background: #FEF3C7; color: #B45309; }
.yl-badge--211 { background: #D1FAE5; color: #047857; }
.yl-badge--success { background: #D1FAE5; color: #047857; }
.yl-badge--warning { background: #FEF3C7; color: #B45309; }

/* ==================== Header 辅助 ==================== */
.yl-header-top {
    background: #1E293B;
    color: #94A3B8;
}
.yl-header-top a {
    color: #94A3B8;
    transition: var(--yl-transition);
}
.yl-header-top a:hover { color: #fff; }

.yl-header-main {
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(226,232,240,0.6);
    transition: var(--yl-transition);
}
.yl-header-main.scrolled {
    box-shadow: var(--yl-shadow-sm);
}

/* ==================== Hero ==================== */
.yl-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 112px;
    overflow: hidden;
    background: linear-gradient(180deg, #F8FAFC 0%, #EFF6FF 50%, #F8FAFC 100%);
}

.yl-hero-title {
    font-size: 3.5rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: var(--yl-text);
}
.yl-hero-title .highlight {
    background: linear-gradient(135deg, var(--yl-primary) 0%, var(--yl-primary-light) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ==================== 服务流程 ==================== */
.yl-process-line {
    position: absolute;
    top: 36px;
    left: 8.33%;
    right: 8.33%;
    height: 2px;
    background: linear-gradient(90deg, var(--yl-primary-lightest), var(--yl-primary-lighter), var(--yl-primary-lightest));
    z-index: 0;
}

.yl-process-icon {
    width: 72px;
    height: 72px;
    background: #fff;
    border: 2px solid var(--yl-primary-lightest);
    border-radius: 50%;
    transition: var(--yl-transition);
    position: relative;
}
.yl-process-step:hover .yl-process-icon {
    border-color: var(--yl-primary);
    background: var(--yl-primary);
    color: #fff;
    box-shadow: var(--yl-shadow-blue);
}

/* ==================== 浮动元素 ==================== */
.yl-float-contact {
    position: fixed;
    bottom: 32px;
    left: 32px;
    z-index: 999;
}
.yl-float-contact-btn {
    width: 56px;
    height: 56px;
    background: var(--yl-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: var(--yl-shadow-blue-lg);
    cursor: pointer;
    position: relative;
    transition: var(--yl-transition);
}
.yl-float-contact-btn::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    background: var(--yl-primary);
    opacity: 0.3;
    animation: yl-ripple 2s ease-out infinite;
}
@keyframes yl-ripple {
    0% { transform: scale(1); opacity: 0.3; }
    100% { transform: scale(1.5); opacity: 0; }
}

.yl-back-to-top {
    position: fixed;
    bottom: 32px;
    right: 32px;
    width: 48px;
    height: 48px;
    background: #fff;
    border: 1px solid var(--yl-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--yl-primary);
    box-shadow: var(--yl-shadow-lg);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: var(--yl-transition);
    z-index: 999;
}
.yl-back-to-top.visible {
    opacity: 1;
    visibility: visible;
}
.yl-back-to-top:hover {
    background: var(--yl-primary);
    color: #fff;
    transform: translateY(-4px);
}

/* ==================== 动画 ==================== */
@keyframes yl-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}
@keyframes yl-pulse-dot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.3); }
}
@keyframes yl-rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ==================== Kadence Blocks 兼容 ==================== */
/* Kadence Section */
.kt-section {
    max-width: var(--yl-container) !important;
}

/* Kadence Row Layout 覆盖 */
.wp-block-kadence-rowlayout {
    margin-bottom: 0;
}

/* Kadence Info Box 覆盖 */
.kt-blocks-info-box {
    border-radius: var(--yl-radius-lg) !important;
    transition: var(--yl-transition) !important;
}
.kt-blocks-info-box:hover {
    transform: translateY(-8px) !important;
    box-shadow: var(--yl-shadow-xl) !important;
}

/* Kadence Buttons */
.wp-block-kadence-singlebtn .kt-button {
    border-radius: var(--yl-radius-md) !important;
    font-weight: 600 !important;
}

/* Kadence Advanced Heading */
.kt-adv-heading {
    letter-spacing: -0.02em;
}

/* Kadence Tabs */
.kt-tabs-title-list {
    border-radius: var(--yl-radius-md);
    overflow: hidden;
}

/* ==================== Gutenberg Block 兼容 ==================== */
.wp-block-columns {
    gap: 24px;
}

.wp-block-button__link {
    border-radius: var(--yl-radius-md) !important;
    font-weight: 600 !important;
}

/* ==================== 响应式 ==================== */
@media (max-width: 1024px) {
    .yl-hero-title { font-size: 2.5rem; }
    .yl-section-title { font-size: 1.75rem; }
}

@media (max-width: 768px) {
    .yl-hero-title { font-size: 2rem; }
    .yl-section-title { font-size: 1.5rem; }
    .yl-section--pad { padding-top: 48px; padding-bottom: 48px; }
    .yl-section-head--row { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ==================== 全局 Header（独立模板） ==================== */
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* ===== Top Bar ===== */
.top-bar { background: #fff; border-bottom: 1px solid #F1F5F9; font-size: .8125rem; color: #64748B; padding: 8px 0; }
.top-bar .container { display: flex; justify-content: space-between; align-items: center; }
.top-bar-left { display: flex; align-items: center; gap: 20px; }
.top-bar-right { display: flex; align-items: center; gap: 20px; }
.top-bar a { color: #64748B; display: flex; align-items: center; gap: 6px; font-size: .8125rem; transition: all .3s cubic-bezier(.4,0,.2,1); }
.top-bar a:hover { color: #2563EB; }
.top-bar svg { width: 14px; height: 14px; }

/* ===== Site Header ===== */
.site-header.yl-site-header { background: #fff; border-bottom: 1px solid #F1F5F9; position: sticky; top: 0; z-index: 100; transition: all .3s cubic-bezier(.4,0,.2,1); }
.site-header.yl-site-header.scrolled { box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04); }
.site-header.yl-site-header .container { display: flex; align-items: center; justify-content: space-between; height: 110px; }
.header-left { display: flex; align-items: center; gap: 32px; }
.logo-area { display: flex; align-items: center; gap: 10px; }
.logo-area img { height: 96px; width: auto; }
.logo-text { display: flex; flex-direction: column; }
.logo-title { font-size: 1rem; font-weight: 700; color: #1E293B; line-height: 1.2; }
.logo-desc { font-size: .6875rem; color: #94A3B8; line-height: 1.2; }

.nav-main { display: flex; align-items: center; gap: 4px; }
.nav-main a { display: flex; align-items: center; padding: 8px 14px; font-size: .875rem; font-weight: 500; color: #475569; border-radius: 8px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.nav-main a:hover { color: #2563EB; }
.nav-main a.active { color: #2563EB; font-weight: 600; }
.nav-arrow { width: 12px; height: 12px; opacity: .5; margin-left: 2px; }

.header-right { display: flex; align-items: center; gap: 12px; }
.search-icon { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #F1F5F9; color: #475569; transition: all .3s cubic-bezier(.4,0,.2,1); }
.search-icon:hover { background: #DBEAFE; color: #2563EB; }

/* ===== Header 按钮 ===== */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 24px; border-radius: 10px; font-size: .875rem; font-weight: 600; transition: all .3s cubic-bezier(.4,0,.2,1); white-space: nowrap; cursor: pointer; text-decoration: none; }
.btn-primary { background: #2563EB; color: #fff; }
.btn-primary:hover { background: #1D4ED8; color: #fff; }
.btn-secondary { background: #fff; color: #2563EB; border: 1.5px solid #DBEAFE; }
.btn-secondary:hover { border-color: #2563EB; background: #EFF6FF; }

/* ===== Header 响应式 ===== */
@media (max-width: 1024px) {
    .nav-main { gap: 2px; }
    .nav-main a { padding: 8px 10px; font-size: .8125rem; }
}
@media (max-width: 768px) {
    .nav-main { display: none; }
    .top-bar-left span:nth-child(2) { display: none; }
    .top-bar-right { gap: 12px; }
}

/* ==================== 全局 Footer（独立模板） ==================== */
.site-footer.yl-site-footer { background: #1E293B; color: #94A3B8; padding: 48px 0 24px; font-size: .875rem; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 40px; margin-bottom: 32px; }
.footer-brand .logo-title { color: #fff; font-size: 1.125rem; font-weight: 700; margin-bottom: 8px; }
.footer-brand p { font-size: .8125rem; color: #94A3B8; line-height: 1.7; margin-bottom: 16px; }
.footer-social { display: flex; gap: 12px; }
.footer-social a { width: 32px; height: 32px; border-radius: 8px; background: #334155; display: flex; align-items: center; justify-content: center; color: #94A3B8; transition: all .3s cubic-bezier(.4,0,.2,1); }
.footer-social a:hover { background: #2563EB; color: #fff; }

.footer-col h4 { color: #fff; font-size: .9375rem; font-weight: 600; margin-bottom: 16px; }
.footer-col ul { display: flex; flex-direction: column; gap: 10px; }
.footer-col a { font-size: .8125rem; color: #94A3B8; transition: all .3s cubic-bezier(.4,0,.2,1); }
.footer-col a:hover { color: #fff; }

.footer-contact { display: flex; flex-direction: column; gap: 10px; }
.footer-contact-item { display: flex; align-items: center; gap: 8px; font-size: .8125rem; }
.footer-contact-item svg { width: 14px; height: 14px; flex-shrink: 0; }
.footer-qr { width: 80px; height: 80px; border-radius: 8px; background: #fff; padding: 4px; margin-top: 8px; }
.footer-qr-inner { width: 100%; height: 100%; background: linear-gradient(135deg, #2563EB, #3B82F6); border-radius: 4px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: .625rem; }

.footer-bottom { border-top: 1px solid #334155; padding-top: 20px; display: flex; justify-content: space-between; align-items: center; font-size: .75rem; }
.footer-bottom-left { display: flex; align-items: center; gap: 16px; }
.footer-bottom a { color: #94A3B8; transition: all .3s cubic-bezier(.4,0,.2,1); }
.footer-bottom a:hover { color: #fff; }

/* ===== Footer 响应式 ===== */
@media (max-width: 1024px) {
    .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    .footer-grid { grid-template-columns: 1fr; }
}

/* ==================== 一对一咨询页 ==================== */

/* ===== Hero ===== */
.consult-hero { background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 50%, #EFF6FF 100%); padding: 64px 0 80px; position: relative; overflow: hidden; }
.consult-hero::before { content: ''; position: absolute; top: -50%; right: -10%; width: 500px; height: 500px; background: radial-gradient(circle, rgba(37,99,235,0.08) 0%, transparent 70%); border-radius: 50%; }
.consult-hero-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: center; position: relative; z-index: 1; }
.consult-badge { display: inline-block; background: #FEF3C7; color: #92400E; font-size: .75rem; font-weight: 600; padding: 4px 12px; border-radius: 9999px; margin-bottom: 16px; }
.consult-hero-left h1 { font-size: 2.5rem; font-weight: 800; color: #1E293B; letter-spacing: -0.02em; margin-bottom: 16px; line-height: 1.2; }
.consult-hero-left p { font-size: 1.0625rem; color: #475569; line-height: 1.7; margin-bottom: 32px; }
.consult-hero-stats { display: flex; gap: 40px; }
.stat-item .stat-num { font-size: 2rem; font-weight: 800; color: #2563EB; line-height: 1; }
.stat-item .stat-num span { font-size: 1rem; font-weight: 600; }
.stat-item .stat-label { font-size: .8125rem; color: #64748B; margin-top: 4px; }

/* ===== 表单卡片 ===== */
.consult-form-card { background: #fff; border-radius: 16px; padding: 32px; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.08), 0 10px 10px -5px rgba(0,0,0,0.03); }
.form-card-title { font-size: 1.25rem; font-weight: 700; color: #1E293B; margin-bottom: 4px; }
.form-card-desc { font-size: .8125rem; color: #94A3B8; margin-bottom: 24px; }
.consult-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.consult-form .form-group { margin-bottom: 16px; }
.consult-form label { display: block; font-size: .8125rem; font-weight: 600; color: #475569; margin-bottom: 6px; }
.consult-form label span { color: #EF4444; }
.consult-form input, .consult-form select, .consult-form textarea { width: 100%; padding: 10px 14px; border: 1.5px solid #E2E8F0; border-radius: 10px; font-size: .875rem; color: #1E293B; font-family: inherit; transition: all .3s cubic-bezier(.4,0,.2,1); background: #fff; }
.consult-form input:focus, .consult-form select:focus, .consult-form textarea:focus { outline: none; border-color: #2563EB; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }
.consult-form textarea { resize: vertical; }
.btn-block { display: flex; width: 100%; padding: 14px; font-size: .9375rem; }
.form-privacy { text-align: center; font-size: .75rem; color: #94A3B8; margin-top: 12px; }
.form-privacy a { color: #2563EB; }

/* ===== 通用 section ===== */
.consult-section { padding: 64px 0; }
.consult-section-gray { background: #F8FAFC; }
.sec-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 40px; }
.sec-head[style*="center"] { flex-direction: column; align-items: center; text-align: center; }
.sec-title { font-size: 1.75rem; font-weight: 700; color: #1E293B; letter-spacing: -0.02em; }
.sec-sub { font-size: .9375rem; color: #64748B; margin-top: 8px; }

/* ===== 服务内容 ===== */
.consult-services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.consult-service-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 32px 24px; text-align: center; transition: all .3s cubic-bezier(.4,0,.2,1); }
.consult-service-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); transform: translateY(-4px); }
.service-icon { width: 56px; height: 56px; border-radius: 16px; background: linear-gradient(135deg, #DBEAFE, #EFF6FF); color: #2563EB; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.consult-service-card h4 { font-size: 1rem; font-weight: 700; color: #1E293B; margin-bottom: 8px; }
.consult-service-card p { font-size: .8125rem; color: #64748B; line-height: 1.6; }

/* ===== 顾问团队 ===== */
.consultant-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.consultant-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 32px 24px; text-align: center; transition: all .3s cubic-bezier(.4,0,.2,1); }
.consultant-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); transform: translateY(-4px); }
.consultant-avatar { width: 80px; height: 80px; border-radius: 50%; background: linear-gradient(135deg, #2563EB, #3B82F6); color: #fff; display: flex; align-items: center; justify-content: center; font-size: .875rem; font-weight: 700; margin: 0 auto 16px; line-height: 1.3; }
.consultant-name { font-size: 1.125rem; font-weight: 700; color: #1E293B; margin-bottom: 4px; }
.consultant-title { font-size: .8125rem; color: #2563EB; font-weight: 600; margin-bottom: 12px; }
.consultant-tags { display: flex; gap: 6px; justify-content: center; margin-bottom: 12px; }
.consultant-tags span { font-size: .6875rem; padding: 2px 8px; background: #EFF6FF; color: #2563EB; border-radius: 9999px; }
.consultant-card p { font-size: .8125rem; color: #64748B; line-height: 1.6; }

/* ===== 服务流程 ===== */
.consult-process { display: flex; align-items: flex-start; justify-content: center; gap: 8px; }
.consult-step { text-align: center; flex: 1; max-width: 180px; }
.step-num { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, #2563EB, #3B82F6); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 700; margin: 0 auto 12px; }
.step-title { font-size: .9375rem; font-weight: 600; color: #1E293B; margin-bottom: 4px; }
.step-desc { font-size: .75rem; color: #64748B; line-height: 1.5; }
.step-arrow { display: flex; align-items: center; padding-top: 16px; color: #93C5FD; }

/* ===== 成功案例 ===== */
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.case-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 28px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.case-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); transform: translateY(-4px); }
.case-badge { display: inline-block; font-size: .6875rem; font-weight: 700; padding: 3px 10px; border-radius: 9999px; background: #DBEAFE; color: #2563EB; margin-bottom: 12px; }
.case-badge-gaokao { background: #DCFCE7; color: #16A34A; }
.case-title { font-size: 1.0625rem; font-weight: 700; color: #1E293B; margin-bottom: 8px; }
.case-desc { font-size: .8125rem; color: #64748B; line-height: 1.6; margin-bottom: 16px; }
.case-meta { display: flex; gap: 6px; }
.case-tag { font-size: .6875rem; padding: 2px 8px; background: #F1F5F9; color: #475569; border-radius: 6px; }

/* ===== 家长评价 ===== */
.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.review-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 28px; }
.review-stars { color: #FBBF24; font-size: 1rem; margin-bottom: 12px; letter-spacing: 2px; }
.review-card p { font-size: .875rem; color: #475569; line-height: 1.7; margin-bottom: 16px; }
.review-author { font-size: .8125rem; color: #94A3B8; font-weight: 600; }

/* ===== FAQ ===== */
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item { background: #fff; border: 1px solid #E2E8F0; border-radius: 12px; margin-bottom: 12px; overflow: hidden; transition: all .3s cubic-bezier(.4,0,.2,1); }
.faq-item:hover { border-color: #93C5FD; }
.faq-q { padding: 18px 24px; font-size: .9375rem; font-weight: 600; color: #1E293B; cursor: pointer; display: flex; justify-content: space-between; align-items: center; user-select: none; }
.faq-toggle { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; color: #2563EB; font-weight: 700; transition: transform .3s ease; }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease, padding .3s ease; padding: 0 24px; font-size: .875rem; color: #64748B; line-height: 1.7; }
.faq-item.open .faq-a { max-height: 200px; padding: 0 24px 18px; }

/* ===== 底部 CTA ===== */
.consult-cta { background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%); padding: 56px 0; }
.consult-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.consult-cta-left h2 { font-size: 1.75rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.consult-cta-left p { font-size: .9375rem; color: rgba(255,255,255,0.85); }
.consult-cta-right { display: flex; gap: 12px; }
.consult-cta .btn-primary { background: #fff; color: #2563EB; }
.consult-cta .btn-primary:hover { background: #F1F5F9; }
.consult-cta .btn-secondary { background: rgba(255,255,255,0.15); color: #fff; border-color: rgba(255,255,255,0.3); }
.consult-cta .btn-secondary:hover { background: rgba(255,255,255,0.25); }
.btn-lg { padding: 14px 32px; font-size: .9375rem; }

/* ===== 咨询页响应式 ===== */
@media (max-width: 1024px) {
    .consult-hero-inner { grid-template-columns: 1fr; }
    .consult-services-grid { grid-template-columns: repeat(2, 1fr); }
    .consultant-grid { grid-template-columns: repeat(2, 1fr); }
    .case-grid { grid-template-columns: 1fr; }
    .review-grid { grid-template-columns: 1fr; }
    .consult-process { flex-wrap: wrap; }
    .step-arrow { display: none; }
    .consult-cta-inner { flex-direction: column; text-align: center; }
}
@media (max-width: 768px) {
    .consult-hero-left h1 { font-size: 1.75rem; }
    .consult-hero-stats { gap: 20px; }
    .stat-item .stat-num { font-size: 1.5rem; }
    .consult-form .form-row { grid-template-columns: 1fr; }
    .consult-services-grid { grid-template-columns: 1fr; }
    .consultant-grid { grid-template-columns: 1fr; }
    .consult-cta-right { flex-direction: column; width: 100%; }
    .consult-cta-right .btn { width: 100%; }
}

/* ==================== 高考专区页 ==================== */

/* ===== Hero ===== */
.gk-hero { position: relative; padding: 56px 0 64px; background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 40%, #EFF6FF 100%); overflow: hidden; }
.gk-hero::before { content: ''; position: absolute; top: -30%; right: -5%; width: 600px; height: 600px; background: radial-gradient(circle, rgba(37,99,235,0.06) 0%, transparent 70%); border-radius: 50%; }
.gk-hero::after { content: ''; position: absolute; bottom: -30%; left: -5%; width: 500px; height: 500px; background: radial-gradient(circle, rgba(59,130,246,0.05) 0%, transparent 70%); border-radius: 50%; }
.gk-hero-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; position: relative; z-index: 1; }
.gk-hero-badge { display: inline-block; background: #2563EB; color: #fff; font-size: .75rem; font-weight: 600; padding: 4px 14px; border-radius: 9999px; margin-bottom: 16px; }
.gk-hero-left h1 { font-size: 2.5rem; font-weight: 800; color: #1E293B; letter-spacing: -0.02em; margin-bottom: 16px; line-height: 1.2; }
.gk-accent { color: #2563EB; }
.gk-hero-left p { font-size: 1rem; color: #475569; line-height: 1.7; margin-bottom: 28px; }
.gk-hero-points { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 32px; }
.gk-point { display: flex; align-items: center; gap: 8px; font-size: .875rem; color: #1E293B; font-weight: 500; }
.gk-point svg { color: #2563EB; flex-shrink: 0; }
.gk-hero-btns { display: flex; gap: 12px; }

/* ===== 时间轴卡片 ===== */
.gk-hero-card { background: #fff; border-radius: 16px; padding: 28px; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.08), 0 10px 10px -5px rgba(0,0,0,0.03); }
.gk-card-label { font-size: .875rem; font-weight: 700; color: #1E293B; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid #F1F5F9; }
.gk-timeline { display: flex; flex-direction: column; gap: 16px; }
.gk-tl-item { display: flex; align-items: center; gap: 12px; opacity: .5; }
.gk-tl-item.done { opacity: .6; }
.gk-tl-item.active { opacity: 1; }
.gk-tl-dot { width: 10px; height: 10px; border-radius: 50%; background: #CBD5E1; flex-shrink: 0; }
.gk-tl-item.done .gk-tl-dot { background: #93C5FD; }
.gk-tl-item.active .gk-tl-dot { background: #2563EB; box-shadow: 0 0 0 4px rgba(37,99,235,0.15); }
.gk-tl-date { font-size: .75rem; color: #94A3B8; font-weight: 600; min-width: 70px; }
.gk-tl-item.active .gk-tl-date { color: #2563EB; }
.gk-tl-title { font-size: .8125rem; color: #475569; font-weight: 500; }
.gk-tl-item.active .gk-tl-title { color: #1E293B; font-weight: 600; }

/* ===== 通用 section ===== */
.gk-section { padding: 64px 0; }
.gk-section-gray { background: #F8FAFC; }

/* ===== 工具箱 ===== */
.gk-tools-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.gk-tool-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 28px 16px; text-align: center; transition: all .3s cubic-bezier(.4,0,.2,1); }
.gk-tool-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); transform: translateY(-4px); }
.gk-tool-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.gk-tool-icon.blue { background: #DBEAFE; color: #2563EB; }
.gk-tool-icon.green { background: #DCFCE7; color: #16A34A; }
.gk-tool-icon.purple { background: #EDE9FE; color: #7C3AED; }
.gk-tool-icon.orange { background: #FFEDD5; color: #EA580C; }
.gk-tool-icon.cyan { background: #CFFAFE; color: #0891B2; }
.gk-tool-icon.red { background: #FEE2E2; color: #DC2626; }
.gk-tool-title { font-size: .875rem; font-weight: 600; color: #1E293B; margin-bottom: 4px; }
.gk-tool-desc { font-size: .75rem; color: #94A3B8; }

/* ===== 政策要点 ===== */
.gk-policy-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.gk-policy-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 28px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.gk-policy-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); transform: translateY(-4px); }
.gk-policy-icon { width: 44px; height: 44px; border-radius: 12px; background: #EFF6FF; color: #2563EB; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.gk-policy-card h4 { font-size: 1rem; font-weight: 700; color: #1E293B; margin-bottom: 8px; }
.gk-policy-card p { font-size: .8125rem; color: #64748B; line-height: 1.6; }
.gk-policy-source { text-align: center; font-size: .75rem; color: #94A3B8; margin-top: 24px; }

/* ===== 志愿策略 ===== */
.gk-strategy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.gk-strategy-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 32px; text-align: center; position: relative; transition: all .3s cubic-bezier(.4,0,.2,1); }
.gk-strategy-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); transform: translateY(-4px); }
.gk-strat-num { font-size: 2rem; font-weight: 800; color: #DBEAFE; line-height: 1; margin-bottom: 12px; }
.gk-strategy-card h4 { font-size: 1.125rem; font-weight: 700; color: #1E293B; margin-bottom: 8px; }
.gk-strategy-card p { font-size: .8125rem; color: #64748B; line-height: 1.6; margin-bottom: 16px; }
.gk-strat-tag { display: inline-block; font-size: .6875rem; font-weight: 600; padding: 3px 10px; border-radius: 9999px; }
.gk-strat-tag.blue { background: #DBEAFE; color: #2563EB; }
.gk-strat-tag.green { background: #DCFCE7; color: #16A34A; }
.gk-strat-tag.orange { background: #FFEDD5; color: #EA580C; }
.gk-strategy-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 32px; padding: 16px 20px; background: #FFFBEB; border: 1px solid #FDE68A; border-radius: 12px; }
.gk-strategy-note svg { color: #F59E0B; flex-shrink: 0; margin-top: 2px; }
.gk-strategy-note span { font-size: .8125rem; color: #92400E; line-height: 1.6; }

/* ===== 院校卡片 ===== */
.gk-schools-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.gk-school-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 12px; padding: 20px; display: flex; align-items: center; gap: 16px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.gk-school-card:hover { border-color: #93C5FD; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -1px rgba(0,0,0,0.04); }
.gk-school-logo { width: 48px; height: 48px; border-radius: 12px; background: linear-gradient(135deg, #2563EB, #3B82F6); color: #fff; display: flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 700; flex-shrink: 0; }
.gk-school-name { font-size: .9375rem; font-weight: 700; color: #1E293B; margin-bottom: 2px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.gk-tag-985, .gk-tag-211 { font-size: .625rem; font-weight: 700; padding: 1px 6px; border-radius: 4px; }
.gk-tag-985 { background: #FEF3C7; color: #92400E; }
.gk-tag-211 { background: #DBEAFE; color: #2563EB; }
.gk-school-desc { font-size: .75rem; color: #94A3B8; margin-bottom: 4px; }
.gk-school-score { font-size: .75rem; color: #2563EB; font-weight: 600; }

/* ===== 特殊招生 ===== */
.gk-special-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.gk-special-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 32px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.gk-special-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); }
.gk-special-card.qiangji { border-top: 3px solid #2563EB; }
.gk-special-card.zongping { border-top: 3px solid #16A34A; }
.gk-special-header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.gk-special-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.gk-special-card.qiangji .gk-special-icon { background: #DBEAFE; color: #2563EB; }
.gk-special-card.zongping .gk-special-icon { background: #DCFCE7; color: #16A34A; }
.gk-special-card h4 { font-size: 1.25rem; font-weight: 700; color: #1E293B; }
.gk-special-card > p { font-size: .875rem; color: #64748B; line-height: 1.6; margin-bottom: 16px; }
.gk-special-points { list-style: none; margin-bottom: 20px; }
.gk-special-points li { font-size: .8125rem; color: #475569; padding: 6px 0; padding-left: 20px; position: relative; line-height: 1.6; }
.gk-special-points li::before { content: ''; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: #2563EB; }
.gk-special-card.zongping .gk-special-points li::before { background: #16A34A; }
.gk-special-link { font-size: .875rem; font-weight: 600; color: #2563EB; }
.gk-special-link:hover { color: #1D4ED8; }

/* ===== 资讯 ===== */
.gk-news-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.gk-news-featured { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; overflow: hidden; transition: all .3s cubic-bezier(.4,0,.2,1); }
.gk-news-featured:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); }
.gk-news-thumb { height: 180px; background: linear-gradient(135deg, #2563EB, #3B82F6); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font-size: 1rem; font-weight: 600; line-height: 1.6; padding: 20px; }
.gk-news-featured h4 { font-size: 1rem; font-weight: 700; color: #1E293B; margin: 20px 20px 8px; }
.gk-news-featured p { font-size: .8125rem; color: #64748B; line-height: 1.6; margin: 0 20px 12px; }
.gk-news-featured .gk-news-date { font-size: .75rem; color: #94A3B8; margin: 0 20px 20px; }
.gk-news-list { display: flex; flex-direction: column; gap: 4px; }
.gk-news-item { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-radius: 10px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.gk-news-item:hover { background: #fff; }
.gk-news-title { font-size: .875rem; color: #475569; font-weight: 500; }
.gk-news-item:hover .gk-news-title { color: #2563EB; }
.gk-news-item .gk-news-date { font-size: .75rem; color: #94A3B8; }

/* ===== CTA ===== */
.gk-cta { background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%); padding: 56px 0; }
.gk-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.gk-cta-left h2 { font-size: 1.75rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.gk-cta-left p { font-size: .9375rem; color: rgba(255,255,255,0.85); }
.gk-cta-right { display: flex; gap: 12px; }
.gk-cta .btn-primary { background: #fff; color: #2563EB; }
.gk-cta .btn-primary:hover { background: #F1F5F9; }
.gk-cta .btn-secondary { background: rgba(255,255,255,0.15); color: #fff; border-color: rgba(255,255,255,0.3); }
.gk-cta .btn-secondary:hover { background: rgba(255,255,255,0.25); }

/* ===== 高考专区响应式 ===== */
@media (max-width: 1024px) {
    .gk-hero-inner { grid-template-columns: 1fr; }
    .gk-tools-grid { grid-template-columns: repeat(3, 1fr); }
    .gk-policy-grid { grid-template-columns: repeat(2, 1fr); }
    .gk-strategy-grid { grid-template-columns: 1fr; }
    .gk-schools-grid { grid-template-columns: repeat(2, 1fr); }
    .gk-special-grid { grid-template-columns: 1fr; }
    .gk-news-grid { grid-template-columns: 1fr; }
    .gk-cta-inner { flex-direction: column; text-align: center; }
}
@media (max-width: 768px) {
    .gk-hero-left h1 { font-size: 1.75rem; }
    .gk-hero-points { grid-template-columns: 1fr; }
    .gk-tools-grid { grid-template-columns: repeat(2, 1fr); }
    .gk-policy-grid { grid-template-columns: 1fr; }
    .gk-schools-grid { grid-template-columns: 1fr; }
    .gk-hero-btns { flex-direction: column; width: 100%; }
    .gk-hero-btns .btn { width: 100%; }
    .gk-cta-right { flex-direction: column; width: 100%; }
    .gk-cta-right .btn { width: 100%; }
}

/* ==================== 中考专区页 ==================== */
/* 复用 gk- 前缀通用样式，新增 zk- 前缀特有样式 */
.zk-hero { position: relative; padding: 56px 0 64px; background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 40%, #F0FDF4 100%); overflow: hidden; }
.zk-hero::before { content: ''; position: absolute; top: -30%; right: -5%; width: 600px; height: 600px; background: radial-gradient(circle, rgba(37,99,235,0.06) 0%, transparent 70%); border-radius: 50%; }
.zk-hero::after { content: ''; position: absolute; bottom: -30%; left: -5%; width: 500px; height: 500px; background: radial-gradient(circle, rgba(34,197,94,0.05) 0%, transparent 70%); border-radius: 50%; }
.zk-hero-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; position: relative; z-index: 1; }
.zk-hero-badge { display: inline-block; background: #2563EB; color: #fff; font-size: .75rem; font-weight: 600; padding: 4px 14px; border-radius: 9999px; margin-bottom: 16px; }
.zk-hero-left h1 { font-size: 2.5rem; font-weight: 800; color: #1E293B; letter-spacing: -0.02em; margin-bottom: 16px; line-height: 1.2; }
.zk-accent { color: #2563EB; }
.zk-hero-left p { font-size: 1rem; color: #475569; line-height: 1.7; margin-bottom: 28px; }
.zk-hero-points { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 32px; }
.zk-point { display: flex; align-items: center; gap: 8px; font-size: .875rem; color: #1E293B; font-weight: 500; }
.zk-point svg { color: #2563EB; flex-shrink: 0; }
.zk-hero-btns { display: flex; gap: 12px; }
.zk-hero-card { background: #fff; border-radius: 16px; padding: 28px; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.08), 0 10px 10px -5px rgba(0,0,0,0.03); }
.zk-card-label { font-size: .875rem; font-weight: 700; color: #1E293B; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid #F1F5F9; }
.zk-timeline { display: flex; flex-direction: column; gap: 16px; }
.zk-tl-item { display: flex; align-items: center; gap: 12px; opacity: .5; }
.zk-tl-item.done { opacity: .6; }
.zk-tl-item.active { opacity: 1; }
.zk-tl-dot { width: 10px; height: 10px; border-radius: 50%; background: #CBD5E1; flex-shrink: 0; }
.zk-tl-item.done .zk-tl-dot { background: #93C5FD; }
.zk-tl-item.active .zk-tl-dot { background: #2563EB; box-shadow: 0 0 0 4px rgba(37,99,235,0.15); }
.zk-tl-date { font-size: .75rem; color: #94A3B8; font-weight: 600; min-width: 90px; }
.zk-tl-item.active .zk-tl-date { color: #2563EB; }
.zk-tl-title { font-size: .8125rem; color: #475569; font-weight: 500; }
.zk-tl-item.active .zk-tl-title { color: #1E293B; font-weight: 600; }
.zk-section { padding: 64px 0; }
.zk-section-gray { background: #F8FAFC; }
.zk-tools-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.zk-tool-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 28px 16px; text-align: center; transition: all .3s cubic-bezier(.4,0,.2,1); }
.zk-tool-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); transform: translateY(-4px); }
.zk-tool-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.zk-tool-icon.blue { background: #DBEAFE; color: #2563EB; }
.zk-tool-icon.green { background: #DCFCE7; color: #16A34A; }
.zk-tool-icon.purple { background: #EDE9FE; color: #7C3AED; }
.zk-tool-icon.orange { background: #FFEDD5; color: #EA580C; }
.zk-tool-icon.cyan { background: #CFFAFE; color: #0891B2; }
.zk-tool-icon.red { background: #FEE2E2; color: #DC2626; }
.zk-tool-title { font-size: .875rem; font-weight: 600; color: #1E293B; margin-bottom: 4px; }
.zk-tool-desc { font-size: .75rem; color: #94A3B8; }
.zk-policy-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.zk-policy-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 28px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.zk-policy-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); transform: translateY(-4px); }
.zk-policy-icon { width: 44px; height: 44px; border-radius: 12px; background: #EFF6FF; color: #2563EB; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.zk-policy-card h4 { font-size: 1rem; font-weight: 700; color: #1E293B; margin-bottom: 8px; }
.zk-policy-card p { font-size: .8125rem; color: #64748B; line-height: 1.6; }
.zk-policy-source { text-align: center; font-size: .75rem; color: #94A3B8; margin-top: 24px; }

/* ===== 分数线表格 ===== */
.zk-score-table { max-width: 800px; margin: 0 auto; background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid #E2E8F0; }
.zk-score-row { display: grid; grid-template-columns: 1fr 1.5fr 1.5fr 1fr 1fr; align-items: center; padding: 16px 24px; border-bottom: 1px solid #F1F5F9; transition: background .3s ease; }
.zk-score-row:last-child { border-bottom: none; }
.zk-score-row:hover { background: #F8FAFC; }
.zk-score-header { background: #1E293B; color: #fff; font-size: .8125rem; font-weight: 700; }
.zk-score-header:hover { background: #1E293B; }
.zk-score-year { font-weight: 700; color: #475569; font-size: .9375rem; }
.zk-score-header .zk-score-year { color: #fff; }
.zk-score-col { font-size: .9375rem; color: #475569; text-align: center; }
.zk-score-header .zk-score-col { color: #fff; }
.zk-score-highlight { background: #EFF6FF; }
.zk-score-highlight .zk-score-year { color: #2563EB; }
.zk-score-highlight .zk-score-col { color: #1E293B; }
.zk-score-highlight:hover { background: #DBEAFE; }
.zk-trend-up { color: #DC2626; font-size: .75rem; font-weight: 600; background: #FEE2E2; padding: 2px 8px; border-radius: 9999px; }
.zk-trend-down { color: #16A34A; font-size: .75rem; font-weight: 600; background: #DCFCE7; padding: 2px 8px; border-radius: 9999px; }
.zk-trend-flat { color: #94A3B8; font-size: .75rem; font-weight: 600; background: #F1F5F9; padding: 2px 8px; border-radius: 9999px; }
.zk-score-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 24px; padding: 16px 20px; background: #FFFBEB; border: 1px solid #FDE68A; border-radius: 12px; max-width: 800px; margin-left: auto; margin-right: auto; }
.zk-score-note svg { color: #F59E0B; flex-shrink: 0; margin-top: 2px; }
.zk-score-note span { font-size: .8125rem; color: #92400E; line-height: 1.6; }

/* ===== 升学路径 ===== */
.zk-path-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.zk-path-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 28px; text-align: center; transition: all .3s cubic-bezier(.4,0,.2,1); position: relative; }
.zk-path-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); transform: translateY(-4px); }
.zk-path-full { grid-column: span 4; }
.zk-path-badge { display: inline-block; font-size: .6875rem; font-weight: 700; padding: 3px 10px; border-radius: 9999px; background: #F1F5F9; color: #475569; margin-bottom: 12px; }
.zk-path-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.zk-path-icon.blue { background: #DBEAFE; color: #2563EB; }
.zk-path-icon.green { background: #DCFCE7; color: #16A34A; }
.zk-path-icon.purple { background: #EDE9FE; color: #7C3AED; }
.zk-path-icon.orange { background: #FFEDD5; color: #EA580C; }
.zk-path-icon.red { background: #FEE2E2; color: #DC2626; }
.zk-path-card h4 { font-size: .9375rem; font-weight: 700; color: #1E293B; margin-bottom: 8px; }
.zk-path-card p { font-size: .75rem; color: #64748B; line-height: 1.6; margin-bottom: 12px; }
.zk-path-tag { display: inline-block; font-size: .625rem; font-weight: 600; padding: 2px 8px; border-radius: 9999px; }
.zk-path-tag.blue { background: #DBEAFE; color: #2563EB; }
.zk-path-tag.green { background: #DCFCE7; color: #16A34A; }
.zk-path-tag.purple { background: #EDE9FE; color: #7C3AED; }
.zk-path-tag.orange { background: #FFEDD5; color: #EA580C; }
.zk-path-tag.red { background: #FEE2E2; color: #DC2626; }
.zk-path-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 32px; padding: 16px 20px; background: #FFFBEB; border: 1px solid #FDE68A; border-radius: 12px; }
.zk-path-note svg { color: #F59E0B; flex-shrink: 0; margin-top: 2px; }
.zk-path-note span { font-size: .8125rem; color: #92400E; line-height: 1.6; }

/* ===== 名额分配 ===== */
.zk-quota-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.zk-quota-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 32px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.zk-quota-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); transform: translateY(-4px); }
.zk-quota-num { font-size: 2rem; font-weight: 800; color: #DBEAFE; line-height: 1; margin-bottom: 12px; }
.zk-quota-card h4 { font-size: 1rem; font-weight: 700; color: #1E293B; margin-bottom: 8px; }
.zk-quota-card p { font-size: .8125rem; color: #64748B; line-height: 1.6; }
.zk-quota-card p strong { color: #1E293B; }

/* ===== 查分指南 ===== */
.zk-check-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.zk-check-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 28px 16px; text-align: center; transition: all .3s cubic-bezier(.4,0,.2,1); }
.zk-check-card:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); transform: translateY(-4px); }
.zk-check-icon { width: 48px; height: 48px; border-radius: 12px; background: #EFF6FF; color: #2563EB; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.zk-check-card h4 { font-size: .875rem; font-weight: 700; color: #1E293B; margin-bottom: 6px; }
.zk-check-card p { font-size: .75rem; color: #94A3B8; line-height: 1.5; }
.zk-check-info { max-width: 700px; margin: 32px auto 0; display: flex; flex-direction: column; gap: 10px; padding: 20px 24px; background: #fff; border: 1px solid #E2E8F0; border-radius: 12px; }
.zk-info-item { font-size: .8125rem; color: #475569; line-height: 1.6; }
.zk-info-item strong { color: #2563EB; }

/* ===== 资讯 ===== */
.zk-news-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.zk-news-featured { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; overflow: hidden; transition: all .3s cubic-bezier(.4,0,.2,1); }
.zk-news-featured:hover { border-color: #93C5FD; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04); }
.zk-news-thumb { height: 180px; background: linear-gradient(135deg, #2563EB, #3B82F6); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font-size: 1rem; font-weight: 600; line-height: 1.6; padding: 20px; }
.zk-news-featured h4 { font-size: 1rem; font-weight: 700; color: #1E293B; margin: 20px 20px 8px; }
.zk-news-featured p { font-size: .8125rem; color: #64748B; line-height: 1.6; margin: 0 20px 12px; }
.zk-news-featured .zk-news-date { font-size: .75rem; color: #94A3B8; margin: 0 20px 20px; }
.zk-news-list { display: flex; flex-direction: column; gap: 4px; }
.zk-news-item { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-radius: 10px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.zk-news-item:hover { background: #fff; }
.zk-news-title { font-size: .875rem; color: #475569; font-weight: 500; }
.zk-news-item:hover .zk-news-title { color: #2563EB; }
.zk-news-item .zk-news-date { font-size: .75rem; color: #94A3B8; }

/* ===== CTA ===== */
.zk-cta { background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%); padding: 56px 0; }
.zk-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.zk-cta-left h2 { font-size: 1.75rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.zk-cta-left p { font-size: .9375rem; color: rgba(255,255,255,0.85); }
.zk-cta-right { display: flex; gap: 12px; }
.zk-cta .btn-primary { background: #fff; color: #2563EB; }
.zk-cta .btn-primary:hover { background: #F1F5F9; }
.zk-cta .btn-secondary { background: rgba(255,255,255,0.15); color: #fff; border-color: rgba(255,255,255,0.3); }
.zk-cta .btn-secondary:hover { background: rgba(255,255,255,0.25); }

/* ===== 中考专区响应式 ===== */
@media (max-width: 1024px) {
    .zk-hero-inner { grid-template-columns: 1fr; }
    .zk-tools-grid { grid-template-columns: repeat(3, 1fr); }
    .zk-policy-grid { grid-template-columns: repeat(2, 1fr); }
    .zk-path-grid { grid-template-columns: repeat(2, 1fr); }
    .zk-path-full { grid-column: span 2; }
    .zk-quota-grid { grid-template-columns: repeat(2, 1fr); }
    .zk-check-grid { grid-template-columns: repeat(3, 1fr); }
    .zk-news-grid { grid-template-columns: 1fr; }
    .zk-cta-inner { flex-direction: column; text-align: center; }
    .zk-score-row { grid-template-columns: 1fr 1fr 1fr; }
    .zk-score-row .zk-score-col:nth-child(3), .zk-score-row .zk-score-col:nth-child(4) { display: none; }
}
@media (max-width: 768px) {
    .zk-hero-left h1 { font-size: 1.75rem; }
    .zk-hero-points { grid-template-columns: 1fr; }
    .zk-tools-grid { grid-template-columns: repeat(2, 1fr); }
    .zk-policy-grid { grid-template-columns: 1fr; }
    .zk-path-grid { grid-template-columns: 1fr; }
    .zk-path-full { grid-column: span 1; }
    .zk-quota-grid { grid-template-columns: 1fr; }
    .zk-check-grid { grid-template-columns: repeat(2, 1fr); }
    .zk-hero-btns { flex-direction: column; width: 100%; }
    .zk-hero-btns .btn { width: 100%; }
    .zk-cta-right { flex-direction: column; width: 100%; }
    .zk-cta-right .btn { width: 100%; }
}

/* ==================== FAQ 常见问题 ==================== */
.faq-section { padding: 80px 0; background: #F8FAFC; }
.faq-section .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.faq-list { display: flex; flex-direction: column; gap: 12px; }
.faq-item { background: #fff; border: 1px solid #E2E8F0; border-radius: 12px; overflow: hidden; transition: all .3s cubic-bezier(.4,0,.2,1); }
.faq-item:hover { border-color: #93C5FD; box-shadow: 0 4px 12px rgba(0,0,0,0.04); }
.faq-question { display: flex; align-items: center; gap: 16px; padding: 20px 24px; cursor: pointer; user-select: none; }
.faq-num { width: 36px; height: 36px; border-radius: 50%; background: #EFF6FF; color: #2563EB; font-size: .875rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.faq-q-text { flex: 1; font-size: 1rem; font-weight: 600; color: #1E293B; line-height: 1.5; }
.faq-toggle { width: 28px; height: 28px; border-radius: 50%; background: #F1F5F9; color: #64748B; font-size: 1.125rem; font-weight: 500; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all .3s cubic-bezier(.4,0,.2,1); }
.faq-item.active .faq-toggle { background: #2563EB; color: #fff; transform: rotate(45deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .4s cubic-bezier(.4,0,.2,1); }
.faq-item.active .faq-answer { max-height: 500px; }
.faq-answer p { padding: 0 24px 20px 76px; font-size: .9375rem; color: #475569; line-height: 1.7; }
.faq-answer p strong { color: #2563EB; }
@media (max-width: 768px) {
    .faq-question { padding: 16px 20px; gap: 12px; }
    .faq-num { width: 32px; height: 32px; font-size: .8125rem; }
    .faq-q-text { font-size: .9375rem; }
    .faq-answer p { padding: 0 20px 16px 64px; font-size: .875rem; }
}

/* ==================== JSON-LD Schema 隐藏 ==================== */
script[type="application/ld+json"] { display: none; }
.yl-posts-section {
    padding: 80px 0;
    background: #F8FAFC;
}
.yl-posts-section .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.yl-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}
@media (max-width: 1024px) {
    .yl-posts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 640px) {
    .yl-posts-grid {
        grid-template-columns: 1fr;
    }
}
.yl-post-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #E2E8F0;
}
.yl-post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -8px rgba(0,0,0,0.12);
}
.yl-post-link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.yl-post-thumb {
    width: 100%;
    height: 180px;
    overflow: hidden;
    position: relative;
    background: #F1F5F9;
    display: flex;
    align-items: center;
    justify-content: center;
}
.yl-post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.yl-post-card:hover .yl-post-thumb img {
    transform: scale(1.05);
}
.yl-post-thumb-empty {
    background: #F8FAFC;
}
.yl-post-body {
    padding: 20px;
}
.yl-post-title {
    font-size: 1rem;
    font-weight: 700;
    color: #1E293B;
    line-height: 1.5;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 48px;
}
.yl-post-excerpt {
    font-size: 0.875rem;
    color: #64748B;
    line-height: 1.6;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.yl-post-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.8125rem;
}
.yl-post-date {
    color: #94A3B8;
}
.yl-post-read {
    color: #2563EB;
    font-weight: 600;
}
.yl-posts-more {
    text-align: center;
}
@media (max-width: 1024px) {
    .yl-posts-section { padding: 60px 0; }
}

/* ==================== 政策资讯列表页 (nl- 前缀) ==================== */

/* 页面标题区 */
.nl-page-header {
    background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
    padding: 48px 0 40px;
}

.nl-page-title-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.nl-page-title-left {
    flex: 1;
}

.nl-page-title-right {
    flex-shrink: 0;
}

.nl-title-decoration {
    opacity: 0.8;
}

.nl-page-title {
    font-size: 2rem;
    font-weight: 700;
    color: #1E293B;
    margin-bottom: 8px;
    letter-spacing: -.02em;
}

.nl-page-desc {
    font-size: 1rem;
    color: #64748B;
}

/* 面包屑 */
.nl-breadcrumb {
    background: #fff;
    border-bottom: 1px solid #F1F5F9;
    padding: 12px 0;
    font-size: .8125rem;
    color: #94A3B8;
}

.nl-breadcrumb a {
    color: #475569;
    text-decoration: none;
    transition: color .3s;
}

.nl-breadcrumb a:hover {
    color: #2563EB;
}

.nl-breadcrumb-sep {
    margin: 0 8px;
    color: #CBD5E1;
}

.nl-breadcrumb-current {
    color: #2563EB;
    font-weight: 500;
}

/* 主内容区 */
.nl-main-section {
    padding: 40px 0 80px;
    background: #F8FAFC;
    min-height: 400px;
}

.nl-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 40px;
}

/* 分类筛选标签 */
.nl-filter-bar {
    display: flex;
    gap: 10px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.nl-filter-tag {
    padding: 8px 20px;
    border-radius: 9999px;
    font-size: .875rem;
    font-weight: 500;
    color: #64748B;
    background: #fff;
    border: 1px solid #E2E8F0;
    text-decoration: none;
    transition: all .3s cubic-bezier(.4,0,.2,1);
}

.nl-filter-tag:hover {
    background: #EFF6FF;
    color: #2563EB;
    border-color: #93C5FD;
}

.nl-filter-tag.active {
    background: #2563EB;
    color: #fff;
    border-color: #2563EB;
}

/* 文章卡片 */
.nl-post-card {
    background: #fff;
    border: 1px solid #F1F5F9;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 16px;
    transition: all .3s cubic-bezier(.4,0,.2,1);
}

.nl-post-card:hover {
    border-color: #DBEAFE;
    box-shadow: 0 4px 16px rgba(37,99,235,0.08);
}

.nl-post-link {
    display: flex;
    gap: 20px;
    padding: 20px;
    text-decoration: none;
    color: inherit;
}

/* ===== 彩色封面图 ===== */
.nl-post-cover {
    width: 200px;
    min-height: 130px;
    border-radius: 10px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    padding: 16px;
}

.nl-post-cover.blue {
    background: linear-gradient(135deg, #2563EB 0%, #3B82F6 50%, #60A5FA 100%);
}

.nl-post-cover.green {
    background: linear-gradient(135deg, #059669 0%, #16A34A 50%, #4ADE80 100%);
}

.nl-post-cover.orange {
    background: linear-gradient(135deg, #EA580C 0%, #F97316 50%, #FB923C 100%);
}

.nl-post-cover.purple {
    background: linear-gradient(135deg, #7C3AED 0%, #8B5CF6 50%, #A78BFA 100%);
}

.nl-cover-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.1;
    background-image: radial-gradient(circle at 20% 20%, white 1px, transparent 1px),
                      radial-gradient(circle at 80% 80%, white 1px, transparent 1px);
    background-size: 30px 30px;
}

.nl-cover-content {
    position: relative;
    z-index: 1;
    width: 100%;
}

.nl-cover-cat {
    display: inline-block;
    padding: 2px 8px;
    background: rgba(255,255,255,0.25);
    border-radius: 4px;
    font-size: .6875rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 8px;
    backdrop-filter: blur(4px);
}

.nl-cover-title {
    font-size: .8125rem;
    font-weight: 600;
    color: #fff;
    line-height: 1.4;
    margin: 0;
    text-shadow: 0 1px 2px rgba(0,0,0,0.15);
}

/* 置顶标签 */
.nl-sticky-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 3px 10px;
    background: #DC2626;
    color: #fff;
    font-size: .6875rem;
    font-weight: 700;
    border-radius: 4px;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(220,38,38,0.3);
}

.nl-post-card.is-sticky {
    border-color: #FECACA;
}

/* 兼容旧缩略图样式 */
.nl-post-thumb {
    width: 200px;
    height: 130px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: linear-gradient(135deg, #2563EB, #3B82F6);
}

.nl-post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.nl-post-card:hover .nl-post-thumb img {
    transform: scale(1.05);
}

.nl-thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: .875rem;
    font-weight: 600;
    text-align: center;
    padding: 12px;
}

.nl-post-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.nl-post-title {
    font-size: 1.0625rem;
    font-weight: 600;
    color: #1E293B;
    margin-bottom: 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color .3s;
}

.nl-post-card:hover .nl-post-title {
    color: #2563EB;
}

.nl-post-excerpt {
    font-size: .875rem;
    color: #64748B;
    line-height: 1.6;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nl-post-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: .75rem;
}

.nl-post-cat {
    padding: 2px 10px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
}

.nl-post-cat.blue { background: #DBEAFE; color: #2563EB; }
.nl-post-cat.green { background: #DCFCE7; color: #16A34A; }
.nl-post-cat.orange { background: #FFEDD5; color: #EA580C; }
.nl-post-cat.purple { background: #EDE9FE; color: #7C3AED; }

.nl-post-date {
    color: #94A3B8;
}

.nl-post-views {
    color: #94A3B8;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 分页 */
.nl-pagination {
    display: flex;
    justify-content: center;
    gap: 4px;
    margin-top: 32px;
}

.nl-pagination ul {
    display: flex;
    gap: 4px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.nl-pagination a,
.nl-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    font-size: .875rem;
    color: #475569;
    background: #fff;
    border: 1px solid #E2E8F0;
    text-decoration: none;
    transition: all .3s;
}

.nl-pagination a:hover {
    background: #EFF6FF;
    color: #2563EB;
    border-color: #93C5FD;
}

.nl-pagination .current {
    background: #2563EB;
    color: #fff;
    border-color: #2563EB;
}

/* 空状态 */
.nl-empty {
    text-align: center;
    padding: 60px 20px;
}

.nl-empty h3 {
    font-size: 1.125rem;
    color: #1E293B;
    margin: 16px 0 8px;
}

.nl-empty p {
    color: #94A3B8;
}

/* 右侧边栏 */
.nl-right {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.nl-widget {
    background: #fff;
    border: 1px solid #F1F5F9;
    border-radius: 12px;
    padding: 24px;
}

.nl-widget-title {
    font-size: 1rem;
    font-weight: 700;
    color: #1E293B;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #F1F5F9;
}

/* 站内搜索 */
.nl-search-form {
    display: flex;
    gap: 8px;
}

.nl-search-input {
    flex: 1;
    padding: 10px 14px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    font-size: .875rem;
    outline: none;
    transition: border-color .3s;
}

.nl-search-input:focus {
    border-color: #2563EB;
}

.nl-search-btn {
    padding: 10px 20px;
    background: #2563EB;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .3s;
}

.nl-search-btn:hover {
    background: #1D4ED8;
}

/* 热门文章 */
.nl-hot-item {
    display: flex;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #F1F5F9;
    text-decoration: none;
    color: inherit;
    transition: all .3s;
}

.nl-hot-item:last-child {
    border-bottom: none;
}

.nl-hot-item:hover .nl-hot-title {
    color: #2563EB;
}

.nl-hot-rank {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    font-weight: 700;
    flex-shrink: 0;
}

.nl-hot-rank.rank-1 { background: #FEE2E2; color: #DC2626; }
.nl-hot-rank.rank-2 { background: #FFEDD5; color: #EA580C; }
.nl-hot-rank.rank-3 { background: #FEF3C7; color: #B45309; }
.nl-hot-rank.rank-4,
.nl-hot-rank.rank-5 { background: #F1F5F9; color: #64748B; }

.nl-hot-content {
    flex: 1;
    min-width: 0;
}

.nl-hot-title {
    font-size: .875rem;
    font-weight: 500;
    color: #334155;
    margin-bottom: 4px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color .3s;
}

.nl-hot-views {
    font-size: .75rem;
    color: #94A3B8;
}

/* 文章分类 */
.nl-cat-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #F1F5F9;
    font-size: .875rem;
    color: #475569;
    text-decoration: none;
    transition: color .3s;
}

.nl-cat-item:last-child {
    border-bottom: none;
}

.nl-cat-item:hover {
    color: #2563EB;
}

.nl-cat-item:hover .nl-cat-icon {
    color: #2563EB;
}

.nl-cat-icon {
    color: #94A3B8;
    flex-shrink: 0;
    transition: color .3s;
}

.nl-cat-name {
    flex: 1;
}

.nl-cat-count {
    color: #94A3B8;
    font-size: .8125rem;
}

/* 响应式 */
@media (max-width: 1024px) {
    .nl-layout {
        grid-template-columns: 1fr;
    }
    .nl-right {
        display: none;
    }
}

@media (max-width: 768px) {
    .nl-page-title { font-size: 1.5rem; }
    .nl-page-title-wrap { flex-direction: column; text-align: center; }
    .nl-title-decoration { display: none; }
    .nl-post-link { flex-direction: column; gap: 12px; padding: 16px; }
    .nl-post-cover { width: 100%; min-height: 100px; }
    .nl-post-thumb { width: 100%; height: 160px; }
    .nl-filter-bar { gap: 8px; }
    .nl-filter-tag { padding: 6px 14px; font-size: .8125rem; }
}

/* ==================== 首页专用样式 (fp- 前缀) ==================== */

/* ===== Hero Banner ===== */
.fp-hero { position: relative; min-height: calc(100vh - 148px); display: flex; align-items: center; padding: 60px 0 80px; overflow: hidden; background: linear-gradient(180deg, #F8FAFC 0%, #EFF6FF 50%, #F8FAFC 100%); }
.fp-hero-bg { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.fp-hero-orb { position: absolute; border-radius: 50%; filter: blur(80px); }
.fp-hero-orb-1 { width: 500px; height: 500px; background: rgba(37,99,235,0.08); top: -100px; right: -100px; }
.fp-hero-orb-2 { width: 400px; height: 400px; background: rgba(59,130,246,0.06); bottom: -100px; left: -100px; }
.fp-hero-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(37,99,235,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(37,99,235,0.03) 1px, transparent 1px); background-size: 60px 60px; mask-image: radial-gradient(ellipse at center, black 30%, transparent 70%); -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 70%); }
.fp-hero-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: center; position: relative; z-index: 1; }

.fp-hero-badge { display: inline-flex; align-items: center; gap: 6px; background: #fff; color: #2563EB; font-size: .8125rem; font-weight: 600; padding: 6px 16px; border-radius: 9999px; margin-bottom: 24px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); border: 1px solid #DBEAFE; }
.fp-hero-title { font-size: 3.25rem; font-weight: 800; line-height: 1.1; letter-spacing: -.03em; color: #1E293B; margin-bottom: 16px; }
.fp-hero-highlight { background: linear-gradient(135deg, #2563EB 0%, #3B82F6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.fp-hero-subtitle { font-size: 1.125rem; color: #475569; line-height: 1.6; margin-bottom: 28px; }
.fp-hero-points { display: flex; gap: 24px; margin-bottom: 32px; }
.fp-hero-point { display: flex; align-items: center; gap: 8px; font-size: .9375rem; font-weight: 600; color: #1E293B; }
.fp-hero-point svg { color: #2563EB; flex-shrink: 0; }
.fp-hero-cta { display: flex; gap: 12px; margin-bottom: 48px; }
.fp-hero-stats { display: flex; align-items: center; gap: 32px; }
.fp-stat-num { font-size: 2rem; font-weight: 800; color: #2563EB; line-height: 1; }
.fp-stat-num span { font-size: 1rem; font-weight: 600; color: #475569; }
.fp-stat-label { font-size: .8125rem; color: #64748B; margin-top: 4px; }
.fp-stat-divider { width: 1px; height: 40px; background: #E2E8F0; }

/* Hero Visual */
.fp-hero-right { position: relative; }
.fp-hero-visual { position: relative; }
.fp-visual-card-main { background: rgba(255,255,255,0.8); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,0.9); border-radius: 16px; box-shadow: 0 20px 40px -10px rgba(37,99,235,0.12), 0 10px 20px -5px rgba(0,0,0,0.05); overflow: hidden; }
.fp-visual-card-header { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid #F1F5F9; }
.fp-visual-dots { display: flex; gap: 6px; }
.fp-visual-dots span { width: 10px; height: 10px; border-radius: 50%; }
.fp-visual-dots span:nth-child(1) { background: #EF4444; }
.fp-visual-dots span:nth-child(2) { background: #F59E0B; }
.fp-visual-dots span:nth-child(3) { background: #22C55E; }
.fp-visual-title { font-size: .875rem; font-weight: 600; color: #475569; }
.fp-visual-body { padding: 24px 20px; display: flex; flex-direction: column; gap: 20px; }
.fp-visual-row { display: flex; align-items: center; gap: 12px; }
.fp-visual-row-icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fp-visual-row-icon.blue { background: #DBEAFE; color: #2563EB; }
.fp-visual-row-icon.green { background: #DCFCE7; color: #16A34A; }
.fp-visual-row-icon.purple { background: #EDE9FE; color: #7C3AED; }
.fp-visual-row-text { flex: 1; }
.fp-visual-row-title { font-size: .8125rem; font-weight: 600; color: #1E293B; margin-bottom: 6px; }
.fp-visual-row-bar { height: 6px; background: #F1F5F9; border-radius: 9999px; overflow: hidden; }
.fp-bar-fill { height: 100%; border-radius: 9999px; background: linear-gradient(90deg, #2563EB, #3B82F6); transition: width 1s ease; }
.fp-bar-fill.green { background: linear-gradient(90deg, #16A34A, #4ADE80); }
.fp-bar-fill.purple { background: linear-gradient(90deg, #7C3AED, #A78BFA); }
.fp-visual-tag { display: inline-flex; align-items: center; gap: 4px; font-size: .75rem; color: #2563EB; font-weight: 600; background: #EFF6FF; padding: 4px 12px; border-radius: 9999px; align-self: flex-start; }
.fp-visual-float { position: absolute; background: #fff; border-radius: 12px; padding: 10px 16px; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1); display: flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 600; color: #1E293B; animation: yl-float 4s ease-in-out infinite; }
.fp-visual-float-1 { top: -16px; right: -20px; color: #2563EB; }
.fp-visual-float-2 { bottom: -16px; left: -20px; color: #16A34A; animation-delay: 2s; }
.fp-visual-float svg { flex-shrink: 0; }

/* ===== 快捷入口 ===== */
.fp-quick-section { padding: 0; margin-top: -40px; position: relative; z-index: 2; }
.fp-quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.fp-quick-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 28px 20px; text-align: center; text-decoration: none; transition: all .3s cubic-bezier(.4,0,.2,1); display: block; }
.fp-quick-card:hover { border-color: #93C5FD; box-shadow: 0 10px 30px -5px rgba(37,99,235,0.12); transform: translateY(-6px); }
.fp-quick-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; transition: transform .3s ease; }
.fp-quick-card:hover .fp-quick-icon { transform: scale(1.1); }
.fp-quick-icon.blue { background: #DBEAFE; color: #2563EB; }
.fp-quick-icon.green { background: #DCFCE7; color: #16A34A; }
.fp-quick-icon.purple { background: #EDE9FE; color: #7C3AED; }
.fp-quick-icon.orange { background: #FFEDD5; color: #EA580C; }
.fp-quick-icon.cyan { background: #CFFAFE; color: #0891B2; }
.fp-quick-icon.red { background: #FEE2E2; color: #DC2626; }
.fp-quick-icon.blue2 { background: #DBEAFE; color: #2563EB; }
.fp-quick-icon.green2 { background: #DCFCE7; color: #16A34A; }
.fp-quick-title { font-size: .9375rem; font-weight: 700; color: #1E293B; margin-bottom: 4px; }
.fp-quick-desc { font-size: .75rem; color: #94A3B8; }

/* ===== 通用 Section ===== */
.fp-section { padding: 80px 0; }
.fp-section--white { background: #fff; }
.fp-section--light { background: #F8FAFC; }
.fp-section--gradient-blue { background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%); }
.fp-section--gradient-green { background: linear-gradient(135deg, #F0FDF4 0%, #DCFCE7 100%); }
.fp-section-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; }
.fp-section-head--center { flex-direction: column; align-items: center; text-align: center; }
.fp-section-title { font-size: 2rem; font-weight: 800; color: #1E293B; letter-spacing: -.02em; margin-bottom: 8px; }
.fp-section-subtitle { font-size: 1rem; color: #64748B; }
.fp-section-link { display: inline-flex; align-items: center; gap: 4px; font-size: .9375rem; font-weight: 600; color: #2563EB; text-decoration: none; transition: gap .3s ease; }
.fp-section-link:hover { gap: 8px; }

/* ===== 热门院校 ===== */
.fp-schools-scroll { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.fp-school-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 24px 20px; display: flex; flex-direction: column; gap: 16px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.fp-school-card:hover { border-color: #93C5FD; box-shadow: 0 10px 20px -5px rgba(0,0,0,0.08); transform: translateY(-4px); }
.fp-school-logo { width: 56px; height: 56px; border-radius: 14px; background: linear-gradient(135deg, #2563EB, #3B82F6); color: #fff; display: flex; align-items: center; justify-content: center; font-size: .875rem; font-weight: 700; }
.fp-school-info { flex: 1; }
.fp-school-name { font-size: .9375rem; font-weight: 700; color: #1E293B; margin-bottom: 4px; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.fp-tag { font-size: .625rem; font-weight: 700; padding: 1px 6px; border-radius: 4px; }
.fp-tag-985 { background: #FEF3C7; color: #92400E; }
.fp-tag-211 { background: #DBEAFE; color: #2563EB; }
.fp-school-desc { font-size: .75rem; color: #94A3B8; margin-bottom: 4px; }
.fp-school-score { font-size: .75rem; color: #2563EB; font-weight: 600; }
.fp-school-link { font-size: .8125rem; font-weight: 600; color: #2563EB; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; transition: gap .3s ease; }
.fp-school-link:hover { gap: 8px; }

/* ===== 热门专业 ===== */
.fp-majors-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.fp-major-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 28px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.fp-major-card:hover { border-color: #93C5FD; box-shadow: 0 10px 20px -5px rgba(0,0,0,0.08); transform: translateY(-4px); }
.fp-major-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.fp-major-icon.blue { background: #DBEAFE; color: #2563EB; }
.fp-major-icon.green { background: #DCFCE7; color: #16A34A; }
.fp-major-icon.purple { background: #EDE9FE; color: #7C3AED; }
.fp-major-icon.orange { background: #FFEDD5; color: #EA580C; }
.fp-major-icon.cyan { background: #CFFAFE; color: #0891B2; }
.fp-major-icon.red { background: #FEE2E2; color: #DC2626; }
.fp-major-name { font-size: 1.0625rem; font-weight: 700; color: #1E293B; margin-bottom: 8px; }
.fp-major-dir { font-size: .8125rem; color: #64748B; margin-bottom: 16px; line-height: 1.6; }
.fp-major-rate { display: flex; justify-content: space-between; align-items: center; padding-top: 16px; border-top: 1px solid #F1F5F9; }
.fp-rate-label { font-size: .75rem; color: #94A3B8; }
.fp-rate-value { font-size: 1.125rem; font-weight: 800; color: #22C55E; }

/* ===== 最新资讯 ===== */
.fp-news-layout { display: grid; grid-template-columns: 1fr 360px; gap: 32px; }
.fp-news-main { display: flex; flex-direction: column; gap: 16px; }
.fp-news-item { display: flex; gap: 20px; background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 20px; text-decoration: none; color: inherit; transition: all .3s cubic-bezier(.4,0,.2,1); }
.fp-news-item:hover { border-color: #93C5FD; box-shadow: 0 10px 20px -5px rgba(0,0,0,0.06); }
.fp-news-cover { width: 160px; min-height: 100px; border-radius: 10px; flex-shrink: 0; position: relative; overflow: hidden; display: flex; align-items: flex-start; padding: 12px; }
.fp-news-cover.blue { background: linear-gradient(135deg, #2563EB, #3B82F6); }
.fp-news-cover.green { background: linear-gradient(135deg, #059669, #16A34A); }
.fp-news-cover.orange { background: linear-gradient(135deg, #EA580C, #F97316); }
.fp-news-cover.purple { background: linear-gradient(135deg, #7C3AED, #8B5CF6); }
.fp-news-cover-pattern { position: absolute; inset: 0; opacity: .1; background-image: radial-gradient(circle at 20% 20%, #fff 1px, transparent 1px), radial-gradient(circle at 80% 80%, #fff 1px, transparent 1px); background-size: 30px 30px; }
.fp-news-cat-label { position: relative; z-index: 1; font-size: .6875rem; font-weight: 600; color: #fff; background: rgba(255,255,255,0.25); padding: 2px 8px; border-radius: 4px; backdrop-filter: blur(4px); }
.fp-news-body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; }
.fp-news-title { font-size: 1rem; font-weight: 700; color: #1E293B; line-height: 1.4; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fp-news-item:hover .fp-news-title { color: #2563EB; }
.fp-news-excerpt { font-size: .8125rem; color: #64748B; line-height: 1.6; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fp-news-meta { display: flex; justify-content: space-between; align-items: center; font-size: .75rem; }
.fp-news-date { color: #94A3B8; }
.fp-news-read { color: #2563EB; font-weight: 600; display: inline-flex; align-items: center; gap: 4px; }

.fp-news-side { }
.fp-news-rank-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 24px; position: sticky; top: 140px; }
.fp-rank-title { font-size: 1rem; font-weight: 700; color: #1E293B; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 2px solid #F1F5F9; display: flex; align-items: center; gap: 8px; }
.fp-rank-title svg { color: #F59E0B; }
.fp-rank-item { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; border-bottom: 1px solid #F1F5F9; text-decoration: none; color: inherit; transition: all .3s ease; }
.fp-rank-item:last-child { border-bottom: none; }
.fp-rank-item:hover .fp-rank-text { color: #2563EB; }
.fp-rank-num { width: 24px; height: 24px; border-radius: 6px; background: #F1F5F9; color: #64748B; font-size: .75rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fp-rank-num.rank-top-1 { background: #FEE2E2; color: #DC2626; }
.fp-rank-num.rank-top-2 { background: #FFEDD5; color: #EA580C; }
.fp-rank-num.rank-top-3 { background: #FEF3C7; color: #B45309; }
.fp-rank-text { font-size: .8125rem; font-weight: 500; color: #334155; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .3s; }
.fp-news-empty { text-align: center; padding: 40px 20px; color: #94A3B8; font-size: .875rem; }

/* ===== 高考/中考专区入口 ===== */
.fp-zone-inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: center; }
.fp-zone-badge { display: inline-block; background: #2563EB; color: #fff; font-size: .75rem; font-weight: 600; padding: 4px 14px; border-radius: 9999px; margin-bottom: 16px; }
.fp-zone-badge.green { background: #16A34A; }
.fp-zone-title { font-size: 2rem; font-weight: 800; color: #1E293B; letter-spacing: -.02em; margin-bottom: 16px; line-height: 1.2; }
.fp-zone-title span { display: block; color: #2563EB; }
.fp-zone-inner .fp-zone-badge.green ~ .fp-zone-title span { color: #16A34A; }
.fp-zone-desc { font-size: 1rem; color: #475569; line-height: 1.7; margin-bottom: 24px; }
.fp-zone-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 32px; }
.fp-zone-tag { font-size: .75rem; font-weight: 600; padding: 4px 12px; border-radius: 9999px; background: rgba(37,99,235,0.1); color: #2563EB; }
.fp-zone-tag.green { background: rgba(22,163,74,0.1); color: #16A34A; }
.fp-zone-visual { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.fp-zone-stat { background: #fff; border-radius: 16px; padding: 24px 16px; text-align: center; box-shadow: 0 4px 12px rgba(0,0,0,0.04); }
.fp-zone-stat-num { font-size: 1.75rem; font-weight: 800; color: #2563EB; line-height: 1; }
.fp-zone-stat-num span { font-size: .875rem; font-weight: 600; color: #475569; }
.fp-zone-stat-label { font-size: .75rem; color: #64748B; margin-top: 6px; }

/* ===== 招生政策 ===== */
.fp-policy-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.fp-policy-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 28px; transition: all .3s cubic-bezier(.4,0,.2,1); }
.fp-policy-card:hover { border-color: #93C5FD; box-shadow: 0 10px 20px -5px rgba(0,0,0,0.08); transform: translateY(-4px); }
.fp-policy-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.fp-policy-icon.blue { background: #DBEAFE; color: #2563EB; }
.fp-policy-icon.green { background: #DCFCE7; color: #16A34A; }
.fp-policy-icon.orange { background: #FFEDD5; color: #EA580C; }
.fp-policy-icon.purple { background: #EDE9FE; color: #7C3AED; }
.fp-policy-card h4 { font-size: 1rem; font-weight: 700; color: #1E293B; margin-bottom: 8px; }
.fp-policy-card p { font-size: .8125rem; color: #64748B; line-height: 1.6; margin-bottom: 12px; }
.fp-policy-link { font-size: .8125rem; font-weight: 600; color: #2563EB; text-decoration: none; }
.fp-policy-link:hover { color: #1D4ED8; }

/* ===== 为什么选择毅霖 ===== */
.fp-why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.fp-why-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 32px 28px; text-align: center; position: relative; transition: all .3s cubic-bezier(.4,0,.2,1); }
.fp-why-card:hover { border-color: #93C5FD; box-shadow: 0 10px 30px -5px rgba(0,0,0,0.08); transform: translateY(-6px); }
.fp-why-icon { width: 64px; height: 64px; border-radius: 16px; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }
.fp-why-icon.blue { background: #DBEAFE; color: #2563EB; }
.fp-why-icon.green { background: #DCFCE7; color: #16A34A; }
.fp-why-icon.purple { background: #EDE9FE; color: #7C3AED; }
.fp-why-icon.orange { background: #FFEDD5; color: #EA580C; }
.fp-why-num { position: absolute; top: 16px; right: 20px; font-size: 2.5rem; font-weight: 800; color: #F1F5F9; line-height: 1; }
.fp-why-card h4 { font-size: 1.0625rem; font-weight: 700; color: #1E293B; margin-bottom: 8px; position: relative; z-index: 1; }
.fp-why-card p { font-size: .8125rem; color: #64748B; line-height: 1.7; position: relative; z-index: 1; }

/* ===== 服务流程 ===== */
.fp-process-wrap { position: relative; }
.fp-process-line { position: absolute; top: 36px; left: 8.33%; right: 8.33%; height: 2px; background: linear-gradient(90deg, #DBEAFE, #60A5FA, #DBEAFE); z-index: 0; }
.fp-process-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; position: relative; z-index: 1; }
.fp-process-step { text-align: center; }
.fp-process-icon { width: 72px; height: 72px; background: #fff; border: 2px solid #DBEAFE; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #2563EB; margin: 0 auto 16px; position: relative; transition: all .3s cubic-bezier(.4,0,.2,1); }
.fp-process-step:hover .fp-process-icon { border-color: #2563EB; background: #2563EB; color: #fff; box-shadow: 0 8px 20px rgba(37,99,235,0.25); transform: translateY(-4px); }
.fp-process-num { position: absolute; top: -4px; right: -4px; width: 24px; height: 24px; background: #2563EB; color: #fff; border-radius: 50%; font-size: .75rem; font-weight: 700; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; }
.fp-process-step h4 { font-size: .9375rem; font-weight: 700; color: #1E293B; margin-bottom: 4px; }
.fp-process-step p { font-size: .75rem; color: #64748B; line-height: 1.5; }

/* ===== CTA ===== */
.fp-cta { position: relative; padding: 80px 0; background: linear-gradient(135deg, #1E3A8A 0%, #2563EB 50%, #3B82F6 100%); overflow: hidden; }
.fp-cta-bg { position: absolute; inset: 0; pointer-events: none; }
.fp-cta-orb { position: absolute; border-radius: 50%; filter: blur(60px); }
.fp-cta-orb-1 { width: 400px; height: 400px; background: rgba(255,255,255,0.08); top: -100px; right: 10%; }
.fp-cta-orb-2 { width: 300px; height: 300px; background: rgba(59,130,246,0.15); bottom: -50px; left: 5%; }
.fp-cta-inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; align-items: center; position: relative; z-index: 1; }
.fp-cta-left h2 { font-size: 2.25rem; font-weight: 800; color: #fff; margin-bottom: 12px; letter-spacing: -.02em; }
.fp-cta-left p { font-size: 1.0625rem; color: rgba(255,255,255,0.85); margin-bottom: 32px; }
.fp-cta-btns { display: flex; gap: 12px; }
.btn-white { background: #fff; color: #2563EB; }
.btn-white:hover { background: #F1F5F9; transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0,0,0,0.2); color: #2563EB; }
.btn-outline-white { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.4); }
.btn-outline-white:hover { background: rgba(255,255,255,0.1); border-color: #fff; color: #fff; }
.fp-cta-right { display: flex; justify-content: center; }
.fp-cta-card { background: rgba(255,255,255,0.15); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,0.25); border-radius: 24px; padding: 40px 32px; text-align: center; max-width: 320px; }
.fp-cta-card-icon { width: 72px; height: 72px; border-radius: 50%; background: rgba(255,255,255,0.2); color: #fff; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }
.fp-cta-card h3 { font-size: 1.25rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.fp-cta-card p { font-size: .875rem; color: rgba(255,255,255,0.8); line-height: 1.6; margin-bottom: 20px; }
.fp-cta-phone { display: inline-flex; align-items: center; gap: 8px; font-size: 1.125rem; font-weight: 800; color: #fff; }

/* ===== 首页响应式 ===== */
@media (max-width: 1024px) {
    .fp-hero-inner { grid-template-columns: 1fr; }
    .fp-hero-right { display: none; }
    .fp-hero-title { font-size: 2.5rem; }
    .fp-quick-grid { grid-template-columns: repeat(2, 1fr); }
    .fp-schools-scroll { grid-template-columns: repeat(3, 1fr); }
    .fp-majors-grid { grid-template-columns: repeat(2, 1fr); }
    .fp-news-layout { grid-template-columns: 1fr; }
    .fp-news-side { display: none; }
    .fp-zone-inner { grid-template-columns: 1fr; }
    .fp-zone-visual { grid-template-columns: repeat(3, 1fr); }
    .fp-policy-grid { grid-template-columns: repeat(2, 1fr); }
    .fp-why-grid { grid-template-columns: repeat(2, 1fr); }
    .fp-process-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .fp-process-line { display: none; }
    .fp-cta-inner { grid-template-columns: 1fr; text-align: center; }
    .fp-cta-btns { justify-content: center; }
}
@media (max-width: 768px) {
    .fp-hero { min-height: auto; padding: 40px 0 60px; }
    .fp-hero-title { font-size: 2rem; }
    .fp-hero-points { flex-direction: column; gap: 12px; }
    .fp-hero-cta { flex-direction: column; width: 100%; }
    .fp-hero-cta .btn { width: 100%; }
    .fp-hero-stats { gap: 16px; }
    .fp-stat-num { font-size: 1.5rem; }
    .fp-quick-grid { grid-template-columns: 1fr 1fr; }
    .fp-section { padding: 56px 0; }
    .fp-section-title { font-size: 1.5rem; }
    .fp-section-head { flex-direction: column; align-items: flex-start; gap: 8px; }
    .fp-schools-scroll { grid-template-columns: 1fr; }
    .fp-majors-grid { grid-template-columns: 1fr; }
    .fp-policy-grid { grid-template-columns: 1fr; }
    .fp-why-grid { grid-template-columns: 1fr; }
    .fp-process-grid { grid-template-columns: 1fr 1fr; }
    .fp-cta-left h2 { font-size: 1.5rem; }
    .fp-cta-btns { flex-direction: column; width: 100%; }
    .fp-cta-btns .btn { width: 100%; }
    .fp-news-item { flex-direction: column; }
    .fp-news-cover { width: 100%; min-height: 80px; }
}