
@font-face{font-family:"Serif";src:url(/assets/instrument-serif-400.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Serif";font-style:italic;src:url(/assets/instrument-serif-400-italic.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/inter-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--bg:#f8f4ec;--paper:#fffdf8;--fg:#1b1814;--muted:#6b6457;--faint:#9a9284;--line:#e4dccb;--rule:#1b1814;--accent:#b03a1e;--hl:#f3e3b8;color-scheme:light}
:root[data-theme="dark"]{--bg:#14120e;--paper:#1b1813;--fg:#efe8d9;--muted:#ada493;--faint:#7d7566;--line:#332e25;--rule:#efe8d9;--accent:#ec8d6c;--hl:#4a3a1c;color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#14120e;--paper:#1b1813;--fg:#efe8d9;--muted:#ada493;--faint:#7d7566;--line:#332e25;--rule:#efe8d9;--accent:#ec8d6c;--hl:#4a3a1c;color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:19.5px/1.72 Georgia,"Times New Roman",serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--hl)}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:30}
.top{border-bottom:3px double var(--rule)}
.top .wrap{max-width:1000px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-top:22px;padding-bottom:16px}
.top .wrap:before{content:"Notes on security";font:600 11px "Inter",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.brand{font:italic 2.6rem/1 "Serif",serif;color:var(--fg);text-decoration:none;text-align:center;letter-spacing:-.01em}
nav{display:flex;gap:18px;justify-content:flex-end;font:600 12px "Inter",sans-serif;letter-spacing:.12em;text-transform:uppercase}
nav a{color:var(--muted);text-decoration:none}
nav a[aria-current],nav a:hover{color:var(--accent)}
@media (max-width:620px){.top .wrap{grid-template-columns:1fr auto}.top .wrap:before{display:none}.brand{text-align:left;font-size:2.1rem}}
main.wrap{padding:52px 20px 80px}
h1{font:400 clamp(2.5rem,6.8vw,4rem)/1.03 "Serif",serif;letter-spacing:-.015em;margin:0 0 16px}
h1 em{color:var(--accent)}
h2{font:400 1.95rem/1.15 "Serif",serif;margin:46px 0 10px}
.dek{font:italic 1.32rem/1.5 "Serif",serif;color:var(--muted);margin:0 0 10px}
.byline{font:13.5px "Inter",sans-serif;color:var(--muted);margin:22px 0 40px;display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.byline img{width:40px;height:40px;border-radius:50%;object-fit:cover;filter:grayscale(.2)}
.byline b{color:var(--fg)}
.kicker{font:700 11.5px "Inter",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
article .body > p:first-of-type::first-letter{float:left;font:400 5.1em/.78 "Serif",serif;color:var(--accent);margin:8px 12px 0 -2px}
article p{margin:0 0 24px}
article h2{font-size:1.75rem}
blockquote.pull{margin:38px -8px;padding:20px 0 20px 26px;border-left:3px solid var(--accent);font:italic 1.75rem/1.35 "Serif",serif;color:var(--fg)}
@media (min-width:900px){blockquote.pull{margin-left:-60px;margin-right:-60px}}
/* home */
.lead-post{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:6px 0 34px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--fg)}
.lead-post .num{font:italic 5.5rem/0.8 "Serif",serif;color:var(--accent)}
.lead-post h2{font-size:clamp(2rem,5vw,2.8rem);margin:0 0 10px;line-height:1.08}
.lead-post:hover h2{color:var(--accent)}
.lead-post p{margin:0 0 10px;color:var(--muted)}
.meta{font:12.5px "Inter",sans-serif;color:var(--faint);letter-spacing:.04em}
ul.posts{list-style:none;padding:0;margin:0}
ul.posts li a{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--fg)}
ul.posts .num{font:italic 2.4rem/1 "Serif",serif;color:var(--faint)}
ul.posts h3{font:400 1.75rem/1.2 "Serif",serif;margin:0 0 6px}
ul.posts li a:hover h3,ul.posts li a:hover .num{color:var(--accent)}
ul.posts p{margin:0 0 8px;color:var(--muted);font-size:1.02rem}
.about-card{display:flex;gap:20px;align-items:center;margin:48px 0 0;padding:24px;background:var(--paper);border:1px solid var(--line)}
.about-card img{width:76px;height:76px;border-radius:50%;object-fit:cover;flex:none}
.about-card p{margin:0;font-size:1.02rem;color:var(--muted)}
.endnote{margin-top:44px;padding:22px 24px;background:var(--paper);border:1px solid var(--line);font:15px/1.6 "Inter",sans-serif;color:var(--muted);display:flex;gap:16px;align-items:center}
.endnote img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}
.endnote:before{content:none}
.foot{border-top:3px double var(--rule);color:var(--muted);font:12.5px "Inter",sans-serif;padding:24px 0 40px;letter-spacing:.04em}
.foot .wrap{max-width:1000px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.foot a{color:var(--muted)}

figure.fig{margin:26px 0 30px}
figure.fig img{display:block;width:100%;height:auto;border-radius:4px;border:1px solid var(--line)}
figure.fig figcaption{font-size:13.5px;color:var(--muted);margin-top:10px;text-align:center}
