:root{
  --primary:#1F3B5C;
  --bg:#ffffff;
  --text:#111111;
  --muted:#6b7280;
  --card:#f7f8fa;
  --warning:#fff7e6;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{color:var(--primary);text-decoration:underline}
a:focus,button:focus{outline:3px solid #94c1ff;outline-offset:2px}
.container{max-width:1200px;margin:0 auto;padding:0 1rem}

.site-header{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.site-title{font-weight:800;font-size:1.25rem;color:var(--primary);text-decoration:none}
.site-tagline{margin:0;color:var(--muted);font-size:.95rem}
.menu{list-style:none;margin:0;padding:0;display:flex;gap:1rem;flex-wrap:wrap}
.menu a{text-decoration:none;color:#0f172a;font-weight:600}
.menu a:hover{text-decoration:underline}

.hero{background:#000}
.slider{position:relative;height:340px;overflow:hidden}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .8s ease}
.slide .overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.35));display:flex;align-items:center;justify-content:center}
.slide .overlay h1{color:#fff;font-size:2rem;text-align:center;margin:0 1rem;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.slide.active{opacity:1}

.intro{padding:2rem 0}
.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{background:var(--card);padding:1rem;border-radius:.75rem;border:1px solid #e5e7eb}
.card.warning{background:var(--warning)}

.section-title{margin:1rem 0 0.5rem;font-size:1.5rem}
.teaser{padding:1rem 0 3rem}
.teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.link-card{text-decoration:none;color:inherit}
.link-card h3{margin:.25rem 0}
.link-card:hover{box-shadow:0 4px 24px rgba(0,0,0,.08)}

.site-footer{background:var(--primary);color:#e6eef8;margin-top:2rem}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}
.footer-menu a{color:#e6eef8}
.site-footer .disclaimer{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.15)}
.site-footer .disclaimer p{margin:.25rem 0;color:#e6eef8;opacity:.9;font-size:.9rem}
/* Accessibility: Skip link */
.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:1rem;
  top:1rem;
  width:auto;
  height:auto;
  padding:.5rem .75rem;
  background:var(--bg);
  color:var(--text);
  border:2px solid var(--primary);
  border-radius:.5rem;
  z-index:9999;
}

/* Footer: match classes used in footer.php */
.footer-combined{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
}
.footer-disclaimer{
  margin:0;
  color:#e6eef8;
  opacity:.9;
  font-size:.9rem;
}


@media (max-width: 1024px){
  .teaser-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 768px){
  .intro-grid{grid-template-columns:1fr}
  .teaser-grid{grid-template-columns:repeat(2,1fr)}
  .slider{height:300px}
}
@media (max-width: 480px){
  .teaser-grid{grid-template-columns:1fr}
  .slide .overlay h1{font-size:1.5rem}
}
