:root {
    --page-accent: #C41E3A;
    --page-accent-light: #E8405A;
    --page-glow: rgba(196,30,58,0.15);
}
.page-hero {
    background: linear-gradient(160deg, #1A1A2E 0%, #2D1020 40%, #1A1A2E 70%, #0F1A30 100%);
}
.page-hero::before {
    background: radial-gradient(ellipse 60% 50% at 30% 60%, rgba(196,30,58,0.12), transparent 70%),
                radial-gradient(ellipse 40% 60% at 70% 30%, rgba(240,208,120,0.06), transparent 70%);
}
.page-hero h1 { text-shadow: 0 2px 20px rgba(196,30,58,0.3); }
.timeline-section { padding: 64px 0; }
.timeline-v { position: relative; max-width: 800px; margin: 0 auto; }
.timeline-v::before {
    content: ''; position: absolute; left: 50%; top: 0; bottom: 0;
    width: 2px; background: linear-gradient(to bottom, transparent, var(--page-accent), var(--page-accent), transparent);
    transform: translateX(-50%);
}
.tl-item { display: flex; margin-bottom: 48px; position: relative; }
.tl-item:nth-child(odd) { flex-direction: row; }
.tl-item:nth-child(even) { flex-direction: row-reverse; }
.tl-marker {
    position: absolute; left: 50%; top: 28px; width: 16px; height: 16px;
    background: #fff; border: 3px solid var(--page-accent); border-radius: 50%;
    transform: translateX(-50%); z-index: 2; box-shadow: 0 0 12px var(--page-glow);
}
.tl-content {
    width: 44%; background: #fff; border-radius: 12px; padding: 24px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.06); border: 1px solid #E8E0D5;
    transition: transform 0.3s, box-shadow 0.3s;
}
.tl-content:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,0.10); }
.tl-era {
    display: inline-block; background: var(--page-accent); color: #fff;
    padding: 3px 14px; border-radius: 20px; font-size: 0.82rem; font-weight: 700;
    letter-spacing: 1px; margin-bottom: 10px;
}
.tl-content h3 { font-size: 1.15rem; margin-bottom: 8px; color: #2C2C2C; }
.tl-content p { font-size: 0.92rem; color: #666; line-height: 1.8; }
.feature-box {
    background: linear-gradient(135deg, rgba(196,30,58,0.05), rgba(212,168,67,0.05));
    border: 1px solid #E8E0D5; border-radius: 12px; padding: 28px; margin: 32px 0;
}
.feature-box h4 { color: var(--page-accent); margin-bottom: 10px; font-size: 1.05rem; }
.feature-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 16px; }
.feature-item { display: flex; gap: 12px; align-items: flex-start; }
.feature-item .fi-icon {
    width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center;
    justify-content: center; font-size: 1.2rem; flex-shrink: 0;
}
.feature-item h5 { font-size: 0.95rem; margin-bottom: 4px; }
.feature-item p { font-size: 0.85rem; color: #888; line-height: 1.5; }
.poem-card {
    background: linear-gradient(135deg, #FFF8F0, #FFF0E5);
    border: 2px solid var(--page-accent); border-radius: 12px; padding: 36px;
    text-align: center; margin: 32px 0;
}
.poem-card .poem-text { font-family: serif; font-size: 1.5rem; color: var(--page-accent); margin-bottom: 8px; }
.poem-card .poem-author { color: #999; font-size: 0.9rem; margin-bottom: 16px; }
.poem-card .poem-note { font-size: 0.85rem; color: #D4A843; }

@media (max-width: 768px) {
    .timeline-v::before { left: 20px; }
    .tl-item, .tl-item:nth-child(even) { flex-direction: row; }
    .tl-marker { left: 20px; }
    .tl-content { width: calc(100% - 50px); margin-left: 50px; }
    .feature-grid-2 { grid-template-columns: 1fr; }
}
