/* D037: the real milestone, a more personal training record, and shared footer feedback. */
.page-about .course-story {
  grid-template-columns: minmax(0,1.08fr) minmax(0,1fr);
  gap: 42px 64px;
}
.page-about .course-story > h2 { max-width: 330px; margin: 0; align-self: start; }
.page-about #about-course { scroll-margin-top: 110px; }
.page-about .course-copy > p:first-child { font-size: 21px; }
.page-about .course-milestone { margin: 0; align-self: start; }
.course-milestone img { width: 100%; height: auto; border-radius: 5px 28px 5px 28px; }
.course-milestone figcaption { margin: 0; padding-top: 14px; text-align: left; font-size: 15px; color: var(--text-secondary); }
.course-resolution { align-self: center; }
.course-resolution .course-outcome { font-size: 27px; line-height: 1.4; color: var(--text-primary); margin-bottom: 28px; }
.page-about .qualifications-intro { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.qualifications-intro h2 { max-width: 320px; }
.qualifications-intro > p { font-size: 23px; line-height: 1.5; margin: 0; max-width: 620px; }
.page-about .qualifications-grid { display: block; margin-top: 44px; }
.page-about .qualifications-copy {
  padding: 34px 40px 40px;
  border-radius: 28px 4px 28px 4px;
  background: linear-gradient(110deg,rgba(201,164,92,.11),rgba(201,164,92,.035));
}
.qualifications-copy > p { color: var(--text-secondary); font-size: 17px; }
.page-about .qualifications-copy .training-list { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 48px; margin: 28px 0 0; }
.page-about .training-list li { position: relative; padding: 0 0 0 23px; border: 0; font-size: 21px; line-height: 1.45; }
.page-about .training-list li::before { content: ''; position: absolute; left: 0; top: .57em; width: 7px; height: 7px; border-radius: 50%; background: var(--rudy-honey-gold); }
.page-about .training-list li:last-child { grid-column: 1 / -1; max-width: 780px; }
.page-about .training-list em { font-style: normal; }
.page-about .membership-panel { display: grid; grid-template-columns: .85fr 1.15fr; column-gap: 70px; margin-top: 44px; padding: 0; background: none; border-radius: 0; }
.page-about .membership-panel h3 { grid-column: 1; grid-row: 1; margin-bottom: 20px; font-size: 25px; }
.page-about .membership-panel h3::before { margin-bottom: 20px; }
.page-about .membership-panel > p { grid-column: 1; grid-row: 2; margin: 0; font-size: 18px; }
.page-about .membership-details { grid-column: 2; grid-row: 1 / span 2; display: grid; grid-template-columns: 1fr 1fr; gap: 24px 30px; margin: 0; padding-top: 4px; }
.page-about .membership-details > div { display: block; }
.page-about .membership-details dt { font-size: 14px; margin-bottom: 5px; }
.page-about .membership-details dd { font-size: 18px; }
.qualifications-section > .text-link { margin-top: 36px; }

/* Same direction, duration and easing as the shared contact actions. */
.site-footer .footer-nav a,
.site-footer .footer-email {
  display: inline-flex;
  width: fit-content;
  max-width: calc(100% + 12px);
  align-items: center;
  min-height: 40px;
  padding: 7px 12px;
  margin-left: -12px;
  border-radius: 22px;
  color: var(--text-primary);
  text-decoration: none;
  background-image: linear-gradient(90deg,var(--rudy-clear-blue) 50%,transparent 50%);
  background-repeat: no-repeat;
  background-size: 205% 100%;
  background-position: 100% 0;
  transition: background-position var(--action-duration) var(--action-easing),color var(--action-duration) var(--action-easing);
}
.site-footer .footer-nav { gap: 2px; }
.site-footer .footer-nav a:is(:focus-visible,:active),
.site-footer .footer-email:is(:focus-visible,:active) { color: var(--rudy-warm-white); background-position: 0 0; text-decoration: none; }
@media (hover:hover) and (pointer:fine) {
  .site-footer .footer-nav a:hover:not(:active),
  .site-footer .footer-email:hover:not(:active) { color: var(--rudy-warm-white); background-position: 0 0; text-decoration: none; }
}
@media (min-width:761px) and (max-width:1060px) {
  .page-about .course-story { gap: 34px 38px; }
  .course-resolution .course-outcome { font-size: 24px; }
  .page-about .qualifications-intro,.page-about .membership-panel { gap: 32px; }
}
@media (max-width:760px) {
  .page-about .course-story { display: block; }
  .page-about .course-story > h2 { margin-bottom: 27px; }
  .page-about .course-milestone { margin-block: 30px; }
  .course-resolution .course-outcome { font-size: 25px; margin-bottom: 24px; }
  .page-about .qualifications-intro { display: block; }
  .qualifications-intro > p { margin-top: 25px; font-size: 21px; }
  .page-about .qualifications-grid { margin-top: 30px; }
  .page-about .qualifications-copy { padding: 28px 25px 32px; border-radius: 22px 4px 22px 4px; }
  .page-about .qualifications-copy .training-list { grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
  .page-about .training-list li { font-size: 20px; padding-left: 21px; }
  .page-about .membership-panel { display: block; margin-top: 36px; }
  .page-about .membership-panel > p { max-width: 440px; }
  .page-about .membership-details { margin-top: 28px; gap: 24px; }
  .site-footer .footer-nav { gap: 2px; }
}
@media (max-width:370px) {
  .page-about .membership-details { grid-template-columns: 1fr; gap: 20px; }
}
@media (prefers-reduced-motion:reduce) {
  .site-footer .footer-nav a,.site-footer .footer-email { transition: none; }
}
