/* Common header and footer styles - generated with Loess */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
.page { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: #1f2937; background: #fff; min-height: 100vh; display: flex; flex-direction: column; }
.header { background: #111; padding: 1rem 1.5rem; }
.nav-wrap { max-width: 64rem; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.brand { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; }
.logo { height: 3.5rem; width: auto; transition: opacity 0.15s; }
.header .brand .logo { opacity: 0.82; }
.header .brand:hover .logo { opacity: 1; }
.nav-links { display: flex; gap: 1.5rem; }
.nav-link { text-decoration: none; font-size: 0.9375rem; font-weight: 500; transition: color 0.15s; }
.header .nav-link { color: #9ca3af; }
.header .nav-link:hover { color: #fff; }
.footer .nav-link { color: #6b7280; }
.footer .nav-link:hover { color: #111827; }
.main { flex: 1; }
.main .content a { color: #4b5563; text-decoration: underline; }
.main .content a:hover { color: #111827; }
.footer { background: #f9fafb; border-top: 1px solid #e5e7eb; padding: 2rem 1.5rem; margin-top: auto; }
.footer-wrap { max-width: 64rem; margin: 0 auto; }
.footer-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.fineprint { font-size: 0.8125rem; color: #6b7280; }
.legal { font-size: 0.75rem; color: #9ca3af; max-width: 48rem; }
.mb3 { margin-bottom: 0.75rem; }
.inline-link { color: #4b5563; text-decoration: underline; }
.inline-link:hover { color: #111827; }
