/* macrogaps brand system v2.0: a sky-white light terminal. Archivo for type, JetBrains Mono for every number.
   Shared by the home page, the terminal view, Explainers and the research pages. Never a dark ground. */
:root{
  --mg-ground:#F4F8FC; --mg-surface:#FFFFFF; --mg-sky1:#EAF2FB; --mg-sky2:#DCE9F7; --mg-rule:#D3E1F0; --mg-hair:#E3EDF8; --mg-sky3:#A9C8EA;
  --mg-tide:#2E6FB7; --mg-heritage:#002D72; --mg-heritage-ink:#001E4D; --mg-ink:#0B1F3A; --mg-mute:#4F6480; --mg-federal:#A6192E;
  --mg-sans:"Archivo","Helvetica Neue",Arial,sans-serif; --mg-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --mg-pad:clamp(16px,3vw,40px);
  color-scheme:light;
}
.mg-wrap{max-width:1440px;margin:0 auto;padding-inline:var(--mg-pad);box-sizing:border-box}
.mg-word{font-family:var(--mg-sans);font-weight:900;font-stretch:72%;letter-spacing:-.02em;line-height:.8;color:var(--mg-ink);text-decoration:none;white-space:nowrap}
.mg-gap{display:inline-block;width:.09em;height:.7em;margin:0 .05em;background:var(--mg-federal);vertical-align:baseline}
.mg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
.mg-head{position:sticky;top:0;z-index:40;background:rgba(244,248,252,.96);border-bottom:1px solid var(--mg-rule)}
.mg-head .mg-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 24px;padding-block:4px}
.mg-head .mg-word{display:inline-flex;align-items:center;min-height:44px;font-size:26px}
.mg-left{display:flex;flex-wrap:wrap;align-items:center;gap:0 26px}
.mg-nav{display:flex;flex-wrap:wrap;gap:0 20px;font-family:var(--mg-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.mg-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--mg-mute);text-decoration:none}
.mg-nav a:hover{color:var(--mg-ink)}
.mg-nav a[aria-current]{color:var(--mg-ink);box-shadow:inset 0 -2px 0 var(--mg-heritage)}
.mg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.mg-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;box-sizing:border-box;border:1.5px solid var(--mg-heritage);background:var(--mg-surface);color:var(--mg-heritage);font-family:var(--mg-sans);font-weight:600;font-size:14px;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap}
.mg-btn:hover{background:var(--mg-heritage);color:#fff}
.mg-btn--fill{background:var(--mg-heritage);color:#fff}
.mg-btn--fill:hover{background:var(--mg-heritage-ink);border-color:var(--mg-heritage-ink);color:#fff}
.mg-btn svg{flex:none}
.mg-btn--big{min-height:48px;padding:0 22px;font-size:15px}

/* masthead */
.mg-mast{padding-top:22px}
.mg-mast h1.mg-word{margin:0;font-size:clamp(44px,17vw,250px)}
.mg-mast-sub{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;margin-top:24px;padding-bottom:24px;border-bottom:1px solid var(--mg-ink)}
.mg-lede{margin:0;max-width:800px;font-family:var(--mg-sans);font-size:clamp(21px,2.1vw,28px);line-height:1.25;font-weight:500;letter-spacing:-.01em;color:var(--mg-ink)}
.mg-tag{margin:0;font-family:var(--mg-sans);font-size:17px;color:var(--mg-mute)}
.mg-stamp{margin:6px 0 0;font-family:var(--mg-mono);font-size:12px;letter-spacing:.04em;line-height:1.6;color:var(--mg-mute)}

/* tape */
.mg-tape{background:var(--mg-sky1);border-block:1px solid var(--mg-rule);margin-top:28px}
.mg-scroll{overflow-x:auto}
.mg-taperow{display:flex;min-width:1120px;font-family:var(--mg-mono)}
.mg-cell{flex:1 1 0;min-width:0;padding:14px 12px 12px;border-right:1px solid var(--mg-rule);display:flex;flex-direction:column;gap:2px}
.mg-cell:first-child{padding-left:0}.mg-cell:last-child{border-right:0;padding-right:0}
.mg-cell .k{font-size:11px;letter-spacing:.1em;color:var(--mg-mute)}
.mg-cell .v{font-size:19px;font-weight:500;color:var(--mg-ink);white-space:nowrap}
.mg-cell .c{font-size:12px;color:var(--mg-mute);white-space:nowrap}
.mg-tapenote{margin:0;padding:8px 0 12px;border-top:1px solid var(--mg-rule);font-family:var(--mg-mono);font-size:11px;color:var(--mg-mute)}

/* shared type */
.mg-eb{margin:0 0 6px;font-family:var(--mg-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mg-mute)}
.mg-eb.pt{color:var(--mg-federal)}
.mg-h2{margin:0;font-family:var(--mg-sans);font-size:21px;line-height:1.25;font-weight:700;letter-spacing:-.01em;color:var(--mg-ink)}
.mg-h2.big{font-size:26px;line-height:1.2}
.mg-sub{margin:6px 0 0;font-family:var(--mg-sans);font-size:14px;color:var(--mg-mute)}
.mg-src{margin:10px 0 0;font-family:var(--mg-mono);font-size:11px;line-height:1.6;color:var(--mg-mute)}

/* why */
.mg-why{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px 56px;padding-top:44px}
.mg-why>div{flex:3 1 520px;min-width:0}
.mg-why h2{margin:0 0 14px;font-family:var(--mg-sans);font-size:clamp(28px,2.8vw,38px);line-height:1.1;font-weight:700;letter-spacing:-.015em;color:var(--mg-ink)}
.mg-why .editorial{background:none;border:0;padding:0}
.mg-why .editorial p{margin:0 0 12px;max-width:760px;font-family:var(--mg-sans);font-size:19px;line-height:1.55;color:var(--mg-ink)}
.mg-dyk{flex:2 1 340px;min-width:0;background:var(--mg-surface);border:1px solid var(--mg-rule);border-top:3px solid var(--mg-heritage);padding:20px 22px 18px}
.mg-dyk h3{margin:0 0 8px;font-family:var(--mg-mono);font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--mg-heritage)}
.mg-dyk p{margin:0 0 12px;font-family:var(--mg-sans);font-size:16px;line-height:1.55;color:var(--mg-ink)}
.mg-dyk a{font-family:var(--mg-sans);font-size:14px;font-weight:600;color:var(--mg-heritage)}

/* dashboard */
.mg-dash{display:flex;flex-wrap:wrap;gap:32px;padding-top:44px}
.mg-rail{flex:1 1 200px;display:flex;flex-direction:column;gap:20px}
.mg-rail nav{display:flex;flex-direction:column}
.mg-rail a{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0 12px;color:var(--mg-ink);text-decoration:none;font-family:var(--mg-sans);font-size:15px}
.mg-rail a:hover{background:var(--mg-sky1)}
.mg-rail a[aria-current]{background:var(--mg-sky2);font-weight:600}
.mg-rail small{font-family:var(--mg-mono);font-size:12px;color:var(--mg-mute)}
.mg-rail .groups{border-top:1px solid var(--mg-rule);padding-top:14px}
.mg-rail .groups p{margin:0;font-family:var(--mg-sans);font-size:13px;line-height:1.6;color:var(--mg-mute)}
.mg-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:24px}
.mg-kpis{display:flex;flex-wrap:wrap;gap:1px;background:var(--mg-rule);border:1px solid var(--mg-rule)}
.mg-kpi{flex:1 1 220px;min-width:0;background:var(--mg-surface);padding:18px 18px 14px;display:flex;flex-direction:column;gap:6px}
.mg-kpi .k{font-family:var(--mg-sans);font-size:13px;font-weight:600;color:var(--mg-mute)}
.mg-kpi .v{font-family:var(--mg-mono);font-size:30px;font-weight:500;letter-spacing:-.02em;color:var(--mg-ink)}
.mg-kpi .c{font-family:var(--mg-mono);font-size:12px;color:var(--mg-ink)}
.mg-kpi svg{display:block;width:100%;height:40px}
.mg-kpi .f{font-family:var(--mg-mono);font-size:11px;color:var(--mg-mute)}
.mg-card{background:var(--mg-surface);border:1px solid var(--mg-rule);padding:20px 24px 16px;min-width:0}
.mg-card.flush{padding-inline:0}
.mg-card.flush>.in{padding-inline:24px}
.mg-row{display:flex;flex-wrap:wrap;gap:24px}
.mg-row>.mg-card{flex:1 1 300px}
.mg-row>.mg-card.wide{flex:2 1 560px}
.mg-cardtop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px}
.mg-cardtop>div:first-child{flex:1 1 420px;min-width:0}
.mg-pills{display:inline-flex;border:1px solid var(--mg-rule)}
.mg-pills button{min-width:60px;min-height:44px;padding:0 14px;border:0;background:var(--mg-surface);color:var(--mg-ink);font-family:var(--mg-mono);font-size:13px;font-weight:500;cursor:pointer}
.mg-pills button[aria-pressed=true]{background:var(--mg-heritage);color:#fff}
.mg-chart{overflow-x:auto;margin-top:16px}
.mg-chart svg{display:block;width:100%;min-width:620px;height:auto}
.mg-tablebox{overflow-x:auto;margin-top:14px}
.mg-ledger{width:100%;min-width:700px;border-collapse:collapse;font-size:14px}
.mg-ledger th{position:static;padding:9px 12px;font-family:var(--mg-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:none;color:var(--mg-mute);text-align:right;background:none;border-bottom:1px solid var(--mg-ink);white-space:nowrap}
.mg-ledger td{padding:10px 12px;border-bottom:1px solid var(--mg-hair);text-align:right;font-family:var(--mg-mono);font-size:13px;color:var(--mg-ink);white-space:nowrap}
.mg-ledger .l{text-align:left;font-family:var(--mg-sans);font-size:14px}
.mg-ledger th:first-child,.mg-ledger td:first-child{padding-left:24px}
.mg-ledger th:last-child,.mg-ledger td:last-child{padding-right:24px}
.mg-ledger tr.pt{background:var(--mg-ground)}
.mg-ledger tr.pt .l{font-weight:600}
.mg-ledger td.pt{color:var(--mg-federal);font-weight:600}
.mg-list{list-style:none;margin:0;padding:0}
.mg-list li{padding:9px 0;border-top:1px solid var(--mg-hair);font-family:var(--mg-sans);font-size:14px;line-height:1.4;color:var(--mg-ink)}
.mg-list .d{display:block;font-family:var(--mg-mono);font-size:11px;letter-spacing:.02em;color:var(--mg-mute)}
.mg-list.cal li{display:flex;gap:12px}
.mg-list.cal .d{flex:0 0 104px;display:inline;padding-top:1px}
.mg-list .x{display:flex;justify-content:space-between;gap:12px}
.mg-list .n{font-family:var(--mg-mono);font-size:16px;font-weight:500;white-space:nowrap}
.mg-list a{color:var(--mg-ink)}
.mg-list b{font-weight:600}
.mg-muted{color:var(--mg-mute)}

/* research band */
.mg-band{background:var(--mg-sky1);border-block:1px solid var(--mg-rule);margin-top:56px}
.mg-band>.mg-wrap{padding-block:52px}
.mg-bandtop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px}
.mg-bandtop h2{margin:0;max-width:760px;font-family:var(--mg-sans);font-size:clamp(28px,3.2vw,42px);line-height:1.1;font-weight:700;letter-spacing:-.02em;color:var(--mg-ink)}
.mg-papers{display:flex;flex-wrap:wrap;gap:1px;background:var(--mg-rule);border:1px solid var(--mg-rule);margin-top:30px}
.mg-papers>div{flex:1 1 280px;background:var(--mg-surface);padding:22px 24px}
.mg-papers h3{margin:0 0 8px;font-family:var(--mg-sans);font-size:22px;line-height:1.2;font-weight:700;letter-spacing:-.01em;color:var(--mg-ink)}
.mg-papers p{margin:0;font-family:var(--mg-sans);font-size:14px;color:var(--mg-mute)}

/* e-news */
.mg-enews{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 48px;padding-block:48px;border-bottom:1px solid var(--mg-ink)}
.mg-enews>div{flex:1 1 420px;min-width:0}
.mg-enews h2{margin:0;font-family:var(--mg-sans);font-size:30px;line-height:1.15;font-weight:800;letter-spacing:-.015em;color:var(--mg-ink)}
.mg-enews p{margin:8px 0 0;max-width:560px;font-family:var(--mg-sans);font-size:15px;line-height:1.5;color:var(--mg-mute)}
.mg-enews iframe{flex:0 1 480px;display:block;width:100%;max-width:480px;height:320px;border:1px solid var(--mg-rule);background:#fff}

/* footer */
.mg-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;padding-block:24px 40px}
.mg-foot p{margin:0;max-width:760px;font-family:var(--mg-mono);font-size:11px;line-height:1.7;color:var(--mg-mute)}
.mg-foot .mg-word{font-size:28px}

/* reels (Explainers) */
.mg-reel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-width:thin;scrollbar-color:var(--mg-sky3) var(--mg-sky1)}
.mg-reel::-webkit-scrollbar{height:10px}
.mg-reel::-webkit-scrollbar-track{background:var(--mg-sky1)}
.mg-reel::-webkit-scrollbar-thumb{background:var(--mg-sky3)}
.mg-fig{flex:0 0 auto;scroll-snap-align:start;margin:0;background:var(--mg-surface);border:1px solid var(--mg-rule);display:flex;flex-direction:column}
.mg-fig img{display:block;object-fit:contain;background:#fff}
.mg-fig figcaption{display:flex;gap:10px;align-items:baseline;padding:10px 12px;border-top:1px solid var(--mg-hair);font-family:var(--mg-mono);font-size:11.5px;line-height:1.35;color:var(--mg-mute)}
.mg-fig figcaption b{color:var(--mg-ink);font-weight:600}
.mg-fig a{display:block}

@media (max-width:640px){.mg-head{position:static}.mg-head .mg-word{font-size:22px}.mg-nav{gap:0 14px}.mg-list.cal .d{flex-basis:88px}}
