/* ============================================================
   MEKISKA Consulting & Engineering — Rechtsseiten
   Setzt assets/basis.css voraus. Enthaelt keine eigenen
   Farbwerte: alle Farben kommen aus den Tokens in basis.css.
   ============================================================ */

.wrap{ max-width:900px; }
.topbar .wrap{ max-width:var(--maxw); gap:20px; }

main{ padding-top:clamp(44px,7vw,80px); padding-bottom:clamp(60px,8vw,110px); line-height:1.7; }
main a{ color:var(--gruen); text-underline-offset:3px; }
main a:hover{ color:var(--anthrazit); }

h1{
  font-family:var(--disp); font-stretch:106%; font-weight:800;
  font-size:clamp(2.2rem,5.4vw,3.6rem); line-height:1;
  letter-spacing:-.03em; text-transform:uppercase;
  margin:24px 0 0;
}
.stand{
  margin:18px 0 0; font-family:var(--mono); font-size:11px;
  letter-spacing:.12em; text-transform:uppercase; color:var(--grau);
}

/* ---------- Inhaltsverzeichnis ---------- */

.inhalt{
  margin:clamp(34px,5vw,54px) 0 0;
  border-top:1px solid var(--linie); border-bottom:1px solid var(--linie);
  padding:22px 0;
}
.inhalt p{ margin:0 0 14px; font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--grau); }
.inhalt ol{ margin:0; padding:0; list-style:none; columns:1; column-gap:36px; }
@media(min-width:640px){ .inhalt ol{ columns:2; } }
.inhalt li{ break-inside:avoid; padding:4px 0; font-family:var(--mono); font-size:12px; }
.inhalt li::before{ content:attr(data-n) "  "; color:var(--gruen); }
.inhalt a{ text-decoration:none; color:var(--anthrazit); }
.inhalt a:hover{ color:var(--gruen); }

/* ---------- Abschnitte ---------- */

section.abs{ margin-top:clamp(34px,4.4vw,52px); scroll-margin-top:calc(var(--kopf) + 20px); }
section.abs h2{
  font-family:var(--disp); font-stretch:102%; font-weight:700;
  font-size:clamp(1.15rem,1.9vw,1.45rem); text-transform:uppercase;
  letter-spacing:-.012em; margin:0 0 16px; padding-bottom:12px;
  border-bottom:1px solid var(--linie);
  display:flex; gap:14px; align-items:baseline;
}
section.abs h2 span{ font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.14em; color:var(--gruen); text-transform:none; }
section.abs p{ margin:0 0 14px; }
section.abs ul{ margin:0 0 14px; padding-left:0; list-style:none; }
section.abs ul li{ position:relative; padding:5px 0 5px 20px; }
section.abs ul li::before{ content:""; position:absolute; left:0; top:16px; width:9px; height:2px; background:var(--gruen); }

.anschrift{
  font-family:var(--mono); font-size:13px; line-height:1.9; letter-spacing:.03em;
  background:var(--blatt); border:1px solid var(--linie); padding:18px 20px;
}
.nach-kasten{ margin-top:16px; }

/* ---------- Fusszeile ---------- */

.rechtsfuss{ border-top:1px solid var(--linie); background:var(--blatt); }
.rechtsfuss .wrap{
  max-width:var(--maxw); padding-top:26px; padding-bottom:32px;
  display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between;
  font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--grau);
}
.rechtsfuss nav{ display:flex; flex-wrap:wrap; gap:20px; }
.rechtsfuss nav a{ color:var(--anthrazit); text-decoration:none; border-bottom:1px solid var(--linie); padding-bottom:2px; }
.rechtsfuss nav a:hover{ color:var(--gruen); border-color:var(--gruen); }
