:root{--brand:#0b7a53;--ink:#111111;--soft:#f2f5f3;--line:#d9dfdb;--bg:#ffffff;--muted:#5f6661}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Gothic A1', sans-serif;line-height:1.75;word-break:keep-all;overflow-wrap:anywhere}
a{color:var(--brand)}img{max-width:100%;height:auto}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}.narrow{max-width:760px;margin:0 auto;padding:0 20px}
.notice{background:var(--soft);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);padding:9px 0}
.notice a{font-weight:700}
header.site{border-bottom:1px solid var(--line);background:var(--bg)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.logo{font-weight:800;text-decoration:none;color:var(--ink);font-size:20px;letter-spacing:-0.02em}
.logo small{display:block;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0}
nav.menu{display:flex;gap:18px;flex-wrap:wrap;font-size:15px}nav.menu a{color:var(--ink);text-decoration:none}nav.menu a:hover{color:var(--brand)}
main{padding:36px 0 56px}
.crumb{font-size:13px;color:var(--muted);margin-bottom:18px}.crumb a{color:var(--muted)}
h1{font-size:clamp(26px,4.4vw,38px);line-height:1.3;margin:0 0 14px}
h2{font-size:clamp(20px,3vw,25px);line-height:1.4;margin:44px 0 14px}
h3{font-size:18px;margin:0 0 6px}
.date{font-size:13px;color:var(--muted);margin-bottom:22px}
.lead{background:var(--soft);border-left:4px solid var(--brand);padding:18px 22px;border-radius:0 10px 10px 0;margin:0 0 8px}
article p{margin:0 0 16px}article ul,article ol{padding-left:22px;margin:0 0 16px}article li{margin-bottom:6px}
.tbl{overflow-x:auto;margin:0 0 16px}table{border-collapse:collapse;width:100%;font-size:15px}
th,td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}th{background:var(--soft)}
ol.steps{list-style:none;padding:0;counter-reset:s}ol.steps li{counter-increment:s;position:relative;padding:0 0 14px 44px}
ol.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:14px}
dl.faq div{border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:10px}dl.faq dt{font-weight:700;margin-bottom:6px}dl.faq dd{margin:0;color:var(--muted)}
ul.links{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
ul.links a{display:block;border:1px solid var(--line);border-radius:10px;padding:13px 16px;text-decoration:none;color:var(--ink);font-weight:600;height:100%;background:var(--bg)}
ul.links a:hover{border-color:var(--brand);color:var(--brand)}ul.links span{display:block;font-weight:400;font-size:13px;color:var(--muted);margin-top:4px}
.cta{margin-top:44px;padding:24px;border-radius:12px;background:var(--soft);border:1px solid var(--line)}.cta p{margin:0 0 10px}
.btn{display:inline-block;background:var(--brand);color:#fff;text-decoration:none;font-weight:700;padding:11px 22px;border-radius:0}
footer.site{border-top:1px solid var(--line);padding:28px 0 40px;font-size:13px;color:var(--muted)}footer.site a{color:var(--muted)}
footer.site p{margin:0 0 6px}
ul.sources{font-size:14px;color:var(--muted)}ul.sources a{color:var(--muted)}
main.homemain{padding:0}.card h3 a{text-decoration:none}
@media (max-width:640px){nav.menu{gap:12px;font-size:14px}main{padding:26px 0 44px}}
.logo{font-size:24px;font-weight:800;text-transform:lowercase}.notice{background:#111;color:#e8ece9;border:0}.notice a{color:#7fe0b6}.notice b{color:#fff}.home .hero{padding:64px 0 48px;border-bottom:6px solid var(--ink)}.hero .kicker{font-weight:800;color:var(--brand);margin:0 0 10px;font-size:14px}.hero h1{font-size:clamp(32px,6vw,60px);letter-spacing:-.03em;line-height:1.15;max-width:12em}.herotext{max-width:40em;font-size:17px;margin:0 0 26px}.sec{padding:52px 0;border-bottom:1px solid var(--line)}.sec h2{margin-top:0;font-size:clamp(22px,3.4vw,32px);letter-spacing:-.02em}.sub{color:var(--muted);margin-top:-4px}.more{margin:16px 0 0}ol.timeline{list-style:none;padding:0;margin:0;border-left:3px solid var(--ink)}ol.timeline li{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:0 0 26px 18px;position:relative}ol.timeline li:before{content:'';position:absolute;left:-8px;top:8px;width:13px;height:13px;background:var(--brand)}ol.timeline b{font-size:20px}ol.timeline p{margin:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0;border-top:2px solid var(--ink)}.card{padding:22px 18px 22px 0;border-bottom:1px solid var(--line)}.card .tag{font-size:12px;font-weight:800;color:var(--brand)}.card h3 a{color:var(--ink)}.card p{margin:0;color:var(--muted);font-size:15px}.narrowtext{max-width:780px}ul.links a{border-width:0 0 1px 0;border-radius:0;padding-left:0}@media (max-width:640px){ol.timeline li{grid-template-columns:1fr;gap:4px}}
