@charset "UTF-8";
/*
Theme Name: twentytwentytwo (FSE)
Theme URI: https://nextab.de
Author: nexTab – Oliver Gehrmann
Author URI: https://nextab.de
Description: Full-Site-Editing Block-Theme für die Eventagentur twentytwentytwo (Bremen / Warschau). Minimales Fundament: Marken-Tokens (Oswald + Supreme, Violett/Koralle, kantige 0-Radius-Ästhetik) in theme.json, eine überschaubare Anzahl an Block-Styles und Header/Footer-Parts. Seiten-Vorlagen werden im Block-Editor gebaut.
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 8.1
Requires Plugins: nxt-block-editor-enhancements
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: twentytwentytwo-fse
Tags: block-theme, full-site-editing, event, agency
*/
/* #region Colors (synced with theme.json settings.color.palette) */
/* #endregion Colors */
/* #region Widths */
:root {
  --ttt-hero-split: 55%;
  --ttt-logo: 100px;
}

@media only screen and (width <= 767px) {
  :root {
    --ttt-logo: 80px;
  }
}
/* #endregion Widths */
/* #region Font Definitions */
/* #endregion Font Definitions */
/* #region Font Sizes (synced with theme.json settings.typography.fontSizes) */
:root {
  --wp--preset--font-size--h3-font-size: var(--wp--preset--font-size--h-3-font-size, clamp(1.25rem, 0.6897vw + 1.0776rem, 1.5rem));
  --wp--preset--font-size--h2-font-size: var(--wp--preset--font-size--h-2-font-size, clamp(1.75rem, 1rem + 3vw, 3rem));
  --wp--preset--font-size--h1-font-size: var(--wp--preset--font-size--h-1-font-size, clamp(2.25rem, 4.8276vw + 1.0431rem, 4rem));
}

/* #endregion Font Sizes */
/* #region Spacing (synced with theme.json settings.spacing.spacingSizes) */
/* #endregion Spacing */
/* #region Border Radius — twentytwentytwo is deliberately square (radius 0) */
/* #endregion Border Radius */
/* #region Inline Icons */
/* #endregion Inline Icons */
/* #region Mask Images */
.wp-block-navigation-item.mail a::before, .wp-block-navigation-item.tel a::before {
  background-color: var(--wp--preset--color--primary, #6018fe);
  content: "";
  left: -1px;
  height: 18px;
  width: 18px;
  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.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath d='M112 128C85.5 128 64 149.5 64 176C64 191.1 71.1 205.3 83.2 214.4L291.2 370.4C308.3 383.2 331.7 383.2 348.8 370.4L556.8 214.4C568.9 205.3 576 191.1 576 176C576 149.5 554.5 128 528 128L112 128zM64 260L64 448C64 483.3 92.7 512 128 512L512 512C547.3 512 576 483.3 576 448L576 260L377.6 408.8C343.5 434.4 296.5 434.4 262.4 408.8L64 260z'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  position: absolute;
  top: 5px;
}

/* #endregion Mask Images */
/* #region Buttons — signature: square, arrow reveals + asymmetric padding shift on hover */
form.jet-form-builder .jet-form-builder__submit, .wp-block-button .wp-element-button {
  background-color: var(--wp--preset--color--primary, #6018fe);
  border: none;
  border-radius: 0;
  color: var(--wp--preset--color--white, #ffffff);
  cursor: pointer;
  display: inline-block;
  font-family: "Supreme", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: var(--wp--preset--font-size--normal, 1rem);
  font-weight: 700;
  line-height: 1.7;
  outline: 2px solid transparent;
  outline-offset: 0px;
  padding: 0.5em 1.5em;
  position: relative;
  text-decoration: none;
  transition: all 300ms ease;
}
form.jet-form-builder .jet-form-builder__submit::after, .wp-block-button .wp-element-button::after {
  background-color: currentColor;
  content: "";
  height: 0.85em;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M566.6 342.6C579.1 330.1 579.1 309.8 566.6 297.3L406.6 137.3C394.1 124.8 373.8 124.8 361.3 137.3C348.8 149.8 348.8 170.1 361.3 182.6L466.7 288L96 288C78.3 288 64 302.3 64 320C64 337.7 78.3 352 96 352L466.7 352L361.3 457.4C348.8 469.9 348.8 490.2 361.3 502.7C373.8 515.2 394.1 515.2 406.6 502.7L566.6 342.7z'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 0.9em;
  top: 50%;
  transform: translateY(-45%);
  transition: all 300ms ease;
  visibility: hidden;
  width: 0.85em;
}
form.jet-form-builder .jet-form-builder__submit:hover, .wp-block-button .wp-element-button:hover {
  background-color: var(--wp--preset--color--primary-dark, #4b0fcc);
  padding: 0.5em 2em 0.5em 1em;
}
form.jet-form-builder .jet-form-builder__submit:hover::after, .wp-block-button .wp-element-button:hover::after {
  opacity: 1;
  right: 0.65em;
  visibility: visible;
}
form.jet-form-builder .jet-form-builder__submit:focus-visible, .wp-block-button .wp-element-button:focus-visible {
  outline: 2px dashed var(--wp--preset--color--primary, #6018fe);
  outline-offset: 2px;
}

.wp-block-button.is-style-ttt-secondary .wp-element-button {
  background-color: var(--wp--preset--color--secondary, #ff5e48);
  color: var(--wp--preset--color--white, #ffffff);
}
.wp-block-button.is-style-ttt-secondary .wp-element-button:hover {
  background-color: var(--wp--preset--color--secondary-dark, #e14730);
}
.wp-block-button.is-style-ttt-secondary .wp-element-button:focus-visible {
  outline-color: var(--wp--preset--color--secondary-dark, #e14730);
}

form.jet-form-builder .jet-form-builder__submit, .wp-block-button.is-style-ttt-light .wp-element-button {
  background-color: var(--wp--preset--color--white, #ffffff);
  color: var(--wp--preset--color--primary, #6018fe);
}
form.jet-form-builder .jet-form-builder__submit:hover, .wp-block-button.is-style-ttt-light .wp-element-button:hover {
  background-color: var(--wp--preset--color--white, #ffffff);
  color: var(--wp--preset--color--primary, #6018fe);
}
form.jet-form-builder .jet-form-builder__submit:focus-visible, .wp-block-button.is-style-ttt-light .wp-element-button:focus-visible {
  outline-color: var(--wp--preset--color--white, #ffffff);
}

.wp-block-button.is-style-ttt-outline .wp-element-button {
  background-color: transparent;
  border: 1px solid var(--wp--preset--color--black, #1b1b1b);
  color: var(--wp--preset--color--black, #1b1b1b);
  padding: 0.5em 1.5em;
}
.wp-block-button.is-style-ttt-outline .wp-element-button:hover {
  background-color: var(--wp--preset--color--primary, #6018fe);
  border-color: var(--wp--preset--color--primary, #6018fe);
  color: var(--wp--preset--color--white, #ffffff);
  padding: 0.5em 2em 0.5em 1em;
}

.wp-block-button.is-style-ttt-naked .wp-element-button {
  background: transparent;
  border: none;
  color: var(--wp--preset--color--black, #1b1b1b);
  display: inline-block;
  font-weight: 700;
  padding: 0 2.5em 0 0;
  position: relative;
  text-decoration: none;
  transition: all 300ms ease;
}
.wp-block-button.is-style-ttt-naked .wp-element-button::after {
  aspect-ratio: 1;
  background-color: currentColor;
  content: "";
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M566.6 342.6C579.1 330.1 579.1 309.8 566.6 297.3L406.6 137.3C394.1 124.8 373.8 124.8 361.3 137.3C348.8 149.8 348.8 170.1 361.3 182.6L466.7 288L96 288C78.3 288 64 302.3 64 320C64 337.7 78.3 352 96 352L466.7 352L361.3 457.4C348.8 469.9 348.8 490.2 361.3 502.7C373.8 515.2 394.1 515.2 406.6 502.7L566.6 342.7z'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  position: absolute;
  right: 0.75em;
  top: 50%;
  transform: translateY(-50%);
  transition: all 300ms ease;
  width: 1.1em;
}
.wp-block-button.is-style-ttt-naked .wp-element-button:hover::after {
  right: 0.4em;
}

/* #endregion Buttons */
/* #region Lists */
ul.wp-block-list {
  list-style: none;
  padding-left: 0;
}
ul.wp-block-list li {
  padding-bottom: var(--wp--preset--spacing--20, 0.25rem);
  padding-left: 1rem;
  position: relative;
}
ul.wp-block-list li::before {
  background-color: var(--wp--preset--color--primary, #6018fe);
  content: "";
  height: 6px;
  left: 1px;
  position: absolute;
  top: 10px;
  width: 6px;
}

footer .wp-block-navigation {
  list-style: none;
  padding-left: 0;
}
footer .wp-block-navigation > li > a {
  padding-left: 1rem;
  position: relative;
}
footer .wp-block-navigation > li > a::before {
  background-color: var(--wp--preset--color--primary, #6018fe);
  content: "";
  height: 6px;
  left: 1px;
  position: absolute;
  top: 10px;
  width: 6px;
}

/* #endregion Lists */
/* #region Fullheight Sections */
/* #endregion Fullheight Sections */
/* #region Placeholder Mixin */
/* #endregion Placeholder Mixin */
/* #region Forms & Inputs — square, 1px black outline (per brand) */
form.jet-form-builder input[type=text], form.jet-form-builder input[type=email], form.jet-form-builder input[type=tel], form.jet-form-builder input[type=password], form.jet-form-builder textarea {
  background-color: var(--wp--preset--color--surface, #eeeeee);
  border: 1px solid var(--wp--preset--color--black, #1b1b1b);
  border-radius: 0;
  color: var(--wp--preset--color--black, #1b1b1b);
  font-family: "Supreme", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: var(--wp--preset--font-size--normal, 1rem);
  line-height: 1.7;
  outline: 2px solid transparent;
  outline-offset: 0;
  padding: 0.5rem 0.8rem;
  transition: all 300ms ease;
}
form.jet-form-builder input[type=text]:focus-visible, form.jet-form-builder input[type=email]:focus-visible, form.jet-form-builder input[type=tel]:focus-visible, form.jet-form-builder input[type=password]:focus-visible, form.jet-form-builder textarea:focus-visible {
  outline: 2px dashed var(--wp--preset--color--primary, #6018fe);
  outline-offset: 2px;
}
form.jet-form-builder input[type=text]::-webkit-input-placeholder, form.jet-form-builder input[type=email]::-webkit-input-placeholder, form.jet-form-builder input[type=tel]::-webkit-input-placeholder, form.jet-form-builder input[type=password]::-webkit-input-placeholder, form.jet-form-builder textarea::-webkit-input-placeholder {
  color: var(--wp--preset--color--black, #1b1b1b);
  opacity: 0.7;
}
form.jet-form-builder input[type=text]::-moz-placeholder, form.jet-form-builder input[type=email]::-moz-placeholder, form.jet-form-builder input[type=tel]::-moz-placeholder, form.jet-form-builder input[type=password]::-moz-placeholder, form.jet-form-builder textarea::-moz-placeholder {
  color: var(--wp--preset--color--black, #1b1b1b);
  opacity: 0.7;
}
form.jet-form-builder input[type=text]:-ms-input-placeholder, form.jet-form-builder input[type=email]:-ms-input-placeholder, form.jet-form-builder input[type=tel]:-ms-input-placeholder, form.jet-form-builder input[type=password]:-ms-input-placeholder, form.jet-form-builder textarea:-ms-input-placeholder {
  color: var(--wp--preset--color--black, #1b1b1b);
  opacity: 0.7;
}

form.jet-form-builder input[type=text]:not([type=checkbox]), form.jet-form-builder input[type=email]:not([type=checkbox]), form.jet-form-builder input[type=tel]:not([type=checkbox]), form.jet-form-builder input[type=password]:not([type=checkbox]), form.jet-form-builder textarea:not([type=checkbox]) {
  width: 100%;
}

/* #endregion Forms & Inputs */
/*
Theme Name: twentytwentytwo (FSE)
Theme URI: https://nextab.de
Author: nexTab – Oliver Gehrmann
Author URI: https://nextab.de
Description: Full-Site-Editing Block-Theme für die Eventagentur twentytwentytwo (Bremen / Warschau). Minimales Fundament: Marken-Tokens (Oswald + Supreme, Violett/Koralle, kantige 0-Radius-Ästhetik) in theme.json, eine überschaubare Anzahl an Block-Styles und Header/Footer-Parts. Seiten-Vorlagen werden im Block-Editor gebaut.
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 8.1
Requires Plugins: nxt-block-editor-enhancements
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: twentytwentytwo-fse
Tags: block-theme, full-site-editing, event, agency
*/
/* ==========================================================================
   twentytwentytwo — project patterns
   Only what Core block attributes cannot express lives here.
   ========================================================================== */
/* #region Buttons */
/* #endregion Buttons */
/* #region Eyebrow — tracked uppercase label (Oswald) above headings */
.is-style-ttt-eyebrow {
  color: var(--wp--preset--color--secondary, #ff5e48);
  font-family: "Oswald", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: var(--wp--preset--font-size--small, 0.875rem);
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1.2;
  text-transform: uppercase;
}
.is-style-ttt-eyebrow.has-text-color {
  color: unset;
}

/* #endregion Eyebrow */
/* #region Lead — larger intro paragraph (Supreme) */
.is-style-ttt-lead {
  font-size: var(--wp--preset--font-size--highlight, clamp(1.5rem, 1.1rem + 1.2vw, 2.125rem));
  font-weight: 400;
  line-height: 1.4;
}

/* #endregion Lead */
/* #region Corporate Design Elements */
/* #region Hero Section */
.wp-block-cover.is-style-ttt-hero {
  background: linear-gradient(to right, #fff, #fff calc(5% + var(--ttt-logo)), var(--wp--preset--color--surface) calc(5% + var(--ttt-logo)), var(--wp--preset--color--surface) var(--ttt-hero-split), var(--wp--preset--color--primary) var(--ttt-hero-split));
  container-type: inline-size;
  overflow: hidden;
  padding: 0;
}
.wp-block-cover.is-style-ttt-hero.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1300px;
  padding-bottom: 4em;
  padding-top: 8.5rem;
  width: calc(90% - var(--ttt-logo) * 2 - 3.5rem);
}
.wp-block-cover.is-style-ttt-hero.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container h1 {
  margin-left: 0 !important;
  max-width: 550px;
}
.wp-block-cover.is-style-ttt-hero.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container h1.has-text-color {
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
  background-clip: unset;
  background-image: none;
  color: unset;
}
.wp-block-cover.is-style-ttt-hero::before {
  animation: slideInLeft 1.75s ease forwards 900ms;
  background-image: url("assets/img/2022-gradient.webp");
  bottom: 0;
  content: "";
  background-repeat: no-repeat;
  background-size: cover;
  height: 10px;
  position: absolute;
  right: 0;
  transform: translatex(100%);
  width: 70%;
}
.wp-block-cover.is-style-ttt-hero .ttt-hero-pattern {
  color: var(--wp--preset--color--black, #1b1b1b);
  filter: blur(2px);
  height: 100%;
  max-width: none;
  opacity: 0.5;
  pointer-events: none;
  position: absolute;
  right: 36%;
  top: 2%;
  transform: translatex(100%);
  width: auto;
  z-index: 1;
}
.wp-block-cover.is-style-ttt-hero .ttt-hero-pattern path {
  animation: svgDraw 250ms linear forwards;
  animation-delay: calc(sibling-index() * 0.05s);
  fill: none;
  stroke: currentColor;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-width: 3.25;
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-cover.is-style-ttt-hero .ttt-hero-pattern path {
    animation: none;
    stroke-dashoffset: 0;
  }
}
.wp-block-cover.is-style-ttt-hero {
  /* #region width > 600px */
}
@media only screen and (width > 600px) {
  .wp-block-cover.is-style-ttt-hero.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container h1 {
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    background-image: linear-gradient(to right, var(--wp--preset--color--black, #1b1b1b) var(--ttt-hero-split), var(--wp--preset--color--white, #ffffff) var(--ttt-hero-split));
    background-position: calc((min(1300px, 90cqw - var(--ttt-logo) * 2 - 3.5rem) - 100cqw) / 2) 0;
    background-repeat: no-repeat;
    background-size: 100cqw 100%;
    color: transparent;
  }
}
.wp-block-cover.is-style-ttt-hero {
  /* #endregion width > 600px */
  /* #region width <= 767px */
}
@media only screen and (width <= 767px) {
  .wp-block-cover.is-style-ttt-hero.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container {
    padding-left: calc(5% + var(--ttt-logo) + 1.5rem);
    padding-right: 2rem;
    width: 100%;
  }
  .wp-block-cover.is-style-ttt-hero.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container h1 {
    background-position: calc(-5cqw - var(--ttt-logo) - 1.5rem) 0;
  }
}
.wp-block-cover.is-style-ttt-hero {
  /* #endregion width <= 767px */
  /* #region width <= 600px */
}
@media only screen and (width <= 600px) {
  .wp-block-cover.is-style-ttt-hero {
    background: linear-gradient(to right, var(--wp--preset--color--surface) calc(5% + var(--ttt-logo)), var(--wp--preset--color--primary) calc(5% + var(--ttt-logo)));
    min-height: 360px;
  }
  .wp-block-cover.is-style-ttt-hero .wp-block-cover__inner-container h1 {
    color: var(--wp--preset--color--white, #ffffff);
  }
  .wp-block-cover.is-style-ttt-hero.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container {
    padding-right: 1rem;
  }
}
.wp-block-cover.is-style-ttt-hero {
  /* #endregion width <= 600px */
  /* #region width <= 479px */
}
@media only screen and (width <= 479px) {
  .wp-block-cover.is-style-ttt-hero::before {
    animation: none;
    background: var(--wp--preset--color--primary);
    content: "";
    height: 100%;
    height: calc(100% - 107px);
    left: 0;
    position: absolute;
    position: absolute;
    top: 107px;
    transform: none;
    width: 130px;
    z-index: 0;
  }
  .wp-block-cover.is-style-ttt-hero.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container {
    padding-bottom: 3.5rem;
    padding-left: 7.5%;
    padding-right: 7.5%;
    padding-top: 9.5rem;
  }
}
.wp-block-cover.is-style-ttt-hero {
  /* #endregion width <= 479px */
}
.wp-block-cover.is-style-ttt-image-hero {
  min-height: 28.75rem;
  overflow: hidden;
  padding: 0;
}
.wp-block-cover.is-style-ttt-image-hero::after {
  background-color: var(--wp--preset--color--white, #ffffff);
  content: "";
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: calc(5% + var(--ttt-logo));
  z-index: 1;
}
.wp-block-cover.is-style-ttt-image-hero .wp-block-cover__background,
.wp-block-cover.is-style-ttt-image-hero .wp-block-cover__image-background,
.wp-block-cover.is-style-ttt-image-hero .wp-block-cover__video-background {
  z-index: 0;
}
.wp-block-cover.is-style-ttt-image-hero .wp-block-cover__inner-container {
  flex-basis: 100%;
  max-width: none;
  padding-bottom: 4rem;
  padding-left: calc(5% + var(--ttt-logo) + 1.5rem);
  padding-right: 5%;
  padding-top: 10.5rem;
  position: relative;
  width: 100%;
  z-index: 2;
}
.wp-block-cover.is-style-ttt-image-hero .wp-block-cover__inner-container > * {
  margin-left: 0;
  margin-right: auto;
}
.wp-block-cover.is-style-ttt-image-hero {
  /* #region width <= 600px */
}
@media only screen and (width <= 600px) {
  .wp-block-cover.is-style-ttt-image-hero {
    min-height: 22.5rem;
  }
  .wp-block-cover.is-style-ttt-image-hero .wp-block-cover__inner-container {
    padding-bottom: 3rem;
    padding-top: 7.5rem;
  }
}
.wp-block-cover.is-style-ttt-image-hero {
  /* #endregion width <= 600px */
  /* #region width <= 479px */
}
@media only screen and (width <= 479px) {
  .wp-block-cover.is-style-ttt-image-hero::after {
    height: 108px;
  }
  .wp-block-cover.is-style-ttt-image-hero .wp-block-cover__inner-container {
    padding-left: 7.5%;
    padding-right: 7.5%;
    padding-top: 9.5rem;
  }
}
.wp-block-cover.is-style-ttt-image-hero {
  /* #endregion width <= 479px */
}

/* #endregion Hero Section */
/* #region Heading L-frame — corner brackets, currentColor, no hover */
.wp-block-heading.is-style-ttt-brackets {
  max-width: 58.75rem;
  padding: 2.25rem 2.5rem;
  position: relative;
  width: 100%;
}
.wp-block-heading.is-style-ttt-brackets::before, .wp-block-heading.is-style-ttt-brackets::after {
  border-color: currentColor;
  border-style: solid;
  content: "";
  pointer-events: none;
  position: absolute;
}
.wp-block-heading.is-style-ttt-brackets::before {
  border-width: 3px 0 0 3px;
  height: 54%;
  left: 0;
  top: 0;
  width: 30%;
}
.wp-block-heading.is-style-ttt-brackets::after {
  border-width: 0 3px 3px 0;
  bottom: 0;
  height: 48%;
  right: 0;
  width: 22%;
}
.wp-block-heading.is-style-ttt-brackets {
  /* #region width <= 600px */
}
@media only screen and (width <= 600px) {
  .wp-block-heading.is-style-ttt-brackets {
    padding: 1.5rem 1.25rem;
  }
}
.wp-block-heading.is-style-ttt-brackets {
  /* #endregion width <= 600px */
}

/* #endregion Heading L-frame */
/* #region Section below Hero */
.wp-block-columns.is-style-ttt-after-hero div.wp-block-column:first-child {
  flex-basis: calc(var(--ttt-logo) + 5%);
  flex-grow: 0;
  width: calc(var(--ttt-logo) + 5%);
}
.wp-block-columns.is-style-ttt-after-hero div.wp-block-column:first-child .wp-block-separator {
  height: 70%;
  width: 70%;
}
.wp-block-columns.is-style-ttt-after-hero div.wp-block-column:nth-child(2) {
  flex-basis: calc(var(--ttt-hero-split) - var(--ttt-logo) - 5%);
  flex-grow: 0;
}
.wp-block-columns.is-style-ttt-after-hero div.wp-block-column {
  /* #region width <= 980px */
}
@media only screen and (width <= 980px) {
  .wp-block-columns.is-style-ttt-after-hero div.wp-block-column:first-child {
    display: none;
  }
  .wp-block-columns.is-style-ttt-after-hero div.wp-block-column:nth-child(2) {
    flex-basis: 45%;
  }
}
.wp-block-columns.is-style-ttt-after-hero div.wp-block-column {
  /* #endregion width <= 980px */
}
.wp-block-columns.is-style-ttt-after-hero {
  /* #region width <= 600px */
}
@media only screen and (width <= 600px) {
  .wp-block-columns.is-style-ttt-after-hero {
    flex-flow: column wrap;
  }
}
.wp-block-columns.is-style-ttt-after-hero {
  /* #endregion width <= 600px */
}

/* #endregion Section below Hero */
/* #region Columns reverse on mobile */
@media only screen and (width <= 781px) {
  .wp-block-columns.reverse-responsive:not(.is-not-stacked-on-mobile) {
    flex-direction: column-reverse !important;
  }
}
/* #endregion Columns reverse on mobile */
/* #endregion Corporate Design Elements */
/* #region Feature Grid */
.is-style-ttt-feature-grid > .wp-block-group,
.is-style-ttt-feature-grid > .wp-block > .wp-block-group {
  background: var(--wp--preset--color--primary, #6018fe);
}
.is-style-ttt-feature-grid > .wp-block-group.is-ttt-alt,
.is-style-ttt-feature-grid > .wp-block > .wp-block-group.is-ttt-alt {
  background: var(--wp--preset--color--secondary, #ff5e48);
}

/* #endregion Feature Grid */
/* #region Feature card — flat tile that inverts to a violet fill on hover */
.wp-block-group.is-style-ttt-card {
  background-color: var(--wp--preset--color--surface, #eeeeee);
  padding: var(--wp--preset--spacing--60, clamp(2.25rem, 4vw, 3rem)) var(--wp--preset--spacing--50, 1.5rem);
  transition: background-color 300ms ease, color 300ms ease;
}
.wp-block-group.is-style-ttt-card :where(h1, h2, h3, h4, h5, h6, p) {
  transition: color 300ms ease;
}
.wp-block-group.is-style-ttt-card:hover {
  background-color: var(--wp--preset--color--primary, #6018fe);
  color: var(--wp--preset--color--white, #ffffff);
}
.wp-block-group.is-style-ttt-card:hover :where(h1, h2, h3, h4, h5, h6, p, a) {
  color: var(--wp--preset--color--white, #ffffff);
}

/* #endregion Feature card */
/* #region Timeline Section */
.nxt-timeline .nxt-timeline-entry figure {
  transition: all 1s ease 400ms;
  filter: var(--timeline-filter);
  --timeline-filter: saturate(1);
}
.nxt-timeline .nxt-timeline-entry > .nxt-timeline-entry__inner .wp-block-group {
  background: var(--wp--preset--color--surface, #eeeeee);
  padding: var(--wp--preset--spacing--40, 1rem) var(--wp--preset--spacing--50, 1.5rem) var(--wp--preset--spacing--50, 1.5rem);
}
.nxt-timeline .nxt-timeline-entry .nxt-timeline-entry__inner.wp-block-nxt-timeline-entry .wp-block-group {
  border: 3px solid var(--wp--preset--color--surface, #eeeeee);
  transition: all 300ms ease;
}
.nxt-timeline .nxt-timeline-entry:not(.scrolled-past) figure {
  --timeline-filter: saturate(0.3);
  transition: all 600ms ease;
}
.nxt-timeline .nxt-timeline-entry.scrolled-past .nxt-timeline-entry__inner.wp-block-nxt-timeline-entry .wp-block-group {
  border-color: var(--wp--preset--color--primary);
  transition: all 750ms ease 80ms;
}
.nxt-timeline .nxt-timeline-entry.scrolled-past .is-style-nxt-timeline-anchor {
  background-color: var(--wp--preset--color--primary, #6018fe);
}
.nxt-timeline .nxt-timeline-entry .is-style-nxt-timeline-anchor {
  background-color: var(--wp--preset--color--secondary, #ff5e48);
  color: var(--wp--preset--color--white, #ffffff);
  padding: var(--wp--preset--spacing--20, 0.25rem) var(--wp--preset--spacing--40, 1rem);
  transition: all 1s ease;
}
.nxt-timeline:not(.is-mobile) > .nxt-timeline-entry:nth-child(2n) > .nxt-timeline-entry__inner * {
  text-align: right;
}
.nxt-timeline.is-mobile .is-style-nxt-timeline-anchor {
  left: -80px;
  position: absolute;
}
.nxt-timeline {
  /* #region width <= 478px */
}
@media only screen and (width <= 478px) {
  .nxt-timeline.is-mobile > .nxt-timeline-entry {
    padding-inline-start: 60px;
  }
  .nxt-timeline.is-mobile > .nxt-timeline-entry .nxt-timeline-entry__inner {
    padding: 0;
  }
  .nxt-timeline.is-mobile .is-style-nxt-timeline-anchor {
    left: -74px;
  }
}
.nxt-timeline {
  /* #endregion width <= 478px */
  /* #region Horizontal Timeline */
}
.nxt-timeline.is-orientation-horizontal.is-axis-top {
  --nxt-entry-width: 25rem;
}
.nxt-timeline.is-orientation-horizontal.is-axis-top .nxt-timeline-entry__inner {
  padding: 0 2rem;
}
.nxt-timeline.is-orientation-horizontal.is-axis-top .nxt-timeline-entry:first-of-type .nxt-timeline-entry__inner {
  padding-left: 0;
}
.nxt-timeline.is-orientation-horizontal.alignfull {
  padding-left: max(5%, (100vw - var(--wp--style--global--wide-size, 1300px)) / 2);
}
.nxt-timeline.is-orientation-horizontal .nxt-timeline__track {
  padding-bottom: var(--wp--preset--spacing--40, 1rem);
}
.nxt-timeline {
  /* #endregion Horizontal Timeline */
}

/* #endregion Timeline Section */
/* #region Split section — hard 50/50 horizontal fill (surface vs white) */
/* #region width >= 782px */
@media only screen and (width >= 782px) {
  .wp-block-group.is-style-ttt-split-gray {
    background-image: linear-gradient(to right, var(--wp--preset--color--surface, #eeeeee) 50%, var(--wp--preset--color--white, #ffffff) 50%);
  }
  .wp-block-group.is-style-ttt-split-white {
    background-image: linear-gradient(to right, var(--wp--preset--color--white, #ffffff) 50%, var(--wp--preset--color--surface, #eeeeee) 50%);
  }
}
/* #endregion width >= 782px */
/* #region width < 782px */
@media only screen and (width < 782px) {
  .wp-block-group.is-style-ttt-split-gray .wp-block-columns > .wp-block-column:first-child {
    background-color: var(--wp--preset--color--surface, #eeeeee);
    padding-bottom: var(--wp--preset--spacing--50, 1.5rem);
    padding-top: var(--wp--preset--spacing--50, 1.5rem);
  }
  .wp-block-group.is-style-ttt-split-white .wp-block-columns > .wp-block-column:last-child {
    background-color: var(--wp--preset--color--surface, #eeeeee);
    padding-bottom: var(--wp--preset--spacing--50, 1.5rem);
    padding-top: var(--wp--preset--spacing--50, 1.5rem);
  }
}
/* #endregion width < 782px */
/* #endregion Split section */
/* #region L-corner brackets — echoes the drawn L motif from the hero pattern SVG.
   One corner mark top-left + one bottom-right per box; square-cut like the hero
   strokes. Uses currentColor so it adapts to the card's text colour. */
.wp-block-group.is-style-ttt-corner {
  position: relative;
}
.wp-block-group.is-style-ttt-corner.is-layout-grid > .is-style-ttt-corner {
  display: grid;
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
.wp-block-group.is-style-ttt-corner.is-layout-grid > .is-style-ttt-corner > * {
  width: 100%;
}
.wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical {
  grid-template-columns: repeat(7, 1fr);
  /* #region width > 1080px */
}
@media only screen and (width > 1080px) {
  .wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical > .wp-block-group {
    display: block;
    grid-column: span 2;
    grid-row: span 1;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical > .wp-block-group:first-child {
    grid-row: span 2;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical > .wp-block-group:nth-child(3) {
    grid-column: span 3;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical > .wp-block-group:nth-child(4) {
    grid-column: span 3;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical > .wp-block-group:last-child {
    grid-column: span 3;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical > .wp-block-group:nth-child(5) {
    grid-column: span 2;
  }
}
.wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical {
  /* #endregion width > 1080px */
  /* #region width <= 1080px */
}
@media only screen and (width <= 1080px) {
  .wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical > .wp-block-group {
    grid-column: span 3;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical > .wp-block-group.is-ttt-alt {
    grid-column: span 4;
  }
}
.wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical {
  /* #endregion width <= 1080px */
  /* #region width <= 650px */
}
@media only screen and (width <= 650px) {
  .wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical {
    grid-template-columns: 1fr;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical > .wp-block-group:nth-child(n) {
    grid-column: unset !important;
  }
}
.wp-block-group.is-style-ttt-corner.is-layout-grid.asymmetrical {
  /* #endregion width <= 650px */
}
.wp-block-group.is-style-ttt-corner.is-layout-grid {
  /* #region width > 1080px */
}
@media only screen and (width > 1080px) {
  .wp-block-group.is-style-ttt-corner.is-layout-grid.seven-items > .wp-block-group:nth-child(6) {
    grid-column: span 4;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.five-items > .wp-block-group {
    display: grid;
    gap: 0;
    grid-template-rows: subgrid;
    grid-row: span 3 !important;
    grid-template-columns: 1fr;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.five-items > .wp-block-group > .wp-block-group {
    display: grid;
    gap: 0;
    grid-template-rows: subgrid;
    grid-row: span 2;
    grid-template-columns: 1fr;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.five-items > .wp-block-group:nth-child(n) {
    grid-row: span 1;
    grid-column: span 3;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.five-items > .wp-block-group:first-child {
    grid-column: span 4;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.five-items > .wp-block-group:nth-child(3) {
    grid-column: span 3;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.five-items > .wp-block-group:nth-child(4), .wp-block-group.is-style-ttt-corner.is-layout-grid.five-items > .wp-block-group:last-child {
    grid-column: span 2;
  }
}
.wp-block-group.is-style-ttt-corner.is-layout-grid {
  /* #endregion width > 1080px */
  /* #region width <= 767px */
}
@media only screen and (width <= 767px) {
  .wp-block-group.is-style-ttt-corner.is-layout-grid.five-items {
    grid-template-columns: 1fr;
  }
  .wp-block-group.is-style-ttt-corner.is-layout-grid.five-items > .wp-block-group:nth-child(n) {
    grid-column: span 1;
  }
}
.wp-block-group.is-style-ttt-corner.is-layout-grid {
  /* #endregion width <= 767px */
}
.wp-block-group.is-style-ttt-corner:not(.is-layout-grid) {
  color: var(--wp--preset--color--primary, #6018fe);
  transition: all 300ms ease;
  outline: 3px solid var(--wp--preset--color--surface, #eeeeee);
  outline-offset: -3px;
}
.wp-block-group.is-style-ttt-corner:not(.is-layout-grid) .wp-block-heading {
  color: var(--wp--preset--color--primary, #6018fe);
  transition: all 300ms ease;
}
.wp-block-group.is-style-ttt-corner:not(.is-layout-grid).is-ttt-alt {
  color: var(--wp--preset--color--secondary, #ff5e48);
}
.wp-block-group.is-style-ttt-corner:not(.is-layout-grid).is-ttt-alt .wp-block-heading {
  color: var(--wp--preset--color--secondary, #ff5e48);
}
.wp-block-group.is-style-ttt-corner:not(.is-layout-grid):hover {
  outline-offset: 0;
}
.wp-block-group.is-style-ttt-corner:not(.is-layout-grid):hover::before {
  left: -10px;
  height: 65%;
  top: -10px;
  width: 40%;
}
.wp-block-group.is-style-ttt-corner:not(.is-layout-grid):hover::after {
  bottom: -10px;
  height: 70%;
  right: -10px;
  width: 50%;
}
.wp-block-group.is-style-ttt-corner:not(.is-layout-grid) .wp-block-paragraph {
  color: var(--wp--preset--color--black, #1b1b1b);
  transition: all 300ms ease;
}
.wp-block-group.is-style-ttt-corner:not(.is-layout-grid)::before, .wp-block-group.is-style-ttt-corner:not(.is-layout-grid)::after {
  border-color: currentColor;
  border-style: solid;
  content: "";
  height: 60%;
  pointer-events: none;
  position: absolute;
  transition: all 300ms ease;
  width: 40%;
  z-index: 1;
}
.wp-block-group.is-style-ttt-corner:not(.is-layout-grid)::before {
  border-width: 2px 0 0 2px;
  height: 55%;
  left: -8px;
  top: -8px;
  width: 30%;
}
.wp-block-group.is-style-ttt-corner:not(.is-layout-grid)::after {
  border-width: 0 2px 2px 0;
  bottom: -8px;
  right: -8px;
}
.wp-block-group.is-style-ttt-corner.no-hover-change.is-layout-grid > .wp-block-group.is-style-ttt-corner {
  outline: none !important;
}
.wp-block-group.is-style-ttt-corner.no-hover-change.is-layout-grid > .wp-block-group.is-style-ttt-corner:hover {
  background: var(--wp--preset--color--surface, #eeeeee) !important;
  outline: none !important;
}
.wp-block-group.is-style-ttt-corner.no-hover-change.is-layout-grid > .wp-block-group.is-style-ttt-corner:hover .wp-block-heading {
  color: var(--wp--preset--color--primary, #6018fe) !important;
}
.wp-block-group.is-style-ttt-corner.no-hover-change.is-layout-grid > .wp-block-group.is-style-ttt-corner:hover .wp-block-paragraph {
  color: var(--wp--preset--color--black, #1b1b1b) !important;
}
.wp-block-group.is-style-ttt-corner.no-hover-change.is-layout-grid > .wp-block-group.is-style-ttt-corner.is-ttt-alt:hover .wp-block-heading {
  color: var(--wp--preset--color--secondary, #ff5e48) !important;
}

/* #endregion L-corner brackets */
/* #region L-pattern cursor fill — tiled L-shapes, brand fill under the pointer.
   ::before = sterile grey stamp. ::after = same tile, filled with the brand
   radial, masked to a soft circle at the cursor. Dark surfaces only.
   Nested `.is-style-ttt-lshape-quiet` punches a rectangular hole in ::after
   only (evenodd clip-path). Grey stamp (::before) keeps running under the text. */
.wp-block-group.is-style-ttt-lshape-cta::before, .wp-block-group.is-style-ttt-lshape-cursor::before, .wp-block-group.is-style-ttt-lshape-cursor::after {
  -webkit-mask-image: url("assets/img/background-pattern-mask.svg");
  -webkit-mask-position: 0 0;
  -webkit-mask-repeat: repeat;
  -webkit-mask-size: 354px 339px;
  content: "";
  inset: 0;
  mask-image: url("assets/img/background-pattern-mask.svg");
  mask-mode: alpha;
  mask-position: 0 0;
  mask-repeat: repeat;
  mask-size: 354px 339px;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.wp-block-group.is-style-ttt-lshape-cursor {
  --ttt-lshape-r: 12rem;
  --ttt-lx: 50%;
  --ttt-ly: 50%;
  --ttt-qclip: none;
  isolation: isolate;
  overflow: hidden;
  position: relative;
}
.wp-block-group.is-style-ttt-lshape-cursor::before {
  background-color: #cfcfcf;
  opacity: 0.05;
}
.wp-block-group.is-style-ttt-lshape-cursor::after {
  -webkit-mask-composite: source-in;
  -webkit-mask-image: radial-gradient(circle var(--ttt-lshape-r) at var(--ttt-lx) var(--ttt-ly), #000 0%, transparent 72%), url("assets/img/background-pattern-mask.svg");
  -webkit-mask-repeat: no-repeat, repeat;
  -webkit-mask-size: auto, 354px 339px;
  background-image: radial-gradient(circle at var(--ttt-lx) var(--ttt-ly), #4A4896 0%, #E85D4C 15%);
  /* background-image: radial-gradient(circle at var(--ttt-lx) var(--ttt-ly), var(--wp--preset--color--secondary, #ff5e48) 0%, var(--wp--preset--color--primary, #6018fe) 55%, var(--wp--preset--color--primary-dark, #4b0fcc) 100%); */
  mask-composite: intersect;
  mask-image: radial-gradient(circle var(--ttt-lshape-r) at var(--ttt-lx) var(--ttt-ly), #000 0%, transparent 72%), url("assets/img/background-pattern-mask.svg");
  mask-mode: alpha, alpha;
  mask-repeat: no-repeat, repeat;
  mask-size: auto, 354px 339px;
  opacity: 0;
  transition: opacity 400ms ease;
}
.wp-block-group.is-style-ttt-lshape-cursor[data-ttt-lshape="1"]::after {
  opacity: 0.9;
}
.wp-block-group.is-style-ttt-lshape-cursor[data-ttt-lshape-quiet="1"]::after {
  clip-path: var(--ttt-qclip);
}
.wp-block-group.is-style-ttt-lshape-cursor > * {
  position: relative;
  z-index: 1;
}
@media (pointer: coarse) {
  .wp-block-group.is-style-ttt-lshape-cursor::after {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-group.is-style-ttt-lshape-cursor::after {
    display: none;
  }
}

/* #endregion L-pattern cursor fill */
/* #region L-pattern CTA — same grey L-stamp as the cursor style, no follow.
   Section fill is a wide radial: primary in the middle, black at the edges
   so the motif only reads in the dark bleed. */
.wp-block-group.is-style-ttt-lshape-cta {
  background-color: var(--wp--preset--color--black, #1b1b1b);
  background-image: radial-gradient(circle at center, var(--wp--preset--color--primary, #6018fe) 20%, var(--wp--preset--color--black, #1b1b1b) 170%);
  isolation: isolate;
  overflow: hidden;
  position: relative;
}
.wp-block-group.is-style-ttt-lshape-cta::before {
  background-color: #cfcfcf;
  opacity: 0.05;
}
.wp-block-group.is-style-ttt-lshape-cta > * {
  position: relative;
  z-index: 1;
}

/* #endregion L-pattern CTA */
/* #region Intro tiles — numbered surface cards that settle into a flush row on scroll.
   3 cards: left+down, down, right+down. 2 cards: left+down / right+down.
   Numbers via CSS counter (::before). Scroll progress is view-timeline, JS fallback. */
.wp-block-group.is-style-ttt-intro-tiles {
  --ttt-intro-p: 1;
  --ttt-intro-x: 3.5rem;
  --ttt-intro-y: 2.5rem;
  align-items: stretch;
  counter-reset: ttt-intro;
  display: flex;
  flex-wrap: nowrap;
  gap: 0 var(--wp--preset--spacing--30, 0.625rem);
  margin-left: auto !important;
  margin-right: 5% !important;
  max-width: 900px;
  overflow: visible;
  width: 80%;
}
.wp-block-group.is-style-ttt-intro-tiles > .wp-block-group, .wp-block-group.is-style-ttt-intro-tiles > .wp-block > .wp-block-group {
  counter-increment: ttt-intro;
  flex: 1 1 0;
  margin-block-start: 0;
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  min-width: 0;
  position: relative;
  width: auto;
}
.wp-block-group.is-style-ttt-intro-tiles > .wp-block-group::before, .wp-block-group.is-style-ttt-intro-tiles > .wp-block > .wp-block-group::before {
  color: var(--wp--preset--color--secondary, #ff5e48);
  content: counter(ttt-intro, decimal-leading-zero);
  display: block;
  font-family: "Oswald", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: var(--wp--preset--font-size--h-2-font-size, clamp(1.75rem, 1rem + 3vw, 3rem));
  font-weight: 700;
  line-height: 1;
  margin-bottom: var(--wp--preset--spacing--40, 1rem);
}
.wp-block-group.is-style-ttt-intro-tiles > .wp-block-group:nth-child(2n+1)::before, .wp-block-group.is-style-ttt-intro-tiles > .wp-block > .wp-block-group:nth-child(2n+1)::before {
  color: var(--wp--preset--color--primary, #6018fe);
}
.wp-block-group.is-style-ttt-intro-tiles > .wp-block {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
}
.wp-block-group.is-style-ttt-intro-tiles > .wp-block > .wp-block-group {
  flex: 1 1 auto;
  width: 100%;
}
@supports (animation-timeline: view()) {
  .wp-block-group.is-style-ttt-intro-tiles {
    view-timeline-name: --ttt-intro;
  }
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block-group:first-child:not(:last-child),
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block:first-child:not(:last-child) > .wp-block-group {
    animation: tttIntroLeft linear both;
    animation-range: entry 0% entry-crossing 50%;
    animation-timeline: --ttt-intro;
  }
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block-group:last-child:not(:first-child),
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block:last-child:not(:first-child) > .wp-block-group {
    animation: tttIntroRight linear both;
    animation-range: entry 0% entry-crossing 50%;
    animation-timeline: --ttt-intro;
  }
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block-group:not(:first-child):not(:last-child),
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block:not(:first-child):not(:last-child) > .wp-block-group {
    animation: tttIntroDown linear both;
    animation-range: entry 0% entry-crossing 50%;
    animation-timeline: --ttt-intro;
  }
}
@supports not (animation-timeline: view()) {
  .wp-block-group.is-style-ttt-intro-tiles {
    --ttt-intro-p: 0;
  }
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block-group:first-child:not(:last-child),
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block:first-child:not(:last-child) > .wp-block-group {
    transform: translate(calc(var(--ttt-intro-x) * -1 * (1 - var(--ttt-intro-p))), calc(var(--ttt-intro-y) * (1 - var(--ttt-intro-p))));
  }
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block-group:last-child:not(:first-child),
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block:last-child:not(:first-child) > .wp-block-group {
    transform: translate(calc(var(--ttt-intro-x) * (1 - var(--ttt-intro-p))), calc(var(--ttt-intro-y) * (1 - var(--ttt-intro-p))));
  }
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block-group:not(:first-child):not(:last-child),
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block:not(:first-child):not(:last-child) > .wp-block-group {
    transform: translate(0, calc(var(--ttt-intro-y) * (1 - var(--ttt-intro-p))));
  }
}
.wp-block-group.is-style-ttt-intro-tiles {
  /* #region width <= 767px */
}
@media only screen and (width <= 767px) {
  .wp-block-group.is-style-ttt-intro-tiles {
    flex-direction: column;
    margin-right: auto !important;
  }
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block-group,
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block > .wp-block-group {
    animation: none;
    flex-basis: auto;
    transform: none;
    width: 100%;
  }
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block-group:not(:last-child),
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block > .wp-block-group:not(:last-child) {
    border-bottom: 1px solid var(--wp--preset--color--line, #d8d8d8);
    border-right: 0;
  }
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block {
    flex-basis: auto;
    width: 100%;
  }
}
.wp-block-group.is-style-ttt-intro-tiles {
  /* #endregion width <= 767px */
  /* #region width <= 600px */
}
@media only screen and (width <= 600px) {
  .wp-block-group.is-style-ttt-intro-tiles {
    width: 90%;
  }
}
.wp-block-group.is-style-ttt-intro-tiles {
  /* #endregion width <= 600px */
}

.editor-styles-wrapper .wp-block-group.is-style-ttt-intro-tiles > .wp-block-group,
.editor-styles-wrapper .wp-block-group.is-style-ttt-intro-tiles > .wp-block > .wp-block-group,
.block-editor-iframe__body .wp-block-group.is-style-ttt-intro-tiles > .wp-block-group,
.block-editor-iframe__body .wp-block-group.is-style-ttt-intro-tiles > .wp-block > .wp-block-group {
  animation: none;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-group.is-style-ttt-intro-tiles {
    --ttt-intro-p: 1;
  }
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block-group,
  .wp-block-group.is-style-ttt-intro-tiles > .wp-block > .wp-block-group {
    animation: none;
    transform: none;
  }
}
/* #endregion Intro tiles */
/* #region Feature Subgrid */
.wp-block-group.is-style-ttt-feature-subgrid {
  row-gap: 0 !important;
}
.wp-block-group.is-style-ttt-feature-subgrid > .wp-block-group {
  display: grid;
  gap: 0;
  grid-row: span 3;
  grid-template-rows: subgrid;
  margin-bottom: var(--wp--preset--spacing--60, clamp(2.25rem, 4vw, 3rem));
  text-wrap: balance;
}
.wp-block-group.is-style-ttt-feature-subgrid > .wp-block-group:last-child {
  margin-bottom: 0;
}

/* #endregion Feature Subgrid */
/* #region Animations */
@keyframes svgDraw {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes slideInLeft {
  0% {
    transform: translatex(100%);
  }
  100% {
    transform: translatex(0%);
  }
}
@keyframes tttIntroLeft {
  from {
    transform: translate(calc(var(--ttt-intro-x) * -1), var(--ttt-intro-y));
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes tttIntroDown {
  from {
    transform: translate(0, var(--ttt-intro-y));
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes tttIntroRight {
  from {
    transform: translate(var(--ttt-intro-x), var(--ttt-intro-y));
  }
  to {
    transform: translate(0, 0);
  }
}
/* #endregion Animations */
/*
Theme Name: twentytwentytwo (FSE)
Theme URI: https://nextab.de
Author: nexTab – Oliver Gehrmann
Author URI: https://nextab.de
Description: Full-Site-Editing Block-Theme für die Eventagentur twentytwentytwo (Bremen / Warschau). Minimales Fundament: Marken-Tokens (Oswald + Supreme, Violett/Koralle, kantige 0-Radius-Ästhetik) in theme.json, eine überschaubare Anzahl an Block-Styles und Header/Footer-Parts. Seiten-Vorlagen werden im Block-Editor gebaut.
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 8.1
Requires Plugins: nxt-block-editor-enhancements
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: twentytwentytwo-fse
Tags: block-theme, full-site-editing, event, agency
*/
/* ==========================================================================
   ttt/marquee — Werte-Laufschrift
   ========================================================================== */
.ttt-marquee {
  overflow: hidden;
}
.ttt-marquee .ttt-marquee__intro {
  margin-bottom: var(--wp--preset--spacing--60, clamp(2.25rem, 4vw, 3rem));
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--wide-size);
  width: 90%;
}
.ttt-marquee .ttt-marquee__wall {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--60, clamp(2.25rem, 4vw, 3rem));
}
.ttt-marquee .ttt-marquee__row {
  display: flex;
  width: max-content;
  will-change: transform;
}
.ttt-marquee .ttt-marquee__row.is-dir-left {
  animation: tttMarqueeLeft var(--ttt-marquee-dur, 80s) linear infinite;
}
.ttt-marquee .ttt-marquee__row.is-dir-right {
  animation: tttMarqueeRight var(--ttt-marquee-dur, 80s) linear infinite;
}
.ttt-marquee .ttt-marquee__copy {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: var(--ttt-marquee-gap, 2rem);
  padding-right: var(--ttt-marquee-gap, 2rem);
}
.ttt-marquee .ttt-marquee__item {
  display: inline-flex;
  padding: var(--ttt-marquee-frame-pad-y, 1em) var(--ttt-marquee-frame-pad-x, 2em);
  position: relative;
}
.ttt-marquee .ttt-marquee__item::before, .ttt-marquee .ttt-marquee__item::after {
  border-color: var(--ttt-marquee-accent, #666);
  border-style: solid;
  content: "";
  height: var(--ttt-marquee-frame-size, 1em);
  pointer-events: none;
  position: absolute;
  width: var(--ttt-marquee-frame-size, 1em);
}
.ttt-marquee .ttt-marquee__item::before {
  border-width: 3px 0 0 3px;
  left: 0;
  top: 0;
}
.ttt-marquee .ttt-marquee__item::after {
  border-width: 0 3px 3px 0;
  bottom: 0;
  right: 0;
}
.ttt-marquee .ttt-marquee__word {
  font-family: var(--ttt-marquee-font, Oswald, Helvetica Neue, Helvetica, Arial, sans-serif);
  font-size: var(--ttt-marquee-size, clamp(2.25rem, 5.4vw, 5rem));
  font-weight: 400;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
}
.ttt-marquee .ttt-marquee__word::after {
  content: attr(data-word);
}
.ttt-marquee .ttt-marquee__word.is-outline::after {
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: var(--ttt-marquee-stroke, 1px) currentColor;
  color: inherit;
}

@media (prefers-reduced-motion: reduce) {
  .ttt-marquee .ttt-marquee__row {
    animation: none;
  }
}
@keyframes tttMarqueeLeft {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes tttMarqueeRight {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}
/*
Theme Name: twentytwentytwo (FSE)
Theme URI: https://nextab.de
Author: nexTab – Oliver Gehrmann
Author URI: https://nextab.de
Description: Full-Site-Editing Block-Theme für die Eventagentur twentytwentytwo (Bremen / Warschau). Minimales Fundament: Marken-Tokens (Oswald + Supreme, Violett/Koralle, kantige 0-Radius-Ästhetik) in theme.json, eine überschaubare Anzahl an Block-Styles und Header/Footer-Parts. Seiten-Vorlagen werden im Block-Editor gebaut.
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 8.1
Requires Plugins: nxt-block-editor-enhancements
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: twentytwentytwo-fse
Tags: block-theme, full-site-editing, event, agency
*/
/* ==========================================================================
   ttt/team — member grid
   Gap, card padding, card color and card border come from block supports.
   ========================================================================== */
.wp-block-ttt-team > .ttt-team__preview {
  display: contents;
}

:where(.ttt-team__card) {
  padding: var(--wp--preset--spacing--40, 1rem);
}

.ttt-team__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: center;
}
.ttt-team__card .ttt-team__media {
  transition: all 400ms ease;
}
.ttt-team__card:hover .ttt-team__media {
  transform: scale(1.03);
}
.ttt-team__card:hover .ttt-team__media::before {
  filter: hue-rotate(300deg);
  left: -15px;
  top: -15px;
  width: 104%;
}
.ttt-team__card:hover .ttt-team__media::after {
  bottom: -14px;
  filter: brightness(0.5);
  height: 60%;
  right: -14px;
  width: 25%;
}
.ttt-team__card .ttt-team__media {
  aspect-ratio: 4/5;
  margin-bottom: var(--wp--preset--spacing--50, 1.5rem);
  position: relative;
}
.ttt-team__card .ttt-team__media::before, .ttt-team__card .ttt-team__media::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  transition: all 400ms ease;
}
.ttt-team__card .ttt-team__media::before {
  background-image: url("assets/img/team_corner_top_left.webp");
  background-position: top left;
  height: 50%;
  left: -10px;
  top: -10px;
  width: 90%;
}
.ttt-team__card .ttt-team__media::after {
  background-image: url("assets/img/team_corner_bottom_right.webp");
  background-position: bottom right;
  bottom: -10px;
  height: 45%;
  right: -10px;
  width: 20%;
}
.ttt-team__card .ttt-team__photo {
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  width: 100%;
}

.ttt-team__name {
  margin-bottom: 0;
  margin-top: 0;
}

.ttt-team__position {
  color: var(--wp--preset--color--black, #1b1b1b);
  margin-top: var(--wp--preset--spacing--20, 0.25rem);
}

.ttt-team__card.has-text-color .ttt-team__position,
.wp-block-ttt-team.has-text-color .ttt-team__position {
  color: inherit;
}

.ttt-team__contact {
  align-items: center;
  display: flex;
  gap: var(--wp--preset--spacing--30, 0.625rem);
  justify-content: center;
  margin-top: auto;
  padding-top: var(--wp--preset--spacing--30, 0.625rem);
}

:where(.ttt-team__link) {
  color: var(--wp--preset--color--primary, #6018fe);
}
:where(.ttt-team__link):hover, :where(.ttt-team__link):focus-visible {
  color: var(--wp--preset--color--primary-dark, #4b0fcc);
}

.ttt-team__link {
  display: inline-flex;
  height: 1.5rem;
  width: 1.5rem;
}
.ttt-team__link svg {
  display: block;
  fill: var(--wp--preset--color--primary, #6018fe);
  height: 100%;
  width: 100%;
}
.ttt-team__link .screen-reader-text {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.ttt-team__empty {
  grid-column: 1/-1;
  margin: 0;
}

/*
Theme Name: twentytwentytwo (FSE)
Theme URI: https://nextab.de
Author: nexTab – Oliver Gehrmann
Author URI: https://nextab.de
Description: Full-Site-Editing Block-Theme für die Eventagentur twentytwentytwo (Bremen / Warschau). Minimales Fundament: Marken-Tokens (Oswald + Supreme, Violett/Koralle, kantige 0-Radius-Ästhetik) in theme.json, eine überschaubare Anzahl an Block-Styles und Header/Footer-Parts. Seiten-Vorlagen werden im Block-Editor gebaut.
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 8.1
Requires Plugins: nxt-block-editor-enhancements
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: twentytwentytwo-fse
Tags: block-theme, full-site-editing, event, agency
*/
/* #region Header */
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 100;
}
header.wp-block-template-part.is-scrolled {
  box-shadow: 0px 1px 0px 0 rgba(238, 238, 238, 0.6);
  top: var(--wp-admin--admin-bar--height, 0px);
}
header.wp-block-template-part.is-scrolled .ttt-header__bar {
  padding-block: var(--wp--preset--spacing--50, 1.5rem);
}
header.wp-block-template-part.is-scrolled .ttt-header__logo {
  filter: none;
  left: calc(2.5% + 20px);
  top: 50%;
  transform: translatey(-50%);
  width: 60px;
}

.ttt-header {
  background-color: var(--wp--preset--color--white, #ffffff);
}
.ttt-header .ttt-header__bar {
  padding-block: var(--wp--preset--spacing--40, 1rem);
  transition: padding 300ms ease;
}
.ttt-header .ttt-header__logo {
  left: 2.5%;
  filter: saturate(0) contrast(1) brightness(0);
  line-height: 1;
  position: absolute;
  top: 72px;
  transition: all 350ms ease;
  width: var(--ttt-logo);
}
.ttt-header .wp-block-navigation-item__content {
  color: var(--wp--preset--color--black, #1b1b1b);
}
.ttt-header .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--primary, #6018fe);
}
.ttt-header {
  /* #region width <= 767px */
}
@media only screen and (width <= 767px) {
  header.is-scrolled .ttt-header .ttt-header__logo {
    left: calc(2.5% + 15px);
    width: 50px;
  }
}
.ttt-header {
  /* #endregion width <= 767px */
}

/* #endregion Header */
/* #region Responsive Desgin Fixes */
/* #region width <= 600px */
@media only screen and (width <= 600px) {
  #wpadminbar {
    top: -46px;
  }
  body.is-scrolled {
    --wp-admin--admin-bar--height: 0;
  }
}
/* #endregion width <= 600px */
/* #endregion Responsive Desgin Fixes */
/* #region Overwrite Gutenberg Special Crap */
:where(.wp-site-blocks) > *,
:root :where(.is-layout-constrained):not(section) > * {
  margin-block-start: 0;
}

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

.entry-content {
  overflow: hidden;
}
.entry-content > section > *:not(.alignfull, .wp-block-cover__background) {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
.entry-content > section.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: 16px;
  scroll-behavior: smooth;
}

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

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

/* #endregion Normalization */
/* #region Typography */
h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}
h1 a, h1 a:where(:link, :visited, :focus), h2 a, h2 a:where(:link, :visited, :focus), h3 a, h3 a:where(:link, :visited, :focus), h4 a, h4 a:where(:link, :visited, :focus), h5 a, h5 a:where(:link, :visited, :focus), h6 a, h6 a:where(:link, :visited, :focus) {
  color: inherit;
  cursor: pointer;
}
h1.wp-block-heading:not(.has-text-color), h2.wp-block-heading:not(.has-text-color), h3.wp-block-heading:not(.has-text-color), h4.wp-block-heading:not(.has-text-color), h5.wp-block-heading:not(.has-text-color), h6.wp-block-heading:not(.has-text-color) {
  color: var(--wp--preset--color--black, #1b1b1b);
}

.has-h-2-font-size-font-size {
  line-height: 1.4;
}

.is-style-balanced-text {
  text-wrap: balance;
}

: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;
}

.is-layout-flow p + p, .is-layout-flow * + blockquote, .is-layout-flow blockquote + *, .is-layout-constrained p + p, .is-layout-constrained * + blockquote, .is-layout-constrained blockquote + * {
  margin-top: var(--wp--preset--spacing--40, 1rem);
}

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

/* #endregion Typography */
/* #region Blockquotes */
blockquote {
  border: none;
  font-family: "Supreme", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: var(--wp--preset--font-size--medium, 1.125rem);
  font-style: italic;
  padding-left: 0;
}
blockquote cite {
  display: block;
  font-style: normal;
  margin-top: var(--wp--preset--spacing--30, 0.625rem);
}
blockquote cite::before {
  content: "– ";
}

/* #endregion Blockquotes */
/* #region Lists */
ul.wp-block-list.is-style-ttt-l-shapes li, ul.wp-block-list.is-style-ttt-l-shapes-asym li {
  padding-left: 2rem;
}
ul.wp-block-list.is-style-ttt-l-shapes li::before, ul.wp-block-list.is-style-ttt-l-shapes-asym li::before {
  height: 1.25em;
  left: 0;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  top: 0.2em;
  width: 1.25em;
}
ul.wp-block-list.is-style-ttt-l-shapes.has-white-color li::before, .has-white-color ul.wp-block-list.is-style-ttt-l-shapes li::before, ul.wp-block-list.is-style-ttt-l-shapes-asym.has-white-color li::before, .has-white-color ul.wp-block-list.is-style-ttt-l-shapes-asym li::before {
  background-color: var(--wp--preset--color--white, #ffffff);
}
ul.wp-block-list.is-style-ttt-l-shapes li::before {
  mask-image: url("assets/img/logo-l-shapes.svg");
}
ul.wp-block-list.is-style-ttt-l-shapes-asym li::before {
  mask-image: url("assets/img/logo-l-shapes-asym.svg");
}

/* #endregion Lists */
/* #region Modules */
/* #region Covers */
:where(.wp-block-cover.is-light:not(.has-text-color)) {
  color: var(--wp--preset--color--black, #1b1b1b);
}

/* #endregion Covers */
/* #region FAQ Accordion */
.nxt-faq-accordion-block.is-style-ttt-faq-accordion .nxt-faq-accordion-wrapper {
  row-gap: 0;
}
.nxt-faq-accordion-block.is-style-ttt-faq-accordion .nxt-accordion-item {
  --nxt-faq-padding-inline: 5px;
  background-color: transparent;
  border-radius: 0;
  border: none;
  box-shadow: none;
}
.nxt-faq-accordion-block.is-style-ttt-faq-accordion .nxt-accordion-item::before {
  background: linear-gradient(90deg, rgba(216, 216, 216, 0.0666666667), var(--wp--preset--color--line) 30%, var(--wp--preset--color--line) 70%, rgba(216, 216, 216, 0.0666666667));
  content: "";
  display: block;
  height: 1px;
  width: 100%;
}
.nxt-faq-accordion-block.is-style-ttt-faq-accordion .nxt-accordion-item:last-of-type::after {
  background: linear-gradient(90deg, rgba(216, 216, 216, 0.0666666667), var(--wp--preset--color--line) 30%, var(--wp--preset--color--line) 70%, rgba(216, 216, 216, 0.0666666667));
  content: "";
  display: block;
  height: 1px;
  width: 100%;
}
.nxt-faq-accordion-block.is-style-ttt-faq-accordion .nxt-accordion-item .nxt-accordion-header {
  background: none;
  padding-left: 0;
  padding-top: var(--wp--preset--spacing--50, 1.5rem);
  padding-bottom: 1.625rem;
}
.nxt-faq-accordion-block.is-style-ttt-faq-accordion .nxt-accordion-item .nxt-accordion-header h3 {
  color: var(--wp--preset--color--white, #ffffff);
}
.nxt-faq-accordion-block.is-style-ttt-faq-accordion .nxt-accordion-item .nxt-accordion-header::after {
  background-color: var(--wp--preset--color--white, #ffffff);
  height: 20px;
  margin-top: -9px;
  width: 20px;
}
.nxt-faq-accordion-block.is-style-ttt-faq-accordion .nxt-accordion-item .nxt-accordion-content {
  color: var(--wp--preset--color--white, #ffffff);
  font-size: var(--wp--preset--font-size--medium, 1.125rem);
  padding: 0 0 var(--wp--preset--spacing--40, 1rem);
}

/* #endregion FAQ Accordion */
/* #region Polylang Language Switcher */
.wp-block-polylang-language-switcher {
  display: flex;
  flex-flow: row nowrap;
  gap: var(--wp--preset--spacing--50, 1.5rem);
  justify-content: space-between;
  list-style: none;
  padding: 0;
}
.wp-block-polylang-language-switcher img {
  box-shadow: 0 1px 6px 1px rgba(0, 0, 0, 0.2666666667);
  height: 16px;
  width: auto;
}

/* #endregion Polylang Language Switcher */
/* #region Forms */
form.jet-form-builder .jet-form-builder__label {
  margin-bottom: var(--wp--preset--spacing--20, 0.25rem);
}
form.jet-form-builder textarea {
  min-height: 180px;
}
.has-white-color > .jet-fb-form-block > form.jet-form-builder input[type=text]:focus-visible, .has-white-color > .jet-fb-form-block > form.jet-form-builder input[type=email]:focus-visible, .has-white-color > .jet-fb-form-block > form.jet-form-builder input[type=tel]:focus-visible, .has-white-color > .jet-fb-form-block > form.jet-form-builder input[type=password]:focus-visible {
  outline-color: var(--wp--preset--color--white, #ffffff);
}
.has-white-color > .jet-fb-form-block > form.jet-form-builder textarea:focus-visible {
  outline-color: var(--wp--preset--color--white, #ffffff);
}

/* #endregion Forms */
/* #region Client Slider */
.wp-block-nxt-slider.client_slider .quote-icon {
  aspect-ratio: 1;
  border-radius: 50%;
  height: auto;
  margin-bottom: var(--wp--preset--spacing--50, 1.5rem);
  padding: 0;
  width: 52px;
}
.wp-block-nxt-slider.client_slider .nxt-slide-template::before, .wp-block-nxt-slider.client_slider .nxt-slide-template::after {
  content: "";
  left: 0;
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.wp-block-nxt-slider.client_slider .nxt-slide-template::before {
  background-image: url("assets/img/bg_blur.webp");
  background-position: -220px center;
  background-repeat: repeat-y;
  background-size: auto 500px;
}
.wp-block-nxt-slider.client_slider .nxt-slide-template::after {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
  opacity: 1;
  mix-blend-mode: soft-light;
  pointer-events: none;
}
.wp-block-nxt-slider .bold {
  font-weight: 700;
}

/* #endregion Client Slider */
/* #region Blockquote */
.wp-block-quote {
  border: none;
  padding: 0 45px;
}
.wp-block-quote > *:first-child, .wp-block-quote > *:last-child {
  position: relative;
}
.wp-block-quote > *:first-child::before, .wp-block-quote > *:last-child::after {
  bottom: -60px;
  color: var(--wp--preset--color--primary, #6018fe);
  content: "„";
  font-family: "Oswald", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 120px;
  font-style: normal;
  left: -50px;
  position: absolute;
}
.wp-block-quote > *:last-child::after {
  bottom: auto;
  content: "“";
  left: auto;
  right: -15px;
  top: -70px;
}
.wp-block-quote *.has-h-2-font-size-font-size {
  font-size: clamp(1.75rem, 3.6364vw - 0.1818rem, 3rem) !important;
}

/* #endregion Blockquote */
/* #region Timeline */
.nxt-timeline-entry .is-style-nxt-timeline-anchor {
  background-color: var(--wp--preset--color--secondary, #ff5e48);
  color: var(--wp--preset--color--white, #ffffff);
  padding: var(--wp--preset--spacing--20, 0.25rem) var(--wp--preset--spacing--40, 1rem);
  transition: all 1s ease;
}
.nxt-timeline-entry.scrolled-past .is-style-nxt-timeline-anchor {
  background-color: var(--wp--preset--color--primary, #6018fe);
}

/* #endregion Timeline */
/* #endregion Modules */
/* #region Footer */
footer.wp-block-template-part {
  position: relative;
}
footer.wp-block-template-part::before {
  background-image: url("assets/img/2022-gradient.webp");
  background-repeat: no-repeat;
  background-size: 1096px 13px;
  content: "";
  height: 10px;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translatey(-50%);
  width: 70%;
  z-index: 10;
}
@supports (animation-timeline: view()) {
  footer.wp-block-template-part {
    view-timeline-name: --ttt-footer;
  }
  footer.wp-block-template-part::before {
    animation: tttFooterFill auto linear both;
    animation-range: entry 0% entry 100%;
    animation-timeline: --ttt-footer;
    width: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  footer.wp-block-template-part::before {
    animation: none;
    width: 70%;
  }
}

.footer_logo {
  filter: saturate(0%) brightness(0%) contrast(100%) invert(0%);
}

.wp-block-navigation-item.mail {
  margin-top: var(--wp--preset--spacing--30, 0.625rem);
}
.wp-block-navigation-item.mail a, .wp-block-navigation-item.tel a {
  padding-left: 26px;
  position: relative;
}
.wp-block-navigation-item.tel a::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.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath d='M224.2 89C216.3 70.1 195.7 60.1 176.1 65.4L170.6 66.9C106 84.5 50.8 147.1 66.9 223.3C104 398.3 241.7 536 416.7 573.1C493 589.3 555.5 534 573.1 469.4L574.6 463.9C580 444.2 569.9 423.6 551.1 415.8L453.8 375.3C437.3 368.4 418.2 373.2 406.8 387.1L368.2 434.3C297.9 399.4 241.3 341 208.8 269.3L253 233.3C266.9 222 271.6 202.9 264.8 186.3L224.2 89z'/%3E%3C/svg%3E");
}
.has-white-color > .wp-block-navigation-item.mail a::before, .has-white-color > .wp-block-navigation-item.tel a::before {
  background-color: var(--wp--preset--color--white, #ffffff);
}

footer {
  /* #region width <= 980px */
}
@media only screen and (width <= 980px) {
  footer.wp-block-template-part .ttt-footer > .alignwide {
    max-width: 95%;
  }
  footer.wp-block-template-part .ttt-footer > .alignwide > .wp-block-column:first-child {
    flex-basis: 40%;
  }
  footer.wp-block-template-part .ttt-footer > .alignwide > .wp-block-column:last-child {
    flex-basis: 37%;
  }
}
footer {
  /* #endregion width <= 980px */
  /* #region width > 700 <= 900px */
}
@media only screen and (width > 700px) and (width <= 900px) {
  footer.wp-block-template-part .ttt-footer > .alignwide {
    max-width: 90%;
  }
  footer.wp-block-template-part .ttt-footer > .wp-block-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  footer.wp-block-template-part .ttt-footer > .wp-block-columns > .wp-block-column:first-child {
    grid-row: span 2;
  }
  footer.wp-block-template-part .ttt-footer > .wp-block-columns .wp-block-navigation__container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    width: 100%;
  }
  footer.wp-block-template-part .ttt-footer > .wp-block-columns .wp-block-navigation-item.social-link {
    grid-column: -1/1;
  }
}
footer {
  /* #endregion width > 700px <= 900px */
  /* #region width <= 700px */
}
@media only screen and (width <= 700px) {
  footer.wp-block-template-part .ttt-footer > .alignwide {
    max-width: 90%;
  }
  footer.wp-block-template-part .ttt-footer .footer_logo {
    width: 75px;
  }
  footer.wp-block-template-part .ttt-footer > .wp-block-columns > .wp-block-column:nth-child(2) .wp-block-navigation__container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    width: 100%;
  }
}
footer {
  /* #endregion width <= 700px */
}

/* #endregion Footer */
/* #region Footer contact slide-in */
body:not(.editor-styles-wrapper) .footer-contact-container {
  bottom: 0;
  left: auto;
  max-width: 620px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  pointer-events: none;
  position: fixed;
  right: 0;
  top: var(--wp-admin--admin-bar--height, 0px);
  transform: translatex(100%);
  transition: transform 350ms ease;
  width: 100%;
  z-index: 200;
}
body:not(.editor-styles-wrapper) .footer-contact-container.is-open {
  pointer-events: auto;
  transform: translatex(0%);
}
body:not(.editor-styles-wrapper) .footer-contact-container .footer-contact-close {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--wp--preset--color--white, #ffffff);
  cursor: pointer;
  display: flex;
  height: 2rem;
  justify-content: center;
  outline: 2px solid transparent;
  outline-offset: 0px;
  padding: 0;
  position: absolute;
  right: var(--wp--preset--spacing--50, 1.5rem);
  top: var(--wp--preset--spacing--50, 1.5rem);
  transition: all 350ms ease;
  width: 2rem;
  z-index: 2;
}
body:not(.editor-styles-wrapper) .footer-contact-container .footer-contact-close::before {
  background-color: currentColor;
  content: "";
  height: 100%;
  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.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--%3E%3Cpath d='M183.1 137.4C170.6 124.9 150.3 124.9 137.8 137.4C125.3 149.9 125.3 170.2 137.8 182.7L275.2 320L137.9 457.4C125.4 469.9 125.4 490.2 137.9 502.7C150.4 515.2 170.7 515.2 183.2 502.7L320.5 365.3L457.9 502.6C470.4 515.1 490.7 515.1 503.2 502.6C515.7 490.1 515.7 469.8 503.2 457.3L365.8 320L503.1 182.6C515.6 170.1 515.6 149.8 503.1 137.3C490.6 124.8 470.3 124.8 457.8 137.3L320.5 274.7L183.1 137.4z'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: 100%;
}
body:not(.editor-styles-wrapper) .footer-contact-container .footer-contact-close:focus-visible {
  outline: 2px dashed var(--wp--preset--color--white, #ffffff);
  outline-offset: 2px;
}
body:not(.editor-styles-wrapper) .footer-contact-container {
  /* #region width <= 500px */
}
@media only screen and (width <= 500px) {
  body:not(.editor-styles-wrapper) .footer-contact-container {
    padding-left: var(--wp--preset--spacing--50, 1.5rem) !important;
    padding-right: var(--wp--preset--spacing--50, 1.5rem) !important;
  }
}
body:not(.editor-styles-wrapper) .footer-contact-container {
  /* #endregion width <= 500px */
}
body:not(.editor-styles-wrapper) .footer-contact-overlay {
  align-items: center;
  backdrop-filter: blur(4px);
  background-color: rgba(238, 238, 238, 0.8666666667);
  display: flex;
  inset: 0 auto 0 0;
  justify-content: center;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: fixed;
  transform: translatex(-100%);
  transition: all 350ms ease;
  visibility: hidden;
  width: calc(100vw - 620px);
  z-index: 190;
}
body:not(.editor-styles-wrapper) .footer-contact-overlay::before {
  background-color: var(--wp--preset--color--black, #1b1b1b);
  opacity: 0.25;
}
body:not(.editor-styles-wrapper) .footer-contact-overlay .footer-contact-overlay__logo {
  backdrop-filter: blur(100px);
  box-sizing: content-box;
  height: 100px;
  padding: var(--wp--preset--spacing--40, 1rem);
  position: relative;
  width: 100px;
  z-index: 1;
  /* #region width <= 850px */
}
@media only screen and (width <= 850px) {
  body:not(.editor-styles-wrapper) .footer-contact-overlay .footer-contact-overlay__logo {
    display: none;
  }
}
body:not(.editor-styles-wrapper) .footer-contact-overlay .footer-contact-overlay__logo {
  /* #endregion width <= 850px */
}

html.has-modal-open .footer-contact-overlay {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  visibility: visible;
}

body.has-modal-open {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  body:not(.editor-styles-wrapper) .footer-contact-container {
    transition: none;
  }
  body:not(.editor-styles-wrapper) .footer-contact-overlay {
    transition: none;
  }
}
/* #endregion Footer contact slide-in */
/* #region Animations / Keyframes */
@keyframes tttFooterFill {
  to {
    width: 70%;
  }
}
/* #endregion Animations / Keyframes */
/* #region A11y */
.wp-block-navigation__container .wp-block-navigation-item > a {
  outline: 2px solid transparent;
  outline-offset: 0px;
  transition: all 300ms ease;
}
.wp-block-navigation__container .wp-block-navigation-item > a:focus-visible {
  outline: 2px dashed var(--wp--preset--color--primary, #6018fe);
  outline-offset: 2px;
}
.wp-block-navigation__container.has-white-color .wp-block-navigation-item > a:focus-visible {
  outline-color: var(--wp--preset--color--white, #ffffff);
}

/* #endregion A11y *//*# sourceMappingURL=style.css.map */

/* Cookie-Hinweis (Plugin „Cookie Notice") im twentytwentytwo-Look */

#cookie-notice {
	background-color: var(--wp--preset--color--surface) !important; /* überschreibt die Inline-Farbe des Plugins */
	color: var(--wp--preset--color--black);
	font-family: inherit;
}

#cookie-notice .cookie-notice-container {
	color: var(--wp--preset--color--black) !important;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1em 1.5em;
}

#cookie-notice .cn-text-container {
	margin: 0;
}

#cookie-notice .cn-buttons-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5em;
}

#cookie-notice .cn-button.cn-button-custom {
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--black, #1b1b1b);
	border-radius: 0;
	color: var(--wp--preset--color--black, #1b1b1b);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	padding: 0.5em 1.5em;
	margin: 0;
	cursor: pointer;
	transition: all 0.2s ease;
}

#cookie-notice .cn-button.cn-button-custom:hover,
#cookie-notice .cn-button.cn-button-custom:focus-visible {
	background-color: var(--wp--preset--color--primary, #6018fe);
	border-color: var(--wp--preset--color--primary, #6018fe);
	color: var(--wp--preset--color--white, #ffffff);
}
