
:root{
  --bg:#f7f9fc;
  --card:#ffffff;
  --text:#17233d;
  --muted:#64748b;
  --blue:#2f67ed;
  --blue2:#1f4fc4;
  --line:#dfe6f0;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
header{
  background:#fff;
  border-bottom:1px solid var(--line);
}
.nav{
  max-width:980px;
  margin:auto;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:800;
  font-size:22px;
}
.logo{
  width:38px;height:38px;
  border-radius:9px;
  background:var(--blue);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:22px;
  box-shadow:inset 0 0 0 4px #13213b;
}
.navlinks{display:flex;gap:18px;font-size:14px}
main{max-width:980px;margin:auto;padding:56px 24px 80px}
.hero{
  background:linear-gradient(135deg,#fff 0%,#f4f7ff 100%);
  border:1px solid var(--line);
  border-radius:24px;
  padding:54px;
  box-shadow:0 16px 50px rgba(24,45,90,.07);
}
h1{font-size:48px;line-height:1.1;margin:0 0 18px;letter-spacing:-1.5px}
h2{font-size:28px;margin:42px 0 14px}
h3{font-size:20px;margin:28px 0 8px}
.lead{font-size:20px;color:var(--muted);max-width:760px}
.cta{
  display:inline-block;
  margin-top:22px;
  background:var(--blue);
  color:#fff;
  padding:13px 20px;
  border-radius:12px;
  font-weight:700;
}
.cta:hover{background:var(--blue2);text-decoration:none}
.grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:28px;
}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px;
}
.card h3{margin-top:0}
.content{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:38px;
}
.notice{
  background:#f1f5ff;
  border:1px solid #d7e0ff;
  border-radius:12px;
  padding:16px 18px;
}
ul{padding-left:22px}
footer{
  border-top:1px solid var(--line);
  color:var(--muted);
  background:#fff;
}
.footer{
  max-width:980px;
  margin:auto;
  padding:24px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  font-size:14px;
}
@media(max-width:760px){
  .grid{grid-template-columns:1fr}
  h1{font-size:38px}
  .hero{padding:34px 24px}
  .nav{align-items:flex-start;flex-direction:column}
}
