*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: #222;
    line-height: 1.6;
}

a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }

/* Nav */
.site-nav {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 1rem 2rem;
    background: #1a1a2e;
    color: #fff;
}

.nav-logo {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}

.nav-menu {
    list-style: none;
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.nav-menu a { color: #ddd; font-size: 0.95rem; }
.nav-menu a:hover { color: #fff; text-decoration: none; }

.has-dropdown { position: relative; }
.dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #1a1a2e;
    list-style: none;
    min-width: 180px;
    padding: 0.5rem 0;
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0,0,0,.3);
}
.dropdown li a { display: block; padding: 0.4rem 1rem; color: #ddd; }
.has-dropdown:hover .dropdown { display: block; }

/* Main */
main { min-height: 60vh; padding: 2rem; max-width: 900px; margin: 0 auto; }

.page-content h1 { margin-bottom: 1rem; font-size: 2rem; }
.page-body { margin-top: 1rem; }
.error-page { text-align: center; padding: 4rem 0; }
.error-page h1 { font-size: 2.5rem; }
.error-page a { display: inline-block; margin-top: 1rem; color: #1a1a2e; font-weight: 600; }

/* Footer */
footer {
    background: #1a1a2e;
    color: #aaa;
    padding: 2rem;
    text-align: center;
    font-size: 0.875rem;
}
.footer-inner p { margin: 0.25rem 0; }
.footer-inner a { color: #aaa; }
.footer-inner a:hover { color: #fff; }
