/* Inner-page layout and typography follow the landing page's 1280px frame.
   Kept separate from retained page CSS so the design scale has one owner. */
body.cp-page:not(.cp-home) {
  --cp-content-width: 1280px;
  --cp-page-gutter: clamp(20px, 3vw, 32px);
  --cp-section-space: 64px;
  --cp-heading-1: clamp(2.25rem, 4.5vw, 3.75rem);
  --cp-heading-2: clamp(1.75rem, 3vw, 2.25rem);
}
body.cp-page:not(.cp-home) #cp-content { font-size: 16px; line-height: 1.6; }
body.cp-page:not(.cp-home) #cp-content .container {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--cp-content-width);
  margin-inline: auto;
  padding-inline: var(--cp-page-gutter);
}
body.cp-page:not(.cp-home) #cp-content :is(.max-w-7xl,.max-w-8xl,.max-w-ultra,.section-container,.hero-container,.container-wide,.container-ultra) {
  max-width: var(--cp-content-width);
  margin-inline: auto;
}
body.cp-page:not(.cp-home) #cp-content :is(h1,h2,h3,h4) {
  font-family: var(--cp-font);
  letter-spacing: -.025em;
  overflow-wrap: break-word;
}
/* Important overrides the old page-specific heading sizes, some of which were important. */
body.cp-page:not(.cp-home) #cp-content h1 {
  font-size: var(--cp-heading-1) !important;
  line-height: 1.12 !important;
  font-weight: 700;
}
body.cp-page:not(.cp-home) #cp-content h2 { font-size: var(--cp-heading-2); line-height: 1.2; font-weight: 700; }
body.cp-page:not(.cp-home) #cp-content h3 { font-size: 1.25rem; line-height: 1.35; font-weight: 600; }
body.cp-page:not(.cp-home) #cp-content h4 { font-size: 1.125rem; line-height: 1.4; font-weight: 600; }
body.cp-page:not(.cp-home) #cp-content p { line-height: 1.65; }
body.cp-page:not(.cp-home) #cp-content :is(.section-title,.section-header) > p { max-width: 48rem; margin-inline: auto; }
body.cp-page:not(.cp-home) #cp-content > section:not(:first-of-type),
body.cp-page:not(.cp-home) #cp-content > .wapper > section:not(:first-of-type),
body.cp-page:not(.cp-home) #cp-content #root > div > section:not(:first-of-type) { padding-block: var(--cp-section-space); }
/* Split heroes have a smaller heading scale than centered, full-width introductions. */
body.cp-page:is(.cp-programs,.cp-career-acceleration-partnership,.cp-managed-services,.cp-software-development,.cp-job-application-concierge) {
  --cp-heading-1: clamp(2rem, 3.6vw, 3rem);
}
body.cp-page:not(.cp-home) #cp-content .hero h1 { max-width: 1000px; margin-inline: auto; }
body.cp-page:not(.cp-home) #cp-content .hero :is(.hero-subtitle,.hero-description),
body.cp-page:not(.cp-home) #cp-content .hero h1 + p { font-size: clamp(1.125rem, 1.5vw, 1.25rem); max-width: 48rem; margin-inline: auto; }
body.cp-page:not(.cp-home) #cp-content .registration-hero .container { max-width: 1000px; }
body.cp-page:not(.cp-home) #cp-content :is(form,.modal,.modal-content) h2 { font-size: 1.5rem; }
@media (max-width: 767px) {
  body.cp-page:not(.cp-home) { --cp-section-space: 48px; }
}
