:root{
  --blue:#1f6feb;
  --navy:#0f2747;
  --ink:#172033;
  --muted:#5f6b7a;
  --line:#dce5ef;
  --bg:#f6f9fc;
  --card:#fff;
  --warn:#fff7db;
  --warn-line:#e6bd39;
}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.7}
a{color:var(--blue)}
a:focus-visible,button:focus-visible{outline:3px solid #ff8a00;outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.7rem 1rem;border-radius:.5rem}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.header-inner{max-width:1000px;margin:auto;padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.brand{color:var(--navy);font-size:1.15rem;font-weight:900;text-decoration:none}
.nav{display:flex;gap:1rem;flex-wrap:wrap}
.nav a{font-weight:700;text-decoration:none}
.hero{background:linear-gradient(135deg,var(--navy),#1d4f91);color:#fff}
.hero-inner{max-width:1000px;margin:auto;padding:3.5rem 1rem}
.hero h1{max-width:800px;margin:0;font-size:clamp(2rem,6vw,3.6rem);line-height:1.08}
.hero p{max-width:760px;margin:1rem 0 0;color:#dbe9ff}
.content{max-width:1000px;margin:2rem auto;padding:0 1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:1rem;padding:clamp(1.1rem,4vw,2rem);box-shadow:0 8px 24px rgba(15,39,71,.05)}
.card h2{margin-top:2rem;color:var(--navy);line-height:1.25}
.card h2:first-child{margin-top:0}
.card h3{color:var(--navy)}
.notice{background:var(--warn);border:1px solid var(--warn-line);border-radius:.75rem;padding:1rem;margin-bottom:1.5rem}
.meta{color:var(--muted);font-size:.95rem}
.contact{background:#eef5ff;border-left:4px solid var(--blue);padding:1rem 1.2rem}
.site-footer{max-width:1000px;margin:2rem auto 0;padding:2rem 1rem;border-top:1px solid var(--line);color:var(--muted)}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.6rem}
@media (max-width:520px){.header-inner{align-items:flex-start;flex-direction:column}.nav{gap:.7rem}}
