/* PTE operating framework — Case Detail only. */

.w21-framework {
  margin-top: clamp(4rem, 8vw, 8rem);
  padding-top: 1.4rem;
  border-top: 1px solid var(--growth-rule-soft);
}

.w21-framework-header {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
}

.w21-framework-header h2 {
  max-width: 12ch;
  margin-top: 1.35rem;
  font-size: clamp(2.2rem, 4.4vw, 4.6rem);
  font-weight: 480;
  line-height: .92;
  letter-spacing: -.06em;
}

.w21-framework-subtitle {
  max-width: 42rem;
  color: var(--growth-stone);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.55;
}

.w21-topology {
  display: grid;
  grid-template-columns: minmax(10rem, .82fr) minmax(12rem, 1.03fr) minmax(0, 3.05fr);
  margin-top: clamp(2.8rem, 5vw, 5rem);
  border-block: 1px solid var(--growth-rule);
}

.w21-zone {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 1.25rem clamp(1rem, 1.8vw, 1.8rem) 1.5rem;
  border-left: 1px solid var(--growth-rule-soft);
}

.w21-zone:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 1rem;
  right: -.47rem;
  padding-inline: .12rem;
  background: var(--growth-paper);
  color: var(--growth-stone);
  content: "→";
  font-size: .7rem;
  font-weight: 500;
}

.w21-zone:first-child { border-left: 0; padding-left: 0; }
.w21-zone:last-child { padding-right: 0; }

.w21-zone-index,
.w21-mini-label {
  color: var(--growth-stone);
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .15em;
  line-height: 1.35;
  text-transform: uppercase;
}

.w21-zone-index {
  min-height: 2.7rem;
  color: var(--growth-ink);
}

.w21-zone h3 {
  max-width: 18ch;
  margin-top: 1.3rem;
  font-size: clamp(1.35rem, 1.95vw, 2rem);
  font-weight: 500;
  line-height: 1.01;
  letter-spacing: -.045em;
}

.w22-pte-visual {
  position: relative;
  min-height: 13.6rem;
  margin-top: 1.55rem;
  padding-bottom: 2.85rem;
  border-bottom: 1px solid var(--growth-rule-soft);
}

.w22-pte-level {
  position: absolute;
  border: 1px solid var(--growth-rule);
  border-radius: 50%;
}

.w22-pte-level > span {
  position: absolute;
  top: .46rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(1.05rem, 1.55vw, 1.45rem);
  font-weight: 650;
  line-height: 1;
}

.w22-pte-enterprise > span { top: .34rem; }
.w22-pte-team > span { top: .72rem; }

.w22-pte-level > small {
  display: none;
}

.w22-pte-enterprise {
  inset: 0 auto auto 50%;
  width: 10.4rem;
  height: 10.4rem;
  transform: translateX(-50%);
  background: rgba(18, 19, 17, .012);
}

.w22-pte-team {
  top: 50%;
  left: 50%;
  width: 7.25rem;
  height: 7.25rem;
  transform: translate(-50%, -50%);
  border-color: var(--growth-ink);
  background: rgba(18, 19, 17, .045);
}

.w22-pte-person {
  top: 50%;
  left: 50%;
  width: 4.05rem;
  height: 4.05rem;
  transform: translate(-50%, -50%);
  background: var(--growth-ink);
  color: var(--growth-paper);
}

.w22-pte-person > span {
  top: 50%;
  transform: translate(-50%, -50%);
}

.w22-pte-visual > p {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: .28rem;
  padding-top: .72rem;
  border-top: 1px solid var(--growth-ink);
  text-align: center;
}

.w22-pte-visual > p span {
  color: var(--growth-stone);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.w22-pte-visual > p strong { font-size: .78rem; letter-spacing: .02em; }

.w21-rule-note {
  display: grid;
  gap: .45rem;
  margin-top: 1.55rem;
  padding-top: .75rem;
  border-top: 1px solid var(--growth-rule-soft);
}

.w21-rule-note span {
  color: var(--growth-stone);
  font-size: .63rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.w21-rule-note strong {
  font-size: clamp(.92rem, 1.15vw, 1.08rem);
  font-weight: 520;
  line-height: 1.2;
}

.w21-tension {
  margin-top: 2rem;
  padding-top: .85rem;
  border-top: 1px solid var(--growth-rule);
}

.w21-tension > p:last-child {
  margin-top: .7rem;
  font-size: clamp(.9rem, 1.14vw, 1.08rem);
  line-height: 1.22;
}

.w21-tension > p:last-child span,
.w21-paired-terms b {
  color: var(--growth-stone);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.w21-paired-terms {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: .45rem;
  align-items: center;
  margin-top: auto;
  padding-top: 1.1rem;
  border-top: 1px solid var(--growth-rule-soft);
}

.w21-paired-terms > .w21-mini-label {
  grid-column: 1 / -1;
  margin-bottom: .05rem;
  text-align: left;
}

.w21-paired-terms span {
  font-size: .74rem;
  font-weight: 650;
  line-height: 1.2;
  text-transform: uppercase;
}

.w21-paired-terms span:last-child { text-align: right; }

.w21-before-next {
  display: grid;
  gap: 1rem;
  margin-top: 2.1rem;
}

.w21-before-next > div {
  display: grid;
  gap: .45rem;
  padding-top: .75rem;
  border-top: 1px solid var(--growth-rule-soft);
}

.w21-before-next span,
.w21-proxy-note span {
  color: var(--growth-stone);
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.w21-before-next strong {
  font-size: clamp(.9rem, 1.12vw, 1.05rem);
  font-weight: 520;
  line-height: 1.18;
}

.w22-filter-visual {
  margin-top: 1.4rem;
  padding-block: .95rem 1rem;
  border-block: 1px solid var(--growth-rule);
}

.w22-proxy-inputs {
  display: flex;
  gap: .25rem;
  justify-content: center;
}

.w22-proxy-inputs span {
  padding: .38rem .3rem;
  border: 1px solid var(--growth-rule-soft);
  color: var(--growth-stone);
  font-size: .51rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
}

.w22-filter-stack {
  display: grid;
  gap: .2rem;
  justify-items: center;
  margin-top: .55rem;
}

.w22-filter-stack span {
  display: grid;
  min-height: 1.8rem;
  padding-inline: .35rem;
  place-items: center;
  border-block: 1px solid var(--growth-rule-soft);
  background: rgba(18, 19, 17, .035);
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .055em;
  white-space: nowrap;
  clip-path: polygon(4% 0, 96% 0, 92% 100%, 8% 100%);
}

.w22-filter-stack span:nth-child(1) { width: 96%; }
.w22-filter-stack span:nth-child(2) { width: 88%; background: rgba(18, 19, 17, .065); }
.w22-filter-stack span:nth-child(3) { width: 80%; background: rgba(18, 19, 17, .1); }

.w22-filter-visual > p {
  display: grid;
  gap: .2rem;
  margin-top: .55rem;
  text-align: center;
}

.w22-filter-visual > p span {
  color: var(--growth-stone);
  font-size: .51rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.w22-filter-visual > p strong {
  font-size: .7rem;
  font-weight: 650;
  line-height: 1.2;
}

.w21-zone-statement {
  margin-top: 1.8rem;
  font-size: clamp(.95rem, 1.2vw, 1.12rem);
  line-height: 1.42;
  letter-spacing: -.015em;
}

.w21-funnel {
  margin-top: 2rem;
  border-top: 1px solid var(--growth-rule);
}

.w21-funnel > .w21-mini-label { display: block; padding-top: .8rem; }

.w21-funnel ol {
  display: grid;
  margin-top: .75rem;
  padding: 0;
  list-style: none;
}

.w21-funnel li {
  display: grid;
  grid-template-columns: 1.45rem minmax(0, 1fr);
  gap: .55rem;
  padding: .8rem 0 .85rem;
  border-top: 1px dotted var(--growth-rule-soft);
}

.w21-funnel li span {
  color: var(--growth-stone);
  font-size: .73rem;
  font-weight: 700;
}

.w21-funnel li strong {
  font-size: clamp(.82rem, 1vw, .96rem);
  font-weight: 520;
  line-height: 1.22;
}

.w21-proxy-note {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--growth-rule-soft);
  color: var(--growth-stone);
  font-size: .75rem;
  line-height: 1.4;
}

.w21-proxy-note span { display: block; margin-bottom: .35rem; }

.w21-zone-layers { padding-inline: clamp(.9rem, 1.35vw, 1.35rem); }
.w21-zone-layers h3 { max-width: 26ch; }

.w22-abc-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin-top: 1.5rem;
  padding: .7rem 0 .75rem;
  border-block: 1px solid var(--growth-rule);
  list-style: none;
}

.w22-abc-flow li {
  position: relative;
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  gap: .45rem;
  align-items: center;
  min-height: 1.45rem;
  min-width: 0;
  padding-right: .8rem;
}

.w22-abc-flow li:not(:last-child)::after {
  position: absolute;
  right: .05rem;
  top: 50%;
  transform: translateY(-50%);
  content: "→";
  color: var(--growth-stone);
  font-size: .9rem;
}

.w22-abc-flow span {
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border: 1px solid var(--growth-rule);
  font-size: .62rem;
  font-weight: 700;
}

.w22-abc-flow strong {
  font-size: .63rem;
  font-weight: 650;
  line-height: 1.12;
  text-transform: uppercase;
}

.w21-layer-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr) minmax(0, 1fr);
  margin-top: 1.7rem;
  border-block: 1px solid var(--growth-rule);
}

.w21-layer {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: .95rem .8rem 0;
  border-left: 1px solid var(--growth-rule-soft);
}

.w21-layer:first-child { padding-left: 0; border-left: 0; }
.w21-layer:last-child { padding-right: 0; }

.w21-layer-heading {
  display: grid;
  grid-template-columns: 1.65rem minmax(0, 1fr);
  gap: .6rem;
  align-items: start;
}

.w21-layer-heading > span {
  display: grid;
  width: 1.55rem;
  height: 1.55rem;
  place-items: center;
  border: 1px solid var(--growth-rule);
  font-size: .78rem;
  font-weight: 700;
}

.w21-layer-heading h4 {
  max-width: 18ch;
  margin-top: .6rem;
  font-size: clamp(.93rem, 1.15vw, 1.1rem);
  font-weight: 520;
  line-height: 1.08;
  letter-spacing: -.025em;
}

.w21-layer-group {
  margin-top: 1.15rem;
  padding-top: .7rem;
  border-top: 1px solid var(--growth-rule-soft);
}

.w21-layer-group > p:last-child {
  margin-top: .45rem;
  font-size: clamp(.75rem, .9vw, .88rem);
  line-height: 1.36;
}

.w21-journey-line { letter-spacing: -.02em; }

.w22-journey-rail {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: .65rem;
  margin-left: .25rem;
  padding: 0 0 0 .5rem;
  border-left: 1px solid var(--growth-ink);
  list-style: none;
}

.w22-journey-rail li {
  position: relative;
  display: grid;
  min-height: 1.65rem;
  align-content: center;
  padding: .2rem .2rem .2rem .35rem;
  font-size: .61rem;
  font-weight: 650;
  line-height: 1.1;
}

.w22-journey-rail li::before {
  position: absolute;
  top: 50%;
  left: -.73rem;
  width: .38rem;
  height: .38rem;
  transform: translateY(-50%);
  border: 1px solid var(--growth-ink);
  border-radius: 50%;
  background: var(--growth-paper);
  content: "";
}

.w22-journey-rail li:not(:last-child)::after {
  position: absolute;
  bottom: -.35rem;
  left: -.78rem;
  content: "↓";
  color: var(--growth-stone);
  font-size: .62rem;
}

.w21-mechanisms {
  margin-top: 1.15rem;
  padding-top: .7rem;
  border-top: 1px solid var(--growth-rule-soft);
}

.w21-mechanisms {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 .5rem;
}

.w21-mechanisms > .w21-mini-label { grid-column: 1 / -1; }

.w21-mechanisms > .w21-mini-label { margin-bottom: .65rem; }

.w21-mechanisms > div {
  padding: .65rem .5rem .7rem;
  border: 1px solid var(--growth-rule-soft);
}

.w22-mechanism-necessity { border-top-color: var(--growth-ink) !important; }
.w22-mechanism-value { background: rgba(18, 19, 17, .035); }

.w21-mechanisms strong,
.w21-mechanisms span {
  display: block;
}

.w21-mechanisms strong {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.2;
}

.w21-mechanisms span {
  margin-top: .35rem;
  color: var(--growth-stone);
  font-size: .72rem;
  line-height: 1.25;
}

.w21-mechanisms p:last-child {
  margin-top: .4rem;
  font-size: .73rem;
  line-height: 1.32;
}

.w21-question {
  margin-top: auto;
  padding: .85rem .7rem .9rem;
  border-top: 1px solid var(--growth-rule);
  color: var(--growth-stone);
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.25;
}

.w22-capture-architecture {
  position: relative;
  display: grid;
  gap: 0;
  margin-top: 1.15rem;
  padding-left: .65rem;
  border-left: 1px solid var(--growth-ink);
}

.w22-capture-input {
  display: grid;
  gap: .3rem;
  padding: .55rem .5rem .65rem;
  background: var(--growth-ink);
  color: var(--growth-paper);
}

.w22-capture-input span {
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.w22-capture-input strong {
  font-size: .68rem;
  font-weight: 550;
  line-height: 1.25;
}

.w22-capture-architecture .w21-layer-group {
  position: relative;
  margin-top: 0;
  padding: .65rem .5rem .7rem;
  border: 1px solid var(--growth-rule-soft);
  border-top: 0;
}

.w22-capture-architecture .w21-layer-group::before {
  position: absolute;
  top: 50%;
  left: -.7rem;
  width: .7rem;
  border-top: 1px solid var(--growth-ink);
  content: "";
}

.w21-feedback-loop {
  position: relative;
  margin-top: 1.8rem;
  padding: 1rem 0 1.15rem;
  border-block: 1px solid var(--growth-rule);
}

.w23-loop-heading {
  display: flex;
  gap: 1rem;
  align-items: baseline;
  justify-content: space-between;
}

.w23-loop-function {
  color: var(--growth-stone);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .16em;
}

.w21-feedback-steps {
  display: flex;
  gap: clamp(.6rem, 1.25vw, 1.25rem);
  align-items: center;
  margin-top: .85rem;
}

.w21-feedback-steps span {
  font-size: clamp(.76rem, 1vw, .98rem);
  font-weight: 600;
  line-height: 1.2;
}

.w21-feedback-steps span:nth-of-type(3) { max-width: 24ch; }

.w21-feedback-steps b {
  flex: 0 0 auto;
  color: var(--growth-stone);
  font-size: 1.1rem;
  font-weight: 400;
}

.w22-loop-return {
  display: grid;
  grid-template-columns: auto minmax(5rem, 1fr) auto;
  gap: .55rem;
  align-items: center;
  margin-left: 16.75%;
  margin-top: .95rem;
  padding-right: clamp(2rem, 12vw, 12rem);
}

.w22-loop-return > span {
  border-top: 1px solid var(--growth-ink);
}

.w22-loop-return > b {
  color: var(--growth-ink);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.w22-loop-return p {
  display: grid;
  gap: .2rem;
  color: var(--growth-stone);
  line-height: 1.2;
}

.w22-loop-return strong,
.w22-loop-return small {
  font-weight: 700;
  letter-spacing: .12em;
}

.w22-loop-return strong {
  color: var(--growth-ink);
  font-size: .5rem;
}

.w22-loop-return small {
  font-size: .55rem;
  font-weight: 700;
}

.w21-summary {
  display: grid;
  grid-template-columns: minmax(8rem, .32fr) minmax(0, 1fr);
  gap: 2rem;
  margin-top: 1.8rem;
  padding: 1.1rem 0 0;
  border-top: 1px solid var(--growth-rule-soft);
}

.w21-summary > p:last-child {
  max-width: 60rem;
  font-size: clamp(1rem, 1.35vw, 1.22rem);
  line-height: 1.45;
  letter-spacing: -.015em;
}

@media (min-width: 901px) and (max-width: 1180px) {
  .w21-topology { grid-template-columns: minmax(8.5rem, .8fr) minmax(10rem, 1fr) minmax(0, 2.95fr); }
  .w21-zone { padding-inline: .85rem; }
  .w21-zone:first-child { padding-left: 0; }
  .w21-zone:last-child { padding-right: 0; }
  .w21-zone-index { font-size: .56rem; }
  .w21-zone h3 { font-size: 1.3rem; }
  .w21-layer { padding-inline: .55rem; }
  .w21-layer:first-child { padding-left: 0; }
  .w21-layer:last-child { padding-right: 0; }
  .w21-layer-group > p:last-child,
  .w21-mechanisms p:last-child { font-size: .7rem; }
  .w21-mechanisms strong { font-size: .62rem; }
  .w21-question { padding-inline: .45rem; font-size: .68rem; }
  .w21-feedback-steps { gap: .55rem; }
  .w21-feedback-steps span { font-size: .7rem; }
  .w22-pte-enterprise { width: 8.75rem; height: 8.75rem; }
  .w22-pte-team { width: 6.15rem; height: 6.15rem; }
  .w22-pte-person { width: 3.45rem; height: 3.45rem; }
  .w22-pte-visual { min-height: 11.8rem; }
  .w22-filter-stack span { font-size: .5rem; }
  .w22-loop-return { padding-right: 0; }
}

@media (min-width: 621px) and (max-width: 1350px) {
  .w21-mechanisms { grid-template-columns: 1fr; gap: .45rem; }
}

@media (max-width: 900px) {
  .w21-framework-header,
  .w21-summary { grid-template-columns: 1fr; gap: 1.5rem; }
  .w21-topology { display: block; }
  .w21-zone,
  .w21-zone:first-child,
  .w21-zone:last-child { padding: 1.25rem 0 1.5rem; border-top: 1px solid var(--growth-rule-soft); border-left: 0; }
  .w21-zone:first-child { border-top: 0; }
  .w21-zone::after { display: none; }
  .w21-layer-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr) minmax(0, 1fr); }
  .w21-feedback-steps { flex-wrap: wrap; }
  .w22-pte-enterprise { width: 10.4rem; height: 10.4rem; }
  .w22-pte-team { width: 7.25rem; height: 7.25rem; }
  .w22-pte-person { width: 4.05rem; height: 4.05rem; }
  .w22-pte-visual { min-height: 13.5rem; max-width: 15rem; }
}

@media (max-width: 620px) {
  .w21-layer-grid { grid-template-columns: 1fr; }
  .w21-layer,
  .w21-layer:first-child,
  .w21-layer:last-child { padding: 1rem 0 0; border-top: 1px solid var(--growth-rule-soft); border-left: 0; }
  .w21-layer:first-child { border-top: 0; }
  .w21-feedback-steps { display: grid; grid-template-columns: auto 1fr; gap: .6rem .8rem; }
  .w21-feedback-steps b { display: none; }
  .w22-abc-flow { grid-template-columns: 1fr; }
  .w22-abc-flow li:not(:last-child)::after { right: auto; bottom: -.55rem; left: .3rem; content: "↓"; }
  .w21-mechanisms { grid-template-columns: 1fr; gap: .5rem; }
  .w22-loop-return { padding-right: 0; }
}

/* W4 — keep the approved 1440 composition intact while giving the dense
   three-zone framework an editorial type floor on narrower desktop widths. */
@media (min-width: 901px) and (max-width: 1320px) {
  .w21-zone-index,
  .w21-mini-label,
  .w22-pte-visual > p span,
  .w21-rule-note span,
  .w21-before-next span,
  .w21-proxy-note span,
  .w21-tension > p:last-child span,
  .w21-paired-terms b,
  .w22-proxy-inputs span,
  .w22-filter-stack span,
  .w22-filter-visual > p span,
  .w22-capture-input span,
  .w23-loop-function,
  .w22-loop-return strong {
    font-size: .66rem;
    line-height: 1.35;
  }

  .w22-filter-visual > p strong,
  .w21-layer-group > p:last-child,
  .w21-mechanisms span,
  .w21-mechanisms p:last-child,
  .w22-capture-input strong {
    font-size: .75rem;
    line-height: 1.42;
  }

  .w22-abc-flow span {
    font-size: .66rem;
  }

  .w22-abc-flow li {
    min-height: 2rem;
  }

  .w22-abc-flow strong {
    font-size: .68rem;
    line-height: 1.2;
  }

  .w22-journey-rail li {
    min-height: 1.9rem;
    font-size: .69rem;
    line-height: 1.25;
  }

  .w21-mechanisms strong {
    font-size: .7rem;
    line-height: 1.3;
  }

  .w21-question {
    padding: 1rem .55rem 1.05rem;
    font-size: .76rem;
    line-height: 1.4;
  }

  .w21-feedback-steps span {
    font-size: max(.75rem, 1vw);
    line-height: 1.3;
  }

  .w22-loop-return small {
    font-size: .69rem;
    line-height: 1.35;
  }

  .w22-proxy-inputs span {
    min-width: 0;
    padding: .45rem .12rem;
    letter-spacing: -.03em;
  }

  .w22-proxy-inputs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .w22-filter-stack span {
    min-height: 2.05rem;
    padding-inline: .2rem;
    letter-spacing: .025em;
  }

  .w21-mechanisms > div {
    padding: .75rem .6rem .8rem;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .w21-topology {
    grid-template-columns: minmax(8.5rem, .8fr) minmax(11rem, 1.25fr) minmax(0, 2.71fr);
  }

  .w22-proxy-inputs {
    gap: .1rem;
  }
}

/* M5.1 — Desktop PTE readability.
   The framework keeps one canonical DOM while unfolding dense synthesis into
   readable desktop rows. The site-level 901px breakpoint remains unchanged. */
@media (min-width: 901px) {
  .w21-topology {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .w21-zone {
    padding: 1.6rem clamp(1.4rem, 2.5vw, 2.5rem) 1.9rem;
  }

  .w21-zone:first-child {
    padding-left: 0;
  }

  .w21-zone:nth-child(2) {
    padding-right: 0;
  }

  .w21-zone:nth-child(2)::after {
    top: auto;
    right: 50%;
    bottom: -.55rem;
    content: "↓";
  }

  .w21-zone-layers {
    grid-column: 1 / -1;
    padding: 2.1rem 0 0;
    border-top: 1px solid var(--growth-rule);
    border-left: 0;
  }

  .w21-zone-index {
    min-height: 0;
  }

  .w21-zone h3 {
    max-width: 26ch;
    font-size: clamp(1.65rem, 2.45vw, 2.35rem);
    line-height: 1.02;
  }

  .w21-layer-grid {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 0;
  }

  .w21-layer,
  .w21-layer:first-child,
  .w21-layer:last-child {
    padding: 1.4rem clamp(1.2rem, 2.2vw, 2.25rem) 1.5rem;
  }

  .w21-layer:first-child {
    padding-left: 0;
  }

  .w21-layer:nth-child(2) {
    padding-right: 0;
  }

  .w21-layer:last-child {
    grid-column: 1 / -1;
    padding: 1.7rem 0 1.5rem;
    border-top: 1px solid var(--growth-rule);
    border-left: 0;
  }

  .w21-layer-heading h4 {
    max-width: 30ch;
    font-size: 1.25rem;
    line-height: 1.12;
  }

  .w22-capture-architecture {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding-left: 0;
    border-left: 0;
  }

  .w22-capture-architecture .w21-layer-group {
    border-top: 1px solid var(--growth-rule-soft);
    border-left: 0;
  }

  .w22-capture-architecture .w21-layer-group::before {
    top: 50%;
    left: -.7rem;
  }

  .w21-zone-index,
  .w21-mini-label,
  .w22-pte-visual > p span,
  .w21-rule-note span,
  .w21-before-next span,
  .w21-proxy-note span,
  .w21-tension > p:last-child span,
  .w21-paired-terms b,
  .w22-proxy-inputs span,
  .w22-filter-stack span,
  .w22-filter-visual > p span,
  .w22-capture-input span,
  .w23-loop-function,
  .w22-loop-return strong {
    font-size: .72rem;
    line-height: 1.4;
  }

  .w22-pte-visual > p strong,
  .w21-rule-note strong,
  .w21-tension > p:last-child,
  .w21-before-next strong,
  .w21-zone-statement,
  .w21-funnel li strong,
  .w21-layer-group > p:last-child,
  .w21-mechanisms p:last-child,
  .w22-capture-input strong,
  .w21-question,
  .w21-feedback-steps span {
    font-size: .94rem;
    line-height: 1.48;
  }

  .w21-proxy-note,
  .w22-filter-visual > p strong,
  .w21-mechanisms span,
  .w22-loop-return small {
    font-size: .86rem;
    line-height: 1.5;
  }

  .w21-paired-terms span,
  .w21-funnel li span,
  .w22-abc-flow strong,
  .w21-mechanisms strong {
    font-size: .8rem;
    line-height: 1.35;
  }

  .w22-abc-flow span {
    font-size: .72rem;
  }

  .w22-journey-rail li {
    min-height: 2.15rem;
    font-size: .8rem;
    line-height: 1.35;
  }

  .w21-mechanisms {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
  }

  .w21-mechanisms > div {
    padding: 1rem;
  }

  .w21-question {
    padding: 1.1rem 1rem 1.2rem;
  }

  .w21-feedback-steps {
    gap: clamp(.8rem, 1.5vw, 1.5rem);
  }

  .w21-summary > p:last-child {
    font-size: max(1rem, 1.35vw);
  }
}
