/* Phone density. Desktop styles remain outside this media query unchanged. */
@media (max-width: 760px) {
  :root { --compact-title: 34px; --compact-heading: 28px; }
  body { --site-header-mobile-height: 104px; }
  .site-header__inner { height: 58px; width: calc(100% - 28px); gap: 10px; }
  .site-header__brand { font-size: 19px; letter-spacing: .09em; }
  .site-header__cta { font-size: 12px; padding: 10px 14px; min-height: 44px; }
  .site-menu__open { width: 44px; height: 44px; min-width: 44px; }
  body:not(.home-page) main h1 { font-size: 34px !important; line-height: 1.12 !important; letter-spacing: -.02em; }
  body:not(.home-page) main h1 :is(span, em) { font-size: inherit !important; line-height: inherit !important; }
  main h2 { font-size: 28px !important; line-height: 1.18 !important; }
  main h3 { font-size: 23px !important; line-height: 1.22 !important; }
  main h4 { font-size: 20px !important; line-height: 1.25 !important; }
  main :is(h2,h3,h4) :is(span,em):not([class]) { font-size: inherit; }
  body:not(:is(.rating-page,.schedule-page,.selection-page)) main p:not(:is(.eyebrow,.section-eyebrow,[class*="eyebrow"],.meta,.story-year,.index,.academician-entry__honour,.academician-entry__role,.academician-entry__years,[class*="number"],[class*="label"],[class*="meta"],[class*="date"],[class*="age"],[class*="kicker"],[class*="count"],[class*="hint"])) {
    font-family: Inter, Arial, sans-serif; font-size: 15px !important; line-height: 1.5 !important;
  }
  main :is(figcaption,cite) { font-size: 12px !important; line-height: 1.45 !important; }
  main :is(.section-eyebrow,.eyebrow,[class*="eyebrow"]) { margin-bottom: 10px; letter-spacing: .11em; }
  main :is(input,textarea,select) { font-size: 16px !important; }
  main :is(.history-button,.champions-button,.training-button,.tournament-button,.shop-button,.selection-button,.button) {
    font-family: Inter, Arial, sans-serif; font-size: 14px !important; line-height: 1.35; min-height: 44px; padding: 10px 16px;
  }
  :is(.rating-hero__inner,.schedule-hero__inner,.selection-hero__inner,.champions-hero__inner,.history-hero,.training-hero,.tournament-hero,.shop-hero) { padding-top: 22px; padding-bottom: 18px; gap: 16px; }
  :is(.section-heading,.training-heading,.tournament-heading,.rating-section-heading,.selection-heading) { margin-bottom: 18px !important; gap: 12px !important; }
  :is(.story-section,.archive,.featured-section,.achievement-section,.captains-section,.children-section,.weapon-section,.adults-section,.schedule-section,.training-contact,.start-section,.training-directions,.selection-category,.selection-explainer,.selection-team,.tournament-about,.tournament-program,.tournament-chronicle,.tournament-leaders,.tournament-gallery,.tournament-registration,.shop-reservation,.shop-legal,.shop-finale) { padding-block: 24px !important; }
  .history-intro__content > p { margin-bottom: 12px; }
  :is(.foundation-split,.profile-row,.legacy-story,.editorial-lead,.longform-quote) { margin-block: 18px; gap: 16px; }
  .story-year { font-size: 42px; }
  .longform-prose p { margin-bottom: 14px; }
  .longform-quote { padding: 16px; font-size: 22px; }
  .history-page .history-photo img { max-height: 240px; }
  .history-finale { padding: 24px 18px; }
  .history-journal-cta h2 { font-size: 23px !important; }
  .history-journal-cta__actions { gap: 8px; }
  .training-hero__lead { margin-block: 12px 16px; }
  .training-hero__media { max-width: 100%; }
  .training-hero__media img { width: 100%; height: auto; max-height: 240px; object-fit: contain; }
  .training-page--children .training-hero__facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .training-hero__facts div { padding: 10px 0; }
  .training-hero__facts dt { font-size: 22px; }
  :is(.children-group-card,.weapon-card,.adults-schedule,.branch-card,.branch-card--featured,.branch-location) { padding: 16px !important; }
  .children-group-card :is(h3,p) { margin-bottom: 12px; }
  .children-group-card .trainer-contact { margin-top: 16px; padding: 16px; }
  .trainer-contact :is(h3,a) { font-size: 20px !important; }
  .weapon-card__intro { grid-template-columns: 84px minmax(0,1fr); gap: 14px; }
  .weapon-card__body { min-width: 0; }
  .weapon-card dl div { padding-block: 10px; }
  .weapon-card dd { font-size: 15px; line-height: 1.5; }
  .children-gallery { gap: 12px; margin-block: 18px; }
  .children-gallery figure:first-child { max-width: 190px; }
  .children-intro { gap: 16px; }
  .training-directions__intro { margin-bottom: 18px; }
  .training-quote { padding: 16px; margin-block: 18px; }
  .featured-athlete__portrait { max-width: 190px; width: calc(100% - 32px); margin: 16px auto 0; }
  .featured-athlete__body, .current-captain__copy { padding: 16px; }
  .featured-athlete__body dl div { padding-block: 8px; }
  .featured-athlete__body dd { font-size: 15px; line-height: 1.45; }
  .featured-athlete__body dl { margin-top: 14px; }
  .current-captain__year { font-size: 40px; }
  .achievement-panel__trigger { min-height: 76px; padding: 14px; gap: 10px; }
  .achievement-panel__title { font-size: 20px; line-height: 1.25; }
  .champions-hero__stats dt { font-size: 26px; margin-bottom: 4px; }
  .champions-hero__stats div { padding: 12px 10px; }
  .shop-gallery__main img { max-height: 230px; object-fit: contain; }
  .shop-product__inner, .shop-product-card { gap: 16px; }
  .shop-purchase { gap: 12px; margin-block: 16px; }
  .shop-specs li { padding-block: 10px; font-size: 15px; }
  .rating-controls { gap: 12px; margin-bottom: 18px; }
  .rating-section-heading h2 { font-size: 26px !important; }
  .rating-current, .rating-leaders { margin-bottom: 18px; }
  .rating-leader { padding-block: 12px; }
  .rating-method { padding-block: 24px; }
  .schedule-calendar__head { gap: 8px; margin-bottom: 18px; }
  .schedule-calendar__head > span { margin-top: 6px; font-size: 14px; }
  .schedule-calendar__head h2 { margin: 8px 0; }
  .schedule-selection { margin-bottom: 18px; }
  .schedule-page .schedule-layout { gap: 16px; }
  .schedule-month-nav { gap: 6px; margin-bottom: 10px; }
  .schedule-month-nav a { font-size: 14px; padding: 8px 12px; }
  .schedule-event { padding: 14px; grid-template-columns: 48px minmax(0,1fr); gap: 10px 12px; }
  .schedule-event__title { font-size: 20px !important; line-height: 1.25; margin-bottom: 8px; }
  .schedule-event__date strong { font-size: 24px; line-height: 1.1; }
  .schedule-event__place { margin-top: 0; font-size: 12px; }
  .schedule-month + .schedule-month { margin-top: 24px; }
  .selection-hero__inner { gap: 16px; }
  .selection-category-panel, .selection-points__card { padding: 16px; }
  .selection-notes article { padding-block: 12px; }
  .tournament-champion, .tournament-champion + .tournament-champion { padding: 16px; gap: 12px; }
  .tournament-champion h3 { margin-block: 8px; }
  .contact-form { gap: 14px !important; }
  .contact-form__field { gap: 8px; margin-bottom: 0; }
  .contact-form__field textarea { min-height: 100px; }
  .contact-form__consent { margin-top: 6px; gap: 10px; }
  .contact-form__label, .contact-form label { font-size: 14px; }
  .contact-form__submit { min-height: 44px; padding: 12px 16px; font-size: 14px; }
  .home-page :is(.about,.paths,.stats-section,.heritage) { padding-block: 24px; }
  .home-page .about__lead { margin-bottom: 16px; }
  .home-page .contact__inner { gap: 20px; }
  .section-nav { margin-block: 6px; }
  .section-nav__toggle { min-height: 44px; padding: 10px 14px; }
  /* Library: preserve all sources; reduce the oversized editorial rhythm. */
  .archive-library .shell { width: calc(100% - 32px); }
  .archive-library .breadcrumb { margin: 16px 0 20px; font-size: 12px; }
  .archive-library .hero { gap: 16px; padding-bottom: 24px; }
  .archive-library .hero h1 { margin: 10px 0 14px; }
  .archive-library .hero .hero-lead { font-size: 18px !important; }
  .archive-library .hero figure { transform: none; padding: 6px; }
  .archive-library .hero figure img { aspect-ratio: auto; height: auto; }
  .archive-library .hero figcaption { margin-top: 8px; }
  .archive-library .section, .archive-library .voices, .archive-library .contribution, .archive-library .library-diary { padding-block: 24px; }
  .archive-library .section-heading { gap: 12px; margin-bottom: 18px; }
  .archive-library .founder { padding: 16px; gap: 16px; margin-block: 18px; }
  .archive-library .founder h2 { font-size: 28px !important; }
  .archive-library .founder>figure { max-width: 100px; }
  .archive-library .founder-text>p { margin-bottom: 12px; }
  .archive-library .discovery { padding-block: 18px; }
  .archive-library .routes { gap: 8px; }
  .archive-library .routes a { font-size: 12px; padding: 10px; }
  .archive-library .book { padding: 16px; grid-template-columns: 88px minmax(0,1fr); grid-template-rows: auto auto; gap: 12px 16px; }
  .archive-library .book>.cover-button img { height: auto; max-height: 132px; }
  .archive-library .book h3 { font-size: 26px !important; }
  .archive-library .book .meta { font-size: 13px; }
  .archive-library .book .limited { font-size: 14px !important; }
  .archive-library .book .journal-invitation { font-size: 15px !important; }
  .archive-library .rash-book { padding: 16px; grid-template-columns: 88px minmax(0,1fr); gap: 14px; margin-top: 16px; }
  .archive-library .rash-quote { padding: 18px; margin-top: 0; }
  .archive-library .quote blockquote p { font-family: Cormorant,Georgia,serif; font-size: 22px !important; line-height: 1.35 !important; }
  .archive-library .quote figcaption { margin-top: 12px; }
  .archive-library .quote-author { font-size: 17px; }
  .archive-library .chapter-links { gap: 8px; margin-top: 12px; }
  .archive-library :is(.people-grid article,.document-grid article,.press-list article,.archive-callout,.archive-memory,.press-quote,.history-item,.heritage-detail,.heritage-emblem) { padding: 16px; gap: 12px; }
  .archive-library .press-list { gap: 10px; }
  .archive-library .press-list h3 { font-size: 21px !important; margin-bottom: 10px; }
  .archive-library .people-grid { gap: 12px; }
  .archive-library .people-grid p { margin-bottom: 12px; }
  .archive-library .album-grid, .archive-library .library-film-grid { gap: 22px; }
  .archive-library .album h3 { margin-bottom: 8px; }
  .archive-library .album p { margin-bottom: 10px; }
  .archive-library .album .eyebrow { margin-top: 10px; }
  .archive-library .archive-memory { margin-top: 20px; }
  .archive-library .document-collage { gap: 16px; padding: 20px 4px 12px; }
  .archive-library .document-collage figcaption { margin-top: 12px; }
  .archive-library .library-diary { gap: 18px; }
  .archive-library .library-diary figure { max-width: 170px; }
  .archive-library .library-diary h2 { margin-bottom: 14px; }
  .archive-library .heritage-detail__title { font-size: 21px; }
  .archive-library .heritage-detail summary { padding: 16px; }
  .archive-library .topic-nav .topic-nav-controls { gap: 6px; padding-block: 6px; }
  .archive-library .topic-nav a { font-size: 12px; padding: 10px 12px; }
  .archive-library .topic-nav .topic-nav-hint { margin-bottom: 5px; }

  body main p { margin-bottom: 12px; }
  .training-page .training-standfirst { font-size: 15px !important; line-height: 1.5 !important; }
  .training-quote { font-size: 21px; line-height: 1.35; }
  .trainer-contact strong { font-size: 20px; line-height: 1.25; }
  .trainer-contact a { font-family: Inter,Arial,sans-serif; font-size: 16px !important; }
  .children-group-card__schedule span { font-size: 20px; }
  .benefit-card { padding: 14px; }
  .benefit-card h3 { font-size: 20px !important; margin-bottom: 8px; }
  .benefit-card p { font-size: 14px !important; }
  .training-page .benefit-grid { gap: 12px; }
  .home-page :is(.about,.paths,.heritage,.contact) p { font-size: 16px !important; line-height: 1.5; margin-bottom: 12px; }
  .home-page :is(.about,.paths,.heritage,.contact) h2 { font-size: 28px !important; line-height: 1.18; }
  .archive-library .contribution { padding: 20px 16px; }
  .archive-library .heritage-detail summary strong { font-size: 21px; line-height: 1.25; }
  .archive-library .hero p:not(.eyebrow) { margin-bottom: 12px; }
  .archive-library .album-cover img { aspect-ratio: auto; max-height: 190px; width: auto; max-width: 100%; object-fit: contain; margin-inline: auto; }
  .archive-library .album-cover { background: transparent; }
  .archive-library .heritage-tournament-copy { padding: 14px; }
  .captain-era { min-width: 0; padding: 16px; }
  .captain-era h3 { font-size: 9px !important; gap: 8px; }
  .captain-era h3 span { font-size: 22px; }
  .history-page .academician-entry { grid-template-columns: 82px minmax(0, 1fr); gap: 8px 14px; padding: 14px; }
  .history-page .academician-entry__portrait { width: 82px; }
  .history-page .academician-entry__content h4 { font-size: 20px !important; line-height: 1.15 !important; }
  .history-page main .academician-entry__honour { font-size: 9px !important; line-height: 1.4 !important; margin-bottom: 6px; }
  .history-page main .academician-entry__role { font-size: 13px !important; line-height: 1.4 !important; margin-top: 7px; }
  .history-page .academician-entry__years { font-size: 13px !important; line-height: 1.4 !important; }
  .history-page .academicians { margin-top: 24px; }
  .history-page .archive-grid { columns: 2; column-gap: 12px; }
  .history-page .archive-card { margin-bottom: 16px; }
  .history-page .archive-card img { max-height: none; width: 100%; height: auto; }
  .history-page .archive-card figcaption { font-style: normal; text-align: left; }
  .history-archive-action { margin-top: 12px; }
}
