/* Service detail pages: Embedded CISO, Embedded CIO, GRC. Loads after site, command6, services2.
   Rows, phase rules and the claim spine are square. The paper sheet is the one card. */
.ph-tag a{color:var(--t1);transition:color .2s}.ph-tag a:hover{color:var(--acc-txt)}
.fx{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin-top:clamp(2.5rem,6vh,4rem);border-top:1px solid var(--rule)}
.fx>div{padding:1rem 1.5rem 0 0;display:flex;flex-direction:column;gap:.375rem;min-width:0}
.fx>div+div{padding-left:1.5rem;border-left:1px solid var(--rule-2)}
.fx small{font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--t4)}
.fx b{font-size:1.0625rem;font-weight:500;letter-spacing:-.01em;color:var(--t1)}
.fx b span{color:var(--t4);font-weight:400;margin:0 .375rem}
@media(max-width:640px){.fx>div+div{padding-left:0;border-left:0;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--rule-2)}}
.stm-l small{font-family:var(--mono);font-size:.6875rem;color:var(--t4);letter-spacing:.08em}
/* deliverables */
.dv{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.dv-l{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.dv-l li{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:.25rem 1rem;padding:1.25rem 0;border-bottom:1px solid var(--rule-2)}
.dv-l li>span{grid-row:span 2;font-family:var(--mono);font-size:.75rem;color:var(--acc-txt);padding-top:.25rem}
.dv-l b{font-size:1.0625rem;font-weight:500;letter-spacing:-.015em}
.dv-l p{font-size:.9375rem;line-height:1.6;color:var(--t3)}
.dv-s{position:sticky;top:calc(var(--hdr) + 2rem)}
@media(max-width:960px){.dv{grid-template-columns:1fr}.dv-s{position:static}}
/* sheet motion */
.sh .sh-bar i{transform-origin:0 50%;transform:scaleX(0);transition:transform 1.2s var(--e)}
.sh.go .sh-bar i{transform:none}
.sh .sh-tr:not(.th){opacity:0;transform:translateY(5px);transition:opacity .5s var(--e),transform .6s var(--e),background .6s}
.sh.go .sh-tr{opacity:1;transform:none}
.sh.go .sh-tr:nth-child(3){transition-delay:.08s}.sh.go .sh-tr:nth-child(4){transition-delay:.16s}.sh.go .sh-tr:nth-child(5){transition-delay:.24s}.sh.go .sh-tr:nth-child(6){transition-delay:.32s}.sh.go .sh-tr:nth-child(7){transition-delay:.4s}
.sh.go .sh-bar i{transition-delay:.35s}
.sh .flip{background:#e9f3ec}
.sh-ph span{transition:border-color .5s,color .5s}
.sh-ph span.n{animation:shp 2.4s ease-in-out infinite}
@keyframes shp{50%{border-color:#a9abe8}}
/* fit */
.fit{border-top:1px solid var(--rule)}
.fit-r{display:grid;grid-template-columns:2.5rem minmax(0,15rem) minmax(0,1fr);gap:.5rem 2rem;padding:1.75rem 0;border-bottom:1px solid var(--rule-2);align-items:baseline}
.fit-r>span{font-family:var(--mono);font-size:.75rem;color:var(--acc-txt)}
.fit-r h3{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:500;letter-spacing:-.025em;line-height:1.2}
.fit-r p{font-size:1rem;line-height:1.65;color:var(--t2);max-width:62ch}
@media(max-width:760px){.fit-r{grid-template-columns:2rem minmax(0,1fr)}.fit-r p{grid-column:2}}
/* engagement phases */
.eg-h{display:flex;justify-content:space-between;gap:1rem;padding:.875rem 0;border-top:1px solid var(--rule);font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--t4)}
.eg-h b{font-weight:500;color:var(--acc-txt)}
.eg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.eg-p{position:relative;display:flex;flex-direction:column;gap:.625rem;padding:1.75rem 1.5rem 0 0;text-align:left;cursor:pointer}
.eg-p+.eg-p{padding-left:1.5rem;border-left:1px solid var(--rule-2)}
.eg-p::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--rule)}
.eg-p+.eg-p::before{left:-1px}
.eg-p>i{position:absolute;left:0;top:0;height:2px;width:calc(var(--p,0)*100%);background:var(--acc);box-shadow:0 0 10px oklch(0.62 0.2 275 / .6)}
.eg-p+.eg-p>i{left:-1px}
.eg-p em{font-style:normal;font-family:var(--mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);transition:color .4s}
.eg-p b{font-size:1.375rem;font-weight:500;letter-spacing:-.025em;color:var(--t3);transition:color .4s}
.eg-p p{font-size:.9375rem;line-height:1.65;color:var(--t3);transition:color .4s}
.eg-p.on em{color:var(--acc-txt)}.eg-p.on b{color:var(--t1)}.eg-p.on p{color:var(--t2)}
.eg-p.done em{color:var(--t3)}.eg-p.done b{color:var(--t2)}
.eg-p:hover b{color:var(--t1)}
@media(max-width:900px){.eg{grid-template-columns:1fr}.eg-p,.eg-p+.eg-p{padding:1.25rem 0 1.5rem;border-left:0}.eg-p+.eg-p::before,.eg-p+.eg-p>i{left:0}}
/* claims */
.cl{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem clamp(2rem,5vw,4.5rem);align-items:start}
.cl-h{position:sticky;top:calc(var(--hdr) + 2rem);display:flex;flex-direction:column;gap:1.25rem}
.cl ol{list-style:none;margin:0;padding:0;counter-reset:c;border-top:1px solid var(--rule)}
.cl li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:.5rem 1rem;padding:1.75rem 0;border-bottom:1px solid var(--rule-2)}
.cl li>span{font-family:var(--mono);font-size:.75rem;color:var(--acc-txt);padding-top:.375rem}
.cl h3{font-size:1.25rem;font-weight:500;letter-spacing:-.02em;margin-bottom:.5rem}
.cl p{font-size:1rem;line-height:1.7;color:var(--t2)}
@media(max-width:960px){.cl{grid-template-columns:1fr}.cl-h{position:static}}
/* bench */
.bn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule)}
.bn a{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.75rem 2rem 1.75rem 0;color:inherit}
.bn a::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:transparent;transition:background .3s}
.bn a+a::before{left:-1px}
.bn a+a{padding-left:2rem;padding-right:0;border-left:1px solid var(--rule-2)}
.bn a:hover::before{background:var(--acc)}
.bn a:hover b{color:var(--t1)}
.bn small{font-family:var(--mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t4)}
.bn b{font-size:1.375rem;font-weight:500;letter-spacing:-.025em}
.bn em{font-style:normal;font-size:.9375rem;line-height:1.6;color:var(--t3);max-width:44ch}
.bn .lnk{align-self:flex-start;margin-top:.75rem}
@media(max-width:760px){.bn{grid-template-columns:1fr}.bn a,.bn a+a{padding:1.5rem 0;border-left:0;border-bottom:1px solid var(--rule-2)}}
