:root{
  --navy:#0B1B2B;
  --bg:#F7F8FA;
  --text:#0D1117;
  --muted:#6B7785;
  --line:#E5E7EB;
  --accent:#2F6BFF;
  --radius:18px;
  --max:1120px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:var(--bg);}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
header{position:sticky;top:0;z-index:20;background:rgba(247,248,250,0.9);backdrop-filter:saturate(1.1) blur(10px);border-bottom:1px solid var(--line);}
.wrap{max-width:var(--max);margin:0 auto;padding:18px 22px;}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.brand{display:flex;align-items:center;gap:14px;min-width:220px;}
.brand img{height:34px;width:auto}
.nav{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:flex-end}
.nav a{font-size:14px;color:#111827;padding:10px 10px;border-radius:999px}
.nav a[aria-current="page"]{background:#EEF2FF;color:#111827;text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);padding:12px 16px;border-radius:999px;color:#111827;background:white;font-weight:600}
.btn.primary{background:var(--navy);color:white;border-color:var(--navy)}
.btn.primary:hover{filter:brightness(1.05);text-decoration:none}
.btn:hover{text-decoration:none}
.hero{padding:70px 0 34px}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:26px;align-items:end}
@media (max-width: 900px){.hero-grid{grid-template-columns:1fr;}}
.kicker{letter-spacing:0.24em;text-transform:uppercase;font-size:12px;color:var(--muted)}
h1{font-size:54px;line-height:1.02;margin:12px 0 12px;letter-spacing:-0.02em}
@media (max-width: 520px){h1{font-size:40px}}
.lead{font-size:18px;color:#1F2937;max-width:62ch;line-height:1.6}
.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width: 900px){.grid3{grid-template-columns:1fr;}}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width: 900px){.grid2{grid-template-columns:1fr;}}
.section{padding:26px 0}
.section h2{font-size:26px;margin:0 0 12px}
.section p{margin:0 0 10px;color:#374151;line-height:1.7}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#F3F4F6;color:#111827;font-size:13px;font-weight:600}
hr.sep{border:none;border-top:1px solid var(--line);margin:22px 0}
.footer{border-top:1px solid var(--line);padding:28px 0;margin-top:40px;color:#4B5563}
.footer a{color:#374151}
.small{font-size:13px;color:#6B7280}
.page-title{padding:34px 0 8px}
.page-title h1{font-size:38px}
.list{display:flex;flex-direction:column;gap:12px}
.item{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:16px;border:1px solid var(--line);background:white}
.item .meta{display:flex;flex-wrap:wrap;gap:10px;color:#6B7280;font-size:13px}
blockquote{margin:0;padding:16px 18px;border-left:4px solid #D1D5DB;background:#F9FAFB;border-radius:12px;color:#374151}
.form{display:grid;gap:12px}
input,textarea,select{padding:12px 12px;border-radius:12px;border:1px solid var(--line);font:inherit;background:white}
textarea{min-height:120px;resize:vertical}
.notice{padding:14px 16px;border:1px solid #E0E7FF;background:#EEF2FF;border-radius:14px;color:#1F2937}