:root{
  --desk:#d4d0c7;
  --paper:#f3f0e7;
  --paper-2:#ece8dd;
  --ink:#17191b;
  --muted:#5d6266;
  --faint:#8a8d8c;
  --line:#b8b4aa;
  --line-dark:#777b7d;
  --navy:#22384a;
  --navy-soft:#dfe6ea;
  --red:#8c302b;
  --red-soft:#ead9d5;
  --green:#456653;
  --max:1240px;
  --mono:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --sans:Arial,"Helvetica Neue",Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.62;
  background:
    linear-gradient(rgba(34,56,74,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34,56,74,.035) 1px, transparent 1px),
    var(--desk);
  background-size:28px 28px;
}
a{color:inherit}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;background:#fff;color:#000;padding:10px 14px;z-index:1000}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(243,240,231,.97);
  border-bottom:1px solid #8f8a80;
  box-shadow:0 3px 14px rgba(33,35,37,.08);
  backdrop-filter:blur(12px)
}
.header-inner{max-width:var(--max);margin:auto;min-height:74px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:max-content}
.brand-mark{
  width:38px;height:38px;display:grid;place-items:center;
  border:1px solid var(--ink);
  font:700 12px/1 var(--mono);letter-spacing:.08em;
  background:var(--paper-2);
  position:relative;
}
.brand-mark:after{content:"";position:absolute;inset:4px;border:1px solid var(--line)}
.brand-copy{display:grid;line-height:1.1;gap:5px}
.brand-copy strong{font-size:13px;letter-spacing:.15em}
.brand-copy small{font:600 9px/1 var(--mono);letter-spacing:.12em;color:var(--muted)}
.site-nav{display:flex;align-items:center;gap:2px;font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.05em}
.site-nav a{position:relative;text-decoration:none;color:#4e5559;padding:13px 9px;border-left:1px solid transparent;border-right:1px solid transparent}
.site-nav a:hover,.site-nav a.active{color:var(--ink);background:#ebe7dc;border-color:#c8c3b8}
.site-nav a.active:after{content:"";position:absolute;left:9px;right:9px;bottom:7px;height:2px;background:var(--red)}
.menu-toggle{display:none}

.section-shell{
  max-width:var(--max);
  margin:24px auto 0;
  padding-left:44px;
  padding-right:44px;
  background:var(--paper);
  border:1px solid #aaa69d;
  box-shadow:0 8px 22px rgba(28,30,31,.10), inset 0 0 0 7px rgba(255,255,255,.24);
  position:relative;
}
.section-shell:before{
  content:"";
  position:absolute;
  left:18px;top:18px;bottom:18px;
  width:1px;background:rgba(140,48,43,.25)
}
.hero{padding-top:56px;padding-bottom:58px;margin-top:34px}
.hero:after{
  content:"REFERENCE COPY";
  position:absolute;right:28px;top:26px;
  border:2px solid rgba(140,48,43,.62);
  color:rgba(140,48,43,.75);
  padding:7px 11px 6px;
  font:700 11px/1 var(--mono);letter-spacing:.16em;
  transform:rotate(-3deg)
}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);gap:58px;align-items:end}
.eyebrow,.section-code{display:flex;gap:11px;align-items:center;font:700 10px/1 var(--mono);letter-spacing:.13em;color:var(--navy);text-transform:uppercase}
.eyebrow:before,.section-code:before{content:"";width:24px;height:2px;background:var(--red)}
.eyebrow span+span{color:var(--muted)}
h1,h2,h3,p{margin-top:0}
h1{
  max-width:850px;margin:24px 0 22px;
  font-size:clamp(50px,6.5vw,90px);line-height:.94;letter-spacing:-.055em;font-weight:800;
}
.hero-lead{max-width:760px;font-size:19px;line-height:1.58;color:#303438;font-weight:600}
.hero-support{max-width:760px;font-size:14px;color:var(--muted);border-left:3px solid var(--navy);padding-left:16px;margin-top:22px}
.hero-actions{display:flex;gap:18px;align-items:center;margin-top:31px;flex-wrap:wrap}
.primary-link,.text-link{font:700 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.primary-link{display:inline-flex;gap:28px;align-items:center;padding:14px 15px;border:1px solid var(--ink);background:var(--ink);color:#f6f3ea}
.primary-link:hover{background:var(--navy)}
.text-link{color:var(--navy);padding:13px 0;border-bottom:1px solid var(--navy)}
.signal-line{display:flex;gap:5px;margin-top:46px;width:min(560px,100%)}
.signal-line span{height:3px;background:#c5c0b4;flex:1}
.signal-line span:nth-child(-n+3){background:var(--red)}
.hero-status{
  border:1px solid #666b6e;background:#e7e3d8;
  box-shadow:6px 6px 0 rgba(34,56,74,.09);
  position:relative
}
.hero-status:before{content:"DOCUMENT CONTROL";position:absolute;right:12px;top:-20px;font:700 8px/1 var(--mono);letter-spacing:.16em;color:var(--muted)}
.status-head,.status-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font:700 9px/1 var(--mono);letter-spacing:.12em}
.status-head{border-bottom:1px solid #98948b;background:#ddd8cb}
.status-head span,.status-foot{color:#666b6d}
.status-head b{color:var(--green);font-weight:800}
.hero-status dl{margin:0;padding:4px 16px}
.hero-status dl div{display:grid;grid-template-columns:94px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid #c4bfb4}
.hero-status dt{font:700 9px/1.4 var(--mono);text-transform:uppercase;color:#6d7070}
.hero-status dd{margin:0;font:700 11px/1.4 var(--mono);color:#25292c}
.status-foot{border-top:1px solid #98948b;background:#e0dcd1}

.audience-strip{max-width:var(--max);margin:0 auto;background:var(--navy);color:#edf1f2;border-left:1px solid #182b3a;border-right:1px solid #182b3a}
.audience-strip .section-shell{margin:0;border:0;box-shadow:none;background:transparent;padding:0 44px}
.audience-strip .section-shell:before{display:none}
.audience-inner{min-height:50px;display:flex;gap:24px;align-items:center;flex-wrap:wrap;font:700 9px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.audience-label{color:#e9b8b0;border-right:1px solid rgba(255,255,255,.25);padding-right:24px}

.mission,.systems,.critical,.matrix,.decision,.profiles,.principles,.closing{padding-top:62px;padding-bottom:62px}
.mission-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:76px;margin-top:30px}
.mission h2,.section-heading h2,.closing h2{font-size:clamp(30px,4vw,52px);line-height:1.04;letter-spacing:-.045em;font-weight:800;margin-bottom:0}
.mission-copy{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.mission-copy p,.section-heading>p,.closing p{color:var(--muted);margin-bottom:0}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);margin-top:52px;background:#e9e5da}
.process-grid article{padding:23px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);min-height:180px;position:relative}
.process-grid article:after{content:"";position:absolute;right:12px;top:12px;width:18px;height:18px;border-top:1px solid #92908a;border-right:1px solid #92908a}
.process-grid article>span{font:800 10px/1 var(--mono);color:var(--red)}
.process-grid h3{font-size:18px;margin:38px 0 10px;text-transform:uppercase;letter-spacing:.03em}
.process-grid p{font-size:13px;color:var(--muted);margin:0}

.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:36px}
.section-heading h2{margin-top:20px}
.section-heading>p{max-width:520px;border-left:1px solid var(--line-dark);padding-left:18px}
.system-list{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
.system-row{display:grid;grid-template-columns:60px minmax(0,1fr) auto 28px;gap:24px;align-items:center;padding:22px 8px;border-bottom:1px solid #a8a49b;text-decoration:none;transition:background .15s,padding .15s}
.system-row:last-child{border-bottom:0}
.system-row:hover{background:var(--navy-soft);padding-left:16px;padding-right:16px}
.num{font:800 10px/1 var(--mono);color:var(--red)}
.system-title h3{font-size:24px;letter-spacing:-.02em;margin:0 0 5px}
.system-title p{color:var(--muted);font-size:13px;margin:0}
.system-meta{display:flex;gap:7px}
.system-meta span{border:1px solid #9a968d;background:#ebe7dd;padding:7px 8px;font:700 8px/1 var(--mono);letter-spacing:.08em;color:#5e6467}
.arrow{font-family:var(--mono);color:var(--red);font-weight:800}

.critical-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #86837d;border-left:1px solid #86837d}
.critical-card{padding:26px;border-right:1px solid #86837d;border-bottom:1px solid #86837d;background:#eae6dc}
.critical-card.critical-high{background:#eee3df}
.critical-head{display:flex;justify-content:space-between;gap:16px;font:700 8px/1.2 var(--mono);letter-spacing:.09em;color:#65696b}
.critical-high .critical-head b{color:var(--red)}
.critical-card h3{font-size:25px;margin:32px 0 12px}
.critical-card p{font-size:14px;color:var(--muted)}
.critical-card dl{margin:22px 0 0;border-top:1px solid #b6b1a7}
.critical-card dl div{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #c4bfb5}
.critical-card dt{font:700 8px/1.4 var(--mono);text-transform:uppercase;color:var(--navy)}
.critical-card dd{margin:0;font-size:12px;color:#44494c}

.table-wrap{overflow-x:auto;border:1px solid #777a79;background:#eeeae0}
table{width:100%;border-collapse:collapse;min-width:860px}
th,td{text-align:left;padding:16px 17px;border-right:1px solid #b5b0a6;border-bottom:1px solid #b5b0a6;vertical-align:top}
th{font:800 9px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#f4f3ed;background:var(--navy)}
td{font-size:13px;color:#474b4d}
tbody tr:nth-child(even){background:#e7e2d7}
tbody tr:hover{background:#dfe6e9}
td:first-child{color:var(--ink);font-weight:800}

.decision-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.decision-list li{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:22px 8px;border-bottom:1px solid #a8a49b}
.decision-list>li>span{font:800 10px/1 var(--mono);color:var(--red);padding-top:7px}
.decision-list h3{font-size:21px;margin:0 0 7px;text-transform:uppercase;letter-spacing:.02em}
.decision-list p{margin:0;color:var(--muted);font-size:14px}

.profile-grid,.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #85827b;border-left:1px solid #85827b}
.profile-grid article,.principle-grid article{padding:27px;border-right:1px solid #85827b;border-bottom:1px solid #85827b;background:#e9e5db;min-height:280px}
.profile-code,.label{font:800 9px/1 var(--mono);letter-spacing:.1em;color:var(--red)}
.profile-grid h3,.principle-grid h2{font-size:25px;line-height:1.15;letter-spacing:-.03em;margin:45px 0 18px}
.profile-grid ul{padding-left:18px;margin:0;color:#555a5d;font-size:13px}
.profile-grid li{margin:7px 0}
.principle-grid p{color:var(--muted);font-size:14px}

.closing-panel{position:relative;overflow:hidden;border:1px solid #767a7a;padding:clamp(28px,5vw,56px);background:#e8e4d9}
.closing-panel:before{content:"TECHNICAL FILE / INDEX";position:absolute;right:24px;top:22px;font:800 8px/1 var(--mono);letter-spacing:.16em;color:#727675}
.closing-panel:after{content:"JA / REF";position:absolute;right:26px;bottom:-18px;font:800 82px/1 var(--mono);letter-spacing:-.08em;color:rgba(34,56,74,.07)}
.closing h2{max-width:830px;margin:24px 0 18px}
.closing p{max-width:740px;margin-bottom:28px}

.site-footer{max-width:var(--max);margin:24px auto 40px;padding:34px 42px 28px;background:#ddd8cc;border:1px solid #98948a;box-shadow:0 6px 18px rgba(28,30,31,.08)}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}
.footer-grid strong{font:800 12px/1 var(--mono);letter-spacing:.14em}
.footer-grid p{max-width:520px;color:var(--muted);font-size:13px;margin:10px 0 0}
.footer-grid nav{display:flex;gap:20px;flex-wrap:wrap}
.footer-grid nav a{font:700 10px/1 var(--mono);text-decoration:none;color:#4f5558;text-transform:uppercase;border-bottom:1px solid transparent}
.footer-grid nav a:hover{border-color:var(--red);color:var(--ink)}
.footer-note{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #aaa69d;margin-top:30px;padding-top:20px;font:600 9px/1.6 var(--mono);color:#686c6d}

@media(max-width:1000px){
  .menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid #777a79;background:#ebe7dc;color:var(--ink);font:700 10px/1 var(--mono);padding:10px 11px}
  .menu-toggle i,.menu-toggle i:before,.menu-toggle i:after{display:block;width:16px;height:1px;background:var(--ink);content:"";transition:.2s}
  .menu-toggle i{position:relative}.menu-toggle i:before{position:absolute;top:-5px}.menu-toggle i:after{position:absolute;top:5px}
  .menu-toggle[aria-expanded=true] i{background:transparent}.menu-toggle[aria-expanded=true] i:before{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:after{transform:translateY(-5px) rotate(-45deg)}
  .site-nav{position:fixed;top:75px;right:0;bottom:0;width:min(390px,100%);background:#efebe0;border-left:1px solid #8f8b82;padding:22px;display:none;align-items:stretch;flex-direction:column;gap:0;box-shadow:-10px 0 28px rgba(24,27,29,.12)}
  .site-nav.open{display:flex}.site-nav a{font-size:12px;padding:18px 8px;border-bottom:1px solid #c2bdb3}body.menu-open{overflow:hidden}
  .hero-grid{grid-template-columns:1fr;gap:44px}.hero-status{max-width:560px}
  .mission-grid,.section-heading{grid-template-columns:1fr;gap:28px}.mission-copy{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}
  .system-row{grid-template-columns:50px 1fr 28px}.system-meta{display:none}.profile-grid,.principle-grid{grid-template-columns:1fr}.critical-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  body{background-size:22px 22px}.header-inner{padding-left:16px;padding-right:16px}.brand-copy small{display:none}
  .section-shell{margin-top:14px;padding-left:26px;padding-right:18px;box-shadow:0 5px 14px rgba(28,30,31,.08),inset 0 0 0 4px rgba(255,255,255,.2)}
  .section-shell:before{left:11px;top:14px;bottom:14px}
  .hero{padding-top:52px;padding-bottom:46px}.hero:after{right:15px;top:18px;font-size:8px;padding:5px 7px}
  h1{font-size:clamp(42px,14vw,66px)}.hero-lead{font-size:16px}.hero-support{font-size:13px}.hero-actions{align-items:flex-start;flex-direction:column}
  .audience-strip .section-shell{padding:0 18px}.audience-inner{gap:12px 18px;padding-top:13px!important;padding-bottom:13px!important;line-height:1.45}
  .mission,.systems,.critical,.matrix,.decision,.profiles,.principles,.closing{padding-top:48px;padding-bottom:48px}
  .mission-copy{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.process-grid article{min-height:auto}
  .system-row{grid-template-columns:34px 1fr 18px;gap:13px;padding:18px 2px}.system-title h3{font-size:21px}.system-title p{font-size:12px}
  .section-heading{margin-bottom:25px}.section-heading>p{border-left:0;border-top:1px solid #9f9b92;padding:14px 0 0}
  .decision-list li{grid-template-columns:42px 1fr;gap:10px;padding-left:0}
  .footer-grid{grid-template-columns:1fr}.footer-grid nav{gap:16px}.footer-note{flex-direction:column}.site-footer{margin:14px 12px 22px;padding:28px 20px}
  .closing-panel:after{font-size:52px}.hero-status:before{display:none}
}


/* V5 — refined dossier typography and compact spacing */
body{line-height:1.52}

.site-header{box-shadow:0 2px 10px rgba(33,35,37,.055)}
.header-inner{min-height:66px;padding:0 24px;gap:22px}
.brand{gap:11px}
.brand-mark{width:34px;height:34px;font-size:10px}
.brand-copy{gap:4px}
.brand-copy strong{font-size:11px;font-weight:600;letter-spacing:.14em}
.brand-copy small{font-size:8px;font-weight:500;letter-spacing:.10em}
.site-nav{font-weight:500;font-size:9px;letter-spacing:.045em}
.site-nav a{padding:11px 8px}
.site-nav a.active:after{height:1px;bottom:6px}

.section-shell{
  margin-top:16px;
  padding-left:36px;
  padding-right:36px;
  box-shadow:0 5px 16px rgba(28,30,31,.075),inset 0 0 0 5px rgba(255,255,255,.18);
}
.section-shell:before{left:15px;top:15px;bottom:15px}
.hero{padding-top:42px;padding-bottom:42px;margin-top:24px}
.hero:after{
  right:24px;top:21px;
  border-width:1px;
  padding:5px 9px 4px;
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  opacity:.78
}
.hero-grid{grid-template-columns:minmax(0,1.48fr) minmax(280px,.62fr);gap:44px}
.eyebrow,.section-code{font-size:8px;font-weight:600;letter-spacing:.12em;gap:9px}
.eyebrow:before,.section-code:before{width:18px;height:1px}

h1{
  max-width:780px;
  margin:20px 0 17px;
  font-size:clamp(38px,5vw,66px);
  line-height:1.01;
  letter-spacing:-.038em;
  font-weight:400;
}
.hero-lead{
  max-width:720px;
  font-size:16px;
  line-height:1.55;
  font-weight:400;
  color:#3c4144
}
.hero-support{
  max-width:720px;
  font-size:12.5px;
  line-height:1.5;
  border-left-width:1px;
  padding-left:13px;
  margin-top:17px
}
.hero-actions{gap:16px;margin-top:24px}
.primary-link,.text-link{font-size:9px;font-weight:600}
.primary-link{gap:22px;padding:11px 13px}
.text-link{padding:10px 0}
.signal-line{margin-top:32px;gap:4px}
.signal-line span{height:2px}

.hero-status{box-shadow:4px 4px 0 rgba(34,56,74,.055)}
.hero-status:before{top:-17px;font-size:7px;font-weight:600}
.status-head,.status-foot{padding:11px 13px;font-size:8px;font-weight:600}
.hero-status dl{padding:2px 13px}
.hero-status dl div{grid-template-columns:80px 1fr;gap:12px;padding:10px 0}
.hero-status dt{font-size:8px;font-weight:600}
.hero-status dd{font-size:10px;font-weight:600}

.audience-strip .section-shell{padding:0 36px}
.audience-inner{min-height:42px;gap:20px;font-size:8px;font-weight:600}
.audience-label{padding-right:20px}

.mission,.systems,.critical,.matrix,.decision,.profiles,.principles,.closing{
  padding-top:44px;
  padding-bottom:44px
}
.mission-grid{gap:58px;margin-top:23px}
.mission h2,.section-heading h2,.closing h2{
  font-size:clamp(25px,3.25vw,42px);
  line-height:1.08;
  letter-spacing:-.032em;
  font-weight:400
}
.mission-copy{gap:28px}
.mission-copy p,.section-heading>p,.closing p{font-size:13px;line-height:1.55}
.process-grid{margin-top:36px}
.process-grid article{padding:18px;min-height:142px}
.process-grid article:after{width:13px;height:13px;right:10px;top:10px}
.process-grid article>span{font-size:8px;font-weight:600}
.process-grid h3{
  font-size:14px;
  font-weight:500;
  margin:27px 0 7px;
  letter-spacing:.02em
}
.process-grid p{font-size:12px;line-height:1.45}

.section-heading{gap:42px;margin-bottom:26px}
.section-heading h2{margin-top:15px}
.section-heading>p{padding-left:15px}

.system-list{border-top-width:1px}
.system-row{
  grid-template-columns:46px minmax(0,1fr) auto 22px;
  gap:18px;
  padding:16px 6px
}
.system-row:hover{padding-left:11px;padding-right:11px}
.num{font-size:8px;font-weight:600}
.system-title h3{
  font-size:19px;
  font-weight:400;
  letter-spacing:-.012em;
  margin-bottom:3px
}
.system-title p{font-size:12px;line-height:1.4}
.system-meta{gap:5px}
.system-meta span{padding:5px 6px;font-size:7px;font-weight:600}
.arrow{font-weight:600}

.critical-card{padding:20px}
.critical-head{font-size:7px;font-weight:600}
.critical-card h3{
  font-size:20px;
  font-weight:400;
  letter-spacing:-.018em;
  margin:24px 0 9px
}
.critical-card p{font-size:12.5px;line-height:1.5}
.critical-card dl{margin-top:16px}
.critical-card dl div{grid-template-columns:72px 1fr;padding:8px 0}
.critical-card dt{font-size:7px;font-weight:600}
.critical-card dd{font-size:11px}

table{min-width:820px}
th,td{padding:12px 13px}
th{font-size:8px;font-weight:600}
td{font-size:12px;line-height:1.45}
td:first-child{font-weight:600}

.decision-list{border-top-width:1px}
.decision-list li{
  grid-template-columns:54px 1fr;
  gap:16px;
  padding:16px 6px
}
.decision-list>li>span{font-size:8px;font-weight:600;padding-top:5px}
.decision-list h3{
  font-size:16px;
  font-weight:500;
  margin-bottom:5px;
  letter-spacing:.015em
}
.decision-list p{font-size:12.5px;line-height:1.5}

.profile-grid article,.principle-grid article{padding:21px;min-height:220px}
.profile-code,.label{font-size:8px;font-weight:600}
.profile-grid h3,.principle-grid h2{
  font-size:20px;
  line-height:1.18;
  font-weight:400;
  letter-spacing:-.02em;
  margin:31px 0 13px
}
.profile-grid ul{font-size:12px;line-height:1.45}
.profile-grid li{margin:5px 0}
.principle-grid p{font-size:12.5px;line-height:1.5}

.closing-panel{padding:clamp(24px,4vw,42px)}
.closing-panel:before{font-size:7px;font-weight:600}
.closing-panel:after{font-size:64px;font-weight:600;bottom:-14px}
.closing h2{margin:19px 0 13px}
.closing p{font-size:13px;margin-bottom:21px}

.site-footer{
  margin-top:16px;
  margin-bottom:28px;
  padding:26px 34px 22px;
  box-shadow:0 4px 12px rgba(28,30,31,.055)
}
.footer-grid{gap:30px}
.footer-grid strong{font-size:10px;font-weight:600}
.footer-grid p{font-size:12px;margin-top:8px}
.footer-grid nav{gap:16px}
.footer-grid nav a{font-size:9px;font-weight:600}
.footer-note{margin-top:22px;padding-top:15px;font-size:8px;font-weight:500}

@media(max-width:1000px){
  .hero-grid{gap:32px}
  .mission-grid,.section-heading{gap:22px}
}
@media(max-width:700px){
  .header-inner{min-height:62px}
  .section-shell{padding-left:24px;padding-right:16px}
  .hero{padding-top:42px;padding-bottom:34px}
  h1{font-size:clamp(34px,11.5vw,52px);line-height:1.02}
  .hero-lead{font-size:14.5px}
  .mission,.systems,.critical,.matrix,.decision,.profiles,.principles,.closing{
    padding-top:36px;
    padding-bottom:36px
  }
  .mission h2,.section-heading h2,.closing h2{font-size:clamp(23px,8vw,34px)}
  .system-row{padding:14px 2px}
  .system-title h3{font-size:18px}
  .profile-grid article,.principle-grid article{min-height:auto}
  .closing-panel:after{font-size:44px}
}


/* V6 — subtle American technical-file treatment */
:root{
  --font-body: "Helvetica Neue", Arial, Helvetica, sans-serif;
  --font-head: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --font-file: "Courier New", Courier, monospace;
}

html{
  background:#e9e7df;
}

body{
  font-family:var(--font-body);
  background-color:#e9e7df;
  background-image:
    linear-gradient(rgba(65,84,99,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65,84,99,.026) 1px, transparent 1px),
    linear-gradient(rgba(65,84,99,.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65,84,99,.015) 1px, transparent 1px);
  background-size:
    24px 24px,
    24px 24px,
    120px 120px,
    120px 120px;
  background-position:
    -1px -1px,
    -1px -1px,
    -1px -1px,
    -1px -1px;
  letter-spacing:.002em;
}

/* Give paper panels their own almost invisible drafting grid */
.section-shell,
.site-footer{
  background-color:#f5f2e9;
  background-image:
    linear-gradient(rgba(58,76,91,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(58,76,91,.018) 1px, transparent 1px);
  background-size:24px 24px;
}

/* Main editorial typography */
h1,h2,h3,
.system-title h3,
.critical-card h3,
.decision-list h3,
.profile-grid h3,
.principle-grid h2{
  font-family:var(--font-head);
  font-stretch:condensed;
  font-weight:400;
}

h1{
  letter-spacing:-.028em;
}

.mission h2,
.section-heading h2,
.closing h2{
  letter-spacing:-.022em;
}

p, td, dd, li{
  font-family:var(--font-body);
  letter-spacing:.002em;
}

/* US technical / procurement-document labels */
.brand-mark,
.brand-copy small,
.site-nav,
.menu-toggle,
.eyebrow,
.section-code,
.status-head,
.status-foot,
.hero-status dt,
.hero-status dd,
.primary-link,
.text-link,
.num,
.system-meta,
.critical-head,
.critical-card dt,
.profile-code,
.label,
th,
.footer-grid strong,
.footer-grid nav,
.footer-note,
.audience-inner{
  font-family:var(--font-file);
}

/* Brand should feel like a masthead, not a software dashboard */
.brand-copy strong{
  font-family:var(--font-head);
  font-weight:500;
  letter-spacing:.12em;
}

/* Very light office-file margin cues */
.section-shell{
  position:relative;
}

.section-shell::after{
  content:"";
  position:absolute;
  left:27px;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(147,66,57,.075);
  pointer-events:none;
}

.hero::after{
  font-family:var(--font-file);
  letter-spacing:.11em;
}

/* Reduce the visual weight of boxes even further */
.process-grid,
.principle-grid,
.profile-grid,
.table-wrap,
.hero-status,
.closing-panel{
  border-color:rgba(59,70,77,.22);
}

.process-grid article,
.principle-grid article,
.profile-grid article{
  background:rgba(255,255,255,.13);
}

.system-row{
  border-color:rgba(59,70,77,.20);
}

.system-meta span{
  border-color:rgba(59,70,77,.20);
  background:rgba(255,255,255,.16);
}

/* Paper-like selection highlight */
::selection{
  background:rgba(55,88,111,.16);
  color:inherit;
}

@media(max-width:700px){
  body{
    background-size:20px 20px,20px 20px,100px 100px,100px 100px;
  }
  .section-shell,
  .site-footer{
    background-size:20px 20px;
  }
  .section-shell::after{
    left:18px;
  }
}


/* V7 — clean American typewritten document typography */
:root{
  --font-body: Georgia, "Times New Roman", Times, serif;
  --font-head: "Courier New", Courier, monospace;
  --font-file: "Courier New", Courier, monospace;
}

/* Remove the old logo tile entirely */
.brand-mark{display:none!important}
.brand{gap:0}
.brand-copy{gap:3px}
.brand-copy strong{
  font-family:var(--font-head);
  font-size:12px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:.085em;
  white-space:nowrap;
}
.brand-copy small{
  font-family:var(--font-file);
  font-size:7.5px;
  line-height:1.25;
  letter-spacing:.085em;
  white-space:nowrap;
}

/* Headings: typed, calm, never compressed */
h1,h2,h3,
.system-title h3,
.critical-card h3,
.decision-list h3,
.profile-grid h3,
.principle-grid h2{
  font-family:var(--font-head);
  font-stretch:normal;
  font-weight:400;
  text-rendering:optimizeLegibility;
  font-kerning:normal;
}

h1{
  font-size:clamp(34px,4.35vw,58px);
  line-height:1.08;
  letter-spacing:-.018em;
  max-width:820px;
}

.mission h2,
.section-heading h2,
.closing h2{
  font-size:clamp(23px,2.85vw,36px);
  line-height:1.16;
  letter-spacing:-.012em;
}

.system-title h3{
  font-size:18px;
  line-height:1.18;
  letter-spacing:0;
}

.critical-card h3,
.profile-grid h3,
.principle-grid h2{
  font-size:18px;
  line-height:1.24;
  letter-spacing:0;
}

.decision-list h3{
  font-size:15px;
  line-height:1.3;
  letter-spacing:0;
}

/* Main copy: printed report / field-manual feel, easy to read */
body,
p,td,dd,li{
  font-family:var(--font-body);
}

body{
  font-size:15px;
  line-height:1.58;
}

.hero-lead{
  font-family:var(--font-body);
  font-size:15.5px;
  line-height:1.6;
  letter-spacing:0;
}

.hero-support,
.mission-copy p,
.section-heading>p,
.closing p,
.system-title p,
.critical-card p,
.decision-list p,
.principle-grid p,
.profile-grid ul,
.footer-grid p{
  font-family:var(--font-body);
  letter-spacing:0;
}

/* All administrative notation stays monospaced */
.site-nav,
.menu-toggle,
.eyebrow,
.section-code,
.status-head,
.status-foot,
.hero-status dt,
.hero-status dd,
.primary-link,
.text-link,
.num,
.system-meta,
.critical-head,
.critical-card dt,
.profile-code,
.label,
th,
.footer-grid strong,
.footer-grid nav,
.footer-note,
.audience-inner,
.hero::after{
  font-family:var(--font-file);
  letter-spacing:.06em;
}

/* Header becomes lighter and more like a file masthead */
.header-inner{
  min-height:62px;
}
.site-header{
  background:rgba(245,242,233,.96);
}
.site-nav{
  font-size:8.5px;
}
.site-nav a{
  padding:10px 7px;
}

/* Prevent any cramped line wrapping */
.brand-copy,
.system-title,
.section-heading,
.mission-copy,
.hero-main{
  min-width:0;
}
h1,h2,h3,p,dd,td,li{
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}

@media(max-width:700px){
  .brand-copy strong{font-size:11px}
  .brand-copy small{font-size:7px}
  h1{
    font-size:clamp(31px,9.8vw,44px);
    line-height:1.09;
  }
  .mission h2,
  .section-heading h2,
  .closing h2{
    font-size:clamp(21px,7vw,30px);
  }
}


/* V8 — Stansbury typography, darker copy, no decorative left sticks */
:root{
  --read-ink:#20292d;
  --read-muted:#3f4b50;
  --read-soft:#536066;
  --stansbury-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --stansbury-serif:Georgia,"Times New Roman",serif;
}

/* Remove every left-side decorative stick / mark */
.site-header::before,
.site-header::after,
.header-inner::before,
.header-inner::after,
.brand::before,
.brand::after,
.brand-copy::before,
.brand-copy::after,
.section-shell::before,
.section-shell::after{
  content:none!important;
  display:none!important;
}
.brand-mark{display:none!important}
.site-nav a{border-left:0!important;border-right:0!important}

/* Stansbury-style typography */
body{
  font-family:var(--stansbury-sans)!important;
  color:var(--read-ink);
  font-size:15px;
  line-height:1.56;
}
h1,h2,h3,
.system-title h3,
.critical-card h3,
.decision-list h3,
.profile-grid h3,
.principle-grid h2{
  font-family:var(--stansbury-serif)!important;
  font-weight:400!important;
  color:#1d292e;
  text-wrap:balance;
}
h1{
  font-size:clamp(34px,3.7vw,48px)!important;
  line-height:1.07!important;
  letter-spacing:-.024em!important;
}
.mission h2,.section-heading h2,.closing h2{
  font-size:clamp(23px,2.35vw,31px)!important;
  line-height:1.13!important;
  letter-spacing:-.018em!important;
}
.system-title h3{font-size:18px!important;line-height:1.2!important}
.critical-card h3,.profile-grid h3,.principle-grid h2{font-size:19px!important;line-height:1.2!important}
.decision-list h3{font-size:17px!important;line-height:1.22!important}

/* Readable body copy everywhere */
p,li,td,dd{
  font-family:var(--stansbury-sans)!important;
  color:var(--read-muted);
}
.hero-lead{
  font-family:var(--stansbury-sans)!important;
  color:#313d42!important;
  font-size:16px!important;
  line-height:1.56!important;
}
.hero-support,
.mission-copy p,
.section-heading>p,
.closing p,
.system-title p,
.critical-card p,
.decision-list p,
.principle-grid p,
.profile-grid li,
.footer-grid p{
  color:var(--read-muted)!important;
  font-size:14px!important;
  line-height:1.52!important;
}

/* No micro text: all operational labels readable */
.brand-copy strong{
  font-family:var(--stansbury-serif)!important;
  font-size:15px!important;
  line-height:1.1!important;
  font-weight:400!important;
  letter-spacing:.02em!important;
  color:#1d292e!important;
}
.brand-copy small{
  font-family:var(--stansbury-sans)!important;
  font-size:10px!important;
  line-height:1.25!important;
  font-weight:600!important;
  letter-spacing:.07em!important;
  color:#4c585e!important;
}
.site-nav,
.menu-toggle,
.eyebrow,
.section-code,
.status-head,
.status-foot,
.hero-status dt,
.hero-status dd,
.primary-link,
.text-link,
.num,
.system-meta,
.critical-head,
.critical-card dt,
.profile-code,
.label,
th,
.footer-grid strong,
.footer-grid nav,
.footer-note,
.audience-inner,
.hero::after{
  font-family:var(--stansbury-sans)!important;
}
.site-nav{font-size:11px!important;font-weight:600!important;letter-spacing:.01em!important}
.site-nav a{padding:10px 8px!important}
.eyebrow,.section-code{font-size:10px!important;font-weight:700!important;letter-spacing:.11em!important}
.status-head,.status-foot{font-size:10px!important}
.hero-status dt{font-size:10px!important}
.hero-status dd{font-size:12px!important}
.primary-link,.text-link{font-size:11px!important}
.num{font-size:10px!important}
.system-meta span{font-size:9px!important}
.critical-head,.critical-card dt,.profile-code,.label{font-size:10px!important}
th{font-size:10px!important}
td{font-size:13px!important;color:#354147!important}
.footer-grid strong{font-size:12px!important}
.footer-grid nav a{font-size:11px!important}
.footer-note{font-size:11px!important;line-height:1.45!important}
.audience-inner{font-size:10px!important}

/* Denser layout through spacing, not tiny typography */
.header-inner{min-height:62px!important}
.hero{padding-top:34px!important;padding-bottom:34px!important}
.hero-grid{gap:34px!important}
.hero-actions{margin-top:20px!important}
.signal-line{margin-top:24px!important}
.mission,.systems,.critical,.matrix,.decision,.profiles,.principles,.closing{
  padding-top:34px!important;
  padding-bottom:34px!important;
}
.section-heading{margin-bottom:20px!important}
.mission-grid{margin-top:18px!important;gap:42px!important}
.process-grid{margin-top:28px!important}
.process-grid article{padding:16px!important;min-height:132px!important}
.process-grid h3{margin:20px 0 6px!important;font-size:17px!important}
.process-grid p{font-size:13px!important}
.system-row{padding:14px 6px!important}
.critical-card{padding:18px!important}
.decision-list li{padding:14px 6px!important}
.profile-grid article,.principle-grid article{padding:18px!important;min-height:205px!important}
.profile-grid h3,.principle-grid h2{margin:24px 0 10px!important}
table th,table td{padding:11px 12px!important}

/* Added useful dense specification block */
.spec-note{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:26px;
  margin-top:24px;
  padding:20px 0 2px;
  border-top:1px solid rgba(59,70,77,.24);
}
.spec-note-label{
  font:700 10px/1.4 var(--stansbury-sans);
  letter-spacing:.11em;
  color:#334d5c;
}
.spec-note-copy{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.spec-note-copy p{
  margin:0;
  font-size:14px!important;
  line-height:1.52!important;
  color:var(--read-muted)!important;
}

/* Keep the faint grid, but no notebook margin line */
.section-shell,.site-footer{
  background-image:
    linear-gradient(rgba(58,76,91,.016) 1px, transparent 1px),
    linear-gradient(90deg, rgba(58,76,91,.016) 1px, transparent 1px)!important;
}

@media(max-width:900px){
  .spec-note{grid-template-columns:1fr;gap:12px}
}
@media(max-width:700px){
  body{font-size:15px!important}
  .brand-copy strong{font-size:14px!important}
  .brand-copy small{font-size:10px!important}
  .site-nav{font-size:12px!important}
  h1{font-size:clamp(32px,10vw,43px)!important}
  .mission h2,.section-heading h2,.closing h2{font-size:clamp(22px,7vw,29px)!important}
  .spec-note-copy{grid-template-columns:1fr;gap:12px}
  .footer-note{font-size:11px!important}
}


/* V9 — slightly lighter paper, same palette and contrast */
html{
  background:#efeee9!important;
}
body{
  background-color:#efeee9!important;
  background-image:
    linear-gradient(rgba(65,84,99,.020) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65,84,99,.020) 1px, transparent 1px),
    linear-gradient(rgba(65,84,99,.010) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65,84,99,.010) 1px, transparent 1px)!important;
}
.section-shell,
.site-footer{
  background-color:#faf8f2!important;
  background-image:
    linear-gradient(rgba(58,76,91,.013) 1px, transparent 1px),
    linear-gradient(90deg, rgba(58,76,91,.013) 1px, transparent 1px)!important;
}
.site-header{
  background:rgba(250,248,242,.97)!important;
}


/* V10 — restore audience strip, darker text, footer flush to page bottom */
:root{
  --read-ink:#111719;
  --read-muted:#222a2e;
  --read-soft:#303a3f;
}

/* Global text contrast */
body{color:var(--read-ink)!important}
h1,h2,h3,
.system-title h3,
.critical-card h3,
.decision-list h3,
.profile-grid h3,
.principle-grid h2,
.brand-copy strong{
  color:#111719!important;
}
p,li,td,dd,
.hero-lead,
.hero-support,
.mission-copy p,
.section-heading>p,
.closing p,
.system-title p,
.critical-card p,
.decision-list p,
.principle-grid p,
.profile-grid li,
.footer-grid p{
  color:#222a2e!important;
}
.brand-copy small,
.site-nav a,
.footer-grid nav a,
.footer-note,
.status-foot,
.hero-status dt{
  color:#333d42!important;
}

/* Restore dark audience strip that V9 paper background accidentally covered */
.audience-strip{
  background:#243a49!important;
  border-color:#243a49!important;
  color:#f7f5ef!important;
}
.audience-strip .section-shell{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
  margin:0!important;
}
.audience-strip .section-shell::before,
.audience-strip .section-shell::after{
  display:none!important;
  content:none!important;
}
.audience-inner{
  color:#f7f5ef!important;
  min-height:46px!important;
  font-size:11px!important;
  font-weight:650!important;
  letter-spacing:.035em!important;
}
.audience-inner span{
  color:#f7f5ef!important;
}
.audience-label{
  color:#f2c2ba!important;
  border-right:1px solid rgba(255,255,255,.32)!important;
}

/* Footer ends exactly at the bottom — no page gap beneath it */
.site-footer{
  margin:16px auto 0!important;
  border-bottom:0!important;
}
body{
  min-height:100vh;
  padding-bottom:0!important;
}
html,body{
  margin-bottom:0!important;
}

/* Slightly darker rulework for readability */
.system-row,
.decision-list li,
.spec-note,
.footer-note,
table th,
table td{
  border-color:rgba(39,49,54,.28)!important;
}

@media(max-width:700px){
  .audience-inner{
    font-size:11px!important;
    line-height:1.4!important;
  }
  .site-footer{
    margin:12px 12px 0!important;
  }
}

/* V11 — restrained live-line motion */

/* Desktop navigation: no boxes, only thin animated edge rules */
.site-nav a,
.site-nav a:hover,
.site-nav a.active{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.site-nav a::before,
.site-nav a::after{
  content:""!important;
  display:block!important;
  position:absolute;
  left:7px;
  right:7px;
  height:1px;
  opacity:0;
  pointer-events:none;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(140,48,43,.28) 18%,
    rgba(34,56,74,.82) 50%,
    rgba(140,48,43,.34) 82%,
    transparent 100%);
  background-size:220% 100%;
  transition:opacity .18s ease;
}
.site-nav a::before{top:5px}
.site-nav a::after{bottom:5px}
.site-nav a:hover::before,
.site-nav a:hover::after,
.site-nav a.active::before,
.site-nav a.active::after{
  opacity:.86;
  animation:nav-edge-flow 4.2s linear infinite;
}
.site-nav a.active::before,
.site-nav a.active::after{opacity:.68}
@keyframes nav-edge-flow{
  from{background-position:180% 0}
  to{background-position:-40% 0}
}

/* Hero telemetry line: one soft pulse travelling left to right */
.signal-line{
  position:relative;
  overflow:hidden;
}
.signal-line::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:92px;
  pointer-events:none;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(140,48,43,.20) 18%,
    rgba(140,48,43,.95) 43%,
    rgba(34,56,74,.92) 62%,
    transparent 100%);
  filter:drop-shadow(0 0 2px rgba(34,56,74,.20));
  transform:translateX(-120px);
  animation:hero-signal-sweep 4.8s ease-in-out infinite;
}
@keyframes hero-signal-sweep{
  0%,14%{transform:translateX(-120px);opacity:0}
  20%{opacity:.9}
  72%{opacity:.9}
  82%,100%{transform:translateX(590px);opacity:0}
}

/* Section margin line: static red rule with a slow 30–50px scanner segment */
.section-shell:not(.audience-inner)::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:15px!important;
  top:15px!important;
  bottom:15px!important;
  width:1px!important;
  pointer-events:none!important;
  background-image:
    linear-gradient(to bottom,rgba(140,48,43,.22),rgba(140,48,43,.22)),
    linear-gradient(to bottom,transparent 0%,rgba(140,48,43,.96) 38%,rgba(34,56,74,.78) 62%,transparent 100%)!important;
  background-repeat:no-repeat!important;
  background-size:1px 100%,1px 44px!important;
  background-position:0 0,0 -52px;
  animation:section-line-scan 9s ease-in-out infinite;
}
@keyframes section-line-scan{
  0%,12%{background-position:0 0,0 -52px}
  82%,100%{background-position:0 0,0 calc(100% + 52px)}
}

/* System index: a thin sweep only on hover; arrow nudges slightly */
.system-row{
  position:relative;
  overflow:hidden;
}
.system-row::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:34%;
  height:1px;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(140,48,43,.88),rgba(34,56,74,.72),transparent);
  transform:translateX(-120%);
}
.system-row:hover::after{
  animation:system-row-sweep .9s ease-out 1;
}
@keyframes system-row-sweep{
  0%{transform:translateX(-120%);opacity:0}
  14%{opacity:1}
  100%{transform:translateX(390%);opacity:0}
}
.system-row .arrow{
  display:inline-block;
  transition:transform .18s ease;
}
.system-row:hover .arrow{transform:translate(3px,-2px)}

/* Reference status: tiny, slow technical LED */
.status-head b{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.status-head b::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 1px rgba(25,105,70,.12);
  opacity:.66;
  animation:status-led-pulse 3.6s ease-in-out infinite;
}
@keyframes status-led-pulse{
  0%,100%{opacity:.46;box-shadow:0 0 0 1px rgba(25,105,70,.10),0 0 0 rgba(25,105,70,0)}
  50%{opacity:.92;box-shadow:0 0 0 1px rgba(25,105,70,.16),0 0 5px rgba(25,105,70,.24)}
}

@media(max-width:900px){
  /* Mobile drawer keeps its clean separators; no animated top/bottom rails. */
  .site-nav a::before,
  .site-nav a::after{display:none!important}
}

@media(max-width:700px){
  .section-shell:not(.audience-inner)::before{
    left:11px!important;
    top:14px!important;
    bottom:14px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .site-nav a::before,
  .site-nav a::after,
  .signal-line::after,
  .section-shell:not(.audience-inner)::before,
  .system-row:hover::after,
  .status-head b::before{
    animation:none!important;
  }
  .signal-line::after,
  .system-row::after{display:none!important}
  .section-shell:not(.audience-inner)::before{
    background-image:linear-gradient(to bottom,rgba(140,48,43,.22),rgba(140,48,43,.22))!important;
    background-size:1px 100%!important;
  }
}


/* V12 — simplified section labels + single animated navigation rail */
.section-code::before{display:none!important;}
.section-code{gap:0!important;}

/* Navigation keeps only the upper animated line. */
.site-nav a::after{display:none!important;}
.site-nav a:hover::after,
.site-nav a.active::after{display:none!important;animation:none!important;}


/* V13 — slightly stronger page background grid only */
body{
  background-image:
    linear-gradient(rgba(65,84,99,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65,84,99,.028) 1px, transparent 1px),
    linear-gradient(rgba(65,84,99,.013) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65,84,99,.013) 1px, transparent 1px)!important;
}


/* V14 — stronger overall body grid only */
body{
  background-image:
    linear-gradient(rgba(65,84,99,.040) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65,84,99,.040) 1px, transparent 1px),
    linear-gradient(rgba(65,84,99,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65,84,99,.018) 1px, transparent 1px)!important;
}


/* V15 — test: visible drafting grid across the full light site surface */
body,
.section-shell,
.site-footer,
.site-header{
  background-image:
    linear-gradient(rgba(65,84,99,.040) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65,84,99,.040) 1px, transparent 1px),
    linear-gradient(rgba(65,84,99,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65,84,99,.018) 1px, transparent 1px)!important;
  background-size:24px 24px,24px 24px,120px 120px,120px 120px!important;
  background-position:-1px -1px,-1px -1px,-1px -1px,-1px -1px!important;
}

/* Keep the dark audience band intentionally clean. */
.audience-strip .section-shell{
  background-image:none!important;
}


/* V16 — restrained document progress + micro topology */
.page-progress{
  position:fixed;
  top:62px;
  left:0;
  right:0;
  height:1px;
  z-index:99;
  pointer-events:none;
  background:rgba(36,58,73,.09);
  overflow:hidden;
}
.page-progress span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,#243a49 0%,#243a49 88%,#8c302b 100%);
  box-shadow:2px 0 4px rgba(140,48,43,.18);
  will-change:transform;
}

.status-topology{
  display:grid;
  grid-template-columns:auto minmax(16px,1fr) auto minmax(16px,1fr) auto;
  align-items:center;
  gap:7px;
  padding:12px 14px 11px;
  border-top:1px solid #c4bfb4;
  color:#596267;
}
.topology-node{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
}
.topology-node i{
  width:4px;
  height:4px;
  flex:0 0 4px;
  border-radius:50%;
  background:#8c302b;
  box-shadow:0 0 0 1px rgba(140,48,43,.10);
}
.topology-node:nth-of-type(3) i{background:#243a49}
.topology-node:nth-of-type(5) i{background:#667057}
.topology-node b{
  font:600 7px/1 var(--mono);
  letter-spacing:.08em;
  color:#4f595e;
}
.topology-link{
  height:1px;
  background:linear-gradient(90deg,rgba(140,48,43,.28),rgba(36,58,73,.32));
  min-width:16px;
  position:relative;
  overflow:hidden;
}
.topology-link::after{
  content:"";
  position:absolute;
  top:0;
  left:-14px;
  width:12px;
  height:1px;
  background:rgba(36,58,73,.78);
  animation:topology-pulse 5.8s ease-in-out infinite;
}
.status-topology .topology-link:nth-of-type(4)::after{animation-delay:1.1s}
@keyframes topology-pulse{
  0%,18%{transform:translateX(0);opacity:0}
  28%{opacity:.72}
  65%{opacity:.72}
  78%,100%{transform:translateX(86px);opacity:0}
}

@media(max-width:900px){
  .page-progress{top:62px}
}
@media(max-width:420px){
  .status-topology{gap:5px;padding-left:12px;padding-right:12px}
  .topology-node b{font-size:6px;letter-spacing:.06em}
}
@media(prefers-reduced-motion:reduce){
  .topology-link::after{animation:none!important;display:none}
}

/* V17 — neutral industrial paper palette test; backgrounds only */
html,
body{
  background-color:#eef0ee!important;
}

.section-shell,
.site-footer{
  background-color:#f5f5f1!important;
}

.site-header{
  background-color:rgba(245,245,241,.97)!important;
}

.hero-status{
  background-color:#e8e9e6!important;
}
.status-head{
  background-color:#dfe1df!important;
}
.status-foot{
  background-color:#e2e3e0!important;
}

.process-grid{
  background-color:#e7e8e5!important;
}
.process-grid article,
.profile-grid article,
.principle-grid article{
  background-color:rgba(238,239,235,.72)!important;
}

.system-meta span{
  background-color:#e7e8e5!important;
}

.critical-card{
  background-color:#e8e9e6!important;
}
.critical-card.critical-high{
  background-color:#ece9e7!important;
}

.table-wrap{
  background-color:#ecece8!important;
}
tbody tr:nth-child(even){
  background-color:#e5e6e3!important;
}

.closing-panel{
  background-color:#e9eae7!important;
}

/* Dark audience band remains intentionally unchanged. */
.audience-strip{
  background-color:#243a49!important;
}
.audience-strip .section-shell{
  background-color:transparent!important;
}

/* V18C — process cards only: numbers + body copy. Headings unchanged. */
.process-grid article>span{
  font-size:14px!important;
  font-weight:600!important;
}
.process-grid p{
  font-size:14px!important;
  line-height:1.5!important;
}


/* V19 — navigation polish, tighter numbered rows, closing CTA spacing */
/* A faint top rule stays in place while the highlight travels fully off-canvas before looping. */
.site-nav a::before{
  background-image:
    linear-gradient(90deg,transparent 0%,transparent 38%,rgba(140,48,43,.34) 46%,rgba(36,58,73,.92) 50%,rgba(140,48,43,.38) 54%,transparent 62%,transparent 100%),
    linear-gradient(90deg,rgba(36,58,73,.18),rgba(36,58,73,.18))!important;
  background-size:300% 100%,100% 100%!important;
  background-repeat:no-repeat!important;
  background-position:200% 0,0 0;
}
.site-nav a:hover::before,
.site-nav a.active::before{
  animation:nav-edge-glide 6s linear infinite!important;
}
@keyframes nav-edge-glide{
  0%{background-position:200% 0,0 0}
  100%{background-position:-200% 0,0 0}
}

/* Bring row numbers closer to their copy without changing typography. */
.system-row{
  grid-template-columns:32px minmax(0,1fr) auto 22px!important;
  gap:10px!important;
}
.decision-list li{
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:10px!important;
}

/* Keep the two closing actions visibly separate. */
.closing-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  column-gap:26px;
  row-gap:14px;
}

@media(max-width:1000px){
  .system-row{grid-template-columns:28px minmax(0,1fr) 20px!important;gap:9px!important}
  .decision-list li{grid-template-columns:30px minmax(0,1fr)!important;gap:9px!important}
}
@media(max-width:700px){
  .system-row{grid-template-columns:26px minmax(0,1fr) 18px!important;gap:8px!important}
  .decision-list li{grid-template-columns:28px minmax(0,1fr)!important;gap:8px!important}
  .closing-actions{column-gap:20px;row-gap:12px}
}

/* V34 — active + hover menu rail with a true travelling red glint */
/* Active item keeps the line; hovered desktop items temporarily get the same line. */
.site-nav a::before,
.site-nav a::after{
  content:none!important;
  display:none!important;
  animation:none!important;
}

.site-nav a.active{
  overflow:hidden!important;
}

/* Static site-colour hairline with softly tapered ends. */
.site-nav a.active::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:3px!important;
  height:1px!important;
  pointer-events:none!important;
  opacity:.92!important;
  border:0!important;
  box-shadow:none!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(34,56,74,.16) 4%,
    rgba(34,56,74,.62) 13%,
    rgba(34,56,74,.76) 50%,
    rgba(34,56,74,.62) 87%,
    rgba(34,56,74,.16) 96%,
    transparent 100%)!important;
  animation:none!important;
}

/* Moving red highlight on the active item. */
.site-nav a.active::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:3px!important;
  width:30%!important;
  height:1px!important;
  pointer-events:none!important;
  opacity:0;
  border:0!important;
  box-shadow:none!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(107,28,40,.14) 12%,
    rgba(142,38,48,.82) 34%,
    rgba(176,54,66,1) 50%,
    rgba(142,38,48,.82) 66%,
    rgba(107,28,40,.14) 88%,
    transparent 100%)!important;
  transform:translate3d(-140%,0,0);
  animation:active-menu-red-run-v34 2.8s linear infinite!important;
  will-change:transform,opacity!important;
  z-index:2!important;
}

/* Hover gets the exact same rail, without removing the persistent active rail. */
@media (hover:hover) and (pointer:fine){
  .site-nav a:hover{
    overflow:hidden!important;
  }
  .site-nav a:hover::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:3px!important;
    height:1px!important;
    pointer-events:none!important;
    opacity:.92!important;
    border:0!important;
    box-shadow:none!important;
    background:linear-gradient(90deg,
      transparent 0%,
      rgba(34,56,74,.16) 4%,
      rgba(34,56,74,.62) 13%,
      rgba(34,56,74,.76) 50%,
      rgba(34,56,74,.62) 87%,
      rgba(34,56,74,.16) 96%,
      transparent 100%)!important;
    animation:none!important;
  }
  .site-nav a:hover::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:3px!important;
    width:30%!important;
    height:1px!important;
    pointer-events:none!important;
    opacity:0;
    border:0!important;
    box-shadow:none!important;
    background:linear-gradient(90deg,
      transparent 0%,
      rgba(107,28,40,.14) 12%,
      rgba(142,38,48,.82) 34%,
      rgba(176,54,66,1) 50%,
      rgba(142,38,48,.82) 66%,
      rgba(107,28,40,.14) 88%,
      transparent 100%)!important;
    transform:translate3d(-140%,0,0);
    animation:active-menu-red-run-v34 2.8s linear infinite!important;
    will-change:transform,opacity!important;
    z-index:2!important;
  }
}

@keyframes active-menu-red-run-v34{
  0%,14%{
    transform:translate3d(-140%,0,0);
    opacity:0;
  }
  19%{opacity:1}
  84%{
    transform:translate3d(440%,0,0);
    opacity:1;
  }
  89%,100%{
    transform:translate3d(440%,0,0);
    opacity:0;
  }
}

@media(max-width:900px){
  .site-nav a.active,
  .site-nav a:hover{overflow:visible!important;}
  .site-nav a.active::before,
  .site-nav a.active::after,
  .site-nav a:hover::before,
  .site-nav a:hover::after{
    display:none!important;
    content:none!important;
  }
}


/* V35 — hero reference status uses the same restrained garnet accent as navigation */
.status-head b{
  color:#8f2630!important;
}
.status-head b::before{
  background:#b03642!important;
  box-shadow:0 0 0 1px rgba(143,38,48,.14)!important;
  animation:status-led-pulse-garnet 3.6s ease-in-out infinite!important;
}
@keyframes status-led-pulse-garnet{
  0%,100%{
    opacity:.46;
    box-shadow:0 0 0 1px rgba(143,38,48,.10),0 0 0 rgba(143,38,48,0);
  }
  50%{
    opacity:.94;
    box-shadow:0 0 0 1px rgba(143,38,48,.18),0 0 5px rgba(176,54,66,.28);
  }
}

/* V35 — Jasper Auction seal logo */
.brand{
  gap:12px!important;
}
.brand-seal{
  display:block;
  width:52px;
  height:52px;
  flex:0 0 52px;
  object-fit:contain;
}
@media(max-width:700px){
  .brand{gap:9px!important;}
  .brand-seal{
    width:44px;
    height:44px;
    flex-basis:44px;
  }
}


/* V21 — visual engineering fillers inside the left mission columns */
.mission-lead{
  display:flex;
  min-width:0;
  height:100%;
  flex-direction:column;
}
.schematic-panel{
  position:relative;
  overflow:hidden;
  margin-top:28px;
  min-height:156px;
  border:1px solid rgba(36,58,73,.38);
  background:
    linear-gradient(rgba(51,77,92,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(51,77,92,.045) 1px,transparent 1px),
    rgba(233,232,226,.44);
  background-size:18px 18px;
}
.schematic-panel:after{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(36,58,73,.10);
  pointer-events:none;
}
.schematic-head,.schematic-foot{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 12px;
  font:700 8px/1 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.schematic-head{
  border-bottom:1px solid rgba(36,58,73,.26);
  color:#4b565b;
  background:rgba(250,248,242,.62);
}
.schematic-head b{color:var(--red);font-weight:800}
.schematic-foot{
  border-top:1px solid rgba(36,58,73,.24);
  color:#596267;
  background:rgba(250,248,242,.52);
}
.schematic-canvas{
  position:relative;
  height:96px;
  margin:0 12px;
}
.schematic-axis{
  position:absolute;
  background:rgba(36,58,73,.52);
}
.axis-a{left:10%;right:8%;top:49%;height:1px}
.axis-b{top:15%;bottom:14%;left:49%;width:1px}
.schematic-node{
  position:absolute;
  display:flex;
  align-items:center;
  gap:6px;
  padding:4px 6px;
  background:#f3f0e8;
  border:1px solid rgba(36,58,73,.30);
  font:700 7px/1 var(--mono);
  letter-spacing:.08em;
  color:#334d5c;
}
.schematic-node i{
  width:5px;height:5px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px rgba(140,48,43,.08)
}
.node-a{left:3%;top:12%}.node-b{right:2%;top:10%}.node-c{left:7%;bottom:8%}.node-d{right:3%;bottom:7%}
.schematic-pulse{
  position:absolute;
  left:10%;top:calc(49% - 2px);
  width:36px;height:5px;
  background:linear-gradient(90deg,transparent,rgba(140,48,43,.72),transparent);
  animation:mission-trace 6s linear infinite;
}
@keyframes mission-trace{from{transform:translateX(0)}to{transform:translateX(235px)}}

.decision-gauge{
  display:grid;
  gap:10px;
  padding:16px 14px 14px;
}
.gauge-row{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 58px;
  gap:8px;
  align-items:center;
  font:700 7px/1 var(--mono);
  letter-spacing:.08em;
  color:#40515b;
}
.gauge-row>i{
  position:relative;
  display:block;
  height:7px;
  border:1px solid rgba(36,58,73,.26);
  background:rgba(255,255,255,.46);
}
.gauge-row>i>b{
  display:block;
  width:var(--w);
  height:100%;
  background:linear-gradient(90deg,rgba(51,77,92,.74),rgba(51,77,92,.28));
}
.gauge-row:nth-child(3)>i>b{background:linear-gradient(90deg,rgba(140,48,43,.68),rgba(140,48,43,.20))}
.gauge-row em{font-style:normal;text-align:right;color:#6a7174}

@media(max-width:1000px){
  .mission-lead{height:auto}
  .schematic-panel{max-width:560px;margin-top:20px}
}
@media(max-width:700px){
  .schematic-panel{min-height:136px;margin-top:18px}
  .schematic-canvas{height:80px}
  .decision-gauge{padding:13px 12px}
  .schematic-head,.schematic-foot{font-size:7px}
  .schematic-pulse{display:none}
}
@media(prefers-reduced-motion:reduce){.schematic-pulse{animation:none}}

/* V36 — robust mobile drawer + narrow-screen alignment */
@media(max-width:1000px){
  .header-inner{
    position:relative;
  }
  .menu-toggle{
    position:relative;
    z-index:73;
    flex:0 0 auto;
    min-width:82px;
    min-height:38px;
    justify-content:center;
    cursor:pointer;
    touch-action:manipulation;
  }
  .site-nav{
    display:flex!important;
    top:66px!important;
    right:0!important;
    bottom:0!important;
    width:min(360px,calc(100vw - 18px))!important;
    padding:14px 18px 24px!important;
    overflow-y:auto;
    overscroll-behavior:contain;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(100%,0,0);
    transition:transform .22s ease,opacity .18s ease,visibility 0s linear .22s;
    z-index:72;
  }
  .site-nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0);
    transition:transform .22s ease,opacity .18s ease,visibility 0s;
  }
  .site-nav a{
    width:100%;
    padding:16px 10px!important;
    line-height:1.2!important;
  }
  body.menu-open{
    overflow:hidden!important;
    touch-action:none;
  }
}

@media(max-width:700px){
  .header-inner{
    min-height:62px!important;
    padding-left:14px!important;
    padding-right:14px!important;
    gap:10px!important;
  }
  .brand{
    min-width:0!important;
    max-width:calc(100% - 88px);
    gap:8px!important;
  }
  .brand-seal{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
  }
  .brand-copy{
    min-width:0;
  }
  .brand-copy strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap!important;
    font-size:12px!important;
    letter-spacing:.07em!important;
  }
  .brand-copy small{
    display:none!important;
  }
  .menu-toggle{
    min-width:78px!important;
    min-height:38px!important;
    padding:0 10px!important;
    gap:8px!important;
    font-size:9px!important;
  }
  .site-nav{
    top:62px!important;
    width:min(340px,100vw)!important;
    padding:12px 16px 22px!important;
    border-top:1px solid rgba(60,66,68,.20);
  }
  .site-nav a{
    padding:15px 9px!important;
    font-size:11px!important;
    letter-spacing:.055em!important;
  }

  .page-progress{top:62px!important}

  .section-shell{
    padding-left:22px!important;
    padding-right:22px!important;
  }
  .section-shell:not(.audience-inner)::before{
    left:10px!important;
  }
  .hero{
    padding-top:38px!important;
    padding-bottom:36px!important;
  }
  .hero-grid,
  .mission-grid,
  .section-heading{
    gap:22px!important;
  }
  .mission-grid{
    margin-top:20px!important;
  }
  .mission-lead,
  .mission-copy,
  .section-heading>*{
    min-width:0;
  }
  .mission-copy{
    gap:18px!important;
  }
  .mission-copy p,
  .section-heading>p{
    margin-left:0!important;
    margin-right:0!important;
  }

  .schematic-panel{
    width:100%!important;
    max-width:none!important;
    margin:18px auto 0!important;
    min-height:138px!important;
  }
  .schematic-head,
  .schematic-foot{
    gap:8px!important;
    padding:9px 10px!important;
    font-size:7px!important;
    letter-spacing:.09em!important;
  }
  .schematic-canvas{
    height:84px!important;
    margin:0 10px!important;
  }
  .schematic-node{
    padding:4px 5px!important;
    gap:5px!important;
    font-size:6.5px!important;
    letter-spacing:.055em!important;
  }
  .schematic-node i{
    width:4px!important;
    height:4px!important;
  }
  .decision-gauge{
    gap:9px!important;
    padding:13px 11px!important;
  }
  .gauge-row{
    grid-template-columns:32px minmax(0,1fr) 50px!important;
    gap:7px!important;
    font-size:6.5px!important;
  }

  .process-grid{
    margin-top:28px!important;
  }
  .process-grid article{
    padding:18px 16px!important;
  }

  .audience-strip .section-shell{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .audience-inner{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 18px!important;
    padding-top:14px!important;
    padding-bottom:14px!important;
    align-items:start!important;
  }
  .audience-label{
    grid-column:1 / -1;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.22);
    padding:0 0 9px!important;
  }

  .footer-grid,
  .footer-note{
    gap:18px!important;
  }
}

@media(max-width:420px){
  .header-inner{
    padding-left:10px!important;
    padding-right:10px!important;
    gap:8px!important;
  }
  .brand{
    max-width:calc(100% - 54px);
    gap:7px!important;
  }
  .brand-seal{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
  }
  .brand-copy strong{
    font-size:11px!important;
    letter-spacing:.055em!important;
  }
  .menu-toggle{
    width:42px!important;
    min-width:42px!important;
    height:38px!important;
    padding:0!important;
  }
  .menu-toggle span{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  .menu-toggle i,
  .menu-toggle i:before,
  .menu-toggle i:after{
    width:18px!important;
  }
  .site-nav{
    width:100vw!important;
    border-left:0!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .section-shell{
    padding-left:19px!important;
    padding-right:19px!important;
  }
  .section-shell:not(.audience-inner)::before{
    left:8px!important;
  }
  h1{
    font-size:clamp(30px,10.2vw,40px)!important;
  }
  .mission h2,
  .section-heading h2,
  .closing h2{
    font-size:clamp(21px,7.5vw,28px)!important;
  }
  .schematic-head,
  .schematic-foot{
    font-size:6.5px!important;
    letter-spacing:.065em!important;
  }
  .schematic-canvas{
    margin-left:8px!important;
    margin-right:8px!important;
  }
  .audience-inner{
    grid-template-columns:1fr!important;
  }
  .audience-label{
    grid-column:auto;
  }
}

@media(prefers-reduced-motion:reduce){
  .site-nav{
    transition:none!important;
  }
}

/* V36.1 — mobile fixed drawer must use the viewport, not the filtered sticky header */
@media(max-width:1000px){
  html,body{overflow-x:clip}
  .site-header{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .site-nav{
    touch-action:pan-y;
  }
  body.menu-open{
    touch-action:auto;
  }
}

/* V36.2 — restore true one-column mobile hero after later desktop refinements */
@media(max-width:1000px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .hero-main,
  .hero-status{
    min-width:0!important;
    width:100%;
  }
}


/* V37 — first-render performance: skip off-screen layout/paint until needed. */
@supports (content-visibility:auto){
  .systems,
  .critical,
  .matrix,
  .decision,
  .profiles,
  .principles,
  .closing{
    content-visibility:auto;
    contain-intrinsic-size:auto 760px;
  }
}

/* V37 — reliable mobile menu icon / close cross */
@media(max-width:1000px){
  .menu-toggle i{
    position:relative!important;
    display:block!important;
    flex:0 0 18px!important;
    width:18px!important;
    height:14px!important;
    background:linear-gradient(var(--ink),var(--ink)) center/18px 1px no-repeat!important;
    transform:none!important;
  }
  .menu-toggle i::before,
  .menu-toggle i::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    width:18px!important;
    height:1px!important;
    background:var(--ink)!important;
    transform:none!important;
    transition:top .18s ease,bottom .18s ease,transform .18s ease!important;
  }
  .menu-toggle i::before{top:1px!important}
  .menu-toggle i::after{top:auto!important;bottom:1px!important}

  .menu-toggle[aria-expanded="true"] i{
    background:none!important;
  }
  .menu-toggle[aria-expanded="true"] i::before,
  .menu-toggle[aria-expanded="true"] i::after{
    top:50%!important;
    bottom:auto!important;
    transform-origin:center!important;
  }
  .menu-toggle[aria-expanded="true"] i::before{
    transform:translateY(-50%) rotate(45deg)!important;
  }
  .menu-toggle[aria-expanded="true"] i::after{
    transform:translateY(-50%) rotate(-45deg)!important;
  }
}


/* V38 — deterministic mobile menu icon: separate real SVG bars and close glyph. */
@media(max-width:1000px){
  .menu-toggle-icon{display:block;width:20px;height:20px;flex:0 0 20px;overflow:visible;color:currentColor}
  .menu-toggle-icon path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:square;vector-effect:non-scaling-stroke}
  .menu-toggle .menu-icon-open{display:block!important}
  .menu-toggle .menu-icon-close{display:none!important}
  .menu-toggle[aria-expanded="true"] .menu-icon-open{display:none!important}
  .menu-toggle[aria-expanded="true"] .menu-icon-close{display:block!important}
}
@media(max-width:420px){.menu-toggle-icon{width:20px!important;height:20px!important;flex-basis:20px!important}}

/* V38 — all site tables become readable cards on phone/tablet; no side-scrolling. */
@media(max-width:900px){
  .mobile-stack-table.table-wrap{overflow:visible!important;border:0!important;background:transparent!important}
  .mobile-stack-table table{display:block;width:100%;min-width:0!important;border-collapse:separate}
  .mobile-stack-table thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .mobile-stack-table tbody{display:grid;width:100%;gap:12px}
  .mobile-stack-table tbody tr{display:block;width:100%;border:1px solid #8f8b82;background:#ecece8!important}
  .mobile-stack-table tbody tr:nth-child(even),.mobile-stack-table tbody tr:hover{background:#ecece8!important}
  .mobile-stack-table tbody td{display:grid;grid-template-columns:minmax(112px,.34fr) minmax(0,.66fr);gap:12px;width:100%;min-width:0;padding:12px 13px;border-right:0!important;border-bottom:1px solid #bbb6ac;overflow-wrap:anywhere}
  .mobile-stack-table tbody td:last-child{border-bottom:0}
  .mobile-stack-table tbody td::before{content:attr(data-label);font:800 8px/1.35 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--navy)}
}
@media(max-width:420px){.mobile-stack-table tbody td{grid-template-columns:1fr;gap:5px;padding:11px 12px}}


/* Footer copyright centered */
.footer-note{justify-content:center;text-align:center}


/* JASPER SUPER-FAST RESPONSIVE TEMPLATE */
.responsive-picture{display:block;width:100%}
.responsive-picture>img{display:block;max-width:100%;height:auto}
@supports (content-visibility:auto){
  .defer-render{content-visibility:auto;contain-intrinsic-size:auto 720px}
}
