/* Capture review: keep phrases, reading sizes and paired metadata aligned. */
.hero-line { white-space: normal; }
.keep-phrase { display: inline-block; max-width: 100%; }
.hero-description { font-size: 14px; max-width: 430px; }
.hero h1, h2, .format-item h3 { text-wrap: balance; }
.hero-description, .about-text p, .people-row > p, .experience-heading > p,
.detail-body p, .student-copy > p, .format-item > p, .speaker-copy > p,
.next-copy > p, .meeting-card dd, .meeting-notice, .faq-answer p,
.speaker-scene figcaption, .footer-brand > p { text-wrap: pretty; line-break: strict; }
.people-heading > p, .people-row > p, .experience-heading > p, .detail-body,
.student-copy > p:not(.student-lead), .format-heading > p,
.format-item > p:not(.format-label), .speaker-copy > p:not(.speaker-note),
.next-copy > p:not(.next-em), .faq-heading > p, .faq-answer { font-size: 14px; }
.experience-note, .format-note, .speaker-copy .speaker-note, .meeting-notice,
.footer-brand > p, .footer-nav, .footer-bottom, .footer-bottom small { font-size: 12px; }
.hero-figure figcaption, .experience-image figcaption,
.student-visual figcaption, .speaker-scene-note { font-size: 12px; line-height: 1.8; }
.desktop-nav a { font-size: 12px; }
.format { background: #fff7fd; }
.format-item { display: flex; flex-direction: column; }
.format-item > p:not(.format-label) { margin-bottom: 28px; }
.format-bottom { margin-top: auto; }
.footer-nav a { min-height: 36px; display: flex; align-items: center; }
.footer-nav { row-gap: 2px; }
.footer-bottom small { white-space: normal; }
.faq-list summary { font-size: 14px; line-height: 1.85; }
.meeting-card dd { overflow-wrap: anywhere; }
/* Phrase-aware Japanese line breaking is progressive; short key phrases also
   retain a compact fallback in browsers that use ordinary line breaking. */
@supports (word-break: auto-phrase) {
  .hero-description, .about-text p, .people-row > p, .detail-body p,
  .student-copy > p, .format-item > p, .speaker-copy > p, .next-copy > p,
  .meeting-card dd, .meeting-notice, .faq-answer p, .faq-list summary {
    word-break: auto-phrase;
  }
}
@media(max-width:760px) {
  .hero-description { max-width: 100%; }
  .hero-figure figcaption, .experience-image figcaption,
  .student-visual figcaption, .speaker-scene-note { font-size: 11px; }
  .footer-nav a { min-height: 44px; }
  .speaker-scene-title { line-height: 1.9; }
  .meeting-card dl > div { grid-template-columns: 86px minmax(0,1fr); }
  .hero-visual-label { font-size: 23px; }
  .hero-visual-label em { font-size: 20px; }
}
@media(max-width:390px) {
  .meeting-card dl > div { grid-template-columns: 78px minmax(0,1fr); }
  .hero-actions { align-items: flex-start; }
}

/* The document, rather than its sticky header, is the top-link destination. */
#page-top { scroll-margin-top: 0; }
.faq-question { flex: 1; min-width: 0; text-wrap: pretty; }
.faq-q { flex-shrink: 0; }
.menu-top { gap: 16px; }
.menu-brand { gap: 10px; }
.menu-brand .brand-mark { width: 35px; height: 35px; }
.menu-brand .brand-name { font-size: 21px; }
.menu-brand .brand-name > span { font-size: 9px; }
.menu-close { flex-shrink: 0; }
.support-line { display: block; color: var(--plum-soft); font-size: 1.14em; font-weight: 600; }
.people-role-note { margin-top: 8px; font-size: 12px; line-height: 1.75; color: var(--muted); }
.women-focus { background: linear-gradient(105deg, #ffffff, #ffffff66); border-radius: 20px; padding-inline: 24px; margin-inline: -24px; }
.women-focus .people-role h3 { color: #9347b7; }
.closing-inner > p:not(.eyebrow) { text-wrap: pretty; line-break: strict; }
@media(max-width:640px) {
  .overview-facts { grid-template-columns: minmax(0,1fr); gap: 0; }
  .overview-facts > div {
    display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 16px;
    align-items: start; border-left: 0; border-top: 1px solid var(--line);
    padding: 13px 0;
  }
  .overview-facts dt { margin-bottom: 0; padding-top: 3px; }
  .overview-facts dd { font-size: 14px; }
  .overview-facts dd span { margin-top: 4px; }
  .menu-brand .brand-name { font-size: 19px; }
}
@media(max-width:390px) {
  .overview-facts > div { grid-template-columns: 92px minmax(0,1fr); gap: 10px; }
  .menu-brand .brand-mark { width: 32px; height: 32px; }
  .menu-brand .brand-name { font-size: 18px; }
}
@media(max-width:760px) {
  .women-focus { padding-inline: 12px; margin-inline: -12px; border-radius: 16px; }
}
