/* ========================================================================== */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* +++++++++++++++++++++++++++++ TV ALSFELD +++++++++++++++++++++++++++++++++ */
/* +++++++++++++++++++++++++++++ STYLESHEET +++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ========================================================================== */

/************************************************************

$name      => TV Alsfeld
$author    => Nick Helfenbein <info@nick-helfenbein.com>
$version   => Version 1 (1.0)
$year      => 2026
$copyright => 2026. Nick Helfenbein. All rights reseved.

************************************************************/

/* ========================================================================== */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ========================================================================== */





/* ==========================================================================  
   +++++ Loading +++++
   ========================================================================== */

.loading-container {
    position: fixed;
    inset: 0;
    pointer-events: none;
    margin: 0;
    padding: 0;
    background: transparent;
    /* opacity: 0; */
    z-index: 10000;
}

.loading-screen {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: var(--color-primary-dark); */
    z-index: 20;
}

.loading-shutter {
    position: absolute;
    top: -10%;
    left: 0;
    width: 100%;
    height: 120%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    z-index: 0;
}

.loading-shutter .shutter-item {
    position: relative;
    bottom: 0;
    width: 100%;
    height: 10%0%;
    background: var(--color-primary);
    border: 1px solid rgba(var(--color-natural-100-rgb), .1);
    border-radius: 1em;
    z-index: 20;
}

.loading-screen .loading-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    height: max-content;
    transform: translate(-50%, -50%);
}

.loading-screen .loading-logo .general-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12.5em;
    transform: translate(-50%, -50%);
    opacity: 0;
    z-index: 10;
}

.loading-screen .loading-logo .stagger-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(var(--gap) * 2);
    opacity: 0;
}

.loading-screen .loading-logo .stagger-wrapper .stagger-logos,
.loading-screen .loading-logo .stagger-wrapper .stagger-text {
    position: relative;
}

.loading-screen .loading-logo .stagger-wrapper .stagger-logos .stagger-logo {
    position: relative;
    width: 12.5em;
    display: none;
}

.loading-screen .loading-logo .stagger-wrapper .stagger-logos .stagger-logo:first-child {
    display: block;
}

.loading-screen .loading-logo .stagger-wrapper .stagger-text h4 {
    display: none;
    color: var(--color-white);
    hyphens: none !important;
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;

    overflow-wrap: normal !important;
    word-break: normal !important;
}

.loading-screen .loading-logo .stagger-wrapper .stagger-text h4:first-child {
    display: block;
}

.loading-screen .loading-cards {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.loading-screen .loading-cards .loading-card {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22.5em;
    border-radius: 1em;
    overflow: hidden;
    display: block;
    transform: translate(-50%, -50%);
}

.loading-screen .loading-cards .loading-card:nth-child(1) {
    z-index: 7;
}

.loading-screen .loading-cards .loading-card:nth-child(2) {
    top: calc(50% - .5em);
    width: 22.25em;
    z-index: 6;
}

.loading-screen .loading-cards .loading-card:nth-child(3) {
    top: calc(50% - 1em);
    width: 22em;
    z-index: 5;
}

.loading-screen .loading-cards .loading-card:nth-child(4) {
    top: calc(50% - 1.5em);
    width: 21.75em;
    z-index: 4;
}

.loading-screen .loading-cards .loading-card:nth-child(5) {
    top: calc(50% - 2em);
    width: 21.5em;
    z-index: 3;
}

.loading-screen .loading-cards .loading-card:nth-child(6) {
    top: calc(50% - 2.5em);
    width: 21.25em;
    z-index: 2;
}

.loading-screen .loading-cards .loading-card:nth-child(7) {
    top: calc(50% - 3em);
    width: 21em;
    z-index: 1;
}


/* ==========================================================================  
   +++++ Navigation +++++
   ========================================================================== */

/* Basic */

.navigation {
    position: fixed;
    top: 0;
    left: 0;
    padding: var(--padding-container);
    background: transparent;
    width: 100%;
    z-index: 999;
}

.navigation .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.navigation .row .col.col-logo {
    width: 15em;
    transition: var(--animation-default);
}

[data-navigation-status="active"] .navigation .row .col.col-logo {
    opacity: 0;
}

.navigation .row .col.col-logo .logo-nav-primary {
    fill: var(--color-primary);
}

.navigation .row .col.col-logo .logo-nav-white {
    fill: var(--color-white);
}

.navigation .row .col.col-logo .logo-nav-dark {
    fill: var(--color-natural-800);
}


/* Flyout */

.navigation-flyout {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: calc(var(--vh) * 100);
    pointer-events: none;
    z-index: 998;
}

[data-navigation-status="active"] .navigation-flyout {
    pointer-events: all;
}

.navigation-flyout .shutter {
    position: absolute;
    top: -10%;
    left: 0;
    width: 100%;
    height: 120%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    pointer-events: none;
    z-index: 1000;
}

.navigation-flyout .shutter .shutter-item {
    position: relative;
    bottom: 0;
    width: 100%;
    height: 0%;
    background: var(--color-primary);
    border: 1px solid rgba(var(--color-natural-100-rgb), .1);
    border-radius: 1em;
    z-index: 20;
}

.navigation-flyout .navigation-flyout-row {
    position: relative;
    display: grid;
    width: 100%;
    height: 100%;
    grid-template-columns: repeat(2, 1fr);
    background: var(--color-natural-100);
    opacity: 0;
}

[data-navigation-status="active"] .navigation-flyout .navigation-flyout-row {
    opacity: 1;
}

.navigation-flyout .logo-overlay {
    position: absolute;
    top: calc(var(--gap) * 4);
    left: 50%;
    width: calc(var(--gap) * 7);
    transform: translateX(-50%);
    z-index: 30;
}

.navigation-flyout .navigation-flyout-row .col-image-float,
.navigation-flyout .navigation-flyout-row .col-menu {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.navigation-flyout .navigation-flyout-row .col-image-float .image-float {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 10;
}

.navigation-flyout .navigation-flyout-row .col-image-float .image-float[data-level="2"] {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    overflow: hidden;
    z-index: 0;
}

.navigation-flyout .navigation-flyout-row .col-image-float .image-float-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    will-change: transform;
}

.navigation-flyout .navigation-flyout-row .col-image-float .image-float-figure {
    position: relative;
    width: 100%;
    height: calc(var(--vh) * 100);
    flex: 0 0 100%;
    overflow: hidden;
    margin: 0;
}

.navigation-flyout .navigation-flyout-row .col-image-float .image-float-figure img,
.navigation-flyout .navigation-flyout-row .col-image-float .image-float-figure picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.navigation-flyout .navigation-flyout-row .col-menu {
    position: relative;
    padding: calc(var(--gap) * 4);
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
}

.navigation-flyout .navigation-flyout-row .col-menu .menu-list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap) * 1.5);
    z-index: 10;

}

.navigation-flyout .navigation-flyout-row .col-menu .sub-menu-wrap {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    padding: calc(var(--gap) * 4);
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--animation-short), transform var(--animation-short);
}

.navigation-flyout .navigation-flyout-row .col-menu .sub-menu-wrap .sub-menu-list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap) * 1.5);
    z-index: 10;
}

[data-sub-navigation-status="active"] .navigation-flyout-row .col-image-float .image-float[data-level="2"],
[data-sub-navigation-status="active"] .navigation-flyout-row .col-menu .sub-menu-wrap {
    opacity: 1;
    pointer-events: all;
}

[data-sub-navigation-status="active"] .navigation-flyout-row .col-image-float .image-float[data-level="1"],
[data-sub-navigation-status="active"] .navigation-flyout-row .col-menu .main-menu-list {
    opacity: 0;
    pointer-events: none;
}


/* Back-Button (Submenü zurück) */

.navigation-flyout .back-button {
    display: inline-flex;
    align-items: center;
    gap: calc(var(--gap) * .5);
    margin-bottom: calc(var(--gap) * 2);
    padding: .65em 1.2em .65em .9em;
    border-radius: 1000em;
    border: 1.5px solid var(--color-natural-300);
    background: transparent;
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: var(--font-size-small);
    font-weight: 600;
    cursor: pointer;
    appearance: none;
    outline: 0;
    transition: var(--animation-short);
}

.navigation-flyout .back-button .back-button-arrow {
    display: block;
    width: .55em;
    height: .55em;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: var(--animation-short);
}

.navigation-flyout .back-button:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.navigation-flyout .back-button:hover .back-button-arrow {
    transform: rotate(45deg) translate(-0.15em, 0.15em);
}


.shutter-hub {
    position: fixed;
    top: 0;
    height: 100%;
    z-index: 29;
    pointer-events: none;
    display: flex;
    overflow: hidden;
}

.shutter-hub-left {
    left: 0;
    width: 50%;
    pointer-events: none;
}

.shutter-hub-right {
    left: 50%;
    width: 50%;
    pointer-events: none;
}

.shutter-hub .shutter-hub-item {
    position: absolute;
    top: 0;
    width: 100%;
    left: -100%;
    height: 100%;
    background: var(--color-white);
}


/* ==========================================================================  
   +++++ Footer +++++
   ========================================================================== */

.section-footer {
    background: transparent;
    margin-top: -2em;
    border-radius: 2em 2em 0 0;
    z-index: 10;
}

.section-footer .container-marquee {
    background: var(--color-primary);
    padding-block: var(--padding-container);
    border-radius: 2em;
    z-index: 10;
}

.section-footer .container-marquee .marquee-item h3 {
    text-transform: uppercase;
    color: transparent;
    -webkit-text-stroke: 2px var(--color-white);
    white-space: nowrap;
    display: flex;
    gap: calc(var(--gap) * .5);
}

.section-footer .container-marquee .marquee-item h3.solid {
    color: var(--color-white);
}

.section-footer .container-marquee .marquee-item .spacer {
    padding-right: calc(var(--gap) * .5);
}

.section-footer .container-marquee .marquee-item h3.solid .spacer {
    color: var(--color-white);
}

.section-footer .container-main {
    padding-bottom: var(--padding-section);
    padding-top: calc(var(--padding-section) + 4em);
    margin-top: -4em;
    z-index: 1;
    border-radius: 0 0 2em 2em;
    background: var(--color-natural-400);
}

.section-footer .container-main .row {
    display: flex;
    justify-content: space-between;
    gap: var(--gap);
}

.section-footer .container-main .row .col-50 {
    width: calc(50% - calc(var(--gap) * 2));
}

.section-footer .container-main .row .col-25 {
    width: calc(25% - calc(var(--gap) * .5));
}

.section-footer .container-main .row .col-50 .logo {
    max-width: 25em;
    margin-bottom: 2em;
}

.section-footer .container-main .info {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
}

.section-footer .container-main .info .w-50 {
    width: calc(50% - calc(var(--gap) * .5));
}

.section-footer .container-main .info .w-100 {
    width: 100%;
}

.section-footer .container-main .info .info-col {
    display: grid;
    gap: var(--gap);
}

.section-footer .container-main .info .info-item {
    display: flex;
    gap: var(--gap);
}

.section-footer .container-main .info .info-item .symbol {
    width: 1.625em;
    height: 1.625em;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: .5;
}

.section-footer .container-main .info .info-item .text {
    display: flex;
    white-space: nowrap;
    gap: .25em;
}

.section-footer .container-main .info .info-item .text .link,
.section-footer .container-main .info .info-item .text .link .link-wrap {
    font-size: 1.125em;
}

.section-footer .container-main .row .col-25 .eyebrow {
    text-transform: uppercase;
    font-weight: 300;
    color: var(--color-text);
    opacity: .75;
    font-size: 1.25em;
    margin-bottom: 1.5em;
}

.section-footer .container-main .row .col-25 .navigation-list {
    display: grid;
    gap: var(--gap);
}

.section-footer .container-main .row .col-25 .navigation-list .link,
.section-footer .container-main .row .col-25 .navigation-list .link-wrap {
    width: max-content;
    color: var(--color-text);
}

.section-footer .container-bottom {
    background: var(--color-white);
    padding-block: calc(var(--gap) * 2);
    padding-top: calc(calc(var(--gap) * 2) + 4em);
    margin-top: -4em;
    z-index: 0;
}

.section-footer .container-bottom .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.section-footer .container-bottom .row .col-copyright {
    font-size: .9em;
}

.section-footer .container-bottom .row .col-legal {
    display: flex;
    flex-direction: row;
    justify-content: end;
    align-items: center;
    gap: var(--gap);
}


/* ==========================================================================  
   +++++ Header +++++
   ========================================================================== */

.section-header {
    padding-top: calc(var(--padding-section) * 2.5);
    color: var(--color-white);
}

.section-header .overlay-background-media {
    z-index: -1;
}

.section-header .overlay-background-media,
.section-header .overlay-background-media picture.overlay {
    height: calc(var(--padding-section) * 5);
    overflow: hidden;
}

.section-header .overlay-background-media .overlay-gradient {
    position: absolute;
    left: 0;
    top: calc(var(--padding-section) * 2.5);
    width: 100%;
    height: calc(var(--padding-section) * 2.5);
    background: linear-gradient(to bottom, transparent, var(--color-natural-900) 75%);
    z-index: 2;
}

.section-header .container {
    text-align: center;
}

.section-header .container h1.big {
    font-size: var(--font-size-big);
    text-transform: uppercase;
    -webkit-text-stroke: 2px var(--color-white);
    color: rgba(var(--color-natural-100-rgb), .5);
    margin-bottom: .125em;
}




/* ==========================================================================  
   +++++ Home +++++
   ========================================================================== */

/* Hero */

.section-home-hero {
    position: relative;
    min-height: calc(var(--vh) * 100);
    background: var(--color-natural-900);
    padding-top: calc(var(--padding-section) * 1.5);
    padding-bottom: var(--padding-container);
    display: flex;
    flex-direction: column;
}

.section-home-hero .container {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
    flex-shrink: 0;
    width: 100%;
}

.section-home-hero h1.big {
    font-size: var(--font-size-big);
    color: var(--color-white);
}

.section-home-hero h1.big.stroke {
    -webkit-text-stroke: 1.5px var(--color-white);
    color: transparent;
}

.section-home-hero .font-bottom {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: end;
    height: 100%;
}

.section-home-hero h3 {
    color: var(--color-white);
    text-align: start;
}

.section-home-hero h3 span {
    position: relative;
    padding-inline: .5em;
    display: inline-block;
}

.section-home-hero h3 span .svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + .25em);
    transform: translate(-50%, -50%);
}

.section-home-hero .marquee-center {
    position: relative;
    width: 140%;
    transform: rotate(-3deg);
}

.section-home-hero .marquee-center .marquee-content {
    gap: calc(var(--gap) * 2);
    padding-left: calc(var(--gap) * 2);
}

.section-home-hero .marquee-center .marquee-item {
    position: relative;
    width: 17.5em;
    border-radius: 1em;
    overflow: hidden;
    border: 2px solid var(--color-white);
}

.section-home-hero .marquee-center .marquee-item a.overlay {
    z-index: 10;
}

.section-home-hero .marquee-center .marquee-item .overlay-text {
    padding: var(--gap);
    background: linear-gradient(to top, rgba(var(--color-natural-1000-rgb), .5), transparent 70%);
    display: flex;
    justify-content: start;
    align-items: end;
    color: var(--color-white);
    z-index: 1;
}

.section-home-hero .marquee-center .marquee-item .overlay-text p.large {
    font-size: var(--font-size-medium);
    font-weight: 700;
    text-transform: uppercase;
}


/* Intro */

.section-home-intro {
    background: var(--color-natural-900);
}

.section-home-intro .container .container-top h1 {
    text-transform: uppercase;
    text-align: center;
    color: var(--color-white);
    font-size: calc(var(--font-size-big) * .85);
    hyphens: none !important;
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;

    overflow-wrap: normal !important;
    word-break: normal !important;

}

.section-home-intro .container .container-top h1 span {
    position: relative;
    padding-inline: calc(var(--gap) * .75);
}

.section-home-intro .container .container-top h1 span .svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
}

.section-home-intro .container-center {
    padding: calc(var(--padding-container) * 2) var(--padding-container);
    width: 100%;
    overflow: hidden;
}

.section-home-intro .container-center .swiper-wrapper {
    align-items: center;
}

.section-home-intro .container-center .swiper-wrapper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

.section-home-intro .container-center .swiper-wrapper .swiper-slide .image-figure {
    border-radius: 1em;
    overflow: hidden;
    transition: var(--animation-default);
}

.section-home-intro [data-slider-drag-status="grabbing"] .swiper-wrapper .swiper-slide .image-figure {
    transform: scale(.9);
}

.section-home-intro .container .container-bottom h2 {
    text-align: center;
    color: var(--color-white);
    hyphens: none !important;
    overflow-wrap: none !important;
    word-break: none !important;
}

.section-home-intro .container .container-bottom h2 strong {
    position: relative;
    padding-inline: calc(var(--gap) * .75);
    display: inline-block;
}

.section-home-intro .container .container-bottom h2 strong:has(.svg.line) {
    padding-inline: 0;
    display: inline-block;
}

.section-home-intro .container .container-bottom h2 strong .svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
}

.section-home-intro .container .container-bottom h2 strong .svg.line {
    top: 95%;
}

.section-home-intro .container .container-bottom .button-row {
    display: flex;
    justify-content: center;
    padding-top: var(--padding-container);
}


/* Departments */

.section-home-departments {
    background: var(--color-natural-900);
}

.section-home-departments .container h1.big {
    color: var(--color-white);
    text-align: center;
    font-size: calc(var(--font-size-big) * .85);
}

.section-home-departments .container-slider .slider .row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--gap) * 3);
    min-height: calc(var(--vh) * 70);
    margin-top: calc(var(--gap) * 4);
    margin-bottom: calc(var(--gap) * 2);
}

.section-home-departments .container-slider .slider .row[data-slider-actions] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--gap);
    min-height: max-content;
    padding-top: var(--padding-container);
}

.section-home-departments .container-slider .slider .row .col-slider {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
}

[data-slider-interface] {
    position: relative;
}

[data-slider-interface] .slider-part {
    position: relative;
    height: 100%;
}

[data-slider-interface] .slider-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    will-change: transform, opacity, filter;
}

[data-slider-interface] .slider-slide:first-child {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

.slider-part-images {
    overflow: hidden;
    z-index: 0;
}

.slider-part-images .slider-slide .image-figure {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: rotate(1.5deg);
    border-radius: 1em;
    overflow: hidden;
    width: 80%;
    height: 100%;
    border: 3px solid var(--color-white);
    transform: translate(-50%, -50%);
}

.slider-part-images .slider-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;

    backface-visibility: hidden;
    transform: translateZ(0);
    will-change: transform, filter;
}

.pixelating img {
    image-rendering: pixelated;
    image-rendering: crisp-edges;
}

.pixelate-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform-origin: top left;
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
}

.pixel-canvas {
    opacity: 0;
    pointer-events: none;
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
}

.slider-part-logos {
    position: absolute !important;
    top: 30%;
    left: 10%;
    width: 7.5em;
    height: max-content !important;
    transform: translateX(-50%) rotate(-3deg);
    z-index: 20;
}

.slider-part-logos .slider-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-part-logos svg,
.slider-part-logos img {
    width: 100%;
    height: auto;

    transform-origin: center;
    will-change: transform, opacity;
}

.col-slider-text {
    position: relative;
}

.col-slider-text .slider-slide {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: calc(var(--gap) * 2);
    color: var(--color-white);
}

.col-slider-text .slider-slide .btn {
    color: var(--color-text);
}

.word-wrap {
    display: inline-block;
    overflow: hidden;
    vertical-align: top;
}

.word {
    display: inline-block;
    will-change: transform;
}

.line {
    display: block;
    overflow: hidden;
}

.slider-slide,
.slider-slide img,
.slider-slide svg {
    transform: translateZ(0);
    backface-visibility: hidden;
}


/* News */

.section-home-news {
    background: var(--color-natural-900);
}

.section-home-news .container h1.big {
    color: var(--color-white);
    text-align: center;
    font-size: calc(var(--font-size-big) * .85);
}

.section-home-news .container-slider {
    padding: calc(var(--padding-container) * 2) var(--padding-container);
    width: 100%;
}

.section-home-news .container-slider .swiper-wrapper {
    align-items: center;
}

.section-home-news .container-slider .swiper-wrapper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

.section-home-news .container-slider .swiper-wrapper .swiper-slide .swiper-slide-inner {
    border-radius: 1.5em;
    padding: calc(var(--gap) * 1.5);
    background: var(--color-white);
    overflow: hidden;
    transition: var(--animation-default);
}

.section-home-news [data-slider-drag-status="grabbing"] .swiper-wrapper .swiper-slide .swiper-slide-inner {
    transform: scale(.9);
}

.section-home-news .container-slider .swiper-wrapper .swiper-slide .swiper-slide-inner .image-wrapper {
    margin-bottom: var(--gap);
}

.section-home-news .container-slider .swiper-wrapper .swiper-slide .swiper-slide-inner .image-wrapper .image-figure {
    border-radius: .5em;
}

.section-home-news .container-slider .swiper-wrapper .swiper-slide .swiper-slide-inner .text-wrapper .date-wrap {
    margin-bottom: var(--gap);
}

.section-home-news .container-slider .swiper-wrapper .swiper-slide .swiper-slide-inner .text-wrapper .date-wrap p {
    padding: .4em .75em;
    border-radius: 100em;
    background: var(--color-primary);
    color: var(--color-white);
    width: max-content;
    font-size: var(--font-size-small);
}

.section-home-news .container-slider .swiper-wrapper .swiper-slide .swiper-slide-inner .text-wrapper .body-wrap p {
    font-size: var(--font-size-small);
    opacity: .75;
}

.section-home-news .container-slider .swiper-wrapper .swiper-slide .swiper-slide-inner .text-wrapper .body-wrap p a {
    color: var(--color-primary);
}


/* Testimonials */

.section-call-to-action {
    min-height: calc(var(--vh) * 100);
    background: var(--color-natural-900);
    padding-block: calc(var(--padding-section) * 1.5);
}

.section-call-to-action .overlay-background-media {
    opacity: .5;
}

.section-call-to-action .container h1 {
    color: var(--color-white);
    text-transform: uppercase;
    font-size: var(--font-size-big);
    margin-bottom: .25em;
}

.container-testiminials {
    position: relative;
    display: flex;
    justify-content: end;
    align-items: end;
    height: 100%;
}

.container-testiminials [data-slider-interface] {
    position: relative;
    width: 100%;
    max-width: 30em;
    text-align: end;
}

.container-testiminials [data-slider-actions] {
    display: flex;
    justify-content: end;
    gap: var(--gap);
    margin-bottom: calc(var(--gap) * 2);
}

.slider-part-testimonials {
    position: relative;
    min-height: 12em;
    /* Platz, damit Slides beim Wechsel nicht springen */
}

.slider-part-testimonials .slider-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    will-change: transform, opacity;
}

.slider-part-testimonials .slider-slide:first-child {
    position: relative;
    opacity: 1;
    pointer-events: auto;
}

.testimonial-text {
    font-size: 1.25em;
    color: var(--color-white);
}

.testimonial-author {
    display: flex;
    flex-direction: column;
    margin-top: var(--gap);
    color: var(--color-white);
}

.testimonial-author .name {
    font-weight: 600;
}

.testimonial-author .role {
    opacity: .6;
    font-size: .875em;
    color: var(--color-white);
}

/* SplitText – falls noch nicht global vorhanden */
.word-wrap {
    display: inline-block;
    overflow: hidden;
    vertical-align: top;
}

.word {
    display: inline-block;
    will-change: transform;
}


/* ==========================================================================  
   +++++ About +++++
   ========================================================================== */

/* Timeline */

.section-about-timeline {
    background: var(--color-natural-900);
    color: var(--color-white);
}

.section-about-timeline .container-header {
    text-align: center;
    color: var(--color-white);
    margin-bottom: var(--padding-container);
}

.section-about-timeline .container-header h1.big {
    font-size: var(--font-size-big);
    text-transform: uppercase;
}

.section-about-timeline .timeline-item {
    display: flex;
    flex-direction: column;
}

.section-about-timeline .timeline-item .timeline-item-header .timeline-cut .timeline-cut-wrapper {
    position: relative;
    width: 100%;
}

.section-about-timeline .timeline-item .timeline-item-header .timeline-cut .timeline-cut-border {
    position: absolute;
    top: 0;
    left: var(--padding-container);
    width: 150%;
    height: 2px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='2' viewBox='0 0 48 2'%3E%3Cline x1='0' y1='1' x2='30' y2='1' stroke='%23878787' stroke-width='30'/%3E%3C/svg%3E") repeat-x center;
}

.section-about-timeline .timeline-item .timeline-item-header .timeline-cut .timeline-cut-svg {
    color: var(--color-natural-700);
    width: 3.75em;
    position: absolute;
    top: -1.925em;
    left: 0;
}

.section-about-timeline .timeline-item .timeline-item-header .container.row {
    padding-block: var(--padding-container);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--padding-container);
}

.section-about-timeline .timeline-item .timeline-item-header .container.row p.year {
    font-size: 1.75em;
    color: var(--color-white);
}

.section-about-timeline .timeline-item .timeline-item-header .container.row p.large {
    font-size: 2.25em;
    color: var(--color-white);
    font-weight: 800;
}


.section-about-timeline .timeline-item .timeline-content {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    color: var(--color-white);
    contain: layout paint;
    will-change: grid-template-rows;
    transition: grid-template-rows .45s var(--ease-standard);
}

.section-about-timeline .timeline-item .timeline-content>.container {
    min-height: 0;
}

.section-about-timeline .timeline-item[data-timeline-status="active"] .timeline-content {
    grid-template-rows: 1fr;
    padding-top: var(--padding-container);
    padding-bottom: var(--padding-section);
}


/* Facts */

.section-about-facts .container-facts .row {
    gap: calc(var(--gap) * 2);
}

.section-about-facts .container-facts .row .fact-col {
    position: relative;
    width: calc(calc(100% / 3) - calc(calc(var(--gap) * 4) / 3));
    display: grid;
    gap: calc(var(--gap) * 2);
}

.section-about-facts .container-facts .row .fact-col .inner-col {
    position: relative;
    padding: var(--padding-container);
    background: var(--color-white);
    border-radius: 2em;
    border: 1px solid var(--color-natural-700);
    overflow: hidden;
}

.section-about-facts .container-facts .row .fact-col .inner-col .overlay-background-media {
    overflow: hidden;
    width: 100%;
    height: 100%;
}


/* Type Slider */

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-slider {
    position: relative;
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-slider .swiper-slide {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: var(--gap);
    padding-bottom: calc(var(--gap) * 2);
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-slider .year {
    font-size: 3em;
    font-weight: 800;
    text-transform: uppercase;
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-slider .title {
    font-size: 2em;
}

.section-about-facts .container-facts .row .fact-col .inner-col .swiper-navigation {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.section-about-facts .container-facts .row .fact-col .inner-col .swiper-navigation .swiper-pagination-bullet {
    position: relative;
    flex: 1;
    height: 10px;
    border-radius: 0;
    opacity: 1;
    cursor: pointer;
    margin: 0 !important;
    background: transparent;
}

.section-about-facts .container-facts .row .fact-col .inner-col .swiper-navigation .swiper-pagination-bullet::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    background: rgba(0, 0, 0, 0.15);
    width: 100%;
    height: 1px;
    transform: translateY(-50%);
}

.section-about-facts .container-facts .row .fact-col .inner-col .swiper-navigation .progress {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    transform: translateY(-50%) scaleX(0);
    transform-origin: left center;
    background-color: currentColor;
}

.section-about-facts .container-facts .row .fact-col .inner-col .swiper-navigation .swiper-pagination-bullet-active .progress {
    height: var(--progress-height, 2px);
}


/* Type: Personal */

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-personal {
    background: var(--color-natural-700);
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-personal .item-top {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-personal .item-top p.large {
    position: absolute;
    top: 75%;
    left: 50%;
    width: 100%;
    font-size: 2em;
    font-weight: 800;
    text-transform: uppercase;
    text-align: center;
    transform: translate(-50%, -50%);
    color: var(--color-white);
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-personal .item-top .image-figure {
    max-width: 10em;
    border-radius: 1em;
    overflow: hidden;
}


.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-personal .item-bottom {
    padding-top: var(--padding-container);
    display: flex;
    justify-content: center;
    align-items: center;
}


/* Type: Background Media */

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-background-media {
    background: var(--color-natural-800);
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-background-media .before {
    position: relative;
    padding-top: 40%;
    display: block;
    width: 100%;
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-background-media .overlay-background-media {
    opacity: .5;
    z-index: 1;
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-background-media .large {
    position: relative;
    font-size: 2em;
    font-weight: 700;
    color: var(--color-white);
    text-align: center;
    z-index: 10;
}


/* Type: Board */

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-board {
    background: #360404;
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-board .marquee-content {
    padding-right: calc(var(--gap) * 2);
    gap: calc(var(--gap) * 2);
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-board .marquee-item {
    width: 7.5em;
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-board .marquee-item .image-figure {
    border-radius: .75em;
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-board .title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--gap);
    padding-top: var(--padding-container);
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-board .title p.large {
    font-size: 2em;
    text-align: center;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--color-white);
}


/* Type: Simple */

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-simple {
    background: #27282a;
    color: var(--color-white);
    gap: calc(var(--gap) * 2);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-simple:nth-of-type(2) {
    background: #373737;
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-simple:nth-of-type(3) {
    background: #0d280a;
}


.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-simple .symbol {
    display: flex;
    justify-content: center;
}

.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-simple .symbol svg {
    width: 2.5em;
    height: 2.5em;
}


.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-simple .title p {
    text-align: center;
}


.section-about-facts .container-facts .row .fact-col .inner-col.inner-col-simple .title p.large {
    font-size: 2em;
    font-weight: 700;
    margin-bottom: .5em;
}


/* Board */

.section-about-board .container-header {
    text-align: center;
    color: var(--color-white);
    margin-bottom: var(--padding-container);
}

.section-about-board .container-header h1.big {
    font-size: var(--font-size-big);
    text-transform: uppercase;
}


.section-about-board .container-slider {
    position: relative;
}

.section-about-board .container-slider .swiper-viewport {
    overflow: hidden;
    border-radius: 1em;
}

.section-about-board .container-slider .swiper-viewport .swiper-slide {
    position: relative;
}

.section-about-board .container-slider .swiper-viewport .swiper-slide .image-figure {
    border-radius: 1em;
}

.section-about-board .container-slider .swiper-viewport .swiper-slide .meta {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: calc(var(--gap) * 2);
    background: linear-gradient(to top, rgba(var(--color-natural-900-rgb), .5), transparent);
}

.section-about-board .container-slider .swiper-viewport .swiper-slide .meta .name {
    font-size: 1.5em;
    font-weight: 700;
    color: var(--color-white);
}

.section-about-board .container-slider .swiper-viewport .swiper-slide .meta .position {
    color: var(--color-white);
}

.section-about-board .container-slider .swiper-viewport .swiper-slide .meta .department-badge {
    padding: .5em .8em;
    border-radius: 100em;
    background: var(--color-primary);
    color: var(--color-white);
    font-size: .85em;
    margin-top: 1em;
    width: max-content;
}


.section-about-board .container-slider .btn[data-slider-direction="prev"] {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
}

.section-about-board .container-slider .btn[data-slider-direction="next"] {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(50%, -50%);
    z-index: 100;
}


/* ==========================================================================  
   +++++ News +++++
   ========================================================================== */

/* Slider */

.section-news .container-slider {
    position: relative;
}

.section-news .container-slider .swiper-viewport {
    overflow: hidden;
    border-radius: 1em 1em 0 0;
}

.section-news .container-slider .swiper-viewport .swiper-slide {
    position: relative;
}

.section-news .container-slider .swiper-viewport .swiper-slide .image-figure {
    border-radius: 1em;
}

.section-news .container-slider .swiper-viewport .swiper-slide .meta {
    position: relative;
    padding-top: calc(var(--gap) * 2);
    padding-inline: .1em;
    color: var(--color-white);
    max-width: 100%;
    overflow: hidden;
}

.section-news .container-slider .swiper-viewport .swiper-slide .meta .date-wrap {
    margin-bottom: var(--gap);
}

.section-news .container-slider .swiper-viewport .swiper-slide .meta .date-wrap p {
    padding: .4em .75em;
    border-radius: 100em;
    background: var(--color-primary);
    color: var(--color-white);
    width: max-content;
    font-size: var(--font-size-small);
}

/* h5 has no local override otherwise and inherits the global 2.5em page-title
   size (styleguide.css) - far too large for a narrow slider card and the
   direct cause of titles overflowing the slide. Clamped to 2 lines so long
   headlines truncate cleanly instead of spilling over the card edge. */
.section-news .container-slider .swiper-viewport .swiper-slide .meta .title-wrap h5 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: var(--font-size-medium);
    line-height: 1.3;
    margin-bottom: .3em;
}

.section-news .container-slider .swiper-viewport .swiper-slide .meta .body-wrap p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: var(--font-size-small);
    line-height: 1.5;
    opacity: .75;
}

.section-news .container-slider .swiper-viewport .swiper-slide .meta .body-wrap .read-more {
    display: inline-block;
    margin-top: .6em;
    font-size: var(--font-size-small);
    font-weight: 600;
    color: var(--color-primary);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: var(--animation-short);
}

.section-news .container-slider .swiper-viewport .swiper-slide .meta .body-wrap .read-more:hover {
    border-color: var(--color-primary);
}

.section-news .container-slider .swiper-viewport .swiper-slide .meta .body-wrap p a {
    color: var(--color-primary);
}


.section-news .container-slider .btn[data-slider-direction="prev"] {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
}

.section-news .container-slider .btn[data-slider-direction="next"] {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(50%, -50%);
    z-index: 100;
}



/* Contact Form */

.section-header-contact .container-medium {
    margin-bottom: var(--padding-container);
}

.section-header-contact .overlay-background-media,
.section-header-contact .overlay-background-media picture.overlay {
    height: calc(var(--padding-section) * 7.5);
}


.section-header-contact .overlay-background-media .overlay-gradient {
    top: calc(var(--padding-section) * 5);
}

.section-header-contact .container-form .row {
    gap: var(--padding-container);
    padding: var(--padding-container);
    border-radius: 2.5em;
    background: var(--color-white);
}

.section-header-contact .container-form .row .col:nth-child(1) {
    width: calc(40% - calc(var(--padding-container) * .5));
}

.section-header-contact .container-form .row .col:nth-child(2) {
    width: calc(60% - calc(var(--padding-container) * .5));
}

.section-header-contact .container-form .row .col-form {
    background: var(--color-natural-900);
    border-radius: 1em;
    padding: calc(var(--gap) * 2);
}

.section-header-contact .container-form .col-info .logo {
    max-width: 17.5em;
    margin-bottom: 2em;
}

.section-header-contact .container-form .col-info .info {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    color: var(--color-text);
}

.section-header-contact .container-form .col-info .w-50 {
    width: calc(50% - calc(var(--gap) * .5));
}

.section-header-contact .container-form .col-info .w-100 {
    width: 100%;
}

.section-header-contact .container-form .col-info .info-col {
    display: grid;
    gap: var(--gap);
}

.section-header-contact .container-form .col-info .info-item {
    display: flex;
    gap: var(--gap);
}

.section-header-contact .container-form .col-info .info-item .symbol {
    width: 1.625em;
    height: 1.625em;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: .5;
}

.section-header-contact .container-form .col-info .info-item .text {
    display: flex;
    white-space: nowrap;
    gap: .25em;
    text-align: start;
}

.section-header-contact .container-form .col-info .info-item .text .link,
.section-header-contact .container-form .col-info .info-item .text .link .link-wrap {
    font-size: 1.125em;
}












































/* ========================================================================== */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* +++++++++++++++++++++++++++++ RESPONSIVE ++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ========================================================================== */


/* ---------- Tablet (<=991px) ---------- */
@media (max-width: 991px) {

    /* Navigation Flyout: 2 Spalten -> 1 Spalte, Bild nach hinten */
    .navigation-flyout .navigation-flyout-row {
        grid-template-columns: 1fr;
    }

    .navigation-flyout .logo-overlay {
        position: absolute;
        top: calc(var(--gap) * 4);
        left: var(--padding-container);
        width: calc(var(--gap) * 7);
        transform: translateX(0%);
        z-index: 30;
    }

    .navigation-flyout .navigation-flyout-row .col-image-float {
        display: none;
    }

    .navigation-flyout .navigation-flyout-row .col-menu {
        padding: calc(var(--gap) * 3);
    }

    .navigation-flyout .navigation-flyout-row .col-menu .sub-menu-wrap {
        padding: calc(var(--gap) * 3);
    }

    .shutter-hub-left {
        left: 0;
        width: 100%;
        pointer-events: none;
    }

    .shutter-hub-right {
        left: 0%;
        width: 100%;
        pointer-events: none;
    }

    .section-home-intro .container .container-top h1 span {
        position: relative;
        display: inline-block;
    }

    .section-home-intro .container .container-top h1 span .svg {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        transform: translate(-50%, -50%);
    }

    .section-home-departments .container-slider .slider .row {
        grid-template-columns: 1fr;
        min-height: auto;
        gap: calc(var(--gap) * 7.5);
    }

    .section-home-departments .container-slider .slider .row .col-slider {
        min-height: 20em;
    }

    .section-footer .container-main .row .col-50 {
        width: calc(50% - var(--gap));
    }

    .section-footer .container-main .row .col-25 {
        width: calc(25% - var(--gap));
    }

    /* Facts: 3 -> 2 Spalten */
    .section-about-facts .container-facts .row .fact-col {
        width: calc(calc(100% / 2) - calc(var(--gap) / 2));
    }

    /* Kontaktformular: Info/Formular untereinander */
    .section-header-contact .container-form .row {
        flex-direction: column;
    }

    .section-header-contact .container-form .row .col:nth-child(1),
    .section-header-contact .container-form .row .col:nth-child(2) {
        width: 100%;
    }
}

/* ---------- Mobile (<=767px) ---------- */
@media (max-width: 767px) {

    /* Hero */
    .section-home-hero .font-bottom {
        flex-direction: column;
        align-items: start;
        text-align: start;
        gap: calc(var(--gap) * 2);
    }

    .section-home-hero .marquee-center {
        width: 200%;
    }

    .section-home-hero .marquee-center .marquee-item {
        width: 20em;
    }

    .section-home-intro .container-bottom h2 {
        font-size: calc(var(--font-size-big) * .5);
    }

    .section-footer .container-main .row {
        flex-direction: column;
        gap: calc(var(--gap) * 4);
    }

    .section-footer .container-main .row .col-50,
    .section-footer .container-main .row .col-25 {
        width: 100%;
    }

    .section-footer .container-bottom .row {
        flex-direction: column;
        align-items: start;
        gap: var(--gap);
    }

    .section-footer .container-bottom .row .col-legal {
        justify-content: start;
        flex-wrap: wrap;
    }

    /* Navigation Logo etwas kleiner */
    .navigation .row .col.col-logo {
        width: 10em;
    }

    .navigation-flyout .logo-overlay {
        width: calc(var(--gap) * 5);
        top: calc(var(--gap) * 2);
    }

    /* Departments Slider Höhe reduzieren */
    .section-home-departments .container-slider .slider .row .col-slider {
        min-height: 16em;
    }

    .slider-part-logos {
        width: 5em;
    }

    /* Testimonials: linksbündig statt rechtsbündig, volle Breite */
    .container-testiminials {
        justify-content: start;
        align-items: start;
        flex-direction: column;
        padding-top: calc(var(--padding-container) * 2);
    }

    .container-testiminials [data-slider-interface] {
        max-width: 100%;
        text-align: start;
    }

    .container-testiminials [data-slider-actions] {
        justify-content: start;
    }

    .testimonial-text {
        font-size: 1.1em;
    }

    /* News/Intro Swiper: weniger Innenabstand */
    .section-home-intro .container-center,
    .section-home-news .container-slider {
        padding: calc(var(--padding-container) * 1.25) var(--padding-container);
    }

    /* ---------- Mobile Navigation: dunkles Vollbild-Theme ---------- */

    .navigation-flyout .navigation-flyout-row {
        background: var(--color-natural-900);
    }

    .navigation-flyout .navigation-flyout-row .col-menu {
        padding: calc(var(--gap) * 3) var(--padding-container);
        align-items: stretch;
    }

    .navigation-flyout .navigation-flyout-row .col-menu .menu-list {
        gap: calc(var(--gap) * 1.1);
    }

    .navigation-flyout .navigation-flyout-row .col-menu .menu-list .link {
        border-bottom: 1px solid rgba(var(--color-natural-100-rgb), .12);
        padding-bottom: calc(var(--gap) * .85);
    }

    .navigation-flyout .navigation-flyout-row .col-menu .link-wrap {
        color: var(--color-white);
        justify-content: space-between;
        width: 100%;
    }

    .navigation-flyout .navigation-flyout-row .col-menu .arrow-icon {
        color: var(--color-primary);
    }

    /* Submenü als dunkles Drawer-Panel statt Vollbild-Shutter-Wechsel */
    .navigation-flyout .navigation-flyout-row .col-menu .sub-menu-wrap {
        background: var(--color-natural-900);
        padding: calc(var(--gap) * 3) var(--padding-container);
        align-items: stretch;
        transform: translateX(2%);
    }

    [data-sub-navigation-status="active"] .navigation-flyout-row .col-menu .sub-menu-wrap {
        transform: translateX(0);
    }

    .navigation-flyout .navigation-flyout-row .col-menu .sub-menu-list {
        gap: calc(var(--gap) * 1.1);
    }

    .navigation-flyout .navigation-flyout-row .col-menu .sub-menu-list .link {
        border-bottom: 1px solid rgba(var(--color-natural-100-rgb), .12);
        padding-bottom: calc(var(--gap) * .85);
    }

    .navigation-flyout .navigation-flyout-row .col-menu .sub-menu-list .link-wrap {
        color: var(--color-white);
        width: 100%;
    }

    /* Zurück-Button: größerer Touch-Target, helle Variante auf dunklem Grund */
    .navigation-flyout .back-button {
        color: var(--color-white);
        border-color: rgba(var(--color-natural-100-rgb), .3);
        padding: .75em 1.4em .75em 1em;
    }

    .navigation-flyout .back-button:hover,
    .navigation-flyout .back-button:active {
        border-color: var(--color-primary);
        color: var(--color-primary);
        background: rgba(var(--color-natural-100-rgb), .06);
    }

    /* Facts: 2 -> 1 Spalte */
    .section-about-facts .container-facts .row {
        flex-direction: column;
    }

    .section-about-facts .container-facts .row .fact-col {
        width: 100%;
    }

    /* Timeline: Meta/Button untereinander statt nebeneinander */
    .section-about-timeline .timeline-item .timeline-item-header .container.row {
        flex-direction: column;
        align-items: flex-start;
        gap: calc(var(--gap) * 1.25);
    }

    .section-about-timeline .timeline-item .timeline-item-header .container.row p.large {
        font-size: 1.5em;
    }

    /* Kontaktformular: Innenabstand reduzieren */
    .section-header-contact .container-form .row {
        padding: calc(var(--padding-container) * .6);
        border-radius: 1.5em;
    }

    .section-header-contact .container-form .row .col-form {
        padding: calc(var(--gap) * 1.25);
    }
}

/* ---------- Small Mobile (<=479px) ---------- */
@media (max-width: 479px) {

    .section-home-hero .marquee-center .marquee-item {
        width: 15em;
    }

    .section-home-hero .marquee-center .marquee-item .overlay-text p.large {
        font-size: var(--font-size-small);
    }

    .navigation-flyout .navigation-flyout-row .col-menu {
        padding: calc(var(--gap) * 2);
    }

    .navigation-flyout .navigation-flyout-row .col-menu .sub-menu-wrap {
        padding: calc(var(--gap) * 2);
    }

    .navigation-flyout .logo-overlay {
        width: calc(var(--gap) * 4);
    }

    .section-home-departments .container-slider .slider .row .col-slider {
        min-height: 13em;
    }

    .loading-screen .loading-logo .general-logo,
    .loading-screen .loading-logo .stagger-wrapper .stagger-logos .stagger-logo {
        width: 8em;
    }

    .loading-screen .loading-cards .loading-card {
        width: 16em;
    }
}