/* === Hero === */

.hero {
    padding: var(--space-16) var(--space-12) var(--space-12);
    border-bottom: 1px solid var(--border);
    text-align: center;
}

.hero .container-narrow {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hero h1 {
    font-size: var(--text-5xl);
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: var(--space-4);
    color: var(--text);
}

.hero .hero-subtitle {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--text-muted);
    letter-spacing: 0.06em;
    margin-bottom: var(--space-6);
}

.hero .hero-desc {
    font-size: var(--text-base);
    color: var(--text-muted);
    max-width: 64ch;
    margin: 0 auto var(--space-10);
    line-height: 1.8;
}

.hero-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    flex-wrap: wrap;
}

/* === Ecosystem === */

.ecosystem {
    padding-top: var(--space-16);
}

.ecosystem .section-header {
    text-align: center;
}

.ecosystem .section-header h2 {
    font-size: var(--text-2xl);
}

/* === Architecture === */

.architecture .section-header {
    text-align: center;
}

.architecture .section-header h2 {
    font-size: var(--text-2xl);
}

/* === License === */

.license .section-header {
    text-align: center;
}

.license .section-header h2 {
    font-size: var(--text-2xl);
}

.license-desc {
    text-align: center;
    margin: 0 auto var(--space-4);
    font-size: var(--text-sm);
}

.license-contact {
    text-align: center;
    margin-top: var(--space-8);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.license-contact a {
    font-weight: 700;
}

.license .terminal-block {
    max-width: 620px;
    margin: var(--space-6) auto;
}

/* === Responsive === */

@media (max-width: 960px) {
    .hero {
        padding: var(--space-16) var(--space-6) var(--space-12);
    }

    .hero h1 {
        font-size: var(--text-4xl);
    }

    .hero .hero-subtitle {
        font-size: var(--text-xs);
    }

    .hero .hero-desc {
        font-size: var(--text-sm);
    }
}

@media (max-width: 640px) {
    .hero h1 {
        font-size: var(--text-3xl);
    }
}
