/* si-management, round 3 (2026-10-04): magazine feature format.
   Full-bleed navy opener, alternating paper bands, hanging section numerals,
   wide pull quotes, one marked-up SOW sheet, and the change-order chart drawn
   in light ink on a navy band. Linked only from article-si-management.html. */

.fs-body{
  --fs-paper:#f7f5f0; --fs-paper2:#efece4; --fs-ink:#16150f; --fs-ink2:#33312a; --fs-muted:#6b6660;
  --fs-navy:#0e1330; --fs-navy2:#16304F; --fs-red:#e5322d; --fs-red2:#A93A3A; --fs-gold:#B8862F;
  --fs-hair:#d9d3c6; --fs-light:#ece9e0; --fs-dim:#a3a8bf;
  --fs-col:36rem; --fs-mid:56rem; --fs-wide:68.75rem;
  --fs-gut:max(16px,4vw);
}
.fs-body ::selection{background:var(--fs-navy);color:var(--fs-paper);}
.fs-body .b-navy ::selection,.fs-body .b-hero ::selection{background:var(--fs-paper);color:var(--fs-navy);}
.fs-body :focus-visible{outline:2px solid var(--fs-red);outline-offset:3px;}
.fs-body .art-rail{display:none !important;}
.fs-body .art-shell{display:block;width:auto;}

/* ---------- the opener ---------- */
.fs .b-hero{background:var(--fs-navy);color:var(--fs-light);padding:0;}
.fs .hero-in{min-height:min(82vh,780px);max-width:var(--fs-wide);margin:0 auto;
  padding:clamp(1.6rem,4vw,2.6rem) var(--fs-gut) clamp(3rem,8vw,6rem);
  display:flex;flex-direction:column;justify-content:space-between;gap:3rem;}
.fs .back-link{align-self:flex-start;font-family:Inter,system-ui,sans-serif;font-size:.85rem;color:var(--fs-dim);
  border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
.fs .back-link:hover{color:var(--fs-paper);border-color:var(--fs-dim);}
.fs .hero-type{max-width:60rem;}
.fs .sc{font-family:Inter,system-ui,sans-serif;font-weight:600;letter-spacing:.08em;
  font-variant-caps:all-small-caps;font-size:.95rem;margin:0;}
.fs .kick{color:var(--fs-red);display:flex;align-items:center;gap:.8rem;margin-bottom:1.6rem;}
.fs .kick::before{content:"";width:2.4rem;height:2px;background:var(--fs-red);}
.fs .b-hero h1{font-family:Newsreader,Georgia,serif;font-weight:400;font-optical-sizing:auto;
  font-size:clamp(3rem,8.4vw,7.2rem);line-height:.98;letter-spacing:-.025em;color:var(--fs-paper);
  margin:0 0 2rem;max-width:12ch;text-wrap:balance;}
.fs .b-hero .dek{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:400;
  font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1.4;color:var(--fs-light);max-width:34em;margin:0 0 2.2rem;}
.fs .article-meta{font-family:Inter,system-ui,sans-serif;font-size:.9rem;color:var(--fs-dim);margin:0;
  display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;}
.fs .article-meta b{color:var(--fs-paper);font-weight:600;}
.fs .article-meta .sep{width:1.2rem;height:1px;background:var(--fs-dim);opacity:.6;}

/* ---------- bands and columns ---------- */
.fs .feat{display:block;}
.fs .band{padding:clamp(3.6rem,8vw,6.5rem) var(--fs-gut);}
.fs .band.first{padding-top:clamp(3.2rem,7vw,5.5rem);}
.fs .b-paper{background:var(--fs-paper);}
.fs .b-paper2{background:var(--fs-paper2);}
.fs .b-navy{background:var(--fs-navy);color:var(--fs-light);}
.fs .col{max-width:var(--fs-col);margin:0 auto;}
.fs .wide-m{max-width:var(--fs-mid);margin:clamp(2.4rem,5vw,3.6rem) auto;}
.fs .wide{max-width:var(--fs-wide);margin:clamp(2.6rem,5vw,4rem) auto;}
.fs .col p{font-family:Newsreader,Georgia,serif;font-size:clamp(1.12rem,1.6vw,1.24rem);line-height:1.62;
  color:var(--fs-ink2);margin:0 0 1.35em;}
.fs .b-navy .col p{color:var(--fs-light);}
.fs .col p:last-child{margin-bottom:0;}
.fs .lede::first-letter{float:left;font-family:Newsreader,Georgia,serif;font-weight:500;color:var(--fs-navy);
  font-size:5.6em;line-height:.78;margin:.07em .09em 0 -.04em;}
.fs .runin{font-style:italic;font-weight:600;color:var(--fs-ink);}

/* section heads: big serif, numeral hangs in the margin on wide screens */
.fs .feat h2{position:relative;font-family:Newsreader,Georgia,serif;font-weight:400;font-optical-sizing:auto;
  font-size:clamp(1.9rem,3.6vw,2.75rem);line-height:1.1;letter-spacing:-.018em;color:var(--fs-ink);
  margin:clamp(3.2rem,6vw,4.4rem) 0 1.3rem;text-wrap:balance;scroll-margin-top:5.4rem;}
.fs .band > .col:first-child > h2:first-child{margin-top:0;}
.fs .feat .b-navy h2{color:var(--fs-paper);}
.fs .feat h2 .num{display:block;font-style:italic;font-weight:400;color:var(--fs-red);font-size:.62em;line-height:1;margin-bottom:.5rem;}
@media(min-width:1100px){
  .fs .feat h2 .num{position:absolute;left:-5.2rem;top:.05em;width:4rem;text-align:right;font-size:1.6em;line-height:.9;margin:0;}
}

/* ---------- pull quotes ---------- */
.fs .pq{max-width:56.25rem;margin:clamp(3.4rem,7vw,5.5rem) auto 0;padding:0;}
.fs .pq::before{content:"";display:block;width:3rem;height:2px;background:var(--fs-red);margin:0 0 1.6rem;}
.fs .pq p{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:400;
  font-size:clamp(1.85rem,4.4vw,3.5rem);line-height:1.14;letter-spacing:-.015em;color:var(--fs-navy);margin:0;text-wrap:balance;}

/* ---------- section 1: the incentive ledger ---------- */
.fs .ledger{width:100%;border-collapse:collapse;font-family:Newsreader,Georgia,serif;}
.fs .ledger th{font-style:italic;font-weight:500;font-size:1.25rem;color:var(--fs-ink);text-align:left;
  padding:0 1.6rem .8rem 0;border-bottom:1.5px solid var(--fs-ink);width:50%;}
.fs .ledger td{vertical-align:top;font-size:1.08rem;line-height:1.45;padding:.95rem 1.6rem .95rem 0;border-bottom:1px solid var(--fs-hair);}
.fs .ledger td:first-child{color:var(--fs-muted);}
.fs .ledger td:last-child{color:var(--fs-ink);}
@media(max-width:640px){
  .fs .ledger thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .fs .ledger tr{display:block;padding:1rem 0;border-bottom:1px solid var(--fs-hair);}
  .fs .ledger tr:first-child{border-top:1.5px solid var(--fs-ink);}
  .fs .ledger td{display:block;border:0;padding:0;}
  .fs .ledger td + td{margin-top:.55rem;}
  .fs .ledger td::before{content:attr(data-h);display:block;font-style:italic;font-size:.92rem;color:var(--fs-muted);margin-bottom:.1rem;}
  .fs .ledger td:last-child::before{color:var(--fs-red2);}
}

/* ---------- section 2: the ranked scorecard ---------- */
.fs .rank-cap{color:var(--fs-muted);padding-bottom:.7rem;border-bottom:1.5px solid var(--fs-ink);}
.fs .rank{list-style:none;margin:0;padding:0;}
.fs .rank li{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:0 1.8rem;align-items:start;
  padding:1.7rem 0 1.8rem;border-bottom:1px solid var(--fs-hair);}
.fs .rank .wt{font-family:Newsreader,Georgia,serif;font-weight:400;font-size:5.4rem;line-height:.82;
  color:var(--fs-navy);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.03em;}
.fs .rank h3{font-family:Newsreader,Georgia,serif;font-weight:600;font-size:1.4rem;line-height:1.2;color:var(--fs-ink);margin:.1rem 0 .45rem;}
.fs .rank p{font-family:Newsreader,Georgia,serif;font-size:1.08rem;line-height:1.55;color:var(--fs-ink2);margin:0 0 1.1rem;max-width:38em;}
.fs .bar{display:block;position:relative;height:1px;background:var(--fs-hair);}
.fs .bar::after{content:"";position:absolute;left:0;top:-1px;height:3px;width:calc(var(--w)*1%);background:var(--fs-red);}
@media(max-width:640px){
  .fs .rank li{grid-template-columns:4.2rem minmax(0,1fr);gap:0 1rem;padding:1.3rem 0 1.4rem;}
  .fs .rank .wt{font-size:3.4rem;}
  .fs .rank h3{font-size:1.2rem;}
}

/* ---------- section 3: the marked-up SOW (the one framed object) ---------- */
.fs .sow{padding:0;}
.fs .sheet{background:#fffefb;border:1px solid var(--fs-hair);box-shadow:0 1px 0 var(--fs-hair),0 18px 40px -28px rgba(14,19,48,.35);
  padding:clamp(1.4rem,4vw,3rem) clamp(1.1rem,4vw,3.2rem) clamp(1.4rem,4vw,2.6rem);}
.fs .sheet-hd{display:flex;justify-content:space-between;gap:1rem;margin:0 0 1.6rem;padding-bottom:.8rem;border-bottom:1px solid var(--fs-hair);
  font-family:Inter,system-ui,sans-serif;font-size:.8rem;color:var(--fs-muted);}
.fs .sheet-hd span:first-child{color:var(--fs-ink);font-weight:600;}
.fs .cl{display:grid;grid-template-columns:minmax(0,1fr) 13rem;gap:0 2.2rem;align-items:start;padding:.75rem 0;}
.fs .cl > p:first-child{font-family:Newsreader,Georgia,serif;font-size:1.14rem;line-height:1.7;color:var(--fs-ink);margin:0;
  padding-left:1.8rem;text-indent:-1.8rem;}
.fs .cn{display:inline-block;width:1.8rem;text-indent:0;font-family:Inter,system-ui,sans-serif;font-size:.85rem;color:var(--fs-muted);font-variant-numeric:tabular-nums;}
.fs del{color:var(--fs-red2);text-decoration:line-through;text-decoration-thickness:1.5px;}
.fs ins{color:var(--fs-red2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;margin-left:.3em;}
.fs .cn + ins{margin-left:0;}
.fs .note{position:relative;margin:.35rem 0 0;padding-left:1rem;font-family:Inter,system-ui,sans-serif;font-style:italic;
  font-size:.84rem;line-height:1.45;color:var(--fs-muted);}
.fs .note::before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:1px;background:var(--fs-red2);opacity:.6;}
.fs .sow figcaption{font-family:Newsreader,Georgia,serif;font-style:italic;font-size:1rem;color:var(--fs-muted);margin:1rem 0 0;}
@media(max-width:760px){
  .fs .cl{grid-template-columns:1fr;padding:.6rem 0 .9rem;}
  .fs .note{margin-left:1.8rem;}
}

/* typeset checklist */
.fs .check{margin:clamp(3rem,6vw,4.2rem) 0 0;}
.fs .check h3{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:500;font-size:1.45rem;line-height:1.25;color:var(--fs-ink);
  margin:0 0 .4rem;padding-bottom:.8rem;border-bottom:1.5px solid var(--fs-ink);}
.fs .check ul{list-style:none;margin:0;padding:0;}
.fs .check li{position:relative;padding:.85rem 0 .85rem 2.3rem;border-bottom:1px solid var(--fs-hair);
  font-family:Newsreader,Georgia,serif;font-size:1.12rem;line-height:1.45;color:var(--fs-ink2);}
.fs .check li::before{content:"";position:absolute;left:0;top:1.08rem;width:.95rem;height:.95rem;border:1.5px solid var(--fs-ink);}

/* ---------- section 4: governance as one sequence ---------- */
.fs .seq{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(1.6rem,3.5vw,3rem);position:relative;}
.fs .seq::before{content:"";position:absolute;left:0;right:0;top:1.55rem;height:1px;background:var(--fs-ink);opacity:.5;}
.fs .seq li{position:relative;}
.fs .sq-n{position:relative;display:inline-block;font-family:Newsreader,Georgia,serif;font-style:italic;font-size:3.2rem;line-height:1;
  color:var(--fs-red);background:var(--fs-paper2);padding-right:.7rem;margin-bottom:1rem;}
.fs .seq h3{font-family:Newsreader,Georgia,serif;font-weight:600;font-size:1.3rem;line-height:1.22;color:var(--fs-ink);margin:0 0 .6rem;}
.fs .seq p{font-family:Newsreader,Georgia,serif;font-size:1.06rem;line-height:1.55;color:var(--fs-ink2);margin:0 0 .9rem;}
.fs .seq .test{font-style:italic;color:var(--fs-navy2);margin:0;}
@media(max-width:860px){
  .fs .seq{grid-template-columns:1fr;max-width:var(--fs-col);}
  .fs .seq::before{display:none;}
  .fs .seq li{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:0 .9rem;padding:1.4rem 0;border-top:1px solid var(--fs-hair);}
  .fs .seq li:first-child{border-top:1.5px solid var(--fs-ink);}
  .fs .sq-n{grid-row:span 3;font-size:2.4rem;background:none;padding:0;margin:0;}
}

/* ---------- section 5: the navy band and its chart ---------- */
.fs .coc{padding:0;}
.fs .coc-hd{font-family:Newsreader,Georgia,serif;font-style:italic;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.2;color:var(--fs-paper);
  margin:0 auto 1.6rem;max-width:var(--fs-wide);}
.fs .coc-art svg{display:block;width:100%;height:auto;font-family:Inter,system-ui,sans-serif;overflow:visible;}
.fs .coc .v-phone{display:none;}
.fs .coc .base{stroke:var(--fs-dim);stroke-opacity:.45;stroke-width:1;}
.fs .coc .contract{stroke:var(--fs-paper);stroke-width:2;}
.fs .coc .co-lab{fill:var(--fs-dim);}
.fs .coc .mo{fill:var(--fs-dim);font-variant-numeric:tabular-nums;}
.fs .coc .cnt{fill:var(--fs-paper);font-family:Newsreader,Georgia,serif;font-variant-numeric:lining-nums tabular-nums;}
.fs .coc .under{fill:var(--fs-red);fill-opacity:.2;}
.fs .coc .blk{fill:var(--fs-red);}
.fs .coc .end line{stroke:var(--fs-paper);stroke-width:1.3;}
.fs .coc .es{fill:var(--fs-red);font-weight:700;}
.fs .coc .en{fill:var(--fs-light);font-style:italic;}
.fs .coc figcaption{max-width:var(--fs-col);margin:1.8rem auto 0;font-family:Newsreader,Georgia,serif;font-size:1.04rem;line-height:1.55;color:var(--fs-dim);}
.fs .co-ctl{font:inherit;font-family:Inter,system-ui,sans-serif;font-size:.88rem;color:var(--fs-paper);background:none;border:0;padding:0;margin-left:.3rem;
  cursor:pointer;text-decoration:underline;text-decoration-color:var(--fs-red);text-decoration-thickness:1.5px;text-underline-offset:.25em;}
.fs .co-ctl:hover{color:#fff;}
@media(max-width:640px){.fs .coc .v-wide{display:none;}.fs .coc .v-phone{display:block;}}

/* ---------- section 6: warning signs ---------- */
.fs .signs{list-style:none;padding:0;border-top:1.5px solid var(--fs-ink);counter-reset:sg;}
.fs .signs li{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:.6rem 2.6rem;padding:1.5rem 0;border-bottom:1px solid var(--fs-hair);}
.fs .signs .sg{font-family:Newsreader,Georgia,serif;font-size:1.32rem;line-height:1.3;font-weight:500;color:var(--fs-ink);margin:0;}
.fs .signs .do{font-family:Newsreader,Georgia,serif;font-size:1.06rem;line-height:1.55;color:var(--fs-ink2);margin:.15rem 0 0;}
.fs .signs .do em{color:var(--fs-red2);font-weight:600;}
@media(max-width:700px){.fs .signs li{grid-template-columns:1fr;gap:.5rem;padding:1.25rem 0;}.fs .signs .sg{font-size:1.2rem;}}
.fs .last{font-style:italic;}

/* CTA keeps the site band; give it room on paper */
.fs .cta-sec{background:var(--fs-paper);padding:0 0 clamp(3rem,6vw,5rem);}

/* ---------- motion: the change-order chart (finished by default) ---------- */
@media screen and (prefers-reduced-motion:no-preference){
  .coc.armed .co{opacity:.14;}
  .coc.armed .end{opacity:0;}
  .coc.armed.play .co{animation:coIn .9s ease var(--d) forwards;}
  .coc.armed.play .co .blk{animation:coDrop .9s cubic-bezier(.2,.7,.1,1) var(--d) both;}
  .coc.armed.play .end{animation:coIn 1.3s ease 10.9s forwards;}
  .coc.armed.skip .co,.coc.armed.skip .end{animation:none;opacity:1;}
  .coc.armed.skip .co .blk{animation:none;transform:none;}
  @keyframes coIn{from{opacity:.14;}to{opacity:1;}}
  @keyframes coDrop{from{transform:translateY(-18px);}to{transform:translateY(0);}}
}

@media print{
  .fs .b-hero,.fs .b-navy{background:#fff;color:var(--fs-ink);}
  .fs .b-hero h1,.fs .b-navy h2,.fs .b-navy .col p,.fs .coc-hd,.fs .b-hero .dek{color:var(--fs-ink);}
  .fs .hero-in{min-height:0;}
  .fs .coc .contract,.fs .coc .end line{stroke:var(--fs-ink);}
  .fs .coc .cnt,.fs .coc .en{fill:var(--fs-ink);}
  .fs .co-ctl{display:none;}
  .fs .sheet,.fs .coc,.fs .rank li,.fs .pq{break-inside:avoid;}
}
@media(max-width:640px){.fs .hero-in{min-height:min(74vh,640px);}.fs .feat h2 .num{font-size:.9em;}}

/* ---------- color pass (2026-10-09): green lead, red for the SI's incentives ----------
   Green is the buyer's side of every comparison: what you actually need, the
   language that keeps your leverage, the weights that predict delivery and the
   governance that makes candor routine. Red stays with what the deal pays for
   and what most SOWs say. Navy keeps the opener and the change-order band. */
.fs-body{--fs-green:#2E7D5B;--fs-green2:#1F5E42;--fs-greent:#F1F8F4;--fs-redt:#FDF3F3;}

/* B: the 100 points as one stacked bar */
.fs .pts{display:flex;gap:3px;margin:1.2rem 0 .6rem;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.fs .pt{flex:var(--w) 1 0;min-width:0;display:flex;flex-direction:column;gap:.45rem;}
.fs .pt b{display:flex;align-items:center;height:2.4rem;padding:0 .7rem;background:var(--fs-green2);color:#fff;font-family:Inter,system-ui,sans-serif;font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;}
.fs .pt2 b,.fs .pt4 b{background:var(--fs-green);}
.fs .pt5 b{background:var(--fs-greent);color:var(--fs-green2);outline:1px solid #b9d7c7;outline-offset:-1px;}
.fs .pt i{font-family:Inter,system-ui,sans-serif;font-style:normal;font-size:.8rem;color:var(--fs-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* A: the weights in green figures, with green bars */
.fs .rank .wt{color:var(--fs-green2);}
.fs .bar::after{top:-2px;height:5px;background:var(--fs-green);}
.fs .rank-cap{border-bottom-color:var(--fs-green2);}

/* D: the SOW markup: red strikes, green inserts */
.fs ins{color:var(--fs-green2);text-decoration-color:var(--fs-green);}
.fs .sheet-hd span:last-child{color:var(--fs-green2);font-weight:600;}
.fs .check h3{color:var(--fs-green2);}
.fs .check li::before{border-color:var(--fs-green);border-width:2px;}

/* C: governance on a full bleed green tint band with a quiet dot field */
.fs .b-green{background-color:var(--fs-greent);background-image:radial-gradient(rgba(46,125,91,.17) 1px,transparent 1.4px);background-size:20px 20px;
  border-top:1px solid #d3e6dc;border-bottom:1px solid #d3e6dc;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.fs .b-green .sq-n{color:var(--fs-green);background:var(--fs-greent);}
.fs .b-green .seq::before{background:var(--fs-green2);opacity:.6;}
.fs .b-green .seq h3{color:var(--fs-green2);}
.fs .b-green .seq h3,.fs .b-green .sq-n{-webkit-print-color-adjust:exact;print-color-adjust:exact;}

/* signs: the fix in green */
.fs .signs{border-top-color:var(--fs-green2);}
.fs .signs .do em{color:var(--fs-green2);}

@media(max-width:640px){
  .fs .pt b{height:2rem;padding:0 .4rem;font-size:.84rem;}
  .fs .pt i{font-size:.72rem;}
}

/* ---------- QA 2026-10-10 ----------
   The color pass turned the section 1 incentive ledger into a red panel and a
   green panel side by side, each under a solid header bar: the red versus
   green pattern the brief bans. The ledger is back to its hairline form.
   Green marks only the buyer's column head, the same way green marks the
   buyer's side everywhere else on the page; the SI's column stays muted. */
.fs .ledger thead th:last-child{color:var(--fs-green2);}
@media(max-width:640px){
  .fs .ledger td:last-child::before{color:var(--fs-green2);}
}
/* The stacked spend under each month's change order was red at 20% over
   navy, which read as a muddy plum. It is now the page's dim slate, so the
   only red in the chart is the change order each month adds. */
.fs .coc .under{fill:var(--fs-dim);fill-opacity:.2;}
