/* Shared section introductions across commercial, case and editorial pages. */
:root body :is(.redesign .section-heading,.evolution-site .method-intro,.case-site .cs-library-heading,.journal-section-heading) {
  gap:24px var(--space-grid);
  margin-bottom:var(--space-content);
}
:root body :is(.redesign .section-heading,.evolution-site .method-intro,.case-site .cs-library-heading,.journal-section-heading) h2 {
  max-width:none;
  font:400 var(--type-section)/1.12 var(--font-display);
  letter-spacing:-.02em;
  text-wrap:pretty;
}
:root body :is(.redesign .section-heading,.evolution-site .method-intro,.case-site .cs-library-heading,.journal-section-heading) :is(.eyebrow,.cs-eyebrow) {
  font-size:var(--type-label);
  line-height:1.6;
  letter-spacing:.16em;
  margin-bottom:24px;
}
:root body :is(.redesign .section-heading,.evolution-site .method-intro,.case-site .cs-library-heading,.journal-section-heading)>:is(p,.section-description) {
  max-width:none;
  margin:0;
  padding:0;
  font-size:var(--type-intro);
  line-height:1.75;
}
:root body :is(.redesign .section-heading,.evolution-site .method-intro,.case-site .cs-library-heading,.journal-section-heading)>* { min-width:0; }
@media(min-width:851px) {
  :root body :is(.redesign .section-heading,.evolution-site .method-intro,.case-site .cs-library-heading,.journal-section-heading) {
    display:grid;
    grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);
    align-items:start;
  }
  :root body :is(.redesign .section-heading,.evolution-site .method-intro,.case-site .cs-library-heading,.journal-section-heading)>:is(p,.section-description) {
    padding-top:calc(var(--type-label) * 1.6 + 24px);
  }
  :root body .training-layout {
    grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);
    column-gap:var(--space-grid);
  }
  body :is(.cs-library-heading,.journal-section-heading)>a {
    justify-self:end;
    margin-top:calc(var(--type-label) * 1.6 + 24px);
  }
}
/* FAQs need a reading column, rather than a narrow supporting-text column. */
@media(min-width:1001px) {
  :root body .evolution-faq>.wrap {
    grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);
    gap:var(--space-grid);
  }
}
@media(max-width:1000px) {
  :root body .evolution-faq>.wrap {
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-content);
  }
  :root body .evolution-faq .faq-heading { position:static; }
  :root body .evolution-faq .faq-list { margin-top:0; }
}
/* A heading nested beside an illustration remains a single text column. */
:root body .training-layout .section-heading { display:block; margin-bottom:0; }
:root body .training-layout .section-heading>.section-description { margin-top:24px; padding-top:0; }
:root body :is(.reality-heading,.faq-heading) h2 { max-width:none; text-wrap:pretty; }
@media(max-width:850px) {
  :root body :is(.redesign .section-heading,.evolution-site .method-intro,.case-site .cs-library-heading,.journal-section-heading) {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:24px;
  }
  body :is(.cs-library-heading,.journal-section-heading)>a { align-self:flex-start; }
}

/* The title and introduction share the site grid; the arguments get room below. */
:root body .reality>.wrap { display:block; }
:root body .reality .section-heading>.section-description { margin:0; }
:root body .reality .pain-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 var(--space-grid);
  margin:0;
  border:0;
}
:root body .reality .pain-grid article {
  grid-template-columns:24px minmax(0,1fr);
  gap:12px 20px;
  padding:28px 0;
  border-top:1px solid var(--color-rule-light);
  border-bottom:0;
}
:root body .reality .pain-grid article:nth-last-child(-n+2) { border-bottom:1px solid var(--color-rule-light); }
:root body .reality .pain-grid p { font-size:var(--type-body); line-height:1.75; }
:root body .demo-reassurance {
  max-width:54ch;
  margin:20px auto 0;
  font:400 14px/1.75 var(--font-body);
  color:var(--color-muted-dark);
}
@media(max-width:600px) {
  :root body .reality .pain-grid { grid-template-columns:minmax(0,1fr); }
  :root body .reality .pain-grid article { padding:24px 0; column-gap:16px; }
  :root body .reality .pain-grid article:nth-last-child(2) { border-bottom:0; }
  :root body .demo-reassurance { font-size:13px; }
}
