@charset "UTF-8";
/*
Theme Name: Gründerzentrum SCHWUNG
Theme URI: https://schwung.de/
Author: nexTab – Oliver Gehrmann & Christian Schmidt
Author URI: https://nextab.de
Description: Modern WordPress Full Site Editing (FSE) block theme template with clean architecture and reusable components. Built by nexTab for flexible, maintainable WordPress projects.
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.2
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hfb
Tags: block-theme, fse, full-site-editing, custom-blocks
*/
/* #region Widths */
/* #endregion Widths */
/* #region Font Definitions */
/* #endregion Font Definitions */
/* #region Clamp Function for Responsive Typography */
/* #endregion Clamp Function for Responsive Typography */
/* #region Font Sizes */
/* #endregion Font Sizes */
/* #region Spacing */
/* #endregion Spacing */
/* #region Border Radius */
/* #endregion Border Radius */
/* #region Inline Icons */
/* #region Social Icons */
/* .social-menu .fab {
	@extend %social-icon;
	&.fa-linkedin::before {
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3C!--!Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M512 96L127.9 96C110.3 96 96 110.5 96 128.3L96 511.7C96 529.5 110.3 544 127.9 544L512 544C529.6 544 544 529.5 544 511.7L544 128.3C544 110.5 529.6 96 512 96zM231.4 480L165 480L165 266.2L231.5 266.2L231.5 480L231.4 480zM198.2 160C219.5 160 236.7 177.2 236.7 198.5C236.7 219.8 219.5 237 198.2 237C176.9 237 159.7 219.8 159.7 198.5C159.7 177.2 176.9 160 198.2 160zM480.3 480L413.9 480L413.9 376C413.9 351.2 413.4 319.3 379.4 319.3C344.8 319.3 339.5 346.3 339.5 374.2L339.5 480L273.1 480L273.1 266.2L336.8 266.2L336.8 295.4L337.7 295.4C346.6 278.6 368.3 260.9 400.6 260.9C467.8 260.9 480.3 305.2 480.3 362.8L480.3 480z'/%3E%3C/svg%3E");
	}
	&.fa-facebook::before {
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3C!--!Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M160 96C124.7 96 96 124.7 96 160L96 480C96 515.3 124.7 544 160 544L258.2 544L258.2 398.2L205.4 398.2L205.4 320L258.2 320L258.2 286.3C258.2 199.2 297.6 158.8 383.2 158.8C399.4 158.8 427.4 162 438.9 165.2L438.9 236C432.9 235.4 422.4 235 409.3 235C367.3 235 351.1 250.9 351.1 292.2L351.1 320L434.7 320L420.3 398.2L351 398.2L351 544L480 544C515.3 544 544 515.3 544 480L544 160C544 124.7 515.3 96 480 96L160 96z'/%3E%3C/svg%3E");
	}
	&.fa-xing::before {
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3C!--!Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M544 160C544 124.7 515.3 96 480 96L160 96C124.7 96 96 124.7 96 160L96 480C96 515.3 124.7 544 160 544L480 544C515.3 544 544 515.3 544 480L544 160zM189.8 384.2C184.3 384.2 181.1 378.9 183.8 373.9L233.1 287.2C233.2 287.2 233.2 287.1 233.1 287L201.7 233C198.7 227.4 201.9 222.9 207.7 222.9L254.3 222.9C259.5 222.9 263.8 225.8 267.2 231.6L299.1 286.9C297.8 289.2 281.1 318.6 249 375.1C245.5 381.3 241.3 384.2 236.4 384.2L189.8 384.2zM353.3 350.8L353.3 351L418.8 470C421.6 475.1 418.9 480.1 412.8 480.1L366.2 480.1C360.7 480.1 356.5 477.2 353.3 471.4L287.3 351.1C289.1 347.9 310.2 310.7 350.6 239.5C362.3 218.8 375.7 195.2 390.7 168.7C394 162.9 398.1 160 403.2 160L450.1 160C455.8 159.9 458.9 164.7 456.1 170L353.3 350.8z'/%3E%3C/svg%3E");
	}
	&.fa-instagram::before {
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3C!--!Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M290.4 275.7C274 286 264.5 304.5 265.5 323.8C266.6 343.2 278.2 360.4 295.6 368.9C313.1 377.3 333.8 375.5 349.6 364.3C366 354 375.5 335.5 374.5 316.2C373.4 296.8 361.8 279.6 344.4 271.1C326.9 262.7 306.2 264.5 290.4 275.7zM432.7 207.3C427.5 202.1 421.2 198 414.3 195.3C396.2 188.2 356.7 188.5 331.2 188.8C327.1 188.8 323.3 188.9 320 188.9C316.7 188.9 312.8 188.9 308.6 188.8C283.1 188.5 243.8 188.1 225.7 195.3C218.8 198 212.6 202.1 207.3 207.3C202 212.5 198 218.8 195.3 225.7C188.2 243.8 188.6 283.4 188.8 308.9C188.8 313 188.9 316.8 188.9 320C188.9 323.2 188.9 327 188.8 331.1C188.6 356.6 188.2 396.2 195.3 414.3C198 421.2 202.1 427.4 207.3 432.7C212.5 438 218.8 442 225.7 444.7C243.8 451.8 283.3 451.5 308.8 451.2C312.9 451.2 316.7 451.1 320 451.1C323.3 451.1 327.2 451.1 331.4 451.2C356.9 451.5 396.2 451.9 414.3 444.7C421.2 442 427.4 437.9 432.7 432.7C438 427.5 442 421.2 444.7 414.3C451.9 396.3 451.5 356.9 451.2 331.3C451.2 327.1 451.1 323.2 451.1 319.9C451.1 316.6 451.1 312.8 451.2 308.5C451.5 283 451.9 243.6 444.7 225.5C442 218.6 437.9 212.4 432.7 207.1L432.7 207.3zM365.6 251.8C383.7 263.9 396.2 282.7 400.5 304C404.8 325.3 400.3 347.5 388.2 365.6C382.2 374.6 374.5 382.2 365.6 388.2C356.7 394.2 346.6 398.3 336 400.4C314.7 404.6 292.5 400.2 274.4 388.1C256.3 376 243.8 357.2 239.5 335.9C235.2 314.6 239.7 292.4 251.7 274.3C263.7 256.2 282.6 243.7 303.9 239.4C325.2 235.1 347.4 239.6 365.5 251.6L365.6 251.6zM394.8 250.5C391.7 248.4 389.2 245.4 387.7 241.9C386.2 238.4 385.9 234.6 386.6 230.8C387.3 227 389.2 223.7 391.8 221C394.4 218.3 397.9 216.5 401.6 215.8C405.3 215.1 409.2 215.4 412.7 216.9C416.2 218.4 419.2 220.8 421.3 223.9C423.4 227 424.5 230.7 424.5 234.5C424.5 237 424 239.5 423.1 241.8C422.2 244.1 420.7 246.2 419 248C417.3 249.8 415.1 251.2 412.8 252.2C410.5 253.2 408 253.7 405.5 253.7C401.7 253.7 398 252.6 394.9 250.5L394.8 250.5zM544 160C544 124.7 515.3 96 480 96L160 96C124.7 96 96 124.7 96 160L96 480C96 515.3 124.7 544 160 544L480 544C515.3 544 544 515.3 544 480L544 160zM453 453C434.3 471.7 411.6 477.6 386 478.9C359.6 480.4 280.4 480.4 254 478.9C228.4 477.6 205.7 471.7 187 453C168.3 434.3 162.4 411.6 161.2 386C159.7 359.6 159.7 280.4 161.2 254C162.5 228.4 168.3 205.7 187 187C205.7 168.3 228.5 162.4 254 161.2C280.4 159.7 359.6 159.7 386 161.2C411.6 162.5 434.3 168.3 453 187C471.7 205.7 477.6 228.4 478.8 254C480.3 280.3 480.3 359.4 478.8 385.9C477.5 411.5 471.7 434.2 453 452.9L453 453z'/%3E%3C/svg%3E");
	}
	&.fa-youtube::before {
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3C!--!Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M378 320.2L282.8 266.1L282.8 374.3L378 320.2zM480 96L160 96C124.7 96 96 124.7 96 160L96 480C96 515.3 124.7 544 160 544L480 544C515.3 544 544 515.3 544 480L544 160C544 124.7 515.3 96 480 96zM494.4 232.1C502 260.7 502 320.3 502 320.3C502 320.3 502 379.9 494.4 408.4C490.2 424.2 477.9 436.1 462.2 440.3C433.9 448 320 448 320 448C320 448 206.1 448 177.8 440.4C162.1 436.2 149.8 424.3 145.6 408.5C138 379.9 138 320.3 138 320.3C138 320.3 138 260.6 145.6 232.1C149.8 216.3 162.1 203.9 177.8 199.7C206.1 192 320 192 320 192C320 192 433.9 192 462.2 199.7C477.9 203.9 490.2 216.3 494.4 232.1z'/%3E%3C/svg%3E");
	}
}
 */
/* #endregion Social Icons */
/* #endregion Inline Icons */
/* #region Buttons */
/* #endregion Buttons */
/* #region Lists */
/* #endregion Lists */
/* #region Fullheight Sections */
/* #region max-width 782px */
/* #endregion */
/* #endregion Fullheight Sections */
/* #region Placeholder Mixin */
/* #endregion Placeholder Mixin */
/* #region Forms & Selects */
/* #region Inputs */
/* #endregion */
/* #endregion */
/* #region details / summary Support */
details {
  margin-top: 5px;
}
details summary {
  color: #1c365b;
  cursor: pointer;
  display: inline-block;
  list-style: none;
  transition: all 350ms ease;
  text-decoration: underline;
}
details summary::-webkit-details-marker {
  display: none;
  /* don't show Triangle */
}
details:hover summary, details[open] summary {
  text-decoration: none;
}
details[open] summary {
  margin-bottom: 7px;
}

/* #endregion details / summary Support */
/* #region Overwrite Gutenberg Special Crap */
:where(.wp-site-blocks) > *,
:root :where(.is-layout-constrained):not(section) > * {
  margin-block-start: 0;
}

.align_flex_start.is-layout-flex {
  align-items: flex-start;
}

.wp-block-buttons.is-content-justification-center.is-layout-flex {
  justify-content: center;
  width: 100%;
}

/* Aus dem Klon-Template — auf Wunsch nur auskommentiert behalten.
   (SCHWUNG-Sektionen lösen ihre Breite nativ über constrained-Layout +
   Root-Padding; diese 90%-Regel würde dem in die Quere kommen.)
.entry-content {
	>section {
		>*:not(.alignfull, .wp-block-cover__background) {
			width: 90%;
		}

		&.wp-block-cover {
			>img.wp-block-cover__image-background {
				width: 100%;
			}
		}
	}
}
*/
/* #endregion Overwrite Gutenberg Special Crap */
/* #region Normalization */
*,
*::before,
*::after {
  box-sizing: border-box;
}

*:not(dialog) {
  margin: 0;
}

html {
  font-size: var(--wp--preset--font-size--normal, 1rem);
  scroll-behavior: smooth !important;
}

body {
  -webkit-font-smoothing: antialiased;
  font-size: 100%;
  line-height: 1.6;
  position: relative;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

.sticky {
  position: sticky;
  top: 135px;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}
/* #endregion Normalization */
/* #region Typography */
p {
  text-wrap: pretty;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.2;
  text-wrap: balance;
}
h1 a,
h1 a:where(:link, :visited, :focus, :-webkit-any-link),
h2 a,
h2 a:where(:link, :visited, :focus, :-webkit-any-link),
h3 a,
h3 a:where(:link, :visited, :focus, :-webkit-any-link),
h4 a,
h4 a:where(:link, :visited, :focus, :-webkit-any-link),
h5 a,
h5 a:where(:link, :visited, :focus, :-webkit-any-link),
h6 a,
h6 a:where(:link, :visited, :focus, :-webkit-any-link) {
  color: inherit;
  cursor: pointer;
}
div > h1,
div > h2,
div > h3,
div > h4,
div > h5,
div > h6 {
  margin-top: 0;
}

h1,
h2 {
  margin-bottom: var(--wp--preset--spacing--50, 1.5rem);
}
.is-style-long-text * + h1,
.is-style-long-text * + h2 {
  margin-top: var(--wp--preset--spacing--60, clamp(2.25rem, 1.1429vw + 1.9643rem, 2.75rem));
}

h3,
h4,
h5 {
  margin-bottom: var(--wp--preset--spacing--40, 1rem);
}
.is-style-long-text * + h3,
.is-style-long-text * + h4,
.is-style-long-text * + h5 {
  margin-top: var(--wp--preset--spacing--50, 1.5rem);
}

p + * {
  margin-top: var(--wp--preset--spacing--40, 1rem);
}

.is-layout-flow p + p,
.is-layout-flow * + blockquote,
.is-layout-flow blockquote + * {
  /*margin-top: $sp40;*/
}

:root :where(.is-layout-constrained, .is-layout-flow) > h1,
:root :where(.is-layout-constrained, .is-layout-flow) > h2 {
  margin-bottom: var(--wp--preset--spacing--50, 1.5rem);
}
:root :where(.is-layout-constrained, .is-layout-flow) > h1.is-style-no-margin,
:root :where(.is-layout-constrained, .is-layout-flow) > h2.is-style-no-margin {
  margin-bottom: 0;
}
:root :where(.is-layout-constrained, .is-layout-flow) > h3,
:root :where(.is-layout-constrained, .is-layout-flow) > h4,
:root :where(.is-layout-constrained, .is-layout-flow) > h5 {
  margin-bottom: var(--wp--preset--spacing--40, 1rem);
}
:root :where(.is-layout-constrained, .is-layout-flow) > h3.is-style-no-margin,
:root :where(.is-layout-constrained, .is-layout-flow) > h4.is-style-no-margin,
:root :where(.is-layout-constrained, .is-layout-flow) > h5.is-style-no-margin {
  margin-bottom: 0;
}

.has-white-color > :where(h1, h2, h3, h4, h5, h6) {
  color: #fff;
}

/* #endregion Typography */
/* #region SCHWUNG */
/* #region Tokens, Listen & Helfer */
.schwung-home,
.schwung-header,
.schwung-footer {
  --turkis: var(--wp--preset--color--primary);
  --turkis-dark: var(--wp--preset--color--primary-dark);
  --turkis-tint: var(--wp--preset--color--tint);
  --ink: var(--wp--preset--color--ink);
  --body: var(--wp--preset--color--body);
  --muted: var(--wp--preset--color--muted);
  --hairline: var(--wp--preset--color--line);
  --surface: var(--wp--preset--color--surface);
  --white: var(--wp--preset--color--white);
  --radius: var(--wp--custom--radius);
  --ink-fg: var(--wp--custom--ink-fg);
  --ink-muted: var(--wp--custom--ink-muted);
  --ink-line: var(--wp--custom--ink-line);
  --ink-faint: var(--wp--custom--ink-faint);
  --field-line: var(--wp--custom--field-line);
  --ff-head: var(--wp--preset--font-family--heading);
  --ff-body: var(--wp--preset--font-family--body);
  --t-rot: var(--wp--custom--tile--rot);
  --t-koralle: var(--wp--custom--tile--koralle);
  --t-gold: var(--wp--custom--tile--gold);
  --t-limette: var(--wp--custom--tile--limette);
  --t-tanne: var(--wp--custom--tile--tanne);
  --t-tuerkis: var(--wp--custom--tile--tuerkis);
  --t-himmel: var(--wp--custom--tile--himmel);
  --t-kobalt: var(--wp--custom--tile--kobalt);
  --t-violett: var(--wp--custom--tile--violett);
  --t-magenta: var(--wp--custom--tile--magenta);
  --t-creme: var(--wp--custom--tile--creme);
  --t-navy: var(--wp--custom--tile--navy);
  font-family: var(--ff-body);
}

.schwung-kinfo__k::before, .schwung-side-card__head::before, .schwung-postcard__marker, .schwung-berater__photo::after, .schwung-spr-card__head::before, .schwung-facts .schwung-fact::before, .schwung-cpt--news .schwung-postgrid > *:nth-child(3) .schwung-post__thumb::after, .schwung-cpt--news .schwung-postgrid > *:nth-child(2) .schwung-post__thumb::after, .schwung-cpt--news .schwung-postgrid > *:nth-child(1) .schwung-post__thumb::after, .schwung-cpt__label::before, .schwung-saeule__photo::after, .schwung-ablauf__num::before, .schwung-aus-item::before, .schwung-fl-media::after, .schwung-member__photo::after, .schwung-wert::before, .schwung-tl-year::before, .schwung-loungeband__fig figcaption::before, .schwung-step__n::before, .schwung-area__photo::after, .schwung-stat::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
}

.schwung-shell {
  /*max-width: calc(var(--wp--custom--maxw) + 2 * var(--wp--custom--gutter));*/
  margin-inline: auto;
  padding-inline: var(--wp--custom--gutter);
  width: 100%;
}

/* #endregion Tokens, Listen & Helfer */
/* #region Header */
header.schwung-header.wp-block-template-part {
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 0px);
  width: 100%;
  background: color-mix(in srgb, var(--wp--preset--color--base) 86%, transparent);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--hairline);
  z-index: 100;
}

.schwung-header__bar {
  min-height: 78px;
}
.schwung-header__cta {
  gap: 22px;
}

.schwung-brand {
  gap: 13px;
}

.schwung-wordmark {
  font-family: var(--ff-head) !important;
  font-weight: 600;
  font-size: 23px;
  letter-spacing: 0.02em;
  color: var(--ink);
  margin: 0;
}

.schwung-nav {
  gap: 38px;
}
.schwung-nav p {
  margin: 0;
}
.schwung-nav a {
  color: var(--ink);
  font-size: 15px;
  font-weight: 400;
  text-decoration: none;
  padding: 6px 0;
  border-bottom: 1.5px solid transparent;
  transition: border-color 0.2s ease;
}
.schwung-nav a:hover {
  border-bottom-color: var(--turkis);
}

/* #endregion Header */
/* #region Buttons & Textlinks */
.schwung-btn .wp-element-button {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-family: var(--ff-body);
  font-weight: 500;
  font-size: 15.5px;
  letter-spacing: 0.01em;
  line-height: 1.3;
  padding: 15px 26px;
  border-radius: var(--radius);
  border: 1px solid transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.schwung-btn--primary .wp-element-button {
  background: var(--turkis);
  color: var(--white);
}
.schwung-btn--primary .wp-element-button:hover {
  background: var(--turkis-dark);
}
.schwung-btn--ghost .wp-element-button {
  background: transparent;
  color: var(--ink);
  border-color: var(--hairline);
}
.schwung-btn--ghost .wp-element-button:hover {
  border-color: var(--ink);
}
.schwung-btn--light .wp-element-button {
  background: var(--white);
  color: var(--turkis-dark);
}
.schwung-btn--light .wp-element-button:hover {
  background: var(--turkis-tint);
}
.schwung-btn--outline-light .wp-element-button {
  background: transparent;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.45);
}
.schwung-btn--outline-light .wp-element-button:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--white);
}
.schwung-btn--text .wp-element-button {
  background: transparent !important;
  color: var(--turkis-dark);
  border: 0;
  padding: 15px 2px;
  border-radius: 0;
}
.schwung-btn--text .wp-element-button:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.schwung-hero__actions.wp-block-buttons,
.schwung-beratung__cta.wp-block-buttons {
  gap: 14px 26px;
  align-items: center;
}

.schwung-txtlink a {
  color: var(--turkis-dark);
  font-weight: 500;
  font-size: 15.5px;
  text-decoration: none;
}
.schwung-txtlink a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* #endregion Buttons & Textlinks */
/* #region Kachel-Motiv */
.schwung-tileband {
  display: flex;
  width: 100%;
  height: 10px;
  overflow: hidden;
}
.schwung-tileband span {
  flex: 1 1 auto;
  height: 100%;
}
.schwung-tileband span:nth-child(1) {
  background: var(--t-rot);
}
.schwung-tileband span:nth-child(2) {
  background: var(--t-koralle);
}
.schwung-tileband span:nth-child(3) {
  background: var(--t-gold);
}
.schwung-tileband span:nth-child(4) {
  background: var(--t-limette);
}
.schwung-tileband span:nth-child(5) {
  background: var(--t-tanne);
}
.schwung-tileband span:nth-child(6) {
  background: var(--t-tuerkis);
}
.schwung-tileband span:nth-child(7) {
  background: var(--t-himmel);
}
.schwung-tileband span:nth-child(8) {
  background: var(--t-kobalt);
}
.schwung-tileband span:nth-child(9) {
  background: var(--t-violett);
}
.schwung-tileband span:nth-child(10) {
  background: var(--t-magenta);
}
.schwung-tileband span:nth-child(11) {
  background: var(--t-creme);
}
.schwung-tileband span:nth-child(12) {
  background: var(--t-navy);
}

.schwung-tileband--anim .schwung-tileband__half {
  display: flex;
  height: 100%;
  flex: 1 1 50%;
  min-width: 0;
}
.schwung-tileband--anim .schwung-tileband__half span {
  flex: 1 1 auto;
  height: 100%;
}
.schwung-tileband--anim .schwung-tileband__half--left {
  clip-path: inset(0 100% 0 0);
}
.schwung-tileband--anim .schwung-tileband__half--right {
  clip-path: inset(0 0 0 100%);
}
.schwung-tileband--anim.is-playing {
  animation: schwung-band-pulse 0.5s ease 0.6s;
}
.schwung-tileband--anim.is-playing .schwung-tileband__half--left {
  animation: schwung-band-sweep 0.7s cubic-bezier(0.5, 0, 0.1, 1) forwards;
}
.schwung-tileband--anim.is-playing .schwung-tileband__half--right {
  animation: schwung-band-sweep 0.7s cubic-bezier(0.5, 0, 0.1, 1) forwards;
}

@keyframes schwung-band-sweep {
  to {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes schwung-band-pulse {
  0%, 100% {
    transform: scaleY(1);
  }
  40% {
    transform: scaleY(1.6);
  }
}
.schwung-logomark {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  width: 30px;
  height: 30px;
  gap: 2px;
  flex: 0 0 auto;
}
.schwung-logomark span {
  display: block;
}
.schwung-logomark span:nth-child(1) {
  background: var(--t-rot);
}
.schwung-logomark span:nth-child(2) {
  background: var(--t-gold);
}
.schwung-logomark span:nth-child(3) {
  background: var(--t-limette);
}
.schwung-logomark span:nth-child(4) {
  background: var(--t-koralle);
}
.schwung-logomark span:nth-child(5) {
  background: var(--t-tuerkis);
}
.schwung-logomark span:nth-child(6) {
  background: var(--t-kobalt);
}
.schwung-logomark span:nth-child(7) {
  background: var(--t-gold);
}
.schwung-logomark span:nth-child(8) {
  background: var(--t-violett);
}
.schwung-logomark span:nth-child(9) {
  background: var(--t-himmel);
}

/* #endregion Kachel-Motiv */
/* #region Dekorative Marker & Dots */
.schwung-stat::before {
  margin-bottom: 18px;
}

.schwung-stats__grid .schwung-stat:nth-child(1)::before {
  background: var(--t-rot);
}
.schwung-stats__grid .schwung-stat:nth-child(2)::before {
  background: var(--t-gold);
}
.schwung-stats__grid .schwung-stat:nth-child(3)::before {
  background: var(--t-tanne);
}
.schwung-stats__grid .schwung-stat:nth-child(4)::before {
  background: var(--t-kobalt);
}

.schwung-area__photo::after {
  position: absolute;
  top: 16px;
  left: 16px;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.9);
}

.schwung-areas__grid .schwung-area:nth-child(1) .schwung-area__photo::after {
  background: var(--t-tuerkis);
}
.schwung-areas__grid .schwung-area:nth-child(2) .schwung-area__photo::after {
  background: var(--t-koralle);
}
.schwung-areas__grid .schwung-area:nth-child(3) .schwung-area__photo::after {
  background: var(--t-violett);
}
.schwung-areas__grid .schwung-area:nth-child(4) .schwung-area__photo::after {
  background: var(--t-limette);
}

.schwung-area__avail::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--t-limette);
  margin-right: 6px;
  vertical-align: middle;
}

/* #endregion Dekorative Marker & Dots */
/* #region Hero */
.schwung-hero h1 {
  font-size: clamp(46px, 5.6vw, 76px);
  letter-spacing: -0.035em;
  line-height: 1.02;
}
.schwung-hero h1 em {
  font-style: normal;
  color: var(--turkis);
}
.schwung-hero__copy {
  max-width: 560px;
  padding-bottom: 92px;
}
.schwung-hero__media {
  position: relative;
  margin: 0;
}
.schwung-hero__media img {
  width: 100%;
  aspect-ratio: 5 / 6;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--radius);
}
.schwung-hero__media figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0;
  background: rgba(28, 28, 28, 0.78);
  color: var(--white);
  font-size: 12px;
  letter-spacing: 0.04em;
  padding: 9px 15px;
  font-weight: 300;
}
.schwung-hero__media figcaption b {
  font-weight: 600;
}

/* #endregion Hero */
/* #region Kennzahlen */
.schwung-stat__num {
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: 46px;
  color: var(--turkis) !important;
  letter-spacing: -0.04em;
  line-height: 1;
  margin: 0;
}
.schwung-stat__label {
  font-size: 14.5px;
  color: var(--body);
  line-height: 1.5;
}

/* #endregion Kennzahlen */
/* #region Flächen & Services */
.schwung-areas__head h2 {
  font-size: clamp(34px, 4vw, 50px);
}

.schwung-area {
  display: flex;
  flex-direction: column;
}
.schwung-area__photo {
  position: relative;
  margin: 0;
}
.schwung-area__photo img {
  width: 100%;
  aspect-ratio: 16 / 9;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.schwung-area__body {
  padding: 30px 32px 34px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.schwung-area__body h3 {
  font-size: 25px;
}
.schwung-area__desc {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--body);
}
.schwung-area__meta {
  margin-top: auto;
  padding-top: 18px;
}
.schwung-area__price {
  font-family: var(--ff-head);
  font-weight: 600;
  color: var(--ink) !important;
  font-size: 17px;
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin: 0;
}
.schwung-area__price small {
  display: block;
  font-family: var(--ff-body);
  font-weight: 400;
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 2px;
}
.schwung-area__avail {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}

.schwung-costnote__title {
  font-family: var(--ff-head) !important;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -0.02em;
  margin: 0;
}
.schwung-costnote__sub {
  margin: 0;
}

/* #endregion Flächen & Services */
/* #region Beratung */
.schwung-beratung__photo {
  margin: 0;
}
.schwung-beratung__photo img {
  width: 100%;
  aspect-ratio: 4 / 5;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--radius);
}
.schwung-beratung__copy h2 {
  font-size: clamp(32px, 3.6vw, 46px);
}

.schwung-step__n {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-family: var(--ff-head) !important;
  font-weight: 600;
  color: var(--turkis);
  font-size: 15px;
  flex: 0 0 auto;
  min-width: 52px;
}
.schwung-step__n::before {
  width: 12px;
  height: 12px;
  background: currentColor;
}
.schwung-step__body h4 {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.schwung-step__body p {
  font-size: 15px;
  color: var(--body);
}

.schwung-beratung__steps .schwung-beratung__step:nth-child(1) .schwung-step__n {
  color: var(--t-tuerkis);
}
.schwung-beratung__steps .schwung-beratung__step:nth-child(2) .schwung-step__n {
  color: var(--t-koralle);
}
.schwung-beratung__steps .schwung-beratung__step:nth-child(3) .schwung-step__n {
  color: var(--t-gold);
}

/* #endregion Beratung */
/* #region Gründer / Unternehmen */
.schwung-quote {
  font-family: var(--ff-head);
  font-weight: 500;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.32;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0;
}
.schwung-quote__by {
  font-size: 14.5px;
  color: var(--body);
}
.schwung-quote__by b {
  color: var(--ink);
  font-weight: 600;
}

.schwung-logos__cap {
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
}
.schwung-logos__chip {
  min-height: 88px;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--hairline);
  background: var(--white);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: 16px;
  color: var(--muted);
  letter-spacing: -0.01em;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.schwung-logos__chip:hover {
  color: var(--ink);
  border-color: var(--ink);
}
.schwung-logos__chip--more {
  border-style: dashed;
  color: var(--turkis-dark);
}
.schwung-logos__chip--more:hover {
  color: var(--turkis);
  border-color: var(--turkis);
}

.schwung-founders__photo {
  margin: 0;
}
.schwung-founders__photo img {
  width: 100%;
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  background: var(--white);
}

/* #endregion Gründer / Unternehmen */
/* #region Events & Aktuelles */
.schwung-event {
  transition: background 0.2s ease, padding 0.2s ease;
}
.schwung-event:hover {
  background: var(--surface);
  padding-left: 16px;
  padding-right: 16px;
}
.schwung-event__date {
  text-align: center;
}
.schwung-event__day {
  font-family: var(--ff-head) !important;
  font-weight: 600;
  font-size: 32px;
  color: var(--ink);
  line-height: 1;
  letter-spacing: -0.03em;
}
.schwung-event__month {
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--turkis);
}
.schwung-event__tag {
  font-size: 11.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.schwung-event__body h3 {
  font-size: 21px;
}
.schwung-event__body p:last-child {
  font-size: 14.5px;
  color: var(--body);
}

.schwung-news h3 {
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  font-family: var(--ff-body) !important;
  font-weight: 600;
}
.schwung-news__date {
  font-size: 12.5px;
  color: var(--muted);
  letter-spacing: 0.03em;
}
.schwung-news__item a {
  display: block;
  color: var(--ink);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.45;
  text-decoration: none;
}
.schwung-news__item a:hover {
  color: var(--turkis-dark);
}

/* #endregion Events & Aktuelles */
/* #region Newsletter */
.schwung-newsletter__copy h2 {
  font-size: clamp(30px, 3.4vw, 42px);
}
.schwung-newsletter__copy p {
  font-size: 16px;
  max-width: 380px;
}

.schwung-nlform {
  margin: 0;
}
.schwung-nlform__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.schwung-nlform__full {
  grid-column: 1 / -1;
}
.schwung-nlform label {
  display: block;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--body);
  font-weight: 600;
  margin-bottom: 8px;
}
.schwung-nlform input {
  font-family: var(--ff-body);
  font-size: 16px;
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--field-line);
  background: var(--white);
  border-radius: var(--radius);
  color: var(--ink);
}
.schwung-nlform input::-moz-placeholder {
  color: var(--muted);
}
.schwung-nlform input::placeholder {
  color: var(--muted);
}
.schwung-nlform input:focus {
  outline: none;
  border-color: var(--turkis);
  box-shadow: 0 0 0 3px rgba(2, 147, 168, 0.14);
}
.schwung-nlform button {
  font-family: var(--ff-body);
  font-weight: 500;
  font-size: 15.5px;
  padding: 15px 26px;
  border: 0;
  border-radius: var(--radius);
  background: var(--turkis);
  color: var(--white);
  cursor: pointer;
  transition: background 0.2s ease;
}
.schwung-nlform button:hover {
  background: var(--turkis-dark);
}
.schwung-nlform__note {
  font-size: 12.5px;
  color: var(--body);
  max-width: 320px;
  line-height: 1.5;
  margin: 0;
}
.schwung-nlform__submit {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 16px;
}


.schwung-nlform .haet-cleverreach .haet-cleverreach-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.schwung-nlform .haet-cleverreach .haet-cleverreach-field-wrap {
  grid-column: 1 / -1;
  min-width: 0;
}
.schwung-nlform .haet-cleverreach .haet-cleverreach-field-wrap.type-text {
  grid-column: span 1;
}
.schwung-nlform .haet-cleverreach .cleverreach-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.schwung-nlform .haet-cleverreach .cleverreach-checkbox input {
  width: auto;
  flex: 0 0 auto;
  margin-top: 3px;
  padding: 0;
}
.schwung-nlform .haet-cleverreach .cleverreach-checkbox label {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 400;
  color: var(--body);
}
.schwung-nlform .haet-cleverreach .cleverreach-checkbox a {
  color: var(--turkis-dark);
}
.schwung-nlform .haet-cleverreach .type-submit {
  justify-self: start;
}
.schwung-nlform .haet-cleverreach .field-error input {
  border-color: var(--t-rot);
}
.schwung-nlform .haet-cleverreach .cleverreach-error-message {
  margin: 6px 0 0;
  font-size: 12.5px;
  color: var(--t-rot);
}
.schwung-nlform .haet-cleverreach .message-success,
.schwung-nlform .haet-cleverreach .message-error {
  margin: 0 0 16px;
  padding: 14px 16px;
  border-radius: var(--radius);
  font-size: 14.5px;
  line-height: 1.5;
}
.schwung-nlform .haet-cleverreach .message-success {
  background: var(--turkis-tint);
  color: var(--turkis-dark);
}
.schwung-nlform .haet-cleverreach .message-error {
  background: color-mix(in srgb, var(--t-rot) 10%, var(--white));
  color: var(--t-rot);
}

@media (max-width: 600px) {
  .schwung-nlform .haet-cleverreach .haet-cleverreach-field-wrap.type-text {
    grid-column: 1 / -1;
  }
}

/* #endregion Newsletter */
/* #region CTA-Band */
.schwung-cta h2 {
  font-size: clamp(38px, 4.6vw, 62px);
  max-width: 880px;
  margin-inline: auto;
}
.schwung-cta h2 em {
  font-style: normal;
  color: var(--t-gold);
}

/* #endregion CTA-Band */
/* #region Footer */
.schwung-footer.wp-block-template-part {
  background: hsl(193, 100%, 10%);
  color: var(--ink-fg);
}
.schwung-footer .schwung-tileband {
  height: 12px;
}
.schwung-footer .schwung-wordmark {
  color: var(--white);
  font-size: 22px;
}
.schwung-footer__main {
  padding-block: 78px 0;
}
.schwung-footer__grid {
  gap: 48px;
}
.schwung-footer__brand p {
  margin-top: 20px;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--ink-muted);
  max-width: 280px;
}
.schwung-footer h4 {
  color: var(--white) !important;
  font-family: var(--ff-body) !important;
  font-weight: 600;
  font-size: 12.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.schwung-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.schwung-footer ul li {
  margin-bottom: 13px;
}
.schwung-footer a {
  color: var(--ink-fg);
  font-size: 14.5px;
  text-decoration: none;
  transition: color 0.2s ease;
}
.schwung-footer a:hover {
  color: var(--white);
}
.schwung-footer__contact p {
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--ink-muted);
  margin: 0;
}
.schwung-footer__contact b {
  color: var(--white);
  font-weight: 500;
}
.schwung-footer__hours {
  display: grid;
}
.schwung-footer__hours p {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  -moz-column-gap: 12px;
       column-gap: 12px;
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--ink-muted);
  margin: 0;
}
.schwung-footer__hours p span,
.schwung-footer__hours p b {
  white-space: nowrap;
}
.schwung-footer__hours p b {
  font-variant-numeric: tabular-nums;
}
.schwung-footer__hours .is-closed,
.schwung-footer__hours .is-closed b {
  color: var(--ink-faint);
}
.schwung-footer__bottom {
  margin-top: 64px;
  padding: 26px 0;
  border-top: 1px solid var(--ink-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.schwung-footer__legal {
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
}
.schwung-footer__legal a {
  font-size: 13.5px;
  color: var(--ink-muted);
}
.schwung-footer__copy {
  font-size: 13px;
  color: var(--ink-faint);
}
.schwung-footer__social {
  display: flex;
  gap: 14px;
}
.schwung-footer__social a {
  width: 36px;
  height: 36px;
  border: 1px solid var(--ink-line);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  color: var(--ink-fg);
  font-size: 12.5px;
}
.schwung-footer__social a:hover {
  border-color: var(--turkis);
  color: var(--white);
}

.schwung-chatbot {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding: 12px 18px;
  border: 1px solid var(--ink-line);
  border-radius: var(--radius);
  color: var(--ink-fg);
  font-size: 14px;
}
.schwung-chatbot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--turkis);
  flex: 0 0 auto;
}
.schwung-chatbot:hover {
  border-color: var(--turkis);
  color: var(--white);
}

/* #endregion Footer */
/* #region Über uns */
.schwung-fact__k {
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
}
.schwung-fact__v {
  font-family: var(--ff-head);
  font-weight: 500;
  color: var(--ink);
  font-size: 20px;
  letter-spacing: -0.02em;
  line-height: 1.3;
  margin: 0;
}
.schwung-fact__v span {
  color: var(--turkis);
}

.schwung-loungeband__fig {
  margin: 0;
}
.schwung-loungeband__fig img {
  width: 100%;
  height: clamp(340px, 46vw, 560px);
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: var(--radius);
}
.schwung-loungeband__fig figcaption {
  margin-top: 16px;
  font-size: 13px;
  color: var(--muted);
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  gap: 12px;
}
.schwung-loungeband__fig figcaption::before {
  background: var(--t-tuerkis);
  flex: 0 0 auto;
}

.schwung-story__head {
  position: sticky;
  top: 110px;
  align-self: start;
}
.schwung-story__head h2 {
  font-size: clamp(32px, 3.6vw, 48px);
}
.schwung-story__body p {
  font-size: 17.5px;
  line-height: 1.72;
}
.schwung-story__pull {
  font-family: var(--ff-head);
  font-weight: 500;
  font-size: clamp(23px, 2.5vw, 30px);
  line-height: 1.34;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.schwung-story__pull span {
  color: var(--turkis);
}

.schwung-tl-row {
  transition: background 0.2s ease, padding-left 0.2s ease;
}
.schwung-tl-row:hover {
  background: var(--white);
  padding-left: 16px;
}

.schwung-tl-year {
  font-family: var(--ff-head) !important;
  font-weight: 600;
  font-size: 36px;
  color: var(--turkis);
  letter-spacing: -0.03em;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 0 0 auto;
  min-width: 200px;
}
.schwung-tl-year::before {
  flex: 0 0 auto;
}

.schwung-timeline__grid .schwung-tl-row:nth-child(1) .schwung-tl-year::before {
  background: var(--t-rot);
}
.schwung-timeline__grid .schwung-tl-row:nth-child(2) .schwung-tl-year::before {
  background: var(--t-gold);
}
.schwung-timeline__grid .schwung-tl-row:nth-child(3) .schwung-tl-year::before {
  background: var(--t-tanne);
}
.schwung-timeline__grid .schwung-tl-row:nth-child(4) .schwung-tl-year::before {
  background: var(--t-kobalt);
}
.schwung-timeline__grid .schwung-tl-row:nth-child(5) .schwung-tl-year::before {
  background: var(--t-magenta);
}
.schwung-timeline__grid .schwung-tl-row:nth-child(6) .schwung-tl-year::before {
  background: var(--t-koralle);
}

.schwung-tl-body h3 {
  font-size: 21px;
  font-weight: 500;
}
.schwung-tl-body p {
  font-size: 15.5px;
  color: var(--body);
  max-width: 560px;
}

.schwung-werte__grid .schwung-wert:nth-child(1)::before {
  background: var(--t-tuerkis);
}
.schwung-werte__grid .schwung-wert:nth-child(2)::before {
  background: var(--t-koralle);
}
.schwung-werte__grid .schwung-wert:nth-child(3)::before {
  background: var(--t-limette);
}
.schwung-werte__grid .schwung-wert:nth-child(4)::before {
  background: var(--t-violett);
}

.schwung-wert::before {
  width: 16px;
  height: 16px;
  margin-bottom: 22px;
}
.schwung-wert h3 {
  font-size: 23px;
}
.schwung-wert p {
  font-size: 15.5px;
  line-height: 1.62;
  color: var(--body);
  max-width: 420px;
}

.schwung-team__band {
  margin: 0;
  background: linear-gradient(180deg, var(--turkis-tint) 0%, var(--turkis-tint) 72%, transparent 72%);
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding: 40px 40px 0;
  overflow: hidden;
}
.schwung-team__band img {
  width: 100%;
  max-width: 980px;
  display: block;
}

.schwung-member__photo {
  position: relative;
  margin: 0;
}
.schwung-member__photo img {
  width: 100%;
  aspect-ratio: 4 / 5;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: var(--radius);
}
.schwung-member__photo::after {
  position: absolute;
  top: 14px;
  left: 14px;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.9);
}
.schwung-member h3 {
  font-size: 19px;
}
.schwung-member__role {
  font-size: 14px;
  color: var(--turkis-dark);
  font-weight: 500;
}
.schwung-member__bio {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--body);
}

.schwung-team__grid .schwung-member:nth-child(8n+1) .schwung-member__photo::after {
  background: var(--t-magenta);
}
.schwung-team__grid .schwung-member:nth-child(8n+2) .schwung-member__photo::after {
  background: var(--t-himmel);
}
.schwung-team__grid .schwung-member:nth-child(8n+3) .schwung-member__photo::after {
  background: var(--t-gold);
}
.schwung-team__grid .schwung-member:nth-child(8n+4) .schwung-member__photo::after {
  background: var(--t-tanne);
}
.schwung-team__grid .schwung-member:nth-child(8n+5) .schwung-member__photo::after {
  background: var(--t-koralle);
}
.schwung-team__grid .schwung-member:nth-child(8n+6) .schwung-member__photo::after {
  background: var(--t-kobalt);
}
.schwung-team__grid .schwung-member:nth-child(8n+7) .schwung-member__photo::after {
  background: var(--t-limette);
}
.schwung-team__grid .schwung-member:nth-child(8n+8) .schwung-member__photo::after {
  background: var(--t-violett);
}

.schwung-haus__copy h2 {
  font-size: clamp(32px, 3.6vw, 46px);
}
.schwung-haus__k {
  color: var(--muted);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex: 0 0 auto;
  min-width: 150px;
  margin: 0;
}
.schwung-haus__v {
  color: var(--ink);
  font-size: 15.5px;
  margin: 0;
}
.schwung-haus__v b {
  font-weight: 600;
}
.schwung-haus__map {
  position: relative;
}
.schwung-haus__mapimg {
  margin: 0;
}
.schwung-haus__mapimg img {
  width: 100%;
  aspect-ratio: 4 / 5;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: var(--radius);
}
.schwung-haus__pin {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.schwung-haus__pin .dot {
  width: 18px;
  height: 18px;
  background: var(--turkis);
  box-shadow: 0 0 0 6px rgba(2, 147, 168, 0.22);
}
.schwung-haus__pin .lbl {
  background: var(--ink);
  color: var(--white);
  font-size: 12px;
  padding: 6px 12px;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

@media (max-width: 781px) {
  .schwung-story__head {
    position: static;
  }
  .schwung-tl-year {
    min-width: 0;
  }
}
/* #endregion Über uns */
/* #region Büros & Services */
.schwung-jump {
  gap: 10px;
  align-content: end;
}
.schwung-jump p {
  margin: 0;
}
.schwung-jump a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 11px 16px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--ink);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.schwung-jump a::before {
  content: "";
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
}
.schwung-jump a:hover {
  border-color: var(--turkis);
  color: var(--turkis-dark);
}
.schwung-jump p:nth-child(1) a::before {
  background: var(--t-tuerkis);
}
.schwung-jump p:nth-child(2) a::before {
  background: var(--t-koralle);
}
.schwung-jump p:nth-child(3) a::before {
  background: var(--t-violett);
}
.schwung-jump p:nth-child(4) a::before {
  background: var(--t-limette);
}
.schwung-jump p:nth-child(5) a::before {
  background: var(--t-gold);
}

@media (min-width: 782px) {
  .schwung-fl-row--flip {
    flex-direction: row-reverse;
  }
}
.schwung-fl-media {
  position: relative;
  margin: 0;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius);
  overflow: hidden;
}
.schwung-fl-media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.schwung-fl-media::after {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 16px;
  left: 16px;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.9);
}
.schwung-fl-media--tuerkis::after {
  background: var(--t-tuerkis);
}
.schwung-fl-media--koralle::after {
  background: var(--t-koralle);
}
.schwung-fl-media--violett::after {
  background: var(--t-violett);
}
.schwung-fl-media--limette::after {
  background: var(--t-limette);
}

.schwung-fl-tag {
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--turkis);
  font-weight: 600;
  margin: 0;
}

.schwung-fl-body h2 {
  font-size: clamp(28px, 3vw, 38px);
}

.schwung-fl-desc {
  font-size: 16.5px;
  line-height: 1.65;
  max-width: 460px;
  color: var(--body);
}

.schwung-fl-features {
  list-style: none;
  padding-left: 0;
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 24px;
}
.schwung-fl-features li {
  display: flex;
  align-items: baseline;
  gap: 11px;
  font-size: 14.5px;
  color: var(--body);
}
.schwung-fl-features li::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  background: var(--turkis);
  transform: translateY(1px);
}

.schwung-fl-cta {
  margin-left: auto;
}

.schwung-fl-price__from {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
}
.schwung-fl-price__amt {
  font-family: var(--ff-head);
  font-weight: 600;
  color: var(--ink);
  font-size: 26px;
  letter-spacing: -0.02em;
  margin: 0;
}

.schwung-fl-avail {
  font-size: 13.5px;
  color: var(--muted);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.schwung-fl-avail::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--t-limette);
  flex: 0 0 auto;
}

.schwung-rechner__copy h2 {
  font-size: clamp(30px, 3.4vw, 44px);
}
.schwung-rechner__copy p {
  font-size: 16px;
  max-width: 380px;
}

.schwung-rechner__panel {
  background: var(--white);
  border: 1px solid var(--field-line);
  border-radius: var(--radius);
  padding: 36px 38px;
}
.schwung-rechner__panel .rechner-control label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--body);
  font-weight: 600;
  margin-bottom: 14px;
}
.schwung-rechner__panel .rechner-control label .val {
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: 22px;
  color: var(--turkis);
  letter-spacing: -0.02em;
  text-transform: none;
}
.schwung-rechner__panel .seg {
  display: flex;
  gap: 8px;
  margin-bottom: 26px;
}
.schwung-rechner__panel .seg button {
  flex: 1;
  padding: 10px;
  font-family: var(--ff-body);
  font-size: 13.5px;
  font-weight: 500;
  border: 1px solid var(--field-line);
  background: var(--white);
  color: var(--body);
  border-radius: var(--radius);
  cursor: pointer;
}
.schwung-rechner__panel .seg button.active {
  background: var(--turkis);
  color: var(--white);
  border-color: var(--turkis);
}
.schwung-rechner__panel .slider {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 100%;
  height: 3px;
  background: var(--field-line);
  border-radius: 2px;
  outline: none;
  margin: 6px 0 4px;
}
.schwung-rechner__panel .slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--turkis);
  cursor: pointer;
  border: 3px solid var(--white);
  box-shadow: 0 0 0 1px var(--turkis);
}
.schwung-rechner__panel .slider::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--turkis);
  cursor: pointer;
  border: 3px solid var(--white);
}
.schwung-rechner__panel .range-scale {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 30px;
}
.schwung-rechner__panel .rechner-out {
  border-top: 1px solid var(--hairline);
  padding-top: 26px;
}
.schwung-rechner__panel .rechner-bars {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.schwung-rechner__panel .rbar .rbar-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}
.schwung-rechner__panel .rbar .rbar-name {
  font-size: 14px;
  color: var(--body);
}
.schwung-rechner__panel .rbar .rbar-amt {
  font-family: var(--ff-head);
  font-weight: 600;
  color: var(--ink);
  font-size: 19px;
  letter-spacing: -0.02em;
}
.schwung-rechner__panel .rbar .track {
  height: 12px;
  background: var(--surface);
  border-radius: 2px;
  overflow: hidden;
}
.schwung-rechner__panel .rbar .fill {
  height: 100%;
}
.schwung-rechner__panel .rbar.market .fill {
  background: var(--muted);
}
.schwung-rechner__panel .rbar.schwung .fill {
  background: var(--turkis);
}
.schwung-rechner__panel .rechner-save {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--hairline);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}
.schwung-rechner__panel .rechner-save .save-label {
  font-size: 14px;
  color: var(--body);
}
.schwung-rechner__panel .rechner-save .save-amt {
  font-family: var(--ff-head);
  font-weight: 600;
  color: var(--turkis-dark);
  font-size: 30px;
  letter-spacing: -0.03em;
}
.schwung-rechner__panel .rechner-save .save-amt small {
  font-size: 15px;
  font-weight: 500;
  color: var(--body);
}
.schwung-rechner__panel .rechner-note {
  font-size: 12px;
  color: var(--muted);
  margin-top: 18px;
  line-height: 1.5;
}

.schwung-aus-item::before {
  margin-bottom: 18px;
}
.schwung-aus-item h3 {
  font-size: 18px;
  font-weight: 500;
  font-family: var(--ff-head);
}
.schwung-aus-item p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--body);
}

.schwung-aus__grid .schwung-aus-item:nth-child(1)::before {
  background: var(--t-tuerkis);
}
.schwung-aus__grid .schwung-aus-item:nth-child(2)::before {
  background: var(--t-koralle);
}
.schwung-aus__grid .schwung-aus-item:nth-child(3)::before {
  background: var(--t-gold);
}
.schwung-aus__grid .schwung-aus-item:nth-child(4)::before {
  background: var(--t-limette);
}
.schwung-aus__grid .schwung-aus-item:nth-child(5)::before {
  background: var(--t-tanne);
}
.schwung-aus__grid .schwung-aus-item:nth-child(6)::before {
  background: var(--t-kobalt);
}
.schwung-aus__grid .schwung-aus-item:nth-child(7)::before {
  background: var(--t-violett);
}
.schwung-aus__grid .schwung-aus-item:nth-child(8)::before {
  background: var(--t-magenta);
}
.schwung-aus__grid .schwung-aus-item:nth-child(9)::before {
  background: var(--t-himmel);
}

.schwung-ablauf__step h3 {
  font-size: 20px;
  font-weight: 500;
}
.schwung-ablauf__step p {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--body);
}

.schwung-ablauf__num {
  font-family: var(--ff-head) !important;
  font-weight: 600;
  font-size: 15px;
  color: var(--turkis);
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  gap: 12px;
}
.schwung-ablauf__num::before {
  width: 12px;
  height: 12px;
}

.schwung-ablauf__grid .schwung-ablauf__step:nth-child(1) .schwung-ablauf__num::before {
  background: var(--t-rot);
}
.schwung-ablauf__grid .schwung-ablauf__step:nth-child(2) .schwung-ablauf__num::before {
  background: var(--t-gold);
}
.schwung-ablauf__grid .schwung-ablauf__step:nth-child(3) .schwung-ablauf__num::before {
  background: var(--t-tanne);
}
.schwung-ablauf__grid .schwung-ablauf__step:nth-child(4) .schwung-ablauf__num::before {
  background: var(--t-kobalt);
}

.schwung-faq__head {
  position: sticky;
  top: 110px;
  align-self: start;
}
.schwung-faq__head h2 {
  font-size: clamp(30px, 3.4vw, 44px);
}

.schwung-faq__item {
  margin-top: 0;
  border-bottom: 1px solid var(--hairline);
}
.schwung-faq__item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 4px;
  font-family: var(--ff-head);
  font-weight: 500;
  font-size: 19px;
  color: var(--ink);
  letter-spacing: -0.01em;
  text-decoration: none;
  transition: color 0.2s ease;
}
.schwung-faq__item summary::-webkit-details-marker {
  display: none;
}
.schwung-faq__item summary::after {
  content: "+";
  flex: 0 0 auto;
  font-family: var(--ff-body);
  font-weight: 400;
  font-size: 24px;
  color: var(--turkis);
  line-height: 1;
}
.schwung-faq__item summary:hover {
  color: var(--turkis-dark);
}
.schwung-faq__item[open] summary::after {
  content: "−";
}
.schwung-faq__item p {
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--body);
  max-width: 600px;
  padding: 0 4px 28px;
  margin: 0;
}

/* #endregion Büros & Services */
/* #region Startseite v4 */
body:has(.schwung-hero-v4) header.schwung-header.wp-block-template-part,
body:has(.schwung-subpage-hero) header.schwung-header.wp-block-template-part,
body:has(.schwung-404) header.schwung-header.wp-block-template-part {
  position: fixed;
  background: transparent;
  border-bottom-color: transparent;
  backdrop-filter: none;
  transition: background 0.35s ease, border-color 0.35s ease;
}
body:has(.schwung-hero-v4) .schwung-nav a,
body:has(.schwung-hero-v4) .schwung-wordmark,
body:has(.schwung-hero-v4) .schwung-navtoggle,
body:has(.schwung-subpage-hero) .schwung-nav a,
body:has(.schwung-subpage-hero) .schwung-wordmark,
body:has(.schwung-subpage-hero) .schwung-navtoggle,
body:has(.schwung-404) .schwung-nav a,
body:has(.schwung-404) .schwung-wordmark,
body:has(.schwung-404) .schwung-navtoggle {
  color: var(--wp--preset--color--ink);
}
body:has(.schwung-hero-v4).scrolled header.schwung-header.wp-block-template-part,
body:has(.schwung-subpage-hero).scrolled header.schwung-header.wp-block-template-part,
body:has(.schwung-404).scrolled header.schwung-header.wp-block-template-part {
  background: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom-color: var(--wp--preset--color--line);
}
body:has(.schwung-hero-v4).scrolled .schwung-nav a,
body:has(.schwung-hero-v4).scrolled .schwung-wordmark,
body:has(.schwung-hero-v4).scrolled .schwung-navtoggle,
body:has(.schwung-subpage-hero).scrolled .schwung-nav a,
body:has(.schwung-subpage-hero).scrolled .schwung-wordmark,
body:has(.schwung-subpage-hero).scrolled .schwung-navtoggle,
body:has(.schwung-404).scrolled .schwung-nav a,
body:has(.schwung-404).scrolled .schwung-wordmark,
body:has(.schwung-404).scrolled .schwung-navtoggle {
  color: var(--wp--preset--color--ink);
}

body:has(.schwung-subpage-hero):not(.scrolled) .schwung-nav a,
body:has(.schwung-subpage-hero):not(.scrolled) .schwung-wordmark,
body:has(.schwung-subpage-hero):not(.scrolled) .schwung-navtoggle {
  color: var(--wp--preset--color--white);
}

.schwung-hero-v4::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  /*background:
  	linear-gradient(180deg, rgba(3, 38, 46, .44) 0%, rgba(3, 38, 46, 0) 24%, rgba(3, 38, 46, 0) 64%, rgba(3, 38, 46, .56) 100%),
  	radial-gradient(74% 60% at 22% 34%, rgba(244, 206, 140, .20) 0%, rgba(244, 206, 140, 0) 100%),
  	radial-gradient(58% 52% at 86% 76%, rgba(2, 147, 168, .14) 0%, rgba(2, 147, 168, 0) 100%),
  	radial-gradient(130% 100% at 50% 42%, rgba(4, 48, 56, .08) 0%, rgba(4, 48, 56, .24) 58%, rgba(3, 38, 46, .44) 100%);*/
}
.schwung-hero-v4 h1, .schwung-hero-v4__lead {
  /*text-shadow:
  	0 1px 2px rgba(3, 38, 46, .30),
  	0 10px 30px rgba(3, 38, 46, .32);*/
}
.schwung-hero-v4 .wp-block-cover__inner-container {
  position: static;
  padding-top: 120px;
  padding-bottom: 90px;
}
.schwung-hero-v4 .wp-block-cover__inner-container > *:not(.schwung-hero-v4__cue):not(.schwung-tileband) {
  position: relative;
  z-index: 2;
}
.schwung-hero-v4 h1 {
  font-size: clamp(50px, 7vw, 104px);
  letter-spacing: -0.045em;
  line-height: 0.95;
}
.schwung-hero-v4 h1 em {
  font-style: normal;
  color: var(--wp--custom--hero-accent);
}
.schwung-hero-v4__lead {
  font-size: clamp(18px, 1.5vw, 23px);
  line-height: 1.55;
  max-width: 600px;
  margin-inline: auto;
  opacity: 0.92;
}
.schwung-hero-v4__actions .schwung-btn .wp-element-button {
  padding: 17px 32px;
  font-size: 16px;
}
.schwung-hero-v4__cue {
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: rgba(0, 0, 0, 0.8);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
}
.schwung-hero-v4__cue .line {
  width: 1px;
  height: 48px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
  animation: schwung-cuepulse 2.2s ease-in-out infinite;
  transform-origin: top;
}
.schwung-hero-v4__band {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  height: 8px;
  max-width: none;
}

@keyframes schwung-cuepulse {
  0%, 100% {
    transform: scaleY(0.5);
    opacity: 0.5;
  }
  50% {
    transform: scaleY(1);
    opacity: 1;
  }
}
.schwung-btn--white .wp-element-button {
  background: var(--white);
  color: var(--ink);
}
.schwung-btn--white .wp-element-button:hover {
  background: var(--turkis);
  color: var(--white);
}

.schwung-saeule {
  display: flex;
  flex-direction: column;
  transition: background 0.25s ease;
}
.schwung-saeule:hover {
  background: var(--surface) !important;
}
.schwung-saeule__photo {
  position: relative;
  margin: 0;
}
.schwung-saeule__photo img {
  width: 100%;
  aspect-ratio: 4 / 3;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.schwung-saeule__photo::after {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 18px;
  left: 18px;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.92);
}
.schwung-saeule__body {
  padding: 34px 34px 36px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.schwung-saeule__num {
  font-family: var(--ff-head) !important;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--turkis);
  margin-bottom: 16px;
}
.schwung-saeule__body h3 {
  font-size: 27px;
  letter-spacing: -0.025em;
}
.schwung-saeule__desc {
  margin-top: 14px;
  font-size: 15.5px;
  line-height: 1.62;
  color: var(--body);
  flex: 1;
}
.schwung-saeule__link {
  margin-top: 26px;
}

.schwung-saeulen__grid .schwung-saeule:nth-child(1) .schwung-saeule__photo::after {
  background: var(--t-tuerkis);
}
.schwung-saeulen__grid .schwung-saeule:nth-child(2) .schwung-saeule__photo::after {
  background: var(--t-koralle);
}
.schwung-saeulen__grid .schwung-saeule:nth-child(3) .schwung-saeule__photo::after {
  background: var(--t-gold);
}

.schwung-logos__cap {
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
}
.schwung-logos__chip {
  min-height: 88px;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--hairline);
  background: var(--white);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: 16px;
  color: var(--muted);
  letter-spacing: -0.01em;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.schwung-logos__chip:hover {
  color: var(--ink);
  border-color: var(--ink);
}
.schwung-logos__chip--more, .schwung-logos__more {
  border-style: dashed;
  color: var(--turkis-dark);
}
.schwung-logos__chip--more:hover, .schwung-logos__more:hover {
  color: var(--turkis);
  border-color: var(--turkis);
}
.schwung-logos__tile {
  min-height: 112px;
  margin: 0;
  padding: 18px 20px;
}
.schwung-logos__tile a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.schwung-logos__tile a:focus-visible {
  outline: 2px solid var(--turkis);
  outline-offset: 3px;
}
.schwung-logos__tile img {
  width: auto;
  height: auto;
  max-width: 78%;
  max-height: 72px;
  -o-object-fit: contain;
     object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.62;
  transition: filter 0.25s ease, opacity 0.25s ease;
}
.schwung-logos__tile:hover img,
.schwung-logos__tile a:focus-visible img {
  filter: grayscale(0%);
  opacity: 1;
}
.schwung-logos__more {
  min-height: 112px;
  cursor: pointer;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}
.schwung-logos__more:focus-visible {
  outline: 2px solid var(--turkis);
  outline-offset: 3px;
}
.schwung-logos__more[hidden] {
  display: none;
}
@media (max-width: 1024px) {
  .schwung-founders .schwung-logos__row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .schwung-founders .schwung-logos__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.schwung-logos__row.is-collapsed .schwung-logos__tile--more {
  display: none;
}
.schwung-logos__row:not(.is-collapsed) .schwung-logos__more {
  order: 99;
}

@media (prefers-reduced-motion: reduce) {
  .schwung-logos__tile img {
    transition: none;
  }
}
.schwung-cpt__label {
  font-family: var(--ff-head) !important;
  font-weight: 600;
  font-size: 22px;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 13px;
}
.schwung-cpt__label::before {
  width: 13px;
  height: 13px;
}

.schwung-cpt--events .schwung-cpt__label::before {
  background: var(--t-tuerkis);
}

.schwung-cpt--news .schwung-cpt__label::before {
  background: var(--t-koralle);
}

.schwung-postgrid > li {
  display: flex;
}

.schwung-post {
  display: flex;
  flex-direction: column;
}
.schwung-post__thumb {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
}
.schwung-post__img {
  margin: 0;
}
.schwung-post__img img {
  width: 100%;
  aspect-ratio: 16 / 10;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.schwung-post:hover .schwung-post__img img {
  transform: scale(1.05);
}
.schwung-post__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  background: var(--white);
  border-radius: var(--radius);
  padding: 8px 12px 7px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(28, 28, 28, 0.14);
  min-width: 52px;
}
.schwung-post__badge > p {
  margin: 0;
}
.schwung-post__badge b,
.schwung-post__badge > p:first-of-type {
  display: block;
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: 22px;
  color: var(--ink);
  line-height: 1;
  letter-spacing: -0.03em;
}
.schwung-post__badge span,
.schwung-post__badge > p:last-of-type {
  display: block;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--turkis);
  margin-top: 4px;
}
.schwung-post__body {
  padding-top: 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.schwung-post__meta {
  font-size: 11.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px;
}
.schwung-post__meta > * {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
}
.schwung-post__meta span,
.schwung-post__meta .schwung-post__cat {
  color: var(--turkis);
  font-weight: 600;
}
.schwung-post__body h4 a {
  color: inherit;
  text-decoration: none;
}
.schwung-post__body h4 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.28;
  color: var(--ink);
  transition: color 0.2s ease;
}
.schwung-post:hover .schwung-post__body h4 {
  color: var(--turkis-dark);
}
.schwung-post__excerpt {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--body);
  flex: 1;
}
.schwung-post__more {
  margin-top: 8px;
}
.schwung-post__more a {
  font-size: 14px;
  font-weight: 500;
  color: var(--turkis-dark);
  text-decoration: none;
}
.schwung-post__more a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.schwung-cpt--news .schwung-postgrid > *:nth-child(1) .schwung-post__thumb::after {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.9);
  background: var(--t-limette);
}
.schwung-cpt--news .schwung-postgrid > *:nth-child(2) .schwung-post__thumb::after {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.9);
  background: var(--t-gold);
}
.schwung-cpt--news .schwung-postgrid > *:nth-child(3) .schwung-post__thumb::after {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.9);
  background: var(--t-violett);
}

@media (max-width: 920px) {
  .schwung-hero-v4__cue {
    display: none;
  }
  .schwung-subpage-hero__inner {
    padding-top: 120px;
    padding-bottom: 40px;
  }
}
/* #endregion Startseite v4 */
/* #region Beratung */
.schwung-subpage-hero {
  align-items: flex-end;
  min-height: 52svh;
}
.schwung-subpage-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(28, 28, 28, 0.34) 0%, rgba(28, 28, 28, 0) 34%, rgba(28, 28, 28, 0) 46%, rgba(28, 28, 28, 0.82) 100%), linear-gradient(80deg, rgba(28, 28, 28, 0.6) 0%, rgba(28, 28, 28, 0.12) 52%, rgba(28, 28, 28, 0) 74%);
}
.schwung-subpage-hero .wp-block-cover__inner-container {
  position: static;
}
.schwung-subpage-hero h1 {
  font-size: clamp(40px, 5vw, 68px);
  letter-spacing: -0.04em;
  line-height: 0.98;
}
.schwung-subpage-hero h1 em {
  font-style: normal;
  color: var(--wp--custom--hero-accent);
}
.schwung-subpage-hero__inner {
  position: relative;
  z-index: 2;
  padding-top: 140px;
  padding-bottom: 52px;
}
.schwung-subpage-hero__inner > * {
  max-width: 680px;
}
.schwung-subpage-hero__lead {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.55;
  max-width: 540px;
  opacity: 0.92;
  text-wrap: pretty;
}
.schwung-subpage-hero__band {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  height: 8px;
  max-width: none;
}

.schwung-hero-subbar__inner {
  gap: 20px 32px;
}

.schwung-facts {
  gap: 32px;
  align-items: center;
}
.schwung-facts .schwung-fact:nth-child(1)::before {
  background: var(--t-tuerkis);
}
.schwung-facts .schwung-fact:nth-child(2)::before {
  background: var(--t-koralle);
}
.schwung-facts .schwung-fact:nth-child(3)::before {
  background: var(--t-gold);
}
.schwung-facts .schwung-fact {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0;
  font-size: 14px;
  color: var(--body);
}
.schwung-facts .schwung-fact::before {
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
}
.schwung-facts .schwung-fact strong {
  color: var(--ink);
  font-weight: 600;
}

.schwung-spr__copy h2 {
  font-size: clamp(30px, 3.4vw, 44px);
}
.schwung-spr__copy p {
  max-width: 420px;
}

.schwung-spr-card {
  border: 1px solid var(--field-line);
  border-radius: var(--radius);
  overflow: hidden;
}
.schwung-spr-card__head {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0;
  padding: 18px 24px;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: 15px;
  color: var(--ink);
}
.schwung-spr-card__head::before {
  width: 12px;
  height: 12px;
  background: var(--t-tuerkis);
  flex: 0 0 auto;
}

.schwung-spr-row {
  padding: 15px 24px;
  border-bottom: 1px solid var(--hairline);
  font-size: 15px;
}
.schwung-spr-row p {
  margin: 0;
}
.schwung-spr-row__day {
  color: var(--ink);
}
.schwung-spr-row__time {
  font-family: var(--ff-head);
  font-weight: 600;
  color: var(--turkis-dark);
  letter-spacing: -0.01em;
}
.schwung-spr-row:last-child {
  border-bottom: 0;
}
.schwung-spr-row--closed .schwung-spr-row__time {
  color: var(--muted);
  font-family: var(--ff-body);
  font-weight: 400;
}

.schwung-berater__photo {
  margin: 0;
  position: relative;
}
.schwung-berater__photo img {
  width: 100%;
  aspect-ratio: 3 / 4;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--radius);
  display: block;
}
.schwung-berater__photo::after {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  width: 16px;
  height: 16px;
  background: var(--t-koralle);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.92);
}

.schwung-berater__quote {
  margin: 0;
  font-family: var(--ff-head);
  font-weight: 500;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.34;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.schwung-berater__quote::before {
  content: "„";
  color: var(--turkis);
}
.schwung-berater__quote::after {
  content: "“";
  color: var(--turkis);
}

.schwung-berater__by {
  margin-top: 24px;
  font-size: 14.5px;
  color: var(--body);
}
.schwung-berater__by strong {
  color: var(--ink);
  font-weight: 600;
}

.schwung-berater__contact {
  margin-top: 26px;
  gap: 26px;
}

/* #endregion Beratung */
/* #region Neuigkeiten (Archiv & Single) */
.schwung-home .schwung-postgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px 34px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.schwung-postcard {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.schwung-postcard__thumb {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--surface);
}
.schwung-postcard__img {
  margin: 0;
  position: absolute;
  inset: 0;
}
.schwung-postcard__img a,
.schwung-postcard__img img {
  display: block;
  width: 100%;
  height: 100%;
}
.schwung-postcard__img img {
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.schwung-postcard:hover .schwung-postcard__img img {
  transform: scale(1.05);
}
.schwung-postcard__marker {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  background: var(--turkis);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.9);
}
.schwung-postcard__body {
  padding-top: 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.schwung-postcard__meta {
  gap: 10px;
  align-items: center;
  margin-bottom: 11px;
  font-size: 11.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.schwung-postcard__meta a {
  text-decoration: none;
}
.schwung-postcard__cat a {
  color: var(--turkis);
  font-weight: 600;
}
.schwung-postcard__date {
  color: var(--muted);
}
.schwung-postcard__date::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--muted);
  vertical-align: middle;
  margin-right: 10px;
}
.schwung-postcard .wp-block-post-title {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.28;
}
.schwung-postcard .wp-block-post-title a {
  color: var(--ink);
  text-decoration: none;
  transition: color 0.2s ease;
}
.schwung-postcard:hover .wp-block-post-title a {
  color: var(--turkis-dark);
}
.schwung-postcard__excerpt {
  margin-top: 11px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--body);
  flex: 1;
}
.schwung-postcard__excerpt p {
  margin: 0;
}
.schwung-postcard__more.wp-block-read-more {
  margin-top: 18px;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--turkis-dark);
  text-decoration: none;
}

.wp-block-post.category-flaechen .schwung-postcard__marker {
  background: var(--t-limette);
}
.wp-block-post.category-netzwerk .schwung-postcard__marker {
  background: var(--t-gold);
}
.wp-block-post.category-beratung .schwung-postcard__marker {
  background: var(--t-violett);
}
.wp-block-post.category-haus .schwung-postcard__marker {
  background: var(--t-koralle);
}

.schwung-archive__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  padding: 22px 0;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}

.schwung-chips {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.schwung-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--ff-body);
  font-size: 13.5px;
  font-weight: 500;
  padding: 9px 16px;
  border: 1px solid var(--hairline);
  background: var(--white);
  color: var(--body);
  border-radius: var(--radius);
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  text-decoration: none;
}
.schwung-chip:hover {
  border-color: var(--ink);
  color: var(--ink);
}
.schwung-chip.is-active {
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
}
.schwung-chip__marker {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
}
.schwung-chip.is-active .schwung-chip__marker {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
}

.schwung-archive__result {
  font-size: 13.5px;
  color: var(--muted);
  letter-spacing: 0.02em;
}
.schwung-archive__result b {
  color: var(--ink);
  font-weight: 600;
}

.schwung-newsquery {
  margin-top: 48px;
}

.schwung-archive__empty {
  padding: 72px 0;
  text-align: center;
  color: var(--muted);
}
.schwung-archive__empty h3 {
  color: var(--ink);
  font-size: 22px;
  margin-bottom: 10px;
}

.schwung-archive__note {
  margin: 0;
}

.schwung-pagination {
  gap: 6px;
  font-size: 14px;
}
.schwung-pagination .wp-block-query-pagination-previous,
.schwung-pagination .wp-block-query-pagination-next {
  color: var(--turkis-dark);
  font-weight: 500;
  text-decoration: none;
}
.schwung-pagination .page-numbers {
  padding: 6px 11px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  color: var(--body);
  text-decoration: none;
}
.schwung-pagination .page-numbers.current {
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
}
.schwung-pagination .page-numbers:hover {
  border-color: var(--ink);
}

.schwung-post-hero {
  min-height: 60svh;
}
.schwung-post-hero .schwung-subpage-hero__inner > * {
  max-width: 860px;
}
.schwung-post-hero .wp-block-post-title {
  color: var(--white);
  font-size: clamp(34px, 4.4vw, 60px);
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin: 0;
}

.schwung-post-crumbs {
  gap: 10px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
}
.schwung-post-crumbs a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
}
.schwung-post-crumbs a:hover {
  color: var(--white);
}
.schwung-post-crumbs__trail {
  margin: 0;
}
.schwung-post-crumbs__trail span {
  opacity: 0.5;
  margin-left: 6px;
}

.schwung-cat-pill a {
  display: inline-flex;
  align-items: center;
  background: var(--turkis);
  color: var(--white);
  padding: 5px 12px;
  border-radius: var(--radius);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  text-decoration: none;
}

.schwung-post-herometa {
  gap: 18px;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 14.5px;
}
.schwung-post-herometa .wp-block-post-date,
.schwung-post-herometa time {
  color: rgba(255, 255, 255, 0.9);
}
.schwung-post-herometa__author {
  position: relative;
  color: rgba(255, 255, 255, 0.9);
}
.schwung-post-herometa__author::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  vertical-align: middle;
  margin-right: 18px;
}

.schwung-article__grid {
  align-items: flex-start;
}

.schwung-prose {
  max-width: 680px;
}
.schwung-prose .schwung-lead {
  font-size: 21px;
  line-height: 1.6;
  font-weight: 300;
  color: var(--ink);
  margin-bottom: 34px;
}
.schwung-prose p {
  font-size: 17.5px;
  line-height: 1.75;
  margin-bottom: 24px;
  color: var(--body);
}
.schwung-prose h2 {
  font-size: 30px;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 46px 0 18px;
}
.schwung-prose h3 {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 36px 0 14px;
}
.schwung-prose ul,
.schwung-prose ol {
  margin: 0 0 24px;
  padding-left: 0;
  list-style: none;
}
.schwung-prose li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 12px;
  font-size: 17px;
  line-height: 1.7;
  color: var(--body);
}
.schwung-prose ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 8px;
  height: 8px;
  background: var(--turkis);
}
.schwung-prose a {
  color: var(--turkis-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.schwung-prose a:hover {
  color: var(--turkis);
}
.schwung-prose blockquote {
  margin: 34px 0;
  padding: 6px 0 6px 28px;
  border-left: 3px solid var(--turkis);
  font-family: var(--ff-head);
  font-weight: 500;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.schwung-prose blockquote p {
  font-size: inherit;
  color: inherit;
  margin: 0;
}
.schwung-prose figure {
  margin: 34px 0;
}
.schwung-prose figure img {
  width: 100%;
  border-radius: var(--radius);
  display: block;
}
.schwung-prose figcaption {
  margin-top: 10px;
  font-size: 13px;
  color: var(--muted);
  letter-spacing: 0.02em;
  text-align: left;
}

.schwung-article__foot {
  gap: 20px;
}

.schwung-tags {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
}
.schwung-tags a {
  font-size: 13px;
  color: var(--body);
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  padding: 7px 13px;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.schwung-tags a:hover {
  border-color: var(--ink);
  color: var(--ink);
}

.schwung-share {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.schwung-share__lbl {
  font-size: 13px;
  color: var(--muted);
}
.schwung-share a {
  width: 34px;
  height: 34px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: var(--body);
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.schwung-share a:hover {
  border-color: var(--turkis);
  color: var(--turkis-dark);
}

.schwung-post-side {
  position: sticky;
  top: 104px;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.schwung-side-card {
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  background: var(--white);
  overflow: hidden;
}
.schwung-side-card__head {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0;
  padding: 18px 22px;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: 15px;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.schwung-side-card__head::before {
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
}
.schwung-side-card__head--info::before {
  background: var(--t-limette);
}
.schwung-side-card__head--author::before {
  background: var(--t-violett);
}
.schwung-side-card__body {
  padding: 8px 22px 22px;
}
.schwung-side-card__cta {
  padding: 0 22px 22px;
}
.schwung-side-card__cta .wp-block-buttons {
  flex-direction: column;
  gap: 10px;
}
.schwung-side-card__cta .wp-block-button,
.schwung-side-card__cta .wp-element-button {
  width: 100%;
}
.schwung-side-card__cta .wp-element-button {
  justify-content: center;
}

.schwung-side-row {
  align-items: flex-start;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--hairline);
}
.schwung-side-row:last-child {
  border-bottom: 0;
}
.schwung-side-row__k {
  margin: 0;
  width: 92px;
  flex: 0 0 auto;
  padding-top: 2px;
  font-size: 11.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.schwung-side-row__v {
  font-size: 15px;
  color: var(--ink);
  line-height: 1.45;
}
.schwung-side-row__v a {
  color: var(--ink);
  text-decoration: none;
}
.schwung-side-row__v a:hover {
  color: var(--turkis-dark);
}
.schwung-side-row__v time {
  color: var(--ink);
}

.schwung-author {
  gap: 14px;
  padding: 20px 22px;
  align-items: center;
}
.schwung-author__avatar img {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: block;
}
.schwung-author__name {
  font-weight: 600;
  color: var(--ink);
  font-size: 15px;
}
.schwung-author__name a {
  color: inherit;
  text-decoration: none;
}

.schwung-related__head {
  gap: 24px;
}

.schwung-sec-head {
  max-width: 720px;
}
.schwung-sec-head h2 {
  font-size: clamp(28px, 3vw, 40px);
}

/* #endregion Neuigkeiten (Archiv & Single) */
/* #region Events (CPT, ACF) */
.schwung-featured-tpl {
  margin: 0;
  padding: 0;
  list-style: none;
}

.schwung-featured {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--white);
  margin-bottom: 48px;
}
.schwung-featured__media {
  position: relative;
  min-height: 340px;
}
.schwung-featured__media .wp-block-post-featured-image {
  margin: 0;
  position: absolute;
  inset: 0;
  height: 100%;
}
.schwung-featured__media .wp-block-post-featured-image a,
.schwung-featured__media .wp-block-post-featured-image img {
  display: block;
  width: 100%;
  height: 100%;
}
.schwung-featured__media .wp-block-post-featured-image img {
  -o-object-fit: cover;
     object-fit: cover;
}
.schwung-featured__badge {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  background: var(--turkis);
  color: var(--white);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: var(--radius);
}
.schwung-featured__body {
  padding: clamp(32px, 4vw, 50px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.schwung-featured__body .schwung-postcard__meta {
  margin-bottom: 16px;
}
.schwung-featured__body .wp-block-post-title {
  margin: 0;
  font-size: clamp(26px, 2.8vw, 36px);
  letter-spacing: -0.025em;
  line-height: 1.12;
}
.schwung-featured__body .wp-block-post-title a {
  color: var(--ink);
  text-decoration: none;
}
.schwung-featured__body .wp-block-post-title:hover a {
  color: var(--turkis-dark);
}
.schwung-featured__body .wp-block-post-excerpt {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--body);
  max-width: 460px;
}
.schwung-featured__body .wp-block-post-excerpt p {
  margin: 0;
}
.schwung-featured__body .wp-block-buttons {
  margin-top: 30px;
}

.schwung-datebadge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  background: var(--white);
  border-radius: var(--radius);
  padding: 8px 12px 7px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(28, 28, 28, 0.14);
  min-width: 52px;
}
.schwung-datebadge__d {
  margin: 0;
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: 22px;
  color: var(--ink);
  line-height: 1;
  letter-spacing: -0.03em;
}
.schwung-datebadge__m {
  margin: 4px 0 0;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--turkis);
}

.schwung-post-herometa__item {
  margin: 0;
  position: relative;
}
.schwung-post-herometa__item:not(:first-child)::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  vertical-align: middle;
  margin-right: 18px;
}

.schwung-side-date {
  gap: 16px;
  align-items: center;
  padding: 20px 22px;
  background: var(--turkis-tint);
  border-bottom: 1px solid var(--hairline);
}
.schwung-side-date__cal {
  flex: 0 0 auto;
  min-width: 58px;
  text-align: center;
  padding: 8px 12px;
  background: var(--white);
  border: 1px solid var(--field-line);
  border-radius: var(--radius);
}
.schwung-side-date__d {
  margin: 0;
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: 26px;
  color: var(--ink);
  line-height: 1;
  letter-spacing: -0.03em;
}
.schwung-side-date__mo {
  margin: 4px 0 0;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--turkis);
}
.schwung-side-date__day {
  margin: 0;
  font-weight: 600;
  color: var(--ink);
  font-size: 15px;
}
.schwung-side-date__time {
  margin: 3px 0 0;
  font-size: 13.5px;
  color: var(--body);
}

.schwung-side-row__loc {
  margin: 0;
  font-weight: 600;
  color: var(--ink);
}

.schwung-side-row__addr {
  margin: 2px 0 0;
  font-size: 14px;
  color: var(--body);
}

.schwung-side-card__head--contact::before {
  background: var(--t-koralle);
}

.schwung-post-herometa__item:empty {
  display: none;
}

.schwung-side-row:has(.schwung-side-row__v:empty) {
  display: none;
}

.schwung-author:has(.schwung-author__name:empty) {
  display: none;
}

p.schwung-author__avatar {
  margin: 0;
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--surface);
  border: 1px solid var(--hairline);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-head);
  font-weight: 600;
  color: var(--turkis);
  font-size: 16px;
}

.schwung-author__name {
  margin: 0;
}

.schwung-author__role {
  margin: 2px 0 0;
  font-size: 13px;
  color: var(--muted);
}

/* #endregion Events (CPT, ACF) */
/* #region Kontakt */
.schwung-hero-subbar__addr {
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--muted);
}

.schwung-kontakt__grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 72px;
  align-items: start;
}

.schwung-kform {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.schwung-kform__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.schwung-kform__field--full {
  grid-column: 1 / -1;
}
.schwung-kform label, .schwung-kform__label {
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--body);
  font-weight: 600;
}
.schwung-kform__req {
  color: var(--turkis);
}
.schwung-kform input,
.schwung-kform textarea {
  width: 100%;
  font-family: var(--ff-body);
  font-size: 16px;
  padding: 14px 16px;
  border: 1px solid var(--hairline);
  background: var(--white);
  border-radius: var(--radius);
  color: var(--ink);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.schwung-kform input::-moz-placeholder, .schwung-kform textarea::-moz-placeholder {
  color: var(--muted);
}
.schwung-kform input::placeholder,
.schwung-kform textarea::placeholder {
  color: var(--muted);
}
.schwung-kform input:focus,
.schwung-kform textarea:focus {
  outline: none;
  border-color: var(--turkis);
  box-shadow: 0 0 0 3px rgba(2, 147, 168, 0.14);
}
.schwung-kform input.is-invalid,
.schwung-kform textarea.is-invalid {
  border-color: var(--t-rot);
}
.schwung-kform textarea {
  resize: vertical;
  min-height: 140px;
  line-height: 1.6;
}
.schwung-kform__anliegen {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.schwung-kform__anliegen label {
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}
.schwung-kform__anliegen input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.schwung-kform__opt {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 16px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  font-size: 14px;
  color: var(--body);
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.schwung-kform__om {
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
}
label:hover .schwung-kform__opt {
  border-color: var(--ink);
  color: var(--ink);
}
input:checked + .schwung-kform__opt {
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
}
.schwung-kform__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.schwung-kform__msg {
  grid-column: 1 / -1;
  display: none;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 22px;
  background: var(--turkis-tint);
  border: 1px solid var(--field-line);
  border-radius: var(--radius);
}
.schwung-kform__msg.is-shown {
  display: flex;
}
.schwung-kform__msg.is-error {
  background: color-mix(in srgb, var(--t-rot) 8%, var(--white));
  border-color: color-mix(in srgb, var(--t-rot) 30%, var(--white));
}
.schwung-kform__msgmarker {
  width: 14px;
  height: 14px;
  margin-top: 3px;
  flex: 0 0 auto;
}
.schwung-kform.is-error .schwung-kform__msgmarker, .schwung-kform__msg.is-error .schwung-kform__msgmarker {
  background: var(--t-rot) !important;
}
.schwung-kform__mt {
  font-family: var(--ff-head);
  font-weight: 600;
  color: var(--ink);
  font-size: 16px;
}
.schwung-kform__ms {
  font-size: 14px;
  margin-top: 4px;
  color: var(--body);
}
.schwung-kform__submit {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.schwung-kform__btn {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-family: var(--ff-body);
  font-weight: 500;
  font-size: 15.5px;
  letter-spacing: 0.01em;
  line-height: 1.3;
  padding: 15px 26px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: var(--turkis);
  color: var(--white);
  cursor: pointer;
  transition: background 0.2s ease;
}
.schwung-kform__btn:hover {
  background: var(--turkis-dark);
}
.schwung-kform__btn:disabled {
  opacity: 0.6;
  cursor: default;
}
.schwung-kform__note {
  margin: 0;
  font-size: 12.5px;
  color: var(--body);
  max-width: 340px;
  line-height: 1.5;
}

.schwung-kinfo {
  border-left: 1px solid var(--hairline);
  padding-left: 48px;
}
.schwung-kinfo .schwung-kinfo__block:nth-child(1) .schwung-kinfo__k::before {
  background: var(--t-tuerkis);
}
.schwung-kinfo .schwung-kinfo__block:nth-child(2) .schwung-kinfo__k::before {
  background: var(--t-koralle);
}
.schwung-kinfo .schwung-kinfo__block:nth-child(3) .schwung-kinfo__k::before {
  background: var(--t-gold);
}
.schwung-kinfo .schwung-kinfo__block:nth-child(4) .schwung-kinfo__k::before {
  background: var(--t-limette);
}
.schwung-kinfo__block {
  padding: 22px 0;
  border-bottom: 1px solid var(--hairline);
}
.schwung-kinfo__block:first-child {
  padding-top: 0;
}
.schwung-kinfo__block--last {
  border-bottom: 0;
}
.schwung-kinfo__k {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}
.schwung-kinfo__k::before {
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
}
.schwung-kinfo__v {
  margin: 0;
  font-size: 16px;
  color: var(--ink);
  line-height: 1.6;
}
.schwung-kinfo__v a {
  color: var(--turkis-dark);
}
.schwung-kinfo__v a:hover {
  color: var(--turkis);
}
.schwung-kinfo__hours {
  max-width: 240px;
  font-size: 15px;
  padding: 3px 0;
  gap: 12px;
}
.schwung-kinfo__hours p {
  margin: 0;
}
.schwung-kinfo__hours p:last-child {
  color: var(--body);
}

.schwung-kmap {
  position: relative;
  margin-top: 26px;
  aspect-ratio: 3 / 2;
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  overflow: hidden;
  background: linear-gradient(0deg, var(--surface), var(--surface)), repeating-linear-gradient(45deg, transparent 0 22px, rgba(2, 147, 168, 0.04) 22px 23px);
}
.schwung-kmap__ph {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--muted);
}
.schwung-kmap__pin {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.schwung-kmap__dot {
  width: 18px;
  height: 18px;
  background: var(--turkis);
  box-shadow: 0 0 0 6px rgba(2, 147, 168, 0.22);
}
.schwung-kmap__lbl {
  background: var(--ink);
  color: var(--white);
  font-size: 12px;
  padding: 6px 12px;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

/* #endregion Kontakt */
/* #region Responsive */
@media (max-width: 1024px) {
  .schwung-home .schwung-postgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 26px;
  }
}
@media (max-width: 960px) {
  .schwung-post-side {
    position: static;
  }
}
@media (max-width: 900px) {
  .schwung-featured {
    grid-template-columns: 1fr;
  }
  .schwung-featured__media {
    min-height: 240px;
  }
  .schwung-kontakt__grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .schwung-kinfo {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid var(--hairline);
    padding-top: 32px;
  }
}
@media (max-width: 560px) {
  .schwung-kform {
    grid-template-columns: 1fr;
  }
}
.schwung-navtoggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  margin-left: 4px;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: var(--ink);
  flex: 0 0 auto;
}
.schwung-navtoggle__bars {
  position: relative;
  display: block;
  width: 22px;
  height: 2px;
  background: currentColor;
  transition: background 0.1s ease;
}
.schwung-navtoggle__bars::before, .schwung-navtoggle__bars::after {
  content: "";
  position: absolute;
  left: 0;
  width: 22px;
  height: 2px;
  background: currentColor;
  transition: transform 0.25s ease;
}
.schwung-navtoggle__bars::before {
  top: -7px;
}
.schwung-navtoggle__bars::after {
  top: 7px;
}

.schwung-header.is-nav-open .schwung-navtoggle__bars {
  background: transparent;
}
.schwung-header.is-nav-open .schwung-navtoggle__bars::before {
  transform: translateY(7px) rotate(45deg);
}
.schwung-header.is-nav-open .schwung-navtoggle__bars::after {
  transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 900px) {
  .schwung-navtoggle {
    display: inline-flex;
  }
  .schwung-header__bar {
    position: relative;
  }
  .schwung-header .schwung-nav {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    z-index: 90;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 6px 0 10px;
    background: color-mix(in srgb, var(--wp--preset--color--base) 97%, transparent);
    backdrop-filter: saturate(140%) blur(12px);
    border-top: 1px solid var(--hairline);
    box-shadow: 0 18px 32px rgba(28, 28, 28, 0.12);
    display: none;
  }
  .schwung-header.is-nav-open .schwung-nav {
    display: flex;
  }
  .schwung-nav p {
    margin: 0;
    width: 100%;
  }
  .schwung-nav a {
    display: block;
    width: 100%;
    padding: 13px 24px;
    font-size: 16px;
    color: var(--ink) !important;
    border-bottom: 0;
  }
  .schwung-nav a:hover {
    color: var(--turkis-dark) !important;
    background: var(--surface);
  }
}
@media (max-width: 640px) {
  .schwung-home .schwung-postgrid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 781px) {
  .schwung-stats__grid .schwung-stat {
    border-left-width: 0 !important;
  }
  .schwung-hero__copy {
    padding-bottom: 0;
  }
}
/* #endregion Responsive */
/* #region 404 */
.schwung-404 {
  padding: 158px 24px 96px;
  text-align: center;
  overflow: hidden;
}
.schwung-404__inner > * {
  margin-inline: auto;
}
.schwung-404__num {
  font-family: var(--ff-head, inherit);
  font-weight: 800;
  font-size: clamp(88px, 20vw, 190px);
  line-height: 0.86;
  letter-spacing: -0.05em;
  margin: 0 0 32px;
  color: var(--turkis);
}
.schwung-404 h1 {
  font-size: clamp(28px, 4vw, 46px);
  letter-spacing: -0.03em;
  line-height: 1.03;
  margin: 0 0 16px;
}
.schwung-404__lead {
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.6;
  max-width: 520px;
  margin: 0 auto 32px;
  opacity: 0.9;
  text-wrap: pretty;
}
.schwung-404__actions.wp-block-buttons {
  justify-content: center;
  gap: 14px 18px;
  margin-bottom: 42px;
}
.schwung-404__links {
  gap: 8px 24px;
}
.schwung-404__links p {
  margin: 0;
}
.schwung-404__links a {
  color: var(--wp--preset--color--white);
  opacity: 0.72;
  text-decoration: none;
  font-size: 15px;
  letter-spacing: 0.01em;
  transition: opacity 0.2s ease;
}
.schwung-404__links a:hover {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.schwung-404__band {
  width: min(460px, 88%);
  max-width: 460px;
  margin: 50px auto 0;
}
@media (max-width: 768px) {
  .schwung-404 {
    padding: 126px 20px 74px;
  }
  .schwung-404__band {
    margin-top: 38px;
  }
}

/* #endregion 404 */
/* #endregion SCHWUNG *//*# sourceMappingURL=style.css.map */
/* #region Buchungs-Embed (anny) */
.schwung-booking__lead {
  max-width: 620px;
}

.schwung-embed {
  --embed-h: clamp(620px, 86vh, 1040px);
  position: relative;
  margin-top: var(--wp--preset--spacing--50, 32px);
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--wp--custom--radius);
  background: var(--wp--preset--color--surface);
  overflow: hidden;
  min-height: 320px;
  display: grid;
}
.schwung-embed.is-loaded {
  min-height: var(--embed-h);
  background: var(--wp--preset--color--white);
}
.schwung-embed iframe {
  display: block;
  width: 100%;
  height: var(--embed-h);
  border: 0;
}
.schwung-embed__gate {
  place-self: center;
  max-width: 460px;
  padding: 32px 28px;
  text-align: center;
}
.schwung-embed__head {
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 600;
  font-size: 22px;
  color: var(--wp--preset--color--ink);
  margin: 0 0 10px;
}
.schwung-embed__text {
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--wp--preset--color--body);
  margin: 0 0 22px;
}
.schwung-embed__text b {
  color: var(--wp--preset--color--ink);
  font-weight: 500;
}
.schwung-embed__btn {
  font-family: var(--wp--preset--font-family--body);
  font-weight: 500;
  font-size: 15.5px;
  line-height: 1.3;
  padding: 15px 26px;
  border: 0;
  border-radius: var(--wp--custom--radius);
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  cursor: pointer;
  transition: background 0.2s ease;
}
.schwung-embed__btn:hover {
  background: var(--wp--preset--color--primary-dark);
}
.schwung-embed__btn:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary-dark);
  outline-offset: 3px;
}
.schwung-embed__alt {
  margin: 18px 0 0;
  font-size: 13.5px;
}
.schwung-embed__alt a {
  color: var(--wp--preset--color--primary-dark);
}

.no-js .schwung-embed__btn {
  display: none;
}

/* #endregion Buchungs-Embed (anny) */
