:root{
  --olive:#556B4E;
  --olive-dark:#3E5039;
  --sand:#B59A5D;
  --offwhite:#F5F3EE;
  --ink:#232323;
  --ink-60:rgba(35,35,35,.68);
  --ink-40:rgba(35,35,35,.45);
  --line:rgba(85,107,78,.18);
  --maxw:780px;
  --gut:clamp(1.5rem,5vw,3rem);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--offwhite);
  color:var(--ink);
  font-family:'Inter','Inter var',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:16px;line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--olive)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}

header{
  background:rgba(245,243,238,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;
}
.navbar{
  max-width:var(--maxw);margin:0 auto;padding:.85rem var(--gut);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.navbar img{height:36px;width:auto}
.back{
  font-size:.76rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;color:var(--ink-60);transition:color .2s;
}
.back:hover{color:var(--olive)}

main{padding:clamp(2.5rem,7vw,4.5rem) 0 clamp(3rem,8vw,5rem)}

h1{
  font-size:clamp(1.7rem,5vw,2.6rem);
  font-weight:200;letter-spacing:.055em;text-transform:uppercase;
  line-height:1.1;color:var(--olive);margin-bottom:.6rem;
}
.updated{font-size:.82rem;color:var(--ink-40);margin-bottom:2.6rem}

h2{
  font-size:clamp(1rem,2.4vw,1.2rem);
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--olive);margin:2.6rem 0 .9rem;
  padding-top:1.6rem;border-top:1px solid var(--line);
}
h2:first-of-type{border-top:0;padding-top:0;margin-top:0}
h3{
  font-size:.94rem;font-weight:600;letter-spacing:.06em;
  color:var(--ink);margin:1.7rem 0 .5rem;
}
p{margin-bottom:.9rem;color:var(--ink-60)}
p strong{color:var(--ink);font-weight:600}
ul{list-style:none;margin:0 0 1.1rem}
li{
  position:relative;padding-left:1.3rem;margin-bottom:.5rem;
  color:var(--ink-60);font-size:.96rem;
}
li::before{
  content:"";position:absolute;left:0;top:.62em;
  width:6px;height:1px;background:var(--sand);
}
.addr{
  background:#fff;border:1px solid var(--line);
  padding:1.3rem 1.4rem;margin:1.1rem 0 1.4rem;
  font-size:.96rem;line-height:1.75;color:var(--ink);
}
.addr strong{display:block;color:var(--olive);letter-spacing:.06em;margin-bottom:.35rem}
.addr a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.addr a:hover{border-bottom-color:var(--sand)}

footer{
  background:var(--ink);color:rgba(245,243,238,.7);
  padding:2.6rem 0 2rem;font-size:.85rem;
}
.foot-grid{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);
  display:flex;flex-wrap:wrap;gap:1.4rem;justify-content:space-between;align-items:center;
}
.foot-links{display:flex;flex-wrap:wrap;gap:1.3rem}
.foot-links a{color:rgba(245,243,238,.7);text-decoration:none;transition:color .2s}
.foot-links a:hover{color:var(--sand)}

a:focus-visible{outline:2px solid var(--sand);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- Nummerierte Absätze (AGB) ---------- */
ol{margin:0 0 1.1rem;padding-left:1.4rem;counter-reset:none}
ol li{
  padding-left:.35rem;margin-bottom:.7rem;
  color:var(--ink-60);font-size:.96rem;list-style:decimal;
}
ol li::before{display:none}
ol li::marker{color:var(--sand);font-weight:600;font-size:.88em}
ol ul{margin:.6rem 0 .3rem;padding-left:0}
ol ul li{list-style:none;padding-left:1.3rem;margin-bottom:.4rem}
ol ul li::before{
  display:block;content:"";position:absolute;left:0;top:.62em;
  width:6px;height:1px;background:var(--sand);
}

/* ---------- Muster-Widerrufsformular ---------- */
.form-box{
  background:#fff;border:1px solid var(--line);
  padding:1.6rem 1.5rem 1.3rem;margin:1.2rem 0 1rem;
  font-size:.93rem;
}
.form-box p{color:var(--ink-60);margin-bottom:1rem}
.form-line{
  border-bottom:1px solid var(--line);
  padding-bottom:.35rem;margin-bottom:1.5rem;
  font-size:.85rem;color:var(--ink-40);letter-spacing:.02em;
}
.form-note{font-size:.82rem;color:var(--ink-40);margin-bottom:0}
