/* Interactive Playbook · v2026-10-24 */
.pbtabs{position:sticky;top:var(--nav,80px);z-index:30;background:#fff;border-bottom:1px solid var(--line)}
.pbtabs-in{display:flex;align-items:center;gap:4px;height:54px;overflow-x:auto;scrollbar-width:none}
.pbtabs-in::-webkit-scrollbar{display:none}
.pb-home{font:600 12.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);text-decoration:none;margin-right:14px;white-space:nowrap;padding-right:14px;border-right:1px solid var(--line)}
.pbtabs-in>a:not(.pb-home){position:relative;display:inline-flex;align-items:center;height:54px;padding:0 14px;font-size:15px;font-weight:600;color:var(--mute);text-decoration:none;white-space:nowrap}
.pbtabs-in>a:not(.pb-home):hover{color:var(--ink)}
.pbtabs-in>a.on{color:var(--c)}
.pbtabs-in>a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:3px;background:var(--c);border-radius:3px 3px 0 0}

.pbh{padding:clamp(40px,5vw,72px) 0 clamp(28px,3.5vw,48px);background:var(--bg)}
.pbh-in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,56px);align-items:center}
.pbh .eyebrow{color:var(--c)}
.pbh h1{font:400 clamp(34px,4vw,54px)/1.08 var(--serif);margin-top:16px;text-wrap:balance}
.pbh .lede{max-width:62ch}
.pbh-img{border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(15,36,24,.5);border-bottom:6px solid var(--c)}
.pbh-img img{display:block;width:100%;height:auto}
@media (max-width:900px){.pbh-in{grid-template-columns:1fr}.pbh-img{max-width:620px}}

.pbs{padding:clamp(36px,4.5vw,64px) 0 clamp(56px,7vw,96px)}
.pbs .sec-head{margin:clamp(44px,5vw,72px) 0 clamp(22px,2.6vw,32px)}
.pbs .sec-head:first-child{margin-top:0}
.pbs .sec-head h2{font-size:clamp(28px,3vw,40px)}
.muted{color:var(--mute);font-size:14.5px;line-height:1.5}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(18px,2.2vw,26px)}
.card .px-k{color:var(--c)}

/* playbook index */
.pbgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pbc{display:flex;flex-direction:column;gap:10px;background:var(--c);color:#fff;border-radius:22px;padding:clamp(22px,2.6vw,32px);min-height:230px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.pbc:hover{transform:translateY(-4px);box-shadow:0 18px 34px -16px var(--c)}
.pbc b{font:400 clamp(28px,2.6vw,36px)/1.05 var(--serif)}
.pbc-t{font-size:15.5px;line-height:1.5;opacity:.92;max-width:52ch}
.pbc .bx-go{margin-top:auto;opacity:1}
.pbc-dl{grid-column:1/-1;min-height:0}
@media (max-width:720px){.pbgrid{grid-template-columns:1fr}}

/* process */
.strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.stp{text-align:left;border:1px solid #E3E4DA;border-top:5px solid var(--c);background:#fff;border-radius:16px;padding:16px 14px 14px;display:flex;flex-direction:column;min-height:180px;cursor:pointer;font-family:inherit;color:var(--ink);transition:transform .2s,box-shadow .2s,opacity .2s}
.stp:hover{transform:translateY(-3px);box-shadow:0 18px 34px -20px rgba(15,36,24,.45)}
.stp b{font:700 18px/1.1 var(--sans);margin-top:10px;letter-spacing:.02em}
.stp em{font-style:normal;font-size:13.5px;color:var(--mute);margin-top:8px;line-height:1.4}
.stp-g{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;padding-top:12px;border-top:1px dashed #DCDDD3}
.stp-g i{font-style:normal;flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--c);color:#fff;font-size:11.5px}
.strip.live .stp:not(.on){opacity:.62}
.strip.live .stp:not(.on):hover{opacity:1}
.stp.on{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--c)}
.out-top{justify-content:flex-end;margin:18px 0 6px}
.stpp{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,40px);border-top:6px solid var(--c)}
.js .stpp[hidden]{display:none}
.stpp.on{animation:fade .35s ease}
.stpp .eyebrow{color:var(--c)}
.stpp-head h2{font-size:clamp(28px,3vw,40px);margin-top:14px}
.stpp-head .lede{max-width:none;margin-top:14px}
.stpp-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:16px;margin-top:28px}
.stpp-grid2{display:grid;grid-template-columns:1fr 1.6fr;gap:16px;margin-top:16px}
.stpp .card{background:var(--bg)}
.kq{font:400 clamp(20px,1.8vw,24px)/1.3 var(--serif);color:var(--ink)}
.dvqe{margin-top:14px;font-size:14px;color:var(--c);font-weight:600;line-height:1.45}
.stpp .muted{margin-top:14px}
.seclist{list-style:none;display:grid;gap:6px}
.seclist a{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #E3E4DA;text-decoration:none;color:var(--ink);font-size:14px;line-height:1.3}
.seclist a:hover{border-color:var(--c)}
.seclist b{color:var(--c);font-weight:700}
.gid{display:flex;align-items:center;gap:12px}
.gid i{font-style:normal;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--c);color:#fff;font:700 15px/1 var(--sans)}
.gid b{font:400 24px/1.1 var(--serif)}
.gconf{margin-top:14px;font-size:15px;line-height:1.5}
.gdl{display:grid;grid-template-columns:84px 1fr;gap:6px 12px;margin-top:14px;font-size:14px;line-height:1.45}
.gdl dt{font-weight:700;color:var(--c)}
.gdl dd{color:var(--mute)}
.kill{font-size:15.5px;line-height:1.6}
details summary{cursor:pointer;font-weight:700;font-size:16px;padding:6px 0;list-style:none;display:flex;align-items:center;gap:10px}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--c,#14231A);border-bottom:2px solid var(--c,#14231A);transform:rotate(-45deg);transition:transform .2s;flex:none}
details[open] summary::before{transform:rotate(45deg)}
details+details{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.todo{margin:12px 0 0 0;padding-left:22px;display:grid;gap:8px;font-size:14.5px;line-height:1.5;color:var(--ink)}
.todo li::marker{color:var(--c,#14231A);font-weight:700}
.todo-2{columns:2;column-gap:40px}
.todo-2 li{break-inside:avoid}
.stpp-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px}
.dlrow{margin-top:40px;max-width:420px}
.dlrow2{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:860px}
@media (max-width:1100px){.strip{grid-template-columns:repeat(3,1fr)}.stpp-grid{grid-template-columns:1fr 1fr}.stpp-grid .gcard{grid-column:1/-1}}
@media (max-width:720px){.strip{grid-template-columns:repeat(2,1fr)}.stp{min-height:0}.stpp-grid,.stpp-grid2,.dlrow2{grid-template-columns:1fr}.todo-2{columns:1}}

/* RAPID chips */
.rchips{display:flex;flex-wrap:wrap;gap:6px}
.rc{display:inline-flex;align-items:center;gap:7px;padding:5px 9px 5px 10px;border-radius:999px;background:#F2F3EE;border:1px solid #E3E4DA;font-size:12.5px;line-height:1}
.rc b{font-weight:600;color:#2A3A30}
.rc em{font-style:normal;font-weight:700;font-size:11.5px;padding:3px 6px;border-radius:6px;background:#fff;color:#55625A;letter-spacing:.04em}
.rc-d{background:#14231A;border-color:#14231A}.rc-d b{color:#fff}.rc-d em{background:#fff;color:#14231A}
.rc-a{background:#E5F0E8;border-color:#CFE3D4}.rc-a em{color:#2E7D5B}
.rc-p{background:#E4ECF5;border-color:#CFDCEC}.rc-p em{color:#2F5F8F}
.rc-n{opacity:.5}
.legend{font-size:13.5px;color:var(--mute);line-height:1.6}
.legend b{display:inline-block;min-width:18px;padding:1px 6px;border-radius:5px;background:#F2F3EE;color:var(--ink);text-align:center;margin-right:2px}
.legend b.ld{background:#14231A;color:#fff}

/* brief */
.stabs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.stab{text-align:left;border:1px solid #E3E4DA;border-left:6px solid var(--c);background:#fff;border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:30px 1fr;gap:2px 10px;cursor:pointer;font-family:inherit;color:var(--ink);transition:opacity .2s,box-shadow .2s}
.stab b{grid-row:span 2;font:400 26px/1 var(--serif);color:var(--c)}
.stab span{font-weight:700;font-size:15px;letter-spacing:.02em}
.stab em{font-style:normal;font-size:12.5px;color:var(--mute)}
.stabs.live .stab:not(.on){opacity:.6}
.stabs.live .stab:not(.on):hover{opacity:1}
.stab.on{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--c)}
.stabs-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:18px 0 8px}
.sw{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;cursor:pointer}
.sw input{width:18px;height:18px;accent-color:var(--green)}
.js .sgroup[hidden]{display:none}
.sgroup.on{animation:fade .35s ease}
.sgroup-h{margin:30px 0 18px;padding-left:18px;border-left:6px solid var(--c)}
.sgroup-h .eyebrow{color:var(--c)}
.sgroup-h h2{font-size:clamp(26px,2.8vw,36px);margin-top:10px}
.sgroup-h .lede{margin-top:10px;max-width:none}
.scard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(18px,2.2vw,26px);margin-top:14px;scroll-margin-top:150px}
.scard:target{box-shadow:0 0 0 3px var(--c)}
.scard-h{display:flex;align-items:center;gap:14px}
.sid{display:inline-grid;place-items:center;min-width:46px;height:34px;padding:0 10px;border-radius:9px;background:var(--c);color:#fff;font:700 14px/1 var(--sans);letter-spacing:.03em;flex:none}
.scard-h h3{font:400 clamp(20px,2vw,26px)/1.15 var(--serif)}
.scard-p{margin-top:12px;color:var(--mute);font-size:15px;line-height:1.55}
.scard-g{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.scard .px-k{color:var(--c)}
.hzdl{display:grid;grid-template-columns:96px 1fr;gap:8px 12px;font-size:14px;line-height:1.5}
.hzdl dt{font-weight:700;color:#6E4A7C}
.hzdl dd{color:var(--ink)}
.hzdl dd b{font-weight:700}
.hz .px-k{color:#6E4A7C}
.hz .pp-link{margin-top:14px;font-size:14px}
.gcard2{background:var(--bg);border-color:var(--c)}
@media (max-width:1100px){.stabs{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.scard-g{grid-template-columns:1fr}}
@media (max-width:600px){.stabs{grid-template-columns:repeat(2,1fr)}.hzdl,.gdl{grid-template-columns:1fr;gap:2px 0}.hzdl dd,.gdl dd{margin-bottom:8px}}

/* RAPID page */
.rgroups{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}
.rg{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;gap:4px}
.rg b{font-size:15px}
.rg span{font-size:13.5px;color:var(--mute);line-height:1.45}
.fchips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.fchip{border:1.5px solid var(--c,#14231A);background:#fff;color:var(--c,#14231A);font:600 13.5px/1 var(--sans);padding:9px 14px;border-radius:999px;cursor:pointer}
.fchip.on{background:var(--c,#14231A);color:#fff}
.rwrap{margin-top:16px;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;max-height:82vh}
.rtable{border-collapse:separate;border-spacing:0;width:100%;min-width:960px;font-size:12.5px}
.rtable th,.rtable td{padding:8px 5px;border-bottom:1px solid #ECEDE6;text-align:center;vertical-align:middle}
.rtable thead th{position:sticky;top:0;background:#F7F6F1;z-index:3;font-weight:700;font-size:12.5px;line-height:1.25;border-bottom:2px solid var(--line)}
.rtable thead th:first-child,.rtable tbody th.stepcell{position:sticky;left:0;background:#F7F6F1;z-index:2;text-align:left}
.rtable thead th:first-child{z-index:4}
.rtable tbody th.stepcell{color:var(--c);font-weight:700;white-space:nowrap;border-left:5px solid var(--c);font-size:12.5px}
.rtable tbody th.stepcell.empty{border-left-color:transparent}
.rtable .namecell{text-align:left;font-weight:600;color:var(--ink);min-width:190px;line-height:1.3}
.rtable tr.gate td,.rtable tr.gate th{background:#F2F3EE;font-weight:700}
.rtable tr.gate td.d{background:#14231A;color:#fff}.rtable tr.gate td.a{background:#D9E8DD}.rtable tr.gate td.p{background:#D8E3EF}
.rtable td.d{background:#14231A;color:#fff;font-weight:700;border-radius:6px}
.rtable td.a{background:#E5F0E8;color:#24432F;font-weight:700}
.rtable td.p{background:#E4ECF5;color:#234A70;font-weight:600}
.rtable td.n{color:#B0B5AD}
.rolebtn{border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:4px 6px;border-radius:8px}
.rolebtn:hover{background:#E9EAE2}
.rolebtn[aria-pressed=true]{background:#14231A;color:#fff}
.rtable.hl td:not(.hl),.rtable.hl thead th:not(.hl){opacity:.35}
.rtable.hl td.hl{opacity:1;outline:2px solid #14231A;outline-offset:-2px}
.rtable.hl .namecell,.rtable.hl .stepcell{opacity:1}
.rtable tr[hidden]{display:none}
.glist{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.glist li{display:grid;grid-template-columns:44px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-top:5px solid var(--c);border-radius:16px;padding:16px}
.glist i{font-style:normal;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--c);color:#fff;font:700 14px/1 var(--sans)}
.glist b{display:block;font:400 20px/1.1 var(--serif);margin-bottom:8px}
.glist span{display:block;font-size:13.5px;color:var(--mute);line-height:1.45;margin-top:4px}
.glist em{font-style:normal;font-weight:700;color:var(--ink);margin-right:4px}
@media (max-width:1040px){.rgroups,.glist{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.rgroups,.glist{grid-template-columns:1fr}}

/* harness */
.hnav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.hnav a{font-size:13.5px;font-weight:600;color:var(--ink);text-decoration:none;background:#fff;border:1px solid var(--line);padding:8px 13px;border-radius:999px}
.hnav a:hover{border-color:#6E4A7C;color:#6E4A7C}
.outc-3{grid-template-columns:repeat(3,1fr)}
.outc-3 li{background:#fff}
.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ag{background:#fff;border:1px solid var(--line);border-top:6px solid var(--c);border-radius:20px;padding:clamp(18px,2.2vw,26px);display:flex;flex-direction:column;gap:12px}
.ag-r{font:600 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.ag h3{font:400 clamp(22px,2vw,28px)/1.1 var(--serif);margin-top:8px}
.ag p{font-size:14.5px;line-height:1.55;color:var(--mute)}
.ag-never{color:var(--ink);background:#FBF4F3;border-left:3px solid #A1392B;padding:8px 12px;border-radius:0 10px 10px 0}
.ag-never b{color:#A1392B}
.ag .px-k{color:var(--c);margin:6px 0 0}
.subs{list-style:none;display:grid;gap:8px}
.subs li{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}
.subs b{font-size:14px;font-weight:700}
.subs span{font-size:13.5px;color:var(--mute);line-height:1.45}
.ag-cov{margin-top:auto;font-size:13.5px}
.ag-cov b{color:var(--ink)}
.flow{list-style:none;counter-reset:fl;display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.flow li{counter-increment:fl;position:relative;background:#fff;border:1px solid var(--line);border-top:5px solid var(--c);border-radius:14px;padding:14px 12px;display:grid;gap:4px}
.flow li::before{content:counter(fl);width:26px;height:26px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font:700 12px/1 var(--sans);margin-bottom:6px}
.flow b{font:700 15px/1.15 var(--sans)}
.flow span{font-size:13px;color:var(--c);font-weight:600}
.flow em{font-style:normal;font-size:12.5px;color:var(--mute);line-height:1.4}
.twrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.ttable{border-collapse:collapse;width:100%;min-width:1100px;font-size:13.5px}
.ttable th,.ttable td{padding:12px 12px;border-bottom:1px solid #ECEDE6;text-align:left;vertical-align:top;line-height:1.45}
.ttable thead th{position:sticky;top:0;background:#F7F6F1;z-index:2;font-size:12.5px;font-weight:700;border-bottom:2px solid var(--line)}
.ttable tbody th{font-weight:600;width:230px}
.ttable tbody th a{color:var(--ink);text-decoration:none;display:block;margin-top:8px}
.ttable tbody th a:hover{text-decoration:underline}
.ttable td b{display:block;font-weight:700;color:#6E4A7C}
.ttable td span{display:block;font-size:12.5px;color:var(--mute);margin-top:2px}
.ttable tr.gate{background:#F6F2F8}
.ttable tr[hidden]{display:none}
.prs{display:grid;gap:10px}
.pr{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px}
.pr+.pr{margin-top:0;padding-top:14px;border-top:1px solid var(--line)}
.pr summary{font-size:16px;gap:12px;flex-wrap:wrap}
.pr summary::before{border-color:#6E4A7C}
.pr-k{display:inline-grid;place-items:center;min-width:72px;height:28px;padding:0 10px;border-radius:8px;background:#6E4A7C;color:#fff;font:700 12.5px/1 var(--sans);letter-spacing:.04em}
.pr-a{font-size:13px;color:var(--mute);font-weight:500;margin-left:auto}
.pr-b{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.pr-b p{font-size:14.5px;line-height:1.55}
.pr-box{position:relative;margin-top:12px}
.pr-box pre{white-space:pre-wrap;word-break:break-word;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#F7F6F1;border:1px solid var(--line);border-radius:12px;padding:46px 16px 16px;max-height:520px;overflow:auto;color:var(--ink)}
.copy{position:absolute;top:10px;right:10px;border:1.5px solid #6E4A7C;background:#fff;color:#6E4A7C;font:600 13px/1 var(--sans);padding:8px 12px;border-radius:999px;cursor:pointer}
.copy.ok{background:#6E4A7C;color:#fff}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tool{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.tool h3{font:700 16.5px/1.2 var(--sans)}
.tool-m{font-size:12.5px;font-weight:600;color:#6E4A7C;margin:6px 0 10px;letter-spacing:.02em}
.tool p{font-size:14px;line-height:1.5;color:var(--mute)}
@media (max-width:1100px){.agrid,.outc-3,.tgrid{grid-template-columns:1fr 1fr}.flow{grid-template-columns:repeat(4,1fr)}}
@media (max-width:720px){.agrid,.outc-3,.tgrid{grid-template-columns:1fr}.flow{grid-template-columns:repeat(2,1fr)}.ttable tbody th{width:auto}}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
