:root{
  --ink:#1b1f23; --muted:#5b6570; --line:#e3e7eb; --accent:#0f5fb3; --bg-soft:#f6f8fa; --warn-bg:#fff8e6; --warn-line:#e8c766;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink); line-height:1.6; background:#fff;
}
header.site{
  border-bottom:1px solid var(--line); padding:14px 20px; display:flex; align-items:center;
  justify-content:space-between; flex-wrap:wrap; gap:10px; position:sticky; top:0; background:#fff; z-index:10;
}
.brand{font-weight:700; font-size:18px; color:var(--ink); text-decoration:none;}
nav.site{display:flex; align-items:center; flex-wrap:wrap;}
nav.site a{
  color:var(--muted); text-decoration:none; margin-left:18px; font-size:14px;
}
nav.site a:hover, nav.site a.active{color:var(--accent);}
.nav-toggle{
  display:none; background:none; border:1px solid var(--line); border-radius:6px; padding:6px 10px; font-size:14px; cursor:pointer;
}
main{max-width:760px; margin:0 auto; padding:32px 20px 20px;}
section{scroll-margin-top:70px;}
.disclaimer{
  background:var(--warn-bg); border:1px solid var(--warn-line); border-radius:8px;
  padding:14px 16px; font-size:14px; color:#5c4b12; margin-bottom:28px;
}
.disclaimer strong{display:block; margin-bottom:4px; color:#4a3c0d;}
h1{font-size:28px; line-height:1.25; margin:0 0 6px;}
.byline{color:var(--muted); font-size:14px; margin-bottom:28px;}
.byline span{margin-right:14px;}
h2{font-size:21px; margin:36px 0 12px; border-top:1px solid var(--line); padding-top:24px;}
h2.no-border{border:none; padding-top:0; margin-top:0;}
h3{font-size:17px; margin:22px 0 8px;}
p{margin:0 0 14px;}
ol,ul{margin:0 0 16px; padding-left:22px;}
li{margin-bottom:6px;}
.toc{background:var(--bg-soft); border:1px solid var(--line); border-radius:8px; padding:16px 20px; margin-bottom:8px;}
.toc h2{margin:0 0 10px; border:none; padding:0; font-size:16px;}
.toc ol{margin:0; padding-left:20px;}
.toc a{color:var(--accent); text-decoration:none; font-size:14px;}
.callout{
  background:var(--bg-soft); border-left:3px solid var(--accent); padding:12px 16px;
  border-radius:4px; font-size:14px; margin:16px 0;
}
table{width:100%; border-collapse:collapse; margin:16px 0; font-size:14px;}
th,td{text-align:left; border:1px solid var(--line); padding:8px 10px;}
th{background:var(--bg-soft);}
.brand-links{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:16px 0;}
.brand-links a{
  display:block; border:1px solid var(--line); border-radius:6px; padding:10px 12px;
  text-decoration:none; color:var(--ink); font-size:14px;
}
.brand-links a:hover{border-color:var(--accent); color:var(--accent);}
.faq-item{margin-bottom:16px;}
.faq-item h3{margin-bottom:4px;}
.info-card{
  background:var(--bg-soft); border:1px solid var(--line); border-radius:8px; padding:18px 20px; margin:16px 0; font-size:14px;
}
.info-card div{margin-bottom:6px;}
.section-block{border-top:1px solid var(--line); padding-top:24px; margin-top:16px;}
footer.site{
  border-top:1px solid var(--line); padding:28px 20px; margin-top:40px; font-size:13px; color:var(--muted);
}
footer.site .foot-inner{max-width:760px; margin:0 auto;}
footer.site a{color:var(--muted); margin-right:16px; text-decoration:underline;}
footer.site .legal{margin-top:14px; font-size:12px; line-height:1.6;}
.small-muted{font-size:12px; color:var(--muted);}

form.contact-form{max-width:480px;}
form.contact-form label{display:block; font-size:13px; font-weight:600; margin-bottom:4px; margin-top:14px;}
form.contact-form input, form.contact-form textarea{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:6px; font-size:14px; font-family:inherit;
}
form.contact-form textarea{min-height:120px; resize:vertical;}
form.contact-form button{
  margin-top:18px; background:var(--accent); color:#fff; border:none; padding:11px 22px;
  border-radius:6px; font-size:14px; cursor:pointer;
}
form.contact-form button:hover{opacity:0.9;}
.form-msg{padding:10px 14px; border-radius:6px; font-size:14px; margin-bottom:16px;}
.form-msg.success{background:#e6f6ea; border:1px solid #a9dcb8; color:#1e5c2e;}
.form-msg.error{background:#fdeaea; border:1px solid #f0b8b8; color:#7a1f1f;}
.hp-field{position:absolute; left:-9999px; top:-9999px;}

@media (max-width:640px){
  .nav-toggle{display:inline-block;}
  nav.site{display:none; width:100%; flex-direction:column; align-items:flex-start; margin-top:10px;}
  nav.site.open{display:flex;}
  nav.site a{margin:6px 0;}
}
