/* D032: body compositions and personal sign-off.
   Palette derivatives follow the September 25 composition extension.
   Header, opening encounters, contact form and button fills are owned separately. */

/* Home: retain the direct question as the principal colour moment. */
.home-question-panel {
  grid-template-columns: .85fr 1.35fr;
  border-radius: 28px 4px 28px 4px;
  background: var(--surface-secondary);
}
.home-question-panel > h2 {
  padding: 54px 42px;
  border-radius: 28px 0 0 4px;
  font-size: clamp(30px, 3vw, 36px);
  line-height: 1.24;
}
.home-question-panel > h2::before {
  height: 1px;
  width: 42px;
  margin-bottom: 30px;
}
.home-question-panel .question-copy { padding: 48px 48px 50px; }
.home-question-panel .question-response { margin-top: 30px; }
.page-home .story-grid { padding-block: 112px 108px; }
.page-home .story-grid .section-title::before { width: 40px; }
.page-home .routes-section { padding-bottom: 112px; }

/* About: the story remains an open reading passage between the portraits
   and the sea; the professional record has a quieter visual register. */
.page-about .about-story { border-top: 0; padding-block: 36px 100px; }
.page-about .course-story { column-gap: 86px; }
.page-about .course-copy > p:first-child { font-size: 22px; }
.page-about .course-copy .course-outcome { margin-top: 34px; }
.page-about .story-reflection {
  margin-top: 70px;
  padding: 56px 66px 58px;
  border-radius: 4px 28px 4px 28px;
  background: linear-gradient(110deg, rgba(201, 164, 92, .10), rgba(47, 107, 138, .04)), var(--surface-page);
}
.page-about .reflection-copy { max-width: 760px; }
.page-about .coast-setting { border-radius: 26px 4px 26px 4px; }
.page-about .coast-setting .coast-image img { border-radius: 26px 4px 0 0; }
.page-about .coast-setting figcaption { padding: 18px 42px 0; }
.page-about .coast-reflection { padding-block: 42px 54px; }
.page-about .qualifications-section {
  padding-top: 30px;
  padding-bottom: 100px;
  border-top: 0;
}
.page-about .qualifications-grid { gap: 68px; margin-top: 42px; }
.page-about .training-list li { padding-block: 17px; }
.page-about .membership-panel {
  padding: 34px 36px 36px;
  border-radius: 4px 22px 4px 22px;
  background: linear-gradient(125deg, rgba(47, 107, 138, .06), rgba(47, 107, 138, .04)), var(--surface-page);
  color: var(--text-primary);
}
.page-about .membership-panel h3 { font-size: 27px; }
.page-about .membership-panel h3::before {
  width: 34px;
  height: 1px;
  margin-bottom: 22px;
}
.page-about .membership-details { margin-top: 30px; gap: 18px; }
.page-about .membership-details dt { color: var(--text-secondary); }
.page-about .about-closing { padding-bottom: 108px; }
.page-about .about-closing > h2::before { height: 1px; }

/* One-to-one: a gentle setting for the starting points, quiet listening,
   then a clear change of depth at the invitation. */
.page-one-to-one .starting-points { padding-bottom: 100px; }
.page-one-to-one .starting-points-grid {
  padding: 54px 50px 58px;
  gap: 62px;
  border-radius: 28px 4px 28px 4px;
  background: linear-gradient(120deg, rgba(47, 107, 138, .06), rgba(201, 164, 92, .08)), var(--surface-page);
}
.page-one-to-one .starting-points-grid > h2 { max-width: 315px; }
.page-one-to-one .starting-points-copy > p + p { margin-top: 32px; }
.page-one-to-one .witness-grid { padding-bottom: 100px; }
.page-one-to-one .witness-copy .witness-reflection {
  border-top: 0;
  padding-top: 0;
  margin-top: 32px;
}
.page-one-to-one .service-closing { padding-bottom: 108px; }
.page-one-to-one .service-closing-panel {
  padding: 58px 68px 62px;
  border-radius: 28px 4px 28px 4px;
}
.page-one-to-one .service-closing-panel h2::before { height: 1px; }

/* Speaking: the actual event image provides variety without a large
   coloured box promoting one topic over the other two. */
.page-speaking .speaking-topics { padding-block: 24px 100px; }
.page-speaking .speaking-editorial { gap: 52px; margin-top: 44px; }
.page-speaking .topic-row { padding-bottom: 0; border-bottom: 0; }
.page-speaking .topic-feature {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 78px;
  padding: 0;
  background: transparent;
}
.page-speaking .topic-feature-copy > h3 { max-width: 390px; }
.page-speaking .topic-feature .speaking-context { max-width: 420px; }
.page-speaking .topic-feature .speaking-context img { border-radius: 24px 4px 24px 4px; }
.page-speaking .speaking-invitation { padding-bottom: 108px; }
.page-speaking .invitation-panel {
  padding: 54px 64px 58px;
  border-left: 0;
  border-radius: 28px 4px 28px 4px;
  background: var(--surface-secondary);
}

/* The signature and direct email form a personal end to every page. */
.site-footer {
  padding-block: 62px 66px;
  background: linear-gradient(110deg, rgba(201, 164, 92, .08), rgba(47, 107, 138, .06)), var(--surface-page);
}
.site-footer .footer-inner { grid-template-columns: 1.6fr .7fr .6fr; gap: 64px; }
.site-footer .footer-brand .brand { gap: 18px; }
.site-footer .footer-brand .brand-logo { width: 74px; height: 50px; }
.site-footer .footer-brand .brand-name { font-size: 28px; letter-spacing: .005em; }
.site-footer .footer-brand p { margin-block: 19px 10px; }
.site-footer .footer-nav,
.site-footer .social-links { padding-top: 7px; gap: 13px; }



@media (min-width: 761px) and (max-width: 1060px) {
  .home-question-panel > h2 { padding: 40px 32px; }
  .home-question-panel .question-copy { padding: 40px 36px; }
  .page-about .course-story { column-gap: 48px; }
  .page-about .story-reflection { padding: 46px 48px; }
  .page-about .qualifications-grid { gap: 38px; }
  .page-about .membership-panel { padding: 30px; }
  .page-one-to-one .starting-points-grid { gap: 36px; padding: 42px 38px; }
  .page-one-to-one .service-closing-panel,
  .page-speaking .invitation-panel { padding: 48px; }
  .page-speaking .topic-feature { gap: 42px; }
  .site-footer .footer-inner { gap: 38px; }
}

@media (max-width: 960px) {
  .home-question-panel > h2 { margin: 0; padding: 36px; border-radius: 28px 4px 0 0; }
  .home-question-panel .question-copy { padding: 36px; }
  .page-one-to-one .starting-points-grid > h2 { max-width: 580px; }
}

@media (max-width: 760px) {
  .home-question-panel { border-radius: 22px 4px 22px 4px; }
  .home-question-panel > h2 { padding: 32px 26px; border-radius: 22px 4px 0 0; font-size: 30px; }
  .home-question-panel > h2::before { margin-bottom: 22px; }
  .home-question-panel .question-copy { padding: 30px 26px 34px; }
  .home-question-panel .question-response { margin-top: 26px; }
  .page-home .story-grid { padding-block: 76px 72px; }
  .page-home .routes-section { padding-bottom: 76px; }

  .page-about .about-story { padding-block: 18px 72px; }
  .page-about .course-copy > p:first-child { font-size: 21px; }
  .page-about .course-copy .course-outcome { margin-top: 28px; }
  .page-about .story-reflection { margin-top: 44px; padding: 34px 26px 38px; border-radius: 4px 22px 4px 22px; }
  .page-about .coast-setting { border-radius: 22px 4px 22px 4px; }
  .page-about .coast-setting .coast-image img { border-radius: 22px 4px 0 0; }
  .page-about .coast-setting figcaption { padding: 17px 24px 0; }
  .page-about .coast-reflection { padding: 30px 24px 38px; }
  .page-about .qualifications-section { padding-block: 18px 72px; }
  .page-about .qualifications-grid { margin-top: 30px; }
  .page-about .membership-panel { margin-top: 38px; padding: 30px 26px 34px; }
  .page-about .membership-panel h3 { font-size: 25px; }
  .page-about .membership-details { gap: 18px; }
  .page-about .about-closing { padding-bottom: 76px; }

  .page-one-to-one .starting-points { padding-bottom: 72px; }
  .page-one-to-one .starting-points-grid { padding: 34px 26px 38px; border-radius: 22px 4px 22px 4px; }
  .page-one-to-one .starting-points-copy > p + p { margin-top: 28px; }
  .page-one-to-one .witness-grid { padding-bottom: 72px; }
  .page-one-to-one .witness-copy .witness-reflection { margin-top: 28px; }
  .page-one-to-one .service-closing,
  .page-speaking .speaking-invitation { padding-bottom: 76px; }
  .page-one-to-one .service-closing-panel,
  .page-speaking .invitation-panel { padding: 36px 26px 40px; border-radius: 22px 4px 22px 4px; }

  .page-speaking .speaking-topics { padding-block: 12px 72px; }
  .page-speaking .speaking-editorial { gap: 38px; margin-top: 30px; }
  .page-speaking .topic-feature { padding: 0; }
  .page-speaking .topic-feature-copy > h3 { max-width: none; }
  .page-speaking .topic-feature .speaking-context { max-width: 420px; margin-top: 28px; }
  .page-speaking .topic-feature .speaking-context img { border-radius: 22px 4px 22px 4px; }

  .site-footer { padding-block: 44px 48px; }
  .site-footer .footer-inner { grid-template-columns: 1fr 1fr; gap: 32px 26px; }
  .site-footer .footer-brand .brand { gap: 14px; }
  .site-footer .footer-brand .brand-logo { width: 65px; height: 46px; }
  .site-footer .footer-brand .brand-name { font-size: 26px; }
  .site-footer .footer-nav,
  .site-footer .social-links { padding-top: 0; gap: 5px; }
}

@media (max-width: 370px) {
  .home-question-panel > h2,
  .home-question-panel .question-copy,
  .page-about .story-reflection,
  .page-about .membership-panel,
  .page-one-to-one .starting-points-grid,
  .page-one-to-one .service-closing-panel,
  .page-speaking .invitation-panel { padding-inline: 22px; }
  .site-footer .footer-inner { gap: 30px 20px; }
}
