:root { --canvas:#F5F2EC; --ink:#15171C; --blue:#1B45D8; --muted:#626979; --line:#d9d4ca; }
* { box-sizing:border-box; }
body { margin:0; background:var(--canvas); color:var(--ink); font-family:'IBM Plex Sans', system-ui, sans-serif; line-height:1.7; }
a { color:var(--blue); }
.site-header { max-width:1180px; margin:0 auto; padding:28px 32px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.brand-lockup { display:flex; align-items:center; gap:10px; min-width:0; color:var(--ink); text-decoration:none; }
.header-mark { display:block; width:30px; height:34px; overflow:hidden; position:relative; flex:0 0 30px; }
.header-mark img { position:absolute; width:48px; height:auto; max-width:none; left:-9px; top:-1px; }
.wordmark { font-family:Georgia, 'Times New Roman', serif; font-size:1.15rem; line-height:1.05; }
.wordmark span { display:block; margin-top:4px; color:var(--muted); font: .62rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:.03em; }
.brand { color:var(--ink); text-decoration:none; font-family:Georgia, 'Times New Roman', serif; font-size:1.25rem; }
.nav { font:0.75rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:.08em; text-transform:uppercase; }
.nav a { color:var(--ink); text-decoration:none; margin-left:22px; }
main { max-width:820px; margin:0 auto; padding:84px 32px 64px; }
.eyebrow { color:var(--blue); font:700 .76rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:.12em; text-transform:uppercase; }
h1, h2 { font-family:Georgia, 'Times New Roman', serif; font-weight:400; letter-spacing:-.025em; }
h1 { font-size:clamp(2.7rem, 6vw, 5.1rem); line-height:1.02; margin:20px 0 28px; }
h2 { font-size:2rem; line-height:1.15; margin:56px 0 16px; }
p, li { font-size:1.06rem; }
main > p:first-of-type { color:var(--muted); font-size:1.25rem; line-height:1.55; }
blockquote { border-left:3px solid var(--blue); margin:28px 0; padding:4px 0 4px 24px; font-family:Georgia, serif; font-size:1.35rem; line-height:1.45; }
table { border-collapse:collapse; width:100%; max-width:100%; margin:28px 0; font-size:.96rem; display:block; overflow-x:auto; }
th, td { border-bottom:1px solid var(--line); padding:12px 10px; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
th { font:700 .75rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; text-transform:uppercase; letter-spacing:.06em; }
ul, ol { padding-left:1.4rem; }
li { margin:8px 0; }
.cta { margin:56px 0 20px; padding:28px; border:1px solid var(--ink); display:flex; justify-content:space-between; gap:20px; align-items:center; }
.cta p { margin:0; font-family:Georgia, serif; font-size:1.35rem; line-height:1.3; }
.cta a { display:inline-block; background:var(--blue); color:white; padding:13px 18px; text-decoration:none; font-weight:700; white-space:nowrap; }
.author { border-top:1px solid var(--line); margin-top:72px; padding-top:24px; color:var(--muted); }
.guide-list { margin-top:40px; }
.guide-card { display:block; border-top:1px solid var(--ink); padding:24px 0 28px; color:var(--ink); text-decoration:none; }
.guide-card h2 { margin:12px 0 18px; }
.guide-card > span:last-child { color:var(--blue); font-weight:700; }
footer { max-width:820px; margin:0 auto; padding:0 32px 54px; font: .78rem/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }
.footer-nav { display:flex; flex-wrap:wrap; gap:16px; margin-top:12px; }
.footer-nav a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
@media (max-width:600px) { .site-header { padding:20px; } .nav a { margin-left:10px; } .wordmark span { max-width:180px; } main { padding:52px 20px 42px; } h1 { font-size:2.8rem; } h2 { font-size:1.7rem; margin-top:42px; } p, li { font-size:1rem; } .cta { display:block; } .cta a { margin-top:20px; white-space:normal; } footer { padding:0 20px 36px; } }

.article-date{margin:.45rem 0 1.4rem;color:#697386;font-size:.86rem;line-height:1.4}
