/* Before Seven: imported editorial body and native checklist island.
 * Loaded only for the allowlisted before-seven scope. All tokens and rules
 * stay within .before-seven-body, apart from the native lead photo caption.
 * The site title, byline and chrome retain their native styling.
 */
.public-shell .before-seven-cover { margin: 0; }
.public-shell .ps-article-page[data-article-slug="boys-girls-and-individual-development"] .ps-article-hero[data-has-cover="true"] .before-seven-cover .ps-article-cover-frame {
  aspect-ratio: 1200 / 799;
}
.public-shell .ps-article-page[data-article-slug="children-from-four-to-five-years"] .ps-article-hero[data-has-cover="true"] .before-seven-cover .ps-article-cover-frame {
  aspect-ratio: 1568 / 1045;
}
/* Article 7: keep the complete pretend-play photo in its native proportions. */
.public-shell .ps-article-page[data-article-slug="children-from-two-to-three-years"] .ps-article-hero[data-has-cover="true"] .before-seven-cover .ps-article-cover-frame {
  aspect-ratio: 1200 / 799;
}
/* Article 10: retain the complete parent-and-child photograph. */
.public-shell .ps-article-page[data-article-slug="children-from-five-to-six-years"] .ps-article-hero[data-has-cover="true"] .before-seven-cover .ps-article-cover-frame {
  aspect-ratio: 980 / 654;
}
.public-shell .before-seven-cover figcaption {
  padding: .65rem 0 0;
  font-family: var(--sans, system-ui, sans-serif);
  font-size: .8rem;
  line-height: 1.6;
  color: var(--ink-3, #6b6259);
}
.public-shell article.prose.before-seven .before-seven-body{
  --bs-ink:#0b0b0c;
  --bs-ink-2:#121215;
  --bs-ink-3:#18181d;
  --bs-line:#2a2a32;
  --bs-line-soft:#212129;
  --bs-paper:#e9e6e1;
  --bs-paper-dim:#a7a39b;
  --bs-tide:#6fb2cc;
  --bs-tide-deep:#66a9c2;
  --bs-cedar:#93b07e;
  --bs-cedar-deep:#5d7a4c;
  --bs-amber:#d8a657;
  --bs-ember:#d8776c;
  --bs-serif:Georgia, "Times New Roman", serif;
  --bs-sans:system-ui, -apple-system, "Segoe UI", sans-serif;
}
.public-shell article.prose.before-seven .before-seven-body *{box-sizing:border-box}
.public-shell article.prose.before-seven .before-seven-body{
  margin:0;background:var(--bs-ink);color:var(--bs-paper);
  font-family:var(--bs-sans);font-size:18px;line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
.public-shell article.prose.before-seven .before-seven-body::selection{background:var(--bs-tide-deep);color:#fff}
.public-shell article.prose.before-seven .before-seven-body a{color:var(--bs-tide);text-decoration-thickness:1px;text-underline-offset:3px}
.public-shell article.prose.before-seven .before-seven-body a:hover{color:#9ad0e4}
.public-shell article.prose.before-seven .before-seven-body :focus-visible{outline:2px solid var(--bs-tide);outline-offset:3px;border-radius:2px}
.public-shell article.prose.before-seven .before-seven-body img{max-width:100%;height:auto;display:block}
.public-shell article.prose.before-seven .before-seven-body .verify{
  margin:2rem auto 0;border:1px solid var(--bs-cedar-deep);
  border-left:3px solid var(--bs-cedar);
  background:linear-gradient(180deg,rgba(147,176,126,.07),rgba(147,176,126,.02));
  border-radius:4px;padding:1.1rem 1.25rem;
}
.public-shell article.prose.before-seven .before-seven-body .verify h2{
  font-family:var(--bs-sans);font-size:.78rem;font-weight:700;letter-spacing:.1em;
  color:var(--bs-cedar);margin:0 0 .55rem;
}
.public-shell article.prose.before-seven .before-seven-body .verify p{margin:0 0 .5rem;font-size:.9rem;line-height:1.65;color:var(--bs-paper-dim)}
.public-shell article.prose.before-seven .before-seven-body .verify p:last-child{margin-bottom:0}
.public-shell article.prose.before-seven .before-seven-body .verify b{color:var(--bs-paper);font-weight:600}
.public-shell article.prose.before-seven .before-seven-body figure{margin:2.4rem 0}
.public-shell article.prose.before-seven .before-seven-body figure img{border-radius:3px;width:100%}
.public-shell article.prose.before-seven .before-seven-body figcaption{
  font-size:.8rem;line-height:1.6;color:var(--bs-paper-dim);
  margin-top:.65rem;padding-left:.75rem;border-left:2px solid var(--bs-line);
}
.public-shell article.prose.before-seven .before-seven-body figcaption b{color:var(--bs-paper);font-weight:600}
.public-shell article.prose.before-seven .before-seven-body section{margin:3.4rem 0}
.public-shell article.prose.before-seven .before-seven-body h2{
  font-family:var(--bs-serif);font-weight:600;
  font-size:clamp(1.5rem,3.6vw,1.95rem);line-height:1.2;letter-spacing:-.015em;
  margin:0 0 1.1rem;display:flex;gap:.85rem;align-items:baseline;
}
.public-shell article.prose.before-seven .before-seven-body .h-index{
  font-family:var(--bs-sans);font-size:.75rem;font-weight:700;
  color:var(--bs-tide-deep);letter-spacing:.06em;flex:none;
  transform:translateY(-.15em);
}
.public-shell article.prose.before-seven .before-seven-body h3{
  font-family:var(--bs-serif);font-weight:600;font-size:1.18rem;
  line-height:1.3;margin:2.3rem 0 .8rem;color:var(--bs-paper);
}
.public-shell article.prose.before-seven .before-seven-body p{margin:0 0 1.15rem}
.public-shell article.prose.before-seven .before-seven-body p strong,.public-shell article.prose.before-seven .before-seven-body li strong{color:#fff;font-weight:600}
.public-shell article.prose.before-seven .before-seven-body em{font-style:italic}
.public-shell article.prose.before-seven .before-seven-body .keys{
  border:1px solid var(--bs-line);border-radius:4px;background:var(--bs-ink-2);
  padding:1.4rem 1.35rem;margin:2rem 0;
}
.public-shell article.prose.before-seven .before-seven-body .keys h2{
  font-family:var(--bs-sans);font-size:.78rem;font-weight:700;letter-spacing:.1em;
  color:var(--bs-paper-dim);margin:0 0 1.1rem;display:block;
}
.public-shell article.prose.before-seven .before-seven-body .keys ul{list-style:none;margin:0;padding:0}
.public-shell article.prose.before-seven .before-seven-body .keys li{
  padding:0 0 .95rem 1.5rem;position:relative;font-size:.96rem;line-height:1.65;
  color:var(--bs-paper-dim);
}
.public-shell article.prose.before-seven .before-seven-body .keys li:last-child{padding-bottom:0}
.public-shell article.prose.before-seven .before-seven-body .keys li::before{
  content:'';position:absolute;left:0;top:.62em;
  width:7px;height:7px;border-radius:50%;background:var(--bs-tide-deep);
}
.public-shell article.prose.before-seven .before-seven-body .keys li b{display:block;color:var(--bs-paper);font-weight:600;margin-bottom:.15rem}
.public-shell article.prose.before-seven .before-seven-body .pull{
  font-family:var(--bs-serif);font-size:clamp(1.18rem,3vw,1.45rem);
  font-weight:400;line-height:1.42;color:var(--bs-paper);
  border-left:2px solid var(--bs-tide-deep);
  padding:.3rem 0 .3rem 1.25rem;margin:2.2rem 0;
}
.public-shell article.prose.before-seven .before-seven-body .note{
  border:1px solid var(--bs-line);border-radius:4px;background:var(--bs-ink-2);
  padding:1.05rem 1.2rem;margin:1.9rem 0;font-size:.93rem;line-height:1.65;
  color:var(--bs-paper-dim);
}
.public-shell article.prose.before-seven .before-seven-body .note b{color:var(--bs-paper)}
.public-shell article.prose.before-seven .before-seven-body .note p{margin:0 0 .6rem}
.public-shell article.prose.before-seven .before-seven-body .note p:last-child{margin-bottom:0}
.public-shell article.prose.before-seven .before-seven-body .trio{display:grid;gap:.85rem;margin:1.6rem 0}
.public-shell article.prose.before-seven .before-seven-body .try{
  border:1px solid var(--bs-line);border-left:2px solid var(--bs-cedar-deep);
  border-radius:4px;background:var(--bs-ink-2);padding:1rem 1.15rem;
}
.public-shell article.prose.before-seven .before-seven-body .try-label{
  font-size:.75rem;font-weight:700;letter-spacing:.09em;color:var(--bs-cedar);
  margin:0 0 .4rem;
}
.public-shell article.prose.before-seven .before-seven-body .try p{margin:0;font-size:.93rem;line-height:1.65;color:var(--bs-paper-dim)}
.public-shell article.prose.before-seven .before-seven-body .tablewrap{overflow-x:auto;margin:1.8rem 0;-webkit-overflow-scrolling:touch}
.public-shell article.prose.before-seven .before-seven-body table{border-collapse:collapse;width:100%;min-width:30rem;font-size:.92rem}
.public-shell article.prose.before-seven .before-seven-body caption{
  caption-side:bottom;text-align:left;font-size:.8rem;line-height:1.6;
  color:var(--bs-paper-dim);padding-top:.7rem;
}
.public-shell article.prose.before-seven .before-seven-body th,.public-shell article.prose.before-seven .before-seven-body td{
  text-align:left;vertical-align:top;padding:.8rem .9rem;
  border-bottom:1px solid var(--bs-line-soft);
}
.public-shell article.prose.before-seven .before-seven-body thead th{
  font-size:.75rem;font-weight:700;letter-spacing:.07em;color:var(--bs-paper-dim);
  border-bottom:1px solid var(--bs-line);padding-bottom:.6rem;
}
.public-shell article.prose.before-seven .before-seven-body tbody th{font-weight:600;color:var(--bs-paper);white-space:nowrap}
.public-shell article.prose.before-seven .before-seven-body td{color:var(--bs-paper-dim)}
.public-shell article.prose.before-seven .before-seven-body .ladder{display:grid;gap:.75rem;margin:1.8rem 0}
.public-shell article.prose.before-seven .before-seven-body .rung{
  border:1px solid var(--bs-line);border-radius:4px;background:var(--bs-ink-2);
  padding:1rem 1.15rem 1.05rem;border-left:3px solid var(--bs-tier);
}
.public-shell article.prose.before-seven .before-seven-body .rung.t1{--bs-tier:var(--bs-cedar)}
.public-shell article.prose.before-seven .before-seven-body .rung.t2{--bs-tier:var(--bs-tide)}
.public-shell article.prose.before-seven .before-seven-body .rung.t3{--bs-tier:var(--bs-amber)}
.public-shell article.prose.before-seven .before-seven-body .rung.t4{--bs-tier:var(--bs-ember);background:rgba(216,119,108,.06)}
.public-shell article.prose.before-seven .before-seven-body .rung-head{
  display:flex;gap:.6rem;align-items:baseline;margin:0 0 .5rem;
  font-size:.86rem;font-weight:700;letter-spacing:.04em;color:var(--bs-tier);
}
.public-shell article.prose.before-seven .before-seven-body .rung-n{
  font-size:.75rem;font-weight:700;color:var(--bs-paper-dim);
  border:1px solid var(--bs-line);border-radius:2px;padding:.05rem .32rem;flex:none;
}
.public-shell article.prose.before-seven .before-seven-body .rung p{margin:0;font-size:.93rem;line-height:1.66;color:var(--bs-paper-dim)}
.public-shell article.prose.before-seven .before-seven-body .rung.t4 p{color:var(--bs-paper)}
.public-shell article.prose.before-seven .before-seven-body .flag{
  border:1px solid rgba(216,119,108,.45);border-left:3px solid var(--bs-ember);
  background:linear-gradient(180deg,rgba(216,119,108,.09),rgba(216,119,108,.03));
  border-radius:4px;padding:1.2rem 1.3rem;margin:2.2rem 0;
}
.public-shell article.prose.before-seven .before-seven-body .flag h3{
  font-family:var(--bs-sans);font-size:.78rem;font-weight:700;letter-spacing:.1em;
  color:var(--bs-ember);margin:0 0 .7rem;
}
.public-shell article.prose.before-seven .before-seven-body .flag p{margin:0 0 .7rem;font-size:.93rem;line-height:1.7}
.public-shell article.prose.before-seven .before-seven-body .flag p:last-child{margin-bottom:0}
.public-shell article.prose.before-seven .before-seven-body .flag b{color:#fff}
.public-shell article.prose.before-seven .before-seven-body .checklist{
  border:1px solid var(--bs-line);border-radius:5px;background:var(--bs-ink-2);
  padding:1.5rem 1.4rem;margin:2.6rem 0;
}
.public-shell article.prose.before-seven .before-seven-body .checklist h2{
  font-family:var(--bs-serif);font-size:1.32rem;margin:0 0 .35rem;display:block;
}
.public-shell article.prose.before-seven .before-seven-body .checklist > p{font-size:.9rem;color:var(--bs-paper-dim);margin:0 0 1.2rem}
.public-shell article.prose.before-seven .before-seven-body .sourcenote{
  border:1px solid var(--bs-line);border-radius:4px;background:var(--bs-ink-3);
  padding:1.3rem 1.3rem;margin:2.6rem 0;
}
.public-shell article.prose.before-seven .before-seven-body .sourcenote h2{
  font-family:var(--bs-sans);font-size:.78rem;font-weight:700;letter-spacing:.1em;
  color:var(--bs-paper-dim);margin:0 0 .8rem;display:block;
}
.public-shell article.prose.before-seven .before-seven-body .sourcenote p{font-size:.88rem;line-height:1.7;color:var(--bs-paper-dim);margin:0 0 .7rem}
.public-shell article.prose.before-seven .before-seven-body .sourcenote p:last-child{margin-bottom:0}
.public-shell article.prose.before-seven .before-seven-body .sourcenote b{color:var(--bs-paper)}
.public-shell article.prose.before-seven .before-seven-body sup.cite{font-size:.875rem;line-height:0;vertical-align:super;white-space:nowrap}
.public-shell article.prose.before-seven .before-seven-body sup.cite a{
  color:var(--bs-tide);text-decoration:none;padding:0 .04em;font-weight:600;
}
.public-shell article.prose.before-seven .before-seven-body sup.cite a:hover{text-decoration:underline}
.public-shell article.prose.before-seven .before-seven-body .refs{margin:3.4rem 0 0}
.public-shell article.prose.before-seven .before-seven-body .refs h2{font-family:var(--bs-serif);font-size:1.5rem;display:block;margin-bottom:.6rem}
.public-shell article.prose.before-seven .before-seven-body .refs > p{font-size:.86rem;color:var(--bs-paper-dim);margin-bottom:1.5rem}
.public-shell article.prose.before-seven .before-seven-body .refs ol{margin:0;padding:0;list-style:none;counter-reset:r}
.public-shell article.prose.before-seven .before-seven-body .refs li{
  counter-increment:r;position:relative;padding:.75rem 0 .75rem 2.5rem;
  border-top:1px solid var(--bs-line-soft);font-size:.85rem;line-height:1.6;
  color:var(--bs-paper-dim);
}
.public-shell article.prose.before-seven .before-seven-body .refs li::before{
  content:'[' counter(r) ']';position:absolute;left:0;top:.75rem;
  font-size:.76rem;font-weight:700;color:var(--bs-tide-deep);
}
.public-shell article.prose.before-seven .before-seven-body .refs li:target{background:rgba(111,178,204,.08);border-radius:3px}
.public-shell article.prose.before-seven .before-seven-body .next{
  border:1px solid var(--bs-line);border-radius:5px;background:var(--bs-ink-2);
  padding:1.3rem 1.35rem;margin:3rem 0 0;
  display:block;text-decoration:none;color:inherit;
}
.public-shell article.prose.before-seven .before-seven-body .next:hover{border-color:var(--bs-tide-deep)}
.public-shell article.prose.before-seven .before-seven-body .next .lbl{font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--bs-tide);margin:0 0 .45rem}
.public-shell article.prose.before-seven .before-seven-body .next h3{font-family:var(--bs-serif);font-size:1.2rem;margin:0 0 .4rem;color:var(--bs-paper)}
.public-shell article.prose.before-seven .before-seven-body .next p{margin:0;font-size:.9rem;color:var(--bs-paper-dim);line-height:1.6}

/* Reader integration: every override remains inside the imported article body. */
.public-shell article.prose.before-seven .before-seven-body {
  width: 100%; max-width: 100%; min-width: 0;
  padding: clamp(1rem, 3vw, 2.25rem);
  border-radius: 8px; overflow-wrap: break-word;
  color-scheme: dark;
  container-type: inline-size; container-name: before-seven;
}
.public-shell article.prose.before-seven .before-seven-body > :first-child { margin-top: 0; }
.public-shell article.prose.before-seven .before-seven-body > :last-child { margin-bottom: 0; }
.public-shell article.prose.before-seven .before-seven-body p {
  font-family: var(--bs-sans); font-size: inherit; line-height: inherit;
  color: var(--bs-paper); text-align: left; hyphens: manual;
}
.public-shell article.prose.before-seven .before-seven-body :is(h2, h3) { color: var(--bs-paper); }
.public-shell article.prose.before-seven .before-seven-body h2::before { content: none; }
.public-shell article.prose.before-seven .before-seven-body :is(h2, h3, [id]) { scroll-margin-top: 7rem; }
.public-shell article.prose.before-seven .before-seven-body :is(h2, h3) em { color: inherit; }
.public-shell article.prose.before-seven .before-seven-body :is(p, li, blockquote)::first-letter {
  float: none; font-size: inherit; line-height: inherit; padding: 0;
  margin: 0; color: inherit; font-weight: inherit;
}
.public-shell article.prose.before-seven .before-seven-body :is(b, strong) { color: var(--bs-paper); font-weight: 600; }
.public-shell article.prose.before-seven .before-seven-body :is(ul, ol) {
  font-family: var(--bs-sans); font-size: inherit; line-height: inherit;
  color: var(--bs-paper); margin: 0 0 1.15rem; padding-left: 1.5rem;
}
.public-shell article.prose.before-seven .before-seven-body li { margin: 0 0 .6rem; padding-left: 0; }
.public-shell article.prose.before-seven .before-seven-body a { text-decoration-color: currentColor; }
.public-shell article.prose.before-seven .before-seven-body img { margin: 0; box-shadow: none; }
.public-shell article.prose.before-seven .before-seven-body .verify p { font-size: .9rem; line-height: 1.65; color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body .verify h2 { color: var(--bs-cedar); }
.public-shell article.prose.before-seven .before-seven-body .keys ul { list-style: none; margin: 0; padding: 0; }
.public-shell article.prose.before-seven .before-seven-body .keys li { margin: 0; padding: 0 0 .95rem 1.5rem; }
.public-shell article.prose.before-seven .before-seven-body .keys li:last-child { padding-bottom: 0; }
.public-shell article.prose.before-seven .before-seven-body .keys h2 { color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body p.pull {
  font-family: var(--bs-serif); font-size: clamp(1.18rem, 3vw, 1.45rem);
  line-height: 1.42;
}
.public-shell article.prose.before-seven .before-seven-body .note p { font-size: .93rem; line-height: 1.65; color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body .try p { font-size: .93rem; line-height: 1.65; color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body .try p.try-label {
  font-size: .75rem; font-weight: 700; letter-spacing: .09em;
  color: var(--bs-cedar); margin-bottom: .4rem;
}
.public-shell article.prose.before-seven .before-seven-body .tablewrap {
  display: block; width: 100%; max-width: 100%; min-width: 0;
  overscroll-behavior-x: contain; scrollbar-color: var(--bs-tide) var(--bs-ink-2);
  border: 1px solid var(--bs-line); border-radius: 4px;
}
.public-shell article.prose.before-seven .before-seven-body table { margin: 0; border: 0; table-layout: auto; line-height: 1.6; }
.public-shell article.prose.before-seven .before-seven-body :is(th, td) { background: transparent; }
.public-shell article.prose.before-seven .before-seven-body table caption { padding: .8rem .9rem; }
.public-shell article.prose.before-seven .before-seven-body .rung p { font-size: .93rem; line-height: 1.66; color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body .rung p.rung-head {
  font-size: .86rem; font-weight: 700; line-height: 1.5;
  color: var(--bs-tier); margin: 0 0 .5rem;
}
.public-shell article.prose.before-seven .before-seven-body .rung.t4 p { color: var(--bs-paper); }
.public-shell article.prose.before-seven .before-seven-body .rung.t4 p.rung-head { color: var(--bs-tier); }
.public-shell article.prose.before-seven .before-seven-body .flag h3 { color: var(--bs-ember); }
.public-shell article.prose.before-seven .before-seven-body .flag p { font-size: .93rem; line-height: 1.7; }
.public-shell article.prose.before-seven .before-seven-body .sourcenote h2 { color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body .sourcenote p { font-size: .88rem; line-height: 1.7; color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body .refs > p { font-size: .86rem; color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body .refs ol { margin: 0; padding: 0; list-style: none; }
.public-shell article.prose.before-seven .before-seven-body .refs li { margin: 0; padding: .75rem 0 .75rem 2.5rem; }
.public-shell article.prose.before-seven .before-seven-body .refs a { overflow-wrap: anywhere; word-break: normal; }
.public-shell article.prose.before-seven .before-seven-body .next { font-style: normal; }
.public-shell article.prose.before-seven .before-seven-body .next h3 { color: var(--bs-paper); }
.public-shell article.prose.before-seven .before-seven-body .next p { font-size: .9rem; line-height: 1.6; color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body .next p.lbl { font-size: .75rem; color: var(--bs-tide); }
.public-shell article.prose.before-seven .before-seven-body .next p + p { margin-top: .8rem; }

/* Article 2: keep recorded observations distinct from an interpretation. */
.public-shell article.prose.before-seven .before-seven-body .obs {
  border: 1px solid var(--bs-line); border-radius: 4px;
  background: var(--bs-ink-2); padding: 1.25rem 1.3rem; margin: 1.9rem 0;
}
.public-shell article.prose.before-seven .before-seven-body .obs p.obs-tag {
  font-family: var(--bs-sans); font-size: .75rem; font-weight: 700;
  letter-spacing: .09em; color: var(--bs-tide); margin: 0 0 1rem;
}
.public-shell article.prose.before-seven .before-seven-body .obs dl { margin: 0; }
.public-shell article.prose.before-seven .before-seven-body .obs dt {
  font-family: var(--bs-sans); font-size: .75rem; font-weight: 700;
  line-height: 1.6; letter-spacing: .07em; color: var(--bs-paper-dim);
  margin: 0 0 .3rem;
}
.public-shell article.prose.before-seven .before-seven-body .obs dd {
  margin: 0 0 1.15rem; padding-left: .85rem;
  border-left: 2px solid var(--bs-cedar-deep);
  font-family: var(--bs-serif); font-size: 1rem; line-height: 1.6;
  color: var(--bs-paper);
}
.public-shell article.prose.before-seven .before-seven-body .obs dl > dd:last-child { margin-bottom: 0; }
.public-shell article.prose.before-seven .before-seven-body .obs .obs-interpretation dt { color: var(--bs-amber); }
.public-shell article.prose.before-seven .before-seven-body .obs .obs-interpretation dd {
  border-left-color: var(--bs-amber); color: var(--bs-paper-dim); font-style: italic;
}

/* Article 3: a numbered exchange, labelled study designs and a light diagram. */
.public-shell article.prose.before-seven .before-seven-body ol.steps {
  list-style: none; counter-reset: bs-step; margin: 1.7rem 0; padding: 0;
}
.public-shell article.prose.before-seven .before-seven-body .steps > li {
  counter-increment: bs-step; position: relative;
  margin: 0; padding: .1rem 0 1.15rem 2.6rem;
  font-size: .96rem; line-height: 1.68; color: var(--bs-paper-dim);
}
.public-shell article.prose.before-seven .before-seven-body .steps > li:last-child { padding-bottom: 0; }
.public-shell article.prose.before-seven .before-seven-body .steps > li::before {
  content: counter(bs-step); position: absolute; left: 0; top: 0;
  width: 1.65rem; height: 1.65rem; border-radius: 50%;
  border: 1px solid var(--bs-tide-deep); color: var(--bs-tide);
  font-family: var(--bs-sans); font-size: .75rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.public-shell article.prose.before-seven .before-seven-body .steps > li::after {
  content: ''; position: absolute; left: .82rem; top: 1.85rem; bottom: .35rem;
  width: 1px; background: var(--bs-line);
}
.public-shell article.prose.before-seven .before-seven-body .steps > li:last-child::after { display: none; }
.public-shell article.prose.before-seven .before-seven-body p.design {
  display: inline-block; max-width: 100%; white-space: normal;
  font-family: var(--bs-sans); font-size: .75rem; font-weight: 700;
  line-height: 1.6; letter-spacing: .08em;
  border: 1px solid var(--bs-line); border-radius: 2px;
  padding: .2rem .5rem; margin: 0 0 1.1rem;
}
.public-shell article.prose.before-seven .before-seven-body p.design-obs {
  color: var(--bs-amber); border-color: rgba(216, 166, 87, .45);
}
.public-shell article.prose.before-seven .before-seven-body p.design-rct {
  color: var(--bs-cedar); border-color: var(--bs-cedar-deep);
}
.public-shell article.prose.before-seven .before-seven-body figure.diagram img {
  background: #f4f2ee; padding: 1.35rem 1.1rem; border-radius: 3px;
}

/* Article 4: highlighted safety notes and unnumbered care guidance. */
.public-shell article.prose.before-seven .before-seven-body .note.cedar {
  border-left: 3px solid var(--bs-cedar);
  background: linear-gradient(180deg, rgba(147, 176, 126, .07), rgba(147, 176, 126, .02));
}
.public-shell article.prose.before-seven .before-seven-body .note.cedar b { color: #fff; }
.public-shell article.prose.before-seven .before-seven-body .rung.nonum p.rung-head {
  font-size: .8rem; letter-spacing: .09em;
}
.public-shell article.prose.before-seven .before-seven-body .rung.nonum + .rung { margin-top: 0; }
.public-shell article.prose.before-seven .before-seven-body .rung.nonum p + p { margin-top: .65rem; }

/* Article 5: WHO motor-skill windows on the source's shared 0–18 month scale. */
.public-shell article.prose.before-seven .before-seven-body .note.tide {
  border-left: 3px solid var(--bs-tide-deep);
  background: linear-gradient(180deg, rgba(111, 178, 204, .06), rgba(111, 178, 204, .02));
}
.public-shell article.prose.before-seven .before-seven-body .note.tide b { color: #fff; }
.public-shell article.prose.before-seven .before-seven-body figure.ranges {
  width: 100%; min-width: 0; border: 1px solid var(--bs-line);
  border-radius: 4px; background: var(--bs-ink-2);
  padding: 1.3rem 1.25rem 1.1rem; margin: 2rem 0;
}
.public-shell article.prose.before-seven .before-seven-body .range-row { margin: 0 0 1.1rem; }
.public-shell article.prose.before-seven .before-seven-body .ranges p.range-label {
  margin: 0 0 .4rem; font-size: .82rem; font-weight: 600;
  line-height: 1.6; color: var(--bs-paper);
}
.public-shell article.prose.before-seven .before-seven-body .range-track {
  position: relative; height: 9px; border-radius: 5px;
  background: repeating-linear-gradient(90deg, var(--bs-line-soft) 0 1px, transparent 1px 8.333333%);
  box-shadow: inset 0 0 0 1px var(--bs-line-soft);
}
.public-shell article.prose.before-seven .before-seven-body .range-bar {
  position: absolute; top: 0; height: 9px; border-radius: 5px;
  background: linear-gradient(90deg, var(--bs-tide-deep), var(--bs-tide));
}
.public-shell article.prose.before-seven .before-seven-body .range-bar.range-sitting { left: 21.1%; width: 30.0%; }
.public-shell article.prose.before-seven .before-seven-body .range-bar.range-crawling { left: 28.9%; width: 46.1%; }
.public-shell article.prose.before-seven .before-seven-body .range-bar.range-walking { left: 45.6%; width: 52.2%; }
.public-shell article.prose.before-seven .before-seven-body .ranges p.range-val {
  margin: .4rem 0 0; font-size: .78rem; line-height: 1.6; color: var(--bs-paper-dim);
}
.public-shell article.prose.before-seven .before-seven-body .range-axis {
  display: block; position: relative; min-height: 1.7rem; border-top: 1px solid var(--bs-line);
  margin-top: 1.3rem; font-size: .75rem; font-weight: 600;
  line-height: 1.6; color: var(--bs-paper-dim);
}
.public-shell article.prose.before-seven .before-seven-body .range-axis > span { position: absolute; top: .45rem; white-space: nowrap; }
.public-shell article.prose.before-seven .before-seven-body .range-axis > span:nth-child(1) { left: 0; }
.public-shell article.prose.before-seven .before-seven-body .range-axis > span:nth-child(2) { left: 33.333333%; transform: translateX(-50%); }
.public-shell article.prose.before-seven .before-seven-body .range-axis > span:nth-child(3) { left: 66.666667%; transform: translateX(-50%); }
.public-shell article.prose.before-seven .before-seven-body .range-axis > span:nth-child(4) { right: 0; }
.public-shell article.prose.before-seven .before-seven-body figure.ranges figcaption {
  margin-top: .9rem; padding-left: 0; border-left: 0;
}

/* Article 6: examples of words to use while holding a clear boundary. */
.public-shell article.prose.before-seven .before-seven-body .scripts {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: .85rem; margin: 1.9rem 0;
}
.public-shell article.prose.before-seven .before-seven-body .script {
  min-width: 0; border: 1px solid var(--bs-line); border-radius: 4px;
  background: var(--bs-ink-2); padding: 1.1rem 1.2rem;
}
.public-shell article.prose.before-seven .before-seven-body .script p.script-label {
  font-family: var(--bs-sans); font-size: .75rem; font-weight: 700;
  line-height: 1.6; letter-spacing: .09em; color: var(--bs-paper-dim);
  margin: 0 0 .7rem;
}
.public-shell article.prose.before-seven .before-seven-body .script p.script-line {
  position: relative; font-family: var(--bs-serif); font-size: 1.12rem;
  line-height: 1.45; color: var(--bs-paper);
  margin: 0 0 .75rem; padding-left: 1.15rem;
}
.public-shell article.prose.before-seven .before-seven-body .script-line::before {
  content: '\201C'; position: absolute; left: 0; top: .05em;
  font-size: 1.6rem; line-height: 1; color: var(--bs-tide-deep);
}
.public-shell article.prose.before-seven .before-seven-body .script p.script-note {
  margin: 0; font-size: .9rem; line-height: 1.65; color: var(--bs-paper-dim);
}

/* Article 10: the two-column school plan fits narrow reading widths. */
.public-shell article.prose.before-seven .before-seven-body .tablewrap.readiness-plan table {
  min-width: 0; table-layout: fixed;
}
.public-shell article.prose.before-seven .before-seven-body .tablewrap.readiness-plan :is(th, td) {
  white-space: normal; overflow-wrap: break-word;
}
.public-shell article.prose.before-seven .before-seven-body .tablewrap.readiness-plan tr > :first-child {
  width: 38%;
}

/* The supported checklist island retains progress and device-local ticks. */
.public-shell article.prose.before-seven .before-seven-body .checklist > p { font-size: .9rem; color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body .spine-island { margin: 1.25rem 0 0; }
.public-shell article.prose.before-seven .before-seven-body .spine-island-card { background: transparent; border: 0; border-radius: 0; padding: 0; }
.public-shell article.prose.before-seven .before-seven-body .spine-island-head { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.public-shell article.prose.before-seven .before-seven-body .spine-island-title { font-family: var(--bs-sans); font-size: .9rem; color: var(--bs-paper); }
.public-shell article.prose.before-seven .before-seven-body .spine-island-count { font-family: var(--bs-sans); color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body .spine-island-progress { height: 4px; background: var(--bs-line); }
.public-shell article.prose.before-seven .before-seven-body .spine-island-progress-fill { background: var(--bs-cedar); }
.public-shell article.prose.before-seven .before-seven-body :is(.spine-island-checks, .spine-checklist) { margin: 0; padding: 0; list-style: none; }
.public-shell article.prose.before-seven .before-seven-body .spine-island-checks { gap: 0; }
.public-shell article.prose.before-seven .before-seven-body :is(.spine-island-checks, .spine-checklist) li {
  margin: 0; padding: 0; border-top: 1px solid var(--bs-line-soft);
}
.public-shell article.prose.before-seven .before-seven-body .spine-checklist li { padding: .8rem 0 .8rem 1.5rem; font-size: .94rem; color: var(--bs-paper-dim); }
.public-shell article.prose.before-seven .before-seven-body .spine-checklist li::before { color: var(--bs-cedar); }
.public-shell article.prose.before-seven .before-seven-body .spine-island-checks li::before { content: none; }
.public-shell article.prose.before-seven .before-seven-body .spine-island-checks label {
  display: flex; gap: .8rem; align-items: flex-start; min-height: 44px;
  padding: .8rem .2rem; border: 0; border-radius: 3px;
  background: transparent; font-family: var(--bs-sans); font-size: .94rem;
  line-height: 1.6; color: var(--bs-paper-dim); cursor: pointer;
}
.public-shell article.prose.before-seven .before-seven-body .spine-island-checks label.is-done {
  background: rgba(147, 176, 126, .06); color: var(--bs-paper-dim);
  text-decoration-color: var(--bs-cedar);
}
.public-shell article.prose.before-seven .before-seven-body .spine-island-checks input[type="checkbox"] {
  appearance: auto; flex: none; width: 1.15rem; height: 1.15rem;
  margin: .2rem 0 0; accent-color: var(--bs-cedar); cursor: pointer;
}
.public-shell article.prose.before-seven .before-seven-body .spine-island-checks label:focus-within { outline: 2px solid var(--bs-tide); outline-offset: 3px; }

@container before-seven (min-width: 40rem) {
  .public-shell article.prose.before-seven .before-seven-body .trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .public-shell article.prose.before-seven .before-seven-body .scripts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .public-shell article.prose.before-seven .before-seven-body { padding: 1rem .8rem; font-size: 1rem; line-height: 1.75; }
  .public-shell article.prose.before-seven .before-seven-body section { margin: 2.5rem 0; }
  .public-shell article.prose.before-seven .before-seven-body h2 { gap: .55rem; font-size: 1.5rem; }
  .public-shell article.prose.before-seven .before-seven-body :is(.verify, .keys, .note, .try, .rung, .flag, .checklist, .sourcenote, .next, .obs) { padding: 1rem .85rem; }
  .public-shell article.prose.before-seven .before-seven-body .refs li { padding-left: 2rem; }
  .public-shell article.prose.before-seven .before-seven-body .steps > li { padding-left: 2.2rem; }
  .public-shell article.prose.before-seven .before-seven-body figure.diagram img { padding: .8rem .6rem; }
  .public-shell article.prose.before-seven .before-seven-body figure.ranges { padding: 1rem .85rem; }
  .public-shell article.prose.before-seven .before-seven-body .script { padding: 1rem .85rem; }
}
@media (prefers-reduced-motion: reduce) {
  .public-shell article.prose.before-seven .before-seven-body * { transition: none !important; animation: none !important; }
}

/* Article 12: preserve the supplied overlap illustration. */
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig{
  border:1px solid var(--bs-line);border-radius:4px;background:var(--bs-ink-2);
  padding:1.2rem 1.1rem 1.1rem;margin:2rem 0;
}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig svg{width:100%;height:auto;display:block}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig .ov{fill:rgba(111,178,204,.22)}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig .c1{fill:none;stroke:var(--bs-cedar);stroke-width:1.6}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig .c2{fill:none;stroke:var(--bs-tide);stroke-width:1.6}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig .axis{stroke:var(--bs-line);stroke-width:1}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig .mean{stroke-width:1;stroke-dasharray:3 3}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig .m1{stroke:var(--bs-cedar)}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig .m2{stroke:var(--bs-tide)}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig .lbl{font-family:var(--bs-sans);font-size:12px;font-weight:600;letter-spacing:.03em}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig .l1{fill:var(--bs-cedar)}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig .l2{fill:var(--bs-tide)}
.public-shell article.prose.before-seven .before-seven-body figure.overlapfig figcaption{margin-top:.9rem;padding-left:0;border-left:0}
@media (max-width: 620px) {
  .public-shell article.prose.before-seven .before-seven-body figure.overlapfig .lbl {
    font-size: 22px;
    transform: translateY(8px);
  }
}

.public-shell .ps-article-page[data-article-slug="senses-before-seven"] .ps-article-hero[data-has-cover="true"] .before-seven-cover .ps-article-cover-frame {
  aspect-ratio: 1199 / 674;
}
