body.home {
  background: var(--stadtundspiel-cream);
}

body.home :is(#projektatlas, #neues, #themen, #service, #partner, #ueber_uns, #kontakt) {
  scroll-margin-top: 7.25rem;
}

body.home :is(
  .stadtundspiel-home-news,
  .stadtundspiel-home-service,
  .stadtundspiel-home-downloads,
  .stadtundspiel-home-partners,
  .stadtundspiel-home-contact,
  .stadtundspiel-home-team
) {
  padding: var(--stadtundspiel-section-space) clamp(1.25rem, 5vw, 5rem) !important;
}

body.home :is(
  .stadtundspiel-home-news,
  .stadtundspiel-home-service,
  .stadtundspiel-home-downloads,
  .stadtundspiel-home-partners,
  .stadtundspiel-home-contact,
  .stadtundspiel-home-team
) > :is(.e-con-inner, .elementor-element),
body.home :is(
  .stadtundspiel-home-news,
  .stadtundspiel-home-service,
  .stadtundspiel-home-downloads,
  .stadtundspiel-home-partners,
  .stadtundspiel-home-contact,
  .stadtundspiel-home-team
) .e-con-inner {
  margin-inline: auto;
  max-width: var(--stadtundspiel-content);
}

body.home :is(.h2-border-left, .h2-border-right) {
  border: 0 !important;
}

body.home :is(.h2-border-left, .h2-border-right)::before {
  background: var(--stadtundspiel-red);
  content: "";
  display: inline-block;
  height: 0.08em;
  margin: 0 0.25em 0.16em 0;
  width: 0.65em;
}

body.home .stadtundspiel-section-title__subtitle {
  color: var(--stadtundspiel-section-title-accent, var(--stadtundspiel-green)) !important;
}

/* News */
body.home .stadtundspiel-home-news {
  background: var(--stadtundspiel-paper);
  padding-block: clamp(4.5rem, 7vw, 7rem) !important;
}

/* Three disciplines */
body.home .stadtundspiel-home-themes {
  align-items: start;
  background: var(--stadtundspiel-cream) !important;
  display: grid !important;
  column-gap: clamp(3rem, 5vw, 5rem) !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(28rem, 0.96fr);
  row-gap: 0 !important;
  padding: var(--stadtundspiel-section-space) max(1.25rem, calc((100vw - var(--stadtundspiel-content)) / 2)) !important;
}

body.home .stadtundspiel-home-themes > .elementor-widget-stadtundspiel-section-title {
  color: var(--stadtundspiel-forest);
  grid-column: 1 / -1;
  margin: 0 auto clamp(4rem, 8vw, 8rem);
  max-width: var(--stadtundspiel-content);
  width: 100%;
}

body.home .stadtundspiel-home-themes > .stadtundspiel-theme-story {
  background: transparent !important;
  border: 0;
  border-radius: 0;
  display: contents !important;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story,
body.home .stadtundspiel-home-themes .stadtundspiel-theme-story * {
  border-left: 0 !important;
  border-right: 0 !important;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content::before,
body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content::after {
  border: 0 !important;
  content: none !important;
  display: none !important;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__media {
  display: grid !important;
  gap: clamp(0.65rem, 1vw, 0.9rem) !important;
  grid-column: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(0, 2fr) minmax(9rem, 1fr);
  grid-row: 2 / 5;
  height: min(42rem, calc(100svh - 10rem));
  isolation: isolate;
  min-height: 32rem;
  overflow: visible;
  position: sticky;
  top: 8rem;
  width: 100%;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__media::before {
  background: var(--stadtundspiel-moss-light);
  border-bottom: 2px solid var(--stadtundspiel-project-red);
  content: "";
  inset: clamp(1rem, 1.8vw, 1.5rem) clamp(-1rem, -1.2vw, -0.75rem) clamp(-1rem, -1.2vw, -0.75rem) clamp(1rem, 1.8vw, 1.5rem);
  position: absolute;
  z-index: 0;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content > .stadtundspiel-motif--theme {
  position: absolute;
  right: -5%;
  top: clamp(2rem, 7vh, 5rem);
  width: clamp(14rem, 25vw, 25rem);
  z-index: 0;
}

body.home .stadtundspiel-home-themes .stadtundspiel-motif--theme-city {
  right: -7%;
  top: clamp(2rem, 6vh, 4.5rem);
}

body.home .stadtundspiel-home-themes .stadtundspiel-motif--theme-play {
  right: -9%;
  top: clamp(1.5rem, 5vh, 4rem);
}

body.home .stadtundspiel-home-themes .stadtundspiel-motif--theme-sport {
  right: -8%;
  top: clamp(2rem, 6vh, 4.5rem);
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__media > .elementor-widget-image {
  min-height: 0;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__media > .stadtundspiel-theme-story__image--main {
  grid-column: 1 / 3;
  grid-row: 1;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__media > .stadtundspiel-theme-story__image--support-1 {
  grid-column: 1;
  grid-row: 2;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__media > .stadtundspiel-theme-story__image--support-2 {
  grid-column: 2;
  grid-row: 2;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__media :is(.elementor-widget-image, .elementor-widget-container) {
  height: 100%;
}

@media (min-width: 1025px) {
  body.home .stadtundspiel-home-themes :is(.stadtundspiel-theme-story__media--2, .stadtundspiel-theme-story__media--3) {
    opacity: 0;
  }
}

body.home .stadtundspiel-home-themes.is-enhanced .stadtundspiel-theme-story__media {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.985);
  transition: opacity 480ms ease, transform 700ms cubic-bezier(.2,.7,.2,1);
}

body.home .stadtundspiel-home-themes.is-enhanced .stadtundspiel-theme-story__media.is-active {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content {
  align-content: center;
  background: transparent !important;
  border: 0 !important;
  color: var(--stadtundspiel-forest);
  grid-column: 2;
  min-height: max(44rem, 92svh);
  padding: clamp(3rem, 6vw, 6rem) 0 !important;
  justify-content: flex-start !important;
  position: relative;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content > :not(.stadtundspiel-motif--theme) {
  position: relative;
  z-index: 1;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content--1 { grid-row: 2; }
body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content--2 { grid-row: 3; }
body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content--3 { grid-row: 4; }

body.home .stadtundspiel-home-themes.is-enhanced .stadtundspiel-theme-story__content {
  opacity: 0.32;
  transform: translateY(2rem);
  transition: opacity 320ms ease, transform 480ms cubic-bezier(.2,.7,.2,1);
}

body.home .stadtundspiel-home-themes.is-enhanced .stadtundspiel-theme-story__content.is-active {
  opacity: 1;
  transform: translateY(0);
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content :is(h2, h3) {
  color: var(--stadtundspiel-green) !important;
  font-size: clamp(3.5rem, 6vw, 6.5rem) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  line-height: 0.92;
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem) !important;
  padding-right: 0;
  text-transform: uppercase;
  word-break: normal;
}

body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content p {
  color: rgb(23 35 29 / 76%);
  font-size: clamp(1.125rem, 1.28vw, 1.25rem);
  line-height: 1.68;
  margin: 0;
  max-width: 56ch;
}

body.home .stadtundspiel-home-themes img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.home .stadtundspiel-theme-story--city .stadtundspiel-theme-story__image--main img {
  object-position: 48% center;
}

body.home .stadtundspiel-theme-story--play .stadtundspiel-theme-story__image--main img {
  object-position: 53% center;
}

body.home .stadtundspiel-theme-story--sport .stadtundspiel-theme-story__image--main img {
  object-position: 52% center;
}

/* Services */
body.home .stadtundspiel-home-service {
  align-items: start;
  background: var(--stadtundspiel-forest-2);
  color: var(--stadtundspiel-cream);
  display: grid !important;
  gap: 1rem !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-block: clamp(5rem, 8vw, 8rem) !important;
}

body.home .stadtundspiel-home-service > .stadtundspiel-home-service__header {
  align-items: start;
  color: var(--stadtundspiel-cream);
  grid-column: 1 / -1;
  margin: 0 0 clamp(2.5rem, 6vw, 5rem);
  position: relative;
  top: auto;
}

body.home .stadtundspiel-home-service .stadtundspiel-section-title__subtitle {
  color: var(--stadtundspiel-moss) !important;
  font-size: 0.75rem;
  font-weight: 600;
  gap: 0.65rem;
  letter-spacing: 0.16em;
  line-height: 1.5;
  margin: 0 0 1rem;
}

body.home .stadtundspiel-home-service .stadtundspiel-section-title__subtitle::before {
  background: currentColor;
  flex-basis: 2rem;
  height: 1px;
}

body.home .stadtundspiel-home-service .stadtundspiel-section-title__title {
  color: var(--stadtundspiel-cream) !important;
  font-size: clamp(2.5rem, 4.8vw, 5.25rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.025em !important;
  line-height: 0.94;
  max-width: 18ch;
}

body.home .stadtundspiel-home-service .stadtundspiel-section-title-layout__intro {
  border-color: rgb(255 249 234 / 18%);
  color: rgb(255 249 234 / 68%);
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.6;
  max-width: none;
  opacity: 1;
}

body.home .stadtundspiel-home-service > .stadtundspiel-service-card {
  align-self: stretch;
  background: #204034;
  border: 1px solid rgb(255 249 234 / 13%);
  border-radius: var(--stadtundspiel-radius-sm);
  box-shadow: none;
  color: var(--stadtundspiel-cream);
  display: grid !important;
  gap: 0 !important;
  grid-column: auto;
  grid-template-rows: 11rem auto;
  min-height: 100%;
  overflow: hidden;
  position: relative;
  top: auto;
  width: 100%;
}

body.home .stadtundspiel-home-service > .stadtundspiel-service-card--2 { background: #24483a; }
body.home .stadtundspiel-home-service > .stadtundspiel-service-card--3 { background: #294f40; }

body.home .stadtundspiel-home-service > .stadtundspiel-service-card > .stadtundspiel-service-card__media {
  aspect-ratio: auto;
  justify-self: stretch;
  margin: 0;
  min-height: 11rem;
  overflow: hidden;
  width: 100%;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card__media :is(.elementor-widget-image, .elementor-widget-container) {
  height: 100%;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card__body {
  align-content: start;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(1.25rem, 2vw, 2rem) clamp(1.5rem, 2.5vw, 2.5rem) clamp(1.5rem, 2.5vw, 2.5rem) !important;
  position: relative;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card__body > .stadtundspiel-motif--service {
  bottom: -8%;
  position: absolute;
  right: -16%;
  width: 82%;
  z-index: 0;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card__body > :not(.stadtundspiel-motif--service) {
  position: relative;
  z-index: 1;
}

body.home .stadtundspiel-home-service .stadtundspiel-motif--service-planning {
  bottom: -3%;
  right: -12%;
  width: 88%;
}

body.home .stadtundspiel-home-service .stadtundspiel-motif--service-implementation {
  bottom: -4%;
  right: -19%;
  width: 92%;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card__body > .e-con-inner > .stadtundspiel-motif--service {
  position: absolute;
  right: -10%;
  top: 0.5rem;
  width: 50%;
  z-index: 0;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card__body > .e-con-inner > .stadtundspiel-motif--service-consulting {
  top: 8.5rem;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card__body > .e-con-inner {
  position: static;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card__body > .e-con-inner > .stadtundspiel-motif--service-planning {
  right: -8%;
  width: 54%;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card__body > .e-con-inner > .stadtundspiel-motif--service-implementation {
  right: -12%;
  width: 56%;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card__body > .e-con-inner > :not(.stadtundspiel-motif--service) {
  position: relative;
  z-index: 1;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-step-title {
  position: relative;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-step-title::before {
  background: linear-gradient(
    to right,
    var(--stadtundspiel-project-red) 0 2.5rem,
    transparent 2.5rem
  ) left center / 100% 2px no-repeat;
  color: rgb(255 249 234 / 68%);
  content: "01";
  display: block;
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1;
  margin-bottom: 1.15rem;
  padding-left: 3.45rem;
  width: max-content;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card--2 .stadtundspiel-service-step-title::before {
  content: "02";
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card--3 .stadtundspiel-service-step-title::before {
  content: "03";
}

body.home .stadtundspiel-home-service .stadtundspiel-service-step-title h3 {
  color: var(--stadtundspiel-cream) !important;
  font-size: clamp(1.9rem, 2.8vw, 2.8rem) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 0.96 !important;
  margin: 0 0 1.25rem !important;
  text-transform: none !important;
}

body.home .stadtundspiel-home-service .stadtundspiel-service-card img {
  height: 100%;
  object-fit: cover;
  transition: transform 480ms cubic-bezier(.2,.7,.2,1);
  width: 100%;
}

body.home .stadtundspiel-home-service > .stadtundspiel-service-card:hover img {
  transform: scale(1.04);
}

body.home .stadtundspiel-home-service p {
  color: rgb(255 249 234 / 74%);
  font-size: clamp(1rem, 1.15vw, 1.08rem);
  line-height: 1.66;
  margin: 0;
  max-width: 60ch;
}

/* Downloads */
body.home .stadtundspiel-home-downloads {
  background: var(--stadtundspiel-paper) !important;
  color: var(--stadtundspiel-cream);
  gap: clamp(2rem, 4vw, 3.5rem);
}

body.home .stadtundspiel-home-downloads .stadtundspiel-home-downloads__header {
  align-items: start;
  color: var(--stadtundspiel-forest) !important;
}

body.home .stadtundspiel-home-downloads .elementor-loop-container {
  display: grid !important;
  gap: 0.75rem !important;
  grid-auto-flow: row !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  overflow: visible;
}

body.home .stadtundspiel-home-downloads .stadtundspiel-download-card {
  background: var(--stadtundspiel-forest);
  border: 0;
  border-radius: var(--stadtundspiel-radius);
  color: inherit;
  display: grid !important;
  gap: 0 !important;
  grid-template-rows: 13rem auto;
  height: 100% !important;
  justify-content: normal !important;
  min-height: 0 !important;
  min-width: 0 !important;
  overflow: hidden;
  text-decoration: none;
  transition: background 180ms ease, transform 180ms ease;
  width: 100% !important;
}

body.home .stadtundspiel-home-downloads .stadtundspiel-download-card__media {
  height: 13rem !important;
  margin: 0 !important;
  overflow: hidden;
  width: 100% !important;
}

body.home .stadtundspiel-home-downloads .stadtundspiel-download-card__media img {
  display: block;
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

body.home .stadtundspiel-home-downloads .stadtundspiel-download-card__title {
  margin: 0 !important;
  padding: 1.15rem !important;
  text-align: left !important;
}

body.home .stadtundspiel-home-downloads .stadtundspiel-download-card__title h2 {
  color: var(--stadtundspiel-cream) !important;
  font-size: 1.15rem !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em;
  line-height: 1.12;
  margin: 0 !important;
  text-align: left !important;
}

body.home .stadtundspiel-home-downloads .stadtundspiel-download-card:hover {
  background: var(--stadtundspiel-green);
  transform: translateY(-3px);
}

/* Partners */
body.home .stadtundspiel-home-partners {
  background: var(--stadtundspiel-forest-2);
  color: var(--stadtundspiel-cream);
}

body.home .stadtundspiel-home-partners > .elementor-widget-shortcode,
body.home .stadtundspiel-home-partners > .elementor-widget-shortcode > .elementor-widget-container,
body.home .stadtundspiel-home-partners > .elementor-widget-stadtundspiel-manufacturer-wall,
body.home .stadtundspiel-home-partners > .elementor-widget-stadtundspiel-manufacturer-wall > .elementor-widget-container {
  max-width: none;
  width: 100%;
}

.stadtundspiel-manufacturers {
  margin: 0 auto;
  max-width: var(--stadtundspiel-content);
  width: 100%;
}

.stadtundspiel-manufacturers__header {
  align-items: end;
  display: grid;
  gap: clamp(2rem, 7vw, 8rem);
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  margin-bottom: clamp(2.5rem, 6vw, 5rem);
}

.stadtundspiel-manufacturers .stadtundspiel-eyebrow {
  color: var(--stadtundspiel-moss);
}

.stadtundspiel-manufacturers h2 {
  color: var(--stadtundspiel-cream) !important;
  font-size: clamp(2.5rem, 4.8vw, 5.25rem) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: 0.025em !important;
  line-height: 0.94;
  margin: 1rem 0 0;
}

.stadtundspiel-manufacturers h2 em {
  color: var(--stadtundspiel-moss);
  font-style: normal;
}

.stadtundspiel-manufacturers__header > p {
  border-left: 1px solid rgb(255 249 234 / 18%);
  color: rgb(255 249 234 / 68%);
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.6;
  margin: 0;
  padding-left: 1.5rem;
}

.stadtundspiel-manufacturers__grid {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.stadtundspiel-manufacturer-card {
  background: var(--stadtundspiel-cream);
  border-radius: var(--stadtundspiel-radius-lg);
  overflow: hidden;
}

.stadtundspiel-manufacturer-card > a {
  color: var(--stadtundspiel-forest);
  display: block;
  text-decoration: none;
}

.stadtundspiel-manufacturer-card figure {
  aspect-ratio: 16 / 8;
  margin: 0;
  overflow: hidden;
}

.stadtundspiel-manufacturer-card figure img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 420ms cubic-bezier(.2,.7,.2,1);
  width: 100%;
}

.stadtundspiel-manufacturer-card:hover figure img {
  transform: scale(1.025);
}

.stadtundspiel-manufacturer-card__body {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1.2rem 1.35rem 1.35rem;
}

.stadtundspiel-manufacturer-card h3 {
  color: var(--stadtundspiel-forest);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1;
  margin: 0 0 0.35rem;
}

.stadtundspiel-manufacturer-card p {
  color: rgb(23 35 29 / 62%);
  font-size: 0.78rem;
  line-height: 1.35;
  margin: 0;
}

.stadtundspiel-manufacturer-card__arrow {
  align-items: center;
  border: 1px solid var(--stadtundspiel-line);
  border-radius: 50%;
  display: flex;
  height: 2.5rem;
  justify-content: center;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
  width: 2.5rem;
}

.stadtundspiel-manufacturer-card:hover .stadtundspiel-manufacturer-card__arrow {
  background: var(--stadtundspiel-green);
  color: #fff;
  transform: rotate(8deg);
}

/* About */
body.home .stadtundspiel-about {
  color: var(--stadtundspiel-forest);
  overflow: hidden;
  position: relative;
}

body.home .stadtundspiel-about::after {
  color: rgb(23 35 29 / 7%);
  content: "1994";
  font-size: clamp(9rem, 24vw, 22rem);
  font-weight: 600;
  line-height: 0.7;
  pointer-events: none;
  position: absolute;
  right: -0.04em;
  top: 0.3em;
}

body.home .stadtundspiel-about > .e-con-inner {
  gap: clamp(2rem, 3vw, 3rem);
  isolation: isolate;
  position: relative;
  z-index: 1;
}

body.home .stadtundspiel-about > .e-con-inner > .stadtundspiel-motif--about {
  bottom: -1.5rem;
  left: -6%;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 58%, #000 100%);
  position: absolute;
  width: 112%;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 58%, #000 100%);
  z-index: 0;
}

body.home .stadtundspiel-about > .e-con-inner > :not(.stadtundspiel-motif--about) {
  position: relative;
  z-index: 1;
}

body.home .stadtundspiel-about__header {
  color: var(--stadtundspiel-forest);
  max-width: 100%;
}

body.home .stadtundspiel-about__header .stadtundspiel-section-title__title {
  max-width: 18ch;
}

body.home .stadtundspiel-about__stories {
  align-items: start;
  border-top: 1px solid rgb(23 35 29 / 24%);
  padding-top: clamp(2rem, 3vw, 3rem);
}

body.home .stadtundspiel-about__story + .stadtundspiel-about__story {
  border-left: 1px solid rgb(23 35 29 / 18%);
  padding-left: clamp(2rem, 4vw, 4rem);
}

body.home .stadtundspiel-about__story-title .elementor-heading-title {
  color: var(--stadtundspiel-forest) !important;
  font-size: clamp(1.65rem, 2.8vw, 3rem) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  line-height: 0.98 !important;
  margin: 0 !important;
  text-transform: uppercase;
}

@media (min-width: 1025px) {
  body.home .stadtundspiel-about__story-title .elementor-heading-title {
    white-space: nowrap;
  }
}

body.home .stadtundspiel-about__story-kicker {
  margin: 1.25rem 0 1.6rem;
}

body.home .stadtundspiel-about__story-kicker .elementor-heading-title {
  color: var(--stadtundspiel-green) !important;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.4;
  text-transform: uppercase;
}

body.home .stadtundspiel-about__story-copy,
body.home .stadtundspiel-about__story-copy p {
  color: rgb(23 35 29 / 78%);
  font-size: clamp(1rem, 1.2vw, 1.1rem);
  line-height: 1.68;
}

body.home .stadtundspiel-about__story-copy p {
  margin: 0;
}

body.home .stadtundspiel-about__story-copy p + p {
  margin-top: 1.8rem;
}

/* Contact and newsletter */
body.home .stadtundspiel-home-contact {
  background: var(--stadtundspiel-paper);
}

body.home .stadtundspiel-home-contact > .e-con-inner {
  align-items: stretch;
  display: grid !important;
  gap: 1rem;
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
}

body.home .stadtundspiel-home-contact :is(.stadtundspiel-home-contact__form, .stadtundspiel-home-contact__newsletter) {
  border-radius: 0;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(1.75rem, 4vw, 3.5rem) !important;
  position: relative;
}

body.home .stadtundspiel-home-contact :is(.stadtundspiel-home-contact__form, .stadtundspiel-home-contact__newsletter) > .stadtundspiel-motif {
  bottom: -10%;
  position: absolute;
  right: -12%;
  width: 64%;
  z-index: 0;
}

body.home .stadtundspiel-home-contact .stadtundspiel-home-contact__newsletter > .stadtundspiel-motif--newsletter {
  bottom: -7%;
  right: -25%;
  width: 102%;
}

body.home .stadtundspiel-home-contact :is(.stadtundspiel-home-contact__form, .stadtundspiel-home-contact__newsletter) > .e-con-inner > .stadtundspiel-motif {
  position: absolute;
  right: -10%;
  top: 1.25rem;
  width: 58%;
  z-index: 0;
}

body.home .stadtundspiel-home-contact .stadtundspiel-home-contact__newsletter > .e-con-inner > .stadtundspiel-motif--newsletter {
  right: -23%;
  top: 1rem;
  width: 94%;
}

body.home .stadtundspiel-home-contact :is(.stadtundspiel-home-contact__form, .stadtundspiel-home-contact__newsletter) > .e-con-inner > :not(.stadtundspiel-motif) {
  position: relative;
  z-index: 1;
}

body.home .stadtundspiel-home-contact :is(.stadtundspiel-home-contact__form, .stadtundspiel-home-contact__newsletter) > :not(.stadtundspiel-motif) {
  position: relative;
  z-index: 1;
}

body.home .stadtundspiel-home-contact .stadtundspiel-home-contact__form {
  background: var(--stadtundspiel-cream);
  border-radius: var(--stadtundspiel-radius-lg) 0 0 var(--stadtundspiel-radius-lg);
}

body.home .stadtundspiel-home-contact .stadtundspiel-home-contact__newsletter {
  align-content: center;
  background: var(--stadtundspiel-red);
  border-radius: 0 var(--stadtundspiel-radius-lg) var(--stadtundspiel-radius-lg) 0;
  color: #fff;
}

body.home .stadtundspiel-home-contact .stadtundspiel-home-contact__form {
  color: var(--stadtundspiel-forest);
}

body.home .stadtundspiel-home-contact :is(.stadtundspiel-home-contact__form, .stadtundspiel-home-contact__newsletter) > .elementor-widget-stadtundspiel-section-title {
  margin: 0 0 clamp(2rem, 4vw, 3.5rem) !important;
}

body.home .stadtundspiel-home-contact :is(.stadtundspiel-home-contact__form, .stadtundspiel-home-contact__newsletter) .stadtundspiel-section-title__title {
  font-size: clamp(2.35rem, 3.6vw, 3.8rem) !important;
}

body.home .stadtundspiel-home-contact .stadtundspiel-home-contact__newsletter .stadtundspiel-section-title {
  --stadtundspiel-section-title-accent: rgb(255 255 255 / 72%);
}

body.home .stadtundspiel-home-contact .stadtundspiel-newsletter-signup p {
  color: rgb(255 255 255 / 82%);
}

body.home .stadtundspiel-home-contact .stadtundspiel-newsletter-signup__button {
  background: var(--stadtundspiel-forest);
}

body.home .stadtundspiel-home-contact .elementor-field {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgb(23 35 29 / 35%) !important;
  border-radius: 0 !important;
  min-height: 3.2rem;
  padding-inline: 0 !important;
}

body.home .stadtundspiel-home-contact textarea.elementor-field {
  border: 1px solid rgb(23 35 29 / 24%) !important;
  border-radius: 1rem !important;
  padding: 0.85rem !important;
}

body.home .stadtundspiel-home-contact .elementor-button {
  background: var(--stadtundspiel-forest) !important;
  border-radius: 999px !important;
  color: var(--stadtundspiel-cream) !important;
  padding: 0.85rem 1.35rem !important;
}

/* Team */
body.home .stadtundspiel-home-team {
  background: var(--stadtundspiel-cream);
  gap: clamp(2rem, 4vw, 3.5rem);
}

body.home .stadtundspiel-home-team .stadtundspiel-home-team__header {
  align-items: start;
  color: var(--stadtundspiel-forest);
  isolation: isolate;
  min-height: clamp(9rem, 14vw, 13rem);
  overflow: hidden;
  position: relative;
}

body.home .stadtundspiel-home-team__header > .stadtundspiel-motif--team {
  bottom: -30%;
  position: absolute;
  right: -1%;
  width: clamp(22rem, 42vw, 38rem);
  z-index: 0;
}

body.home .stadtundspiel-home-team__header > :not(.stadtundspiel-motif--team) {
  position: relative;
  z-index: 1;
}

body.home .stadtundspiel-home-team__header > .e-con-inner {
  position: relative;
  width: 100%;
}

body.home .stadtundspiel-home-team__header > .e-con-inner > .stadtundspiel-motif--team {
  bottom: -30%;
  position: absolute;
  right: -1%;
  width: clamp(22rem, 42vw, 38rem);
  z-index: 0;
}

body.home .stadtundspiel-home-team__header > .e-con-inner > :not(.stadtundspiel-motif--team) {
  position: relative;
  z-index: 1;
}

body.home .stadtundspiel-home-team .stadtundspiel-home-team__grid > .e-con-inner {
  display: grid !important;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.home .stadtundspiel-home-team .elementor-widget-image {
  background: var(--stadtundspiel-paper);
  border-radius: var(--stadtundspiel-radius-lg);
  overflow: hidden;
  position: relative;
}

body.home .stadtundspiel-home-team img {
  filter: saturate(0.72);
  transition: filter 220ms ease, transform 300ms ease;
}

body.home .stadtundspiel-home-team .elementor-widget-image:hover img {
  filter: saturate(1);
  transform: scale(1.025);
}

@media (prefers-reduced-motion: reduce) {
  body.home .stadtundspiel-home-themes.is-enhanced :is(.stadtundspiel-theme-story__media, .stadtundspiel-theme-story__content) {
    transition: none;
  }
}

/* Elementor canvas: keep every rebuilt story directly visible and editable. */
body.elementor-editor-active.home .stadtundspiel-home-themes {
  display: flex !important;
  gap: clamp(3rem, 6vw, 5rem) !important;
}

body.elementor-editor-active.home .stadtundspiel-home-themes > .stadtundspiel-theme-story {
  display: grid !important;
  gap: clamp(2rem, 4vw, 4rem) !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(24rem, 0.96fr);
}

body.elementor-editor-active.home .stadtundspiel-home-themes .stadtundspiel-theme-story__media,
body.elementor-editor-active.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content {
  grid-column: auto;
  grid-row: auto;
  min-height: 36rem;
  opacity: 1 !important;
  position: relative;
  top: auto;
  transform: none !important;
}

@media (max-width: 1024px) {
  body.home > .elementor-location-single,
  body.home main {
    padding-top: 0;
  }

  body.home .stadtundspiel-home-service {
    grid-template-columns: 1fr;
  }

  body.home .stadtundspiel-home-themes {
    column-gap: 0 !important;
    gap: clamp(4rem, 8vw, 6rem) !important;
    grid-template-columns: 1fr;
  }

  body.home .stadtundspiel-home-themes > .elementor-widget-stadtundspiel-section-title {
    grid-column: 1;
    margin-bottom: 0;
  }

  body.home .stadtundspiel-home-themes > .stadtundspiel-theme-story {
    display: grid !important;
    grid-template-columns: 1fr;
    min-height: 0;
  }

  body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__media {
    grid-column: 1;
    grid-row: auto;
    height: clamp(24rem, 62vw, 34rem);
    min-height: 0;
    opacity: 1 !important;
    order: 1;
    position: relative;
    top: auto;
    transform: none !important;
  }

  body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content {
    grid-column: 1;
    grid-row: auto;
    min-height: 0;
    opacity: 1 !important;
    order: 2;
    padding: clamp(2.5rem, 6vw, 4.5rem) 0 !important;
    transform: none !important;
  }

  body.home .stadtundspiel-home-themes .stadtundspiel-motif--theme {
    right: -3%;
    top: 1.5rem;
    width: min(50%, 21rem);
  }

  body.home .stadtundspiel-home-themes .stadtundspiel-motif--theme-play {
    right: -5%;
    width: min(54%, 22rem);
  }

  body.home .stadtundspiel-about > .e-con-inner > .stadtundspiel-motif--about {
    bottom: 1rem;
    left: -18%;
    width: 136%;
  }

  body.home .stadtundspiel-home-contact :is(.stadtundspiel-home-contact__form, .stadtundspiel-home-contact__newsletter) > .stadtundspiel-motif {
    width: 52%;
  }

  body.home .stadtundspiel-home-downloads .elementor-loop-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home .stadtundspiel-home-service > .stadtundspiel-home-service__header {
    grid-column: 1;
    grid-row: auto;
    margin-bottom: 1rem;
    position: relative;
    top: auto;
  }

  body.home .stadtundspiel-home-service > .stadtundspiel-service-card {
    grid-column: 1;
    min-height: 0;
    position: relative;
    top: auto;
  }

  body.home .stadtundspiel-home-service > .stadtundspiel-service-card > .stadtundspiel-service-card__media {
    margin: 0;
    width: 100%;
  }

  body.home .stadtundspiel-home-contact > .e-con-inner {
    grid-template-columns: 1fr;
  }

  body.home .stadtundspiel-home-contact .stadtundspiel-home-contact__form,
  body.home .stadtundspiel-home-contact .stadtundspiel-home-contact__newsletter {
    border-radius: var(--stadtundspiel-radius-lg);
  }

  body.home .stadtundspiel-home-team .stadtundspiel-home-team__grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  body.home :is(
    .stadtundspiel-home-news,
    .stadtundspiel-home-service,
    .stadtundspiel-home-downloads,
    .stadtundspiel-home-partners,
    .stadtundspiel-home-contact,
    .stadtundspiel-home-team
  ),
  body.home .stadtundspiel-home-themes {
    padding-inline: 1rem !important;
  }

  body.home .stadtundspiel-home-themes {
    grid-template-columns: 1fr;
  }

  body.home .stadtundspiel-home-themes > .stadtundspiel-theme-story {
    gap: 1.25rem !important;
    grid-template-columns: 1fr;
    min-height: 0;
    position: relative;
  }

  body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__media {
    gap: 0.5rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: clamp(19rem, 78vw, 27rem);
    min-height: 0;
    order: 2;
  }

  body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content {
    display: contents !important;
  }

  body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content > .elementor-widget-heading {
    order: 1;
  }

  body.home .stadtundspiel-home-themes .stadtundspiel-theme-story__content > .elementor-widget-text-editor {
    margin-top: 0.75rem;
    order: 3;
  }

  body.home .stadtundspiel-home-themes .stadtundspiel-motif--theme {
    left: auto;
    right: -12%;
    top: 0.75rem;
    width: 62%;
  }

  body.home .stadtundspiel-home-themes .stadtundspiel-motif--theme-play {
    right: -16%;
    width: 68%;
  }

  body.home .stadtundspiel-home-service .stadtundspiel-service-card__body > .stadtundspiel-motif--service {
    bottom: -5%;
    right: -20%;
    width: 95%;
  }

  body.home .stadtundspiel-home-service .stadtundspiel-service-card__body > .e-con-inner > .stadtundspiel-motif--service {
    right: -20%;
    width: 62%;
  }

  body.home .stadtundspiel-about > .e-con-inner > .stadtundspiel-motif--about {
    bottom: 2rem;
    left: -60%;
    width: 220%;
  }

  body.home .stadtundspiel-home-contact :is(.stadtundspiel-home-contact__form, .stadtundspiel-home-contact__newsletter) > .stadtundspiel-motif {
    bottom: -4%;
    right: -28%;
    width: 105%;
  }

  body.home .stadtundspiel-home-contact :is(.stadtundspiel-home-contact__form, .stadtundspiel-home-contact__newsletter) > .e-con-inner > .stadtundspiel-motif {
    right: -28%;
    width: 92%;
  }

  body.home .stadtundspiel-home-team__header > .stadtundspiel-motif--team {
    bottom: -20%;
    right: -35%;
    width: 88%;
  }

  body.home .stadtundspiel-home-team__header > .e-con-inner > .stadtundspiel-motif--team {
    bottom: -20%;
    right: -35%;
    width: 88%;
  }

  body.home .stadtundspiel-home-service > .stadtundspiel-service-card > .stadtundspiel-service-card__media {
    margin: 0;
    width: 100%;
  }

  body.home .stadtundspiel-home-service,
  .stadtundspiel-manufacturers__header,
  .stadtundspiel-manufacturers__grid,
  body.home .stadtundspiel-home-team .stadtundspiel-home-team__grid > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  body.home .stadtundspiel-home-downloads .elementor-loop-container {
    grid-template-columns: 1fr !important;
  }

  body.home .stadtundspiel-about__stories {
    gap: 3rem !important;
  }

  body.home .stadtundspiel-about__story + .stadtundspiel-about__story {
    border-left: 0;
    border-top: 1px solid rgb(23 35 29 / 18%);
    padding: 3rem 0 0;
  }

  .stadtundspiel-manufacturers__header > p {
    border-left: 0;
    border-top: 1px solid rgb(255 249 234 / 18%);
    padding: 1.5rem 0 0;
  }

  .stadtundspiel-manufacturer-card figure {
    aspect-ratio: 16 / 10;
  }
}
