/* Longer editorial pacing for the approved Home, About and Contact copy. */
.home-hero {
  padding-top: clamp(72px, 7.5vw, 112px);
  padding-bottom: clamp(96px, 10vw, 152px);
}
.experience { margin-top: 36px; margin-bottom: clamp(56px, 6.5vw, 96px); }
.home-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(40px, 7vw, 104px);
}
.home-story .lead { line-height: 1.28; }
.home-detail { min-width: 0; }
.home-hero .intro { max-width: 40ch; margin: 0 0 36px; line-height: 1.6; }
.home-hero .button { max-width: 100%; }

.services { padding-block: clamp(88px, 9.5vw, 144px); }
.services h2 { margin-bottom: clamp(64px, 7.5vw, 112px); line-height: 1.07; }
.services-grid { display: block; }
.services-grid article,
.services-grid article:last-child {
  display: grid;
  grid-template-columns: 72px minmax(0, .95fr) minmax(0, 1fr);
  align-items: start;
  gap: 28px clamp(30px, 5vw, 72px);
  padding: 52px 0;
  border: 0;
  border-top: 1px solid #626262;
}
.services .number { padding-top: 3px; }
.services h3 {
  max-width: none;
  margin: 0;
  font-size: clamp(28px, 2.8vw, 38px);
  line-height: 1.13;
}
.services p { grid-column: auto; max-width: 38ch; font-size: 20px; line-height: 1.6; }

.adult {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  align-items: start;
  gap: 28px clamp(40px, 7vw, 104px);
  padding-block: clamp(112px, 12vw, 176px);
}
.adult h2 { grid-row: 1 / 3; margin: 0; white-space: nowrap; }
.adult .lead { line-height: 1.32; }
.adult-note { margin: 0; line-height: 1.6; }

.about-intro { padding-top: clamp(72px, 7.5vw, 112px); padding-bottom: clamp(96px, 10vw, 144px); }
.about-intro h1 { margin-bottom: 0; line-height: 1.04; }
.about-opening { gap: clamp(40px, 6.5vw, 88px); margin: 80px 0 120px; }
.about-opening .intro { margin: 0; line-height: 1.65; }
.profile-links { display: flex; flex-wrap: wrap; column-gap: 24px; margin-top: 6px; }
.profile-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--ink); font-weight: 600; }
.profile-links a:hover { text-decoration: underline; text-underline-offset: 5px; }
.profile-links .arrow { width: 14px; height: 14px; flex-basis: 14px; margin-left: 0; }
.principles article { gap: 44px; padding-block: 52px; }
.principles article > div { padding-left: 44px; }
.principles h2 { margin-bottom: 18px; line-height: 1.12; }
.principles p { max-width: 48ch; line-height: 1.65; }
.statement { padding-block: clamp(104px, 11vw, 160px); }
.statement h2 { line-height: 1.1; }

.contact-intro { padding-top: clamp(80px, 8vw, 120px); }
.contact-intro h1 { margin-bottom: 80px; line-height: 1.05; }
.contact-intro .lead { max-width: 740px; margin: 0 0 96px auto; line-height: 1.5; }
.contact-choices { gap: 24px; }
.contact-choices > a { min-height: 112px; padding: 30px 36px; }
.conversation { margin-top: 64px; }
.hello { margin-top: 96px; padding: 88px 0 104px; line-height: 1.35; }

@media (max-width: 960px) {
  .home-story { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .home-detail { max-width: 680px; }
  .home-hero .intro { max-width: 48ch; }
  .services-grid article,
  .services-grid article:last-child { grid-template-columns: 56px minmax(0, 1fr); gap: 18px 32px; }
  .services p { grid-column: 2; max-width: 48ch; }
  .adult { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .adult h2 { grid-row: auto; margin-bottom: 20px; }
  .about-opening { margin-block: 64px 96px; }
  .principles article { gap: 28px; }
  .principles article > div { padding-left: 28px; }
  .contact-intro .lead { margin-left: 0; }
}

@media (max-width: 600px) {
  .home-hero { padding-top: 60px; padding-bottom: 80px; }
  .experience { margin-top: 28px; margin-bottom: 48px; }
  .home-story { gap: 34px; }
  .home-hero .intro { margin-bottom: 30px; line-height: 1.65; }
  .services { padding-block: 72px; }
  .services h2 { margin-bottom: 52px; line-height: 1.1; }
  .services-grid article,
  .services-grid article:last-child { grid-template-columns: 34px minmax(0, 1fr); gap: 18px 20px; padding-block: 36px; }
  .services .number { font-size: 28px; }
  .services h3 { font-size: clamp(23px, 5.5vw, 28px); }
  .services p { font-size: 17px; line-height: 1.65; }
  .adult { padding-block: 88px; gap: 24px; }
  .adult h2 { margin-bottom: 14px; }
  .adult-note { line-height: 1.6; }
  .about-intro { padding-top: 60px; padding-bottom: 72px; }
  .about-intro h1 { line-height: 1.08; }
  .about-opening { gap: 36px; margin: 48px 0 72px; }
  .about-opening .intro { line-height: 1.65; }
  .principles article { gap: 18px; padding-block: 32px; }
  .principles article > div { padding-left: 18px; }
  .principles h2 { margin-bottom: 14px; line-height: 1.16; }
  .principles p { line-height: 1.65; }
  .statement { padding-block: 80px; }
  .statement h2 { line-height: 1.15; }
  .contact-intro { padding-top: 64px; }
  .contact-intro h1 { margin-bottom: 48px; line-height: 1.08; }
  .contact-intro .lead { margin-bottom: 64px; line-height: 1.5; }
  .contact-choices { gap: 18px; }
  .contact-choices > a { min-height: 88px; padding: 22px 18px; }
  .conversation { margin-top: 44px; }
  .hello { margin-top: 64px; padding: 60px 0 72px; }
}

@media (max-width: 360px) {
  .services h3 { font-size: clamp(18px, 6.5vw, 21px); }
}
