:root { --ink:#142b2b; --cream:#f4f0e7; --paper:#fffef9; --blue:#1466c3; --green:#187a47; --rust:#a93624; --line:#cec6b7; }
* { box-sizing:border-box; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"DM Sans","Avenir Next",sans-serif; line-height:1.68; }
a { color:var(--rust); }
.resource-nav { position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; min-height:72px; padding:12px clamp(20px,5vw,64px); background:rgba(20,43,43,.98); color:white; }
.resource-nav a { color:white; text-decoration:none; font-weight:700; min-height:44px; display:inline-flex; align-items:center; }
.resource-brand { display:flex; align-items:center; gap:12px; }
.resource-mark { display:grid; grid-template-columns:repeat(3,8px); gap:2px; padding:4px; border:2px solid white; }
.resource-mark i { width:8px; height:8px; background:#ffd700; }
.resource-mark i:nth-child(2n) { background:#2b7de9; }
.resource-mark i:nth-child(3n) { background:#22a65e; }
.resource-mark i:nth-child(5) { background:transparent; border:1px solid white; }
.resource-nav-links { display:flex; align-items:center; gap:22px; }
.resource-nav .cta { background:white; color:var(--ink); padding:0 18px; }
main { width:min(1120px,calc(100% - 40px)); margin:0 auto; }
.resource-hero { padding:clamp(56px,9vw,104px) 0 48px; max-width:860px; }
.eyebrow { color:var(--rust); font-weight:800; letter-spacing:.15em; font-size:.78rem; }
h1,h2,h3 { font-family:"Fraunces",Georgia,serif; line-height:1.06; }
h1 { font-size:clamp(2.65rem,7vw,5.2rem); margin:16px 0 24px; letter-spacing:-.04em; }
h2 { font-size:clamp(1.8rem,4vw,2.7rem); margin:52px 0 16px; }
h3 { font-size:1.35rem; margin:28px 0 8px; }
.lede { font-size:clamp(1.1rem,2vw,1.35rem); color:#445e5b; max-width:760px; }
.byline { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:28px; color:#58706d; font-size:.92rem; }
.article-grid { display:grid; grid-template-columns:minmax(0,720px) minmax(220px,1fr); gap:clamp(36px,7vw,90px); align-items:start; padding-bottom:80px; }
article { font-size:1.05rem; }
article p, article ul, article ol { margin:0 0 20px; }
article li { margin:0 0 10px; }
.note,.source-box,.cta-box { border:1px solid var(--line); background:var(--paper); padding:24px; margin:28px 0; }
.note { border-left:5px solid #ffd700; }
.cta-box { border-left:5px solid var(--blue); }
.cta-box a { display:inline-flex; min-height:46px; align-items:center; background:var(--ink); color:white; text-decoration:none; font-weight:700; padding:0 18px; margin-top:8px; }
aside { position:sticky; top:98px; }
.side-card { border-top:4px solid var(--green); background:var(--paper); padding:22px; }
.side-card a { display:block; padding:10px 0; border-bottom:1px solid var(--line); }
.resource-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding-bottom:90px; }
.resource-card { border:1px solid var(--line); background:var(--paper); padding:28px; color:var(--ink); text-decoration:none; min-height:220px; }
.resource-card:hover,.resource-card:focus-visible { border-color:var(--blue); outline:3px solid rgba(20,102,195,.25); outline-offset:3px; }
.resource-card span { color:var(--rust); font-weight:800; letter-spacing:.1em; font-size:.75rem; }
.resource-card h2 { font-size:1.7rem; margin:14px 0 12px; }
footer { background:var(--ink); color:white; padding:38px max(20px,calc((100vw - 1120px)/2)); }
footer a { color:white; }
:focus-visible { outline:3px solid #ffd700; outline-offset:4px; }
@media (max-width:760px) {
  .resource-nav-links a:not(.cta) { display:none; }
  .article-grid { grid-template-columns:1fr; }
  aside { position:static; }
  .resource-index { grid-template-columns:1fr; }
}
