:root {
            /* Palette: Copper-Forge */
            --bg: #140d08;
            --surface: #241710;
            --surface-light: #332117;
            --accent: #e8965a;
            --accent-hover: #f0a875;
            --accent2: #f5c542;
            --text: #fef8f0;
            --muted: #b89878;
            --border: #4a3020;

            /* Typography */
            --font-display: 'Oswald', sans-serif;
            --font-body: 'Fira Sans', sans-serif;

            /* Layout */
            --container-w: 1200px;
            --radius-sm: 2px; /* Sharp, forged look */
            --radius-md: 4px;
        }

        /* Reset & Base */
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body {
            font-family: var(--font-body);
            background-color: var(--bg);
            color: var(--text);
            line-height: 1.6;
            font-size: 16px;
            -webkit-font-smoothing: antialiased;
        }
        a { color: var(--accent); text-decoration: none; transition: color 0.2s ease; }
        a:hover { color: var(--accent-hover); }
        h1, h2, h3, h4 { font-family: var(--font-display); line-height: 1.2; text-transform: uppercase; letter-spacing: 0.5px; }
        .container { max-width: var(--container-w); margin: 0 auto; padding: 0 1.5rem; }

        /* Buttons (Global) */
        .btn {
            display: inline-flex; align-items: center; justify-content: center;
            padding: 0.5rem 1.25rem; font-family: var(--font-display);
            text-transform: uppercase; letter-spacing: 1px; font-weight: 500;
            border-radius: var(--radius-sm); cursor: pointer; transition: all 0.3s ease;
            text-align: center; min-height: 44px;
        }
        .btn-primary { background-color: var(--accent); color: #000 !important; border: 1px solid var(--accent); }
        .btn-primary:hover { background-color: var(--accent-hover); border-color: var(--accent-hover); box-shadow: 0 0 15px rgba(232, 150, 90, 0.4); }
        .btn-secondary { background-color: transparent; color: var(--accent) !important; border: 1px solid var(--accent); }
        .btn-secondary:hover { background-color: var(--accent); color: #000 !important; }

        /* Header (Verbatim Support) */
        header { background-color: var(--surface); border-bottom: 2px solid var(--border); position: sticky; top: 0; z-index: 100; }
        .header-inner { display: flex; align-items: center; min-height: 70px; }
        .brand { font-family: var(--font-display); font-size: 1.75rem; font-weight: 700; color: var(--accent2) !important; letter-spacing: 1px; text-transform: uppercase; }
        .nav-links { display: none; margin-left: 2rem; gap: 1.5rem; }
        .nav-links a { color: var(--text); font-weight: 500; font-size: 0.9375rem; }
        .nav-links a:hover { color: var(--accent); }
        .mobile-menu-btn { background: none; border: none; color: var(--text); font-size: 1.75rem; cursor: pointer; margin-left: auto; display: block; padding: 0.5rem; }
        .mobile-nav { display: none; flex-direction: column; background-color: var(--surface-light); border-bottom: 1px solid var(--border); padding: 1rem 1.5rem; }
        .mobile-nav a { padding: 0.75rem 0; color: var(--text); font-weight: 500; border-bottom: 1px solid rgba(255,255,255,0.05); }
        .mobile-nav a:last-child { border-bottom: none; }

        @media (min-width: 1024px) {
            .nav-links { display: flex; align-items: center; }
            .mobile-menu-btn { display: none; }
            .mobile-nav { display: none !important; }
        }

        /* Hero / Forge Banner */
        .hero-forge {
            position: relative;
            padding: 4rem 0 3rem;
            background: radial-gradient(circle at 50% 0%, #3a2214 0%, var(--bg) 70%);
            border-bottom: 1px solid var(--border);
        }
        .breadcrumb {
            font-size: 0.875rem; color: var(--muted); margin-bottom: 1.5rem;
            font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.5px;
        }
        .hero-forge h1 {
            font-size: clamp(2rem, 5vw, 3.5rem); color: var(--text); margin-bottom: 1rem;
            text-shadow: 0 2px 10px rgba(0,0,0,0.5);
        }
        .meta-chips { display: flex; gap: 0.75rem; margin-bottom: 2rem; flex-wrap: wrap; }
        .chip {
            display: inline-flex; align-items: center; padding: 0.25rem 0.75rem;
            background-color: var(--surface); border: 1px solid var(--border);
            font-size: 0.75rem; color: var(--muted); font-family: var(--font-display);
            text-transform: uppercase; letter-spacing: 1px;
        }
        .chip::before {
            content: ''; display: inline-block; width: 6px; height: 6px;
            background-color: var(--accent); margin-right: 6px; transform: rotate(45deg);
        }
        .intro-block {
            background: linear-gradient(90deg, rgba(36,23,16,0.8) 0%, rgba(36,23,16,0) 100%);
            border-left: 4px solid var(--accent2);
            padding: 1.5rem 2rem; max-width: 900px;
            font-size: 1.125rem; color: #e0d5c1; font-weight: 400;
        }

        /* Main Content Layout */
        .content-area { padding: 4rem 0; display: grid; gap: 3rem; }

        /* Forge Cards (Content Sections) */
        .forge-card {
            background-color: var(--surface);
            border: 1px solid var(--border);
            padding: 2.5rem;
            position: relative;
        }
        .forge-card::before {
            content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px;
            background: linear-gradient(90deg, var(--accent) 0%, transparent 50%);
        }
        .forge-card h2 { font-size: 1.75rem; color: var(--accent2); margin-bottom: 1.25rem; display: flex; align-items: center; gap: 0.75rem; }
        .forge-card h2::before { content: '■'; color: var(--accent); font-size: 1rem; }
        .forge-card p { margin-bottom: 1.25rem; color: #d4c8b8; }
        .forge-card p:last-child { margin-bottom: 0; }
        .forge-card a { text-decoration: underline; text-decoration-color: rgba(232, 150, 90, 0.4); text-underline-offset: 3px; }
        .forge-card a:hover { text-decoration-color: var(--accent); }

        /* Spark List */
        .spark-list { list-style: none; margin: 1.5rem 0; padding-left: 0.5rem; }
        .spark-list li { position: relative; padding-left: 1.75rem; margin-bottom: 0.75rem; color: #d4c8b8; }
        .spark-list li::before {
            content: '✦'; position: absolute; left: 0; top: 2px;
            color: var(--accent); font-size: 1.1rem; line-height: 1;
        }

        /* FAQ Section */
        .faq-section { margin-top: 2rem; }
        .faq-section h2 { font-size: 2rem; margin-bottom: 1.5rem; text-align: center; color: var(--text); }
        .faq-section h2::after { content: ''; display: block; width: 60px; height: 3px; background-color: var(--accent); margin: 1rem auto 0; }
        details {
            background-color: var(--surface); border: 1px solid var(--border);
            margin-bottom: 1rem; transition: all 0.3s ease;
        }
        summary {
            padding: 1.25rem 1.5rem; font-family: var(--font-display); font-size: 1.125rem;
            text-transform: uppercase; cursor: pointer; display: flex; justify-content: space-between;
            align-items: center; list-style: none;
        }
        summary::-webkit-details-marker { display: none; }
        summary::after {
            content: '+'; color: var(--accent); font-size: 1.5rem; font-weight: 700;
            transition: transform 0.3s ease;
        }
        details[open] { border-color: var(--accent); box-shadow: 0 4px 20px rgba(0,0,0,0.3); }
        details[open] summary::after { transform: rotate(45deg); }
        details p { padding: 0 1.5rem 1.5rem; color: var(--muted); border-top: 1px solid rgba(255,255,255,0.05); margin-top: 1rem; padding-top: 1rem; }

        /* Related Navigation */
        .nav-forge-block { background-color: #1a110a; border: 1px dashed var(--border); padding: 2.5rem; margin-top: 2rem; text-align: center; }
        .nav-forge-block h3 { color: var(--accent2); margin-bottom: 1.5rem; font-size: 1.5rem; }
        .link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
        .link-grid a {
            display: block; padding: 1rem; background-color: var(--surface);
            border: 1px solid var(--border); color: var(--text);
            font-family: var(--font-display); text-transform: uppercase; font-size: 0.9375rem;
            transition: all 0.2s;
        }
        .link-grid a:hover { background-color: var(--surface-light); border-color: var(--accent); color: var(--accent); transform: translateY(-2px); }

        /* CTA Section */
        .cta-forge {
            background: linear-gradient(135deg, var(--surface) 0%, #3a1e0b 100%);
            border-top: 2px solid var(--accent); border-bottom: 2px solid var(--accent);
            padding: 4rem 0; text-align: center; margin-top: 4rem;
        }
        .cta-forge h2 { font-size: 2.5rem; color: var(--text); margin-bottom: 1rem; }
        .cta-forge p { color: #e0d5c1; font-size: 1.125rem; max-width: 600px; margin: 0 auto 2rem; }
        .cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
        .cta-buttons .btn { min-width: 160px; font-size: 1rem; padding: 0.75rem 2rem; }

        /* Footer (Verbatim Support) */
        footer { background-color: #0d0805; padding: 4rem 0 2rem; border-top: 1px solid var(--border); }
        .footer-brand { font-family: var(--font-display); font-size: 2rem; font-weight: 700; color: var(--accent2); text-transform: uppercase; margin-bottom: 1rem; }
        .footer-tagline { color: var(--muted); margin-bottom: 2rem; max-width: 400px; }
        .footer-links { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; margin-bottom: 3rem; }
        .footer-links a { color: #a08c7a; font-size: 0.875rem; }
        .footer-links a:hover { color: var(--accent); }
        .copyright { border-top: 1px solid var(--border); padding-top: 1.5rem; color: #665544; font-size: 0.875rem; text-align: center; }

        /* Responsive */
        @media (max-width: 768px) {
            .hero-forge { padding: 3rem 0 2rem; }
            .hero-forge h1 { font-size: 2.25rem; }
            .intro-block { padding: 1.25rem; font-size: 1rem; }
            .content-area { padding: 2.5rem 0; gap: 2rem; }
            .forge-card { padding: 1.5rem; }
            .forge-card h2 { font-size: 1.5rem; }
            .nav-forge-block { padding: 1.5rem; }
            .cta-forge { padding: 3rem 0; }
            .cta-forge h2 { font-size: 2rem; }
        }
        @media (max-width: 390px) {
            .meta-chips { flex-direction: column; gap: 0.5rem; }
            .chip { width: max-content; }
            .cta-buttons { flex-direction: column; width: 100%; }
            .cta-buttons .btn { width: 100%; }
        }


/* pipeline image & layout guards */
html, body { overflow-x: clip; }
img { max-width: 100%; height: auto; }
img.site-logo { height: 40px; width: auto; max-width: 240px; object-fit: contain; flex: none; }
header .logo a { display: inline-flex; align-items: center; flex: none; text-decoration: none; }
img.hero-visual { width: 100%; max-width: 560px; height: auto; object-fit: cover; border-radius: 16px; display: block; margin-inline: auto; }
img[class^="strip-"], img[class*=" strip-"] { width: 100%; height: auto; display: block; border-radius: 12px; object-fit: cover; }
/* 合规声明块（zb-disclaimer，全站 footer） */
.zb-disclaimer { margin-top: 18px !important; padding: 14px 0 0 0 !important; border-top: 1px solid rgba(128,128,128,.25) !important; font-size: .72rem !important; line-height: 1.7 !important; opacity: .85 !important; display: block !important; text-align: left !important; width: 100% !important; clear: both !important; }
.zb-disclaimer .zb-18 { display: inline-block !important; padding: 2px 10px !important; border: 1.5px solid currentColor !important; border-radius: 6px !important; font-weight: 800 !important; letter-spacing: 1px !important; margin: 0 0 10px 0 !important; font-size: .78rem !important; }
.zb-disclaimer p { display: block !important; margin: 5px 0 !important; padding: 0 !important; color: inherit !important; font-size: .72rem !important; line-height: 1.7 !important; }
.zb-disclaimer p:last-child { margin-bottom: 0 !important; }
