:root{--c:#1f4e79;--c2:#163a5c;--a:#e8892b;--a2:#c96f16;--t:#1d2430;--m:#5b6573;--b:#e3e7ec;--bg:#f6f8fa;--r:10px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--t);background:#fff;padding-bottom:64px}
img{max-width:100%;height:auto}a{color:var(--c)}a:hover{color:var(--c2)}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
header.site{background:#fff;border-bottom:1px solid var(--b);position:sticky;top:0;z-index:20}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.brand{font-weight:800;text-decoration:none;color:var(--c2);font-size:1.05rem;line-height:1.2}
.brand span{color:var(--a2)}
.navtoggle{background:none;border:1px solid var(--b);border-radius:8px;padding:8px 10px;font-size:.95rem;cursor:pointer}
nav.main{display:none;border-top:1px solid var(--b);background:#fff}
nav.main.open{display:block}
nav.main ul{list-style:none;margin:0;padding:8px 18px}nav.main li a{display:block;padding:9px 0;text-decoration:none;color:var(--t);font-weight:600}
.hero{background:linear-gradient(135deg,var(--c2),var(--c));color:#fff;padding:38px 0 34px}
.hero h1{margin:0 0 10px;font-size:1.8rem;line-height:1.2}.hero p{margin:0 0 18px;font-size:1.08rem;opacity:.95;max-width:46rem}
.btn{display:inline-block;background:var(--a);color:#fff;text-decoration:none;font-weight:700;padding:12px 20px;border-radius:8px;border:0;font-size:1rem;cursor:pointer}
.btn:hover{background:var(--a2);color:#fff}.btn.ghost{background:transparent;border:2px solid #fff;margin-left:8px}
main section{padding:30px 0}main section.alt{background:var(--bg)}
h1,h2,h3{line-height:1.25;color:var(--c2)}.hero h1{color:#fff}
h2{font-size:1.45rem;margin:0 0 12px}h3{font-size:1.12rem;margin:22px 0 6px}
.grid{display:grid;gap:16px}.card{border:1px solid var(--b);border-radius:var(--r);padding:18px;background:#fff}
.card h3{margin-top:0}
table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.95rem}th,td{border:1px solid var(--b);padding:9px;text-align:left;vertical-align:top}th{background:var(--bg)}
.tablewrap{overflow-x:auto}
.note{font-size:.88rem;color:var(--m)}.src{font-size:.85rem;color:var(--m);border-left:3px solid var(--b);padding-left:10px}
.callout{background:#fff8ef;border:1px solid #f3d3a8;border-radius:var(--r);padding:14px 16px;margin:16px 0}
.formbox{background:#fff;border:1px solid var(--b);border-radius:var(--r);padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.formbox h2{margin-top:0}
label{display:block;font-weight:600;margin:12px 0 4px;font-size:.95rem}
input,select,textarea{width:100%;padding:11px;border:1px solid #c5ccd5;border-radius:8px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--c);border-color:var(--c)}
.row2{display:grid;gap:0 14px}.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.consent{font-size:.82rem;color:var(--m);margin:12px 0}
.crumbs{font-size:.85rem;color:var(--m);padding:12px 0 0}.crumbs a{color:var(--m)}
details{border:1px solid var(--b);border-radius:8px;padding:12px 14px;margin:10px 0;background:#fff}summary{font-weight:700;cursor:pointer;color:var(--c2)}
footer.site{background:#10202f;color:#cfd6de;padding:28px 0;font-size:.9rem}footer.site a{color:#fff}
footer.site .disc{border-top:1px solid #2a3b4c;margin-top:16px;padding-top:14px;color:#aab4bf}
footer.site ul{list-style:none;padding:0;margin:0;columns:2}footer.site li{margin:4px 0}
.mcall{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:0;box-shadow:0 -2px 8px rgba(0,0,0,.15)}
.mcall a{flex:1;text-align:center;padding:15px 8px;font-weight:800;text-decoration:none;color:#fff;background:var(--c)}
@media(min-width:760px){
 body{padding-bottom:0}.mcall{display:none}.navtoggle{display:none}
 nav.main{display:block;border-top:0}nav.main ul{display:flex;flex-wrap:wrap;gap:4px 18px;padding:0 18px 10px;max-width:1080px;margin:0 auto}
 nav.main li a{padding:4px 0;font-size:.93rem}
 .hero h1{font-size:2.3rem}.grid.c2{grid-template-columns:1fr 1fr}.grid.c3{grid-template-columns:repeat(3,1fr)}
 .split{display:grid;grid-template-columns:1.25fr 1fr;gap:30px;align-items:start}.row2{grid-template-columns:1fr 1fr}
}
