*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1d2b3a;background:#f4f8fc;line-height:1.55}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
.top{background:#fff;border-bottom:1px solid #dde7f1;position:sticky;top:0;z-index:5}
.top-in{display:flex;justify-content:space-between;align-items:center;height:60px}
.logo{font-size:1.15rem;color:#1f5f99}.logo strong{color:#0f3d66}.logo sup{font-size:.6em}
.by{font-size:.85rem;color:#6a7d90}
.hero{background:linear-gradient(135deg,#d9ecff 0%,#eaf5ff 45%,#e4f7ef 100%);padding:64px 0 56px}
.tag{display:inline-block;background:#1f5f99;color:#fff;border-radius:20px;padding:4px 14px;font-size:.85rem;margin:0 0 14px}
h1{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.2;margin:0 0 16px;color:#0f3d66;max-width:780px}
.lead{font-size:1.15rem;max-width:720px;margin:0}
main{padding:32px 20px 100px}
.card{background:#fff;border:1px solid #dde7f1;border-radius:14px;padding:24px 26px;margin:0 0 22px;box-shadow:0 2px 10px rgba(15,61,102,.05)}
h2{margin:0 0 10px;color:#0f3d66}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:0 0 22px}
.feat{background:#fff;border:1px solid #dde7f1;border-left:5px solid #3a8fd6;border-radius:12px;padding:18px}
.feat.wide{border-left-color:#2fa37a}
.feat h3{margin:0 0 6px;font-size:1.05rem;color:#0f3d66}.feat p{margin:0}
.price strong{font-size:1.3rem;color:#1f5f99}
.note{font-size:.88rem;color:#5b6e82}
fieldset{border:0;border-top:1px solid #e3ebf3;margin:0;padding:16px 0}
legend{font-weight:600;padding:0 0 8px}
.opt{display:block;padding:6px 0;cursor:pointer}
.opt input{margin-right:8px;accent-color:#1f5f99}
.txt{display:block;margin:0 0 12px;font-size:.95rem}
.txt input{display:block;width:100%;margin-top:4px;padding:10px 12px;border:1px solid #c4d3e2;border-radius:8px;font-size:1rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn{background:#1f5f99;color:#fff;border:0;border-radius:10px;padding:14px 26px;font-size:1.05rem;cursor:pointer}
.btn:hover{background:#174b7a}
.err{background:#fdecec;border:1px solid #f2b8b8;color:#8a1f1f;border-radius:8px;padding:10px 14px;margin:0 0 12px}
.float{position:fixed;right:18px;bottom:18px;background:#2fa37a;color:#fff;text-decoration:none;padding:12px 20px;border-radius:30px;box-shadow:0 6px 18px rgba(0,0,0,.18);font-weight:600;z-index:6}
.float:hover{background:#268a66}
.foot{font-size:.85rem;color:#6a7d90;padding-bottom:80px}
