*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.75;color:#16181d;margin:0;background:#f2f4f7;font-size:18px}
a{color:#0b4f9c}
header.site{background:#16283f;color:#fff;padding:22px 22px 24px;border-bottom:6px solid #f5c518}
header.site .brand{font-size:1.6rem;font-weight:800;letter-spacing:-0.5px;max-width:1120px;margin:0 auto}
header.site .brand a{color:#fff;text-decoration:none}
header.site .promise{font-size:1.05rem;color:#d7dee8;margin:6px 0 0;max-width:1120px;margin-left:auto;margin-right:auto}
main{max-width:1120px;margin:0 auto;padding:28px 18px 64px}
article{max-width:760px;margin:0 auto}
nav.jump{position:sticky;top:0;background:#fff;border-bottom:3px solid #f5c518;padding:12px 0;z-index:10}
nav.jump a{margin-right:18px;font-weight:700;color:#16283f;text-decoration:none}
nav.jump a:last-child{margin-right:0}
.hero{background:#16283f;color:#fff;border-radius:12px;padding:32px 26px;margin:0 0 32px}
.hero h1{font-size:2.4rem;line-height:1.15;margin:0 0 10px;color:#fff}
.hero .tagline{font-size:1.25rem;color:#f5c518;font-weight:700;margin:0 0 12px}
.hero p{color:#d7dee8;margin:0;max-width:680px}
.catcards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 40px}
.catcard{display:block;background:#fff;border:1.5px solid #d5dbe4;border-top:6px solid #f5c518;border-radius:10px;padding:18px 20px;text-decoration:none;color:#16283f}
.catcard:hover{border-color:#16283f}
.catcard strong{display:block;font-size:1.15rem}
.catcard span{color:#55606e;font-size:0.95rem}
.cluster{margin:0 0 44px;scroll-margin-top:70px}
.cluster h2{border-top:0;padding-top:0;font-size:1.6rem;margin:0 0 4px}
.cluster .cluster-note{color:#55606e;margin:0 0 16px}
.guide-grid{display:grid;grid-template-columns:1fr;gap:14px}
.guide-card{background:#fff;border:1.5px solid #d5dbe4;border-radius:10px;padding:20px 22px}
.guide-card h3{font-size:1.15rem;line-height:1.35;margin:0 0 8px}
.guide-card h3 a{color:#16283f;text-decoration:none}
.guide-card h3 a:hover{text-decoration:underline}
.guide-card .meta{color:#55606e;font-size:0.95rem;margin:0}
h1{font-size:2rem;line-height:1.2;margin-top:28px}
h2{font-size:1.4rem;margin-top:2em;border-top:1px solid #ddd;padding-top:1em}
h2#steps,h2#parts,h2#pro{scroll-margin-top:64px}
h3.faq-q{font-size:1.1rem;margin:1.5em 0 0.25em}
ul.badges{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:10px}
li.badge{display:flex;align-items:center;gap:6px;background:#eef2f7;border:1.5px solid #16283f;border-radius:999px;padding:6px 12px;font-weight:700;font-size:0.95rem}
li.badge svg{flex:none}
ul,ol{padding-left:1.4em}
li{margin-bottom:0.4em}
.step{border:1px solid #d5dbe4;border-left:6px solid #16283f;border-radius:8px;padding:18px 20px 18px 84px;position:relative;margin:0 0 18px;background:#fff;box-shadow:0 1px 3px rgba(22,40,63,0.08)}
.step p{margin:0}
.stepnum{position:absolute;left:20px;top:14px;font-size:2.2rem;font-weight:800;color:#16283f;line-height:1}
.step.callout-yellow{background:#ffef8a;border:2px solid #c9a000;border-left:6px solid #c9a000}
.step.callout-red{background:#fde8e8;border:2px solid #b91c1c;border-left:6px solid #b91c1c}
.callout-yellow{background:#ffef8a;border:2px solid #c9a000;border-radius:8px;padding:18px 20px;margin:0 0 18px;color:#16181d}
.callout-red{background:#fde8e8;border:2px solid #b91c1c;border-radius:8px;padding:18px 20px;margin:0 0 18px;color:#16181d}
.callout-red p,.callout-yellow p{margin:0}
.callout-label{font-weight:800;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:6px}
ul.checklist{list-style:none;padding-left:0;background:#fff;border:1px solid #d5dbe4;border-radius:8px;padding:4px 20px}
ul.checklist li{padding:12px 0;border-bottom:1px solid #e5e8ec;margin-bottom:0}
ul.checklist li:last-child{border-bottom:0}
ul.checklist input{width:20px;height:20px;margin-right:12px;vertical-align:middle;accent-color:#16283f}
ul.checklist label{cursor:pointer}
.pro-box{background:#16283f;color:#fff;border-radius:10px;padding:8px 24px 24px;margin-top:2em}
.pro-box h2{color:#fff;border-top:0}
.pro-box a{color:#9cc3f0}
footer{max-width:1120px;margin:0 auto;border-top:1px solid #ddd;padding:20px 18px 48px;color:#666;font-size:0.9rem}
@media (min-width:700px){
header.site .brand{font-size:1.8rem}
.hero{padding:40px 36px}
.hero h1{font-size:2.8rem}
.catcards{grid-template-columns:repeat(3,1fr)}
.guide-grid{grid-template-columns:1fr 1fr}
}
