:root{
  --yellow:#F2A20C; --ink:#14171A; --navy:#12395B; --navy-2:#0E2C46; --body:#444444;
  --muted:#6b6b6b; --line:#d9d9d9; --bg:#f3f2ef; --white:#ffffff;
  --soft:#fdf0d8; --soft-line:#f3ddb0;
  --ok:#1f7a3d; --okbg:#e2f3e8; --fail:#b3261e; --failbg:#fbe5e3;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Aptos","Segoe UI",system-ui,-apple-system,Arial,sans-serif;background:var(--bg);color:var(--body);font-size:14px;line-height:1.45}
.skip{position:absolute;left:-9999px;top:0;background:var(--yellow);color:var(--ink);font-weight:700;padding:10px 16px;border-radius:0 0 4px 0;z-index:50}
.skip:focus{left:0}
a{color:var(--navy)}
header{background:var(--navy);color:#fff;padding:18px 28px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
header .brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit}
header .logo{width:44px;height:44px;flex:0 0 auto;border-radius:8px}
header .wordmark{font-size:20px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
header .sub{color:#b9c6d6;font-size:12px;margin-top:2px;display:block}
header nav{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
header .navlink{color:var(--yellow);text-decoration:none;font-weight:700;font-size:12px;border:1px solid var(--yellow);padding:8px 15px;border-radius:4px;display:inline-block}
header .navlink:hover{background:var(--yellow);color:var(--ink)}
header .navlink.solid{background:var(--yellow);color:var(--ink)}
header .navlink.solid:hover{filter:brightness(.93)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.btn{display:inline-block;font-weight:800;font-size:14px;text-decoration:none;padding:13px 24px;border-radius:5px;border:2px solid transparent}
.btn-y{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.btn-y:hover{filter:brightness(.93)}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{filter:brightness(1.15)}

/* article shell */
.artwrap{max-width:1080px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:44px;align-items:start}
.artwrap>main{min-width:0}
@media(max-width:920px){.artwrap{grid-template-columns:1fr;gap:0}}
.crumb{max-width:1080px;margin:0 auto;padding:14px 20px 0;font-size:12px;color:var(--muted)}
.crumb a{color:var(--muted);text-decoration:none;border-bottom:1px solid #cfcfcf}
.crumb a:hover{color:var(--navy);border-color:var(--navy)}
.crumb span{margin:0 7px;color:#b5b5b5}
article{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:38px 44px 42px;margin:18px 0 46px;min-width:0}
@media(max-width:620px){article{padding:26px 20px 30px;border-radius:0;border-left:0;border-right:0;margin-left:-20px;margin-right:-20px}}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#a9760a}
article h1{font-size:34px;line-height:1.16;font-weight:800;color:var(--ink);margin-top:12px;letter-spacing:-.015em;max-width:22ch}
@media(max-width:620px){article h1{font-size:26px}}
.rule{height:3px;background:var(--yellow);width:54px;margin:16px 0 22px;border-radius:2px}
.answer{background:var(--soft);border:1px solid var(--soft-line);border-left:4px solid var(--yellow);border-radius:0 6px 6px 0;padding:18px 22px;font-size:15.5px;line-height:1.62;color:var(--ink)}
.answer b{font-weight:800}
.meta{font-size:11.5px;color:var(--muted);margin-top:18px;display:flex;flex-wrap:wrap;gap:6px 16px}
article h2{font-size:22px;line-height:1.3;font-weight:800;color:var(--ink);margin:34px 0 4px;letter-spacing:-.01em;scroll-margin-top:20px}
article h2::after{content:'';display:block;height:3px;width:38px;background:var(--yellow);border-radius:2px;margin-top:9px}
article h3{font-size:16px;font-weight:800;color:var(--ink);margin:24px 0 7px}
article .tblwrap+h3,article table+h3,article .tblwrap+p{margin-top:22px}
article p{font-size:15px;line-height:1.68;margin-top:13px;max-width:70ch}
article p b,article li b{color:var(--ink);font-weight:700}
article ul,article ol{margin:13px 0 0 0;padding-left:22px;font-size:15px;line-height:1.68;max-width:70ch}
article li{margin-top:7px}
article ul.plain{list-style:none;padding-left:0}
article ul.plain li{padding-left:22px;position:relative}
article ul.plain li::before{content:'\2713';position:absolute;left:0;color:var(--ok);font-weight:800}
blockquote{border-left:4px solid var(--navy);background:#f6f8fa;padding:14px 20px;margin:20px 0 0;font-size:15px;line-height:1.65;color:var(--ink);border-radius:0 5px 5px 0}
.example{border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:7px;padding:20px 22px 22px;margin-top:26px;background:#fafafa}
.example .cap{font-size:10.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--navy);margin-bottom:4px}
.example h3{margin-top:6px}
.tbl{width:100%;border-collapse:collapse;margin-top:16px;font-size:13.5px}
.tbl th,.tbl td{border:1px solid var(--line);padding:8px 11px;text-align:right;font-variant-numeric:tabular-nums}
.tbl th{background:var(--navy);color:#fff;font-weight:700;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;text-align:right}
.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl tbody tr:nth-child(even){background:#f4f4f2}
.tbl tr.total td{font-weight:800;color:var(--ink);background:var(--soft)}
.tblwrap{overflow-x:auto;margin-top:16px}
.tblwrap .tbl{margin-top:0;min-width:520px}
.callout{border:1px solid var(--soft-line);background:var(--soft);border-radius:6px;padding:15px 18px;margin-top:22px;font-size:14px;line-height:1.62}
.callout b{color:var(--ink)}
.warn{border:1px solid #f0cfcb;background:var(--failbg);border-radius:6px;padding:15px 18px;margin-top:22px;font-size:14px;line-height:1.62}
.warn b{color:var(--fail)}
.cta-box{background:var(--navy);color:#fff;border-radius:8px;padding:24px 26px;margin-top:32px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta-box h3{font-size:17px;font-weight:800;color:#fff;margin:0;max-width:34ch;line-height:1.35}
.cta-box p{font-size:13.5px;color:#c8d6e4;margin-top:7px;max-width:46ch;line-height:1.55}
.faq{margin-top:30px}
.faq details{background:#fafafa;border:1px solid var(--line);border-radius:6px;margin-bottom:8px}
.faq summary{cursor:pointer;padding:12px 16px;font-weight:700;font-size:14px;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:18px;font-weight:800;color:var(--muted)}
.faq details[open] summary::after{content:'\2212'}
.faq .a{padding:0 16px 15px;font-size:14px;line-height:1.65}
.faq .a p{font-size:14px;max-width:none}
.next{margin-top:34px;border-top:1px solid var(--line);padding-top:22px}
.next h2{margin-top:0;font-size:16px}
.next h2::after{display:none}
.next ul{list-style:none;padding:0;margin-top:10px}
.next li{margin-top:9px;font-size:14px}
.next a{font-weight:700;text-decoration:none;border-bottom:1px solid #b9c6d6}
.next a:hover{border-color:var(--navy)}
.next small{display:block;color:var(--muted);font-size:12.5px;font-weight:400;margin-top:2px}

/* sidebar */
aside{position:sticky;top:18px;margin-top:18px}
@media(max-width:920px){aside{position:static;margin:0 0 30px}}
.toc{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.toc h2{font-size:10.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.toc ol{list-style:none;padding:0;margin:0;font-size:13px;line-height:1.45}
.toc li{margin-top:8px}
.toc a{text-decoration:none;color:var(--body);border-left:2px solid var(--line);padding-left:10px;display:block}
.toc a:hover{color:var(--navy);border-color:var(--yellow)}
.side-cta{background:var(--soft);border:1px solid var(--soft-line);border-radius:8px;padding:16px 18px;margin-top:14px}
.side-cta b{display:block;color:var(--ink);font-size:14px;line-height:1.35}
.side-cta p{font-size:12.5px;line-height:1.55;margin-top:7px;color:var(--body)}
.side-cta .btn{margin-top:12px;font-size:13px;padding:10px 18px;display:block;text-align:center}

/* guides index */
.hero{background:var(--navy);color:#fff;border-bottom:4px solid var(--yellow)}
.hero-in{max-width:1080px;margin:0 auto;padding:46px 20px 42px}
.hero h1{font-size:36px;line-height:1.15;font-weight:800;color:#fff;margin-top:13px;max-width:20ch;letter-spacing:-.015em}
.hero .lede{font-size:16px;line-height:1.6;color:#d6e0ea;margin-top:16px;max-width:64ch}
@media(max-width:620px){.hero h1{font-size:27px}}
.wrap{max-width:1080px;margin:0 auto;padding:42px 20px 50px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:760px){.cards{grid-template-columns:1fr}}
.card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--yellow);border-radius:7px;padding:20px 22px 22px;text-decoration:none;color:inherit;display:block}
.card:hover{box-shadow:0 3px 12px rgba(18,57,91,.12);border-color:#bfbfbf;border-top-color:var(--yellow)}
.card .n{font-size:10.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.card h2{font-size:17px;font-weight:800;color:var(--ink);line-height:1.35;margin-top:7px}
.card p{font-size:13.5px;line-height:1.6;margin-top:9px;color:var(--body)}
.card .go{font-size:12.5px;font-weight:800;color:var(--navy);margin-top:12px;display:inline-block}

/* footer */
footer{background:var(--navy);color:#cfd8e2}
.foot-in{max-width:1240px;margin:0 auto;padding:30px 20px 22px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:26px}
@media(max-width:900px){.foot-in{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot-in{grid-template-columns:1fr}}
footer h2{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--yellow);font-weight:800;margin-bottom:9px}
footer p{font-size:12px;line-height:1.6;color:#bfcada}
footer ul{list-style:none;font-size:12px;line-height:2}
footer a{color:#ffffff;text-decoration:none;border-bottom:1px solid #3f6288}
footer a:hover{color:var(--yellow);border-color:var(--yellow)}
.foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.foot-brand img{width:34px;height:34px;border-radius:7px}
.foot-brand span{font-weight:800;color:#fff;letter-spacing:.05em;font-size:13px;text-transform:uppercase}
.foot-bottom{border-top:1px solid #2a4c6e}
.foot-bottom-in{max-width:1240px;margin:0 auto;padding:14px 20px 26px;display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between;font-size:11px;color:#9fb0c4}
.foot-bottom-in a{color:#9fb0c4;border:0;text-decoration:underline}
@media(max-width:760px){
  header .wordmark{font-size:16px}
  header .logo{width:36px;height:36px}
}
