/* Morgan-GLII — base: design tokens, element defaults, layout primitives, utilities.
   Ported verbatim from the static prototype's css/style.css unless marked "WP:". */

:root{
  --paper:#FFFFFF;
  --paper-warm:#FAF7F1;
  --paper-raised:#FFFFFF;
  --ink:#151E29;
  --slate:#57616F;
  --line:#E1D9C7;
  --navy:#0C2340;
  --navy-deep:#071527;
  --navy-tint:#EEF1F6;
  --orange:#D9740C;
  --orange-bright:#EE7D1E;
  --orange-soft:#F6E3CC;
  --focus:#1B5FB8;
  --shadow: 0 18px 40px -22px rgba(7,21,39,.35);
  --radius-lg: 22px;
  --radius-md: 14px;
  --radius-sm: 8px;
  --accent-strong:#0C2340;
  --sev-high-bg:#F8DADA;
  --sev-high-fg:#9A2E2E;
}
:root[data-theme="dark"]{
  --paper:#0D131C;
  --paper-raised:#161F2C;
  --ink:#E9E6DD;
  --slate:#9BA6B7;
  --line:#28303F;
  --navy:#13253F;
  --navy-deep:#070C14;
  --accent-strong:#F0913E;
  --sev-high-bg:rgba(240,90,90,.18);
  --sev-high-fg:#F3A0A0;
  --navy-tint:#141C29;
  --orange:#F0913E;
  --orange-bright:#F5A455;
  --orange-soft:rgba(240,145,62,.16);
  --focus:#7FB0F2;
  --shadow: 0 18px 44px -20px rgba(0,0,0,.6);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Libre Franklin',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--orange-soft);}
a{color:inherit;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{
  font-family:'Fraunces',Georgia,'Times New Roman',serif;
  font-weight:600;
  line-height:1.12;
  text-wrap:balance;
  margin:0;
  color:var(--ink);
}
p{margin:0;}
.mono{font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;}
[hidden]{display:none!important;}
:focus-visible{outline:2.5px solid var(--focus);outline-offset:3px;border-radius:4px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}

/* WP: keyboard "skip to content" link — invisible until focused, so the design is unchanged */
.skip-link{
  position:absolute;left:12px;top:-60px;z-index:100;
  background:var(--navy);color:#fff;text-decoration:none;font-weight:600;font-size:14px;
  padding:10px 16px;border-radius:999px;
}
.skip-link:focus{top:12px;}
/* WP: accessible-only text (used by menus/screen-reader labels) */
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ---------- Layout primitives ---------- */
.wrap{max-width:1120px;margin:0 auto;padding-inline:24px;}
@media (max-width:640px){ .wrap{padding-inline:18px;} }

section{padding-block:64px;}
section.tight{padding-block:44px;}
.band{background:var(--navy-tint);}

.grid{display:grid;gap:20px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:880px){ .grid-3,.grid-4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;} }

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
@media (max-width:760px){ .two-col{grid-template-columns:1fr;gap:28px;} }

/* ---------- Utilities (formerly inline styles) ---------- */
.hdr-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.eyebrow-accent{color:var(--orange);}
.col-title{margin-top:8px;font-size:26px;}
.col-title.sm{font-size:24px;}
.body-slate{color:var(--slate);margin-top:14px;}
.body-slate + .body-slate{margin-top:12px;}
.mini-title{font-size:18px;margin-bottom:10px;}
.muted-note{color:var(--slate);font-size:14px;margin-top:16px;}
.card-link{text-decoration:none;}
.tag-block{margin-bottom:10px;}
.obj-title{margin-top:12px;}
.align-start{align-items:start;}
.sub-muted{color:var(--slate);font-weight:400;}
.mt-12{margin-top:12px;} .mt-14{margin-top:14px;} .mt-18{margin-top:18px;}
.mt-20{margin-top:20px;} .mt-22{margin-top:22px;} .mt-26{margin-top:26px;} .mt-28{margin-top:28px;}
