/* Al Manar — pages internes. Tous les sélecteurs restent sous .interior-page. */
.interior-page {
  --interior-blue: #153d75;
  --interior-action: #145ed9;
  --interior-ink: #243b53;
  --interior-muted: #566c80;
  --interior-line: #e1e9f2;
  --interior-soft: #f4f7fb;
  --interior-accent: #145ed9;
  --interior-tint: #edf3fc;
  background: #fff;
  color: var(--interior-ink);
}
.interior-page.page-formations { --interior-accent: #16775b; --interior-tint: #edf7f2; }
.interior-page.page-africeduc { --interior-accent: #856021; --interior-tint: #fff8e8; }
.interior-page :where(main, section, article, .grid, .grid > *, .hero-layout > *) { min-width: 0; }
.interior-page :where(a, button, summary):focus-visible { outline: 3px solid var(--interior-action); outline-offset: 4px; }
.interior-page main { color: var(--interior-ink); }
.interior-page main > section { padding-block: clamp(3rem, 5.5vw, 5rem); }
.interior-page main > section.bg-gray-50 { background: var(--interior-soft); }
.interior-page main :where(h1, h2, h3) { color: var(--interior-blue); text-wrap: balance; }
.interior-page main h2 { font-size: clamp(1.65rem, 3.1vw, 2.45rem); line-height: 1.25; margin-bottom: 2rem; letter-spacing: -.025em; }
.interior-page main h3 { font-size: clamp(1.15rem, 1.9vw, 1.4rem); line-height: 1.4; letter-spacing: -.018em; }
.interior-page .gallery-heading,
.interior-page .events-section > .container > h1 { max-width: 24ch; color: var(--interior-blue); font-size: clamp(2.2rem, 4.5vw, 3.5rem); line-height: 1.15; letter-spacing: -.04em; margin-bottom: 1.4rem; }
.interior-page .gallery-intro { max-width: 66ch; margin-inline: 0; text-align: start; line-height: 1.85; margin-bottom: 2.5rem; }
.interior-page.page-galerie main { background: #f6f8fb; }
.interior-page.page-galerie [data-gallery-grid] { gap: clamp(1rem, 2vw, 1.6rem); }
.interior-page .gallery-card > a { display: block; background: #e9eff6; box-shadow: none; }
.interior-page .gallery-card > a:focus-visible { outline-offset: 5px; }
.interior-page main :where(p, li) { line-height: 1.75; }
.interior-page main :where(.text-gray-700, .text-gray-600) { color: var(--interior-muted); }
.interior-page main :where(.text-blue-900, .text-blue-600) { color: var(--interior-blue); }
.interior-page main :where(.text-green-600, .text-green-800, .text-green-900) { color: #16775b; }
.interior-page main :where(.text-orange-600, .text-orange-800, .text-orange-900) { color: #856021; }
.interior-page main :where(.text-purple-600, .text-purple-900) { color: var(--interior-blue); }
.interior-page main .grid { gap: clamp(1rem, 2.3vw, 1.75rem); }

/* Une navigation légère, toujours identifiable et utilisable au clavier. */
.interior-page header.sticky {
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--interior-line);
  box-shadow: 0 2px 14px #153d7505;
  backdrop-filter: blur(12px);
}
.interior-page header > .container { display: grid; grid-template-columns: 1fr minmax(0, auto) 1fr; align-items: center; gap: 1rem; padding-block: .7rem; }
.interior-page header > .container > a:first-child { justify-self: start; min-height: 44px; min-width: 44px; padding: .6rem .85rem; border: 1px solid var(--interior-line); border-radius: 12px; gap: .45rem; color: var(--interior-blue); font-weight: 600; font-size: .85rem; }
.interior-page header > .container > a:first-child:hover { background: var(--interior-soft); border-color: #c6d7ed; }
.interior-page header h1 { color: var(--interior-blue); font-size: clamp(.95rem, 1.45vw, 1.2rem); line-height: 1.35; margin: 0; text-align: center; letter-spacing: -.02em; }
.interior-page header .header-end { justify-self: end; gap: .85rem; }
.interior-page header .header-end > a { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.interior-page header .brand-mark-small { height: 46px; width: 40px; }
.interior-page header .language-switcher { padding: 3px; gap: 0; background: var(--interior-soft); border: 1px solid var(--interior-line); border-radius: 12px; }
.interior-page header .language-switcher > span { display: none; }
.interior-page header .language-switcher a { min-width: 44px; min-height: 44px; border-radius: 8px; color: #566c80; font-size: .75rem; }
.interior-page header .language-switcher a[aria-current="true"] { color: var(--interior-blue); background: white; box-shadow: 0 1px 5px #153d7510; }

/* Héros : la typographie porte le message, l'illustration garde de l'espace. */
.interior-page main > .page-hero,
.interior-page.page-partenaires main > section:first-child {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3rem, 6vw, 5.5rem);
  background: linear-gradient(115deg, #f4f7fb 0%, #f4f7fb 57%, #edf3fc 100%);
  border-bottom: 1px solid var(--interior-line);
}
.interior-page.page-formations main > .page-hero { background: linear-gradient(115deg, #f4f8f6 0%, #f4f8f6 57%, #e7f3ec 100%); }
.interior-page.page-africeduc main > .page-hero { background: linear-gradient(115deg, #faf9f4 0%, #faf9f4 57%, #fbf0d6 100%); }
.interior-page .hero-layout { grid-template-columns: minmax(0, 1.5fr) minmax(240px, .85fr); gap: clamp(2rem, 5vw, 5rem); }
.interior-page .page-hero h1,
.interior-page.page-partenaires main > section:first-child h1 { max-width: 19ch; margin-bottom: 1.5rem; font-size: clamp(2rem, 4.1vw, 3.4rem); line-height: 1.15; letter-spacing: -.04em; }
.interior-page .page-hero p,
.interior-page.page-partenaires main > section:first-child p { max-width: 62ch; font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.85; color: var(--interior-muted); margin-bottom: 0; }
.interior-page .page-hero .inline-block { margin-bottom: 1.25rem; padding: .45rem .8rem; border: 1px solid color-mix(in srgb, var(--interior-accent) 18%, transparent); border-radius: 6px; background: white; color: var(--interior-accent); font-size: .68rem; font-weight: 700; letter-spacing: .1em; line-height: 1.5; }
.interior-page .hero-art { position: relative; padding: 1rem; }
.interior-page .hero-art::before { content: ""; position: absolute; width: 88%; aspect-ratio: 1; background: #ffffffb8; border: 1px solid #ffffff; border-radius: 50%; }
.interior-page .hero-mascot { position: relative; width: min(100%, 335px); max-height: 355px; filter: none; transition: none; }
.interior-page .hero-mascot:hover { transform: none; }

/* Cartes et chiffres, avec une hiérarchie commune aux trois programmes. */
.interior-page main .grid > :is([class*="rounded-2xl"], [class*="rounded-xl"], .handicap-partner-card),
.interior-page main .coverage-grid > div {
  border: 1px solid var(--interior-line);
  border-radius: 16px;
  background: #fff;
  padding: clamp(1.3rem, 2.4vw, 1.85rem);
  box-shadow: 0 4px 16px #153d7505;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.interior-page main .grid > :is([class*="rounded-2xl"], [class*="rounded-xl"]):hover { border-color: #c8d8eb; box-shadow: 0 7px 22px #153d7509; }
.interior-page .page-hero + section .grid > div { background: var(--interior-tint); border-color: transparent; box-shadow: none; padding-block: 1.65rem; }
.interior-page .page-hero + section .grid > div > svg { width: 32px; height: 32px; margin-bottom: .9rem; color: var(--interior-accent); }
.interior-page .page-hero + section .text-4xl { color: var(--interior-blue); font-size: clamp(2rem, 3.8vw, 3rem); letter-spacing: -.04em; line-height: 1.2; }
.interior-page .page-hero + section .text-xl { font-size: 1.2rem; }
.interior-page main .grid > [class*="border-l-4"] { border-inline-start: 4px solid var(--interior-action); }
.interior-page main .grid > .overflow-hidden:has(> img) { padding: 0; border: 0; border-radius: 24px; background: var(--interior-soft); }
.interior-page main .grid > .overflow-hidden:has(> img) > img { width: 100%; height: clamp(240px, 31vw, 400px); object-fit: cover; }
.interior-page main .grid > .group.overflow-hidden { padding: 0; border-radius: 20px; }
.interior-page main .grid > .group.overflow-hidden img { display: block; width: 100%; height: 230px; object-fit: cover; transition: transform .3s ease; }
.interior-page main .care-icon { flex-basis: 36px; width: 36px; height: 36px; margin-top: .1rem; border-radius: 10px; }
.interior-page main .space-y-4 > li { align-items: flex-start; gap: .85rem; }
.interior-page .training-download,
.interior-page .formation-download { display: inline-flex; justify-content: center; align-items: center; gap: .6rem; min-height: 48px; max-width: 100%; padding: .85rem 1rem; background: #16775b; color: white; border-radius: 10px; font-size: .85rem; font-weight: 600; line-height: 1.5; white-space: normal; text-decoration: none; text-align: start; }
.interior-page .training-download svg { flex-shrink: 0; }
.interior-page .training-download:hover,
.interior-page .formation-download:hover { background: #106447; }
.interior-page .training-download-pending { background: #f0f4f7; color: #566c80; font-weight: 500; }
.interior-page.page-formations main .grid:has(.training-download) { align-items: stretch; }
.interior-page.page-formations main .grid > div:has(.training-download) { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; }
.interior-page.page-formations main .grid > div:has(.training-download) h3 { margin-bottom: 1.5rem; }
.interior-page.page-formations main .grid > div:has(.training-download) .training-download { margin-top: auto; }

/* Sport : lecture chronologique dans le sens de la langue, sans tracé encombrant. */
.interior-page.page-handicap main > section:has(.sport-timeline) { background: #f0f6f3; }
.interior-page .sport-timeline-wrap { margin-top: 2rem; }
.interior-page .sport-timeline-path { display: none; }
.interior-page .sport-timeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: none; gap: 1rem; margin: 0; padding: 0; border: 0; }
.interior-page .sport-milestone,
.interior-page .sport-milestone:nth-of-type(n) { grid-column: auto; grid-row: auto; position: relative; min-height: 190px; padding: 1.4rem; border: 1px solid #dce8e0; border-radius: 16px; background: #fff; color: var(--interior-ink); text-align: start; }
.interior-page .sport-milestone::before { display: none; }
.interior-page .sport-milestone-dot { position: absolute; top: 1.6rem; inset-inline-start: auto; inset-inline-end: 1.3rem; width: 9px; height: 9px; transform: none; background: #f2c66b; }
.interior-page .sport-milestone-year { padding: .1rem 0; border-radius: 0; background: none; color: #16775b; font-size: 1.55rem; font-weight: 700; }
.interior-page .sport-milestone p { max-width: none; margin: .75rem 0 0; color: var(--interior-muted); line-height: 1.65; font-size: .88rem; font-weight: 500; }
.interior-page main .bg-blue-900 { background: var(--interior-blue); border-radius: 16px; box-shadow: none; padding: clamp(1.4rem, 3vw, 2rem); }
.interior-page main .bg-blue-900 :where(p, h3, strong) { color: white; }

/* Les archives s'ouvrent dans la page : leur lecture reste confortable. */
.interior-page .history-help { max-width: 55ch; margin: -.75rem auto 2rem; color: var(--interior-muted); font-size: .95rem; }
.interior-page .history-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.interior-page .history-card { border: 1px solid var(--interior-line); border-radius: 16px; box-shadow: none; overflow: hidden; }
.interior-page .history-card summary { min-height: 130px; gap: .65rem; padding: 1.4rem 3rem 1.4rem 1.4rem; }
.interior-page .history-year { align-self: flex-start; color: #16775b; background: #edf7f2; padding: .2rem .65rem; font-size: .75rem; }
.interior-page .history-title { color: var(--interior-blue); font-size: .95rem; line-height: 1.5; }
.interior-page .history-plus { top: 1.5rem; inset-inline-end: 1.25rem; color: var(--interior-action); font-size: 1.35rem; line-height: 1; }
.interior-page .history-card[open] { border-color: #b9cfe8; box-shadow: 0 5px 18px #153d7508; }
.interior-page .history-popover,
.interior-page .history-card[data-placement="above"] .history-popover { position: static; inset: auto; padding: 1.2rem; max-height: none; overflow: visible; border: 0; border-top: 1px solid var(--interior-line); border-radius: 0; box-shadow: none; }
.interior-page .history-popover img { width: 100%; height: auto; max-height: 300px; object-fit: contain; border-radius: 10px; background: var(--interior-soft); }
.interior-page .history-popover p { color: var(--interior-muted); font-size: .9rem; line-height: 1.75; }

/* AfricEduc : la carte et les chiffres sont un ensemble visuel cohérent. */
.interior-page .network-map { max-width: 1050px; padding: clamp(.5rem, 1.5vw, 1.1rem); border: 1px solid var(--interior-line); border-radius: 24px; background: #fff; box-shadow: 0 6px 24px #153d7505; }
.interior-page .network-map-stage { border-radius: 16px; background: #fff; }
.interior-page .network-marker { background: #f2c66b; min-width: 9px; min-height: 9px; }
.interior-page .network-marker::before { background: #856021; }
.interior-page .network-marker span { padding: .45rem .65rem; border-radius: 7px; background: var(--interior-blue); font-size: .75rem; }
.interior-page .coverage-caption { max-width: 75ch; margin: 1rem auto 2rem; color: var(--interior-muted); line-height: 1.7; font-style: normal; }
.interior-page .coverage-grid { gap: 1rem; }
.interior-page .coverage-grid > div { background: #fffaf0; border-color: #eee5d1; box-shadow: none; padding: 1.4rem; }
.interior-page .coverage-grid h3 { color: var(--interior-blue); }
.interior-page .coverage-grid .text-4xl { font-size: clamp(2rem, 3vw, 2.7rem); color: var(--interior-blue); }
.interior-page .coverage-continents { margin-top: 1.8rem; color: var(--interior-muted); font-size: .9rem; }
.interior-page.page-africeduc main > section:nth-last-child(2) { background: var(--interior-soft); }

/* Galerie : les photos sont le contenu, sans cadre ni effet inutile. */
.interior-page.page-galerie main > section { background: var(--interior-soft); padding-block: clamp(2rem, 4vw, 3.5rem); }
.interior-page .gallery-intro { max-width: 65ch; margin: 0 auto 2rem; color: var(--interior-muted); font-size: 1.05rem; line-height: 1.8; }
.interior-page [data-gallery-grid] { gap: 1.2rem; }
.interior-page .gallery-card { margin: 0; border: 0; border-radius: 24px; background: #e7edf5; box-shadow: none; }
.interior-page .gallery-card > a { position: relative; display: block; border-radius: inherit; }
.interior-page .gallery-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transform: none; transition: transform .3s ease; }
.interior-page .gallery-card > a:hover img { transform: scale(1.025); }
.interior-page .gallery-card > a:focus-visible { outline-offset: -5px; }
.interior-page .gallery-viewer { background: #071526f7; }
.interior-page .gallery-viewer .gallery-caption { color: #f4f7fb; }
.interior-page .gallery-viewer .gallery-controls button,
.interior-page .gallery-viewer .gallery-nav { border: 1px solid #ffffff2e; background: #ffffff18; }
.interior-page .gallery-viewer .gallery-controls button:hover,
.interior-page .gallery-viewer .gallery-nav:hover { background: #ffffff30; }

/* Les événements restent organisés par année, chaque archive conserve sa photo. */
.interior-page.page-evenements main { background: var(--interior-soft); }
.interior-page .events-section > .container > h2 { margin-bottom: 2rem; }
.interior-page .events-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; align-items: start; }
.interior-page .event-entry { grid-template-columns: 4rem minmax(0, 1fr); gap: 1.1rem; padding: 1.6rem; border: 1px solid var(--interior-line); border-radius: 16px; background: #fff; box-shadow: 0 4px 16px #153d7504; }
.interior-page .event-entry-year { padding-top: .1rem; font-size: 1.35rem; font-weight: 700; color: var(--interior-blue); line-height: 1.4; letter-spacing: -.035em; }
.interior-page .event-entry-body { min-width: 0; padding-inline-start: 1.1rem; border-inline-start: 1px solid var(--interior-line); }
.interior-page .event-entry time { color: #16775b; font-size: .75rem; font-weight: 700; line-height: 1.6; }
.interior-page .event-entry h3 { color: var(--interior-blue); font-size: 1.1rem; line-height: 1.45; margin-block: .55rem .75rem; }
.interior-page .event-entry p { color: var(--interior-muted); font-size: .9rem; line-height: 1.75; }
.interior-page .event-photo { max-width: 100%; width: 100%; max-height: 350px; border-radius: 12px; margin-block: 1.2rem .5rem; background: var(--interior-soft); }
.interior-page .event-entry .event-photo-credit { color: var(--interior-muted); font-size: .7rem; }
.interior-page .events-partners-band { background: white; border-color: var(--interior-line); }
.interior-page .event-partners { gap: 1rem 2rem; }
.interior-page .event-partner { height: 80px; padding: .65rem; border-radius: 12px; }
.interior-page .event-partner img { max-height: 60px; max-width: 155px; }

/* Partenaires : des logos lisibles et des regroupements faciles à parcourir. */
.interior-page .partner-group + .partner-group { padding-top: 0; }
.interior-page .partner-group h2 { max-width: 40ch; padding-bottom: 1.1rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--interior-line); font-size: clamp(1.35rem, 2.3vw, 1.8rem); }
.interior-page .partner-logo-frame { min-height: 108px; height: auto; padding: .65rem; margin-bottom: 1.2rem; border-radius: 12px; }
.interior-page .partner-logo { max-width: min(100%, 220px); max-height: 90px; }
.interior-page .partner-card-content p { color: var(--interior-ink); font-size: .92rem; line-height: 1.55; }
.interior-page .handicap-partner-card { min-height: 160px; height: 100%; }
.interior-page .handicap-partner-logo-frame { height: 74px; border-radius: 10px; }
.interior-page .handicap-partner-card p { font-size: .8rem; line-height: 1.5; }

/* Invitations : même bleu institutionnel sur toutes les pages internes. */
.interior-page main > section:is(.bg-blue-600, .bg-orange-600, .bg-purple-600, .bg-green-600) { padding-block: clamp(2.5rem, 5vw, 4rem); background: var(--interior-blue); }
.interior-page main > section:is(.bg-blue-600, .bg-orange-600, .bg-purple-600, .bg-green-600) :where(h2, p) { color: white; }
.interior-page main > section:is(.bg-blue-600, .bg-orange-600, .bg-purple-600, .bg-green-600) h2 { max-width: 26ch; margin: 0 auto 1.5rem; }
.interior-page main > section:is(.bg-blue-600, .bg-orange-600, .bg-purple-600, .bg-green-600) a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; height: auto; max-width: 100%; padding: .85rem 1.4rem; border-radius: 10px; border: 1px solid transparent; background: #fff; color: var(--interior-blue); font-size: .95rem; font-weight: 600; white-space: normal; text-align: center; }
.interior-page main > section:is(.bg-blue-600, .bg-orange-600, .bg-purple-600, .bg-green-600) a:hover { background: #edf3fc; }

/* Adaptations sans débordement, y compris aux petites largeurs et en arabe. */
@media (max-width: 1100px) {
  .interior-page .hero-layout { grid-template-columns: minmax(0, 1.6fr) minmax(220px, .8fr); gap: 2rem; }
  .interior-page .sport-timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .interior-page .coverage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .interior-page .event-entry { grid-template-columns: 1fr; }
  .interior-page .event-entry-year { font-size: 1.5rem; }
  .interior-page .event-entry-body { padding-inline-start: 0; border-inline-start: 0; }
}
@media (max-width: 767px) {
  .interior-page main > section { padding-block: 2.75rem; }
  .interior-page header > .container { grid-template-columns: minmax(44px, 1fr) auto; gap: .65rem 1rem; padding-block: .65rem; }
  .interior-page header > .container > a:first-child { grid-column: 1; grid-row: 1; gap: .35rem; padding-inline: .7rem; font-size: .8rem; }
  .interior-page header h1 { grid-column: 1 / -1; grid-row: 2; font-size: 1rem !important; text-align: start; padding-block: .2rem .1rem; }
  .interior-page header .header-end { grid-column: 2; grid-row: 1; gap: .6rem; }
  .interior-page header .brand-mark-small { width: 33px; height: 42px; }
  .interior-page .hero-layout { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .interior-page main > .page-hero { padding-top: 2.5rem; padding-bottom: 2.25rem; }
  .interior-page .page-hero h1 { max-width: 23ch; font-size: clamp(2rem, 7vw, 2.8rem); line-height: 1.2; }
  .interior-page .page-hero p { line-height: 1.8; }
  .interior-page .hero-art { justify-self: center; width: min(70%, 260px); padding: 0; }
  .interior-page .hero-art::before { width: 90%; }
  .interior-page .hero-mascot { width: 245px; max-height: 250px; }
  .interior-page main h2 { margin-bottom: 1.5rem; }
  .interior-page .page-hero + section .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
  .interior-page .page-hero + section .grid > div { padding: 1rem .8rem; }
  .interior-page .page-hero + section .grid .text-xl { font-size: 1rem; line-height: 1.4; }
  .interior-page .page-hero + section .grid .text-sm { font-size: .78rem; }
  .interior-page .page-hero + section .grid .font-body { font-size: .82rem; line-height: 1.6; }
  .interior-page .history-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .interior-page .history-card summary { min-height: 126px; padding: 1.1rem 2.7rem 1.1rem 1.1rem; }
  .interior-page .sport-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; border: 0; padding: 0; }
  .interior-page .sport-milestone,
  .interior-page .sport-milestone:nth-of-type(n) { padding: 1.25rem; min-height: 0; text-align: start; }
  .interior-page .sport-milestone-dot { top: 1.5rem; inset-inline-end: 1rem; }
  .interior-page .events-list { grid-template-columns: 1fr; }
  .interior-page .event-entry { grid-template-columns: 4rem minmax(0, 1fr); padding: 1.25rem; gap: .8rem; }
  .interior-page .event-entry-body { border-inline-start: 1px solid var(--interior-line); padding-inline-start: .9rem; }
  .interior-page [data-gallery-grid] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
  .interior-page .gallery-card { border-radius: 16px; }
  .interior-page .event-partner { height: 66px; }
  .interior-page .event-partner img { max-width: 125px; max-height: 46px; }
}
@media (max-width: 479px) {
  .interior-page header > .container > a:first-child { width: 44px; padding: 0; gap: 0; font-size: 0; }
  .interior-page header > .container > a:first-child svg { width: 20px; height: 20px; }
  .interior-page header .header-end { gap: .35rem; }
  .interior-page .page-hero h1 { font-size: clamp(1.85rem, 8.7vw, 2.4rem); }
  .interior-page .hero-art { width: min(72%, 235px); }
  .interior-page .page-hero + section .grid { grid-template-columns: 1fr; }
  .interior-page .page-hero + section .grid > div { padding: 1.3rem; }
  .interior-page .page-hero + section .grid .font-body { font-size: .95rem; }
  .interior-page .page-hero + section .grid .text-xl { font-size: 1.2rem; }
  .interior-page .history-grid,
  .interior-page .sport-timeline,
  .interior-page .coverage-grid { grid-template-columns: 1fr; }
  .interior-page .history-card summary { min-height: 112px; }
  .interior-page .sport-milestone { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1rem; align-items: start; }
  .interior-page .sport-milestone p { margin: 0; }
  .interior-page .sport-milestone-year { font-size: 1.3rem; }
  .interior-page .sport-milestone-dot { display: none; }
  .interior-page .event-entry { grid-template-columns: 1fr; gap: .65rem; }
  .interior-page .event-entry-body { border-inline-start: 0; padding-inline-start: 0; }
  .interior-page .event-entry h3 { font-size: 1.1rem; }
  .interior-page .gallery-intro { font-size: .95rem; }
  .interior-page .gallery-card img { aspect-ratio: 1; }
  .interior-page .gallery-viewer .gallery-toolbar { gap: .25rem; padding-inline: .35rem; }
  .interior-page .gallery-viewer .gallery-controls { gap: .12rem; }
  .interior-page .gallery-viewer .gallery-controls [data-gallery-zoom-level] { min-width: 38px; }
  .interior-page .gallery-viewer .gallery-controls button[data-gallery-zoom-reset] { min-width: 52px; padding-inline: .35rem; }
  .interior-page .network-map { padding: .3rem; border-radius: 16px; }
  .interior-page .coverage-caption { font-size: .8rem; }
  .interior-page .handicap-partner-card { padding: 1rem !important; }
}
html[dir="rtl"] .interior-page .history-card summary { padding-inline: 1.4rem 3rem; }
html[dir="rtl"] .interior-page .sport-timeline { border: 0; padding: 0; }
html[dir="rtl"] .interior-page .sport-milestone,
html[dir="rtl"] .interior-page .sport-milestone:nth-of-type(n) { padding: 1.4rem; text-align: start; }
html[dir="rtl"] .interior-page .sport-milestone-dot { left: auto; right: auto; inset-inline-start: auto; inset-inline-end: 1.3rem; transform: none; }
html[dir="rtl"] .interior-page main .grid > [class*="border-l-4"] { border-left-width: 1px; border-right-width: 4px; }
html[dir="rtl"] .interior-page .network-map-stage { direction: ltr; }
@media (max-width: 767px) {
  html[dir="rtl"] .interior-page .sport-milestone,
  html[dir="rtl"] .interior-page .sport-milestone:nth-of-type(n) { padding: 1.25rem; }
  html[dir="rtl"] .interior-page .history-card summary { padding-inline: 1.1rem 2.7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .interior-page *, .interior-page *::before, .interior-page *::after { scroll-behavior: auto; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .interior-page .gallery-card > a:hover img { transform: none; }
}
