@charset "UTF-8";
/* ==========================================================================
   SZBMRTT — Szemere Bertalan Magyar Rendvédelem-történeti Tudományos Társaság
   Fő stíluslap (kezdőlap + teljes oldalkészlet)
   --------------------------------------------------------------------------
   Vizuális irány: RUSI (rusi.org) design system
     · éles sarkok (border-radius: 0)
     · serif címek / sans törzsszöveg
     · teal #2a7390 elsődleges, deep purple #410a48 másodlagos
     · amber #f5ad2d kiemelés
     · 1200px tartalmi szélesség, 2.74% rácsrés
   Megkötések (.clinerules):
     · NINCS külső CDN  → rendszerfont-stack, nincs webfont letöltés
     · NINCS cookie / analytics / látogatószámláló
     · NINCS űrlap
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. DESIGN TOKENEK
   -------------------------------------------------------------------------- */
:root {
  /* --- Színek (RUSI-ból mért értékek) --- */
  --c-primary:        #2a7390;   /* teal — elsődleges */
  --c-primary-dark:   #1f5a72;
  --c-primary-light:  #3f819b;
  --c-secondary:      #410a48;   /* deep purple — másodlagos */
  --c-secondary-soft: #5c3964;
  --c-accent:         #f5ad2d;   /* amber — kiemelés */
  --c-alert:          #ac3348;   /* crimson */
  --c-navy:           #00325b;

  --c-ink:            #43453d;   /* törzsszöveg */
  --c-ink-strong:     #2b2c27;
  --c-ink-muted:      #7c7c7c;
  --c-ink-faint:      #afafaf;

  --c-bg:             #ffffff;
  --c-bg-alt:         #f5f5f5;
  --c-bg-alt-2:       #fbfbfb;
  --c-bg-dark:        #2b2c27;

  --c-line:           #e4e4e4;
  --c-line-strong:    #c8c8c8;
  --c-line-faint:     #e1e1e1;

  /* --- Tipográfia --- */
  --f-serif: "Source Serif Pro", "Source Serif 4", "Iowan Old Style",
             "Palatino Linotype", Palatino, "Book Antiqua", Georgia,
             "Times New Roman", serif;
  --f-sans:  "Source Sans Pro", "Source Sans 3", -apple-system,
             BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
             Arial, "Noto Sans", sans-serif;
  --f-mono:  ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
             "Liberation Mono", monospace;

  --t-h1: 2rem;         /* 32px */
  --t-h2: 2rem;         /* 32px */
  --t-h3: 1.5rem;       /* 24px */
  --t-h4: 1.3125rem;    /* 21px */
  --t-h5: 1.125rem;     /* 18px */
  --t-body: 1.25rem;    /* 20px */
  --t-body-s: 1.125rem; /* 18px */
  --t-body-xs: 1rem;    /* 16px */
  --t-xs: 0.875rem;     /* 14px */
  --t-xxs: 0.75rem;     /* 12px */
  --t-quote: 1.375rem;  /* 22px */

  --l-h1: 1.25;
  --l-h2: 1.25;
  --l-h3: 1.33;
  --l-body: 1.6;
  --l-tight: 1.15;

  --ls-eyebrow: 0.14em;
  --ls-nav: 0.02em;

  /* --- Térköz (RUSI skála) --- */
  --s-1: 12px;
  --s-2: 28px;
  --s-3: 30px;
  --s-4: 50px;
  --s-5: 80px;
  --s-6: 110px;

  /* --- Elrendezés --- */
  --max-w: 1200px;
  --min-w: 280px;
  --grid-gap: 2.74%;
  --radius: 0px;          /* RUSI: éles sarkok */
  /* A sticky .site-header TÉNYLEGES magassága (mérés, 1024–1920px):
     topbar 38 + masthead 73 + nav 114 (a 9 link 2 sorba tör) = 226px.
     Ez vezérli a scroll-padding-top-ot és a sticky sávok top-ját. */
  --header-h: 226px;

  /* A kapcsolat oldal sticky ugrássávjának magassága (mérés, S4):
     10 + 46.4 (btn--sm) + 10 + 1 (border) = 67.4px. A .jumpbar ~ .section[id]
     scroll-margin-top-ját vezérli, hogy a horgonyok a sáv ALATT landoljanak. */
  --jump-h: 67px;

  /* --- Egyéb --- */
  --shadow-1: 0 1px 2px rgba(43, 44, 39, .08);
  --shadow-2: 0 4px 18px rgba(43, 44, 39, .12);
  --ease: cubic-bezier(.2, .6, .3, 1);
}

/* --------------------------------------------------------------------------
   2. RESET
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 16px);
}

body {
  margin: 0;
  background: var(--c-bg);
  color: var(--c-ink);
  font-family: var(--f-sans);
  font-size: var(--t-body);
  line-height: var(--l-body);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

img, svg, video { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
button { font: inherit; color: inherit; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--f-serif);
  font-weight: 700;
  color: var(--c-ink-strong);
  margin: 0 0 var(--s-1);
  line-height: var(--l-tight);
  text-wrap: balance;
}

h1 { font-size: var(--t-h1); line-height: var(--l-h1); }
h2 { font-size: var(--t-h2); line-height: var(--l-h2); }
h3 { font-size: var(--t-h3); line-height: var(--l-h3); }
h4 { font-size: var(--t-h4); }
h5 { font-size: var(--t-h5); }

p { margin: 0 0 var(--s-2); }
p:last-child { margin-bottom: 0; }

a { color: var(--c-primary); text-decoration: none; }
a:hover, a:focus-visible { color: var(--c-primary-dark); text-decoration: underline; }

ul, ol { margin: 0 0 var(--s-2); padding-left: 1.25em; }
li { margin-bottom: 0.4em; }

hr { border: 0; border-top: 1px solid var(--c-line); margin: var(--s-4) 0; }

blockquote {
  margin: var(--s-3) 0;
  padding: 0 0 0 var(--s-2);
  border-left: 4px solid var(--c-accent);
  font-family: var(--f-serif);
  font-size: var(--t-quote);
  line-height: 1.45;
  color: var(--c-ink-strong);
}

::selection { background: var(--c-accent); color: var(--c-ink-strong); }

:focus-visible { outline: 3px solid var(--c-accent); outline-offset: 2px; }

/* Vissza a tetejére gomb — minden oldalon, JS nélkül (A-változat).
   A smooth scroll a 106. sorból jön (html { scroll-behavior: smooth }), és a
   prefers-reduced-motion blokk (1304. sor) azt auto-ra visszaállítja.
   A z-index 50: a .site-header (100) alatt, a .langbar (20) fölött marad. */
.to-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-bg);
  color: var(--c-ink);
  border: 1px solid var(--c-line-strong);
  border-radius: 50%;
  font-size: 1.15rem;
  line-height: 1;
  text-decoration: none;
  opacity: .55;
  z-index: 50;
  transition: opacity .2s ease;
}
.to-top:hover { opacity: 1; color: var(--c-primary); }

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 999;
  background: var(--c-secondary);
  color: #fff;
  padding: 12px 20px;
  font-size: var(--t-body-xs);
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   3. ELRENDEZÉS
   -------------------------------------------------------------------------- */
.wrap {
  width: 100%;
  max-width: var(--max-w);
  margin-inline: auto;
  padding-inline: 20px;
}

.section { padding-block: var(--s-5); }
.section--tight { padding-block: var(--s-4); }
.section--alt { background: var(--c-bg-alt); }
.section--dark { background: var(--c-bg-dark); color: #e9e9e6; }
.section--dark h2, .section--dark h3 { color: #fff; }

.section__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-1) var(--s-2);
  margin-bottom: var(--s-3);
  padding-bottom: var(--s-1);
  border-bottom: 2px solid var(--c-ink-strong);
}
.section__head h2 { margin: 0; }

.eyebrow {
  display: block;
  font-family: var(--f-sans);
  font-size: var(--t-xxs);
  font-weight: 700;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-primary);
  margin-bottom: 6px;
}
.section--dark .eyebrow { color: var(--c-accent); }

.lede {
  font-size: var(--t-quote);
  line-height: 1.5;
  color: var(--c-ink-strong);
  max-width: 62ch;
}

.grid { display: grid; gap: var(--s-3); }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--2x2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.grid--sidebar { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }

/* Reszponzív alap: grid/flex gyerekek összehúzódása (túlcsordulás ellen) */
.grid > *, .feature > *, .footer__grid > *, .stats__grid > *,
.study-summary > *, .authors > *, .award-grid > *,
.biblio > li > *, .event-list li > * { min-width: 0; }

.skip-link:focus { left: 0; color: #fff; text-decoration: none; }

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}


/* --------------------------------------------------------------------------
   4. FEJLÉC ÉS FŐNAVIGÁCIÓ  (S1 + S2)
   -------------------------------------------------------------------------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--c-bg);
  border-bottom: 1px solid var(--c-line);
}

/* Felső információs sáv — RUSI-jellegű */
.topbar {
  background: var(--c-secondary);
  color: #e8dcea;
  font-size: var(--t-xs);
}
.topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-2);
  min-height: 38px;
  flex-wrap: wrap;
}
.topbar__motto {
  font-family: var(--f-serif);
  font-style: italic;
  letter-spacing: .01em;
}
.topbar__motto strong { font-style: normal; font-weight: 700; }
.topbar__links { display: flex; gap: var(--s-2); align-items: center; }
.topbar a { color: #e8dcea; }
.topbar a:hover { color: #fff; }

/* Masthead */
.masthead__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-2);
  /* SZÁNDÉKOS literál (S0): a --header-h a sticky-eltolások (scroll-padding,
     .langbar/.sidenav top) konstansa; innen visszaolvasva minden
     érték-korrekció magát a fejlécet is átméretezné. Tablet: <=1023 blokk. */
  min-height: 72px;
  padding-block: 10px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  color: inherit;
  text-decoration: none;
}
.brand:hover { text-decoration: none; }
.brand__logo {
  width: 52px;
  height: 44px;
  object-fit: contain;
  flex: 0 0 auto;
}
.brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.brand__name {
  font-family: var(--f-serif);
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--c-ink-strong);
  letter-spacing: -.005em;
}
.brand__sub {
  font-size: var(--t-xxs);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-primary);
  font-weight: 700;
}

/* Nyelvváltó */
.langswitch { display: flex; align-items: center; gap: 2px; }
.langswitch a {
  display: inline-block;
  padding: 6px 10px;
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--c-ink-muted);
  border: 1px solid var(--c-line);
}
.langswitch a:hover { color: var(--c-primary); border-color: var(--c-primary); text-decoration: none; }
.langswitch a[aria-current="true"] {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
}

/* Főnavigáció */
.nav { border-top: 1px solid var(--c-line); background: var(--c-bg); }
.nav__inner { display: flex; align-items: stretch; gap: 0; flex-wrap: wrap; }
.nav a {
  display: block;
  padding: 14px 16px;
  font-size: var(--t-body-xs);
  font-weight: 600;
  letter-spacing: var(--ls-nav);
  color: var(--c-ink-strong);
  border-bottom: 3px solid transparent;
  white-space: nowrap;
}
.nav a:hover {
  color: var(--c-primary);
  border-bottom-color: var(--c-primary);
  text-decoration: none;
  background: var(--c-bg-alt-2);
}
.nav a[aria-current="page"] {
  color: var(--c-primary);
  border-bottom-color: var(--c-primary);
}

/* A <details> összefoglaló sora — mobilon hamburger, desktopon rejtett */
.nav > summary {
  display: none;
  cursor: pointer;
  padding-block: 10px;
  list-style: none;
}
.nav > summary::-webkit-details-marker { display: none; }
.nav > summary::marker { content: ""; }

/* Desktopon a <details> tartalma mindig látható, JS nélkül.
   Két mechanizmus: a régi UA `display:none` felülírása, és az új
   `::details-content { content-visibility }` felülírása. */
@media (min-width: 1024px) {
  .nav .nav__inner { display: flex !important; }
  .nav::details-content { content-visibility: visible !important; }
}

/* Mobilmenü gomb */
.nav-toggle {
  display: none;
  align-items: center;
  gap: 8px;
  background: none;
  border: 1px solid var(--c-line-strong);
  padding: 8px 12px;
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}
.nav-toggle:hover { border-color: var(--c-primary); color: var(--c-primary); }
.nav-toggle__bars { display: block; width: 18px; height: 2px; background: currentColor; position: relative; }
.nav-toggle__bars::before,
.nav-toggle__bars::after {
  content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: currentColor;
}
.nav-toggle__bars::before { top: -6px; }
.nav-toggle__bars::after { top: 6px; }


/* --------------------------------------------------------------------------
   5. HERO  (S3)
   -------------------------------------------------------------------------- */
.hero {
  position: relative;
  background: var(--c-secondary);
  color: #fff;
  overflow: hidden;
}
.hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  opacity: .28;
}
.hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg,
              rgba(65, 10, 72, .96) 0%,
              rgba(65, 10, 72, .86) 42%,
              rgba(42, 115, 144, .72) 100%);
}
.hero__inner {
  position: relative;
  z-index: 1;
  padding-block: var(--s-6);
  max-width: 46rem;
}
.hero__motto {
  font-family: var(--f-serif);
  font-size: clamp(2rem, 5.2vw, 3.5rem);
  line-height: 1.08;
  font-weight: 700;
  color: #fff;
  margin: 0 0 6px;
  letter-spacing: -.015em;
}
.hero__motto em { font-style: italic; color: var(--c-accent); }
.hero__translation {
  font-family: var(--f-serif);
  font-size: clamp(1.125rem, 2.4vw, 1.5rem);
  font-style: italic;
  color: #f0dff2;
  margin: 0 0 var(--s-3);
}
.hero__lead {
  font-size: var(--t-quote);
  line-height: 1.55;
  color: #f2eef3;
  max-width: 44rem;
  margin: 0 0 var(--s-4);
}
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--s-1); }
.hero .eyebrow { color: var(--c-accent); }

/* --------------------------------------------------------------------------
   5b. UGRÁSSÁV (S4) — a kapcsolat oldal sticky ugrássávja
   A .jumpbar közvetlenül a <main> gyermeke (szerkezeti mozgatás), így a
   sticky a teljes tartalmon végigfut. A .jumpbar__inner egy sorban tartja
   a gombokat, keskeny kijelzőn vízszintesen görgethető — ezért a sáv
   magassága állandó (lásd --jump-h a :root-ban). A sáv átlátszatlan
   háttere és alsó vonala a rácsúszó tartalmat takarja.
   -------------------------------------------------------------------------- */
.jumpbar {
  position: sticky;
  top: var(--header-h);
  z-index: 10;                      /* .to-top (50) és a fejléc (100) alatt */
  background: var(--c-bg-alt);
  border-bottom: 1px solid var(--c-line);
}
.jumpbar__inner {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--s-1);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-block: 10px;
}
/* A gombok nem zsugorodhatnak (flex-shrink: 0): így a felirat egy sorban
   marad, a sáv magassága minden szélességen a --jump-h konstans. */
.jumpbar__inner > .btn { flex-shrink: 0; }
/* A horgony-célok: a globális scroll-padding-top (fejléc + 16px) mellé a
   sticky sáv magassága, hogy a landolás a sáv ALATT legyen. */
.jumpbar ~ .section[id] { scroll-margin-top: var(--jump-h); }

/* --------------------------------------------------------------------------
   6. GOMBOK
   -------------------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  font-family: var(--f-sans);
  font-size: var(--t-body-xs);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 2px solid transparent;
  border-radius: var(--radius);
  cursor: pointer;
  transition: background-color .18s var(--ease), color .18s var(--ease),
              border-color .18s var(--ease);
}
.btn:hover { text-decoration: none; }

.btn--primary { background: var(--c-accent); color: var(--c-ink-strong); border-color: var(--c-accent); }
.btn--primary:hover { background: #ffc14f; border-color: #ffc14f; color: var(--c-ink-strong); }

.btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
.btn--ghost:hover { background: #fff; color: var(--c-secondary); border-color: #fff; }

.btn--outline { background: transparent; color: var(--c-primary); border-color: var(--c-primary); }
.btn--outline:hover { background: var(--c-primary); color: #fff; }

.btn--sm { padding: 10px 18px; font-size: var(--t-xs); }

/* Nyíl — RUSI "long-arrow" */
.arrow::after {
  content: "\2192";
  font-size: 1.1em;
  line-height: 1;
  transition: transform .18s var(--ease);
}
.btn:hover .arrow::after,
.link-more:hover .arrow::after { transform: translateX(4px); }

.link-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--t-body-xs);
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--c-primary);
}
.link-more:hover { text-decoration: none; color: var(--c-primary-dark); }
.section--dark .link-more { color: var(--c-accent); }


/* --------------------------------------------------------------------------
   7. SZÁMOK SÁVJA  (S4)
   -------------------------------------------------------------------------- */
.stats {
  background: var(--c-primary);
  color: #fff;
  padding-block: var(--s-4);
}
.stats__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--s-2) var(--s-1);
}
.stat { text-align: left; border-left: 3px solid rgba(255,255,255,.35); padding-left: 14px; }
.stat__num {
  display: block;
  font-family: var(--f-serif);
  font-size: clamp(1.75rem, 3.4vw, 2.5rem);
  font-weight: 700;
  line-height: 1;
  color: #fff;
  margin-bottom: 6px;
}
.stat__label {
  display: block;
  font-size: var(--t-xs);
  line-height: 1.35;
  color: #d8e8ee;
  letter-spacing: .01em;
}

/* --------------------------------------------------------------------------
   8. KÁRTYÁK
   -------------------------------------------------------------------------- */
.card {
  display: flex;
  flex-direction: column;
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-top: 4px solid var(--c-primary);
  border-radius: var(--radius);
  overflow: hidden;
  transition: box-shadow .2s var(--ease), transform .2s var(--ease);
}
.card:hover { box-shadow: var(--shadow-2); transform: translateY(-2px); }

.card--accent { border-top-color: var(--c-accent); }
.card--secondary { border-top-color: var(--c-secondary); }

.card__media { position: relative; background: var(--c-bg-alt); }
.card__media img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 16 / 10; }
.card__media--portrait img { aspect-ratio: 4 / 5; object-position: center 20%; }
.card__media--award img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: var(--c-bg-alt);
  padding: var(--s-2);
}

.card__body { padding: var(--s-2); display: flex; flex-direction: column; flex: 1 1 auto; }
.card__kicker {
  font-size: var(--t-xxs);
  font-weight: 700;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-primary);
  margin-bottom: 8px;
}
.card__title {
  font-family: var(--f-serif);
  font-size: var(--t-h4);
  line-height: 1.25;
  margin: 0 0 10px;
  color: var(--c-ink-strong);
}
.card__title a { color: inherit; }
.card__title a:hover { color: var(--c-primary); text-decoration: none; }
.card__text { font-size: var(--t-body-xs); line-height: 1.6; color: var(--c-ink); margin: 0 0 var(--s-2); }
.card__meta {
  font-size: var(--t-xs);
  color: var(--c-ink-muted);
  margin: 0 0 var(--s-2);
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
}
.card__foot { margin-top: auto; padding-top: var(--s-1); border-top: 1px solid var(--c-line-faint); }

/* Identifikátor-lista (ISSN / DOI / ISBN) */
.ids { list-style: none; margin: 0 0 var(--s-2); padding: 0; font-size: var(--t-xs); }
.ids li { display: flex; gap: 8px; margin-bottom: 4px; }
.ids dt, .ids .ids__k {
  flex: 0 0 auto;
  min-width: 62px;
  font-weight: 700;
  color: var(--c-ink-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: var(--t-xxs);
  padding-top: 2px;
}
.ids .ids__v { font-family: var(--f-mono); font-size: var(--t-xs); color: var(--c-ink-strong); }

/* Kiemelt .ids sor („Alapító okirat bibliográfiai adatai" — a lista leghosszabb
   címkéje): a 62 px-es címkeoszlop mellett az értékoszlop túl keskenyre szorulna,
   ezért ennél az egy sornál a címke felül, az érték alatta, a címke bal szélétől
   indul — ugyanaz az elrendezés, amelyet a mobil nézet minden .ids sorra alkalmaz
   (lásd a reszponzív szakasz .ids li szabályát). */
.ids li.ids__li--stack { flex-direction: column; gap: 2px; }
.ids li.ids__li--stack .ids__k { min-width: 0; padding-top: 0; }

/* Kiemelt (feature) blokk */
.feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  border: 1px solid var(--c-line);
  background: var(--c-bg);
}
.feature__media img { width: 100%; height: 100%; object-fit: cover; }
.feature__body { padding: var(--s-4); display: flex; flex-direction: column; justify-content: center; }


/* --------------------------------------------------------------------------
   9. TANULMÁNYKÖR  (S7) — teljes kör, szűkítés nélkül
   -------------------------------------------------------------------------- */
.study-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-2);
  margin-bottom: var(--s-3);
}
.study-summary__item {
  border-left: 4px solid var(--c-accent);
  padding-left: 16px;
}
.study-summary__num {
  display: block;
  font-family: var(--f-serif);
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
  color: var(--c-secondary);
}
.study-summary__label { font-size: var(--t-xs); color: var(--c-ink-muted); }

/* Szerzői névsor — mind a 11 szerző */
.authors {
  list-style: none;
  margin: 0 0 var(--s-3);
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--c-line);
}
.authors li {
  margin: 0;
  border-bottom: 1px solid var(--c-line);
  border-right: 1px solid var(--c-line);
}
.authors li:nth-child(3n) { border-right: 0; }
.authors a {
  display: block;
  padding: 12px 14px;
  font-size: var(--t-body-xs);
  font-weight: 600;
  color: var(--c-ink-strong);
}
.authors a:hover { background: var(--c-bg-alt); color: var(--c-primary); text-decoration: none; }
.authors .authors__deg {
  display: block;
  font-size: var(--t-xxs);
  font-weight: 400;
  color: var(--c-ink-muted);
  margin-top: 2px;
}

/* Bibliográfiai tétellista */
.biblio { list-style: none; margin: 0; padding: 0; counter-reset: bib; }
.biblio > li {
  margin: 0;
  padding: var(--s-2) 0;
  border-bottom: 1px solid var(--c-line);
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: var(--s-2);
}
.biblio > li:first-child { border-top: 1px solid var(--c-line); }
.biblio__no {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  font-weight: 700;
  color: var(--c-primary);
  padding-top: 3px;
}
.biblio__author {
  font-weight: 700;
  color: var(--c-ink-strong);
  font-size: var(--t-body-xs);
  display: block;
  margin-bottom: 2px;
}
.biblio__title {
  font-family: var(--f-serif);
  font-size: var(--t-h5);
  line-height: 1.35;
  color: var(--c-ink-strong);
  display: block;
  margin-bottom: 6px;
}
.biblio__source { font-size: var(--t-xs); color: var(--c-ink); margin: 0 0 6px; }
.biblio__ids {
  font-family: var(--f-mono);
  font-size: var(--t-xxs);
  color: var(--c-ink-muted);
  line-height: 1.7;
  word-break: break-word;
}
.biblio__ids a { color: var(--c-primary); }
.biblio__ids .cta {
  display: inline-block;
  border: 2px solid var(--c-accent);
  padding: 4px 14px;
  border-radius: 4px;
  font-weight: 700;
  font-size: var(--t-xs);
  text-decoration: none;
  color: var(--c-ink-strong);
  background: rgba(245, 173, 45, 0.08);
}
.biblio__ids .cta:hover {
  background: var(--c-accent);
  color: #000;
}

/* Táblázat — reszponzív */
table {
  width: 100%;
  border-collapse: collapse;
  margin-block: var(--s-2);
  font-size: var(--t-xs);
}
th, td {
  padding: var(--s-1) var(--s-2);
  border: 1px solid var(--c-line);
  text-align: left;
  vertical-align: top;
}
thead th {
  background: var(--c-bg-alt);
  font-weight: 600;
}

/* Túlcsordulás-védelem */
html, body { overflow-x: clip; }
.ids__v { word-break: break-word; overflow-wrap: anywhere; }
.ids .ids__v { min-width: 0; }
li, p, dd, dt { overflow-wrap: break-word; }
a { overflow-wrap: break-word; }
code { overflow-wrap: anywhere; }

/* Megjegyzés / figyelmeztető sáv */
.note {
  border-left: 4px solid var(--c-accent);
  background: var(--c-bg-alt);
  padding: var(--s-2);
  font-size: var(--t-body-xs);
  margin: var(--s-3) 0 0;
}
.note--alert { border-left-color: var(--c-alert); }
.note strong { color: var(--c-ink-strong); }
.stats .note { color: #212529; }

/* Lábjegyzet-jelölők */
.note-num {
  font-size: 0.75em;
  vertical-align: super;
  line-height: 0;
  color: var(--c-primary);
  text-decoration: none;
  margin-left: 1px;
}
.fnback {
  font-size: 0.85em;
  text-decoration: none;
  color: var(--c-ink-muted);
  margin-left: var(--s-1);
}
.fnback:hover {
  color: var(--c-primary);
}

/* --- Számonkénti tartalomjegyzék-accordion (<details>) ------------------- */
.toc {
  margin: var(--s-2) 0 0;
  border: 1px solid var(--c-line);
  background: var(--c-bg);
}
.toc__summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-2);
  padding: 10px var(--s-2);
  cursor: pointer;
  list-style: none;
  background: var(--c-bg-alt-2);
  border-left: 4px solid var(--c-primary);
}
.toc__summary::-webkit-details-marker { display: none; }
.toc__summary::marker { content: ""; }
.toc__summary:hover { background: var(--c-bg-alt); }
.toc__summary:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: -2px;
}
.toc__label {
  font-family: var(--f-sans);
  font-size: var(--t-body-xs);
  font-weight: 700;
  color: var(--c-primary);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.toc__label::before {
  content: "▸ ";
  display: inline-block;
  transition: transform .15s ease;
}
.toc[open] .toc__label::before { content: "▾ "; }
.toc__count {
  font-family: var(--f-mono);
  font-size: var(--t-xxs);
  color: var(--c-ink-muted);
  white-space: nowrap;
}
.toc__list {
  margin: 0;
  padding: var(--s-2) var(--s-2) var(--s-2) calc(var(--s-2) + 1.4em);
  border-top: 1px solid var(--c-line);
}
.toc__item {
  font-size: var(--t-body-xs);
  line-height: 1.5;
  padding: 5px 0;
  border-bottom: 1px dotted var(--c-line);
}
.toc__item:last-child { border-bottom: 0; }
.toc__author {
  font-weight: 700;
  color: var(--c-ink-strong);
}
.toc__author::after { content: ": "; font-weight: 400; }
.toc__title { color: var(--c-ink); }
.toc__page {
  font-family: var(--f-mono);
  font-size: var(--t-xxs);
  color: var(--c-ink-muted);
  white-space: nowrap;
}
.toc__page::before { content: " · "; }


/* --------------------------------------------------------------------------
   10. ELISMERÉSI RENDSZER  (S8)
   -------------------------------------------------------------------------- */
.award-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-2);
}
.award {
  border: 1px solid var(--c-line);
  border-left: 4px solid var(--c-secondary);
  padding: var(--s-2);
  background: var(--c-bg);
}
.award__year {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  font-weight: 700;
  color: var(--c-accent);
  background: var(--c-secondary);
  display: inline-block;
  padding: 2px 8px;
  margin-bottom: 10px;
}
.award__name {
  font-family: var(--f-serif);
  font-size: var(--t-h5);
  margin: 0 0 6px;
  color: var(--c-ink-strong);
}
.award__text { font-size: var(--t-xs); color: var(--c-ink); margin: 0; line-height: 1.6; }

/* --------------------------------------------------------------------------
   11. EGYÜTTMŰKÖDÉSEK  (S9)
   -------------------------------------------------------------------------- */
.collab {
  border-top: 3px solid var(--c-primary);
  background: var(--c-bg);
  border-right: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  border-left: 1px solid var(--c-line);
  padding: var(--s-2);
}
.collab__letter {
  font-family: var(--f-serif);
  font-size: var(--t-h3);
  font-weight: 700;
  color: var(--c-primary);
  line-height: 1;
  display: block;
  margin-bottom: 8px;
}
.collab__name {
  font-family: var(--f-serif);
  font-size: var(--t-h5);
  margin: 0 0 8px;
  color: var(--c-ink-strong);
}
.collab__text { font-size: var(--t-xs); line-height: 1.6; margin: 0 0 10px; }
.collab__links { font-size: var(--t-xxs); font-family: var(--f-mono); word-break: break-word; }

/* --------------------------------------------------------------------------
   12. RENDEZVÉNYEK  (S10)
   -------------------------------------------------------------------------- */
.event-list { list-style: none; margin: 0; padding: 0; }
.event-list li {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: var(--s-2);
  padding: 14px 0;
  border-bottom: 1px solid var(--c-line);
  margin: 0;
}
.event-list li:first-child { border-top: 1px solid var(--c-line); }
.event__date {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--c-primary);
  font-weight: 700;
  padding-top: 2px;
}
.event__title { font-size: var(--t-body-xs); font-weight: 600; color: var(--c-ink-strong); margin: 0 0 2px; }
.event__place { font-size: var(--t-xs); color: var(--c-ink-muted); margin: 0; }

/* Kiemelt következő rendezvény */
.event-next {
  background: var(--c-secondary);
  color: #fff;
  padding: var(--s-3);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.event-next .eyebrow { color: var(--c-accent); }
.event-next__date {
  font-family: var(--f-serif);
  font-size: var(--t-h3);
  color: #fff;
  margin: 0 0 8px;
}
.event-next__title { font-size: var(--t-body-s); color: #f0e6f1; margin: 0 0 8px; }
.event-next__place { font-size: var(--t-xs); color: #d3c2d6; margin: 0; }

/* --------------------------------------------------------------------------
   13. HÍR / KÖZLEMÉNY  (S11)
   -------------------------------------------------------------------------- */
.news {
  border: 1px solid var(--c-line);
  border-left: 6px solid var(--c-accent);
  padding: var(--s-3);
  background: var(--c-bg-alt-2);
}
.news__date {
  font-size: var(--t-xxs);
  font-weight: 700;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  display: block;
  margin-bottom: 8px;
}
.news__title { font-family: var(--f-serif); font-size: var(--t-h4); margin: 0 0 10px; }
.news__text { font-size: var(--t-body-xs); margin: 0; }


/* --------------------------------------------------------------------------
   14. LÁBLÉC  (S12)
   -------------------------------------------------------------------------- */
.site-footer {
  background: var(--c-bg-dark);
  color: #c9cac4;
  font-size: var(--t-body-xs);
  padding-block: var(--s-5) var(--s-3);
}
.site-footer h2, .site-footer h3 { color: #fff; }
.site-footer a { color: #dcddd7; }
.site-footer a:hover { color: var(--c-accent); }

.footer__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--s-3);
  padding-bottom: var(--s-4);
  border-bottom: 1px solid #4a4b45;
}
.footer__title {
  font-family: var(--f-sans);
  font-size: var(--t-xxs);
  font-weight: 700;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-accent);
  margin: 0 0 14px;
}
.footer__motto { color: #9a9b95; }
.footer__list { list-style: none; margin: 0; padding: 0; font-size: var(--t-xs); }
.footer__list li { margin-bottom: 8px; line-height: 1.5; }
.footer__list .k { color: #9a9b95; display: block; font-size: var(--t-xxs); text-transform: uppercase; letter-spacing: .06em; }
.footer__list .v { color: #e6e7e1; font-family: var(--f-mono); font-size: var(--t-xs); word-break: break-word; }

.footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--s-2);
  padding-top: var(--s-3);
  font-size: var(--t-xs);
  color: #9a9b95;
}
.footer__legal { max-width: 62ch; line-height: 1.6; }
.footer__legal p { margin: 0 0 6px; }
.footer__legal strong { color: #e6e7e1; }

.zerotrack {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #4a4b45;
  padding: 8px 12px;
  font-size: var(--t-xxs);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #b9bab4;
}
.zerotrack::before {
  content: "";
  width: 8px; height: 8px;
  background: #6fbf73;
  border-radius: 50%;
  flex: 0 0 auto;
}

/* --------------------------------------------------------------------------
   15. SEGÉDOSZTÁLYOK
   -------------------------------------------------------------------------- */
.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: var(--s-1); }
.mb-2 { margin-bottom: var(--s-2); }
.mb-3 { margin-bottom: var(--s-3); }
.mt-3 { margin-top: var(--s-3); }
.text-center { text-align: center; }
.mono { font-family: var(--f-mono); font-size: var(--t-xs); }
.muted { color: var(--c-ink-muted); }
.small { font-size: var(--t-xs); }
.breadcrumb { padding-top: var(--s-2); }


/* --------------------------------------------------------------------------
   16. RESZPONZÍV  (terv §7 — 3 töréspont, mobile-first)
   -------------------------------------------------------------------------- */

/* Tablet: 640–1023px */
@media (max-width: 1023px) {
  :root {
    /* Tablet/mobil fejléc (mérés): topbar 38 + masthead 116 + nav 61 = 216px.
       A nyitott hamburger-panel (details[open]) megnyújtja a fejlécet, de az
       átmeneti állapot: a sticky sávok a zárt nav-sávhoz igazodnak. */
    --header-h: 217px;
    --t-h1: 1.75rem;
    --t-h2: 1.625rem;
    --t-h3: 1.375rem;
    --t-body: 1.125rem;
    --s-5: 60px;
    --s-6: 72px;
  }

  /* A masthead tablet-magassága (S0: literál — a --header-h már nem
     alakítja a fejlécet). A mért fejléc itt 38 + 116 + 61 ≈ 216px. */
  .masthead__inner { min-height: 116px; }

  .grid--4, .grid--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid--2 { grid-template-columns: minmax(0, 1fr); }
  .grid--sidebar { grid-template-columns: minmax(0, 1fr); }

  .stats__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .award-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .study-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .authors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .authors li:nth-child(3n) { border-right: 1px solid var(--c-line); }
  .authors li:nth-child(2n) { border-right: 0; }

  .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .feature { grid-template-columns: minmax(0, 1fr); }
  .feature__body { padding: var(--s-3); }

  /* Hamburger — <details> alapú, JS nélkül */
  .nav > summary { display: block; }
  .nav-toggle { display: inline-flex; }
  .nav__inner { display: none; }
  /* EGYESZLOPOS mobil menü. Az alap `.nav__inner` (347. sor)
     `flex-wrap: wrap`-je oszlop-irányban + korzált magasság esetén a 9
     pontot második hasábba töri, ezért ki kell ütni (nowrap). */
  .nav[open] .nav__inner {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    /* A 9 pont (~520px) a sticky fejlécben a képernyő alá lógna: a
       böngésző a fejléc FELSŐ élét rögzíti, így az utolsó pontok
       (Keretnyilatkozat, Kapcsolat) görgetéssel sem érnők el. A panel
       ezért saját, a látható magassághoz igazított görgetőfelület. */
    max-height: calc(100vh - 200px);
    max-height: calc(100dvh - 200px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .nav__inner a {
    display: block;
    width: 100%;
    flex: 0 0 auto;          /* ne nyomódjon össze a max-height mellett */
    white-space: normal;     /* ne folyjon vízszintesen a panel széléig */
    border-bottom: 1px solid var(--c-line);
    border-left: 3px solid transparent;
  }
  .nav__inner a:hover, .nav__inner a[aria-current="page"] {
    border-bottom-color: var(--c-line);
    border-left-color: var(--c-primary);
  }
}

/* 640–739px: a .topbar egy sorban marad (S3b).
   Ebben a sávban a mottó (dőlt szerif) és a három .topbar__links együtt
   690.5px-et igényel (mérve: mottó 359.8 + gap 28 + linkek 302.7), a
   rendelkezésre álló hely viszont csak 600–699px → a .topbar__inner kétsoros
   lett (72.8px), a fejléc 251.2px, és a .langbar 34.2px-e a fejléc alá
   csúszott. A szűkítés: 12px betűméret (--t-xxs) + 12px hézagok (--s-1) →
   a tartalom ~556px, kényelmesen elfér; a fejléc itt is 216.4px marad, így
   a --header-h: 217px konstans (S1) ebben a sávban is pontos. */
@media (min-width: 640px) and (max-width: 739px) {
  .topbar { font-size: var(--t-xxs); }
  .topbar__inner { gap: var(--s-1); }
  .topbar__links { gap: var(--s-1); }
}

/* Mobil: < 640px */
@media (max-width: 639px) {
  :root {
    /* Mobil fejléc (mérés): topbar 38–45 (a mottó 390px alatt 2 sorba tör) +
       nav 64 = 179–186px. A legnagyobb mért érték (186) biztosítja, hogy a
       sticky sávok egyik szélességen se csússzanak a fejléc alá; 480–639px-en
       ezért 7px rés marad a fejléc és a langbar között. */
    --header-h: 186px;
    --t-h1: 1.5rem;
    --t-h2: 1.375rem;
    --t-h3: 1.25rem;
    --t-h4: 1.125rem;
    --t-body: 1.0625rem;
    --t-quote: 1.1875rem;
    --s-2: 20px;
    --s-3: 24px;
    --s-4: 36px;
    --s-5: 48px;
    --s-6: 56px;
  }

  .wrap { padding-inline: 16px; }

  /* Táblázat mobilon — görgethető */
  table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Hosszú címkék tördelése keskeny kijelzőn */
  .toc__summary { flex-wrap: wrap; }
  .nav__inner a { white-space: normal; }

  .grid--2, .grid--3, .grid--4, .grid--6 { grid-template-columns: minmax(0, 1fr); }
  .grid--2x2 { grid-template-columns: minmax(0, 1fr); }
  .stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .award-grid { grid-template-columns: minmax(0, 1fr); }
  .study-summary { grid-template-columns: minmax(0, 1fr); }
  .authors { grid-template-columns: minmax(0, 1fr); }
  .authors li { border-right: 0; }
  .footer__grid { grid-template-columns: minmax(0, 1fr); }

  .topbar__inner { justify-content: center; text-align: center; }
  .topbar__links { display: none; }

  /* Mobil fejléc-újratervezés (<640px).
     A .masthead__inner „display: contents" lesz, így a .brand és a
     .langswitch közvetlenül a .site-header gridjébe kerül; a hamburger
     a .nav dobozán át ugyanabba a sorba kerül a nyelvváltó mellé. */
  .site-header {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
  }
  .topbar { grid-column: 1 / -1; }
  /* A site-header masthead-wrapperét „átlátszóvá" tesszük, hogy a .brand
     és .langswitch közvetlenül a .site-header gridjének elemei legyenek.
     FONTOS: csak a .masthead__inner (site-header), NEM a .masthead
     (tanulmány-hero) — utóbbi a study.css sötétkék hátterét hordozza. */
  .masthead__inner { display: contents; }

  /* Logó 2×, mellette csak a „SzBMRTT" rövidítés */
  .brand {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 14px;
    padding-inline: 20px;
  }
  .brand__logo { width: 88px; height: 76px; }
  /* A 3 soros brand-szövegblokk helyett csak a rövidítés */
  .brand__text { display: none; }
  .brand::after {
    content: "SzBMRTT";
    font-family: var(--f-serif, Georgia, "Times New Roman", serif);
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: -.005em;
    color: var(--c-ink-strong, #1a1a1a);
  }

  /* Nyelvváltó + hamburger egy sorban */
  .langswitch {
    grid-column: 1;
    justify-self: start;
    padding-inline: 20px;
  }
  .nav {
    grid-column: 2;
    justify-self: end;
    border-top: 0;
  }
  .nav[open] {
    grid-column: 1 / -1;
    justify-self: stretch;
    border-top: 1px solid var(--c-line);
  }
  .nav > summary { display: flex; justify-content: flex-end; font-size: 0; }

  /* A hamburger melletti „Menü" felirat eltüntetése */
  .nav-toggle {
    font-size: 0;
    gap: 0;
    min-width: 44px;
    min-height: 44px;
    justify-content: center;
  }

  .hero__inner { padding-block: var(--s-5); }
  .hero__actions .btn { width: 100%; justify-content: center; }

  .biblio > li { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .biblio__no { padding-top: 0; }

  /* Identifikátor-lista mobilon: a címke az érték fölé kerül, teljes szélességben.
     Enélkül a hosszú címke (pl. „Alapító okirat bibliográfiai adatai") kiszorítja
     az értékoszlopot, ami karakterenként tördelve több ezer px magas lesz. */
  .ids li { flex-direction: column; gap: 2px; }
  .ids dt, .ids .ids__k { min-width: 0; padding-top: 0; }

  .event-list li { grid-template-columns: minmax(0, 1fr); gap: 4px; }

  .section__head { flex-direction: column; align-items: flex-start; }
  .footer__bottom { flex-direction: column; }

  /* Mobil képjavítás (B verzió): portrék + award képek */
  .card__media--portrait img {
    aspect-ratio: 1 / 1;
    height: auto;
    object-position: center 30%;
  }

  .card__media--award img {
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: contain;
    padding: var(--s-1);
  }
}

/* Széles: ≥ 1440px */
@media (min-width: 1440px) {
  :root { --max-w: 1180px; }
}

/* --------------------------------------------------------------------------
   17. NYOMTATÁS ÉS MOZGÁSCSÖKKENTÉS
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .card:hover { transform: none; }
}

@media print {
  .site-header, .nav, .topbar, .hero__media, .site-footer .zerotrack,
  .btn, .skip-link, .to-top, .jumpbar { display: none !important; }
  body { font-size: 11pt; color: #000; background: #fff; }
  .hero { background: #fff; color: #000; }
  .hero__motto, .hero__lead, .hero__translation { color: #000; }
  .section { padding-block: 12pt; }
  a { color: #000; text-decoration: underline; }
  .card, .award, .collab, .news { break-inside: avoid; border-color: #999; }
  .biblio > li { break-inside: avoid; }
  .toc { break-inside: avoid; border-color: #999; }
  .toc__summary { background: #fff; }
}

