:root{
  /* aus dem Naturgarten im Juni: Magerwiese, Trockenmauer, Tümpel, Totholz, Distelblüte */
  --wiese:#7C8F4E;
  --wiese-tief:#37452A;
  --lehm:#9E8A6B;
  --stein:#9E9384;
  --wasser:#5C7F86;
  --distel:#7E6597;
  --totholz:#6B563D;
  --papier:#F4F3EA;
  --karte:#FBFAF3;
  --grau:#807A6A;

  --s--2:clamp(.74rem,.72rem + .1vw,.81rem);
  --s--1:clamp(.86rem,.83rem + .13vw,.95rem);
  --s-0:clamp(1.02rem,.99rem + .16vw,1.12rem);
  --s-1:clamp(1.16rem,1.06rem + .4vw,1.42rem);
  --s-2:clamp(1.5rem,1.18rem + 1.45vw,2.5rem);
  --s-3:clamp(2.05rem,1.35rem + 3.1vw,4.05rem);
  --space:clamp(1.4rem,1.1rem + 1.5vw,2.5rem);
  --edge:clamp(1.2rem,.7rem + 2.5vw,3.25rem);
}
*,*::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:'Cabin',system-ui,sans-serif;
  font-size:var(--s-0);line-height:1.66;font-weight:400;
  color:var(--wiese-tief);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(--wiese-tief);outline-offset:3px;}
[id]{scroll-margin-top:3.5rem;}

.w-serif{font-family:'Literata',Georgia,serif;font-weight:600;line-height:1.16;letter-spacing:-.008em;}
.w-wrap{width:min(71rem,100%);margin-inline:auto;padding-inline:var(--edge);}
.w-mark{display:block;font-size:var(--s--2);letter-spacing:.2em;text-transform:uppercase;color:var(--wiese);font-weight:700;}

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

/* ── Kopf ── */
.kopf{background:var(--karte);border-bottom:1px solid rgba(55,69,42,.2);}
.kopf__in{width:min(71rem,100%);margin-inline:auto;padding:1.1rem var(--edge);
  display:flex;align-items:baseline;gap:var(--space);flex-wrap:wrap;}
.haus{font-family:'Literata',serif;font-weight:600;font-size:var(--s-1);text-decoration:none;}
.haus span{color:var(--wiese);}
.nav{margin-inline-start:auto;display:flex;gap:1.5rem;flex-wrap:wrap;font-size:var(--s--1);font-weight:600;}
.nav a{text-decoration:none;color:var(--grau);padding-bottom:.15rem;border-bottom:2px solid transparent;}
.nav a:hover,.nav a[aria-current="page"]{color:var(--wiese-tief);border-bottom-color:var(--wiese);}

/* ── Hero ── */
.grund{padding-block:clamp(2.5rem,1.9rem + 3.2vw,4.5rem) 0;}
.grund h1{font-size:var(--s-3);max-width:17ch;margin-top:1rem;}
.grund h1 em{font-style:normal;color:var(--wiese);}
.grund__lede{margin-top:1.3rem;max-width:46ch;font-size:var(--s-1);line-height:1.5;color:var(--grau);}
.grund__reihe{margin-top:1.9rem;display:flex;flex-wrap:wrap;gap:.7rem;}

.n-voll{display:inline-block;background:var(--wiese-tief);color:var(--karte);text-decoration:none;
  font-size:var(--s--1);font-weight:700;padding:.9rem 1.7rem;border:2px solid var(--wiese-tief);}
.n-voll:hover{background:var(--wiese);border-color:var(--wiese);}
.n-linie{display:inline-block;text-decoration:none;border:2px solid var(--wiese-tief);
  font-size:var(--s--1);font-weight:700;padding:.9rem 1.7rem;}
.n-linie:hover{background:var(--karte);}

/* ── Signatur: die Strukturen ── */
.bau{margin-top:clamp(2.25rem,1.7rem + 2.5vw,3.5rem);}
.bau__kopf{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;align-items:baseline;justify-content:space-between;
  padding-bottom:.9rem;border-bottom:2px solid var(--wiese-tief);}
.bau__kopf h2{font-family:'Literata',serif;font-weight:600;font-size:var(--s-1);}
.bau__kopf span{font-size:var(--s--2);color:var(--grau);}

.strukturen{display:grid;gap:var(--space);grid-template-columns:1fr;margin-top:clamp(1.75rem,1.4rem + 1.6vw,2.5rem);}
@media (min-width:40rem){.strukturen{grid-template-columns:1fr 1fr;}}
@media (min-width:64rem){.strukturen{grid-template-columns:repeat(3,1fr);}}
.struktur{background:var(--karte);border:1px solid rgba(55,69,42,.2);padding:1.2rem;display:flex;flex-direction:column;}
.struktur svg{display:block;width:100%;max-width:14rem;height:auto;margin-inline:auto;}
.struktur h3{font-family:'Literata',serif;font-weight:600;font-size:var(--s-1);margin-top:.85rem;}
.struktur p{margin-top:.5rem;font-size:var(--s--1);color:var(--grau);}
.struktur__wer{margin-top:.85rem;display:flex;flex-wrap:wrap;gap:.35rem;}
.struktur__wer span{font-size:var(--s--2);background:rgba(124,143,78,.16);color:var(--wiese-tief);
  padding:.22rem .6rem;border-radius:1rem;}
.struktur__platz{margin-top:auto;padding-top:.95rem;font-size:var(--s--2);letter-spacing:.1em;
  text-transform:uppercase;color:var(--wiese);font-weight:700;}
.bau__fuss{margin-top:1.5rem;font-size:var(--s--1);color:var(--grau);max-width:62ch;}
.bau__fuss strong{color:var(--wiese-tief);font-weight:700;}

/* ── Abschnitte ── */
.flur{padding-block:clamp(3rem,2.2rem + 4vw,5.5rem);border-top:1px solid rgba(55,69,42,.18);}
.flur--karte{background:var(--karte);}
.flur--tief{background:var(--wiese-tief);color:var(--papier);border-top-color:var(--wiese-tief);}
.flur--tief .w-mark{color:#D8C24A;}
.flur__kopf{max-width:50ch;}
.flur__kopf h2{font-size:var(--s-2);margin-top:.75rem;}
.flur__kopf p{margin-top:.9rem;color:var(--grau);}
.flur--tief .flur__kopf p{color:rgba(244,243,234,.78);}

/* ── Listen ── */
.zeilen{margin-top:clamp(2rem,1.5rem + 2vw,3rem);border-top:2px solid var(--wiese-tief);}
.flur--tief .zeilen{border-top-color:#D8C24A;}
.zeile{display:grid;gap:.3rem 1.5rem;grid-template-columns:1fr;
  padding-block:1.2rem;border-bottom:1px solid rgba(55,69,42,.16);}
.flur--tief .zeile{border-bottom-color:rgba(244,243,234,.2);}
@media (min-width:50rem){.zeile{grid-template-columns:minmax(11rem,.8fr) minmax(0,1.7fr) auto;align-items:baseline;}}
.zeile__name{font-family:'Literata',serif;font-weight:600;font-size:var(--s-1);}
.zeile__text{font-size:var(--s--1);color:var(--grau);}
.flur--tief .zeile__text{color:rgba(244,243,234,.78);}
.zeile__wert{font-size:var(--s--1);color:var(--wiese);font-weight:700;white-space:nowrap;}
.flur--tief .zeile__wert{color:#D8C24A;}

/* ── 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:66rem){.karten{grid-template-columns:repeat(3,1fr);}}
.karte{border-top:3px solid var(--wiese);padding-top:1rem;}
.flur--tief .karte{border-top-color:#D8C24A;}
.karte h3{font-family:'Literata',serif;font-weight:600;font-size:var(--s-1);}
.karte p{margin-top:.5rem;font-size:var(--s--1);color:var(--grau);}
.flur--tief .karte p{color:rgba(244,243,234,.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-size:var(--s--2);letter-spacing:.14em;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-size:var(--s--2);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--wiese);margin-bottom:.85rem;}
.flur--tief .paar h3{color:#D8C24A;}
.paar__zeile{display:flex;justify-content:space-between;gap:1rem;padding-block:.55rem;
  border-bottom:1px solid rgba(55,69,42,.16);font-size:var(--s--1);}
.flur--tief .paar__zeile{border-bottom-color:rgba(244,243,234,.2);}
.paar__zeile span:last-child{font-weight:700;text-align:right;}

/* ── Unterseiten ── */
.oben{background:var(--karte);padding-block:clamp(2.5rem,1.9rem + 3vw,4.25rem);border-bottom:1px solid rgba(55,69,42,.2);}
.oben h1{font-size:var(--s-2);max-width:21ch;margin-top:.75rem;}
.oben h1 em{font-style:normal;color:var(--wiese);}
.oben p{margin-top:.95rem;max-width:50ch;color:var(--grau);font-size:var(--s-1);line-height:1.5;}

.fuss{border-top:1px solid rgba(55,69,42,.18);padding-block:2.5rem;font-size:var(--s--1);color:var(--grau);}
.fuss a{color:var(--wiese);font-weight:700;}
.fuss p + p{margin-top:.45rem;}

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