

:root { --paper:#f8f4ec; --ink:#24201e; --muted:#736a65; --line:#d9cec0; --plum:#6f344e; --gold:#b18445; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
.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 { color:var(--ink); text-decoration:none; font-weight:720; letter-spacing:.04em; font-size:18px; }
.brand-arrow { margin-left:3px; color:var(--plum); font-size:19px; }
.header-label { color:var(--muted); font-size:13px; letter-spacing:.04em; }
.hero { width:min(100% - 48px,1080px); margin:0 auto; padding:88px 0 64px; }
.eyebrow { margin-bottom:24px; color:var(--plum); text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:720; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; }
h1 { max-width:910px; margin:0; font-size:clamp(48px,7.2vw,92px); line-height:.98; font-weight:500; letter-spacing:-.045em; }
.dek { max-width:790px; margin:34px 0 0; color:#554e4a; font-family:Georgia,"Times New Roman",serif; font-size:clamp(21px,2.5vw,30px); line-height:1.4; }
.byline { display:flex; align-items:center; gap:14px; margin:38px 0 46px; }
.byline img { width:64px; height:64px; object-fit:cover; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 1px var(--line); }
.byline-info { display:grid; gap:2px; max-width:430px; }
.byline-role { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.09em; }
.byline strong { font-family:Georgia,"Times New Roman",serif; font-size:19px; font-weight:500; }
.byline-bio { margin-top:4px; color:var(--muted); font-size:13px; line-height:1.4; }
.read-time { margin-left:12px; padding-left:24px; border-left:1px solid var(--line); color:var(--muted); font-size:13px; }
.hero-art { margin:0; }
.hero-art img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:3px; box-shadow:0 24px 80px rgba(58,43,33,.10); }
.hero-art figcaption { margin-top:12px; color:var(--muted); font-size:12px; }
.source-note { max-width:780px; margin:38px auto 0; padding:25px 28px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--muted); font-family:Georgia,"Times New Roman",serif; font-size:17px; line-height:1.55; text-align:center; }
.article-shell { width:min(100% - 48px,720px); margin:0 auto; padding:26px 0 100px; font-family:Georgia,"Times New Roman",serif; font-size:20px; line-height:1.78; }
.article-shell>p:first-child { font-size:25px; line-height:1.58; color:#3d3733; }
.article-shell h2 { margin:78px 0 24px; font-size:clamp(34px,4.5vw,48px); line-height:1.08; letter-spacing:-.025em; font-weight:500; }
.article-shell h3 { margin:46px 0 17px; color:var(--plum); font-size:27px; line-height:1.22; font-weight:500; }
.article-shell p { margin:0 0 25px; }
.article-shell strong { font-weight:650; }
.article-shell ul,.article-shell ol { margin:18px 0 30px; padding-left:28px; }
.article-shell li { margin-bottom:10px; padding-left:6px; }
.article-shell a { color:var(--plum); text-decoration-thickness:1px; text-underline-offset:4px; }
.article-shell hr { margin:62px 0 48px; border:0; border-top:1px solid var(--line); }
.article-shell p:has(>strong>a) { margin:35px 0 16px; }
.article-shell p>strong>a { display:inline-block; padding:16px 24px; border-radius:999px; background:var(--plum); color:#fff; font-family:Inter,ui-sans-serif,sans-serif; font-size:15px; font-weight:650; text-decoration:none; transition:transform .2s ease,background .2s ease; }
.article-shell p>strong>a:hover { transform:translateY(-2px); background:#58283d; }
.article-shell p:has(>strong:first-child):not(:has(a)) { margin:42px -55px; padding:32px 48px; border-left:3px solid var(--gold); background:#f1eadf; font-size:23px; line-height:1.62; }
.site-footer { max-width:1080px; margin:0 auto; padding:32px 0 50px; border-top:1px solid var(--line); display:flex; justify-content:space-between; color:var(--muted); font-size:13px; }
.site-footer span:first-child { color:var(--ink); font-weight:750; letter-spacing:.12em; }
@media (max-width:700px) {
  .site-header { padding:22px 20px; }
  .header-label { display:none; }
  .hero { width:min(100% - 32px,1080px); padding:58px 0 42px; }
  h1 { font-size:clamp(45px,13.2vw,64px); }
  .dek { margin-top:26px; font-size:21px; }
  .byline { margin:30px 0 34px; }
  .byline { display:grid; grid-template-columns:64px 1fr; align-items:start; }
  .read-time { grid-column:2; margin:7px 0 0; padding:0; border:0; max-width:none; }
  .source-note { margin-top:30px; padding:21px 5px; text-align:left; font-size:15px; }
  .article-shell { width:min(100% - 36px,720px); padding-top:12px; font-size:18px; line-height:1.72; }
  .article-shell>p:first-child { font-size:21px; }
  .article-shell h2 { margin-top:60px; font-size:35px; }
  .article-shell h3 { font-size:25px; }
  .article-shell p:has(>strong:first-child):not(:has(a)) { margin:34px -9px; padding:24px 22px; font-size:20px; }
  .site-footer { margin:0 18px; padding:28px 0 38px; display:grid; gap:10px; }
}
