:root {
  --bg: #f4f4ef;
  --surface: #fbfbf7;
  --ink: #16241d;
  --ink-soft: #3d4b43;
  --muted: #5d6a62;
  --border: #dfe3da;
  --control: #78877d;
  --accent: #1f6f4a;
  --accent-deep: #14523a;
  --accent-soft: #e2eee5;
  --dark: #182f26;
  --dark-text: #f2f4ee;
  --dark-muted: #b7c6bb;
  --amber: #e0b64b;
  --fh: 'Space Grotesk Variable', 'Segoe UI', system-ui, sans-serif;
  --fb: 'Inter Variable', 'Segoe UI', system-ui, sans-serif;
  --r-lg: 1.4rem;
  --r-md: 1rem;
  --sh-sm: 0 1px 2px rgba(22, 36, 29, 0.05), 0 10px 28px -20px rgba(22, 36, 29, 0.22);
  --sh-lg: 0 32px 70px -35px rgba(22, 36, 29, 0.35);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

[hidden] {
  display: none !important;
}

body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--fb);
  font-size: 1rem;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
}

:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
  border-radius: 0.3rem;
}

[id] {
  scroll-margin-top: 5.5rem;
}

.skip {
  position: absolute;
  left: -999px;
  top: 0.5rem;
  z-index: 99;
  padding: 0.6em 1.2em;
  background: var(--ink);
  color: var(--bg);
  border-radius: 0.6rem;
  font-weight: 600;
}

.skip:focus {
  left: 0.5rem;
}

.container {
  max-width: 76rem;
  margin-inline: auto;
  padding-inline: clamp(1.1rem, 3.5vw, 2.5rem);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding: 0.78em 1.5em;
  border-radius: 0.9rem;
  font-family: var(--fh);
  font-size: 0.95rem;
  font-weight: 620;
  text-decoration: none;
  transition: transform 0.18s, background 0.18s, border-color 0.18s;
  cursor: pointer;
  border: 0;
  white-space: nowrap;
}

.btn--p {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 14px 30px -14px rgba(31, 111, 74, 0.55);
}

.btn--p:hover {
  background: var(--accent-deep);
  transform: translateY(-1px);
}

.btn--s {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--control);
}

.btn--s:hover {
  border-color: var(--ink);
}

@media (max-width: 26rem) {
  .btn {
    white-space: normal;
    text-align: center;
  }
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45em 1em;
  background: var(--accent-soft);
  border-radius: 999px;
  color: var(--accent-deep);
  font-size: 0.82rem;
  font-weight: 600;
}

.pill::before {
  content: '';
  width: 0.42rem;
  height: 0.42rem;
  background: var(--accent);
  border-radius: 50%;
  flex: none;
}

.section {
  padding: clamp(3.2rem, 6.5vw, 5.5rem) 0;
}

.section--card {
  background: var(--surface);
  border-block: 1px solid var(--border);
}

.shead {
  display: grid;
  gap: 1rem;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.shead h1,
.shead h2 {
  font-family: var(--fh);
  font-size: clamp(1.9rem, 3.6vw, 2.9rem);
  font-weight: 640;
  letter-spacing: -0.035em;
  line-height: 1.06;
  max-width: 24ch;
}

.shead h1 span,
.shead h2 span {
  color: var(--accent-deep);
}

.shead p {
  max-width: 56ch;
  color: var(--ink-soft);
  font-size: 1.05rem;
}

.link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--accent-deep);
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
}

.link:hover {
  text-decoration: underline;
}

.container--schmal {
  max-width: 48rem;
}

.prosa h1 {
  font-family: var(--fh);
  font-size: clamp(2rem, 4vw, 2.7rem);
  font-weight: 640;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.prosa h1 + p {
  margin-top: 1rem;
  color: var(--ink-soft);
  font-size: 1.05rem;
  max-width: 58ch;
}

.prosa h2 {
  margin-top: 2.2rem;
  font-family: var(--fh);
  font-size: 1.25rem;
  font-weight: 630;
  letter-spacing: -0.015em;
}

.prosa h2 + p,
.prosa p + p,
.prosa p + ul,
.prosa ul + p {
  margin-top: 0.8rem;
}

.prosa p,
.prosa li {
  color: var(--ink-soft);
  max-width: 62ch;
}

.prosa ul {
  padding-left: 1.2rem;
  display: grid;
  gap: 0.4rem;
}

.prosa a {
  color: var(--accent-deep);
  text-underline-offset: 0.15em;
}

.prosa .stand {
  margin-top: 2.4rem;
  color: var(--muted);
  font-size: 0.86rem;
}

.prosa h3 {
  margin-top: 1.6rem;
  font-family: var(--fh);
  font-size: 1.05rem;
  font-weight: 630;
}

.prosa h3 + p,
.prosa h2 + ul,
.prosa h2 + ol,
.prosa h3 + ul,
.prosa h3 + ol,
.prosa p + ol,
.prosa ol + p,
.prosa table + p,
.prosa p + table,
.prosa blockquote + p,
.prosa p + blockquote {
  margin-top: 0.8rem;
}

.prosa ol {
  padding-left: 1.2rem;
  display: grid;
  gap: 0.4rem;
}

.prosa table {
  display: block;
  overflow-x: auto;
  margin-top: 1rem;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.prosa th,
.prosa td {
  padding: 0.55em 0.9em;
  border: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
  color: var(--ink-soft);
}

.prosa th {
  background: var(--surface);
  font-family: var(--fh);
  font-weight: 620;
  color: var(--ink);
  white-space: nowrap;
}

.prosa blockquote {
  margin-top: 1rem;
  padding: 1rem 1.3rem;
  background: var(--surface);
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}

.prosa img {
  margin-top: 1rem;
  border-radius: var(--r-md);
  border: 1px solid var(--border);
}

.prosa hr {
  margin: 2rem 0;
  border: 0;
  border-top: 1px solid var(--border);
}

.krumen {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 1.2rem;
  padding: 0;
  list-style: none;
  color: var(--muted);
  font-size: 0.82rem;
}

.krumen li + li::before {
  content: '›';
  margin-right: 0.4rem;
}

.krumen a {
  color: var(--muted);
  text-decoration: none;
}

.krumen a:hover {
  color: var(--accent-deep);
  text-decoration: underline;
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .rv {
      animation: rvUp linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 35%;
    }

    @keyframes rvUp {
      from {
        opacity: 0;
        transform: translateY(24px);
      }

      to {
        opacity: 1;
        transform: none;
      }
    }
  }
}

@media (min-width: 64rem) {
  .shead--split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
    align-items: end;
  }
}
.cookie-leiste[data-astro-cid-garwan2p]{position:fixed;inset-inline:0;bottom:0;z-index:90;display:flex;align-items:center;flex-wrap:wrap;gap:0.7rem 2rem;padding:1rem clamp(1.1rem,3.5vw,2.5rem);padding-bottom:max(0.7rem,env(safe-area-inset-bottom));background:var(--dark);color:var(--dark-text)}.cookie-leiste__text[data-astro-cid-garwan2p]{flex:1 1 100%;margin:0;font-size:0.9rem}.cookie-leiste__text[data-astro-cid-garwan2p] a[data-astro-cid-garwan2p]{color:inherit;text-decoration:underline;text-underline-offset:3px}.cookie-leiste__aktionen[data-astro-cid-garwan2p]{display:flex;align-items:center;gap:0.7rem;margin-left:0;width:100%}.cookie-leiste__einstellungen[data-astro-cid-garwan2p]{flex:1;padding:0.5rem 1rem;border:1px solid var(--dark-muted);border-radius:0.6rem;color:var(--dark-text);font-size:0.9rem;text-decoration:none;text-align:center;justify-content:center;white-space:nowrap}.cookie-leiste__einstellungen[data-astro-cid-garwan2p]:hover{border-color:var(--dark-text)}.cookie-leiste__zustimmen[data-astro-cid-garwan2p]{flex:1;padding:0.5rem 1.1rem;border:1px solid #ffffff;border-radius:0.6rem;background:#ffffff;color:var(--ink);font-family:var(--fb);font-size:0.9rem;font-weight:600;text-align:center;justify-content:center;cursor:pointer;white-space:nowrap}.cookie-leiste__zustimmen[data-astro-cid-garwan2p]:hover{background:var(--dark-text);border-color:var(--dark-text)}.cookie-leiste__schliessen[data-astro-cid-garwan2p]{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:0.6rem;background:transparent;color:var(--dark-text);cursor:pointer}.cookie-leiste__schliessen[data-astro-cid-garwan2p]:hover{background:rgba(255,255,255,0.1)}.cookie-leiste[data-astro-cid-garwan2p] a[data-astro-cid-garwan2p]:focus-visible,.cookie-leiste[data-astro-cid-garwan2p] button[data-astro-cid-garwan2p]:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media (min-width: 52.01rem){.cookie-leiste[data-astro-cid-garwan2p]{padding-top:0.7rem}.cookie-leiste__text[data-astro-cid-garwan2p]{flex:0 1 auto}.cookie-leiste__aktionen[data-astro-cid-garwan2p]{margin-left:auto;width:auto}.cookie-leiste__einstellungen[data-astro-cid-garwan2p],.cookie-leiste__zustimmen[data-astro-cid-garwan2p]{flex:0 1 auto}.cookie-leiste__einstellungen[data-astro-cid-garwan2p]{text-align:start}}.nav-wrap[data-astro-cid-37fxchfa]{position:sticky;top:0.9rem;z-index:50;max-width:76rem;margin-inline:auto;padding-inline:clamp(1.1rem,3.5vw,2.5rem)}.nav[data-astro-cid-37fxchfa]{position:relative;display:flex;align-items:center;gap:0.8rem;padding:0.55rem 0.65rem 0.55rem 1rem;background:rgba(252,252,249,0.97);border:1px solid var(--border);border-radius:1.6rem;box-shadow:var(--sh-sm)}.nav__brand[data-astro-cid-37fxchfa]{display:flex;align-items:center;gap:0.6rem;font-family:var(--fh);text-decoration:none}.nav__logo[data-astro-cid-37fxchfa]{display:grid;place-items:center;width:2.1rem;height:2.1rem;background:var(--ink);border-radius:50%;color:var(--bg);font-size:0.78rem;font-weight:650;flex:none}.nav__name[data-astro-cid-37fxchfa]{font-size:0.95rem;font-weight:640;line-height:1.05;white-space:nowrap}.nav__name[data-astro-cid-37fxchfa] small[data-astro-cid-37fxchfa]{display:none;color:var(--muted);font-size:0.68rem;font-weight:650;letter-spacing:0.12em;text-transform:uppercase}.nav__links[data-astro-cid-37fxchfa]{display:none;gap:1.4rem;margin-left:auto;list-style:none}.nav__links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{color:var(--ink-soft);font-size:0.92rem;font-weight:540;text-decoration:none}.nav__links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{color:var(--accent-deep)}.nav__cta[data-astro-cid-37fxchfa]{margin-left:auto;white-space:nowrap}.nav[data-astro-cid-37fxchfa] .btn{padding:0.6em 1.1em;font-size:0.86rem}.nav__burger[data-astro-cid-37fxchfa]{display:grid;place-items:center;width:2.6rem;height:2.6rem;background:transparent;border:1px solid var(--control);border-radius:0.9rem;cursor:pointer;flex:none}.nav__burger[data-astro-cid-37fxchfa] svg[data-astro-cid-37fxchfa]{width:1.2rem;height:1.2rem;stroke:var(--ink)}.nav__menu[data-astro-cid-37fxchfa]{position:absolute;top:calc(100% + 0.5rem);left:0;right:0;display:none;padding:0.6rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-lg);list-style:none}.nav__menu[data-astro-cid-37fxchfa].offen{display:grid}.nav__menu[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{display:block;padding:0.7rem 1rem;border-radius:0.6rem;color:var(--ink-soft);font-family:var(--fh);font-weight:600;text-decoration:none}.nav__menu[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{background:var(--accent-soft);color:var(--accent-deep)}.footer[data-astro-cid-37fxchfa]{padding:2.5rem 0 3rem;border-top:1px solid var(--border);margin-top:clamp(3rem,6vw,5rem)}.footer[data-astro-cid-37fxchfa] .container[data-astro-cid-37fxchfa]{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;color:var(--muted);font-size:0.86rem}.footer[data-astro-cid-37fxchfa] nav[data-astro-cid-37fxchfa]{display:flex;flex-wrap:wrap;gap:1.4rem}.footer[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{color:var(--muted);text-decoration:none}.footer[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{color:var(--ink)}@media (max-width: 22.49rem){.nav__name[data-astro-cid-37fxchfa]{display:none}}@media (min-width: 30rem){.nav__name[data-astro-cid-37fxchfa] small[data-astro-cid-37fxchfa]{display:block}}@media (min-width: 64rem){.nav__links[data-astro-cid-37fxchfa]{display:flex}.nav__cta[data-astro-cid-37fxchfa]{margin-left:0}.nav__burger[data-astro-cid-37fxchfa],.nav__menu[data-astro-cid-37fxchfa],.nav__menu[data-astro-cid-37fxchfa].offen{display:none}}