.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2.5rem;
}

.site-body {
    font-family: var(--font-body);
    color: var(--color-text);
    background-color: var(--color-background);
    line-height: 1.75; /* Improved readability */
    -webkit-font-smoothing: antialiased;
}

.section {
    padding: 6rem 0; /* Generous whitespace */
}

.site-header {
    padding: 1.25rem 0;
    background: var(--color-surface);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main-nav .nav__list {
    display: flex;
    gap: 1.5rem;
}

.premium-footer {
    padding: 4rem 0 2rem;
    margin-top: 4rem;
    background: #f1f5f9;
}

.footer__content {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
}

.footer__nav-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.fade-in {
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
