:root{
  --ink:#0F1E2E;--ink-2:#414C53;--ink-3:#6B757C;--paper:#F7F6F2;--rule:#C6CBC2;--rule-2:#DDE0D8;
  --brand:#1B4B87;--navy:#142C48;--navy-2:#1E3E5E;--gold:#C99A3E;--mist:#EAF0F6;--teal-soft:#DCE6F2;
  --f-display:"Archivo",system-ui,sans-serif;--f-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --pad:clamp(20px,4.4vw,64px);
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:90px;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased;}
a{color:var(--brand);}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--pad);}
.mono{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;}

.utilbar{background:var(--navy);}
.utilbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:9px;padding-bottom:9px;}
.utilbar .mono{font-size:10.5px;color:#9FB2C4;}
.utilbar a{color:#fff;text-decoration:none;}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule-2);}
.nav .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:14px;padding-bottom:14px;}
.brandlock{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;}
.brandtext{display:flex;flex-direction:column;line-height:1.1;gap:3px;}
.wordmark{font-family:var(--f-display);font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--ink);}
.wordmark .tld{color:var(--brand);font-weight:600;}
.tagline{font-size:10px;letter-spacing:.16em;color:var(--ink-3);}
.mark{width:30px;height:30px;border:2px solid var(--navy);border-radius:50%;display:grid;place-items:center;flex:none;}
.mark::before{content:"";width:11px;height:11px;background:var(--gold);border-radius:50%;}
.back{font-family:var(--f-display);font-size:14.5px;font-weight:600;text-decoration:none;background:var(--brand);color:#fff;padding:11px 18px;border-radius:3px;}
.back:hover{background:var(--navy);}

.lhero{background:radial-gradient(900px 400px at 90% -20%,var(--glow,rgba(43,106,180,.5)),transparent 60%),linear-gradient(180deg,var(--navy),var(--deep-end,#0F2437));color:#fff;padding:clamp(48px,6vw,88px) 0 clamp(40px,5vw,64px);position:relative;}
.lhero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--brand) 0 60%,var(--gold) 60% 100%);}
.lhero .eyebrow{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 18px;}
.lhero h1{font-family:var(--f-display);font-size:clamp(40px,6vw,72px);font-weight:800;letter-spacing:-.035em;line-height:.98;margin:0 0 20px;}
.lhero p{color:#C9D5E0;font-size:clamp(17px,1.8vw,20px);max-width:60ch;margin:0;}
.lhero .meta{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px 28px;}
.lhero .meta span{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#A9C6E6;}

.doc{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(28px,5vw,72px);padding:clamp(44px,6vw,80px) 0 clamp(56px,7vw,100px);align-items:start;}
.toc{position:sticky;top:96px;background:#fff;border:1px solid var(--rule-2);border-radius:6px;padding:20px 22px;}
.toc .mono{color:var(--brand);font-weight:600;display:block;margin-bottom:12px;}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:t;}
.toc li{counter-increment:t;border-top:1px solid var(--rule-2);}
.toc a{display:grid;grid-template-columns:28px 1fr;padding:8px 0;font-family:var(--f-display);font-size:14px;color:var(--ink-2);text-decoration:none;line-height:1.35;}
.toc a::before{content:counter(t,decimal-leading-zero);font-family:var(--f-mono);font-size:11px;color:var(--gold);padding-top:2px;}
.toc a:hover{color:var(--brand);}

.body{max-width:76ch;}
.body section{padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--rule-2);}
.body section:last-child{border-bottom:0;}
.body h2{font-family:var(--f-display);font-size:clamp(22px,2.4vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0 0 14px;color:var(--navy);display:flex;gap:14px;align-items:baseline;}
.body h2 .n{font-family:var(--f-mono);font-size:12px;font-weight:600;color:var(--gold);letter-spacing:.08em;flex:none;}
.body h3{font-family:var(--f-display);font-size:17px;font-weight:600;margin:20px 0 6px;color:var(--ink);}
.body p,.body li{color:var(--ink-2);}
.body p{margin:0 0 14px;}
.body ul{margin:0 0 14px;padding-left:20px;}
.body li{margin-bottom:6px;}
.body li::marker{color:var(--brand);}
.callout{background:var(--teal-soft);border-radius:6px;padding:18px 22px;margin:4px 0 16px;}
.callout p{margin:0;color:var(--ink);}
.idcard{background:#fff;border:1px solid var(--rule-2);border-top:4px solid var(--brand);border-radius:6px;padding:20px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;margin:6px 0 16px;}
.idcard .mono{color:var(--brand);font-weight:600;display:block;margin-bottom:4px;font-size:10.5px;}
.idcard p{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink);}
table.dt{width:100%;border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden;margin:6px 0 16px;font-size:15px;}
table.dt th{background:var(--navy);color:#fff;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:12px 16px;font-weight:600;}
table.dt td{padding:13px 16px;border-bottom:1px solid var(--rule-2);vertical-align:top;color:var(--ink-2);line-height:1.5;}
table.dt tr:nth-child(even) td{background:#F8FAFB;}
table.dt td:first-child{font-family:var(--f-display);font-weight:600;color:var(--navy);}

footer{background:var(--deepest,#0A1B2B);color:#B7C4D0;border-top:4px solid var(--gold);padding:40px 0;}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;align-items:baseline;}
footer .mono{color:#7F93A6;line-height:1.8;}
footer a{color:#fff;text-decoration:none;}
footer a:hover{color:var(--gold);}
footer .links{display:flex;gap:22px;}

@media (max-width:900px){
  .doc{grid-template-columns:1fr;}
  .toc{position:static;}
}
@media (max-width:640px){
  .utilbar .wrap>span{display:none;}
  .utilbar .wrap{justify-content:center;}
  .tagline{display:none;}
  .idcard{grid-template-columns:1fr;}
  table.dt thead{display:none;}
  table.dt,table.dt tbody,table.dt tr,table.dt td{display:block;}
  table.dt tr{border-bottom:1px solid var(--rule-2);padding:10px 0;}
  table.dt td{border:0;padding:3px 16px;}
}
@media print{.utilbar,.nav,.toc{display:none;}.doc{grid-template-columns:1fr;}.lhero{background:#fff;color:#000;}.lhero h1{color:#000;}}

.logo{width:40px;height:40px;flex:none;display:block;}
.logo svg{width:100%;height:100%;display:block;}
.lg-bg{fill:var(--navy);}
.lg-fg-s{stroke:#fff;}
.lg-fg-f{fill:#fff;}
.lg-ring{stroke:var(--navy);}
.brandlock{gap:13px;}
