:root{--navy:#20405f;--navy-700:#2c5476;--navy-900:#152d44;--terra:#d4663d;--terra-600:#bf532c;--sage:#7c9f6f;--sage-soft:#e7efe0;--cream:#faf5ea;--cream-2:#f3e9d6;--card:#fffdf8;--ink:#2b3242;--muted:#6f7682;--line:#e8dcc6;--line-strong:#d9c9aa;--fd:"Zen Maru Gothic",system-ui,sans-serif;--fb:"Zen Kaku Gothic New",system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--fb);color:var(--ink);background:var(--cream);font-size:17px;line-height:1.95;-webkit-font-smoothing:antialiased}
a{color:var(--terra)}
.wrap{max-width:760px;margin:0 auto;padding:0 22px}
header.site{position:sticky;top:0;z-index:50;background:rgba(250,245,234,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{max-width:1120px;display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:900;font-size:17px;color:var(--navy);text-decoration:none}
.logo svg{width:28px;height:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;border-radius:999px;text-decoration:none;color:#fff;background:var(--terra);box-shadow:0 6px 0 0 var(--terra-600);padding:14px 28px;font-size:16px}
.btn-sm{padding:9px 18px;font-size:14px;box-shadow:0 4px 0 0 var(--terra-600)}
.crumb{font-size:13px;color:var(--muted);padding:18px 0 0}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{text-decoration:underline}
article{padding:18px 0 40px}
.cat{display:inline-block;font-family:var(--fd);font-weight:700;font-size:13px;color:var(--navy);background:#fff;border:1.5px solid var(--line-strong);padding:4px 14px;border-radius:999px;margin:14px 0 14px}
h1{font-family:var(--fd);font-weight:900;color:var(--navy);font-size:clamp(25px,6vw,34px);line-height:1.45;margin-bottom:10px}
.subtitle{font-family:var(--fd);font-weight:700;color:var(--terra);font-size:clamp(16px,4.2vw,19px);line-height:1.6;margin:0 0 10px}
.date{font-size:13px;color:var(--muted);margin-bottom:22px}
.answer{background:#fff;border:2px solid var(--sage);border-radius:16px;padding:20px 22px;margin:8px 0 30px}
.answer .lbl{font-family:var(--fd);font-weight:900;color:var(--sage);font-size:14px;margin-bottom:6px}
.answer p{font-size:16.5px}
article h2{font-family:var(--fd);font-weight:900;color:var(--navy);font-size:clamp(21px,5vw,25px);line-height:1.5;margin:44px 0 14px;padding-left:14px;border-left:5px solid var(--terra)}
article p{margin:0 0 14px}
article ul,article ol{margin:0 0 16px 1.3em}
article li{margin:4px 0}
article strong{color:var(--navy)}
.check{list-style:none;margin-left:0!important;background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:16px 20px}
.check li{position:relative;padding-left:30px;margin:8px 0}
.check li::before{content:"";position:absolute;left:0;top:.45em;width:18px;height:18px;border:2.5px solid var(--terra);border-radius:5px;background:#fff}
.check-foot{font-family:var(--fd);font-weight:700;color:var(--terra);margin-top:10px}
.selfhelp{counter-reset:s;list-style:none;margin-left:0!important}
.selfhelp li{counter-increment:s;position:relative;padding:14px 16px 14px 56px;background:#fff;border:1.5px solid var(--line);border-radius:14px;margin:10px 0}
.selfhelp li::before{content:counter(s);position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--fd);font-weight:900;display:grid;place-items:center;font-size:15px}
.steps{list-style:none;margin-left:0!important;display:grid;gap:12px}
.steps li{background:var(--sage-soft);border-radius:14px;padding:14px 18px}
.case{background:var(--cream-2);border-radius:16px;padding:18px 22px}
.price{background:var(--navy);color:#fff;border-radius:18px;padding:24px;margin-top:10px}
.price p{color:#e3ebf3}
.price strong{color:#ffd9c6}
.price .btn{margin-top:10px}
.faq dt{font-family:var(--fd);font-weight:700;color:var(--navy);margin-top:18px;padding-left:30px;position:relative}
.faq dt::before{content:"Q";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:6px;background:var(--navy);color:#fff;font-size:13px;display:grid;place-items:center}
.faq dd{margin:6px 0 0;padding-left:30px}
.cta-box{text-align:center;background:#fff;border:2.5px solid var(--terra);border-radius:20px;padding:28px 22px;margin:44px 0 10px}
.cta-box p{font-family:var(--fd);font-weight:700;color:var(--navy);font-size:18px}
.cta-box .sub{font-family:var(--fb);font-weight:500;font-size:13px;color:var(--muted);margin-top:10px}
.related{margin-top:40px}
.related ul{list-style:none;margin:0!important;display:grid;gap:10px}
.related a{display:block;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 16px;text-decoration:none;color:var(--navy);font-weight:700;font-size:15px}
.hub-cat{margin:40px 0 0}
.hub-cat h2{font-family:var(--fd);font-weight:900;color:var(--navy);font-size:22px;margin-bottom:12px}
.hub-list{list-style:none;display:grid;gap:10px;margin-left:0!important}
.hub-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.hub-nav a{font-family:var(--fd);font-weight:700;font-size:13px;color:var(--navy);background:#fff;border:1.5px solid var(--line-strong);border-radius:999px;padding:5px 14px;text-decoration:none}
.hub-list a{display:block;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 16px;text-decoration:none;color:var(--navy);font-weight:700;font-size:15px;line-height:1.6}
.hub-list a span{display:block;font-weight:500;color:var(--muted);font-size:13px}
footer.site{background:var(--navy-900);color:#c7d2dd;padding:34px 0;font-size:13px;margin-top:60px}
footer.site a{color:#c7d2dd;margin-right:16px;text-decoration:none}
@media(min-width:900px){.related ul,.hub-list{grid-template-columns:1fr 1fr}}
