/* SUPPLY.training — shared header, footer, search and small site-wide fixes.
   Every rule is scoped to .sx-* classes with element+class specificity, so page styles that target
   header / nav / footer / a cannot change these parts, and these rules cannot change the pages.
   Inserted by tools/build-site.js — edit this file, then re-run the build. */

:root{--sx-navy:#0b1f38;--sx-navy-2:#071b33;--sx-ink:#14213d;--sx-muted:#5b6678;--sx-line:#dde3ea;--sx-amber:#d98a1f;
  --sx-blue:#1d5fbf;--sx-paper:#f5f7fa;--sx-font:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
html{background:var(--sx-navy-2);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background-color:#fff}
[id]{scroll-margin-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* skip link */
a.sx-skip{position:absolute;left:12px;top:-60px;z-index:200;background:#fff;color:var(--sx-navy);padding:10px 14px;border-radius:8px;
  font:600 14px/1 var(--sx-font);text-decoration:none;box-shadow:0 2px 10px rgba(11,31,56,.25)}
a.sx-skip:focus{top:12px}

/* header */
header.sx-header{position:sticky;top:0;z-index:100;display:block;height:auto;min-height:0;margin:0;padding:0;background:rgba(255,255,255,.96);
  border:0;border-bottom:1px solid var(--sx-line);box-shadow:none;color:var(--sx-ink);text-align:left;font:400 15px/1.4 var(--sx-font);
  -webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px)}
.sx-bar{max-width:1200px;margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;gap:18px}
a.sx-logo{font:700 24px/1 var(--sx-font);letter-spacing:-.6px;color:var(--sx-navy);text-decoration:none;white-space:nowrap;padding:0;margin:0;border:0;background:none}
a.sx-logo span{color:var(--sx-amber)}
nav.sx-nav{display:flex;align-items:center;gap:2px;margin:0 0 0 auto;padding:0;height:auto;border:0;background:none;position:static;box-shadow:none}
nav.sx-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 11px;border-radius:8px;color:var(--sx-ink);text-decoration:none;
  font:500 14.5px/1 var(--sx-font);border:0;background:none;transition:background-color .15s,color .15s}
nav.sx-nav a:hover{background:var(--sx-paper);color:var(--sx-blue)}
nav.sx-nav a[aria-current="page"]{color:var(--sx-blue);box-shadow:inset 0 -2px 0 var(--sx-amber);border-radius:8px 8px 0 0}
button.sx-search-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;margin:0;border:1px solid var(--sx-line);border-radius:999px;
  background:#fff;color:var(--sx-muted);font:500 14px/1 var(--sx-font);cursor:pointer;transition:border-color .15s,color .15s}
button.sx-search-btn:hover{border-color:var(--sx-blue);color:var(--sx-blue)}
button.sx-search-btn svg{width:17px;height:17px;flex:none}
kbd.sx-kbd{font:500 11px/1 var(--sx-font);border:1px solid var(--sx-line);border-radius:4px;padding:3px 5px;color:var(--sx-muted)}

/* mobile menu (works without JavaScript: <details>) */
details.sx-menu{display:none;margin:0;position:static}
details.sx-menu>summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:10px;
  background:var(--sx-navy);color:#fff;font:600 14px/1 var(--sx-font);cursor:pointer;user-select:none}
details.sx-menu>summary::-webkit-details-marker{display:none}
details.sx-menu>summary svg{width:18px;height:18px}
nav.sx-drawer{position:absolute;left:0;right:0;top:64px;display:block;height:auto;margin:0;background:#fff;border:0;border-bottom:1px solid var(--sx-line);
  box-shadow:0 18px 30px rgba(11,31,56,.12);padding:8px 20px 20px;max-height:calc(100dvh - 64px);overflow:auto;overscroll-behavior:contain;text-align:left}
.sx-drawer p{margin:14px 0 4px;font:600 12px/1 var(--sx-font);letter-spacing:.06em;text-transform:uppercase;color:var(--sx-muted)}
.sx-drawer a{display:flex;align-items:center;min-height:46px;padding:0 4px;border-bottom:1px solid var(--sx-line);color:var(--sx-ink);
  text-decoration:none;font:500 16px/1.2 var(--sx-font)}
.sx-drawer a[aria-current="page"]{color:var(--sx-blue);font-weight:600}
@media (max-width:1023px){nav.sx-nav{display:none}details.sx-menu{display:block}button.sx-search-btn{margin-left:auto}
  button.sx-search-btn .sx-search-label,kbd.sx-kbd{display:none}button.sx-search-btn{width:44px;height:44px;padding:0;justify-content:center}}
@media (max-width:420px){.sx-bar{padding:0 16px;gap:10px}a.sx-logo{font-size:22px}}

/* footer */
footer.sx-footer{display:block;margin:0;padding:48px 20px 28px;background:var(--sx-navy-2);color:#c7d2de;text-align:left;border:0;
  font:400 14px/1.6 var(--sx-font)}
.sx-foot{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.sx-foot strong.sx-flogo{display:block;font:700 22px/1 var(--sx-font);color:#fff;letter-spacing:-.5px;margin-bottom:12px}
.sx-foot strong.sx-flogo span{color:var(--sx-amber)}
.sx-foot p{margin:0 0 10px;max-width:34ch;color:#c7d2de}
.sx-foot h2{margin:0 0 12px;font:600 12px/1 var(--sx-font);letter-spacing:.08em;text-transform:uppercase;color:#8fa3ba}
.sx-foot ul{display:block;list-style:none;margin:0;padding:0;border:0;background:none}
.sx-foot li{display:list-item;margin:0 0 6px;padding:0;border:0;background:none}
footer.sx-footer a{color:#e3eaf2;text-decoration:none;display:inline-block;padding:3px 0;margin:0;border:0;border-radius:0;background:none;font-weight:400;font-size:14px;box-shadow:none}
footer.sx-footer a:hover{color:#fff;text-decoration:underline}
.sx-legal{max-width:1200px;margin:32px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;
  gap:8px 24px;justify-content:space-between;font-size:12.5px;color:#9fb0c3}
.sx-legal p{margin:0;max-width:80ch}
@media (max-width:860px){.sx-foot{grid-template-columns:1fr 1fr}.sx-foot>div:first-child{grid-column:1/-1}}
@media (max-width:480px){.sx-foot{grid-template-columns:1fr}}

/* search dialog */
.sx-search{position:fixed;inset:0;z-index:300;display:none;background:rgba(7,27,51,.55);padding:72px 16px 16px;overscroll-behavior:contain}
.sx-search.open{display:block}
.sx-sbox{max-width:640px;margin:0 auto;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(7,27,51,.35);overflow:hidden;font-family:var(--sx-font)}
.sx-srow{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--sx-line)}
.sx-srow svg{width:20px;height:20px;color:var(--sx-muted);flex:none}
input.sx-sinput{flex:1;min-width:0;border:0;outline:0;font:400 17px/1.3 var(--sx-font);color:var(--sx-ink);background:transparent;padding:8px 0}
button.sx-sclose{border:1px solid var(--sx-line);background:#fff;border-radius:8px;min-height:36px;padding:0 10px;font:500 13px/1 var(--sx-font);color:var(--sx-muted);cursor:pointer}
.sx-sresults{max-height:min(60vh,520px);overflow:auto;padding:8px}
.sx-sresults a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-radius:10px;color:var(--sx-ink);text-decoration:none}
.sx-sresults a:hover,.sx-sresults a:focus{background:var(--sx-paper);outline:none}
.sx-sresults a strong{font-weight:600}
.sx-sresults a span{font-size:12px;color:var(--sx-muted);white-space:nowrap}
.sx-sresults p{margin:12px;color:var(--sx-muted);font-size:14px}

/* case studies: what is at stake, next step, related + author */
div.sx-stake{margin:0 0 10px;padding:16px 18px;border-radius:12px;background:#fff7ec;border:1px solid #f0d3a8;border-left:4px solid var(--sx-amber);font:400 15.5px/1.55 var(--sx-font);color:var(--sx-ink)}
div.sx-stake strong{display:block;font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#9a5a0c;margin-bottom:4px}
div.sx-stake p{margin:0;max-width:70ch}
p.sx-casemeta{margin:0 0 16px;font:500 13px/1.4 var(--sx-font);color:var(--sx-muted)}
div.sx-next{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin:22px 0 14px;padding:20px 22px;border-radius:14px;
  background:var(--sx-navy);color:#fff;font-family:var(--sx-font)}
div.sx-next strong{display:block;font-size:18px;font-weight:600;margin-bottom:2px}
div.sx-next p{margin:0;color:#c7d2de;font-size:14.5px}
a.sx-next-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border-radius:10px;background:var(--sx-amber);color:#1a1205;
  font:600 15.5px/1 var(--sx-font);text-decoration:none;transition:background-color .15s}
a.sx-next-btn:hover{background:#e39a36}
div.sx-casefoot{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 14px;font:400 14.5px/1.55 var(--sx-font);color:var(--sx-ink)}
div.sx-casefoot>div{border:1px solid var(--sx-line);border-radius:12px;padding:16px 18px;background:#fff}
div.sx-casefoot strong{display:block;font-weight:600;margin-bottom:6px}
div.sx-casefoot ul{margin:0;padding-left:18px}
div.sx-casefoot li{margin:4px 0}
div.sx-casefoot p{margin:0}
div.sx-casefoot a{color:var(--sx-blue);font-weight:500;text-decoration:none}
div.sx-casefoot a:hover{text-decoration:underline}
@media (max-width:760px){div.sx-casefoot{grid-template-columns:1fr}a.sx-next-btn{width:100%;justify-content:center}}
footer.sx-footer a[data-sx-consent]{font-size:12.5px;color:#c7d2de;text-decoration:underline;margin-left:16px}
footer.sx-footer a[data-sx-consent][hidden]{display:none}

/* shared focus ring */
.sx-header a:focus-visible,.sx-header button:focus-visible,.sx-header summary:focus-visible,.sx-footer a:focus-visible,.sx-search a:focus-visible,.sx-search button:focus-visible{
  outline:2px solid var(--sx-amber);outline-offset:2px}
@media print{header.sx-header,footer.sx-footer,.sx-search,a.sx-skip{display:none!important}html{background:#fff}}
