/* Base typography and layout */
body { margin:0; font:16px/1.6 system-ui, Arial, sans-serif; color:#111; background:#fff; }
.header-inner, .footer-inner, main { max-width:1200px; margin:0 auto; padding:12px; }

/* Skip link accessibility */
.skip-link { position:absolute; left:-9999px; top:auto; }
.skip-link:focus { left:12px; top:12px; padding:8px 12px; background:#000; color:#fff; z-index:9999; border-radius:3px; }

/* Header styles and sticky behaviour */
.site-header { background:#fff; border-bottom:1px solid #e5e5e5; padding:14px 0; transition:all .18s ease; }
@media (min-width:768px){
  .site-header { position:sticky; top:0; z-index:60; }
  .site-header.shrink { padding:6px 0; box-shadow:0 1px 6px rgba(0,0,0,0.04); }
}

/* Compact header on small screens */
@media (max-width:767px){
  .site-title { font-size:1rem; display:inline-block; }
  .primary-nav { display:none; }
}

/* Navigation menu */
.menu { list-style:none; margin:0; padding:0; display:flex; gap:16px; align-items:center; }
.menu a { text-decoration:none; color:#111; }
.menu a:hover, .menu a:focus { text-decoration:underline; }

/* Front page grid: full-width lead + two-column below */
.front-lead { width:100%; margin-bottom:24px; }
.front-grid { display:grid; grid-template-columns:1fr 340px; gap:24px; align-items:start; }
@media (max-width:900px){ .front-grid { grid-template-columns:1fr; } }

/* Article and readability */
.site-main { padding:24px 12px; }
article { margin-bottom:28px; line-height:1.65; }
h1 { font-size:2rem; margin:0 0 12px 0; }
h2 { font-size:1.25rem; margin:0 0 10px 0; }

/* Focus styles for accessibility */
a:focus, button:focus, input:focus { outline:3px solid #ffb400; outline-offset:2px; }

/* Footer compliance cluster */
.site-footer { border-top:1px solid #e5e5e5; padding-top:18px; background:#fff; }
.footer-inner { display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.footer-nav .menu { gap:12px; font-size:0.95rem; }

/* Print styles */
@media print {
  header, nav, .site-footer, .menu { display:none !important; }
  main, article { max-width:100%; margin:0; padding:0; }
}
