/* Geradlinige Typografie, abgestimmt auf das Armevo-Zeichen. */
:root {
  --serif:var(--sans);
  --btn-radius:999px;
  --karten-radius:14px;
  --feld-radius:10px;
  --muted:#69655d;
}
.display {
  font-family:var(--sans);
  font-weight:500;
  font-style:normal;
  line-height:1.08;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.display i,.display em,.italic,.hero h1 .accent,
.ticker-track span,.step-num,.signature {font-style:normal}
.h-xl {font-size:clamp(40px,7.2vw,104px)}
.h-lg {font-size:clamp(36px,5.3vw,76px)}
.h-md {font-size:clamp(28px,3.2vw,44px)}
h1,h2,h3,h4,.weg-titel,.weiter-titel,.mst-name,.mat-name,
.obj-text h3,.mpark-body h3,.service h3,.step h3,.card h3,
.ref-overlay .ref-title,.product-info h1,.rte h2,.rte h3 {
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
}
.display {line-height:1.12;letter-spacing:-.035em}
.lead {line-height:1.7;max-width:64ch}
.lead .italic,.split p .italic {font-size:inherit;font-weight:600}
.label {letter-spacing:.12em;line-height:1.7}
.hero--voll::after {
  background:linear-gradient(90deg,rgba(14,14,16,.68),rgba(14,14,16,.1) 85%),
    linear-gradient(0deg,rgba(14,14,16,.82),rgba(14,14,16,.18) 85%);
}
.hero--voll .hero-text>div {position:relative;z-index:1;max-width:960px}
.hero--voll .hero-text::before {opacity:.065}
.hero--voll h1 {margin-bottom:28px}
.hero--voll h1 .accent {color:var(--dark-ink);font-weight:500}
.hero--voll .hero-sub {color:#f4f1ea;line-height:1.7;max-width:55ch}
.hero--voll .hero-meta .label {color:#e5e1d8}
.hero-meta {max-width:60ch}
.hero-meta .dot {flex-shrink:0}
.btn {min-height:48px;font-weight:600;padding:14px 24px}
.nav-cta {
  border-radius:999px;background:var(--ink);color:var(--paper);
  font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.07em;
  min-height:42px;display:inline-flex;align-items:center;
}
.nav-cta:hover {background:var(--ink-soft);color:var(--paper)}
.nav-links a {font-weight:500}
.site-header {border-bottom-color:var(--line)}
.weg-knopf {border-radius:999px;font-family:var(--sans);font-weight:600;letter-spacing:.04em}
.bereiche-sektion .weg-titel {font-size:clamp(23px,2.1vw,31px);line-height:1.2}
.bereiche-sektion .weg-text {gap:0;padding:28px}
.bereiche-sektion .weg-nummer {margin-bottom:14px}
.bereiche-sektion .weg-p {line-height:1.7;margin-bottom:24px}
.weg-karte {border-color:var(--line)}
.weg-karte--kontakt .weg-zeile {font-weight:500;font-size:clamp(26px,2.4vw,36px);line-height:1.25;letter-spacing:-.025em}
.section-head {gap:32px}
.bereiche-kopf {gap:32px}
.footer-intro {font-size:21px;line-height:1.5}
.weiter-titel {font-size:clamp(24px,2.8vw,36px)}
.nav-links.open a {font-family:var(--sans);font-weight:500;letter-spacing:-.025em}
.step-num {font-size:48px;letter-spacing:-.06em}
@media(max-width:700px) {
  .hero--voll .hero-text {padding-top:158px;padding-bottom:54px}
  .hero--voll .hero-text::before {opacity:.04}
  .hero--voll h1 {font-size:clamp(36px,7.2vw,49px);line-height:1.12}
  .hero--voll .hero-sub {font-size:16px}
  .hero-meta .label {font-size:10px;letter-spacing:.1em}
  .bereiche-sektion .weg-text {padding:24px}
  .bereiche-sektion .weg-titel {font-size:25px}
  .section-head {gap:20px}
}
@media(max-width:380px) {
  .hero--voll h1 {font-size:33px}
  .hero--voll .btn-row {gap:10px}
  .hero--voll .btn {padding:13px 18px}
}

/* Die aktuelle Domain verwendet eine eigene Ueberschriften-Variable. */
:root{--heading-font:var(--sans)}
.display{letter-spacing:-.035em!important;line-height:1.12!important}
