/* Shared editorial scale, based on the library. Loaded after page styles. */
:root {
    --compact-bg: #290c0e;
    --compact-panel: #351316;
    --compact-cream: #f4e4c1;
    --compact-gold: #ead38d;
    --compact-line: rgba(234, 211, 141, .18);
    --compact-title: clamp(52px, 5.6vw, 82px);
    --compact-heading: clamp(38px, 3.8vw, 52px);
}
body:is(.history-page, .champions-page, .rating-page, .schedule-page, .selection-page,
    .training-page, .branches-page, .tournament-page, .shop-page) {
    background: var(--compact-bg) !important;
    color: var(--compact-cream);
}
:is(.rating-shell, .schedule-shell, .selection-shell, .shop-shell, .training-shell,
    .tournament-shell, .champions-shell, .section-shell) {
    width: min(1240px, calc(100% - 80px));
    margin-inline: auto;
}
:is(.history-page, .champions-page, .training-page, .tournament-page, .shop-page) h2 {
    font-size: var(--compact-heading);
    line-height: 1.05;
    letter-spacing: -.025em;
}
:is(.history-button, .champions-button, .training-button, .tournament-button, .shop-button,
    .selection-button) {
    min-height: 46px;
    border-radius: 999px;
    padding: 12px 22px;
    box-shadow: none;
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
}
body .champions-button--gold, body .tournament-button--gold,
body .history-button--gold, body .selection-button--primary { color: #29130d; }
:is(.history-page, .champions-page, .training-page, .tournament-page, .shop-page) :is(
    .section-heading, .training-heading, .tournament-heading) { margin-bottom: 28px; gap: 24px; }
/* Practical pages open directly onto their tools. */
:is(.rating-hero, .schedule-hero, .selection-hero) {
    min-height: 0;
    background: transparent;
    padding: 0;
    border: 0;
}
:is(.rating-hero__art, .selection-hero__art, .rating-hero::after,
    .schedule-hero::before, .schedule-hero::after, .selection-hero::after) { display: none; }
:is(.rating-hero__inner, .schedule-hero__inner) {
    min-height: 0;
    padding: 44px 0 28px;
    align-items: start;
}
.rating-hero__copy { max-width: 900px; }
.rating-hero__inner { flex: none; margin-inline: auto; }
.rating-hero::after, .schedule-hero::before, .schedule-hero::after,
.selection-hero::after { display: none; }
.history-hero::before, .history-page .section-heading::after { display: none; }
.rating-hero h1, .schedule-hero h1 { font-size: var(--compact-title); line-height: 1.02; }
.rating-hero h1 > * { display: inline; }
.rating-hero h1 span:last-child { display: block; max-width: none; font-size: .6em; line-height: 1.12; margin-top: 8px; }
.rating-hero__copy > p, .schedule-hero__lead { max-width: 740px; font-size: 20px; line-height: 1.5; margin-top: 18px; }
.rating-page { --rating-deep: var(--compact-bg); }
.rankings-section { padding: 32px 0 48px; border-radius: 24px 24px 0 0; }
.rating-section-heading { margin-bottom: 24px; gap: 28px; }
.rating-section-heading h2 { font-size: var(--compact-heading); line-height: 1.08; }
.rating-controls { margin-bottom: 28px; gap: 20px; }
.rating-current { margin-bottom: 24px; }
.rating-current h3 { font-size: 34px; }
.rating-leaders { margin-bottom: 26px; }
.rating-leader { min-height: 112px; border-radius: 12px; padding: 18px 18px 18px 68px; }
.rating-leader__rank { left: 18px; top: 16px; font-size: 40px; }
.rating-method { padding: 48px 0; background: var(--compact-bg); }
.rating-control-label, .rating-current__meta, .rating-subheading p { font-size: 11px; }
/* Burgundy calendar; separators belong inside event cards. */
.schedule-page {
    --schedule-deep: var(--compact-bg);
    --schedule-ink: var(--compact-cream);
    --schedule-muted: #d0bcb0;
    --schedule-gold: var(--compact-gold);
    --schedule-line: var(--compact-line);
}
.schedule-calendar { padding: 24px 0 48px; background: transparent; color: var(--compact-cream); }
.schedule-calendar__head { margin-bottom: 24px; gap: 24px; }
.schedule-calendar__head { align-items: center; grid-template-columns: 150px minmax(0, 1fr) minmax(220px, .7fr); }
.schedule-calendar__head > p { font-size: 12px; }
.schedule-calendar__head h2 { font-size: 42px; color: var(--compact-cream); line-height: 1.08; }
.schedule-calendar__head h2 { margin-block: 8px; }
.schedule-calendar__head h2 em { color: var(--compact-gold); }
.schedule-calendar__head > span { color: #d0bcb0; }
.schedule-selection { background: var(--compact-panel); border-color: var(--compact-line); border-radius: 14px; margin-bottom: 28px; }
.schedule-selection__buttons button { color: var(--compact-cream); font-size: 11px; border-color: var(--compact-line); min-height: 44px; }
.schedule-selection__buttons button[aria-pressed="true"] { color: #290c0e; border-radius: 8px; }
.schedule-page .schedule-layout { grid-template-columns: 170px minmax(0, 1fr); gap: 32px; }
.schedule-month-nav { border: 0; padding-right: 0; }
.schedule-month-nav a { color: var(--compact-cream); border-color: var(--compact-line); }
.schedule-month-nav a span { color: #c8b5a5; font-size: 11px; }
.schedule-month + .schedule-month { margin-top: 36px; }
.schedule-month__head { margin-bottom: 16px; }
.schedule-month__head h2 { color: var(--compact-cream); font-size: 36px; }
.schedule-month__head::after, .schedule-month__events::before, .schedule-event::before { display: none; }
.schedule-event {
    grid-template-columns: 80px minmax(0, 1fr) minmax(170px, .65fr);
    gap: 22px; padding: 22px; margin-bottom: 12px;
    background: var(--compact-panel); border: 1px solid var(--compact-line); border-radius: 14px;
}
.schedule-event__date strong { color: var(--compact-gold); font-size: 30px; line-height: 1; }
.schedule-event__date span, .schedule-event__age { font-size: 11px; color: #d0bcb0; }
.schedule-event__title { font-size: 25px; line-height: 1.15; margin-bottom: 10px; }
.schedule-event__weapons, .schedule-event__place, .schedule-event__place strong,
    .schedule-event__place span { color: #d0bcb0; }
.schedule-event__weapons span { color: var(--compact-gold); }
.schedule-event__selection-badge { color: var(--compact-gold); background: #ead38d12; border-color: var(--compact-line); }
.schedule-event__registration-link { color: var(--compact-gold); }
.schedule-event__registration { color: var(--compact-gold); font-size: 11px; margin-top: 12px; }
.schedule-event__selection-chip { color: var(--compact-gold); border-color: var(--compact-line); font-size: 10px; }
.schedule-event__link, .schedule-event__qualification, .schedule-event__selection-note { color: var(--compact-gold); }
.schedule-event__weapons { color: #d0bcb0; }
.schedule-calendar a:hover { color: #fff1c4; }
.schedule-footer { background: var(--compact-bg); }
/* Selection: brighter base, readable category cards and one paper calculator. */
.selection-hero__inner { min-height: 0; padding-block: 44px 32px; gap: 32px; }
.selection-intro h1 { font-size: var(--compact-title); line-height: 1; }
.selection-intro__rule, .selection-steps::before, .selection-step::before { display: none; }
.selection-steps { padding: 0; }
.selection-step { border-color: var(--compact-line); }
.selection-step p { font-size: 14px; }
:is(.selection-category, .selection-explainer, .selection-team) { background: transparent; padding-block: 36px; }
.selection-heading h2, .selection-team h2 { font-size: var(--compact-heading); line-height: 1.05; }
.selection-category-panel, .selection-points__card { background: var(--compact-panel); border: 1px solid var(--compact-line); border-radius: 14px; }
.selection-tabs { border-radius: 12px; overflow: hidden; }
.selection-tabs button { background: var(--compact-panel); min-height: 48px; }
.selection-calculation { background: #f4ead5; color: #38191b; border: 0; border-radius: 14px; padding: 24px; }
.selection-calculation > p, .selection-calculation small { color: #745448; }
.selection-calculation strong, .selection-calculation__total strong { color: #782e36; }
.selection-points__card header > p, .selection-points__scale dd { font-size: 11px; }
.selection-notes article { padding-block: 18px; }
/* History: an archive with natural image proportions and restrained rhythm. */
.history-pointer-light, .history-hero__veil, .history-hero::before, .section-heading::after { display: none; }
.history-hero {
    width: min(1240px, calc(100% - 80px)); margin-inline: auto;
    min-height: 0; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
    gap: 36px; padding: 44px 0 28px; background: transparent;
}
.history-hero h1 { font-size: var(--compact-title); line-height: 1; }
.history-hero__lead { font-size: 21px; line-height: 1.5; }
.history-hero__photo { max-width: 400px; align-self: center; }
.history-hero__photo img { max-width: 100%; }
.history-intro { display: block; padding-block: 16px 28px; }
.history-intro__content { max-width: 900px; }
.history-intro__content > p:last-child { font-size: 20px; }
.history-intro__content > p { font-size: 20px; line-height: 1.5; color: #d0bcb0; }
.history-archive-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 16px; }
.history-archive-links a, .history-disk-link { color: var(--compact-gold); text-underline-offset: 5px; }
.history-disk-link { display: inline-flex; min-height: 32px; align-items: center; font-size: 14px; }
:is(.story-section, .archive, .honour-code, .films, .anthem) { padding-block: 40px; background: transparent; }
.history-page .section-heading { grid-template-columns: 42px minmax(0, 1fr); }
.history-page .section-heading h2, .history-page .anthem h2, .history-page .history-finale h2 { font-size: var(--compact-heading); }
.story-year { font-size: 68px; }
.editorial-lead { margin-block: 24px; gap: 28px; }
.editorial-lead > p:not(.story-year), .longform-prose p, .legacy-story > div p, .section-intro { font-size: 21px; line-height: 1.55; }
.foundation-split, .profile-row, .legacy-story { gap: 32px; margin-block: 28px; }
.foundation-split .history-photo, .profile-row .history-photo { max-width: 300px; justify-self: center; }
.history-page .history-photo { width: fit-content; max-width: 100%; justify-self: center; }
.history-page .history-photo img { height: auto; max-height: 360px; width: auto; max-width: 100%; margin-inline: auto; border: 0; border-radius: 12px; box-shadow: none; }
.history-photo figcaption { max-width: 100%; }
.longform-quote { margin-block: 28px; padding: 24px; border: 0; border-radius: 14px; background: #ead38d0a; font-size: 28px; }
.academicians__intro { gap: 28px; margin-bottom: 24px; }
.academicians__intro h3 { font-size: 44px; }
.academicians { margin-top: 36px; }
.tradition-card { border-radius: 14px; overflow: hidden; }
.history-page .tradition-card > :is(img, picture) { aspect-ratio: auto; background: transparent; }
.history-page .tradition-card > img, .history-page .tradition-card > picture > img { display: block; max-height: 240px; height: auto; width: auto; max-width: 100%; margin-inline: auto; object-fit: contain; }
.tradition-card > div { padding: 22px; }
.tradition-card h3, .longform-prose h3 { font-size: 34px; }
.emblem-card__figure img { max-height: 260px; width: auto; margin-inline: auto; }
.legacy-stats { margin-block: 24px; }
.legacy-stats p { padding: 18px; }
.legacy-stats strong { font-size: 46px; }
.archive-grid { columns: 3; column-gap: 16px; }
.archive-card { border: 0; border-radius: 12px; background: var(--compact-panel); margin-bottom: 16px; }
.archive-card img { max-height: 260px; width: auto; height: auto; max-width: 100%; }
.archive-pair { max-width: 780px; margin-block: 28px; gap: 24px; }
.history-finale { min-height: 0; padding: 40px 20px; background: transparent; }
.honour-code__item { padding-block: 14px; }
.anthem__lyrics { font-size: 20px; }
.history-details { border: 1px solid var(--compact-line); border-radius: 14px; padding: 18px 22px; background: var(--compact-panel); }
.history-details summary { cursor: pointer; font-size: 23px; color: var(--compact-gold); }
.history-details[open] summary { margin-bottom: 18px; }
.history-details .reveal { opacity: 1; transform: none; }
.history-details .honour-code__list { margin: 0; }
.history-details .anthem__text { margin-top: 18px; }
.history-details:focus-within { outline: 2px solid var(--compact-gold); outline-offset: 3px; }
/* Champions: real people sooner, consistent portraits and smaller names. */
.champions-hero { min-height: 0; background: transparent; }
.champions-hero__media, .champions-hero__wash, .champions-hero__scroll { display: none; }
.champions-hero__inner { min-height: 0; display: block; padding: 44px 0 28px; }
.champions-hero__copy { max-width: 800px; padding-bottom: 24px; }
.champions-hero h1 { font-size: var(--compact-title); line-height: 1; }
.champions-hero__lead { font-size: 21px; max-width: 700px; }
.champions-hero__stats { border-radius: 14px; background: var(--compact-panel); }
.champions-hero__stats div { min-height: 80px; padding: 16px 24px; }
.champions-hero__stats dt { font-size: 42px; }
:is(.featured-section, .achievement-section, .captains-section) { padding-block: 40px; background: transparent; border: 0; }
.champions-page .section-heading h2 { color: var(--compact-cream); font-size: var(--compact-heading); }
.champions-page .section-heading > p { color: #d0bcb0; }
.featured-athlete, .featured-athlete--reverse { min-height: 0; grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); border-radius: 16px; background: var(--compact-panel); }
.featured-athlete__portrait { min-height: 0; height: auto; width: calc(100% - 40px); max-width: 360px; align-self: start; margin: 20px; border-radius: 12px; background: transparent; }
.featured-athlete__portrait img { object-position: center top; }
.featured-athlete .featured-athlete__portrait img { position: static; width: 100%; height: auto; object-fit: contain; object-position: center; }
.featured-athlete__portrait::after, .featured-athlete::before { display: none; }
.featured-athlete { box-shadow: none; }
.featured-athlete__body { padding: 28px; min-height: 0; }
.featured-athlete__body h3 { font-size: 46px; line-height: 1.05; }
.featured-athlete--reverse .featured-athlete__body { order: 1; }
.featured-athlete__body dl { margin-top: 20px; }
.featured-athlete__body dl div { padding-block: 12px; }
.featured-athlete--reverse .featured-athlete__portrait { order: 0; }
.current-captain { min-height: 0; border-radius: 16px; background: var(--compact-panel); }
.current-captain__copy { padding: 28px; }
.current-captain__year { font-size: 64px; }
.current-captain__copy h3 { font-size: 46px; line-height: 1.05; }
.current-captain__gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-self: center; min-height: 0; padding: 20px; transform: none; }
.current-captain__gallery::after { display: none; }
.current-captain__photo { position: static; width: 100%; height: auto; border: 0; border-radius: 12px; box-shadow: none; transform: none; }
.current-captain__photo img { display: block; width: 100%; height: auto; object-fit: contain; }
.captain-era { border-radius: 14px; background: var(--compact-panel); padding: 22px; }
.next-victory { padding-block: 40px; min-height: 0; background: transparent; }
.next-victory h2 { font-size: var(--compact-heading); }
/* Shop: compact galleries and purchase details immediately after titles. */
.shop-hero { min-height: 0; padding-block: 44px 32px; background: transparent; }
.shop-hero h1 { font-size: var(--compact-title); line-height: 1; }
.shop-hero__lead { font-size: 21px; margin-block: 18px 24px; }
.shop-product--journal { padding-block: 36px; border-radius: 20px; }
.shop-product__inner, .shop-product-card { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px; align-items: start; }
.shop-gallery__main { border: 0; border-radius: 12px; box-shadow: none; }
.shop-gallery { width: 100%; max-width: 420px; justify-self: center; }
.shop-gallery__main img { height: auto; width: auto; max-width: 100%; max-height: 360px; margin-inline: auto; }
.shop-gallery__thumbs, .shop-gallery__thumbs--compact { grid-template-columns: repeat(3, 1fr); }
.shop-thumb { border-radius: 8px; }
.shop-thumb img { height: 72px; object-fit: contain; }
.shop-product__copy h2, .shop-card-copy h2 { font-size: 48px; margin-bottom: 18px; line-height: 1.05; }
.shop-product__standfirst { font-size: 23px; }
.shop-purchase { margin: 0 0 22px; gap: 18px; }
.shop-price strong { font-size: 34px; }
.shop-specs { margin-top: 20px; }
.shop-specs li { padding-block: 10px; }
.shop-pair { padding-block: 36px; }
.shop-product-card { padding-block: 32px; }
.shop-product-card--reverse .shop-gallery, .shop-product-card--reverse .shop-card-copy { order: 0; }
.shop-reservation, .shop-legal, .shop-finale { padding-block: 40px; }
.shop-reservation-form { padding: 24px; border-radius: 16px; }
/* Training, tournament and branches share the same calm editorial scale. */
.training-hero { min-height: 0; padding: 44px max(40px, calc((100vw - 1240px) / 2)) 32px; gap: 32px; background: transparent; }
.training-hero::before, .training-hero__scroll { display: none; }
.training-hero h1, .tournament-hero h1 { font-size: var(--compact-title); line-height: 1; }
.training-hero__lead { font-size: 21px; margin-block: 20px; }
.training-hero__media { padding: 0; background: transparent; box-shadow: none; border: 0; }
.training-hero__media img { width: 100%; height: auto; max-height: none; aspect-ratio: auto; border-radius: 16px; object-fit: contain; }
.training-hero__facts { margin-top: 22px; }
.training-hero__facts div { padding-block: 12px; }
.training-page :is(.training-directions, .weapon-section, .children-section, .adults-section, .schedule-section,
    .tournament-section, .training-contact, .start-section) { padding-block: 40px; background: transparent; }
 .weapon-card { display: block; min-height: 0; padding: 24px; border: 0; border-radius: 18px; background: var(--compact-panel); }
.weapon-card__intro { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 22px; align-items: center; }
.weapon-card figure { min-height: 0; height: auto; align-self: start; border-radius: 12px; background: transparent; }
.weapon-card figure img { width: 100%; height: auto; max-height: none; object-fit: contain; filter: none; }
.weapon-card:hover figure img { transform: none; }
.weapon-card__body { padding: 0; }
.weapon-card h3 { font-size: 44px; margin-block: 8px 12px; }
.weapon-card__lead { margin: 0; font-size: 18px; line-height: 1.5; }
.weapon-card dl { margin-top: 22px; display: grid; gap: 16px; border: 0; }
.weapon-card dl div { padding: 0; border: 0; }
.weapon-card dd { margin-top: 5px; font-size: 18px; }
.weapon-card .trainer-contact { margin-top: 22px; padding: 16px; border: 0; border-radius: 12px; background: #ead38d0a; box-shadow: none; }
.weapon-card .trainer-contact strong { font-size: 25px; line-height: 1.15; }
.direction-card { min-height: 330px; padding: 28px; border-radius: 16px; }
.direction-card h3 { font-size: 46px; margin-block: 22px; }
 .training-page .training-photo img { width: 100%; height: auto; max-height: none; aspect-ratio: auto; object-fit: contain; border: 0; border-radius: 16px; box-shadow: none; }
.training-page .training-standfirst { margin-top: 0; font-size: 22px !important; line-height: 1.5 !important; }
.children-intro__copy > p, .adults-intro__copy > p { font-size: 20px; line-height: 1.6; }
.children-intro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.training-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.training-hero h1 { font-size: clamp(52px, 5vw, 72px); }
.training-hero__facts { border: 0; gap: 12px; }
.training-hero__facts div, .training-hero__facts div + div { padding: 12px 16px; border: 0; border-radius: 12px; background: var(--compact-panel); }
.children-group-card { min-height: 0; border: 0; background: var(--compact-panel); box-shadow: none; border-radius: 18px; }
.children-group-card::before { display: none; }
.children-group-card__schedule, .children-group-card__schedules, .children-group-card__schedule-note { border: 0; }
.children-group-card__schedules .children-group-card__schedule { border: 0; }
.benefit-grid { border: 0; gap: 12px; margin-top: 28px; }
.benefit-grid .benefit-card { padding: 20px; border: 0; border-radius: 14px; background: var(--compact-panel); }
.benefit-card h3 { font-size: 28px; }
.children-gallery { width: 100%; max-width: 900px; grid-template-columns: minmax(0, .5fr) minmax(0, 1fr); gap: 20px; margin: 28px auto 0; align-items: start; }
.children-gallery figure:first-child { max-width: none; }
.training-quote { margin-top: 28px; padding: 24px; border: 0; border-radius: 16px; background: var(--compact-panel); font-size: 28px; }
.adults-gallery { margin-top: 28px; gap: 20px; }
.adults-intro > figure { max-width: 320px; }
.weapon-section__intro { margin: 0 0 24px; font-size: 20px; }
.weapon-section { border: 0; }
.weapon-note { margin-top: 24px; padding: 20px 24px; border: 0; border-radius: 14px; background: var(--compact-panel); font-size: 19px; }
.children-intro, .adults-intro, .contact-section__inner { gap: 32px; }
.training-contact .contact-form { padding: 26px; border-radius: 16px; background: var(--compact-panel); }
.branch-intro { padding: 36px 0 24px; }
.branch-lead { margin-block: 18px 24px; font-size: 20px; }
.branch-grid { gap: 18px; margin-bottom: 36px; }
.branch-card, .branch-card--featured, .branch-location { padding: 26px; background: var(--compact-panel); border-color: var(--compact-line); border-radius: 14px; }
.branch-card h2, .branch-location h2 { font-size: 36px; }
.branch-schedule { padding-block: 24px; margin-bottom: 28px; border: 0; }
.branch-actions { margin-top: 22px; gap: 16px; }
.tournament-hero { min-height: 0; padding-block: 44px 32px; gap: 32px; }
.tournament-hero { width: min(1240px, calc(100% - 80px)); margin-inline: auto; }
.tournament-hero__copy { padding: 0; border: 0; }
.tournament-hero__collage { align-self: center; height: auto; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: auto; padding: 0; gap: 12px; overflow: hidden; background: transparent; }
.tournament-hero__lead { font-size: 21px; }
.tournament-hero__collage img { height: auto; max-height: none; object-fit: contain; border-radius: 12px; }
.tournament-hero__facts dd { color: #d0bcb0; }
.tournament-chronicle__features { height: auto; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr) minmax(0, .75fr); grid-template-rows: auto; gap: 14px; }
.tournament-chronicle__feature--main { grid-row: auto; }
.tournament-chronicle__feature { border-radius: 12px; }
.tournament-chronicle__feature img { height: auto; object-fit: contain; }
.tournament-gallery__grid { display: block; columns: 3; column-gap: 14px; }
.tournament-gallery__item { display: inline-block; width: 100%; margin-bottom: 14px; break-inside: avoid; border-radius: 12px; background: transparent; }
.tournament-gallery__item img { height: auto; object-fit: contain; }
:is(.tournament-about, .tournament-program, .tournament-chronicle, .tournament-leaders,
    .tournament-gallery, .tournament-registration, .tournament-manifesto) { padding-block: 40px; }
.tournament-principle { padding: 22px; }
.tournament-registration__inner { gap: 32px; }
/* The home page retains its emblem; other sections become tighter. */
body.home-page .hero { display: grid; align-items: center; min-height: 640px; }
body.home-page .hero__brand { position: relative; top: auto; transform: none; margin-block: 48px 72px; }
body.home-page .hero::after { height: clamp(100px, 16vh, 180px); }
body.home-page .hero__fencer {
    height: 100%; max-height: 88vh;
    -webkit-mask-image: linear-gradient(to bottom, #000 75%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 75%, transparent 100%);
}
body.home-page .hero__brand { gap: 24px; }
body.home-page .hero__emblem { max-height: 300px; }
.home-page .slider { border: 0; padding: 0; border-radius: 14px; background: var(--compact-panel); box-shadow: none; }
.home-page .slider__slide { object-fit: contain; }
.home-page .heritage__frame { padding: 0; border: 0; border-radius: 14px; overflow: hidden; box-shadow: none; }
.home-page .heritage__frame::before { display: none; }
.home-page .heritage__image { border: 0; aspect-ratio: auto; object-fit: contain; }
body.home-page .training-directions {
    background:
        linear-gradient(180deg, #190406 0px, rgba(25, 4, 6, 0) 180px),
        radial-gradient(ellipse at 50% 8%, rgba(107, 34, 39, .24), transparent 58%),
        linear-gradient(180deg, #190406 0%, #25090c 48%, #1a0808 100%);
}
body.home-page :is(.about, .paths, .stats-section) { padding-block: 48px; }
.legal-page__inner { padding-block: 24px 40px; }
.legal-document { padding: 30px; box-shadow: none; }
.legal-document h1 { font-size: 36px; }
.legal-document h2 { font-size: 28px; }
.legal-dialog__head h2 { font-size: 24px; }
.legal-dialog__body h2 { font-size: 26px; }
body .site-header__cta { color: #29130d !important; text-shadow: none; }
.training-directions h2, .heritage__title, .contact__title { font-size: var(--compact-heading); }
.training-heading h2, .contact-section__copy h2, .tournament-feature h2, .start-cta h2 { font-size: var(--compact-heading); }
.children-group-card { padding: 26px; border-radius: 14px; }
.children-group-card h3 { font-size: 34px; line-height: 1.1; }
.legal-toc { display: flex; flex-wrap: wrap; gap: 8px 18px; padding-block: 18px; margin-block: 18px; border-block: 1px solid #5b142522; }
.legal-toc a { font-size: 17px; }
.heritage, .about { padding-block: 48px; }
.home-page .contact { padding-block: 40px 0; }
.home-page .contact__inner { gap: 40px; padding-bottom: 32px; }
.home-page .contact__bottom { padding-block: 22px; }
@media (min-width: 901px) {
    body.section-nav-enabled, body:has(.section-nav) { padding-left: 0; }
    .section-nav {
        position: sticky; inset: auto; top: var(--site-header-height, 72px);
        width: 100%; padding: 8px 40px; flex-direction: row; justify-content: center;
        border: 0; background: #290c0ef5; box-shadow: none;
    }
    .section-nav::before, .section-nav::after, .section-nav a::before,
    .section-nav__eyebrow { display: none; }
    .section-nav .section-nav__list { display: flex; gap: 8px; align-items: center; }
    .section-nav li + li { margin: 0; }
    .section-nav a { min-height: 40px; padding: 8px 16px; border: 0; border-radius: 999px; font-size: 15px; box-shadow: none; }
    .section-nav a.is-active, .section-nav a[aria-current="location"] { background: #ead38d; box-shadow: none; }
}
@media (max-width: 1000px) {
    .schedule-event { grid-template-columns: 70px minmax(0, 1fr); }
    .schedule-event__place { grid-column: 2; }
    .featured-athlete, .featured-athlete--reverse { grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); }
    .academicians__intro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-left: 0; }
    .academician-entry { grid-template-columns: 46px minmax(110px, 152px) minmax(0, 1fr); gap: 16px; padding: 20px 18px 20px 8px; }
    .academician-entry__years { grid-column: 3; flex-direction: row; align-items: center; gap: 10px; text-align: left; }
    .academician-entry__years i { width: 24px; margin: 0; }
}
@media (max-width: 760px) {
    :root { --compact-title: 52px; --compact-heading: 38px; }
    :is(.rating-shell, .schedule-shell, .selection-shell, .shop-shell, .training-shell,
        .tournament-shell, .champions-shell, .section-shell, .history-hero) { width: calc(100% - 36px); }
    :is(.rating-hero__inner, .schedule-hero__inner, .selection-hero__inner, .champions-hero__inner) { padding-block: 28px 20px; }
    .rating-hero h1 { font-size: 48px; }
    .rating-hero h1 span:last-child { font-size: 28px; }
    .rating-hero__copy > p, .schedule-hero__lead { font-size: 18px; }
    .rating-section-heading { grid-template-columns: 1fr; gap: 12px; }
    .rankings-section { padding-block: 24px 32px; }
    .rating-controls { gap: 16px; }
    .rating-leaders__grid { grid-template-columns: 1fr; gap: 8px; }
    .rating-leader { min-height: 0; padding: 14px 16px 14px 60px; gap: 5px; }
    .rating-leader__rank { font-size: 32px; left: 16px; top: 12px; }
    .rating-current h3 { font-size: 29px; }
    .rating-method { padding-block: 32px; }
    .schedule-calendar { padding-block: 20px 32px; }
    .schedule-calendar__head h2 { font-size: 34px; }
    .schedule-calendar__head { grid-template-columns: 1fr; gap: 12px; }
    .schedule-calendar__head > span { margin-top: 12px; }
    .schedule-selection { margin: 0 0 24px; }
    .schedule-page .schedule-layout { grid-template-columns: 1fr; gap: 24px; }
    .schedule-month-nav { position: static; display: flex; flex-wrap: wrap; gap: 8px; background: transparent; padding: 0; margin: 0 0 24px; box-shadow: none; }
    .schedule-month-nav > p { flex-basis: 100%; margin-bottom: 4px; }
    .schedule-month-nav a, .schedule-month-nav a:last-child { min-height: 44px; padding: 6px 12px; border: 1px solid var(--compact-line); border-radius: 999px; font-size: 17px; }
    .schedule-month-nav a span { display: none; }
    .schedule-month__head h2 { font-size: 32px; }
    .schedule-event { grid-template-columns: 60px minmax(0, 1fr); gap: 12px; padding: 18px 14px; }
    .schedule-event__date strong { font-size: 26px; }
    .schedule-event__title { font-size: 23px; }
    .selection-hero__inner { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .selection-hero__inner > * { min-width: 0; }
    .selection-tabs { grid-template-columns: repeat(5, minmax(86px, 1fr)); }
    .selection-step { padding-block: 10px; }
    .selection-step h2 { font-size: 24px; }
    .selection-calculation { padding: 20px 16px; }
    .history-hero { grid-template-columns: 1fr; padding-block: 28px 20px; gap: 22px; }
    .history-hero__lead { font-size: 20px; }
    .history-hero__photo { max-width: 330px; justify-self: center; }
    .history-intro { padding-block: 12px 20px; }
    .history-page .section-heading { grid-template-columns: 28px minmax(0, 1fr); gap: 8px; }
    :is(.story-section, .archive, .honour-code, .films, .anthem) { padding-block: 28px; }
    .editorial-lead { gap: 16px; margin-block: 20px; }
    .editorial-lead > p:not(.story-year), .longform-prose p, .legacy-story > div p, .section-intro { font-size: 20px; }
    .foundation-split, .profile-row, .legacy-story { gap: 20px; margin-block: 20px; }
    .history-page .history-photo img { max-height: 280px; }
    .foundation-split .history-photo, .profile-row .history-photo, .profile-row--reverse .history-photo { max-width: 250px; margin-inline: auto; }
    .archive-grid { columns: 2; column-gap: 12px; }
    .archive-card { padding: 8px; margin-bottom: 12px; }
    .archive-card img { max-height: 190px; }
    .archive-card figcaption { font-size: 13px; }
    .archive-card .history-disk-link { font-size: 12px; }
    .longform-quote { padding: 18px; font-size: 25px; }
    .academicians__intro h3 { font-size: 36px; }
    .champions-hero__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .champions-hero__stats div { display: block; min-height: 0; padding: 14px 12px; }
    .champions-hero__stats dt { font-size: 34px; margin-bottom: 8px; }
    .champions-hero__stats dd { font-size: 11px; }
    :is(.featured-section, .achievement-section, .captains-section) { padding-block: 28px; }
    .featured-athlete, .featured-athlete--reverse { grid-template-columns: 1fr; }
    .featured-athlete--reverse .featured-athlete__portrait, .featured-athlete--reverse .featured-athlete__body { grid-column: auto; grid-row: auto; }
    .featured-athlete__portrait { height: auto; max-width: 280px; margin-inline: auto; }
    .featured-athlete__body { padding: 22px; }
    .featured-athlete__body h3, .current-captain__copy h3 { font-size: 38px; }
    .current-captain__gallery { min-height: 0; padding: 16px; }
    .shop-hero { padding-block: 28px 24px; }
    .shop-product__inner, .shop-product-card { grid-template-columns: 1fr; gap: 22px; }
    .shop-gallery__main img { height: auto; max-height: 300px; }
    .shop-thumb img { height: 60px; object-fit: contain; }
    .shop-product__copy h2, .shop-card-copy h2 { font-size: 38px; }
    .shop-purchase { flex-direction: row; align-items: center; flex-wrap: wrap; }
    .shop-purchase .shop-button { width: auto; flex: 1; }
    .shop-specs li { flex-direction: row; gap: 16px; }
    .shop-product--journal, .shop-product-card, .shop-pair { padding-block: 24px; }
    .shop-reservation, .shop-legal, .shop-finale { padding-block: 28px; }
    .training-hero { padding: 28px 18px 24px; grid-template-columns: 1fr; gap: 22px; }
    .training-hero__lead { font-size: 20px; }
    .training-hero__actions { flex-direction: row; flex-wrap: wrap; }
    .training-hero__actions > .training-button--gold { width: 100%; }
    .training-hero__actions .training-button--ghost { width: auto; flex: 1; }
    .training-hero__media img { max-height: none; }
    .training-page--children .training-hero__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .training-hero__facts dd { font-size: 11px; }
    .training-hero__facts div + div { padding-left: 12px; border-left: 1px solid var(--compact-line); border-top: 0; }
    .training-page :is(.training-directions, .weapon-section, .children-section, .adults-section, .schedule-section,
        .tournament-section, .training-contact, .start-section) { padding-block: 28px; }
     .weapon-card { padding: 20px; }
    .weapon-card__intro { grid-template-columns: 100px minmax(0, 1fr); gap: 16px; }
    .weapon-card figure { height: auto; }
    .weapon-card__body { padding: 0; }
    .weapon-card .trainer-contact { padding: 16px; }
    .children-intro { grid-template-columns: minmax(0, 1fr); }
    .training-page .training-standfirst { font-size: 20px !important; }
    .children-gallery { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .children-gallery figure:first-child { width: min(100%, 260px); justify-self: center; }
    .training-quote { font-size: 25px; }
    .training-hero__facts div + div { padding-left: 16px; border: 0; }
    .weapon-card h3 { font-size: 38px; }
    .branch-intro { padding-block: 28px 20px; }
    .branch-card, .branch-card--featured, .branch-location { padding: 22px; }
    .branch-card h2, .branch-location h2 { font-size: 32px; }
    .branch-intro--split { gap: 20px; }
    .tournament-hero { padding-block: 28px 24px; gap: 22px; }
    .tournament-hero { width: calc(100% - 36px); }
    .tournament-hero__collage { height: auto; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: auto; }
    .tournament-hero__collage img { height: auto; max-height: none; }
    .tournament-gallery__grid, .tournament-chronicle__features { display: block; columns: 2; column-gap: 12px; }
    .tournament-chronicle__feature { display: inline-block; width: 100%; margin-bottom: 12px; break-inside: avoid; }
    :is(.tournament-about, .tournament-program, .tournament-chronicle, .tournament-leaders,
        .tournament-gallery, .tournament-registration, .tournament-manifesto) { padding-block: 28px; }
    body.home-page .hero { min-height: 560px; }
    body.home-page .hero__brand { left: auto; margin: 32px auto 56px; }
    body.home-page .hero__emblem { max-height: 230px; }
    .legal-document { padding: 22px 18px; }
    .legal-document h1 { font-size: 30px; }
    .legal-document h2 { font-size: 26px; }
    .children-group-card { padding: 22px; }
    .children-group-card h3 { font-size: 29px; }
    .section-nav { border: 0; border-radius: 12px; box-shadow: none; background: #351316f5; }
    .heritage, .about { padding-block: 28px; }
    .home-page .contact { padding-block: 28px 0; }
    .home-page .contact__inner { gap: 28px; padding-bottom: 24px; }
}

/* Preserve the complete journal cover, including its title and imprint. */
.history-journal-cta__cover { height: auto; border: 0; transform: none; border-radius: 8px; }
.history-journal-cta__cover::after { display: none; }
.history-journal-cta__cover img { height: auto; object-fit: contain; }

.training-page .schedule-layout { grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 20px; }
.training-page .schedule-layout .adults-schedule { padding: 24px; border: 0; border-radius: 16px; background: var(--compact-panel); }
@media (max-width: 760px) {
    .training-page .schedule-layout { grid-template-columns: 1fr; }
    .academician-entry__years { grid-column: 2 / -1; flex-wrap: wrap; }
    .champions-hero__stats dd { overflow-wrap: anywhere; letter-spacing: .035em; }
}

/* Quiet surfaces replace the oversized framed panels. */
.tournament-hero { background: transparent; }
.tournament-hero__copy { background: transparent; }
.tournament-heading__intro { margin-top: 12px; padding-top: 0; border: 0; }
.tournament-champions::before { display: none; }
.tournament-champions__list { gap: 16px; border: 0; }
.tournament-champion, .tournament-champion + .tournament-champion { min-height: 0; padding: 24px; gap: 20px; border: 0; border-radius: 16px; background: var(--compact-panel); grid-template-columns: 64px minmax(0, 1fr); }
.tournament-champion__place { font-size: 64px; line-height: 1; }
.tournament-champion h3 { margin-block: 12px; font-size: 36px; line-height: 1.08; }
.achievement-panel, .achievement-panel.is-open { border: 0; border-radius: 14px; background: var(--compact-panel); box-shadow: none; }
.achievement-panel::before { display: none; }
.achievement-panel__trigger { height: auto; min-height: 100px; grid-template-columns: 80px minmax(0, 1fr) auto; gap: 22px; padding: 22px; }
.achievement-panel__intro { border: 0; padding-right: 0; gap: 10px; }
.achievement-panel__number { font-size: 40px; line-height: 1; }
.achievement-panel__title { font-size: 32px; line-height: 1.12; }
body:has(link[href*="compact.css"]) .contact-form { gap: 18px; border: 0; }
body:has(link[href*="compact.css"]) .contact-form__field :is(input, textarea) { border-radius: 10px; border-color: var(--compact-line); }
body:has(link[href*="compact.css"]) .contact-form__submit { border-radius: 999px; box-shadow: none; letter-spacing: .025em; }
@media (max-width: 760px) {
    .tournament-champion, .tournament-champion + .tournament-champion { padding: 20px; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; }
    .tournament-champion__place { font-size: 48px; }
    .tournament-champion h3 { font-size: 30px; }
    .achievement-panel__trigger { min-height: 92px; grid-template-columns: 40px minmax(0, 1fr) 30px; gap: 12px; padding: 18px; }
    .achievement-panel__number { font-size: 28px; }
    .achievement-panel__eyebrow { display: none; }
    .achievement-panel__title { font-size: 25px; }
    .achievement-panel__icon { width: 30px; height: 30px; flex-basis: 30px; }
    .history-finale { padding-block: 28px; }
    .history-finale p:not(.section-eyebrow) { font-size: 20px; margin-top: 20px; }
    .history-finale__actions { margin-top: 24px; }
}
@media (max-width: 560px) {
    .academicians__intro { grid-template-columns: 1fr; gap: 12px; }
    .history-journal-cta__content { grid-template-columns: 80px minmax(0, 1fr); gap: 16px; padding: 16px; }
    .history-journal-cta__cover { width: 80px; }
    .history-journal-cta h2 { font-size: 28px; overflow-wrap: anywhere; }
    .history-journal-cta__copy { min-width: 0; }
    .training-hero__facts { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
    .training-hero__facts dd { font-size: 11px; letter-spacing: .03em; }
}
@media (max-width: 560px) {
    .training-page--children .training-hero__facts { grid-template-columns: 1fr; }
}

/* Compact profiles keep the portrait and biography together, without photo mats. */
.history-page .academicians__intro { display: block; margin: 0 0 20px; }
.history-page .academicians__intro h3 { margin-block: 10px; }
.history-page .academicians__chronology { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; border: 0; background: transparent; box-shadow: none; }
.history-page .academicians__chronology::before, .history-page .academician-entry::before, .history-page .academician-entry::after, .history-page .academician-entry__number { display: none; }
.history-page .academician-entry { grid-template-columns: 100px minmax(0, 1fr); gap: 8px 18px; min-height: 0; align-items: start; padding: 20px; border: 0; border-radius: 14px; background: var(--compact-panel); }
.history-page .academician-entry__portrait { grid-column: 1; grid-row: 1 / 3; width: 100px; height: auto; background: transparent; border: 0; border-radius: 9px; box-shadow: none; overflow: hidden; }
.history-page .academician-entry__portrait img { width: 100%; height: auto; object-fit: contain; filter: none; }
.history-page .academician-entry__content { grid-column: 2; min-width: 0; }
.history-page .academician-entry__content h4 { font-size: 26px; line-height: 1.15; }
.history-page .academician-entry__honour { margin-bottom: 8px; font: 500 10px/1.4 Inter, Arial, sans-serif; letter-spacing: .03em; }
.history-page .academician-entry__role { margin-top: 8px; font: 400 14px/1.45 Inter, Arial, sans-serif; }
.history-page .academician-entry__years { grid-column: 2; display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: flex-start; margin: 2px 0 0; text-align: left; font: 500 14px/1.4 Inter, Arial, sans-serif; }
.history-page .academician-entry__years i { width: 16px; height: 1px; margin: 0; }
.history-page .academician-entry__years strong { margin: 0; font-size: 10px; line-height: 1.4; }
.history-page .archive-card { padding: 0; margin-bottom: 18px; background: transparent; border: 0; box-shadow: none; }
.history-page .archive-card figcaption { margin: 8px 0 0; padding: 0 2px; }
.history-archive-action { display: flex; justify-content: center; margin-top: 22px; }
.history-archive-action .history-button { min-height: 44px; padding: 13px 24px; border-radius: 12px; }
@media (max-width: 900px) {
    .history-page .academicians__chronology { grid-template-columns: 1fr; }
}
