@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/cormorant-garamond-regular.ttf") format("truetype")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/cormorant-garamond-semibold.ttf") format("truetype")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/source-sans-3-regular.ttf") format("truetype")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/source-sans-3-semibold.ttf") format("truetype")}

:root {
  color-scheme: dark;
  --background: #211829;
  --surface: #302238;
  --border: #59445f;
  --text: #f4ede0;
  --muted: #c7bacc;
  --gold: #ddb566;
  --gutter: clamp(48px, 6.6667vw, 96px);
  font-family: "Source Sans 3", sans-serif;
  color: var(--text);
  background: var(--background);
}
* { box-sizing: border-box; }
body, h1, h2, h3, p, ul { margin: 0; }
body { min-width: 280px; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--gold); text-underline-offset: .2em; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 3px solid var(--text); outline-offset: 5px; }
[tabindex="-1"]:focus { outline: none; }
.container { width: 100%; max-width: 1440px; margin-inline: auto; padding-inline: var(--gutter); }
.masthead { background: #000; }
.masthead-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding-block: 32px; }
.world-logo { width: 320px; min-width: 0; flex-shrink: 1; }
.site-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.site-nav a { color: var(--gold); font-size: 16px; line-height: 22px; font-weight: 600; text-decoration: none; }
.site-nav a:hover, .site-nav a[aria-current="page"] { text-decoration: underline; }
.site-nav a[aria-current="page"] { color: var(--text); }
.logo-link { display: block; width: 320px; min-width: 0; flex-shrink: 1; }
.logo-link .world-logo { width: 100%; }
.legal-layout { max-width: 960px; margin-inline: auto; padding: 64px 48px; }
.legal-text { color: var(--muted); font-size: 18px; line-height: 1.65; overflow-wrap: anywhere; hyphens: auto; }
.legal-text h1 { color: var(--text); font-size: clamp(38px, 5vw, 64px); line-height: 1.1; margin-bottom: 32px; }
.legal-text > h2:first-child { color: var(--text); font-size: clamp(38px, 5vw, 64px); line-height: 1.1; margin-block: 0 32px; }
.legal-text h2 { color: var(--text); font-size: 32px; line-height: 1.2; margin-block: 40px 20px; }
.legal-text h1 strong, .legal-text h2 strong { font-weight: 600; }
.legal-text p, .legal-text ul, .legal-text ol { margin-block: 16px; }
.legal-text p:empty { display: none; }
.legal-text strong { font-weight: 600; }
.back-link { display: inline-block; margin-top: 32px; padding-block: 12px; font-size: 16px; font-weight: 600; }
.hero { position: relative; isolation: isolate; }
.atmosphere { position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 610px; max-width: none; object-fit: cover; opacity: .1; pointer-events: none; }
.hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 80px; align-items: start; padding-block: 48px 64px; }
.story, .section-stack { display: flex; flex-direction: column; align-items: stretch; gap: 24px; }
.eyebrow { color: var(--gold); font-size: 13px; font-weight: 600; line-height: 18px; text-transform: uppercase; }
h1, h2, h3 { font-family: "Cormorant Garamond", Georgia, serif; }
h1 { font-size: clamp(64px, 6.1111vw, 88px); font-weight: 400; line-height: .954545; }
h2 { font-size: 44px; font-weight: 600; line-height: 48px; }
h3 { font-size: 29px; font-weight: 600; line-height: 32px; }
.body-copy { font-size: 19px; line-height: 29px; color: var(--muted); }
.meta { font-size: 14px; line-height: 20px; color: var(--muted); }
.button { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 16px; color: var(--background); background: var(--gold); font-size: 16px; line-height: 22px; font-weight: 600; text-decoration: none; }
.button:hover { background: #e9c887; text-decoration: none; }
.button:focus-visible { outline-color: var(--text); }
.discover { width: 240px; }
.download-icon { flex: 0 0 20px; }
.cover-slot { display: flex; justify-content: center; }
.cover { width: 330px; }
.atlas { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 51.28205%); gap: 64px; align-items: center; padding-block: 16px 48px; }
.world-map { width: 100%; }
.downloads { padding-block: 48px 64px; scroll-margin-top: 24px; }
.download-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.download-card { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 24px; background: var(--surface); border: 1px solid var(--border); border-radius: 4px; min-width: 0; }
.download-card .button { margin-top: auto; }
.community { background: var(--surface); padding-block: 48px; }
.external-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 0; list-style: none; }
.external-links li { min-width: 0; }
.external-links a { font-size: 16px; line-height: 22px; font-weight: 600; text-decoration: none; }
.external-links a:hover { text-decoration: underline; }
.external-links .meta { margin-top: 8px; }
.publisher { display: flex; gap: 24px; align-items: center; justify-content: space-between; }
.publisher p { flex: 1; min-width: 0; }
.press-logo { flex: 0 0 144px; width: 144px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: absolute; z-index: 10; left: 24px; top: 8px; transform: translateY(-200%); padding: 12px 16px; color: var(--background); background: var(--gold); }
.skip-link:focus { transform: none; }

@media (min-width: 700px) and (max-width: 1199px) {
  :root { --gutter: 48px; }
  .world-logo { width: 260px; }
  .logo-link { width: 260px; }
  .hero-inner { grid-template-columns: minmax(0, 1fr) 248px; gap: 32px; padding-block: 32px 48px; }
  .cover { width: 248px; }
  .atmosphere { height: 620px; }
  h1 { font-size: 44px; font-weight: 600; line-height: 48px; }
  .atlas { grid-template-columns: 1fr; gap: 16px; }
  .atlas h2 { font-size: 36px; line-height: 40px; }
  .desktop-break { display: none; }
  .download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .pdf-card { grid-column: 1 / -1; }
  .press-logo { flex-basis: 128px; width: 128px; }
}
@media (max-width: 699px) {
  :root { --gutter: 24px; }
  .masthead-inner { padding-block: 24px; }
  .world-logo { width: 218px; }
  .logo-link { width: 218px; }
  .site-nav { flex-basis: 100%; gap: 16px; }
  .legal-layout { padding: 40px 24px; }
  .legal-text { font-size: 17px; line-height: 1.65; }
  .legal-text h2 { font-size: 29px; }
  .hero-inner { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 16px 48px; }
  .atmosphere { height: 700px; }
  h1 { font-size: clamp(38px, 12.8205vw, 50px); line-height: .98; }
  h2 { font-size: 36px; line-height: 40px; }
  .body-copy { font-size: 17px; line-height: 26px; }
  .discover { width: 100%; }
  .cover { width: 228px; }
  .atlas { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .desktop-break { display: none; }
  .downloads { padding-block: 32px 48px; }
  .download-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .external-links { grid-template-columns: minmax(0, 1fr); }
  .press-logo { flex-basis: 112px; width: 112px; }
}
@media (max-width: 359px) {
  .download-card { padding: 18px; }
  .publisher { gap: 16px; }
  .press-logo { flex-basis: 88px; width: 88px; }
}

/* Gemeinsame Hauptnavigation und Leseseiten */
.site-nav .nav-group { display: contents; }
.site-nav a { white-space: nowrap; }
.reading-layout { max-width: 960px; margin-inline: auto; padding: 64px 48px; }
.reading-layout h1, .country-layout h1 { font-size: 64px; line-height: 1.1; font-weight: 600; }
.page-intro { margin-top: 24px; max-width: 760px; }
.reading-layout > .eyebrow, .country-layout > .eyebrow { margin-bottom: 16px; }
.page-action { width: fit-content; max-width: 100%; margin-top: 32px; }
.reading-section { margin-top: 64px; }
.reading-section h2 { font-size: 32px; line-height: 1.2; }
.source-line { margin-top: 12px; }
.reading-copy { color: var(--muted); font-size: 18px; line-height: 1.65; hyphens: auto; overflow-wrap: anywhere; }
.reading-copy p { margin-top: 20px; }
.signature { margin-top: 24px; color: var(--text); font-size: 18px; line-height: 1.65; }
.author-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 24px; padding: 0; margin-top: 24px; list-style: none; color: var(--muted); font-size: 18px; line-height: 1.65; }
.country-layout { padding-block: 64px; }
.country-section { margin-top: 64px; }
.country-section h2 { margin-bottom: 24px; }
.country-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.country-card { display: flex; flex-direction: column; gap: 12px; padding: 24px; background: var(--surface); border: 1px solid var(--border); border-radius: 4px; }
.country-authors { color: var(--muted); font-size: 16px; line-height: 24px; }
.country-tagline { color: var(--text); font-size: 17px; line-height: 26px; }
.footer-contact { color: var(--muted); font-size: 16px; line-height: 24px; overflow-wrap: anywhere; }
.footer-contact a { color: var(--gold); }
.reading-section { scroll-margin-top: 32px; }
.portrait-byline { margin-top: 24px; color: var(--muted); font-size: 16px; line-height: 24px; }
.portrait-copy { margin-top: 32px; }
.portrait-copy p { margin-top: 0; }
.country-pagination { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 24px; margin-top: 48px; }
.country-neighbor, .country-overview { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 16px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface); text-decoration: none; }
.country-neighbor:hover, .country-overview:hover { border-color: var(--gold); }
.neighbor-label { color: var(--muted); font-size: 14px; line-height: 20px; }
.neighbor-name { color: var(--gold); font-size: 18px; font-weight: 600; line-height: 26px; overflow-wrap: anywhere; }
.country-neighbor.next { text-align: right; }
.country-overview { align-items: center; justify-content: center; min-height: 88px; font-size: 18px; font-weight: 600; line-height: 26px; text-align: center; overflow-wrap: anywhere; }
@media(max-width:699px) { .country-pagination { grid-template-columns: minmax(0,1fr); gap: 16px; } }
.country-card h3 a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.country-card { position: relative; }
.country-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.country-card:hover { border-color: var(--gold); }
.country-card:focus-within { outline: 2px solid var(--gold); outline-offset: 3px; }
.text-link { display: inline-block; margin-top: 48px; font-size: 16px; line-height: 24px; }
@media(max-width:1199px) { .masthead-inner { flex-direction: column; align-items: flex-start; } .country-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .reading-layout h1,.country-layout h1 { font-size: 44px; } }
@media(max-width:699px) { .site-nav { flex-direction: column; align-items: flex-start; gap: 12px; width: 100%; } .site-nav .nav-group { display: flex; flex-wrap: wrap; gap: 16px; max-width: 100%; } .reading-layout { padding:40px 24px; } .reading-layout h1,.country-layout h1 { font-size: 38px; } .reading-section,.country-section { margin-top: 48px; } .reading-section h2 { font-size: 29px; } .reading-copy,.signature { font-size:17px; } .country-layout { padding-block:40px; } .country-grid,.author-list { grid-template-columns:minmax(0,1fr); } .country-grid { gap:16px; } .country-section h2 { font-size:32px; line-height:38px; } }
