/* cutover-plan-standards, rollout (2026-10-05): the standards manual.
   Linked only from article-cutover-plan-standards.html. Ten numbered clauses,
   each opened by a ruled sheet head. Plan rows appear as specimens on graph
   paper plates with crop marks, leader lines, brackets and dimension marks.
   Hatching marks what an inherited row leaves void. Specimen A in the opening
   is a comparison slider; its finished state (no JS, print, reduced motion)
   shows both rows in full. */

.cps{
  --pp:#f7f5f0; --pp2:#efece4; --cell:#fbfaf6;
  --ink:#16150f; --ink2:#33312a; --mu:#6b6660; --hair:#d9d3c6;
  --nv:#16304F; --rd:#A93A3A; --gd:#B8862F;
  --grid:rgba(22,48,79,.075);
  --hatch:repeating-linear-gradient(135deg,rgba(169,58,58,.5) 0 1px,transparent 1px 6px);
  --hatch2:repeating-linear-gradient(135deg,rgba(169,58,58,.28) 0 1px,transparent 1px 5px);
  background:var(--pp);
}
.cps ::selection{background:var(--nv);color:var(--pp);}
.cps main a:focus-visible,.cps main input:focus-visible{outline:2px solid var(--nv);outline-offset:3px;}
.cps .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.cps-main{font-variant-numeric:tabular-nums;}
.cps-main>section{padding:0;}
.cps-w{width:min(1180px,calc(100vw - 32px));margin:0 auto;}
.cps-col{max-width:680px;}
.cps-col p{font-family:var(--serif);font-size:1.13rem;line-height:1.72;color:var(--ink2);margin:0 0 1.25rem;}
.cps-col p b{color:var(--ink);font-weight:600;}
.cps .lab{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mu);margin:0;}
.cps-main .rf{font-family:var(--sans);font-size:.7rem;font-weight:600;color:var(--nv);vertical-align:.4em;line-height:0;padding:0 .1em;text-decoration:none;border-bottom:1px solid rgba(22,48,79,.45);}
.cps-main .rf:hover{border-bottom-color:var(--nv);}

/* ---------- title page ---------- */
.cps-hero{padding:clamp(1.6rem,4vw,2.6rem) 0 clamp(2.2rem,4vw,3.2rem);}
.cps .cps-hero .back-link{margin-bottom:1.1rem;}
.cps-title{display:grid;grid-template-columns:minmax(0,1fr) 15.5rem;gap:3rem;border-top:6px solid var(--ink);padding-top:1.6rem;}
.cps-kind{font-family:var(--sans);font-size:.82rem;font-weight:600;color:var(--mu);margin:0 0 1.1rem;}
.cps .cps-hero h1{margin:0;max-width:12ch;font-size:clamp(2.7rem,6.6vw,5.6rem);font-weight:500;line-height:.97;letter-spacing:-.037em;color:var(--ink);}
.cps-sub{display:block;margin-top:.55em;max-width:30ch;font-size:.36em;font-style:italic;font-weight:400;line-height:1.25;letter-spacing:-.012em;color:var(--ink2);}
.cps .cps-hero .dek{max-width:54ch;margin:1.5rem 0 0;font-size:clamp(1.12rem,1.6vw,1.3rem);line-height:1.55;color:var(--ink2);}
.cps .cps-hero .article-meta{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;margin-top:1.3rem;}
.cps-set{align-self:end;border-top:1px solid var(--ink);padding-top:.7rem;}
.cps-set ol{list-style:none;margin:.5rem 0 0;padding:0;}
.cps-set li{font-family:var(--sans);font-size:.88rem;line-height:1.35;color:var(--ink2);padding:.5rem 0;border-bottom:1px solid var(--hair);}
.cps-set .n{display:inline-block;width:1.3rem;color:var(--mu);font-weight:600;}
.cps-set li[aria-current]{color:var(--ink);font-weight:600;}
.cps-set a{color:var(--nv);text-decoration:underline;text-decoration-color:rgba(22,48,79,.35);text-underline-offset:3px;}
.cps-set a:hover{text-decoration-color:var(--nv);}

/* ---------- plates: graph paper, crop marks ---------- */
.plate{position:relative;margin:2.4rem 0;padding:1.3rem clamp(1rem,2.4vw,2rem) 1.5rem;
  background-color:var(--pp2);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:16px 16px;background-position:-1px -1px;}
.plate::before{content:"";position:absolute;inset:-9px;pointer-events:none;
  background:
   linear-gradient(var(--ink),var(--ink)) left 0 top 9px/6px 1px no-repeat,
   linear-gradient(var(--ink),var(--ink)) left 9px top 0/1px 6px no-repeat,
   linear-gradient(var(--ink),var(--ink)) right 0 top 9px/6px 1px no-repeat,
   linear-gradient(var(--ink),var(--ink)) right 9px top 0/1px 6px no-repeat,
   linear-gradient(var(--ink),var(--ink)) left 0 bottom 9px/6px 1px no-repeat,
   linear-gradient(var(--ink),var(--ink)) left 9px bottom 0/1px 6px no-repeat,
   linear-gradient(var(--ink),var(--ink)) right 0 bottom 9px/6px 1px no-repeat,
   linear-gradient(var(--ink),var(--ink)) right 9px bottom 0/1px 6px no-repeat;}
.pl-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .9rem;margin:0 0 1.2rem;}
.pl-t{font-family:var(--sans);font-size:.92rem;font-weight:500;color:var(--ink2);}
.pl-foot{font-family:var(--sans);font-size:.9rem;line-height:1.55;color:var(--ink2);max-width:78ch;margin:1.3rem 0 0;}
.cps .key{display:inline-block;width:.85rem;height:.85rem;margin-right:.5rem;vertical-align:-.1rem;border:1px solid var(--rd);background:var(--cell) var(--hatch);}
.cps .key-solid,.cps .rl-good .key{background:var(--nv);border-color:var(--nv);}
.cps .void{background-color:transparent;background-image:var(--hatch2);}

/* ---------- specimen A: the comparison ---------- */
.cmp{margin:clamp(2.2rem,4vw,3.2rem) 0 0;}
.cmp-plate{margin:0;}
.cmp figcaption{max-width:62ch;margin:1rem 0 0;font-family:var(--serif);font-style:italic;font-size:1.08rem;line-height:1.5;color:var(--ink2);}
.cmp-tbl{font-family:var(--sans);}
.cmp-row>span{font-size:.95rem;line-height:1.38;color:var(--ink);}
.cmp-row>span[data-k="ID"]{white-space:nowrap;}
.r-bad>span{color:var(--ink2);}
.rl{display:flex;align-items:center;font-family:var(--sans);font-size:.76rem;font-weight:600;color:var(--mu);margin:1rem 0 .4rem;}
.rl-bad{margin-top:.8rem;}
.cmp-seam,.cmp-ctl[hidden]{display:none;}
.nc p{position:relative;margin:0 0 .45rem;padding-left:1.15rem;font-size:.82rem;line-height:1.42;color:var(--ink2);}
.nc p::before{content:"";position:absolute;left:0;top:.28rem;width:.6rem;height:.6rem;border:1px solid var(--rd);background:var(--cell) var(--hatch);}
.nc .ng::before{background:var(--nv);border-color:var(--nv);}
.nc .ng{color:var(--ink);}

@media (min-width:900px){
  .cmp-hd,.cmp-row,.cmp-notes{display:grid;grid-template-columns:5.2rem minmax(0,2.1fr) 8.6rem 8.6rem 4.9rem 9rem minmax(0,1.9fr) 4.4rem;}
  .cmp-hd span{padding:.45rem .7rem;font-size:.74rem;font-weight:600;color:var(--mu);border-bottom:1px solid var(--ink);}
  .cmp-row{background:var(--cell);border-bottom:1px solid var(--ink);border-top:1px solid var(--hair);}
  .cmp-row>span{padding:.75rem .7rem;border-right:1px solid var(--hair);min-height:3.2rem;}
  .cmp-row>span:last-child{border-right:0;}
  .cmp-row>span.void{background-color:var(--cell);}
  .nc{grid-column:var(--c);position:relative;padding:1.05rem .7rem 0;}
  .nc::before{content:"";position:absolute;left:.95rem;top:0;width:1px;height:.75rem;background:var(--nv);}
}
@media (max-width:899.98px){
  .cmp-hd{display:none;}
  .cmp-row{background:var(--cell);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);}
  .cmp-row>span{display:grid;grid-template-columns:6.4rem minmax(0,1fr);gap:.6rem;min-height:2.3rem;padding:.5rem .75rem;border-bottom:1px solid var(--hair);}
  .cmp-row>span:last-child{border-bottom:0;}
  .cmp-row>span::before{content:attr(data-k);font-size:.74rem;font-weight:600;color:var(--mu);padding-top:.12rem;}
  .cmp-row>span.void{background-color:var(--cell);background-size:calc(100% - 7.75rem) 100%;background-position:right top;background-repeat:no-repeat;}
  .cmp-notes{margin-top:1rem;}
  .nc{padding:.55rem 0;border-top:1px dashed rgba(22,48,79,.3);}
  .nc::before{content:attr(data-k);display:block;font-size:.74rem;font-weight:600;color:var(--mu);margin-bottom:.3rem;}
}

/* the slider control: a scale bar */
.cmp-ctl{margin-top:1.3rem;}
.cmp-ctl input{-webkit-appearance:none;appearance:none;display:block;width:100%;height:2.2rem;margin:0;background:transparent;cursor:ew-resize;}
.cmp-ctl input::-webkit-slider-runnable-track{height:2.2rem;
  background:linear-gradient(var(--ink),var(--ink)) 0 50%/100% 1px no-repeat,
   repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 10%) 0 50%/100% 11px no-repeat;
  border-right:1px solid var(--ink);}
.cmp-ctl input::-moz-range-track{height:2.2rem;
  background:linear-gradient(var(--ink),var(--ink)) 0 50%/100% 1px no-repeat,
   repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 10%) 0 50%/100% 11px no-repeat;
  border-right:1px solid var(--ink);}
.cmp-ctl input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:2.2rem;border:0;border-radius:0;
  background:linear-gradient(90deg,transparent 5px,rgba(247,245,240,.75) 5px 6px,transparent 6px 10px,rgba(247,245,240,.75) 10px 11px,transparent 11px) var(--nv);}
.cmp-ctl input::-moz-range-thumb{width:16px;height:2.2rem;border:0;border-radius:0;
  background:linear-gradient(90deg,transparent 5px,rgba(247,245,240,.75) 5px 6px,transparent 6px 10px,rgba(247,245,240,.75) 10px 11px,transparent 11px) var(--nv);}
.cmp-ctl input:focus-visible{outline:2px solid var(--nv);outline-offset:4px;}
.cmp-ctl .ends{display:flex;justify-content:space-between;gap:.4rem 1rem;flex-wrap:wrap;margin:.45rem 0 0;font-family:var(--sans);font-size:.8rem;font-weight:600;color:var(--ink2);}
.cmp-ctl .hint{font-weight:400;color:var(--mu);}
@media (max-width:620px){.cmp-ctl .hint{order:3;flex-basis:100%;text-align:center;}}

/* armed: the two rows share one place and the seam divides them */
@media screen and (prefers-reduced-motion:no-preference){
  .cmp.armed .rl{display:none;}
  .cmp.armed .cmp-rows{display:grid;position:relative;overflow:hidden;overflow:clip;overflow-clip-margin:14px;}
  .cmp.armed .cmp-row{grid-area:1/1;}
  .cmp.armed .cmp-row.r-bad{border-top-color:var(--ink);}
  .cmp.armed .r-good{clip-path:inset(0 calc(100% - var(--p,46) * 1%) 0 0);}
  .cmp.armed .cmp-seam{display:block;position:absolute;inset:0;pointer-events:none;border-left:2px solid var(--ink);margin-left:-1px;transform:translateX(calc(var(--p,46) * 1%));}
  /* QA 2026-10-05: the grip sits just outside the rows so it never covers a cell's text */
  .cmp.armed .cmp-seam i{position:absolute;left:-7px;bottom:-12px;width:12px;height:12px;background:var(--nv);}
  .cmp.armed .cmp-rows{cursor:ew-resize;}
  .cmp.armed .nc{display:grid;align-content:start;}
  .cmp.armed .nc p{grid-area:1/1;transition:opacity .22s ease;}
  .cmp.armed .nc .ng,.cmp.armed .nc.on .nb{opacity:0;}
  .cmp.armed .nc.on .ng{opacity:1;}
  @media (max-width:899.98px){
    .cmp.armed .nc{grid-template-columns:1fr;}
    .cmp.armed .nc::before{grid-area:1/1;}
    .cmp.armed .nc p{grid-area:2/1;}
    .cmp.armed .cmp-rows{grid-template-rows:repeat(8,auto);}
    .cmp.armed .cmp-row{grid-row:1/9;grid-column:1;display:grid;grid-template-rows:subgrid;}
    .cmp.armed .r-good{clip-path:inset(0 0 calc(100% - var(--p,46) * 1%) 0);}
    .cmp.armed .cmp-seam{border-left:0;margin-left:0;border-top:2px solid var(--ink);margin-top:-1px;transform:translateY(calc(var(--p,46) * 1%));}
    .cmp.armed .cmp-seam i{left:-13px;top:-7px;bottom:auto;width:12px;height:12px;margin:0;}
    .cmp.armed .cmp-rows{cursor:default;}
  }
}

/* ---------- opening ---------- */
.cps-intro{padding:clamp(1rem,3vw,2rem) 0 0 !important;}
.cps-intro .cps-w{display:grid;grid-template-columns:minmax(0,680px) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start;}
.cps-intro .lede{font-size:1.3rem;line-height:1.62;color:var(--ink);}
.cps-test{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);padding:.9rem 0 1.15rem;margin-top:.4rem;}
.cps-test .big{font-family:var(--serif);font-size:clamp(1.35rem,2.1vw,1.7rem);font-weight:500;line-height:1.3;letter-spacing:-.012em;color:var(--ink);margin:.6rem 0 .9rem;}
.cps-test .sm{font-family:var(--sans);font-size:.9rem;line-height:1.5;color:var(--ink2);margin:0;}

/* ---------- clauses ---------- */
.cl{padding-top:clamp(3rem,6vw,5rem) !important;}
.cl>.cps-w{border-top:2px solid var(--ink);padding-top:1.05rem;}
.cps .cl h2{max-width:21ch;margin:0 0 1.5rem;font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:500;line-height:1.08;letter-spacing:-.026em;color:var(--ink);}
.cps .cl h2 .cn{font-family:var(--sans);font-weight:600;font-size:.78em;letter-spacing:-.02em;color:var(--nv);margin-right:.35em;}

/* definitions */
.defs{margin:2rem 0 2.2rem;border-top:1px solid var(--ink);}
.df{display:grid;grid-template-columns:minmax(0,25rem) minmax(0,1fr);gap:1rem 2.4rem;padding:1.25rem 0;border-bottom:1px solid var(--hair);}
.df dt{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1.1rem;align-items:start;}
.dt-t{font-family:var(--serif);font-size:1.32rem;font-weight:500;line-height:1.2;color:var(--ink);}
.dn{display:block;font-family:var(--sans);font-size:.78rem;font-weight:600;color:var(--nv);margin-bottom:.25rem;}
.df dd{margin:0;max-width:62ch;font-family:var(--serif);font-size:1.08rem;line-height:1.62;color:var(--ink2);}
.dglyph{display:block;width:120px;height:64px;margin:0;overflow:visible;}
.g-frame{fill:var(--cell);stroke:var(--ink);stroke-width:1;}
.g-soft rect{fill:#d6d0c3;}
.g-gold{fill:var(--gd);}
.g-ink circle{fill:var(--nv);}
.g-link{stroke:var(--gd);stroke-width:1.6;fill:none;}
.g-axis,.g-tick path{stroke:var(--mu);stroke-width:1;fill:none;}

/* check and field note */
.chk,.fnote{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.5rem 1.2rem;max-width:780px;margin:2.2rem 0 0;}
.chk{border-top:1px solid var(--ink);padding-top:.85rem;}
.chk .lab,.fnote .lab{padding-top:.25rem;}
.chk .box{display:inline-block;width:.7rem;height:.7rem;margin-right:.45rem;vertical-align:-.05rem;border:1.5px solid var(--ink);}
.chk p:last-child{margin:0;font-family:var(--sans);font-size:1rem;line-height:1.58;color:var(--ink);}
.fnote{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:1.1rem 0 1.2rem;}
.fnote p:last-child{margin:0;font-family:var(--serif);font-size:1.07rem;line-height:1.64;color:var(--ink2);}
.fnote b{color:var(--ink);font-weight:600;}

/* diagnosis */
.dx{margin:2rem 0 2.4rem;border-top:2px solid var(--ink);font-family:var(--sans);}
.dx-r{display:grid;grid-template-columns:minmax(0,14rem) 6.5rem minmax(0,1.45fr) minmax(0,1fr);gap:1.6rem;padding:1.05rem 0;border-bottom:1px solid var(--hair);}
.dx-hd{padding:.55rem 0;}
.dx-hd span{font-size:.74rem;font-weight:600;color:var(--mu);}
.dx-r>span{font-size:.93rem;line-height:1.52;color:var(--ink2);}
.dx-r>span.dx-p{font-family:var(--serif);font-size:1.17rem;font-weight:500;line-height:1.25;color:var(--ink);}
.dx-s{position:relative;height:1.2rem;margin-top:.3rem;
  background:linear-gradient(var(--ink),var(--ink)) 0 50%/100% 1px no-repeat,
   linear-gradient(var(--ink),var(--ink)) 0 50%/1px 9px no-repeat,
   linear-gradient(var(--ink),var(--ink)) 33.3% 50%/1px 9px no-repeat,
   linear-gradient(var(--ink),var(--ink)) 66.6% 50%/1px 9px no-repeat,
   linear-gradient(var(--ink),var(--ink)) 100% 50%/1px 9px no-repeat;}
.dx-s::after{content:"";position:absolute;left:var(--s);top:50%;width:.75rem;height:.75rem;border-radius:50%;background:var(--nv);transform:translate(-50%,-50%);}
.dx-s[style*="100%"]::after{background:var(--rd);}

/* anatomy: an exploded schema */
.an{list-style:none;margin:0;padding:0;font-family:var(--sans);}
.an-k{display:block;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;font-size:.8rem;font-weight:600;line-height:1.2;color:var(--ink);}
.an-k b{display:block;font-size:.72rem;color:var(--nv);margin-bottom:.2rem;}
.key2 .an-k{background:var(--nv);color:var(--pp);}
.key2 .an-k b{color:#e9d7ae;}
.an-v{display:block;font-size:.82rem;line-height:1.42;color:var(--ink2);}
@media screen and (min-width:1000px){
  .an{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));row-gap:28px;padding:.3rem 0;}
  .an li{display:contents;}
  .an-k{grid-row:2;grid-column:var(--c);min-height:3.6rem;padding:.55rem .5rem;background:var(--cell);border:1px solid var(--ink);border-left-width:0;}
  .an li:first-child .an-k{border-left-width:1px;}
  .key2 .an-k{background:var(--nv);}
  .an-v{position:relative;grid-column:var(--v)/span 2;padding:0 .55rem;}
  .an li:nth-child(odd) .an-v{grid-row:1;align-self:end;padding-bottom:.15rem;}
  .an li:nth-child(even) .an-v{grid-row:3;align-self:start;text-align:right;padding-top:.15rem;}
  .an-v::after{content:"";position:absolute;width:1px;height:28px;background:var(--nv);}
  .an-v::before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--nv);}
  .an li:nth-child(odd) .an-v::after{left:25%;bottom:-28px;}
  .an li:nth-child(odd) .an-v::before{left:calc(25% - 3px);bottom:-31px;}
  .an li:nth-child(even) .an-v::after{left:75%;top:-28px;}
  .an li:nth-child(even) .an-v::before{left:calc(75% - 3px);top:-31px;}
}
@media print, (max-width:999.98px){
  .an{border-top:1px solid var(--ink);}
  .an li{display:grid;grid-template-columns:8.6rem minmax(0,1fr);border-bottom:1px solid var(--hair);background:var(--cell);}
  .an-k{padding:.6rem .7rem;border-right:1px solid var(--ink);}
  .an-v{padding:.6rem .75rem;}
}

/* task names */
.nm{list-style:none;margin:0;padding:0;font-family:var(--sans);}
.nm li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2.4rem;align-items:center;padding:.85rem 0;border-bottom:1px dashed rgba(22,48,79,.28);}
.nm li:last-child{border-bottom:0;}
.nm-n{position:relative;padding:.6rem .85rem;font-size:1.1rem;font-weight:500;line-height:1.35;color:var(--ink);background:var(--cell);border:1px solid var(--ink);}
.nm-bad .nm-n{border-color:var(--rd);}
.nm-a{position:relative;font-size:.9rem;line-height:1.48;color:var(--ink2);}
.nm-a::before{content:"";position:absolute;right:calc(100% + .35rem);top:50%;width:2.05rem;height:1px;background:var(--nv);}
.nm-a::after{content:"";position:absolute;right:calc(100% + 2.1rem);top:50%;width:7px;height:7px;margin-top:-3px;border-radius:50%;background:var(--nv);}
.nm .mk{padding:0 .15em;background:var(--hatch2);box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.nm .gap{display:inline-block;width:4.6rem;height:1.05em;margin-left:.45rem;vertical-align:-.12em;border:1px dashed var(--rd);background:var(--hatch2);}
.nm .br{position:relative;display:inline-block;}
.nm .br::before{content:"";position:absolute;left:0;right:0;bottom:-.5rem;height:.38rem;border:1px solid var(--rd);border-top:0;}
.nm .br::after{content:attr(data-b);position:absolute;left:50%;top:calc(100% + .55rem);transform:translateX(-50%);font-size:.74rem;font-weight:600;color:var(--rd);white-space:nowrap;}
.nm-n:has(.br){padding-bottom:2rem;}

/* ownership */
.ow{display:grid;grid-template-columns:minmax(0,27rem) minmax(0,1fr);gap:2.6rem;align-items:start;font-family:var(--sans);}
.ow-hd,.ow-r{display:grid;grid-template-columns:1.5fr 1fr 1fr;}
.ow-hd span{padding:.45rem .7rem;font-size:.74rem;font-weight:600;color:var(--mu);border-bottom:1px solid var(--ink);}
.ow-hd span:last-child{color:var(--rd);}
.ow-r span{min-height:2.5rem;padding:.55rem .7rem;font-size:.95rem;color:var(--ink);background:var(--cell);border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);}
.ow-r span i{font-size:.86rem;color:var(--mu);}
.ow-r span.void{background-color:var(--cell);}
.ow-r span.miss{background:transparent;border:1px dashed rgba(169,58,58,.55);border-top:0;}
.ow-notes{list-style:none;margin:0;padding:0;}
.ow-notes li{padding:.65rem 0;border-top:1px solid rgba(22,48,79,.3);font-size:.92rem;line-height:1.5;color:var(--ink2);}
.ow-notes b{color:var(--ink);}

/* requirements */
.rq{list-style:none;max-width:780px;margin:2.2rem 0;padding:0;border-top:2px solid var(--ink);}
.rq li{display:grid;grid-template-columns:3.6rem minmax(0,1fr);padding:.8rem 0;border-bottom:1px solid var(--hair);font-family:var(--serif);font-size:1.12rem;line-height:1.45;color:var(--ink);}
.rq .rn{font-family:var(--sans);font-size:.86rem;font-weight:600;color:var(--nv);padding-top:.2rem;}

/* dependencies */
.dp{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 3rem;font-family:var(--sans);}
.dp li{display:grid;grid-template-columns:200px minmax(0,1fr);gap:1.2rem;align-items:start;padding-top:1rem;border-top:1px solid rgba(22,48,79,.3);}
.dp h3{margin:0 0 .3rem;font-family:var(--sans);font-size:.98rem;font-weight:600;letter-spacing:0;color:var(--ink);}
.dp p{margin:0;font-size:.9rem;line-height:1.52;color:var(--ink2);}
.dg{display:block;overflow:visible;}
.dg text{font:600 11px var(--sans);fill:var(--ink);}
.d-a{fill:var(--cell);stroke:var(--ink);}
.d-b{fill:#d9d3c6;stroke:var(--ink);}
.d-ar,.d-hd{fill:none;stroke:var(--nv);stroke-width:1.5;}
.d-dim{fill:none;stroke:var(--gd);stroke-width:1.2;}
.d-dash{fill:none;stroke:var(--nv);stroke-width:1.5;stroke-dasharray:4 3;}
.d-x{fill:rgba(169,58,58,.1);stroke:var(--rd);stroke-dasharray:3 3;}
.d-fix{stroke:var(--rd);stroke-width:2.2;}

/* timing */
.tl{position:relative;height:12.5rem;font-family:var(--sans);}
.tl-bar{position:absolute;top:2.5rem;height:1.6rem;left:calc(var(--a) * 1%);width:calc(var(--b) * 1%);display:flex;align-items:center;padding:0 .6rem;font-size:.76rem;font-weight:600;white-space:nowrap;overflow:hidden;}
.tl-cp{background:var(--nv);color:var(--pp);}
.tl-fl{border:1px dashed var(--nv);color:var(--nv);background:rgba(22,48,79,.06);}
.tl-dim{position:absolute;top:1.3rem;height:.7rem;left:calc(var(--a) * 1%);width:calc(var(--b) * 1%);border-left:1px solid var(--nv);border-right:1px solid var(--nv);}
.tl-dim::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--nv);}
.tl-dim span{position:absolute;left:50%;bottom:calc(100% + .2rem);transform:translateX(-50%);font-size:.8rem;font-weight:600;color:var(--nv);white-space:nowrap;}
.tl-ax{list-style:none;margin:0;padding:0;position:absolute;left:0;right:0;bottom:2.2rem;height:0;border-top:1.5px solid var(--ink);}
.tl-ax li{position:absolute;top:0;left:calc(var(--x) * 1%);--h:2.4rem;}
.tl-ax li::before{content:"";position:absolute;left:0;top:-5px;width:1px;height:10px;background:var(--ink);}
.tl-ax .tk{position:absolute;top:.6rem;left:0;transform:translateX(-50%);font-size:.82rem;color:var(--ink2);white-space:nowrap;}
.tl-ax li:first-child .tk{transform:none;}
.tl-ax .anc::after{content:"";position:absolute;left:0;bottom:0;width:1px;height:var(--h);background:var(--gd);}
.tl-ax .an-n{position:absolute;left:0;bottom:calc(var(--h) + .3rem);transform:translateX(-50%);font-size:.82rem;font-weight:600;color:var(--ink);white-space:nowrap;}
.tl-ax .an-n::after{content:"";position:absolute;left:50%;top:calc(100% + .05rem);width:9px;height:9px;margin-left:-4px;border-radius:50%;background:var(--gd);}
.tl-ax li:nth-child(4){--h:3.4rem;}
.tl-ax .imm{--h:4.2rem;}
.tl-ax .imm::after{width:2px;background:var(--rd);}
.tl-ax .imm .an-n{color:var(--rd);}
.tl-ax .imm .an-n::after{background:var(--rd);}
@media (max-width:699.98px){
  .tl{height:25rem;margin-top:.6rem;}
  .tl-ax{left:5.6rem;right:auto;top:.4rem;bottom:.6rem;width:0;height:auto;border-top:0;border-left:1.5px solid var(--ink);}
  .tl-ax li{left:0;top:calc(var(--x) * 1%);}
  .tl-ax li::before{left:-5px;top:0;width:10px;height:1px;}
  .tl-ax .tk,.tl-ax li:first-child .tk{left:auto;right:.75rem;top:-.62rem;transform:none;}
  .tl-ax .anc::after{bottom:auto;top:0;height:1px;width:var(--h);}
  .tl-ax .imm::after{height:2px;}
  .tl-ax .an-n{left:calc(var(--h) + .5rem);bottom:auto;top:-.62rem;transform:none;}
  .tl-ax .an-n::after{left:-.5rem;top:50%;margin:-4px 0 0 -4px;}
  .tl-bar{left:6.1rem;width:1.5rem;top:calc(.4rem + var(--a) * .24rem);height:calc(var(--b) * .24rem);padding:.5rem 0;justify-content:center;writing-mode:vertical-rl;}
  .tl-dim{left:auto;right:0;width:.7rem;top:calc(.4rem + var(--a) * .24rem);height:calc(var(--b) * .24rem);border:0;border-top:1px solid var(--nv);border-bottom:1px solid var(--nv);}
  .tl-dim::before{left:50%;right:auto;top:0;bottom:0;width:1px;height:auto;}
  .tl-dim span{left:auto;right:calc(100% + .3rem);bottom:auto;top:50%;transform:translateY(-50%);}
  .tl-ax li,.tl-ax li:nth-child(4),.tl-ax .imm{--h:2.4rem;}
  .tl-cp{justify-content:flex-start;padding-top:.6rem;}
}

/* hairline tables */
.ht{margin:2.2rem 0;border-top:2px solid var(--ink);font-family:var(--sans);}
.ht-r{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem;padding:.85rem 0;border-bottom:1px solid var(--hair);}
.ht3 .ht-r{grid-template-columns:minmax(0,15rem) minmax(0,1fr) minmax(0,1.2fr);}
.ht-hd{padding:.55rem 0;}
.ht-hd span{font-size:.74rem;font-weight:600;color:var(--mu);}
.ht-r>span{font-size:.94rem;line-height:1.52;color:var(--ink2);}
.ht-r b{color:var(--ink);font-weight:600;}

/* growth */
.gr{position:relative;padding-top:2.4rem;font-family:var(--sans);}
.gr-dim{position:absolute;top:.7rem;left:calc(16rem + 1.2rem);right:0;height:.8rem;border-left:1px solid var(--nv);border-right:1px solid var(--nv);}
.gr-dim::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--nv);}
.gr-dim span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:0 .6rem;background:var(--pp2);font-size:.8rem;font-weight:600;color:var(--nv);white-space:nowrap;}
.gr-rows{list-style:none;margin:0;padding:0;}
.gr-rows li{display:grid;grid-template-columns:16rem minmax(0,1fr);gap:1.2rem;align-items:center;padding:.32rem 0;}
.gr-l{font-size:.88rem;line-height:1.3;color:var(--ink2);text-align:right;}
.gr-t{position:relative;height:1.6rem;}
.gr-t::before{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(var(--a) * 1%);background:rgba(22,48,79,.1);}
.gr-t i{position:absolute;top:0;bottom:0;left:calc(var(--a) * 1%);width:calc(var(--b) * 1%);background:#cfc8b8;border:1px solid var(--ink);}
.gr-rows .g0 i{background:var(--nv);border-color:var(--nv);}
.gr-rows .g4 i{background:var(--rd);border-color:var(--rd);}

/* the gate: the page's one framed document */
.gate{margin:2.4rem 0;padding:1.4rem clamp(1rem,2.4vw,1.9rem) 1.7rem;background:#fdfcf8;border:1px solid var(--ink);font-family:var(--sans);}
.gate-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.3rem 1rem;padding-bottom:.65rem;border-bottom:2px solid var(--ink);}
.gate-t{margin:0;font-family:var(--serif);font-size:1.55rem;font-weight:500;color:var(--ink);}
.gate-s{margin:0;font-size:.84rem;color:var(--mu);}
.gate-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.gate-g>div{padding:1rem 1.3rem 0;border-left:1px solid var(--hair);}
.gate-g>div:first-child{padding-left:0;border-left:0;}
.gate-g>div:last-child{padding-right:0;}
.gate h3{margin:0 0 .4rem;font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:0;color:var(--ink);}
.gate ul{list-style:none;margin:0;padding:0;}
.gate li{position:relative;padding:.5rem 0 .5rem 1.65rem;font-size:.9rem;line-height:1.45;color:var(--ink2);border-bottom:1px dotted var(--hair);}
.gate li:last-child{border-bottom:0;}
.gate li::before{content:"";position:absolute;left:0;top:.68rem;width:.85rem;height:.85rem;border:1.5px solid var(--ink);}

.cps-end{margin-top:2.6rem;}
.cps-end p{font-size:1.24rem;line-height:1.62;color:var(--ink);}

/* ---------- annex ---------- */
.cps-annex{padding-top:clamp(3.4rem,6vw,5rem) !important;}
.cps .annex-h{margin:0 0 1rem;padding-top:.8rem;border-top:2px solid var(--ink);font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:0;color:var(--ink);}
.refs{list-style:none;margin:0;padding:0;columns:2;column-gap:3rem;}
.refs li{position:relative;break-inside:avoid;padding:.5rem 0 .5rem 2.7rem;border-top:1px solid var(--hair);font-family:var(--sans);font-size:.84rem;line-height:1.5;color:var(--ink2);}
.refs .rn{position:absolute;left:0;top:.5rem;font-weight:600;color:var(--nv);}
.refs a{color:var(--nv);text-decoration:underline;text-decoration-color:rgba(22,48,79,.35);text-underline-offset:2px;word-break:break-word;}
.refs li:target{background:rgba(184,134,47,.16);}
.annex-note{max-width:82ch;margin:1.3rem 0 0;font-family:var(--sans);font-size:.84rem;line-height:1.55;color:var(--mu);}

/* ---------- companion document ---------- */
.cps-kit{padding-top:clamp(3rem,6vw,4.4rem) !important;}
.kit{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:clamp(1.6rem,4vw,3.2rem);align-items:start;padding:2rem 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);}
.kit-doc{position:relative;width:8.6rem;height:11rem;padding:1.1rem .85rem;background:var(--cell);border:1px solid var(--ink);margin-top:.3rem;}
.kit-doc::before{content:"";position:absolute;inset:-1px;transform:translate(9px,9px);border:1px solid var(--ink);background:var(--pp2);z-index:-1;}
.kit-doc span{display:block;height:6px;margin-bottom:9px;background:#d6d0c3;}
.kit-doc span:nth-child(1){width:70%;height:9px;background:var(--ink);margin-bottom:14px;}
.kit-doc span:nth-child(3){width:82%;} .kit-doc span:nth-child(4){width:60%;} .kit-doc span:nth-child(5){width:88%;}
.kit-tx .lab{margin-bottom:.5rem;}
.cps .kit-tx h2{max-width:24ch;margin:0 0 .8rem;font-size:clamp(1.55rem,2.8vw,2.2rem);font-weight:500;line-height:1.12;color:var(--ink);}
.kit-tx p{max-width:60ch;margin:0 0 1.2rem;font-family:var(--serif);font-size:1.08rem;line-height:1.6;color:var(--ink2);}
.kit-tx .kit-a{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin:0;font-family:var(--sans);}
.cps-cta{padding:clamp(3rem,6vw,4.6rem) 0 !important;}

/* ---------- narrower screens ---------- */
@media (max-width:1000px){
  .dp{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .cps-title{grid-template-columns:1fr;gap:2rem;}
  .cps-set{align-self:start;max-width:26rem;}
  .cps-intro .cps-w{grid-template-columns:1fr;gap:1.4rem;}
  .df{grid-template-columns:1fr;gap:.8rem;}
  .dx-hd{display:none;}
  .dx-r{grid-template-columns:minmax(0,1fr) 6.5rem;gap:.7rem 1.2rem;}
  .dx-r>span:nth-child(3),.dx-r>span:nth-child(4){grid-column:1/-1;}
  .dx-r>span:nth-child(3)::before,.dx-r>span:nth-child(4)::before{display:block;font-size:.74rem;font-weight:600;color:var(--mu);margin-bottom:.15rem;}
  .dx-r>span:nth-child(3)::before{content:"What you'll see";}
  .dx-r>span:nth-child(4)::before{content:"Repair";}
  .nm li{grid-template-columns:1fr;gap:.55rem;}
  .nm-a{padding-left:1.4rem;}
  .nm-a::before{right:auto;left:.25rem;top:-.55rem;width:1px;height:1.2rem;}
  .nm-a::after{right:auto;left:calc(.25rem - 3px);top:-.75rem;margin:0;}
  .nm-a::before{top:-.55rem;}
  .ow{grid-template-columns:1fr;gap:1.4rem;}
  .ht-hd{display:none;}
  .ht-r,.ht3 .ht-r{grid-template-columns:1fr;gap:.5rem;}
  .ht-r>span::before{display:block;font-size:.74rem;font-weight:600;color:var(--mu);margin-bottom:.1rem;}
  .ht2 .ht-r>span:nth-child(1)::before{content:"Gets its own line when";}
  .ht2 .ht-r>span:nth-child(2)::before{content:"Stays inside a parent line when";}
  .ht3 .ht-r>span:nth-child(2)::before{content:"Fails when";}
  .ht3 .ht-r>span:nth-child(3)::before{content:"The question to ask";}
  .gr-dim{left:0;}
  .gr-rows li{grid-template-columns:1fr;gap:.3rem;padding:.4rem 0;}
  .gr-l{text-align:left;}
  .gate-g{grid-template-columns:1fr;}
  .gate-g>div,.gate-g>div:first-child{padding:1rem 0 0;border-left:0;}
  .gate-g>div+div{border-top:1px solid var(--hair);margin-top:.8rem;}
  .refs{columns:1;}
  .chk,.fnote{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .kit{grid-template-columns:1fr;}
  .kit-doc{display:none;}
  .cps-col p{font-size:1.08rem;}
  .cps-intro .lede{font-size:1.18rem;}
  .dp li{grid-template-columns:1fr;}
}

/* ---------- figures from the live article (restored 2026-10-05) ----------
   Two of the three, numbered as figures in the manual's own scheme and captioned with the
   manual's label. Figure 2 sits beside the audit paragraph and the field note; Figure 5
   runs edge to edge as the break into clause 5. No frame: the plates keep the crop marks. */
.cps-main{overflow-x:clip;}
.fig{margin:0;}
.fig img{display:block;width:100%;height:auto;}
.fig figcaption{margin-top:.7rem;font-family:var(--sans);font-size:.88rem;line-height:1.5;color:var(--ink2);}
.fig figcaption .lab{display:inline;margin-right:.6rem;}
.fg-inset{display:grid;grid-template-columns:minmax(0,1fr) 46%;gap:2rem 3rem;align-items:start;}
.fg-run .fnote{margin-top:1.6rem;}
.fig-inset{padding-top:.35rem;}
.fig-bleed{width:100vw;margin:0 0 clamp(2.6rem,5vw,4rem) calc(50% - 50vw);}
.fig-bleed img{max-height:82vh;object-fit:cover;object-position:50% 20%;}
@media (max-width:899.98px){
  .fg-inset{grid-template-columns:1fr;}
  .fig-inset{max-width:560px;}
}

@media print{
  .cmp-ctl{display:none !important;}
  .plate{background-image:none;break-inside:avoid;}
  .plate::before{display:none;}
  .gate,.df,.rq li,.ht-r,.dx-r{break-inside:avoid;}
  .cl h2{break-after:avoid;}
  .cps-kit{display:none;}
  .fig-bleed img{max-height:none;}
  .fig{break-inside:avoid;}
  .cps .reveal{opacity:1 !important;transform:none !important;}
}

/* ---------- Color 2026-10-09: electric blue leads, red supports ----------
   The manual is printed in blue: specimen plates on blue graph paper, clause
   numbers, the executable row and every chart's working line. Red stays the
   void and the immovable. The line-level test sits on a full-bleed blue tint
   with its 30 to 50% drawn as a range. */
/* QA 2026-10-10: the pure-blue tints read lavender on warm paper; tints now lean toward navy, the ink stays electric blue */
.cps{--nv:#0003cc;--nv2:#0002a8;--bt:#e8edf5;--bl:#c3cfe3;--grid:rgba(10,55,150,.085);}
.cps ::selection{background:var(--nv);color:#fff;}

/* plates: blue graph paper, blue crop marks */
.plate{background-color:#f6f6fc;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.plate::before{background:
   linear-gradient(var(--nv),var(--nv)) left 0 top 9px/6px 1px no-repeat,
   linear-gradient(var(--nv),var(--nv)) left 9px top 0/1px 6px no-repeat,
   linear-gradient(var(--nv),var(--nv)) right 0 top 9px/6px 1px no-repeat,
   linear-gradient(var(--nv),var(--nv)) right 9px top 0/1px 6px no-repeat,
   linear-gradient(var(--nv),var(--nv)) left 0 bottom 9px/6px 1px no-repeat,
   linear-gradient(var(--nv),var(--nv)) left 9px bottom 0/1px 6px no-repeat,
   linear-gradient(var(--nv),var(--nv)) right 0 bottom 9px/6px 1px no-repeat,
   linear-gradient(var(--nv),var(--nv)) right 9px bottom 0/1px 6px no-repeat;}
.plate .lab{color:var(--nv2);}
.rl-good{color:var(--nv);}
.rl-bad{color:var(--rd);}
.cps .cl h2 .cn{color:var(--nv);}
.tl-fl{background:rgba(10,55,150,.07);}
.gr-t::before{background:rgba(10,55,150,.08);}
.gr-rows li:not(.g0):not(.g4) i{background:var(--bl);border-color:var(--nv2);}
.cps-main .rf{border-bottom-color:rgba(0,3,204,.4);}

/* the line-level test, on a blue band, with its range drawn */
.cps-intro{border-image:linear-gradient(var(--bt),var(--bt)) fill 0 / 0 / 0 100vw;padding:clamp(2.2rem,4vw,3rem) 0 clamp(2.4rem,4vw,3.2rem) !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.cps-test{border-top-color:var(--nv);border-bottom-color:var(--nv);}
.cps-test .lab{color:var(--nv2);}
.cps-fail{margin-top:.2rem;padding-top:.9rem;border-top:1px solid var(--bl);}
.cps-num{display:flex;align-items:baseline;gap:.35rem;margin:0 0 .7rem;font-family:var(--serif);font-size:clamp(2.6rem,4.4vw,3.4rem);font-weight:400;line-height:1;letter-spacing:-.03em;color:var(--nv);}
.cps-num span{font-family:var(--sans);font-size:.95rem;font-weight:500;letter-spacing:0;color:var(--ink2);}
.cps-range{position:relative;height:12px;margin:0 0 1.7rem;background:#fff;outline:1px solid var(--bl);outline-offset:-1px;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.cps-range i{position:absolute;top:0;bottom:0;left:30%;width:20%;background:var(--nv);}
.cps-range b{position:absolute;top:calc(100% + .25rem);left:calc(var(--x) * 1%);transform:translateX(-50%);font-family:var(--sans);font-size:.74rem;font-weight:600;color:var(--nv2);}

/* checks and field notes: blue boxes, blue marks */
.chk{border-top-color:var(--nv);}
.chk .box{border-color:var(--nv);}
.chk .lab,.fnote .lab{color:var(--nv2);}

/* the baseline gate: a solid blue header bar on the form */
.gate{border-color:var(--nv);}
.gate-h{margin:-1.4rem calc(-1 * clamp(1rem,2.4vw,1.9rem)) 0;padding:.85rem clamp(1rem,2.4vw,1.9rem) .8rem;background:var(--nv);border-bottom:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.gate-t{color:#fff;}
.gate-s{color:#dcdcf7;}
.gate h3{color:var(--nv);}
.gate-g{padding-top:.3rem;}
.gate li::before{border-color:var(--nv);}
.gr-dim span{background:#f6f6fc;}
