.course-faq.shell {width: min(960px, calc(100% - 96px)); margin-block: 55px 75px; scroll-margin-top: 115px;}
.course-faq-heading {margin-bottom: 26px;}
.course-faq-heading .overline {color: #827044; margin: 0 0 12px;}
.course-faq h2 {font: 400 clamp(30px, 3.2vw, 40px)/1.2 Georgia, serif; color: #173b43; margin: 0 0 14px; letter-spacing: -.8px;}
.course-faq-heading > p:last-child {color: #526a70; font-size: 16px; line-height: 1.7; margin: 0;}
.course-faq-list {padding: 0 28px; background: #fafaf5; border: 1px solid #dedfce; border-radius: 5px;}
.course-faq-list details + details {border-top: 1px solid #dedfce;}
.course-faq-list summary {display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; list-style: none; cursor: pointer; font-size: 18px; font-weight: 550; line-height: 1.5; color: #173b43;}
.course-faq-list summary::-webkit-details-marker {display: none;}
.course-faq-list summary::after {content: '+'; flex: 0 0 20px; color: #827044; font-size: 24px; font-weight: 400; text-align: center;}
.course-faq-list details[open] summary::after {content: '−';}
.course-faq-list summary:focus-visible {outline: 2px solid #086789; outline-offset: 4px;}
.course-faq-answer {max-width: 790px; color: #526a70; font-size: 16px; line-height: 1.8; padding-bottom: 23px;}
.course-faq-answer p {margin: 0;}
.course-faq a {color: #086789; text-decoration: underline; text-underline-offset: 3px;}
.course-faq-contact {margin: 20px 0 0; font-size: 15px; line-height: 1.7; color: #526a70;}
.course-mobile-dock {display: none;}
@media (max-width: 680px) {
  .course-faq.shell {width: calc(100% - 40px); margin-block: 36px 45px; scroll-margin-top: 96px;}
  .course-faq-heading {margin-bottom: 22px;}
  .course-faq-list {padding-inline: 20px;}
  .course-faq-list summary {font-size: 17px; padding-block: 19px; gap: 12px;}
  .course-faq-answer {font-size: 15px; padding-bottom: 20px;}
  html:has(.course-mobile-dock) {scroll-padding-bottom: 100px;}
  body.course-dock-ready {padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px));}
  .course-mobile-dock:not([hidden]) {position: fixed; inset: auto 0 0; z-index: 140; display: flex; align-items: center; gap: 14px; padding: 11px 20px calc(11px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #dedfce; background: #fffffff5; backdrop-filter: blur(10px); box-shadow: 0 -3px 16px #173b4308;}
  .course-mobile-dock > span {flex: 1; min-width: 0; color: #526a70; font-size: 12px; line-height: 1.5;}
  .course-mobile-dock .course-mobile-action {display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 46px; padding: 12px 18px; border-radius: 4px; background: #185363; color: white; font-size: 14px; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none;}
  .course-mobile-action:focus-visible {outline: 3px solid #b99c58; outline-offset: 3px;}
  .course-dock-active #display-settings {bottom: calc(80px + env(safe-area-inset-bottom, 0px));}
  .course-dock-ready :is(input, textarea, select, summary, [id]) {scroll-margin-bottom: 100px;}
}
@media (max-width: 350px) {
  .course-mobile-dock > span {display: none;}
  .course-mobile-dock .course-mobile-action {width: 100%;}
}
