:root{
  /* Hainbuche, bedeckter Himmel, Schnittgut. Bewusst nur eine Farbe neben Schwarzweiß. */
  --hain:#3C4A33;
  --hain-hell:#6E7F5C;
  --tinte:#131711;
  --grau:#7E8478;
  --linie:#DCDFD8;
  --dunst:#EDEFEA;
  --papier:#FFFFFF;

  --s--2:clamp(.72rem,.7rem + .1vw,.79rem);
  --s--1:clamp(.84rem,.81rem + .13vw,.93rem);
  --s-0:clamp(1rem,.97rem + .16vw,1.1rem);
  --s-1:clamp(1.14rem,1.05rem + .38vw,1.38rem);
  --s-2:clamp(1.4rem,1.12rem + 1.28vw,2.25rem);
  --s-3:clamp(2rem,1.4rem + 2.7vw,3.75rem);
  --space:clamp(1.5rem,1.15rem + 1.75vw,2.75rem);
  --edge:clamp(1.25rem,.75rem + 2.6vw,3.5rem);
}
*,*::before,*::after{box-sizing:border-box;}
body,h1,h2,h3,h4,p,ul,ol,li,figure,dl,dt,dd{margin:0;padding:0;}
body{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:var(--s-0);line-height:1.6;font-weight:400;
  color:var(--tinte);background:var(--papier);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
ul,ol{list-style:none;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--hain);outline-offset:3px;}
[id]{scroll-margin-top:3.5rem;}

.s-mono{font-family:'DM Mono',ui-monospace,monospace;font-weight:400;}
.s-wrap{width:min(66rem,100%);margin-inline:auto;padding-inline:var(--edge);}
.s-mark{display:block;font-family:'DM Mono',monospace;font-size:var(--s--2);
  letter-spacing:.2em;text-transform:uppercase;color:var(--hain);}

/* ── Präsenzo-Leiste ── */
.pz{background:var(--tinte);color:var(--papier);font-size:var(--s--1);}
.pz__in{width:min(66rem,100%);margin-inline:auto;padding:.6rem var(--edge);
  display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center;justify-content:center;text-align:center;}
.pz__cta{color:#B8CBA6;font-weight:500;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}

/* ── Kopf ── */
.kopf{border-bottom:1px solid var(--linie);}
.kopf__in{width:min(66rem,100%);margin-inline:auto;padding:1.05rem var(--edge);
  display:flex;align-items:baseline;gap:var(--space);flex-wrap:wrap;}
.haus{font-weight:700;font-size:var(--s-1);letter-spacing:.32em;text-transform:uppercase;text-decoration:none;}
.nav{margin-inline-start:auto;display:flex;gap:1.5rem;flex-wrap:wrap;font-size:var(--s--1);}
.nav a{text-decoration:none;color:var(--grau);padding-bottom:.1rem;border-bottom:1px solid transparent;}
.nav a:hover,.nav a[aria-current="page"]{color:var(--tinte);border-bottom-color:var(--tinte);}

/* ── Hero ── */
.schur{padding-block:clamp(2.75rem,2rem + 4vw,5.5rem) 0;}
.schur h1{font-size:var(--s-3);max-width:16ch;margin-top:1.1rem;font-weight:700;letter-spacing:-.028em;line-height:1.06;}
.schur__lede{margin-top:1.35rem;max-width:45ch;font-size:var(--s-1);line-height:1.5;color:var(--grau);}
.schur__reihe{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.7rem;}

.h-voll{display:inline-block;background:var(--tinte);color:var(--papier);text-decoration:none;
  font-size:var(--s--1);font-weight:500;padding:.9rem 1.7rem;border:1px solid var(--tinte);}
.h-voll:hover{background:var(--hain);border-color:var(--hain);}
.h-linie{display:inline-block;text-decoration:none;border:1px solid var(--linie);
  font-size:var(--s--1);font-weight:500;padding:.9rem 1.7rem;color:var(--grau);}
.h-linie:hover{border-color:var(--tinte);color:var(--tinte);}

/* ── Signatur: das Heckenprofil ── */
.profil{margin-top:clamp(2.5rem,2rem + 2.5vw,4rem);border-top:1px solid var(--tinte);padding-top:1.2rem;}
.profil__kopf{display:flex;flex-wrap:wrap;gap:.4rem 2rem;align-items:baseline;justify-content:space-between;}
.profil__kopf h2{font-size:var(--s--1);font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.profil__kopf span{font-family:'DM Mono',monospace;font-size:var(--s--2);color:var(--grau);}

.risse{display:grid;gap:var(--space);grid-template-columns:1fr;margin-top:clamp(1.75rem,1.4rem + 1.6vw,2.75rem);}
@media (min-width:42rem){.risse{grid-template-columns:1fr 1fr;}}
.riss{border:1px solid var(--linie);padding:1.2rem;}
.riss svg{display:block;width:100%;max-width:19rem;height:auto;margin-inline:auto;}
.riss svg .mass{font-family:'DM Mono',monospace;font-size:9.5px;fill:#131711;}
.riss__titel{display:block;margin-top:1rem;font-weight:700;font-size:var(--s-1);}
.riss__titel em{font-style:normal;font-family:'DM Mono',monospace;font-size:var(--s--2);
  letter-spacing:.14em;text-transform:uppercase;color:var(--hain);margin-inline-end:.6rem;}
.riss__text{display:block;margin-top:.5rem;font-size:var(--s--1);color:var(--grau);}
.profil__fuss{margin-top:1.5rem;font-size:var(--s--1);color:var(--grau);max-width:60ch;}
.profil__fuss strong{color:var(--tinte);font-weight:700;}

/* ── Abschnitte ── */
.bahn{padding-block:clamp(3rem,2.2rem + 4vw,5.5rem);border-top:1px solid var(--linie);}
.bahn--dunst{background:var(--dunst);}
.bahn--hain{background:var(--hain);color:var(--papier);border-top-color:var(--hain);}
.bahn--hain .s-mark{color:#C9D9B8;}
.bahn__kopf{max-width:48ch;}
.bahn__kopf h2{font-size:var(--s-2);margin-top:.75rem;font-weight:700;letter-spacing:-.024em;line-height:1.12;}
.bahn__kopf p{margin-top:.9rem;color:var(--grau);}
.bahn--hain .bahn__kopf p{color:rgba(255,255,255,.78);}

/* ── Listen ── */
.zeilen{margin-top:clamp(2rem,1.5rem + 2vw,3rem);border-top:1px solid var(--tinte);}
.bahn--hain .zeilen{border-top-color:rgba(255,255,255,.5);}
.zeile{display:grid;gap:.3rem 1.5rem;grid-template-columns:1fr;
  padding-block:1.15rem;border-bottom:1px solid var(--linie);}
.bahn--hain .zeile{border-bottom-color:rgba(255,255,255,.2);}
@media (min-width:50rem){.zeile{grid-template-columns:minmax(10rem,.75fr) minmax(0,1.8fr) auto;align-items:baseline;}}
.zeile__name{font-weight:700;}
.zeile__text{font-size:var(--s--1);color:var(--grau);}
.bahn--hain .zeile__text{color:rgba(255,255,255,.78);}
.zeile__wert{font-family:'DM Mono',monospace;font-size:var(--s--1);color:var(--hain);white-space:nowrap;}
.bahn--hain .zeile__wert{color:#C9D9B8;}

/* ── Karten ── */
.karten{display:grid;gap:var(--space);grid-template-columns:1fr;margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
@media (min-width:44rem){.karten{grid-template-columns:1fr 1fr;}}
@media (min-width:64rem){.karten{grid-template-columns:repeat(4,1fr);}}
.karte{border-top:1px solid var(--tinte);padding-top:1rem;}
.bahn--hain .karte{border-top-color:rgba(255,255,255,.5);}
.karte h3{font-weight:700;font-size:var(--s-1);}
.karte p{margin-top:.5rem;font-size:var(--s--1);color:var(--grau);}
.bahn--hain .karte p{color:rgba(255,255,255,.78);}

/* ── Bild ── */
.bild{margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
.bild img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;}
.bild figcaption{margin-top:.65rem;font-family:'DM Mono',monospace;font-size:var(--s--2);
  letter-spacing:.12em;text-transform:uppercase;color:var(--grau);}

/* ── Kontakt ── */
.paare{display:grid;gap:var(--space);grid-template-columns:1fr;margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
@media (min-width:44rem){.paare{grid-template-columns:1fr 1fr;}}
.paar h3{font-family:'DM Mono',monospace;font-size:var(--s--2);letter-spacing:.18em;
  text-transform:uppercase;color:var(--hain);margin-bottom:.9rem;}
.bahn--hain .paar h3{color:#C9D9B8;}
.paar__zeile{display:flex;justify-content:space-between;gap:1rem;padding-block:.5rem;
  border-bottom:1px solid var(--linie);font-size:var(--s--1);}
.bahn--hain .paar__zeile{border-bottom-color:rgba(255,255,255,.2);}
.paar__zeile span:last-child{font-family:'DM Mono',monospace;text-align:right;}

/* ── Unterseiten ── */
.oben{padding-block:clamp(2.5rem,1.9rem + 3vw,4.25rem) 0;}
.oben h1{font-size:var(--s-2);max-width:20ch;margin-top:.75rem;font-weight:700;letter-spacing:-.024em;line-height:1.12;}
.oben p{margin-top:.95rem;max-width:48ch;color:var(--grau);font-size:var(--s-1);line-height:1.5;}

.fuss{border-top:1px solid var(--linie);padding-block:2.5rem;font-size:var(--s--1);color:var(--grau);}
.fuss a{color:var(--tinte);}
.fuss p + p{margin-top:.45rem;}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
