:root{
  --ink:#0B0E13;--ink-2:#12171F;--surface:#161D27;--card:#1B2431;--line:#2A3444;--line-soft:#202836;
  --gold:#E5B549;--gold-deep:#B48A2E;--gold-glow:rgba(229,181,73,.16);
  --text:#ECEFF7;--dim:#96A0B1;--faint:#5F6A7C;
  --display:"Barlow Condensed","Oswald","Arial Narrow",system-ui,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Menlo,Consolas,monospace;
  --wrap:1140px;--measure:72ch;--pad:clamp(20px,5vw,40px);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{color:#F2CE7A}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{width:min(100% - var(--pad)*2,var(--wrap));margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#17120A;padding:8px 12px;border-radius:6px;z-index:10}
.skip:focus{left:8px}

h1,h2,h3,.display{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:.95;text-wrap:balance;margin:0}
h1{font-size:clamp(38px,6vw,64px)}
h2{font-size:clamp(26px,3.2vw,36px)}
h3{font-size:clamp(21px,2.4vw,26px);letter-spacing:.02em}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}

/* header */
.nav{position:sticky;top:0;z-index:5;background:rgba(11,14,19,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.nav-in{display:flex;align-items:center;gap:22px;min-height:66px}
.brand{display:flex;align-items:center;gap:11px;color:var(--text);font-family:var(--display);font-size:22px;letter-spacing:.04em;text-transform:uppercase}
.brand img{width:30px;height:30px;border-radius:8px}
.nav-links{display:flex;gap:22px;margin-left:auto;font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.nav-links a{color:var(--dim)}
.nav-links a:hover{color:var(--text)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:11px;padding:13px 20px;border-radius:10px;font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn-primary{background:linear-gradient(180deg,#EFC569,var(--gold));color:#17120A;box-shadow:0 10px 30px -14px rgba(229,181,73,.9)}
.btn-primary:hover{color:#17120A;transform:translateY(-2px)}
.btn-sm{padding:9px 14px;font-size:15px;white-space:nowrap}
@media(max-width:600px){.nav-in{gap:14px}.btn-sm{display:none}.nav-links{gap:16px}}

/* article */
main{padding:38px 0 70px}
.crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:26px}
.crumbs a{color:var(--dim)}
.crumbs span{margin:0 6px}
.article-head{max-width:var(--measure);margin-bottom:34px}
.article-head h1{margin-bottom:16px}
.standfirst{font-size:20px;line-height:1.5;color:var(--dim);margin:0;text-wrap:pretty}
.byline{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:16px 0 0}
.prose{max-width:var(--measure)}
.prose>*+*{margin-top:1.1em}
.prose h2{margin-top:2em;padding-top:1.2em;border-top:1px solid var(--line-soft)}
.prose h3{margin-top:1.6em}
.prose p,.prose li{text-wrap:pretty}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.45em}
.prose strong{color:var(--text);font-weight:600}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:3px solid var(--gold);color:var(--dim)}
.prose code{font-family:var(--mono);font-size:.92em;background:var(--surface);padding:2px 6px;border-radius:5px}
.prose pre{background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;padding:16px 18px;overflow-x:auto}
.prose pre code{background:none;padding:0}
.prose table{border-collapse:collapse;width:100%;font-size:15.5px;display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.prose th{font-family:var(--display);font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);border-bottom-color:var(--line)}
.prose td:first-child,.prose th:first-child{padding-left:0}
.prose .note{background:var(--surface);border:1px solid var(--line-soft);border-radius:12px;padding:16px 20px;color:var(--dim)}
.prose .note strong{color:var(--gold)}
.prose dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px}
.prose dt{font-family:var(--display);font-size:18px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}
.prose dd{margin:0}
@media(max-width:560px){.prose dl{grid-template-columns:1fr}.prose dd{margin-bottom:10px}}

.article-foot{max-width:var(--measure);margin-top:54px}
.related{border-top:1px solid var(--line-soft);padding-top:26px;margin-top:26px}
.related h2{font-size:22px;margin-bottom:14px}
.related ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.related li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.related li a{font-family:var(--display);font-size:19px;letter-spacing:.03em;text-transform:uppercase}
.related li span{color:var(--dim);font-size:15px;flex:1 1 100%}
.related ul.plain li a{font-family:var(--body);font-size:17px;letter-spacing:0;text-transform:none}
.cta-box{margin-top:44px;background:radial-gradient(120% 140% at 0% 0%,var(--gold-glow),transparent 55%),var(--surface);border:1px solid var(--line-soft);border-radius:16px;padding:28px 28px 30px}
.cta-box h2{margin-bottom:10px}
.cta-box p{color:var(--dim);max-width:52ch;margin:0 0 20px}
.cta-box .eyebrow{margin-bottom:10px}

/* listings */
.listing .article-head{margin-bottom:30px}
.cards{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card{background:var(--card);border:1px solid var(--line-soft);border-radius:14px;padding:22px 24px 20px;display:flex;flex-direction:column;gap:10px}
.card h2{font-size:24px;line-height:1.02}
.card a{color:var(--text)}
.card a:hover{color:var(--gold)}
.card p{margin:0;color:var(--dim);font-size:15.5px}
.card .meta{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-top:auto;padding-top:6px}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.jump a{font-family:var(--display);font-size:16px;letter-spacing:.05em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:6px 14px}
.jump a:hover{color:var(--text);border-color:var(--gold-deep)}
.glossary-group{margin-top:34px;padding-top:26px;border-top:1px solid var(--line-soft)}
.glossary-group h2{margin-bottom:18px}
.terms{list-style:none;margin:0;padding:0;display:grid;gap:14px 28px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.terms li{display:flex;flex-direction:column;gap:3px}
.terms a{font-family:var(--display);font-size:21px;letter-spacing:.03em;text-transform:uppercase}
.terms span{color:var(--dim);font-size:15px}
.notfound .links{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-family:var(--display);font-size:22px;letter-spacing:.03em;text-transform:uppercase}

/* footer */
footer{border-top:1px solid var(--line-soft);padding:38px 0 54px;color:var(--faint);font-size:14px}
.foot{display:flex;flex-wrap:wrap;gap:22px 40px;align-items:flex-start;justify-content:space-between}
.publisher{display:flex;flex-direction:column;gap:6px;max-width:44ch}
.publisher p{margin:0}
.publisher strong{color:var(--dim);font-weight:600;letter-spacing:.02em}
.publisher address{font-style:normal;line-height:1.6}
.foot nav{display:flex;flex-wrap:wrap;gap:20px}
.foot a{color:var(--dim)}
.foot a:hover{color:var(--gold)}
