:root{
  --red:#D7000F; --ink:#161616; --paper:#FBF8F2; --muted:#6b6b6b; --line:#e7e2d8;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; color:var(--ink); background:var(--paper);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Hiragino Sans",sans-serif;
  line-height:1.65; font-size:17px;
}
a{color:var(--red); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:760px; margin:0 auto; padding:0 24px}
header.site{display:flex; align-items:center; gap:14px; padding:28px 0; border-bottom:1px solid var(--line)}
header.site img{width:44px; height:44px; border-radius:10px; display:block}
header.site .name{font-weight:800; font-size:20px; letter-spacing:.2px}
header.site nav{margin-left:auto; display:flex; gap:20px; font-size:15px}
header.site nav a{color:var(--ink)}
.hero{padding:64px 0 24px; text-align:center}
.hero .mark{width:112px; height:112px; border-radius:24px; box-shadow:0 8px 30px rgba(0,0,0,.12)}
.hero h1{font-size:40px; margin:22px 0 6px; letter-spacing:-.5px}
.hero p.lead{font-size:20px; color:var(--muted); margin:0 auto; max-width:560px}
.badge{display:inline-block; margin-top:18px; padding:5px 12px; border:1px solid var(--red); color:var(--red);
  border-radius:999px; font-size:13px; font-weight:700; letter-spacing:.3px; text-transform:uppercase}
.features{display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:40px 0}
.card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 20px}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:15px}
.note{background:#fff; border:1px solid var(--line); border-left:4px solid var(--red); border-radius:10px;
  padding:14px 18px; color:var(--muted); font-size:15px; margin:24px 0}
main.doc{padding:36px 0 8px}
main.doc h1{font-size:32px; margin:0 0 4px}
main.doc h2{font-size:20px; margin:32px 0 8px; padding-top:6px}
main.doc .effective{background:#fff; border:1px solid var(--line); border-left:4px solid #2f7d4f;
  border-radius:10px; padding:12px 16px; font-size:14px; color:var(--muted)}
main.doc ul{padding-left:20px}
footer.site{border-top:1px solid var(--line); margin-top:56px; padding:28px 0; color:var(--muted); font-size:14px;
  display:flex; gap:18px; flex-wrap:wrap; align-items:center}
footer.site a{color:var(--muted)}
footer.site .sp{margin-left:auto}
@media(max-width:620px){.features{grid-template-columns:1fr}.hero h1{font-size:32px}}
