*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#F6F7F9;color:#0F1E35;font-family:'Plus Jakarta Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#0F1E35}a:hover{color:#8A6420}
a:focus-visible{outline:3px solid #C9A04F;outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.top{background:#0F1E35;color:#fff}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.brand:hover{color:#fff}
.mark{width:44px;height:44px;background:#fff;color:#0F1E35;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;border-bottom:4px solid #C9A04F}
.brand b{display:block;font-weight:800;font-size:17px;letter-spacing:2px}
.brand small{display:block;font-size:11px;letter-spacing:1.5px;color:#B9C3D3}
.top nav{display:flex;flex-wrap:wrap;gap:24px;font-size:15px;font-weight:500}
.top nav a{color:#DCE2EC;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.top nav a:hover,.top nav a[aria-current]{color:#C9A04F}
.hero{background:#0F1E35;color:#fff;border-top:1px solid #22344F}
.hero .wrap{padding-top:64px;padding-bottom:72px}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:2px;color:#C9A04F}
.hero h1{margin:14px 0 12px;font-size:48px;line-height:1.08;font-weight:800;letter-spacing:-1.2px}
.hero p{margin:0;font-size:17px;line-height:1.6;color:#C9D2E0;max-width:720px}
.layout{display:flex;flex-wrap:wrap;gap:48px;padding-top:64px;padding-bottom:96px;align-items:flex-start}
.toc{flex:1 1 240px;min-width:0;position:sticky;top:24px;background:#fff;border:1px solid #DDE2EA;padding:24px}
.toc span{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:2px;color:#8A6420}
.toc ol{margin:14px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.4}
.toc a{color:#4A5872;text-decoration:none}.toc a:hover{color:#0F1E35;text-decoration:underline}
.doc{flex:999 1 560px;min-width:0;background:#fff;border:1px solid #DDE2EA;padding:48px 52px}
.doc h2{font-size:24px;font-weight:700;margin:44px 0 14px;scroll-margin-top:24px;padding-top:28px;border-top:1px solid #E8ECF1}
.doc h2:first-child{margin-top:0;padding-top:0;border-top:0}
.doc h3{font-size:17px;font-weight:700;margin:24px 0 8px}
.doc p,.doc li{font-size:16px;line-height:1.7;color:#33415A}
.doc ul{padding-left:22px}
.doc li{margin-bottom:6px}
.doc strong{color:#0F1E35}
.note{background:#F6F1E6;border:1px solid #E6D7B5;padding:18px 20px;font-size:15px;line-height:1.6;color:#4A3A16}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:8px 0 8px}
.card{display:flex;flex-direction:column;gap:6px;background:#F6F7F9;border:1px solid #DDE2EA;padding:24px;text-decoration:none;color:#0F1E35;min-height:44px}
.card:hover{border-color:#0F1E35;color:#0F1E35}
.card small{font-size:13px;color:#4A5872}
.card b{font-size:18px}
.card span{font-size:14px;color:#4A5872;line-height:1.5}
.card.alt{background:#0F1E35;border-color:#0F1E35;color:#fff}.card.alt small,.card.alt span{color:#C9D2E0}.card.alt b{color:#C9A04F}
table{width:100%;border-collapse:collapse;font-size:15px}
.tbl{overflow-x:auto;margin:8px 0 16px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #E8ECF1;vertical-align:top;line-height:1.55;color:#33415A}
th{font-weight:700;color:#0F1E35;background:#F6F7F9}
.foot{background:#0A1527;color:#9FB0C9}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:28px;padding-bottom:28px;font-size:14px}
.foot nav{display:flex;flex-wrap:wrap;gap:20px}
.foot a{color:#C9D2E0;text-decoration:none}.foot a:hover{color:#C9A04F}
@media (max-width:760px){
 .hero h1{font-size:34px}
 .doc{padding:28px 22px}
 .toc{position:static}
}
