/* Scoped teaching compositions: relationships stay visible when the viewport changes. */
*{box-sizing:border-box}body{margin:0;background:var(--tdw-paper-warm);font-family:var(--font-sans)}
.b2{background:var(--r-field);color:var(--r-ink);min-height:100svh;padding:clamp(24px,3.6vw,58px) clamp(22px,4.5vw,72px);display:flex;flex-direction:column;gap:clamp(18px,2.4vw,38px);font-size:clamp(15px,1.35vw,22px);line-height:1.4}
.b2 h1,.b2 h2,.b2 h3,.b2 p{margin:0}.b2 h1{font:500 clamp(30px,3.5vw,56px)/1.1 var(--font-serif);letter-spacing:-.025em;color:var(--r-head);max-width:27ch;text-wrap:balance}
.b2 h2,.b2 h3{font:500 clamp(21px,2vw,32px)/1.15 var(--font-serif);color:inherit}.b2 p{max-width:74ch}.b2 header{display:grid;gap:14px}.b2 .b2-kicker,.b2 .b2-label{font:400 clamp(11px,.9vw,14px)/1.35 var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.b2 .b2-label{display:block;margin-bottom:10px}
.b2-main{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.b2-close{font:500 clamp(20px,1.9vw,30px)/1.3 var(--font-serif);border-top:1px solid var(--r-rule);padding-top:18px;color:var(--r-head)}
.b2-note{font:400 clamp(12px,.87vw,14px)/1.5 var(--font-mono);max-width:none!important}.b2-small{font-size:clamp(14px,1.12vw,18px);line-height:1.4}.b2 a{color:inherit}.b2 :focus-visible{outline:3px solid var(--r-strong);outline-offset:5px}
.b2-hinge{display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:clamp(22px,3.4vw,54px)}.b2-beat{position:relative;padding-top:22px;border-top:3px solid var(--r-head);display:flex;flex-direction:column;gap:18px}.b2-beat:not(:last-child)::after{content:'\2192';position:absolute;right:-38px;top:40%;font-size:30px}.b2-beat:nth-child(2){padding:24px;background:var(--r-plate);color:var(--r-plate-ink)}.b2-beat .b2-index{font:400 clamp(28px,3.5vw,56px)/1 var(--font-mono)}
.b2-pairs{display:flex;flex-direction:column;border-top:2px solid var(--r-head)}.b2-pair{display:grid;grid-template-columns:.7fr 1.3fr;gap:24px;padding:clamp(15px,1.5vw,24px) 0;border-bottom:1px solid var(--r-rule)}.b2-pair>div:last-child{border-left:4px solid var(--r-strong);padding-left:22px}.b2-pair h3{font-size:clamp(20px,1.7vw,27px);margin-bottom:7px}.b2-pair .b2-label{margin-bottom:5px}
.b2-gate{max-width:1150px;width:100%;margin:auto}.b2-question{max-width:820px;margin:0 auto;padding:24px;text-align:center;background:var(--r-band);color:var(--r-band-ink)}.b2-question h2{font-size:clamp(24px,2.4vw,38px)}.b2-branches{display:grid;grid-template-columns:1fr 1.35fr;gap:36px;padding-top:42px;position:relative}.b2-branches::before{content:'';position:absolute;top:0;left:25%;right:28%;height:24px;border-bottom:2px solid var(--r-head);border-left:2px solid var(--r-head);border-right:2px solid var(--r-head)}.b2-branch{padding:20px 24px;border:2px solid var(--r-head)}.b2-branch h3{margin:8px 0 12px}.b2-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.b2-choice{padding:8px 12px;border:1px solid var(--r-head);font-size:clamp(14px,1.1vw,18px)}
.b2-map-layout{display:grid;grid-template-columns:.65fr 1.35fr;align-items:center;gap:clamp(26px,4vw,64px)}.b2-map-copy{display:grid;gap:20px}.b2-quadrant{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto 1fr auto;gap:10px;min-width:0}.b2-map-y{grid-row:2;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;font:400 clamp(11px,.8vw,13px)/1.1 var(--font-mono)}.b2-map-top,.b2-map-bottom{grid-column:2;text-align:center;font:400 clamp(11px,.8vw,13px)/1.3 var(--font-mono)}.b2-map-plane{grid-column:2;display:grid;grid-template-columns:1fr 1fr;min-height:clamp(260px,23vw,370px);border:1px solid var(--r-head)}.b2-quadrant-cell{padding:18px 14px;display:flex;flex-direction:column;gap:12px;justify-content:center}.b2-quadrant-cell:nth-child(odd){border-right:1px solid var(--r-head)}.b2-quadrant-cell:nth-child(-n+2){border-bottom:1px solid var(--r-head)}.b2-point{font-size:clamp(14px,1.2vw,19px);padding-left:17px;position:relative}.b2-point::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;position:absolute;left:0;top:.5em}.b2-point small{display:block;font:400 11px/1.4 var(--font-mono);margin-top:5px}.b2-point[data-candidate]{font-weight:600}.b2-map-x{display:flex;justify-content:space-between;gap:20px;margin-top:8px}
.b2-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.b2-phase{padding:16px;border-bottom:3px solid var(--r-head)}.b2-phase:first-child{background:var(--r-plate);color:var(--r-plate-ink)}.b2-phase strong{display:block;font:500 clamp(20px,1.8vw,28px)/1.2 var(--font-serif);margin-bottom:7px}.b2-lane{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--r-rule);padding:8px 0}.b2-bar{background:var(--r-band);color:var(--r-band-ink);padding:12px 18px}.b2-bar strong{font-size:clamp(16px,1.4vw,22px)}.b2-bar span{font:400 clamp(11px,.85vw,13px)/1.3 var(--font-mono);display:block;margin:4px 0}.b2-readiness{margin-bottom:16px!important;font-size:clamp(14px,1.05vw,17px)}
.b2-scope{width:100%;border-collapse:collapse;font-size:clamp(14px,1.25vw,20px);line-height:1.4}.b2-scope th,.b2-scope td{padding:clamp(12px,1.2vw,20px) 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--r-rule)}.b2-scope thead{background:var(--r-band);color:var(--r-band-ink)}.b2-scope tbody th{width:24%;font:500 clamp(18px,1.6vw,25px)/1.25 var(--font-serif)}.b2-scope td{width:38%}.b2-cell-label{display:none}
@media(max-width:760px){.b2{gap:26px}.b2-main{flex:none}.b2-hinge,.b2-map-layout,.b2-branches{grid-template-columns:1fr}.b2-beat:not(:last-child)::after{display:none}.b2-beat{padding-bottom:8px}.b2-pair{grid-template-columns:1fr;gap:12px}.b2-pair>div:last-child{margin-left:15px}.b2-branches{padding-top:18px;gap:18px}.b2-branches::before{display:none}.b2-branch{border-left-width:5px}.b2-question{padding:20px}.b2-quadrant-cell{padding:16px 10px}.b2-phases{grid-template-columns:1fr;gap:8px}.b2-phase{padding:14px}.b2-lane{display:block}.b2-bar{width:100%}.b2-scope thead{display:none}.b2-scope,.b2-scope tbody,.b2-scope tr,.b2-scope th,.b2-scope td{display:block;width:100%!important}.b2-scope tr{padding:16px 0;border-bottom:2px solid var(--r-head)}.b2-scope td,.b2-scope tbody th{border:0;padding:6px 0}.b2-cell-label{display:block;font:400 11px/1.4 var(--font-mono);text-transform:uppercase;margin-bottom:5px}}
@media print{.b2{min-height:0}.b2-main{break-inside:avoid}}

/* Outcome columns share one governing criterion; they are not independent packages. */
.b2-branches{padding-top:0;gap:0}.b2-branches::before{display:none}.b2-branch{border-top:0}.b2-branch+ .b2-branch{border-left:0}@media(max-width:760px){.b2-branches{gap:0}.b2-branch+ .b2-branch{border-left:2px solid var(--r-head)}}
/* A desktop reference canvas has finite height; compact internal spacing preserves complete copy. */
@media(min-width:761px){
 .b2{padding:clamp(24px,2.4vw,38px) clamp(26px,4.5vw,72px);gap:clamp(16px,1.5vw,24px)}
 .b2 h1{font-size:clamp(30px,3.15vw,50px)}.b2-pair{padding:clamp(10px,1vw,16px) 0}
 .b2-phase{padding:12px}.b2-phase .b2-label{margin-bottom:6px}.b2-phases{margin-bottom:12px}
 .b2-bar{padding:8px 16px}.b2-bar span{margin:2px 0}.b2-lane{padding:5px 0}.b2-readiness{margin-bottom:10px!important}
 .b2-scope th,.b2-scope td{padding:clamp(10px,1vw,16px) 16px}.b2-close{padding-top:14px}
}
@media(min-width:761px){.b2-bar strong,.b2-bar span{display:inline-block}.b2-bar span{margin:0 0 4px 12px}.b2-bar p{margin-top:2px}}
