:root{
  /* aus dem Salonfoto: Kalkputz, helle Eiche, Rattan, Blattgrün, Terrakotta */
  --lime:#F3EBDE;
  --paper:#FBF7F0;
  --oak:#D6B98C;
  --rattan:#E0CBA6;
  --leaf:#4E7A3E;
  --deepleaf:#2C4A2A;
  --terra:#C08157;
  --bark:#3B3226;

  --w--1:.84rem;
  --w-0:clamp(1rem,.97rem + .15vw,1.09rem);
  --w-1:clamp(1.12rem,1.03rem + .38vw,1.34rem);
  --w-2:clamp(1.6rem,1.2rem + 1.8vw,2.8rem);
  --w-3:clamp(2.2rem,1.4rem + 3.4vw,4.6rem);
  --space:clamp(1.4rem,1.1rem + 1.6vw,2.6rem);
  --edge:clamp(1.2rem,.7rem + 2.5vw,3.25rem);
}
*,*::before,*::after{box-sizing:border-box;}
body,h1,h2,h3,p,ul,ol,li,figure,dl,dt,dd{margin:0;padding:0;}
body{
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  font-size:var(--w-0);line-height:1.72;font-weight:300;
  color:var(--bark);background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
ul,ol{list-style:none;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--leaf);outline-offset:4px;}
[id]{scroll-margin-top:4.5rem;}

.w-serif{
  font-family:'Cormorant Garamond',Garamond,serif;font-weight:300;
  line-height:1.1;letter-spacing:-.005em;
}
.w-wrap{width:min(66rem,100%);margin-inline:auto;padding-inline:var(--edge);}
.w-tag{
  font-size:var(--w--1);letter-spacing:.22em;text-transform:uppercase;
  color:var(--leaf);font-weight:600;
}

/* ---------- Präsenzo-Leiste ---------- */
.pz{background:var(--deepleaf);color:var(--lime);font-size:var(--w--1);}
.pz__in{
  width:min(66rem,100%);margin-inline:auto;padding:.7rem var(--edge);
  display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:center;justify-content:center;text-align:center;
}
.pz__cta{color:var(--rattan);font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}

/* ---------- Kopf ---------- */
.head{border-bottom:1px solid rgba(59,50,38,.16);}
.head__in{
  width:min(66rem,100%);margin-inline:auto;padding:1.15rem var(--edge);
  display:flex;align-items:baseline;gap:var(--space);flex-wrap:wrap;
}
.name{
  font-family:'Cormorant Garamond',serif;font-weight:400;font-size:var(--w-2);
  letter-spacing:.01em;text-decoration:none;line-height:1;
}
.name em{font-style:italic;color:var(--leaf);}
.nav{margin-inline-start:auto;display:flex;gap:1.5rem;flex-wrap:wrap;font-size:var(--w--1);letter-spacing:.12em;text-transform:uppercase;font-weight:600;}
.nav a{text-decoration:none;color:rgba(59,50,38,.62);padding-bottom:.2rem;border-bottom:1px solid transparent;}
.nav a:hover,.nav a[aria-current="page"]{color:var(--bark);border-bottom-color:var(--leaf);}

/* ---------- Hero ---------- */
.begin{padding-block:clamp(2.5rem,2rem + 4vw,5rem) 0;}
.begin__grid{display:grid;gap:var(--space);grid-template-columns:1fr;align-items:center;}
@media (min-width:60rem){.begin__grid{grid-template-columns:1fr 1fr;column-gap:clamp(2rem,4vw,3.5rem);}}
.begin h1{font-size:var(--w-3);max-width:18ch;margin-top:1rem;}
.begin h1 em{font-style:italic;color:var(--leaf);}
.begin__lede{margin-top:1.3rem;max-width:40ch;font-size:var(--w-1);line-height:1.55;color:rgba(59,50,38,.78);}
.begin__row{margin-top:1.9rem;display:flex;flex-wrap:wrap;gap:.75rem;}
.begin__figure img{
  width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  border-radius:14rem 14rem 1rem 1rem;
}
.begin__cap{margin-top:.8rem;font-size:var(--w--1);color:rgba(59,50,38,.6);letter-spacing:.1em;text-transform:uppercase;}

.b-leaf{
  display:inline-block;background:var(--deepleaf);color:var(--lime);text-decoration:none;
  font-size:var(--w--1);font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:.9rem 1.6rem;border-radius:999px;
}
.b-leaf:hover{background:var(--leaf);}
.b-soft{
  display:inline-block;text-decoration:none;border:1px solid var(--bark);
  font-size:var(--w--1);font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:.9rem 1.6rem;border-radius:999px;
}
.b-soft:hover{background:var(--lime);}

/* ---------- Abschnitte ---------- */
.grove{padding-block:clamp(3rem,2.25rem + 4vw,5.5rem);}
.grove--lime{background:var(--lime);}
.grove--deep{background:var(--deepleaf);color:var(--lime);}
.grove--deep .w-tag{color:var(--rattan);}
.grove__head h2{font-size:var(--w-2);margin-top:.7rem;max-width:24ch;}
.grove__head p{margin-top:.9rem;max-width:52ch;color:rgba(59,50,38,.72);}
.grove--deep .grove__head p{color:rgba(243,235,222,.8);}

/* ---------- Signatur: Pflanzendeklaration ---------- */
.decl{margin-top:clamp(2rem,1.5rem + 2vw,3rem);display:grid;gap:var(--space);grid-template-columns:1fr;}
@media (min-width:54rem){.decl{grid-template-columns:1.15fr .85fr;column-gap:clamp(2rem,4vw,3.5rem);align-items:start;}}
.plants{border-top:1px solid rgba(59,50,38,.28);}
.plant{
  display:grid;grid-template-columns:1fr;gap:.2rem;
  padding-block:1.15rem;border-bottom:1px solid rgba(59,50,38,.14);
}
@media (min-width:34rem){.plant{grid-template-columns:auto 1fr;column-gap:1.5rem;align-items:baseline;}}
.plant__name{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:var(--w-1);min-width:9rem;}
.plant__latin{font-style:italic;font-size:var(--w--1);color:var(--leaf);display:block;}
.plant__does{font-size:var(--w--1);color:rgba(59,50,38,.72);}

/* Negativliste als eigene Karte */
.without{
  background:var(--paper);border:1px solid rgba(59,50,38,.2);
  border-radius:1rem;padding:clamp(1.25rem,1rem + 1.2vw,1.9rem);
}
.grove--lime .without{background:var(--paper);}
.without h3{font-size:var(--w--1);letter-spacing:.18em;text-transform:uppercase;color:var(--terra);}
.without ul{margin-top:1.1rem;display:grid;gap:.7rem;}
.without li{display:flex;gap:.7rem;align-items:flex-start;font-size:var(--w--1);}
.without li::before{
  content:"–";flex:none;color:var(--terra);font-weight:600;
}
.without p{margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(59,50,38,.14);font-size:var(--w--1);color:rgba(59,50,38,.7);}

/* ---------- Leistungen ---------- */
.rates{margin-top:clamp(2rem,1.5rem + 2vw,3rem);border-top:1px solid rgba(59,50,38,.28);}
.rate{
  display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;align-items:baseline;
  padding-block:1.25rem;border-bottom:1px solid rgba(59,50,38,.14);
}
.rate__name{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:var(--w-1);}
.rate__note{flex:1 1 18rem;font-size:var(--w--1);color:rgba(59,50,38,.72);}
.rate__fee{margin-inline-start:auto;font-size:var(--w--1);font-weight:600;letter-spacing:.06em;white-space:nowrap;color:var(--leaf);}
@media (max-width:40rem){
  .rate__name{flex:1 1 100%;}
  .rate__note{flex:1 1 100%;order:3;}
  .rate__fee{margin-inline-start:0;order:2;}
}

/* ---------- Karten ---------- */
.beds{display:grid;gap:var(--space);grid-template-columns:1fr;margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
@media (min-width:44rem){.beds{grid-template-columns:1fr 1fr;}}
@media (min-width:66rem){.beds{grid-template-columns:repeat(3,1fr);}}
.bed{border-top:2px solid var(--leaf);padding-top:1.1rem;}
.bed h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:var(--w-1);}
.bed p{margin-top:.5rem;font-size:var(--w--1);color:rgba(59,50,38,.72);}
.grove--deep .bed{border-top-color:var(--rattan);}
.grove--deep .bed p{color:rgba(243,235,222,.78);}

/* ---------- Kontakt ---------- */
.pair2{display:grid;gap:var(--space);grid-template-columns:1fr;margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
@media (min-width:44rem){.pair2{grid-template-columns:1fr 1fr;}}
.pair2__col h3{font-size:var(--w--1);letter-spacing:.18em;text-transform:uppercase;color:var(--leaf);margin-bottom:.9rem;}
.pair2__line{display:flex;justify-content:space-between;gap:1rem;padding-block:.5rem;border-bottom:1px solid rgba(59,50,38,.14);font-size:var(--w--1);}
.pair2__line span:last-child{font-weight:600;}

/* ---------- Unterseiten ---------- */
.pgstart{padding-block:clamp(2.5rem,2rem + 3vw,4.5rem) 0;}
.pgstart h1{font-size:var(--w-2);max-width:22ch;margin-top:.8rem;}
.pgstart p{margin-top:1rem;max-width:52ch;color:rgba(59,50,38,.75);font-size:var(--w-1);line-height:1.55;}

.foot{border-top:1px solid rgba(59,50,38,.16);padding-block:2.5rem;font-size:var(--w--1);color:rgba(59,50,38,.65);}
.foot a{color:var(--leaf);}
.foot p + p{margin-top:.6rem;}

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

/* Pflichtangabe nach PAngV: Endpreise fuer Verbraucher */
.tax-note{margin-top:1.1rem;font-size:var(--w--1);color:var(--bark);opacity:.7;}
