.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 0 var(--space-xl);
    padding-top: 64px;
    position: relative;
    z-index: 1;
    max-width: 1400px;
    margin: 0 auto;
}

.hero-content {
    max-width: 840px;
    padding: var(--space-3xl) 0;
}

.hero h1 {
    font-family: var(--font-display);
    font-size: clamp(4rem, 11vw, 8.5rem);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 0.92;
    margin-bottom: var(--space-lg);
    color: var(--text);
}

.hero h1 .accent {
    color: var(--accent);
    text-shadow: 0 0 60px var(--accent-glow);
}

.tagline {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    color: var(--text-secondary);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: var(--space-xl);
}

.hero-description {
    max-width: 540px;
    font-size: 1.125rem;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: var(--space-2xl);
}

.hero-stats {
    display: flex;
    gap: var(--space-2xl);
    flex-wrap: wrap;
}

.stat {
    min-width: 100px;
}

.stat-num {
    font-family: var(--font-display);
    font-size: 2.75rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1;
    margin-bottom: 0.25rem;
    font-variant-numeric: tabular-nums;
}

.stat-label {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.hub-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-lg);
    padding: var(--space-xl) 0;
}

.hub-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--bg-1);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: var(--space-xl);
    text-decoration: none;
    color: var(--text);
    overflow: hidden;
    transition: border-color var(--transition), transform var(--transition);
    min-height: 240px;
}

.hub-card:hover {
    transform: translateY(-4px);
}

.hub-card-glow {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.hub-card:hover .hub-card-glow {
    opacity: 1;
}

.hub-card-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.hub-card-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    margin-bottom: var(--space-lg);
    transition: border-color var(--transition), background var(--transition);
}

.hub-card-icon svg {
    width: 24px;
    height: 24px;
}

.hub-card-title {
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
    transition: color var(--transition);
}

.hub-card-desc {
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.6;
    flex-grow: 1;
    margin-bottom: var(--space-lg);
}

.hub-card-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--space-md);
    border-top: 1px solid var(--border);
}

.hub-card-count {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.hub-card-arrow {
    font-size: 1.25rem;
    color: var(--text-faint);
    transition: color var(--transition), transform var(--transition);
}

.hub-card:hover .hub-card-arrow {
    transform: translateX(6px);
}

/* Blog hub card */
.hub-blog:hover { border-color: #6db3a6; }
.hub-blog:hover .hub-card-glow { background: radial-gradient(circle at 30% 20%, rgba(109, 179, 166, 0.08), transparent 60%); }
.hub-blog:hover .hub-card-icon { border-color: #6db3a6; background: rgba(109, 179, 166, 0.08); }
.hub-blog:hover .hub-card-icon svg { color: #6db3a6; }
.hub-blog:hover .hub-card-title { color: #6db3a6; }
.hub-blog:hover .hub-card-arrow { color: #6db3a6; }

/* Research hub card */
.hub-research:hover { border-color: #a88cc4; }
.hub-research:hover .hub-card-glow { background: radial-gradient(circle at 30% 20%, rgba(168, 140, 196, 0.08), transparent 60%); }
.hub-research:hover .hub-card-icon { border-color: #a88cc4; background: rgba(168, 140, 196, 0.08); }
.hub-research:hover .hub-card-icon svg { color: #a88cc4; }
.hub-research:hover .hub-card-title { color: #a88cc4; }
.hub-research:hover .hub-card-arrow { color: #a88cc4; }

/* Project hub card */
.hub-project:hover { border-color: #d4b45c; }
.hub-project:hover .hub-card-glow { background: radial-gradient(circle at 30% 20%, rgba(212, 180, 92, 0.08), transparent 60%); }
.hub-project:hover .hub-card-icon { border-color: #d4b45c; background: rgba(212, 180, 92, 0.08); }
.hub-project:hover .hub-card-icon svg { color: #d4b45c; }
.hub-project:hover .hub-card-title { color: #d4b45c; }
.hub-project:hover .hub-card-arrow { color: #d4b45c; }

/* RSI hub card */
.hub-rsi:hover { border-color: #5ad98c; }
.hub-rsi:hover .hub-card-glow { background: radial-gradient(circle at 30% 20%, rgba(90, 217, 140, 0.08), transparent 60%); }
.hub-rsi:hover .hub-card-icon { border-color: #5ad98c; background: rgba(90, 217, 140, 0.08); }
.hub-rsi:hover .hub-card-icon svg { color: #5ad98c; }
.hub-rsi:hover .hub-card-title { color: #5ad98c; }
.hub-rsi:hover .hub-card-arrow { color: #5ad98c; }

@media (max-width: 768px) {
    .hub-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hub-card:hover {
        transform: none;
    }
}
