/* Core Page Wrappers */
.container {
    width: min(1280px, calc(100% - 40px));
    margin-inline: auto;
}

.section {
    padding: 60px 0;
}

/* Layout Headers */
.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.section-header h2 {
    font-size: 1.75rem;
    display: flex;
    align-items: center;
    gap: 12px;
}

.section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.75rem;
}

.section-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
}

/* Navbar Global Layout Frame */
.navbar {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 100;
    padding: 16px 0;
}

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

/* Footer Grid Framework */
.site-footer {
    background: #0f172a;
    color: #f8fafc;
    padding: 80px 0 30px;
    margin-top: 80px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr repeat(auto-fit, minmax(160px, 1fr));
    gap: 48px;
    padding-bottom: 40px;
    border-bottom: 1px solid #334155;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 30px;
    font-size: 0.875rem;
    color: #94a3b8;
}