/* Base Layout Styles */
body { font-family: 'Segoe UI', Arial, sans-serif; line-height: 1.6; margin: 0; display: flex; flex-direction: column; min-height: 100vh; color: #333; }
.skip-link { position: absolute; top: -50px; left: 0; background: #0056b3; color: white; padding: 10px; z-index: 100; text-decoration: none; transition: top 0.2s; }
.skip-link:focus { top: 0; }

.page-container { display: flex; flex: 1; }
.sidebar { width: 260px; background: #f4f4f4; border-right: 2px solid #ddd; padding: 20px; flex-shrink: 0; }
main { flex-grow: 1; padding: 40px; max-width: 900px; }

/* Content Styles */
h1 { color: #0056b3; margin-top: 0; border-bottom: 2px solid #2ca01c; padding-bottom: 10px; }
.pillar { margin-bottom: 30px; }
h2 { color: #333; font-size: 1.4em; }

footer { background: #f4f4f4; border-top: 1px solid #ddd; padding: 20px; text-align: center; color: #666; font-size: 0.85em; width: 100%; }

/* Mobile Responsive Rules (Screens 768px and narrower) */
@media screen and (max-width: 768px) {
    .page-container {
        flex-direction: column;
    }
    .sidebar {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #ddd;
        padding: 20px 10px;
    }
    main {
        width: 100%;
        max-width: 100%;
        padding: 20px;
    }
}