:root{
  --paper:#f7f5f0;
  --paper-raised:#efebe1;
  --ink:#14120e;
  --ink-soft:#4a463e;
  --ink-faint:#8a8474;
  --rule:#d9d4c7;
  --accent:#7a2e2e;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Source Serif 4",Georgia,"Times New Roman",serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:var(--ink);color:var(--paper);}

.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

/* utility bar */
.utility{border-bottom:1px solid var(--rule);font-family:"Inter",system-ui,sans-serif;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;height:36px;flex-wrap:wrap;gap:4px;}

/* masthead */
header.masthead{padding:26px 0 18px;}
.masthead-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;}
.masthead-meta{font-family:"Inter",system-ui,sans-serif;font-size:12px;letter-spacing:.03em;color:var(--ink-soft);}
.masthead-meta.right{text-align:right;display:flex;justify-content:flex-end;align-items:center;gap:14px;}
.wordmark{text-align:center;font-family:"Playfair Display",Georgia,serif;font-weight:900;font-size:clamp(34px,6.4vw,68px);letter-spacing:.005em;line-height:1;text-wrap:balance;}
.wordmark a{color:inherit;}
.tagline{text-align:center;margin-top:10px;font-family:"Inter",system-ui,sans-serif;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);}
.tagline .dot{margin:0 .6em;color:var(--ink-faint);}
.rule-double{border:0;border-top:3px solid var(--ink);margin:20px 0 1px;}
.rule-double::after{content:"";display:block;border-top:1px solid var(--ink);margin-top:3px;}

/* category nav */
nav.cats{border-bottom:1px solid var(--rule);background:var(--paper-raised);}
nav.cats .wrap{display:flex;gap:26px;height:42px;align-items:center;font-family:"Inter",system-ui,sans-serif;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;overflow-x:auto;}
nav.cats a{white-space:nowrap;color:var(--ink-soft);padding:4px 0;border-bottom:2px solid transparent;}
nav.cats a.priority{color:var(--ink);font-weight:600;}
nav.cats a:hover,nav.cats a.active{color:var(--accent);border-color:var(--accent);}
nav.cats .sep{color:var(--rule);}

/* lead */
.lead{padding:34px 0 30px;border-bottom:1px solid var(--rule);}
.lead-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;}
.eyebrow{font-family:"Inter",system-ui,sans-serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700;display:inline-block;margin-bottom:10px;}
.lead h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(28px,3.6vw,44px);line-height:1.08;font-weight:800;margin:0 0 14px;text-wrap:balance;}
.dek{font-size:17px;line-height:1.55;color:var(--ink-soft);margin:0 0 16px;max-width:60ch;}
.byline{font-family:"Inter",system-ui,sans-serif;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);border-top:1px solid var(--rule);padding-top:12px;}
.byline a:hover{color:var(--accent);}
.mark{aspect-ratio:4/3;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;background:var(--paper-raised);overflow:hidden;}
.mark svg{width:34%;height:34%;stroke:var(--ink);fill:none;stroke-width:1.1;}
.mark img{width:100%;height:100%;object-fit:cover;}

/* grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--rule);}
.card{padding:30px 26px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.card:nth-child(3n){border-right:none;}
.grid .card:nth-last-child(-n+3){border-bottom:none;}
.card .mark{aspect-ratio:16/10;margin-bottom:16px;}
.card .mark svg{width:26%;height:26%;}
.card h2{font-family:"Playfair Display",Georgia,serif;font-size:21px;line-height:1.2;font-weight:700;margin:0 0 10px;text-wrap:balance;}
.card .dek{font-size:14.5px;line-height:1.5;margin-bottom:14px;}
.card .byline{border-top:none;padding-top:0;}
.card h2 a:hover{color:var(--accent);}

/* article page */
.article-page{padding:36px 0 60px;}
.article-page .eyebrow{margin-bottom:14px;}
.article-page h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(30px,4.4vw,48px);line-height:1.08;font-weight:800;margin:0 0 18px;text-wrap:balance;max-width:22ch;}
.article-page .dek{font-size:19px;max-width:64ch;}
.article-page .byline{margin:18px 0 28px;}
.article-body{font-size:18px;line-height:1.7;max-width:66ch;}
.article-body p{margin:0 0 20px;}
.video-embed{position:relative;padding-top:56.25%;margin:8px 0 28px;background:var(--paper-raised);border:1px solid var(--rule);}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.source-note{margin-top:36px;padding-top:20px;border-top:1px solid var(--rule);font-family:"Inter",system-ui,sans-serif;font-size:13px;color:var(--ink-soft);max-width:66ch;}
.source-note a{text-decoration:underline;text-underline-offset:3px;}
.back-link{display:inline-block;margin-bottom:26px;font-family:"Inter",system-ui,sans-serif;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);}
.back-link:hover{color:var(--accent);}

/* footer */
footer{padding:30px 0 40px;}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--rule);margin-bottom:16px;}
.footer-word{font-family:"Playfair Display",Georgia,serif;font-weight:800;font-size:20px;}
.footer-note{font-family:"Inter",system-ui,sans-serif;font-size:12px;line-height:1.6;color:var(--ink-soft);max-width:46ch;}
.footer-links{font-family:"Inter",system-ui,sans-serif;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);display:flex;gap:18px;flex-wrap:wrap;}
.footer-links a:hover{color:var(--accent);}
.copyright{font-family:"Inter",system-ui,sans-serif;font-size:11px;color:var(--ink-faint);}

.empty-state{padding:60px 0;text-align:center;color:var(--ink-soft);font-family:"Inter",system-ui,sans-serif;}

@media (max-width:860px){
  .lead-grid{grid-template-columns:1fr;}
  .grid{grid-template-columns:1fr;}
  .card{border-right:none;}
  .masthead-row{grid-template-columns:1fr;gap:8px;}
  .masthead-meta.right{justify-content:center;}
  .masthead-meta:not(.right){text-align:center;}
}
