@font-face {
  font-family: "Inter Variable";
  src: url("/files/kuechwaldbuehne/fonts/InterVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Inter Variable";
  src: url("/files/kuechwaldbuehne/fonts/InterVariable-Italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --kb-header-height: clamp(3.75rem, 5vw, 4.6rem);
  --kb-header-logo-scale: 1.2;
  --kb-header-logo-inset: clamp(0.5rem, 1vw, 0.75rem);
  --kb-header-logo-size: calc(var(--kb-header-height) * var(--kb-header-logo-scale));
  --kb-header-logo-overhang: calc(var(--kb-header-logo-inset) + var(--kb-header-logo-size) - var(--kb-header-height));
  --kb-color-travertin: #f9f4eb;
  --kb-color-paper: #fbf8f2;
  --kb-color-sheet: #ffffff;
  --kb-color-text: #1b1c1c;
  --kb-color-muted: #636363;
  --kb-color-stone: #929292;
  --kb-color-yellow: #fecb50;
  --kb-color-yellow-deep: #f8c648;
  --kb-color-yellow-soft: #fff6e0;
  --kb-color-berry: #9d2c48;
  --kb-color-berry-deep: #8d1a3b;
  --kb-color-forest: #114d46;
  --kb-color-forest-deep: #003c37;
  --kb-color-slate: #2e3b42;
  --kb-color-ink: #1f1d1b;
  --kb-color-umber: #2e2b28;
  --kb-color-sand: #f1e8d8;
  --kb-color-line: rgba(27, 28, 28, 0.16);
  --kb-color-line-soft: rgba(27, 28, 28, 0.08);
  --kb-border-input: var(--kb-color-line);
  --kb-border-soft: var(--kb-color-line-soft);
  --kb-surface-page: var(--kb-color-travertin);
  --kb-surface-content: var(--kb-color-sheet);
  --kb-surface-raised: var(--kb-color-paper);
  --kb-surface-highlight: var(--kb-color-yellow-soft);
  --kb-surface-hint: #ffe9b5;
  --kb-surface-tinted: #ddd1bd;
  --kb-surface-placeholder: var(--kb-color-travertin);
  --kb-surface-structure: var(--kb-color-forest);
  --kb-surface-structure-hover: var(--kb-color-forest-deep);
  --kb-surface-frame: var(--kb-color-forest);
  --kb-surface-frame-deep: var(--kb-color-forest-deep);
  --kb-surface-stage: var(--kb-color-text);
  --kb-surface-action: var(--kb-color-berry);
  --kb-surface-action-hover: var(--kb-surface-selected-hover);
  --kb-surface-selected: var(--kb-color-yellow);
  --kb-surface-selected-hover: var(--kb-color-yellow-deep);
  --kb-text-primary: var(--kb-color-text);
  --kb-text-secondary: var(--kb-color-muted);
  --kb-text-inactive: var(--kb-color-stone);
  --kb-text-structure: var(--kb-color-forest);
  --kb-text-emblem: var(--kb-color-slate);
  --kb-text-label: var(--kb-color-berry);
  --kb-text-on-dark: var(--kb-color-sheet);
  --kb-text-on-structure: var(--kb-color-sheet);
  --kb-text-on-structure-highlight: var(--kb-color-yellow);
  --kb-text-on-action: var(--kb-color-sheet);
  --kb-text-on-action-hover: var(--kb-text-on-selected);
  --kb-text-on-selected: var(--kb-color-text);
  --kb-selection-on-light-bg: var(--kb-surface-frame);
  --kb-selection-on-light-text: var(--kb-text-on-dark);
  --kb-selection-on-dark-bg: var(--kb-surface-content);
  --kb-selection-on-dark-text: var(--kb-text-structure);
  --kb-link: var(--kb-color-berry);
  --kb-link-hover: var(--kb-color-berry-deep);
  --kb-link-on-dark: var(--kb-color-sheet);
  --kb-link-on-dark-hover: rgba(255, 255, 255, 0.78);
  --kb-action-secondary-surface: var(--kb-surface-tinted);
  --kb-action-secondary-text: var(--kb-color-berry);
  --kb-action-secondary-text-hover: var(--kb-color-berry-deep);
  --kb-state-selected-surface: var(--kb-surface-selected);
  --kb-state-selected-text: var(--kb-text-on-selected);
  --kb-state-selected-surface-hover: var(--kb-surface-selected-hover);
  --kb-press-shade: rgba(27, 28, 28, 0.14);
  --kb-state-disabled-surface: #eee8dd;
  --kb-state-disabled-text: #585858;
  --kb-state-current-surface: var(--kb-surface-selected);
  --kb-state-current-surface-hover: var(--kb-surface-selected-hover);
  --kb-state-current-text: var(--kb-text-on-selected);
  --kb-status-positive-surface: #d7e9e5;
  --kb-status-positive-text: var(--kb-color-forest-deep);
  --kb-status-negative-surface: #f0dbd5;
  --kb-status-negative-text: var(--kb-color-berry-deep);
  --kb-status-neutral-text: var(--kb-color-forest);
  --kb-footer-legal-text: rgba(255, 255, 255, 0.78);
  --kb-focus-ring-width: 2px;
  --kb-focus-ring-outer: var(--kb-color-forest);
  --kb-focus-ring-inner: #ffffff;
  --kb-focus-ring-inset-offset: calc(var(--kb-focus-ring-width) * -1);
  --kb-focus-ring-inset-shadow: inset 0 0 0 calc(var(--kb-focus-ring-width) * 2) var(--kb-focus-ring-inner);
  --kb-tap-min: 44px;
  --kb-text-halo-dark: 0 0 0.6rem rgba(31, 29, 27, 0.7), 0 0 0.2rem rgba(31, 29, 27, 0.4), 0 1px 2px rgba(31, 29, 27, 0.5);
  --kb-text-halo-dark-strong: 0 0 0.8rem rgba(31, 29, 27, 0.8), 0 0 0.25rem rgba(31, 29, 27, 0.6), 0 1px 2px rgba(31, 29, 27, 0.6);
  --kb-text-halo-dark-soft: 0 1px 2px rgba(31, 29, 27, 0.35);
  --kb-text-halo-light: 0 0 0.6rem rgba(251, 249, 244, 0.95), 0 0 2px rgba(251, 249, 244, 0.95);
  --kb-font-body: "Inter Variable", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --kb-type-display: clamp(3.25rem, 2.25rem + 4.44vw, 7rem);
  --kb-type-h1: clamp(1.875rem, 1.667rem + 0.93vw, 2.6rem);
  --kb-type-h2: clamp(1.5rem, 1.375rem + 0.56vw, 1.95rem);
  --kb-type-h3: clamp(1.25rem, 1.1875rem + 0.28vw, 1.5rem);
  --kb-type-h4: clamp(1.125rem, 1.104rem + 0.09vw, 1.25rem);
  --kb-type-datenum: clamp(2rem, 1.5rem + 2.2vw, 2.75rem);
  --kb-type-lead: clamp(1.125rem, 1.083rem + 0.19vw, 1.3rem);
  --kb-type-body: clamp(1.0625rem, 1.042rem + 0.09vw, 1.1875rem);
  --kb-type-meta: 0.9375rem;
  --kb-type-label: clamp(0.8125rem, 0.792rem + 0.09vw, 0.9375rem);
  --kb-type-status: 0.8125rem;
  --kb-type-fine: 0.625rem;
  --kb-type-control: 1rem;
  --kb-weight-body: 400;
  --kb-weight-emphasis: 500;
  --kb-weight-control: 600;
  --kb-weight-heading: 700;
  --kb-weight-label: 800;
  --kb-leading-display: 1.04;
  --kb-leading-heading: 1.18;
  --kb-leading-snug: 1.3;
  --kb-leading-lead: 1.55;
  --kb-leading-body: 1.6;
  --kb-leading-control: 1;
  --kb-tracking-display: -0.03em;
  --kb-tracking-heading: -0.015em;
  --kb-tracking-versal: 0.02em;
  --kb-tracking-label: 0.09em;
  --kb-tracking-status: 0.06em;
  --kb-measure: 68ch;
  --kb-container-max: 1418px;
  --kb-container-padding-inline: 35px;
  --kb-frame-padding-inline: calc(var(--kb-container-padding-inline) + var(--kb-card-padding-lg));
  --kb-width-text: 760px;
  --kb-page-padding-block: clamp(var(--kb-space-16), 2.4vw, var(--kb-space-24));
  --kb-space-2: 0.125rem;
  --kb-space-4: 0.25rem;
  --kb-space-6: 0.375rem;
  --kb-space-8: 0.5rem;
  --kb-space-10: 0.625rem;
  --kb-space-12: 0.75rem;
  --kb-space-16: 1rem;
  --kb-space-20: 1.25rem;
  --kb-space-24: 1.5rem;
  --kb-space-32: 2rem;
  --kb-space-40: 2.5rem;
  --kb-space-48: 3rem;
  --kb-space-64: 4rem;
  --kb-space-80: 5rem;
  --kb-gap-tight: var(--kb-space-6);
  --kb-gap-group: var(--kb-space-8);
  --kb-gap-text: var(--kb-space-12);
  --kb-gap-block: var(--kb-space-20);
  --kb-gap-paragraph: var(--kb-space-20);
  --kb-gap-component: clamp(2rem, 3vw, 2.75rem);
  --kb-section-gap: clamp(3.5rem, 5.5vw, 5rem);
  --kb-eyebrow-gap: var(--kb-space-6);
  --kb-heading-gap: var(--kb-space-12);
  --kb-heading-space: var(--kb-space-32);
  --kb-surface-padding-block: clamp(2.25rem, 5vw, 4rem);
  --kb-card-padding: clamp(1.25rem, 2.6vw, 1.9rem);
  --kb-card-padding-lg: clamp(1.5rem, 3.2vw, 2.125rem);
  --kb-card-padding-sm: var(--kb-space-20);
  --kb-duration-fast: 0.1s;
  --kb-duration: 0.15s;
  --kb-duration-calm: 0.2s;
  --kb-duration-soft: 0.35s;
  --kb-underline-thickness: 0.06em;
  --kb-underline-offset: 0.16em;
  --kb-hero-height: 100svh;
  --kb-pagehead-title-measure: 14.4;
  --kb-pagehead-arrow: 1.75rem;
  --kb-pagehead-tab-font: var(--kb-type-lead);
  --kb-pagehead-tab-char: 0.8;
  --kb-pagehead-tab-width: min(23rem, 70vw);
  --kb-pagehead-tab-below: var(--kb-space-24);
  --kb-hero-caption-reserve: 2.625rem;
  --kb-pagehead-in-delay: 0.25s;
  --kb-pagehead-in-duration: 0.7s;
  --kb-poster-columns: 3;
  --kb-hero-text-in-delay: 0.2s;
  --kb-hero-text-in-duration: 0.6s;
  --kb-hero-color: 1.8s;
  --kb-hero-edge: max(var(--kb-frame-padding-inline), (100vw - var(--kb-container-max)) / 2 + var(--kb-frame-padding-inline));
  --kb-hero-side: calc(50vw - var(--kb-pagehead-tab-width) / 2 - var(--kb-space-24) - var(--kb-hero-edge));
  --kb-pagehead-line: var(--kb-space-8);
  --kb-hero-rim: var(--kb-space-12);
  --kb-pagehead-strip: calc(var(--kb-space-16) + var(--kb-pagehead-tab-font) * var(--kb-leading-snug) + var(--kb-space-2) + var(--kb-pagehead-arrow) + var(--kb-space-10));
  --kb-hero-bg: var(--kb-surface-page);
  --kb-map-map-bg: var(--kb-map-earth);
  --kb-map-earth: var(--kb-color-travertin);
  --kb-map-residential: #e3ded5;
  --kb-map-commercial: #efdcd3;
  --kb-map-retail: #f5d8cc;
  --kb-map-industrial: #e6dbe0;
  --kb-map-education: #fbf3dc;
  --kb-map-farmland: #eeecd3;
  --kb-map-grass: #d6e4b8;
  --kb-map-park: var(--kb-map-grass);
  --kb-map-allotments: #cadfbb;
  --kb-map-cemetery: #b2ccaf;
  --kb-map-scrub: #c9d6ae;
  --kb-map-forest: #a9cc98;
  --kb-map-sand: #f3e6c4;
  --kb-map-playground: #e2ebcc;
  --kb-map-pitch: #c3dab4;
  --kb-map-water: #a3d2d0;
  --kb-map-building: #d8cec3;
  --kb-map-building-line: #c2b4a6;
  --kb-map-road-motorway: #e8a58a;
  --kb-map-road-trunk: #f2b98f;
  --kb-map-road-primary: #fcd98a;
  --kb-map-road-secondary: #fdecb4;
  --kb-map-road-minor: #ffffff;
  --kb-map-casing-motorway: #b9573a;
  --kb-map-casing-trunk: #b9673a;
  --kb-map-casing-primary: #c9953a;
  --kb-map-casing-secondary: #c8ae6a;
  --kb-map-casing-tertiary: #a9a095;
  --kb-map-casing-minor: #c4bcb1;
  --kb-map-path: #fffaf0;
  --kb-map-path-casing: #c9a383;
  --kb-map-cycleway: var(--kb-color-forest);
  --kb-map-rail: #6f6a64;
  --kb-map-rail-dash: #ffffff;
  --kb-map-label: #34302b;
  --kb-map-label-halo: #ffffff;
  --kb-map-label-water: #2e6f6a;
  --kb-map-label-area: #2f5a2a;
  --kb-shadow-sm: 0 8px 20px rgba(27, 28, 28, 0.2);
  --kb-shadow-md: 0 8px 24px rgba(27, 28, 28, 0.18);
  --kb-shadow-lg: 0 18px 55px rgba(27, 28, 28, 0.18);
  --kb-shadow-bar: 0 2px 16px rgba(27, 28, 28, 0.14);
  --kb-surface-dim: color-mix(in srgb, var(--kb-color-ink) 94%, transparent);
  --kb-surface-inset: color-mix(in srgb, var(--kb-color-sand) 45%, transparent);
  --kb-scrim-caption: linear-gradient(to top, color-mix(in srgb, var(--kb-color-ink) 55%, transparent), transparent);
  --kb-scrim-tile: linear-gradient(to top, color-mix(in srgb, var(--kb-color-ink) 82%, transparent) 0%, color-mix(in srgb, var(--kb-color-ink) 50%, transparent) 24%, transparent 48%);
  --kb-scrim-mosaic: linear-gradient(to top, color-mix(in srgb, var(--kb-color-ink) 78%, transparent) 0%, color-mix(in srgb, var(--kb-color-ink) 55%, transparent) 28%, transparent 62%);
  --kb-header-surface-scrolled: color-mix(in srgb, var(--kb-color-paper) 94%, transparent);
  --kb-header-glass-on-photo: color-mix(in srgb, var(--kb-color-paper) 20%, transparent);
  --kb-header-glass-on-photo-hover: color-mix(in srgb, var(--kb-color-paper) 32%, transparent);
  --kb-header-glass-on-map: color-mix(in srgb, var(--kb-color-paper) 66%, transparent);
  --kb-header-glass-on-map-hover: color-mix(in srgb, var(--kb-color-paper) 90%, transparent);
  --kb-header-glass-opaque: color-mix(in srgb, var(--kb-color-ink) 80%, transparent);
  --kb-header-glass-opaque-hover: var(--kb-color-ink);
  --kb-glow-dark: color-mix(in srgb, var(--kb-color-ink) 50%, transparent);
  --kb-glow-dark-strong: color-mix(in srgb, var(--kb-color-ink) 60%, transparent);
  --kb-glow-light: color-mix(in srgb, var(--kb-color-paper) 95%, transparent);
  --kb-map-marker-venue: #ba4d18;
  --kb-map-marker-stop: #f6d768;
  --kb-map-marker-ink: var(--kb-color-forest);
  --kb-map-marker-post: var(--kb-color-forest-deep);
  --kb-map-marker-paper: var(--kb-color-sheet);
  --kb-map-control-frame: color-mix(in srgb, var(--kb-color-umber) 20%, transparent);
  --kb-map-control-surface: var(--kb-surface-content);
  --kb-map-scale-surface: color-mix(in srgb, var(--kb-color-paper) 92%, transparent);
  --kb-map-stage-veil: linear-gradient(135deg, color-mix(in srgb, var(--kb-color-umber) 10%, transparent), color-mix(in srgb, var(--kb-color-sand) 22%, transparent));
  --kb-privacy-veil: radial-gradient(circle at 24% 32%, color-mix(in srgb, var(--kb-color-sheet) 38%, transparent), transparent 30%), linear-gradient(135deg, color-mix(in srgb, var(--kb-color-umber) 20%, transparent), color-mix(in srgb, var(--kb-color-sand) 94%, transparent));
  --kb-footer-font-size: var(--kb-type-meta);
}

@media (width <= 960px) {
  :root {
    --kb-header-logo-scale: 1.15;
  }
}

@media (width <= 1000px) {
  :root {
    --kb-poster-columns: 2;
  }
}

@media (width <= 680px) {
  :root {
    --kb-poster-columns: 1;
  }
}

@media (width <= 760px) {
  :root {
    --kb-header-height: 4.25rem;
    --kb-container-padding-inline: 1rem;
  }
}

@media (width <= 420px) {
  :root {
    --kb-header-logo-scale: 1.1;
  }
}
