:root {
    --ink-bg: #f9f9f9;
    --ink-text: #1a1a1a;
    --ink-primary: #2c3e50;
    --ink-secondary: #e74c3c;
    --ink-accent: #7f8c8d;
    --ink-surface: #ffffff;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    background-color: var(--ink-bg); color: var(--ink-text);
    font-family: 'Noto Serif SC', 'Songti SC', serif;
    line-height: 1.8;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" opacity="0.03"><path d="M50 350 Q 150 150 350 50" stroke="%23000" stroke-width="2" fill="none"/><path d="M100 400 Q 200 200 400 100" stroke="%23000" stroke-width="1" fill="none"/></svg>');
    background-attachment: fixed;
}
a { text-decoration: none; color: inherit; }

.ink-container { max-width: 1000px; margin: 0 auto; padding: 20px; position: relative; z-index: 1;}

/* Header */
.ink-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 30px 0; border-bottom: 1px solid rgba(0,0,0,0.1);
    margin-bottom: 60px; position: relative;
}
.ink-header::after {
    content: ''; position: absolute; bottom: -1px; left: 0; width: 100px; height: 3px;
    background: var(--ink-secondary);
}
.ink-brand {
    font-size: 32px; font-weight: 900; color: var(--ink-primary);
    letter-spacing: 2px; position: relative;
}
.ink-brand::before {
    content: ''; position: absolute; top: -10px; left: -15px; width: 40px; height: 40px;
    background: rgba(231, 76, 60, 0.1); border-radius: 50%; z-index: -1;
}
.ink-nav { display: flex; gap: 30px; }
.ink-nav a {
    font-size: 16px; color: var(--ink-accent); transition: all 0.3s;
    position: relative; padding-bottom: 5px;
}
.ink-nav a::after {
    content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 1px;
    background: var(--ink-primary); transition: all 0.3s; transform: translateX(-50%);
}
.ink-nav a:hover, .ink-nav a.active { color: var(--ink-primary); font-weight: bold;}
.ink-nav a:hover::after, .ink-nav a.active::after { width: 100%; }

/* Hero */
.ink-hero {
    text-align: center; padding: 60px 20px; margin-bottom: 80px;
    position: relative;
}
.ink-hero::before {
    content: '墨'; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
    font-size: 200px; color: rgba(0,0,0,0.02); z-index: -1; font-family: 'KaiTi', serif;
    line-height: 1;
}
.ink-hero h1 {
    font-size: 48px; font-weight: 900; margin-bottom: 20px; color: var(--ink-primary);
    letter-spacing: 4px;
}
.ink-hero p { font-size: 18px; color: var(--ink-accent); margin-bottom: 40px; max-width: 700px; margin-left: auto; margin-right: auto;}
.btn-ink {
    display: inline-block; padding: 12px 40px; font-size: 16px; letter-spacing: 2px;
    color: #fff; background: var(--ink-primary); border: 1px solid var(--ink-primary);
    transition: all 0.3s; margin: 0 10px; cursor: pointer; position: relative; overflow: hidden;
}
.btn-ink::before {
    content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
    background: rgba(255,255,255,0.2); transition: all 0.3s;
}
.btn-ink:hover::before { left: 0; }
.btn-ink-alt {
    display: inline-block; padding: 12px 40px; font-size: 16px; letter-spacing: 2px;
    color: var(--ink-primary); background: transparent; border: 1px solid var(--ink-primary);
    transition: all 0.3s; margin: 0 10px; cursor: pointer;
}
.btn-ink-alt:hover { background: rgba(0,0,0,0.05); }

/* Stats */
.ink-stats {
    display: flex; justify-content: space-around; margin-bottom: 80px;
    border-top: 1px solid rgba(0,0,0,0.1); border-bottom: 1px solid rgba(0,0,0,0.1);
    padding: 40px 0; position: relative;
}
.is-item { text-align: center; position: relative; flex: 1;}
.is-item:not(:last-child)::after {
    content: ''; position: absolute; right: 0; top: 20%; height: 60%; width: 1px;
    background: rgba(0,0,0,0.1);
}
.is-val { font-size: 36px; font-weight: 900; color: var(--ink-secondary); margin-bottom: 5px; font-family: 'Georgia', serif;}
.is-lbl { font-size: 14px; color: var(--ink-accent); letter-spacing: 2px;}

/* Grid */
.ink-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-bottom: 80px;}
.ig-card {
    background: var(--ink-surface); padding: 40px 30px; text-align: center;
    border: 1px solid rgba(0,0,0,0.05); transition: all 0.3s;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02); position: relative;
}
.ig-card::before {
    content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 0;
    background: var(--ink-secondary); transition: all 0.3s;
}
.ig-card:hover::before { height: 100%; }
.ig-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(0,0,0,0.05);}
.ig-icon {
    width: 60px; height: 60px; margin: 0 auto 20px; border-radius: 50%;
    border: 1px solid var(--ink-primary); display: flex; align-items: center; justify-content: center;
    font-size: 24px; color: var(--ink-primary); background: rgba(0,0,0,0.02);
}
.ig-card h3 { font-size: 20px; font-weight: bold; margin-bottom: 15px; color: var(--ink-primary); letter-spacing: 1px;}
.ig-card p { font-size: 15px; color: var(--ink-accent); text-align: justify;}

/* Nodes */
.ink-nodes { margin-bottom: 80px; text-align: center;}
.ink-nodes h2 { font-size: 28px; margin-bottom: 40px; color: var(--ink-primary); letter-spacing: 2px;}
.node-wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px;}
.n-ink {
    padding: 10px 25px; border: 1px solid rgba(0,0,0,0.1); background: var(--ink-surface);
    color: var(--ink-primary); font-size: 15px; letter-spacing: 1px; transition: all 0.3s;
}
.n-ink:hover { border-color: var(--ink-secondary); color: var(--ink-secondary);}
.n-ink span { font-family: 'Georgia', serif; font-size: 12px; color: var(--ink-accent); margin-left: 10px;}

/* FAQ */
.ink-faq { margin-bottom: 80px; max-width: 800px; margin-left: auto; margin-right: auto;}
.ink-faq h2 { font-size: 28px; margin-bottom: 40px; text-align: center; color: var(--ink-primary); letter-spacing: 2px;}
.faq-item { margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px dashed rgba(0,0,0,0.1);}
.fq-q { font-size: 18px; font-weight: bold; color: var(--ink-primary); margin-bottom: 10px; position: relative; padding-left: 20px;}
.fq-q::before { content: '问'; position: absolute; left: 0; top: 2px; font-size: 14px; color: var(--ink-secondary); font-weight: normal;}
.fq-a { font-size: 15px; color: var(--ink-accent); padding-left: 20px; position: relative; text-align: justify;}
.fq-a::before { content: '答'; position: absolute; left: 0; top: 2px; font-size: 14px; color: var(--ink-primary);}

footer { text-align: center; padding: 40px; color: var(--ink-accent); font-size: 14px; letter-spacing: 1px; border-top: 1px solid rgba(0,0,0,0.1);}

@media (max-width: 900px) {
    .ink-header { flex-direction: column; gap: 20px; }
    .ink-hero h1 { font-size: 36px; }
    .ink-stats { flex-wrap: wrap; gap: 30px; border: none; padding: 0;}
    .is-item { min-width: 45%; border: 1px solid rgba(0,0,0,0.1); padding: 20px;}
    .is-item:not(:last-child)::after { display: none; }
    .ink-grid { grid-template-columns: 1fr; }
    .btn-ink, .btn-ink-alt { display: block; margin: 15px auto; width: 80%;}
}