:root{
  --navy:#122136; --navy-2:#1B3050; --ink:#141C28; --slate:#4E5B6C; --line:#DCE1E7;
  --paper:#F6F7F9; --white:#FFFFFF; --brass:#C9A86A; --brass-deep:#9C7A3C; --on-navy:#E9EEF4; --on-navy-dim:#A9B6C6;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 "Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding-inline:clamp(16px,4vw,32px)}
h1,h2,h3{font-family:"Newsreader",Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:-.01em;text-wrap:balance;margin:0}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 15px/1 "Public Sans",system-ui,sans-serif;text-decoration:none;border-radius:4px;padding:16px 24px;transition:background .15s}
.btn-brass{background:var(--brass);color:var(--navy)}
.btn-brass:hover{background:#D6B87E}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--brass);outline-offset:3px}


.intro{background:radial-gradient(120% 90% at 85% 100%,var(--navy-2) 0%,var(--navy) 60%);color:var(--on-navy)}
.intro .wrap{padding-block:56px 48px}
.intro .eyebrow{color:var(--brass)}
.intro h1{font-size:clamp(34px,4.6vw,56px);line-height:1.06;color:#fff;margin-top:14px;max-width:18em}
.dek{font-family:"Newsreader",Georgia,serif;font-weight:500;font-size:clamp(19px,2vw,24px);line-height:1.4;color:var(--on-navy);margin:18px 0 0;max-width:32em}
.byline{margin-top:22px;font-size:14px;color:var(--on-navy-dim);font-variant-numeric:tabular-nums}
.byline b{color:var(--on-navy);font-weight:600}

/* article */
article.post{padding-block:56px 72px}
.prose{max-width:40em}
.prose > * + *{margin-top:1.05em}
.prose h2{font-size:clamp(25px,2.6vw,31px);line-height:1.2;margin-top:1.9em}
.prose p,.prose li{color:var(--ink)}
.prose ul,.prose ol{padding-left:1.25em}
.prose li + li{margin-top:.45em}
.prose sup a{text-decoration:none;color:var(--brass-deep);font-weight:700;font-size:.8em;padding-left:1px}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid var(--brass);font-family:"Newsreader",Georgia,serif;font-size:21px;line-height:1.45}
.tree-wrap{overflow-x:auto;background:var(--white);border:1px solid var(--line);margin-top:1.3em}
.tree{margin:0;padding:18px 20px;font:14.5px/1.65 ui-monospace,"Cascadia Mono",Consolas,monospace;color:var(--ink);white-space:pre}
.tree i{font-style:normal;color:var(--slate)}
.takeaways{background:var(--white);border:1px solid var(--line);padding:22px 26px;margin-top:2em}
.takeaways h2{margin-top:0;font-size:22px}
.sources{margin-top:3em;padding-top:22px;border-top:1px solid var(--line);font-size:14.5px;color:var(--slate)}
.sources h2{font:700 12.5px/1.2 "Public Sans",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin:0 0 10px}
.sources ol{margin:0;padding-left:1.3em}
.sources li + li{margin-top:6px}
.sources a{word-break:break-word}
.next{margin-top:2.4em;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;font-size:15px}
.next b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-deep)}
.next a{font-family:"Newsreader",Georgia,serif;font-size:20px;font-weight:600;text-decoration-color:var(--brass);text-underline-offset:4px}

/* index list */
.list{display:grid;gap:0;border-top:1px solid var(--line);max-width:52em}
.list a{display:grid;gap:6px;padding-block:28px;border-bottom:1px solid var(--line);text-decoration:none}
.list a:hover h2{text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:5px}
.list h2{font-size:clamp(24px,2.6vw,30px);line-height:1.2}
.list p{margin:0;color:var(--slate)}
.list .meta{font-size:13px;color:var(--slate);font-variant-numeric:tabular-nums;letter-spacing:.02em}

.final{background:var(--navy);color:var(--on-navy)}
.final .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;padding-block:64px}
.final h2{color:#fff;font-size:clamp(28px,3.4vw,40px);line-height:1.12}
.final p{color:var(--on-navy-dim);margin:14px 0 0;max-width:36em}
.final .eyebrow{color:var(--brass)}
footer.site{background:#0C1726;color:var(--on-navy-dim);font-size:13.5px}
footer.site .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:24px}
footer.site a{text-decoration:none}

@media (max-width:900px){.final .wrap{grid-template-columns:1fr}}
@media (max-width:640px){
  body{font-size:16px}
  article.post{padding-block:40px 56px}
}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}
.prose code{font:.9em ui-monospace,"Cascadia Mono",Consolas,monospace;background:var(--white);border:1px solid var(--line);padding:1px 5px;border-radius:3px}
.faq{margin-top:2.6em;border-top:1px solid var(--line)}
.faq > h2{margin-top:1.4em}
.faq details{border-bottom:1px solid var(--line);padding-block:14px}
.faq summary{cursor:pointer;font-family:"Newsreader",Georgia,serif;font-size:20px;font-weight:600;line-height:1.3;list-style-position:outside}
.faq details p{margin:10px 0 0;color:var(--slate)}
.callout{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--brass);padding:16px 20px}
.callout p{margin:0}
.tbd{background:#FFF1C2;color:#6B4E00;padding:0 4px;border-radius:2px;font-weight:600}

/* index: industry filter chips + groups */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.chips button{font:700 14px/1 "Public Sans",system-ui,sans-serif;padding:11px 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--white);color:var(--slate);cursor:pointer}
.chips button:hover{border-color:var(--navy);color:var(--navy)}
.chips button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.chips button:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.group{margin-top:40px}
.group[hidden]{display:none}
.group > h2{font-size:clamp(24px,2.6vw,30px);margin-bottom:6px}
