:root{
  /* vom Tisch unterm Kastanienbaum: gekalkte Wand, Laub, Steinzeugkrug, Tonteller, Stoppelfeld */
  --kalk:#F3F0E6;
  --kalk-hell:#FAF8F2;
  --holz:#332A20;
  --laub:#63793F;
  --laub-tief:#3F4F28;
  --krug:#2B3543;
  --ton:#9A5238;
  --stroh:#D4BC85;
  --grau:#7C7263;

  --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);
  --s-km:clamp(1.5rem,1.15rem + 1.6vw,2.6rem);
  --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:'Source Sans 3',system-ui,sans-serif;
  font-size:var(--s-0);line-height:1.65;font-weight:400;
  color:var(--holz);background:var(--kalk);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
ul,ol{list-style:none;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--laub-tief);outline-offset:3px;}
[id]{scroll-margin-top:3.5rem;}

.w-slab{font-family:'Bitter',Georgia,serif;font-weight:600;line-height:1.14;letter-spacing:-.012em;}
.w-wrap{width:min(70rem,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(--laub-tief);font-weight:700;}

/* ── Präsenzo-Leiste ── */
.pz{background:var(--krug);color:var(--kalk);font-size:var(--s--1);}
.pz__in{width:min(70rem,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:var(--stroh);font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}

/* ── Kopf ── */
.kopf{background:var(--kalk-hell);border-bottom:2px solid var(--holz);}
.kopf__in{width:min(70rem,100%);margin-inline:auto;padding:1.1rem var(--edge);
  display:flex;align-items:baseline;gap:var(--space);flex-wrap:wrap;}
.haus{font-family:'Bitter',serif;font-weight:600;font-size:var(--s-1);text-decoration:none;letter-spacing:-.01em;}
.haus span{color:var(--laub-tief);}
.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(--holz);border-bottom-color:var(--laub);}

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

.w-voll{display:inline-block;background:var(--laub-tief);color:var(--kalk-hell);text-decoration:none;
  font-size:var(--s--1);font-weight:700;padding:.9rem 1.7rem;border:2px solid var(--laub-tief);}
.w-voll:hover{background:var(--holz);border-color:var(--holz);}
.w-linie{display:inline-block;text-decoration:none;border:2px solid var(--holz);
  font-size:var(--s--1);font-weight:700;padding:.9rem 1.7rem;color:var(--holz);}
.w-linie:hover{background:var(--stroh);border-color:var(--stroh);}

/* ── Signatur: die Herkunftskarte ── */
.herkunft{margin-top:clamp(2.25rem,1.7rem + 2.5vw,3.5rem);background:var(--kalk-hell);
  border:2px solid var(--holz);padding:clamp(1.15rem,.85rem + 1.3vw,2rem);}
.herkunft__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(--holz);}
.herkunft__kopf h2{font-family:'Bitter',serif;font-weight:600;font-size:var(--s-1);}
.herkunft__kopf span{font-size:var(--s--2);color:var(--grau);}

.quelle{display:grid;grid-template-columns:4.5rem 1fr;gap:.1rem .9rem;
  padding-block:.85rem;border-bottom:1px solid rgba(51,42,32,.13);align-items:baseline;}
.quelle:last-of-type{border-bottom:0;}
.quelle__km{font-family:'Bitter',serif;font-weight:600;font-size:var(--s-km);line-height:1;
  color:var(--laub-tief);text-align:right;white-space:nowrap;}
.quelle__km small{font-size:.42em;font-weight:400;color:var(--grau);margin-inline-start:.15em;}
.quelle__was{font-weight:600;font-size:var(--s-0);}
.quelle__wer{grid-column:2;font-size:var(--s--1);color:var(--grau);}
@media (min-width:50rem){
  .quelle{grid-template-columns:4.5rem minmax(0,1fr) minmax(13rem,.9fr);gap:.1rem 1.5rem;}
  .quelle__wer{grid-column:3;grid-row:1;text-align:right;}
}
.quelle--fern .quelle__km{color:var(--ton);}

.herkunft__fuss{margin-top:1.2rem;padding-top:1rem;border-top:2px solid var(--holz);
  font-size:var(--s--1);color:var(--grau);max-width:60ch;}
.herkunft__fuss strong{color:var(--holz);font-weight:600;}

/* ── Abschnitte ── */
.stube{padding-block:clamp(3rem,2.2rem + 4vw,5.5rem);border-top:2px solid var(--holz);}
.stube--hell{background:var(--kalk-hell);}
.stube--krug{background:var(--krug);color:var(--kalk);border-top-color:var(--krug);}
.stube--krug .w-mark{color:var(--stroh);}
.stube__kopf{max-width:50ch;}
.stube__kopf h2{font-size:var(--s-2);margin-top:.75rem;}
.stube__kopf p{margin-top:.9rem;color:var(--grau);}
.stube--krug .stube__kopf p{color:rgba(243,240,230,.78);}

/* ── Speisen ── */
.speisen{margin-top:clamp(2rem,1.5rem + 2vw,3rem);border-top:2px solid var(--holz);}
.stube--krug .speisen{border-top-color:var(--stroh);}
.speise{display:grid;gap:.25rem 1.5rem;grid-template-columns:1fr auto;
  padding-block:1.1rem;border-bottom:1px solid rgba(51,42,32,.14);align-items:baseline;}
.stube--krug .speise{border-bottom-color:rgba(243,240,230,.18);}
.speise__name{font-family:'Bitter',serif;font-weight:600;font-size:var(--s-1);}
.speise__preis{font-family:'Bitter',serif;font-weight:600;font-size:var(--s-1);color:var(--laub-tief);white-space:nowrap;}
.stube--krug .speise__preis{color:var(--stroh);}
.speise__text{grid-column:1 / -1;font-size:var(--s--1);color:var(--grau);}
.stube--krug .speise__text{color:rgba(243,240,230,.78);}
.mwst{margin-top:1.4rem;font-size:var(--s--1);color:var(--grau);max-width:58ch;}
.stube--krug .mwst{color:rgba(243,240,230,.78);}

/* ── Karten ── */
.felder{display:grid;gap:var(--space);grid-template-columns:1fr;margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
@media (min-width:44rem){.felder{grid-template-columns:1fr 1fr;}}
@media (min-width:66rem){.felder{grid-template-columns:repeat(3,1fr);}}
.feld{border-top:3px solid var(--laub);padding-top:1rem;}
.stube--krug .feld{border-top-color:var(--stroh);}
.feld h3{font-family:'Bitter',serif;font-weight:600;font-size:var(--s-1);}
.feld p{margin-top:.5rem;font-size:var(--s--1);color:var(--grau);}
.stube--krug .feld p{color:rgba(243,240,230,.78);}

/* ── Bild ── */
.bild{margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
.bild img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:2px solid var(--holz);}
.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(--laub-tief);margin-bottom:.85rem;}
.stube--krug .paar h3{color:var(--stroh);}
.paar__zeile{display:flex;justify-content:space-between;gap:1rem;padding-block:.55rem;
  border-bottom:1px solid rgba(51,42,32,.14);font-size:var(--s--1);}
.stube--krug .paar__zeile{border-bottom-color:rgba(243,240,230,.18);}
.paar__zeile span:last-child{font-weight:600;text-align:right;}

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

.fuss{border-top:2px solid var(--holz);padding-block:2.5rem;font-size:var(--s--1);color:var(--grau);}
.fuss a{color:var(--laub-tief);font-weight:600;}
.fuss p + p{margin-top:.45rem;}

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