/* ERFURT ROLEPLAY – TYPOGRAPHY V4
   Moderne klare Display-Schrift + ruhige Leseschrift. Ohne Font-Downloads,
   externe Aufrufe oder zusätzliche Einwilligungspflichten. */
:root {
  --er-type-display: "Aptos Display", "Segoe UI Variable Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --er-type-body: "Aptos", "Segoe UI Variable Text", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
html, body {
  font-family: var(--er-type-body) !important;
  font-optical-sizing: auto;
  font-synthesis: weight;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body {letter-spacing: normal !important; line-height: 1.55;}
/* All headings and any layout-specific display type use one coherent family. */
h1,h2,h3,h4,h5,h6,
.metro-hero h1,.metro-section h2,.metro-lastcall h2,
.er-hero h1,.er-section h2,.city-hero h1,.city-page-hero h1,
.city-film-overlay h2,.city-community h2,.city-philosophy-lead h2,
.city-intro-note h2,.city-shop-panel h2,.city-faction-card h3,
.metro-faction-card h3,.metro-highlight-grid h3,
.metro-cinema-content h3,.metro-step h3,.metro-discord h3 {
  font-family: var(--er-type-display) !important;
  font-style: normal;
  font-weight: 750;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
/* Hero and section titles: legible, confident, without the old compressed Impact look. */
.metro-hero h1 {font-size:clamp(58px,6vw,92px) !important;font-weight: 800 !important;letter-spacing: -0.044em !important;line-height: 1.07 !important;}
.metro-section h2,.metro-lastcall h2,.city-page-hero h1 {
  font-size:clamp(40px,4.6vw,72px) !important;
  font-weight: 780 !important;line-height: 1.08 !important;letter-spacing: -.033em !important;
}
.metro-hero h1 strong,.metro-section h2 em,.metro-lastcall h2 em {font-weight:inherit;}
.metro-highlight-grid h3,.metro-faction-card h3,.metro-step h3,.metro-cinema-content h3,
.city-entry-card h3,.city-faction-card h3 {font-weight: 780;letter-spacing:-.025em;line-height:1.13;}
/* Interface text gets a calmer, readable rhythm throughout public website and panel. */
button,input,textarea,select,option,.er-main-nav,.city-nav-dropdown,.metro-btn,.er-button,
.er-brand,.city-card-more,.metro-textlink,.metro-topline,.metro-kicker,
.metro-hero-bottom,.metro-steps-grid,.er-rule-page,.er-rule-nav,.admin-layout,
.admin-sidebar,.admin-main,.city-cms-box,.er-footer,.er-cookie-dialog {
  font-family: var(--er-type-body) !important;
}
input,textarea,select {letter-spacing:normal;line-height:1.55;}
.er-main-nav,.er-main-nav a,.city-nav-dropdown summary,.metro-btn {font-weight:680 !important;letter-spacing: .005em !important;}
.metro-kicker,.er-kicker,.er-eyebrow,.metro-topline,.metro-hero-bottom>div span {
  font-weight:720 !important;letter-spacing:.095em !important;
}
.metro-ticker>div,.er-marquee>div,.metro-step-nr,.city-spotlight-symbol,
.city-gallery-placeholder,.metro-stat-icon {font-family: var(--er-type-display) !important;}
.metro-ticker>div {font-weight:750;letter-spacing:.06em;}
/* Less aggressive all-caps/spacing in panels and long content. */
.er-rule-page h1,.er-rule-page h2,.er-rule-page h3,
.panel h1,.panel h2,.panel h3,.city-cms-box h3 {letter-spacing:-.018em;line-height:1.25;}
.er-rule-page p,.er-rule-page li,.panel p,.city-entry-card p,
.er-legal-body p,.er-legal-body li {line-height:1.72;}
@media (max-width: 630px) {
 .metro-hero h1 {font-size:clamp(43px,10vw,65px) !important;letter-spacing:-.045em !important;}
 .metro-section h2,.metro-lastcall h2 {font-size:clamp(37px,9vw,60px) !important;line-height:1.1 !important;}
 .city-page-hero h1 {font-size:clamp(43px,10vw,76px) !important;}
}
