@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500&family=Plus+Jakarta+Sans:wght@700;800&display=swap');

:root {
    --primary-bg: #F9FAFB;
    --secondary-bg: #FFFFFF;
    --primary-text: #111827;
    --secondary-text: #6B7280;
    --accent-color: #0891B2;
    --border-color: #E5E7EB;
    --font-heading: 'Plus Jakarta Sans', sans-serif;
    --font-body: 'IBM Plex Sans', sans-serif;
}

body {
    background-color: var(--primary-bg);
    color: var(--primary-text);
    font-family: var(--font-body);
    margin: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main { 
    flex-grow: 1; 
}

body.layout-centered main { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
}

header {
    background-color: var(--secondary-bg);
    border-bottom: 1px solid var(--border-color);
    width: 100%;
    padding: 1rem 0;
}

footer {
    background-color: var(--secondary-bg);
    border-top: 1px solid var(--border-color);
    width: 100%;
    padding: 2rem 0;
}

.page-container, .nav-container, .footer-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}

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

.logo { 
    height: 30px; 
    width: auto; 
    filter: invert(1) grayscale(1) contrast(100) brightness(0.1) sepia(100%) saturate(10000%) hue-rotate(180deg); 
}

.nav-links a {
    color: var(--primary-text);
    text-decoration: none;
    font-weight: 500;
}

.footer-container { 
    text-align: center; 
}

.footer-links { 
    display: flex; 
    gap: 1.5rem; 
    margin-top: 0.5rem; 
    justify-content: center; 
}

.footer-links a { 
    font-size: 0.9rem; 
    color: var(--secondary-text); 
    text-decoration: none; 
}

.footer-links a:hover { 
    text-decoration: underline; 
}