/* Shared guide typography, navigation, tables and footer. Homepage retains its legacy cascade. */

html { scroll-behavior: smooth !important; }

.container { max-width: 1120px; margin: 0 auto; padding: 0 20px; }

.cf-copy { max-width: 860px; margin: 0 auto; }

h1, h2, h3, h4 { color: #111; font-weight: 500; margin-top: 0; }

h2 { font-size: 2rem; margin-bottom: 20px; line-height: 1.3; }

h3 { font-size: 1.35rem; margin: 32px 0 12px; color: #222; font-weight: 600; }

h4 { font-size: 1.15rem; margin: 24px 0 10px; color: #333; }

a { color: #0066cc; text-decoration: underline; text-underline-offset: 3px; }

a:hover { color: #004499; }

header { background: #ffffff; border-bottom: 1px solid #eaeaea; position: sticky; top: 0; z-index: 10000; box-shadow: 0 2px 10px rgba(0,0,0,0.03); padding: 15px 0; }

.header-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px; }

#logo { font-size: 1.4rem; font-weight: 800; color: #8B4513; text-decoration: none !important; letter-spacing: 0.5px; display: inline-flex; align-items: center; }

#logo span { color: #27ae60; }

nav ul { list-style: none; padding: 0; margin: 0; display: flex; gap: 20px; }

nav a { color: #4b5563; text-decoration: none !important; font-weight: 500; font-size: 0.95rem; transition: color 0.2s; }

nav a:hover { color: #27ae60; }

footer { text-align: center; padding: 40px 20px; background: #f8f8f8; border-top: 1px solid #ececec; }

.footer-links a { color: #666; text-decoration: none; margin: 0 10px; font-weight: 500; font-size: 0.9rem; }

.footer-links a:hover { color: #27ae60; }

.copyright { font-size: 0.85rem; color: #888; margin-top: 20px; }
