/* Limited to the three entry pages that load this file. */
.keep-phrase { display: inline-block; white-space: nowrap; }
.home-page h1, .home-page h2, .lab-hub h1, .lab-hub h2, .morning-index h1, .morning-index h2 { text-wrap: balance; }
.home-page .start-choices { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.home-page .start-choice { padding: 14px 12px; min-width: 0; }
.home-page .start-choice strong { font-size: 15px; white-space: nowrap; }
.home-page .start-choice small { font-size: 11px; }
.home-page .home-start h1 em .keep-phrase { text-decoration: underline; text-decoration-color: #efd495; text-decoration-thickness: 8px; text-underline-offset: 0; text-decoration-skip-ink: none; }
.home-page .teacher-note figcaption > span, .home-page .teacher-note figcaption > strong { display: block; margin-left: 0; }
.home-page .teacher-intro { font-size: 13px; line-height: 1.8; margin: 7px 0; }
.home-page .teacher-note figcaption a { font-size: 13px; font-weight: 700; color: #254637; }
.home-page .sapix5-details { margin: 18px 0 0; padding: 0; border: 1px solid #bccbc0; border-radius: 10px; background: #f6f8f2; }
.home-page .sapix5-details > summary { cursor: pointer; padding: 16px 18px; font-size: 15px; font-weight: 700; line-height: 1.7; color: #173f46; }
.home-page .sapix5-details[open] > summary { margin-bottom: 12px; border-bottom: 1px solid #cbd5cd; }
.home-page .sapix5-details > :not(summary) { margin-left: 20px; margin-right: 20px; }
.home-page .sapix5-details .sapix5-offer { margin-bottom: 20px; }
.home-page .sapix5-start { display: inline-block; }
.entry-video-links { display: flex; flex-wrap: wrap; gap: 12px; }
.entry-video-links > a { display: block; max-width: 100%; text-align: center; }
.entry-video-links > .guide-button { display: block; }
.home-page .guide-button, .morning-index .watch-next a { text-wrap: balance; }
@media (min-width: 721px) and (max-width: 1050px) {
  .home-page .start-choices { grid-template-columns: 1fr; }
  .home-page .start-choice { min-height: 64px; }
}
@media (max-width: 720px) {
  .home-page .home-start { gap: 18px; }
  .home-page .home-start h1 { font-size: clamp(25px, 6.6vw, 38px); }
  .home-page .home-start .teacher-note { width: 100%; gap: 16px; }
  .home-page .teacher-note img { width: 128px; height: auto; flex: 0 0 128px; border-radius: 10px; }
  .home-page .teacher-note figcaption { flex: 1; min-width: 0; }
  .home-page .teacher-note figcaption > strong { font-size: 20px; margin-top: 3px; }
  .home-page .teacher-intro { font-size: 12px; line-height: 1.7; }
  .home-page .teacher-note figcaption a { font-size: 12px; }
  .home-page .start-choices { grid-template-columns: 1fr; gap: 9px; }
  .home-page .start-choice { min-height: 64px; padding: 10px 16px; }
  .home-page .start-choice small { margin-bottom: 1px; }
  .home-page .start-choice strong { font-size: 17px; }
  .home-page #free-printables h2 { font-size: clamp(21px, 5.7vw, 30px); }
  .home-page #sapix5-title { font-size: clamp(23px, 6vw, 32px); }
  .home-page .sapix5-details > :not(summary) { margin-left: 14px; margin-right: 14px; }
  .home-page .sapix5-details .sapix5-offer { padding: 18px 12px; }
  .home-page .sapix5-offer-name .sapix5-course { white-space: normal; }
  .entry-video-links { flex-direction: column; align-items: stretch; }
  .entry-video-links > a { width: 100%; }
  .lab-hub h1, .lab-hub h2, .morning-index h1, .morning-index h2 { overflow-wrap: normal; }
  .lab-hub .lab-intro h1 { font-size: clamp(26px, 7.6vw, 32px); }
}

.home-page .sapix5-actions .guide-button { display: block; text-align: center; }
