/* 24nodes Design System v1 — shared by web01 + status01 */
:root{
  color-scheme:light;
  --navy-950:#0d2438;
  --navy-900:#102b46;
  --navy-800:#173b5d;
  --navy-700:#244a6d;
  --slate-500:#60778c;
  --slate-400:#7f93a5;
  --slate-300:#aebdca;
  --slate-250:#bdc9d4;
  --slate-200:#c9d4de;
  --slate-150:#d7e0e7;
  --slate-100:#e5ebf0;
  --slate-050:#f4f7f9;
  --white:#fff;
  --blue-700:#1e4fb8;
  --blue-600:#2b63d9;
  --blue-500:#3d78e6;
  --green-700:#0b7749;
  --green-600:#12945d;
  --green-100:#e8f7f0;
  --orange-600:#c56f0d;
  --red-600:#c23b49;
  --page:#c8d3dc;
  --page-deep:#becbd5;
  --surface:#ffffff;
  --surface-soft:#eef3f6;
  --line:#aebfcd;
  --line-soft:#ced8e1;
  --text:#102b46;
  --muted:#4f677b;
  --dim:#708598;
  --container:1240px;
  --r-sm:10px;
  --r-md:16px;
  --r-lg:24px;
  --shadow-sm:0 7px 18px rgba(13,36,56,.05);
  --shadow-md:0 16px 38px rgba(13,36,56,.08);
  /* compatibility aliases for legacy page components */
  --bg:var(--page);--bg-deep:var(--page-deep);--text-soft:var(--muted);--border:var(--line-soft);--border-strong:var(--line);
  --green:var(--green-600);--green-strong:var(--green-700);--green-soft:var(--green-100);--green-border:#a9d8c0;
  --blue:var(--blue-600);--blue-soft:rgba(43,99,217,.10);--dim:var(--dim);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--page)}
body{margin:0;min-width:320px;background:var(--page);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img,svg{max-width:100%}
.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}
.skip-link{position:fixed;z-index:10000;top:10px;left:10px;padding:10px 14px;border-radius:9px;background:var(--navy-950);color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.hidden{display:none!important}

/* shared shell */
.site-header,.site-header.scrolled{position:static!important;inset:auto!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid #19384f!important;background:var(--navy-950)!important;color:#fff!important;box-shadow:none!important;transform:none!important;transition:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.site-header .header-inner{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:28px!important;width:min(calc(100% - 48px),var(--container))!important;height:76px!important;min-height:76px!important;margin:0 auto!important;padding:0!important}
.site-header .brand{justify-self:start!important;display:inline-flex!important;align-items:center!important;gap:10px!important;color:#fff!important;font-weight:800!important;letter-spacing:-.035em!important}
.site-header .logo{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:11px!important;background:#fff!important;color:var(--navy-950)!important;font-size:15px!important;font-weight:900!important;line-height:1!important;letter-spacing:-.06em!important;box-shadow:none!important}
.site-header .brand-text{color:#fff!important;font-size:20px!important;font-weight:800!important;line-height:1!important}
.site-header .header-nav{justify-self:center!important;display:flex!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0!important}
.site-header .header-nav a{display:inline-flex!important;align-items:center!important;min-height:36px!important;padding:0 12px!important;border-radius:10px!important;color:#afc0cf!important;font-size:11px!important;font-weight:720!important;transition:background-color .16s ease,color .16s ease!important}
.site-header .header-nav a:hover,.site-header .header-nav a[aria-current="page"]{background:rgba(255,255,255,.07)!important;color:#fff!important}
.site-header .header-actions{justify-self:end!important;display:flex!important;align-items:center!important;gap:9px!important;margin:0!important;padding:0!important}
.site-header .header-link,.site-header .header-status,.site-header .header-status-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:40px!important;padding:0 14px!important;border-radius:11px!important;font-size:11px!important;font-weight:760!important;line-height:1!important;transform:none!important}
.site-header .header-link{border:1px solid transparent!important;color:#c1cfda!important;background:transparent!important}
.site-header .header-link:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
.site-header .header-status,.site-header .header-status-link{border:1px solid rgba(255,255,255,.17)!important;background:rgba(255,255,255,.07)!important;color:#fff!important;transition:background-color .16s ease,border-color .16s ease!important}
.site-header .header-status:hover,.site-header .header-status-link:hover{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.28)!important}
.site-header .status-dot{width:7px!important;height:7px!important;border-radius:50%!important;background:var(--green-600)!important;box-shadow:none!important;animation:statusPulse 2.4s ease-in-out infinite!important}
@keyframes statusPulse{50%{transform:scale(.72);opacity:.6}}

.site-footer{width:100%!important;margin:54px 0 0!important;padding:0!important;border:0!important;border-top:1px solid #19384f!important;background:var(--navy-950)!important;color:#fff!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.site-footer *{box-sizing:border-box!important}
.site-footer .footer-shell{display:grid!important;grid-template-columns:250px repeat(4,minmax(130px,1fr))!important;grid-template-rows:auto auto!important;column-gap:34px!important;row-gap:0!important;width:min(calc(100% - 48px),var(--container))!important;margin:0 auto!important;padding:42px 0 24px!important}
.site-footer .footer-about,.site-footer .footer-column,.site-footer .footer-meta{margin:0!important;padding:0!important;transform:none!important}
.site-footer .footer-brand{display:inline-flex!important;align-items:center!important;gap:9px!important;color:#fff!important;text-decoration:none!important}
.site-footer .footer-logo{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;min-width:32px!important;border-radius:9px!important;background:#fff!important;color:var(--navy-950)!important;font-size:12px!important;font-weight:900!important;line-height:1!important;letter-spacing:-.06em!important}
.site-footer .footer-brand-text{color:#fff!important;font-size:17px!important;font-weight:800!important;line-height:1!important;letter-spacing:-.035em!important}
.site-footer .footer-about p{max-width:230px!important;margin:14px 0 0!important;color:#91a5b6!important;font-size:11px!important;line-height:1.55!important}
.site-footer .footer-column{display:grid!important;align-content:start!important;gap:9px!important}
.site-footer .footer-column strong{margin:0 0 4px!important;color:#edf3f8!important;font-size:10px!important;font-weight:800!important;line-height:1.35!important;letter-spacing:.09em!important;text-transform:uppercase!important}
.site-footer .footer-column a,.site-footer .footer-muted{margin:0!important;padding:0!important;color:#90a4b5!important;font-size:11px!important;line-height:1.45!important;text-decoration:none!important}
.site-footer .footer-column a:hover{color:#fff!important}.site-footer .footer-muted{opacity:.7!important}
.site-footer .footer-meta{grid-column:1/-1!important;display:flex!important;justify-content:space-between!important;gap:20px!important;margin-top:30px!important;padding-top:20px!important;border-top:1px solid rgba(255,255,255,.12)!important;color:#718a9e!important;font-size:9px!important;line-height:1.45!important}

/* reusable future-facing resource pages */
.resource-page{padding:82px 0 96px;background:linear-gradient(180deg,#d8e1e8 0%,var(--page) 100%)}
.resource-page .eyebrow{display:block;margin-bottom:12px;color:var(--navy-700);font-size:10px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.resource-page h1{max-width:850px;margin:0;color:var(--navy-900);font-size:clamp(48px,7vw,84px);line-height:.96;letter-spacing:-.055em}
.resource-page .lead{max-width:720px;margin:24px 0 0;color:var(--muted);font-size:18px;line-height:1.7}
.resource-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px}
.resource-card{padding:26px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;box-shadow:var(--shadow-sm)}
.resource-card span{color:var(--blue-600);font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.resource-card h2{margin:16px 0 10px;font-size:22px}.resource-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}

@media(max-width:1040px){
  .site-header .header-inner{grid-template-columns:auto 1fr auto!important}.site-header .header-nav{justify-self:start!important}
  .site-footer .footer-shell{grid-template-columns:1.25fr repeat(2,1fr)!important;row-gap:30px!important}.site-footer .footer-about{grid-column:1/-1!important}
}
@media(max-width:780px){
  .container{width:min(calc(100% - 28px),var(--container))}
  .site-header .header-inner{width:min(calc(100% - 28px),var(--container))!important;grid-template-columns:1fr auto!important;height:68px!important;min-height:68px!important}.site-header .header-nav{display:none!important}.site-header .header-link{display:none!important}.site-header .logo{width:34px!important;height:34px!important;min-width:34px!important}.site-header .brand-text{font-size:18px!important}
  .site-footer .footer-shell{width:min(calc(100% - 28px),var(--container))!important;grid-template-columns:1fr 1fr!important;gap:28px 24px!important;padding:38px 0 22px!important}.site-footer .footer-about{grid-column:1/-1!important}.site-footer .footer-meta{flex-direction:column!important;gap:5px!important;margin-top:4px!important}
  .resource-cards{grid-template-columns:1fr}.resource-page{padding:58px 0 72px}.resource-page .lead{font-size:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header .status-dot{animation:none!important}*{scroll-behavior:auto!important}}
