:root{
  --ink:#14294A; --ink-2:#1B3557; --ink-3:#22406B;
  --paper:#F4EFE2; --cream:#F4EFE2; --soft:#C3CEDF; --mute:#8195B2;
  --line:#305686; --line-2:#426DA8;
  --blue:#2F8CEA; --blue-d:#1A5FC4;
  --gold:#F5A623; --gold-h:#FFC44F; --gold-d:#8A5A16;
  --grad:linear-gradient(96deg,var(--blue-d),var(--blue) 40%,var(--gold) 80%,var(--gold-h));
  --pad:clamp(22px,6vw,88px);
  --ff-d:"Graduate",Georgia,serif;
  --ff-v:"Graduate",Georgia,serif;
  --ff-b:"Archivo",system-ui,-apple-system,sans-serif;
  --ff-m:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--paper);font-family:var(--ff-b);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold-h);outline-offset:4px;border-radius:1px}
::selection{background:var(--gold);color:#06101d}

.wrap{max-width:1080px;margin:0 auto}
.eyebrow{font-family:var(--ff-m);font-size:10.5px;font-weight:500;letter-spacing:.26em;
  text-transform:uppercase;color:var(--mute)}
.mono{font-family:var(--ff-m)}

.btn{display:inline-block;font-family:var(--ff-v);font-size:12px;letter-spacing:.1em;
  text-decoration:none;padding:11px 18px;border-radius:2px;border:1px solid transparent;transition:.18s;white-space:nowrap}
.btn-solid{background:var(--gold);color:#0B1728;border-color:var(--gold)}
.btn-solid:hover{background:var(--gold-h);border-color:var(--gold-h)}
.btn-ghost{border-color:var(--line-2);color:var(--cream)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-h)}

/* ---- nav ---- */
nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:20px;
  padding:10px var(--pad);background:rgba(20,41,74,.9);backdrop-filter:blur(14px);
  border-bottom:2px solid var(--gold)}
nav .brand{display:flex;align-items:center;gap:11px;margin-right:auto;text-decoration:none}
nav .brand img{width:36px;height:auto;display:block}
nav .brand .bt b{display:block;font-family:var(--ff-m);font-size:8px;font-weight:700;
  letter-spacing:.24em;color:var(--gold);text-transform:uppercase}
nav .brand .bt span{display:block;font-family:var(--ff-v);font-size:15px;letter-spacing:.02em;color:var(--cream)}
nav .links{display:flex;gap:22px}
nav .links a{font-family:var(--ff-m);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mute);text-decoration:none;padding:5px 0;border-bottom:1px solid transparent;transition:.18s}
nav .links a:hover{color:var(--cream);border-bottom-color:var(--gold)}
@media(max-width:760px){nav .links{display:none}}

/* ---- skip link (keyboard/screen-reader accessibility) ---- */
.skip{position:absolute;left:8px;top:-52px;z-index:200;background:var(--gold);color:#0B1728;
  font-family:var(--ff-m);font-size:12px;letter-spacing:.08em;padding:9px 14px;
  text-decoration:none;border-radius:0 0 3px 3px;transition:top .15s}
.skip:focus{top:0}
main:focus{outline:none}

/* ---- index-style footer (ribbon + risk strip) ---- */
.ribbonwrap{padding:clamp(30px,5vw,54px) var(--pad) 0;display:flex;justify-content:center}
.ribbon{position:relative;background:#1C3A63;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);
  padding:14px clamp(34px,6vw,74px);text-align:center;
  clip-path:polygon(0 0,100% 0,calc(100% - 22px) 50%,100% 100%,0 100%,22px 50%)}
.ribbon b{font-family:var(--ff-v);font-size:clamp(20px,3.6vw,40px);letter-spacing:.03em;
  color:var(--cream);white-space:nowrap}
.ribbon b em{font-style:normal;color:var(--gold)}
.stars{display:flex;gap:9px;justify-content:center;align-items:center;margin-top:14px;
  font-size:11px;color:var(--gold)}
.stars s{text-decoration:none;color:var(--line-2)}
.riskstrip{margin-top:clamp(30px,5vw,54px);border-top:1px solid var(--line);background:#102039;padding:14px var(--pad)}
.riskstrip p{font-family:var(--ff-m);font-size:10.5px;line-height:1.75;letter-spacing:.05em;
  color:#8AA1C6;text-align:center;max-width:1240px;margin:0 auto}
.riskstrip a{color:#7E96BC}
.riskstrip a:hover{color:var(--gold-h)}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .equity{stroke-dashoffset:0!important}
  .rise{opacity:1!important;transform:none!important}
}

.lhead{padding:clamp(58px,9vw,104px) var(--pad) 0}
.lhead .in{max-width:1080px;margin:0 auto}
.lhead h1{font-family:var(--ff-d);font-weight:800;font-size:clamp(38px,7vw,84px);
  line-height:.9;letter-spacing:-.04em;margin:18px 0 22px;max-width:12ch}
.lhead h1 em{font-style:normal;font-weight:400;color:var(--mute)}
.lhead .dates{display:flex;flex-wrap:wrap;gap:8px 32px;font-family:var(--ff-m);
  font-size:11px;letter-spacing:.08em;color:var(--mute);padding-bottom:34px}
.lhead .dates b{color:var(--paper);font-weight:400}

.lwrap{max-width:1080px;margin:0 auto;padding:clamp(48px,7vw,86px) 0 clamp(64px,9vw,120px);
  display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
.lbody{padding:0 var(--pad)}
@media(max-width:900px){.lwrap{grid-template-columns:1fr;gap:0}.toc{display:none}}

.toc{position:sticky;top:96px}
.toc h4{font-family:var(--ff-m);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--mute);margin-bottom:16px;font-weight:500}
.toc a{display:grid;grid-template-columns:26px 1fr;gap:6px;text-decoration:none;
  font-size:13px;color:var(--mute);padding:6px 0;line-height:1.4;transition:color .2s}
.toc a em{font-style:normal;font-family:var(--ff-m);font-size:10px;color:var(--line-2)}
.toc a:hover,.toc a.on{color:var(--paper)}
.toc a.on em{color:var(--gold)}

article{max-width:70ch}
article section{padding:0;border:0}
article .cl{padding:0 0 34px;margin-bottom:34px;border-bottom:1px solid var(--line)}
article .cl:last-child{border-bottom:0}
article h2{display:grid;grid-template-columns:44px 1fr;gap:0;align-items:baseline;
  font-family:var(--ff-d);font-weight:600;font-size:clamp(21px,2.4vw,27px);
  letter-spacing:-.015em;margin-bottom:14px;scroll-margin-top:96px}
article h2 em{font-style:normal;font-family:var(--ff-m);font-size:11px;color:var(--gold);letter-spacing:.1em}
article h3{font-size:15px;font-weight:600;margin:22px 0 8px;color:var(--paper)}
article p{color:var(--soft);font-size:15.5px;line-height:1.72;margin-bottom:12px}
article p:last-child{margin-bottom:0}
article ul{list-style:none;display:grid;gap:9px;margin:4px 0 14px}
article ul li{position:relative;padding-left:24px;color:var(--soft);font-size:15px;line-height:1.6}
article ul li::before{content:"—";position:absolute;left:0;top:0;color:var(--line-2);font-family:var(--ff-m);font-size:12px}
article a{color:var(--gold-h)}
article strong{color:var(--paper);font-weight:600}
mark{background:rgba(245,166,35,.12);color:var(--gold-h);font-family:var(--ff-m);font-size:.86em;letter-spacing:.04em;border:1px dashed rgba(245,166,35,.5);border-radius:2px;padding:0 4px}
.callout{border-left:2px solid var(--blue);padding:2px 0 2px 18px;margin:18px 0}
.callout p{color:var(--paper);font-size:15.5px}
