*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior:smooth; }

body {
    font-family:'PingFang SC','Microsoft YaHei',system-ui,sans-serif;
    overflow-x:hidden;
    background:#F5F0E7;
    color:#2A3441;
    line-height:1.75;
    font-size:16px;
}

h1,h2,h3,h4,h5,h6 {
    font-family:'Songti SC','SimSun','Noto Serif SC',serif;
    font-weight:900;
    line-height:1.25;
    color:#2A3441;
}

::selection {
    background:#D6402A;
    color:#F5F0E7;
}

a { color:inherit; }

.container { max-width:1200px; margin:0 auto; padding:0 24px; }

.section { padding:96px 0; position:relative; }
.section:nth-child(even) { background:#FCF9F3; }

/* ---------- 导航 ---------- */
.site-header {
    position:fixed;
    top:0; left:0;
    width:100%;
    z-index:1000;
    background:rgba(245,240,231,0.92);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-bottom:2px solid #D6402A;
    box-shadow:0 2px 12px rgba(42,52,65,0.05);
}

.header-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:72px;
    max-width:1200px;
    margin:0 auto;
    padding:0 24px;
}

.logo {
    display:flex;
    align-items:center;
    gap:12px;
    font-weight:900;
    font-size:1.35rem;
    text-decoration:none;
    color:#2A3441;
    font-family:'Songti SC','SimSun',serif;
    letter-spacing:2px;
}

.logo-icon {
    width:38px;
    height:38px;
    background:#D6402A;
    color:#F5F0E7;
    border-radius:2px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.1rem;
    font-weight:900;
    box-shadow:3px 3px 0 #2A3441;
    font-family:'Songti SC',serif;
    line-height:1;
}

.main-nav {
    display:flex;
    align-items:center;
    gap:28px;
    list-style:none;
}

.main-nav a {
    text-decoration:none;
    font-size:0.88rem;
    font-weight:500;
    color:#2A3441;
    transition:color 0.2s;
    position:relative;
    padding:4px 0;
    letter-spacing:0.5px;
}

.main-nav a:hover { color:#D6402A; }

.main-nav a::after {
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:0;
    height:2px;
    background:#D6402A;
    transition:width 0.25s ease;
}

.main-nav a:hover::after { width:100%; }

.nav-cta {
    padding:8px 22px;
    border-radius:2px;
    color:#F5F0E7 !important;
    font-weight:700;
    background:#D6402A;
    border:1.5px solid #D6402A;
    transition:all 0.25s ease;
}

.nav-cta:hover {
    background:transparent;
    color:#D6402A !important;
}

.nav-cta::after { display:none; }

.menu-toggle {
    display:none;
    width:40px;
    height:40px;
    border:1px solid #D6CCBA;
    background:transparent;
    border-radius:2px;
    cursor:pointer;
    position:relative;
    padding:0;
    transition:border-color 0.2s;
}

.menu-toggle:hover { border-color:#D6402A; }

.menu-toggle::before {
    content:'';
    position:absolute;
    left:10px;
    right:10px;
    top:14px;
    height:2px;
    background:#2A3441;
    box-shadow:0 -6px 0 #2A3441, 0 6px 0 #2A3441;
    transition:background 0.2s;
}

/* ---------- Hero ---------- */
.hero {
    min-height:80vh;
    display:flex;
    align-items:center;
    gap:56px;
    position:relative;
    padding:140px 0 90px;
    background:
        linear-gradient(rgba(245,240,231,0.88), rgba(245,240,231,0.88)),
        repeating-linear-gradient(45deg, #D6CCBA 0px, #D6CCBA 1px, transparent 1px, transparent 10px);
}

.hero::before {
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
    background:repeating-linear-gradient(90deg, #D6402A 0px, #D6402A 12px, transparent 12px, transparent 24px);
}

.hero::after {
    content:'爆';
    position:absolute;
    right:4%;
    top:50%;
    transform:translateY(-50%);
    font-family:'Songti SC',serif;
    font-size:17rem;
    font-weight:900;
    color:rgba(214,64,42,0.04);
    pointer-events:none;
    z-index:0;
    line-height:1;
    letter-spacing:0;
}

.hero-content {
    flex:1.2;
    max-width:680px;
    position:relative;
    z-index:1;
}

.hero-eyebrow {
    display:inline-block;
    font-size:0.78rem;
    font-weight:700;
    padding:5px 18px;
    background:#2A3441;
    color:#F5F0E7;
    border-radius:2px;
    letter-spacing:4px;
    margin-bottom:22px;
    text-transform:uppercase;
    position:relative;
}

.hero h1 {
    font-size:3.6rem;
    line-height:1.15;
    margin-bottom:20px;
    font-weight:900;
    letter-spacing:3px;
    color:#2A3441;
}

.hero p {
    font-size:1.05rem;
    opacity:0.68;
    max-width:560px;
    margin-bottom:34px;
    line-height:1.8;
}

.hero-buttons {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.hero-image {
    flex:0.8;
    border-radius:2px;
    overflow:hidden;
    border:1px solid #D6CCBA;
    box-shadow:8px 8px 0 rgba(214,64,42,0.18);
    transform:rotate(1deg);
    position:relative;
    background:#FCF9F3;
    min-height:320px;
}

.hero-image::after {
    content:'图/001';
    position:absolute;
    top:8px;
    left:8px;
    padding:2px 10px;
    background:#D6402A;
    color:#F5F0E7;
    font-size:0.7rem;
    font-weight:700;
    letter-spacing:1px;
    z-index:1;
    border-radius:0 2px 2px 0;
}

.hero-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:grayscale(0.15) contrast(1.05);
}

/* ---------- 按钮 ---------- */
.btn {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 30px;
    border-radius:2px;
    font-weight:700;
    cursor:pointer;
    border:none;
    text-decoration:none;
    transition:all 0.25s ease;
    font-size:0.9rem;
    letter-spacing:1px;
    font-family:'PingFang SC','Microsoft YaHei',sans-serif;
}

.btn-primary {
    background:#D6402A;
    color:#F5F0E7;
    border:2px solid #D6402A;
}

.btn-primary:hover {
    background:transparent;
    color:#D6402A;
    transform:translateY(-2px);
    box-shadow:4px 4px 0 rgba(214,64,42,0.2);
}

.btn-outline {
    background:transparent;
    border:2px solid #2A3441;
    color:#2A3441;
}

.btn-outline:hover {
    border-color:#D6402A;
    color:#D6402A;
    transform:translateY(-2px);
    box-shadow:4px 4px 0 rgba(214,64,42,0.1);
}

/* ---------- 标签 / 标题 ---------- */
.section-label {
    display:inline-block;
    font-size:0.75rem;
    font-weight:700;
    letter-spacing:4px;
    margin-bottom:14px;
    color:#D6402A;
    background:rgba(214,64,42,0.08);
    padding:4px 14px;
    border-radius:2px;
    text-transform:uppercase;
}

.section-title {
    font-size:2.4rem;
    font-weight:900;
    margin-bottom:16px;
    position:relative;
    display:inline-block;
    letter-spacing:1px;
}

.section-title::after {
    content:'';
    position:absolute;
    bottom:-4px;
    left:0;
    width:52px;
    height:4px;
    background:#D6402A;
}

.section-desc {
    max-width:600px;
    opacity:0.68;
    margin-bottom:42px;
    font-size:1rem;
    line-height:1.8;
}

/* ---------- 卡片网格 ---------- */
.cards-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
    gap:24px;
}

.category-card {
    background:#FCF9F3;
    border-radius:2px;
    padding:36px 28px 28px;
    border:1px solid #D6CCBA;
    transition:all 0.25s ease;
    position:relative;
    cursor:pointer;
}

.category-card::before {
    content:'档案 01';
    position:absolute;
    top:-1px;
    left:-1px;
    padding:4px 14px;
    background:#2A3441;
    color:#F5F0E7;
    font-size:0.7rem;
    font-weight:700;
    letter-spacing:1px;
    border-radius:0 0 4px 0;
    font-family:'PingFang SC',sans-serif;
}

.category-card:nth-child(2)::before { content:'档案 02'; }
.category-card:nth-child(3)::before { content:'档案 03'; }
.category-card:nth-child(4)::before { content:'档案 04'; }
.category-card:nth-child(5)::before { content:'档案 05'; }
.category-card:nth-child(6)::before { content:'档案 06'; }

.category-card:hover {
    transform:translateY(-4px);
    box-shadow:7px 7px 0 rgba(214,64,42,0.14);
    border-color:#D6402A;
}

.card-icon {
    width:50px;
    height:50px;
    border:2px solid #2A3441;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    font-size:1.3rem;
    background:#F5F0E7;
    color:#D6402A;
    transition:all 0.25s ease;
}

.category-card:hover .card-icon {
    background:#D6402A;
    color:#F5F0E7;
    border-color:#D6402A;
}

.card-link {
    font-weight:700;
    font-size:0.85rem;
    text-decoration:none;
    color:#D6402A;
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:10px;
    transition:letter-spacing 0.2s;
}

.card-link:hover { letter-spacing:1.5px; }

/* ---------- 特性块 ---------- */
.feature-block {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
}

.feature-image {
    border-radius:2px;
    overflow:hidden;
    background:#FCF9F3;
    border:1px solid #D6CCBA;
    padding:12px;
    box-shadow:7px 7px 0 #E8B849;
    transform:rotate(-1.2deg);
    position:relative;
}

.feature-image::after {
    content:'图/档案';
    position:absolute;
    bottom:-1px;
    right:12px;
    padding:2px 10px;
    background:#E8B849;
    color:#2A3441;
    font-size:0.7rem;
    font-weight:700;
    letter-spacing:1px;
}

.feature-image img {
    width:100%;
    height:auto;
    display:block;
    filter:grayscale(0.2) contrast(1.05);
}

.feature-text { padding:0; }

.feature-text h3 {
    font-size:1.5rem;
    margin-bottom:12px;
    font-weight:900;
}

.feature-text > p {
    opacity:0.68;
    margin-bottom:20px;
    line-height:1.8;
}

.feature-list {
    list-style:none;
}

.feature-list li {
    padding:9px 0;
    display:flex;
    align-items:center;
    gap:12px;
    border-bottom:1px dashed #D6CCBA;
    font-size:0.95rem;
}

.feature-list li:last-child { border-bottom:none; }

.feature-list li::before {
    content:'';
    width:8px;
    height:8px;
    background:#D6402A;
    flex-shrink:0;
    transform:rotate(45deg);
}

/* ---------- 数据条 ---------- */
.stats-bar {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    text-align:center;
}

.stat-item {
    padding:32px 16px;
    border-radius:2px;
    border:1px solid #D6CCBA;
    background:#FCF9F3;
    position:relative;
    transition:all 0.25s ease;
}

.stat-item:hover {
    border-color:#D6402A;
    background:#fff;
    transform:translateY(-3px);
    box-shadow:5px 5px 0 rgba(214,64,42,0.12);
}

.stat-item::after {
    content:'';
    position:absolute;
    bottom:-1px;
    left:50%;
    transform:translateX(-50%);
    width:36px;
    height:3px;
    background:#D6402A;
}

.stat-number {
    font-size:2.6rem;
    font-weight:900;
    font-family:'Songti SC',serif;
    color:#D6402A;
    line-height:1.2;
}

.stat-label {
    font-size:0.85rem;
    opacity:0.6;
    margin-top:8px;
    letter-spacing:2px;
}

/* ---------- 内容墙 ---------- */
.content-wall {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:24px;
}

.content-wall-item {
    border-radius:2px;
    overflow:hidden;
    border:1px solid #D6CCBA;
    transition:all 0.25s ease;
    background:#FCF9F3;
}

.content-wall-item:hover {
    transform:translateY(-4px);
    box-shadow:7px 7px 0 rgba(42,52,65,0.08);
}

.content-wall-item img {
    width:100%;
    height:200px;
    object-fit:cover;
    display:block;
    border-bottom:3px solid #D6402A;
    transition:transform 0.4s ease;
}

.content-wall-item:hover img { transform:scale(1.03); }

.content-wall-body { padding:22px; }

.content-wall-body h3 {
    font-size:1.05rem;
    margin-bottom:8px;
    font-family:'PingFang SC','Microsoft YaHei',sans-serif;
    font-weight:700;
    color:#2A3441;
}

.content-wall-body p {
    font-size:0.85rem;
    opacity:0.6;
    line-height:1.6;
}

/* ---------- FAQ ---------- */
.faq-list {
    max-width:800px;
    margin:0 auto;
}

.faq-item {
    background:#FCF9F3;
    border:1px solid #D6CCBA;
    border-radius:2px;
    margin-bottom:10px;
    cursor:pointer;
    transition:all 0.25s ease;
}

.faq-item.open {
    border-color:#D6402A;
    box-shadow:5px 5px 0 rgba(214,64,42,0.1);
}

.faq-item .faq-question {
    padding:18px 22px;
    font-weight:700;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:0.95rem;
    color:#2A3441;
}

.faq-item .faq-question::after {
    content:'+';
    font-size:1.5rem;
    color:#D6402A;
    transition:transform 0.25s ease;
    font-weight:400;
    line-height:1;
}

.faq-item.open .faq-question::after {
    transform:rotate(45deg);
}

.faq-item .faq-answer {
    padding:0 22px 18px;
    display:none;
    opacity:0.7;
    font-size:0.9rem;
    border-top:1px dashed #D6CCBA;
    padding-top:14px;
    line-height:1.7;
}

.faq-item.open .faq-answer { display:block; }

/* ---------- CTA 横幅 ---------- */
.cta-banner {
    background:#D6402A;
    padding:64px 24px;
    text-align:center;
    border-radius:2px;
    position:relative;
    overflow:hidden;
}

.cta-banner::before {
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:6px;
    background:repeating-linear-gradient(90deg, #F5F0E7 0px, #F5F0E7 12px, transparent 12px, transparent 24px);
}

.cta-banner::after {
    content:'';
    position:absolute;
    bottom:-50px;
    right:-50px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:rgba(245,240,231,0.06);
    pointer-events:none;
}

.cta-banner h2 {
    color:#F5F0E7;
    font-size:2.2rem;
    margin-bottom:10px;
    position:relative;
    z-index:1;
}

.cta-banner p {
    color:rgba(245,240,231,0.85);
    margin-bottom:28px;
    font-size:0.95rem;
    max-width:600px;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    z-index:1;
}

.cta-banner .btn-primary {
    background:#F5F0E7;
    color:#D6402A;
    border-color:#F5F0E7;
    position:relative;
    z-index:1;
}

.cta-banner .btn-primary:hover {
    background:transparent;
    color:#F5F0E7;
    box-shadow:none;
}

/* ---------- 页脚 ---------- */
.site-footer {
    padding:64px 0 28px;
    background:#E8E1D3;
    border-top:2px solid #D6402A;
    margin-top:96px;
}

.site-footer .container { }

.footer-grid {
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:48px;
    margin-bottom:48px;
}

.footer-brand p {
    opacity:0.68;
    font-size:0.9rem;
    margin-top:12px;
    max-width:280px;
    line-height:1.7;
}

.footer-col h4 {
    font-size:0.85rem;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:16px;
    color:#2A3441;
    text-transform:uppercase;
}

.footer-col a {
    display:block;
    padding:5px 0;
    text-decoration:none;
    color:rgba(42,52,65,0.68);
    font-size:0.88rem;
    transition:all 0.2s ease;
}

.footer-col a:hover {
    color:#D6402A;
    padding-left:6px;
}

.footer-bottom {
    border-top:1px solid rgba(42,52,65,0.15);
    margin-top:40px;
    padding-top:20px;
    text-align:center;
    font-size:0.8rem;
    opacity:0.55;
    letter-spacing:0.5px;
}

/* ---------- 工具类 ---------- */
.text-accent { color:#D6402A; }

.text-center { text-align:center; }

.seo-description {
    max-width:600px;
    margin:0 auto 48px;
    opacity:0.68;
    text-align:center;
    line-height:1.8;
}

.mt-0 { margin-top:0; }
.mb-0 { margin-bottom:0; }

/* ---------- 响应式 ---------- */
@media (max-width: 992px) {
    .hero { gap:32px; }
    .hero h1 { font-size:2.8rem; }
    .hero::after { font-size:10rem; right:2%; }
}

@media (max-width: 768px) {
    .section { padding:72px 0; }
    
    .feature-block {
        grid-template-columns:1fr;
        gap:40px;
    }

    .stats-bar { grid-template-columns:repeat(2,1fr); }

    .footer-grid { grid-template-columns:1fr 1fr; }

    .main-nav {
        display:none;
    }

    .menu-toggle {
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .main-nav.open {
        display:flex;
        flex-direction:column;
        position:absolute;
        top:72px;
        left:0;
        width:100%;
        background:#F5F0E7;
        padding:24px;
        border-bottom:2px solid #D6402A;
        align-items:flex-start;
        gap:18px;
        box-shadow:0 8px 24px rgba(42,52,65,0.1);
    }

    .main-nav.open a { font-size:1rem; padding:4px 0; }

    .main-nav.open .nav-cta { width:auto; }

    .hero {
        flex-direction:column;
        padding-top:110px;
        padding-bottom:60px;
        gap:36px;
    }

    .hero-content { max-width:100%; }

    .hero-image { 
        width:100%; 
        margin-left:0;
        min-height:0;
        transform:rotate(0);
        box-shadow:5px 5px 0 rgba(214,64,42,0.15);
    }

    .hero-image img { height:240px; }

    .hero h1 { font-size:2.2rem; }

    .hero::after { 
        font-size:7rem; 
        top:auto;
        bottom:30%;
        right:3%;
    }

    .section-title { font-size:1.9rem; }

    .cta-banner { padding:48px 20px; }
    .cta-banner h2 { font-size:1.7rem; }
}

@media (max-width: 480px) {
    .section { padding:56px 0; }

    .cards-grid,
    .content-wall,
    .stats-bar { grid-template-columns:1fr; }

    .footer-grid { grid-template-columns:1fr; }

    .hero-buttons {
        flex-direction:column;
        width:100%;
    }

    .hero-buttons .btn {
        width:100%;
        justify-content:center;
    }

    .hero h1 { font-size:1.8rem; letter-spacing:1px; }

    .section-title { font-size:1.5rem; }

    .stats-bar { gap:12px; }

    .stat-number { font-size:2rem; }

    .stat-item { padding:20px 12px; }

    .category-card { padding:30px 20px 22px; }

    .faq-item .faq-question { padding:14px 16px; font-size:0.88rem; }

    .faq-item .faq-answer { padding:0 16px 16px; }

    .footer-grid { gap:32px; }

    .footer-brand p { max-width:100%; }

    .logo { font-size:1.1rem; }

    .header-inner { padding:0 16px; }
}