*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--ink:#1A1A1A;--ink-light:#444;--paper:#FAFAF8;--accent:#2B5797;--rule:#D4D0C8;--serif:Georgia,'Noto Serif SC',serif;--sans:'Noto Sans SC',system-ui,sans-serif}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.75;font-size:16px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* Editorial masthead */
.mast{border-bottom:3px double var(--ink);padding:20px 0;text-align:center}
.mast .date{font-size:.75rem;letter-spacing:3px;text-transform:uppercase;color:var(--ink-light);margin-bottom:8px}
.mast h1{font-family:var(--serif);font-size:2.4rem;font-weight:700;letter-spacing:-1px}
.mast .tagline{font-size:.9rem;color:var(--ink-light);margin-top:6px;font-style:italic}

/* Horizontal rule nav */
.hnav{border-bottom:1px solid var(--rule);padding:12px 0;display:flex;justify-content:center;gap:32px;flex-wrap:wrap;position:sticky;top:0;background:var(--paper);z-index:50}
.hnav a{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-light);padding:4px 0;border-bottom:2px solid transparent}
.hnav a:hover,.hnav a.cur{color:var(--ink);border-bottom-color:var(--accent)}
.hnav .dl{color:var(--accent);font-weight:800}

.layout{max-width:960px;margin:0 auto;padding:40px 24px;display:grid;grid-template-columns:1fr 240px;gap:40px}
.main article{margin-bottom:40px}
.main h2{font-family:var(--serif);font-size:1.6rem;font-weight:700;margin-bottom:14px;line-height:1.3}
.main h3{font-family:var(--serif);font-size:1.15rem;font-weight:700;margin:24px 0 10px}
.main p{margin-bottom:14px;color:var(--ink-light)}
.main .lead{font-size:1.15rem;color:var(--ink);line-height:1.8;margin-bottom:20px}
.dropcap::first-letter{font-family:var(--serif);font-size:3.2rem;float:left;line-height:1;margin:4px 10px 0 0;color:var(--accent);font-weight:700}

/* Sidebar */
.side .box{border:1px solid var(--rule);padding:20px;margin-bottom:24px}
.side .box h4{font-size:.72rem;text-transform:uppercase;letter-spacing:2px;border-bottom:1px solid var(--rule);padding-bottom:10px;margin-bottom:14px;font-weight:700}
.side .box li{list-style:none;padding:6px 0;border-bottom:1px solid var(--rule);font-size:.88rem}
.side .box li:last-child{border:none}
.side .dl-side{display:block;text-align:center;padding:14px;background:var(--ink);color:var(--paper)!important;font-weight:700;font-size:.88rem;letter-spacing:1px;text-decoration:none!important;margin-top:12px}
.side .dl-side:hover{background:var(--accent)}

/* Pull quote */
.pullquote{border-left:4px solid var(--accent);padding:16px 24px;margin:28px 0;font-family:var(--serif);font-size:1.2rem;font-style:italic;color:var(--ink);background:rgba(43,87,151,.04)}

/* Download page editorial */
.dl-page{max-width:720px;margin:0 auto;padding:40px 24px}
.dl-page h1{font-family:var(--serif);font-size:2rem;text-align:center;margin-bottom:8px}
.dl-page .sub{text-align:center;color:var(--ink-light);margin-bottom:40px;font-style:italic}
.dl-list{border-top:2px solid var(--ink)}
.dl-item{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--rule);gap:16px;flex-wrap:wrap}
.dl-item .info h3{font-family:var(--serif);font-size:1.05rem;font-weight:700}
.dl-item .info p{font-size:.85rem;color:var(--ink-light);margin-top:2px}
.dl-item .go{padding:10px 24px;background:var(--ink);color:var(--paper);font-weight:700;font-size:.82rem;letter-spacing:1px;text-decoration:none!important;white-space:nowrap}
.dl-item .go:hover{background:var(--accent)}
.dl-notice{border:1px solid var(--rule);padding:20px;margin-top:32px;font-size:.88rem;color:var(--ink-light);text-align:center}

/* Guide numbered */
.guide-item{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--rule)}
.guide-num{font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--accent);min-width:40px;line-height:1}
.guide-item h3{font-family:var(--serif);font-size:1.05rem;margin-bottom:6px}
.guide-item p{font-size:.9rem;color:var(--ink-light)}

.foot{border-top:3px double var(--ink);padding:24px;text-align:center;font-size:.78rem;color:var(--ink-light);margin-top:40px}
.foot a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.foot a:hover{color:var(--accent)}
.kbd-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.88rem}
.kbd-table th,.kbd-table td{padding:10px 14px;border:1px solid var(--rule);text-align:left}
.kbd-table th{background:var(--paper);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:1px}
.kbd-table kbd{background:var(--ink);color:var(--paper);padding:2px 8px;border-radius:3px;font-size:.82rem;font-family:monospace}
.faq-editorial{border-top:1px solid var(--rule);margin-top:24px}
.faq-editorial h3{font-family:var(--serif);font-size:1.05rem;margin:20px 0 8px}
.faq-editorial p{font-size:.9rem;color:var(--ink-light);margin-bottom:12px}

@media(max-width:700px){.layout{grid-template-columns:1fr}.mast h1{font-size:1.8rem}.hnav{gap:16px}}
