/* WSK Maschinenbau Bootstrap 5 Template - v1.4.4
   Konsolidierte moderne Designfassung.
   Grundlayout und Modern-2026-Komponenten sind in dieser Datei zusammengefuehrt. */

/* =========================================================
   Grundlayout und Template-Struktur
   ========================================================= */

:root {
    --wsk-blue: #005884;
    --wsk-blue-dark: #003c5b;
    --wsk-blue-soft: #dcebf2;
    --wsk-black: #07090a;
    --wsk-gray-900: #282b2d;
    --wsk-gray-800: #344650;
    --wsk-gray-700: #6f7173;
    --wsk-gray-500: #a8aaac;
    --wsk-gray-200: #e6e7e8;
    --wsk-gray-100: #f3f4f5;
    --wsk-white: #ffffff;
    --wsk-focus: #ffbf47;
    --wsk-header-height: 100px;
    --wsk-content-width: 1200px;
    --wsk-wide-width: 1440px;
    --wsk-narrow-width: 860px;
    --wsk-section-space: clamp(3.5rem, 6vw, 6.5rem);
    --wsk-shadow: 0 18px 48px rgba(0, 40, 60, .12);
    --wsk-heading-font: "Arial Narrow", "Roboto Condensed", "Liberation Sans Narrow", Arial, sans-serif;
    --wsk-body-font: Arial, "Helvetica Neue", sans-serif;

    /* Bootstrap-Farbvariablen an das WSK-Screendesign angleichen */
    --bs-primary: #005884;
    --bs-primary-rgb: 0, 88, 132;
    --bs-link-color: #005884;
    --bs-link-hover-color: #003c5b;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--wsk-header-height) + 1rem); }
body { margin: 0; color: var(--wsk-gray-900); background: var(--wsk-white); font-family: var(--wsk-body-font); font-size: 1rem; line-height: 1.62; -webkit-font-smoothing: antialiased; }
body.modal-open { padding-right: 0 !important; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--wsk-blue); text-underline-offset: .18em; }
a:hover { color: var(--wsk-blue-dark); }
:focus-visible { outline: 3px solid var(--wsk-focus) !important; outline-offset: 3px; box-shadow: none !important; }
::selection { color: var(--wsk-white); background: var(--wsk-blue); }

h1, h2, h3, h4, h5, h6, .display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
    margin-top: 0; color: var(--wsk-blue); font-family: var(--wsk-heading-font); font-weight: 800; line-height: 1.08; letter-spacing: -.02em;
}
h1 { font-size: clamp(2.7rem, 5.8vw, 5.2rem); }
h2 { font-size: clamp(2rem, 3.6vw, 3.25rem); }
h3 { font-size: clamp(1.45rem, 2.2vw, 2rem); }
h4 { font-size: 1.3rem; }
p:last-child, ul:last-child, ol:last-child { margin-bottom: 0; }
.lead { font-size: clamp(1.12rem, 1.6vw, 1.35rem); }
.wsk-kicker { margin-bottom: .5rem; color: inherit; font-family: var(--wsk-heading-font); font-size: 1.12rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }

.container { max-width: var(--wsk-content-width); }
.wsk-container-wide { max-width: var(--wsk-wide-width) !important; }
.wsk-container-narrow { max-width: var(--wsk-narrow-width) !important; }
.wsk-skip-link { position: fixed !important; z-index: 2000; top: .75rem; left: .75rem; padding: .75rem 1rem; color: var(--wsk-white); background: var(--wsk-blue); }

/* Header and navigation */
.wsk-site-header { z-index: 1030; background: rgba(255, 255, 255, .98); border-bottom: 1px solid rgba(0, 88, 132, .1); box-shadow: 0 8px 24px rgba(0, 45, 70, .06); }
.wsk-navbar { min-height: var(--wsk-header-height); padding: .65rem 0; }
.wsk-logo { display: block; width: clamp(158px, 17vw, 232px); height: auto; max-height: 82px; object-fit: contain; object-position: left center; }
.wsk-navbar .navbar-brand { min-width: clamp(158px, 17vw, 232px); display: flex; margin-right: clamp(1.5rem, 4vw, 4rem); padding: 0; align-items: center; }
.wsk-navbar .navbar-collapse { justify-content: flex-end; }
.wsk-main-nav { width: 100%; align-items: center; justify-content: flex-end; gap: clamp(.1rem, .8vw, .65rem); }
.wsk-main-nav > .nav-item { position: relative; }
.wsk-single-language .wsk-main-nav > .page-1 { display: none; }
.wsk-main-nav .nav-link { padding: 1.05rem .62rem; color: var(--wsk-blue-dark); font-family: var(--wsk-heading-font); font-size: clamp(.94rem, 1.15vw, 1.08rem); font-weight: 800; line-height: 1.1; text-decoration: none; white-space: nowrap; }
.wsk-main-nav .nav-link::after { position: absolute; right: .62rem; bottom: .7rem; left: .62rem; height: 2px; content: ""; background: var(--wsk-blue); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.wsk-main-nav .nav-link:hover::after, .wsk-main-nav .nav-link:focus-visible::after, .wsk-main-nav .menu-current > .nav-link::after, .wsk-main-nav .menu-parent > .wsk-nav-parent .nav-link::after { transform: scaleX(1); }
.wsk-nav-parent { display: flex; align-items: center; }
.wsk-nav-parent .nav-link { flex: 1 1 auto; }
.wsk-submenu-toggle { display: inline-grid; width: 2rem; height: 2rem; padding: 0; border: 0; background: transparent; place-items: center; }
.wsk-submenu-toggle span { width: .55rem; height: .55rem; border-right: 2px solid var(--wsk-blue); border-bottom: 2px solid var(--wsk-blue); transform: rotate(45deg) translate(-1px, -1px); transition: transform .2s ease; }
.wsk-submenu-toggle[aria-expanded="true"] span { transform: rotate(225deg) translate(-1px, -1px); }
.wsk-main-nav .dropdown-menu { min-width: 18rem; margin: 0; padding: .55rem; border: 0; border-top: 4px solid var(--wsk-blue); border-radius: 0; background: var(--wsk-gray-100); box-shadow: var(--wsk-shadow); }
.wsk-main-nav .dropdown-menu .dropdown-menu { top: -.55rem; left: 100%; }
.wsk-main-nav .dropdown-item { position: relative; padding: .65rem .8rem; color: var(--wsk-blue-dark); font-family: var(--wsk-heading-font); font-weight: 700; white-space: normal; }
.wsk-main-nav .dropdown-item:hover, .wsk-main-nav .dropdown-item:focus, .wsk-main-nav .menu-current > .dropdown-item { color: var(--wsk-white); background: var(--wsk-blue); }
.wsk-header-actions { display: flex; align-items: center; gap: .55rem; }
.wsk-header-search { width: 2.55rem; height: 2.55rem; padding: .58rem; border: 1px solid var(--wsk-gray-200); background: var(--wsk-white); align-items: center; justify-content: center; }
.wsk-header-search img { width: 1.25rem; height: 1.25rem; }
.wsk-language-menu { display: flex; align-items: center; gap: .2rem; }
.wsk-language-menu a { display: inline-flex; min-width: 2.2rem; min-height: 2.2rem; padding: .25rem .4rem; color: var(--wsk-blue); font-family: var(--wsk-heading-font); font-weight: 800; text-decoration: none; align-items: center; justify-content: center; }
.wsk-language-menu a[aria-current="page"] { color: var(--wsk-white); background: var(--wsk-blue); }
.wsk-language-menu #langmenu { display: flex; float: none; margin: 0; padding: 0; gap: .2rem; }
.wsk-language-menu #langmenu a { min-width: 2.2rem; }
.navbar-toggler { width: 3rem; height: 3rem; padding: .55rem; border: 1px solid var(--wsk-gray-200); border-radius: 0; }
.wsk-toggler-lines { display: grid; gap: .3rem; }
.wsk-toggler-lines span { display: block; width: 100%; height: 2px; background: var(--wsk-blue); }

/* Contact rail */
.wsk-contact-rail { position: fixed; z-index: 1025; top: calc(var(--wsk-header-height) + 5.5rem); right: 0; display: flex; flex-direction: column; border: 1px solid rgba(0, 88, 132, .22); background: var(--wsk-white); box-shadow: 0 10px 24px rgba(0, 35, 55, .15); }
.wsk-rail-link { display: grid; width: 3.15rem; height: 3.15rem; padding: .72rem; border: 0; border-bottom: 1px solid var(--wsk-gray-200); color: var(--wsk-blue); background: var(--wsk-white); place-items: center; }
.wsk-rail-link:last-child { border-bottom: 0; }
.wsk-rail-link:hover, .wsk-rail-link:focus-visible { background: var(--wsk-blue-soft); }
.wsk-rail-link img { width: 1.45rem; height: 1.45rem; }
.wsk-mobile-contact { display: none; }


/* Fullscreen machine navigator */
body.wsk-navigator-open { overflow: hidden; }
.wsk-navigator { position: fixed; z-index: 1090; inset: 0; overflow-y: auto; padding: clamp(1rem, 3vw, 2rem); color: var(--wsk-white); background: rgba(0, 39, 61, .98); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .22s ease, visibility .22s ease; }
.wsk-navigator.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.wsk-navigator-inner { min-height: calc(100vh - clamp(2rem, 6vw, 4rem)); display: flex; align-items: center; }
.wsk-navigator-container { position: relative; padding-top: clamp(3.5rem, 7vw, 5.5rem); padding-bottom: clamp(3.5rem, 7vw, 5.5rem); }
.wsk-navigator-header { max-width: 780px; margin-bottom: clamp(2rem, 5vw, 4rem); }
.wsk-navigator-header h2, .wsk-navigator-header .wsk-kicker { color: var(--wsk-white); }
.wsk-navigator-header h2 { margin-bottom: .75rem; font-size: clamp(2.35rem, 5vw, 4.8rem); }
.wsk-navigator-header .wsk-navigator-intro { max-width: 650px; color: rgba(255, 255, 255, .82); font-size: clamp(1rem, 1.7vw, 1.2rem); }
.wsk-navigator-finder-footer { display: flex; justify-content: center; margin-top: clamp(1.5rem, 3vw, 2.5rem); text-align: center; }
.wsk-navigator-finder-link { display: inline-flex; gap: .55rem; align-items: center; color: var(--wsk-white); font-weight: 750; text-decoration: none; text-underline-offset: .22em; }
.wsk-navigator-finder-link:hover, .wsk-navigator-finder-link:focus-visible { color: var(--wsk-white); text-decoration: underline; }
.wsk-navigator-finder-arrow { font-size: 1.25em; line-height: 1; transition: transform .2s ease; }
.wsk-navigator-finder-link:hover .wsk-navigator-finder-arrow, .wsk-navigator-finder-link:focus-visible .wsk-navigator-finder-arrow { transform: translateX(.2rem); }
.wsk-navigator-close { position: fixed; z-index: 2; top: clamp(1rem, 2.5vw, 2rem); right: clamp(1rem, 2.5vw, 2rem); width: 3.4rem; height: 3.4rem; border: 1px solid rgba(255, 255, 255, .36); color: var(--wsk-white); background: transparent; }
.wsk-navigator-close::before, .wsk-navigator-close::after { position: absolute; top: 50%; left: 50%; width: 1.65rem; height: 2px; content: ""; background: currentColor; }
.wsk-navigator-close::before { transform: translate(-50%, -50%) rotate(45deg); }
.wsk-navigator-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.wsk-navigator-close:hover, .wsk-navigator-close:focus-visible { color: var(--wsk-blue-dark); background: var(--wsk-white); }
.wsk-navigator-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2.3vw, 2rem); }
.wsk-navigator-card { min-height: 190px; display: flex; padding: clamp(1.2rem, 2.5vw, 2rem); border: 1px solid rgba(255, 255, 255, .18); color: var(--wsk-white); background: rgba(255, 255, 255, .055); text-align: center; text-decoration: none; transition: transform .22s ease, border-color .22s ease, background .22s ease; flex-direction: column; align-items: center; justify-content: center; }
.wsk-navigator-card:hover, .wsk-navigator-card:focus-visible { color: var(--wsk-white); border-color: rgba(255, 255, 255, .72); background: var(--wsk-blue); transform: translateY(-6px); }
.wsk-navigator-icon { width: clamp(68px, 7vw, 96px); aspect-ratio: 1; display: grid; margin-bottom: 1rem; padding: 1rem; background: var(--wsk-blue); place-items: center; transition: background .22s ease; }
.wsk-navigator-card:hover .wsk-navigator-icon, .wsk-navigator-card:focus-visible .wsk-navigator-icon { background: var(--wsk-blue-dark); }
.wsk-navigator-icon img { width: 100%; max-height: 100%; filter: brightness(0) invert(1); }
.wsk-navigator-label { font-family: var(--wsk-heading-font); font-size: clamp(1rem, 1.35vw, 1.25rem); font-weight: 800; line-height: 1.15; text-transform: uppercase; }

/* Hero */
.wsk-auto-hero, .wsk-hero, .wsk-hero-section { position: relative; overflow: hidden; color: var(--wsk-white); background: var(--wsk-blue-dark); }
.wsk-auto-hero { min-height: clamp(320px, 46vw, 520px); display: flex; align-items: center; isolation: isolate; }
.wsk-auto-hero::before { position: absolute; z-index: -2; inset: 0; content: ""; background-image: var(--wsk-hero-image); background-position: center; background-size: cover; transform: scale(1.02); }
.wsk-auto-hero::after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(0, 34, 54, .94) 0%, rgba(0, 61, 91, .76) 52%, rgba(0, 52, 78, .34) 100%); }
.wsk-auto-hero-content { max-width: 900px; padding: clamp(4rem, 8vw, 7rem) 0; }
.wsk-auto-hero h1, .wsk-auto-hero .wsk-kicker { color: var(--wsk-white); text-shadow: 0 3px 15px rgba(0, 0, 0, .25); }
.wsk-hero-intro { max-width: 760px; margin-top: 1rem; font-size: clamp(1rem, 1.7vw, 1.2rem); }
.wsk-hero-section > .container-fluid { position: relative; }
.wsk-hero { min-height: clamp(320px, 46vw, 520px); display: flex; align-items: center; background-position: center; background-size: cover; isolation: isolate; }
.wsk-hero::after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(0, 35, 55, .9), rgba(0, 66, 100, .45)); }
.wsk-hero-content { max-width: 920px; padding: clamp(4rem, 8vw, 7rem) 0; }
.wsk-hero h1, .wsk-hero h2, .wsk-hero h3 { color: var(--wsk-white); }
.wsk-blue-rule { height: .45rem; background: var(--wsk-blue); }

/* Breadcrumb */
.wsk-breadcrumb { border-bottom: 1px solid var(--wsk-gray-200); background: var(--wsk-white); }
.wsk-breadcrumb .breadcrumb { padding: .75rem 0; font-size: .92rem; }
.wsk-breadcrumb a { color: var(--wsk-blue-dark); }
.wsk-breadcrumb .active { color: var(--wsk-gray-700); }

/* Flexible sections */
.wsk-section { position: relative; overflow: clip; padding: var(--wsk-section-space) 0; }
.wsk-section.wsk-compact { padding-top: clamp(2rem, 3.5vw, 3.25rem); padding-bottom: clamp(2rem, 3.5vw, 3.25rem); }
.wsk-section.wsk-large { padding-top: clamp(5rem, 9vw, 9rem); padding-bottom: clamp(5rem, 9vw, 9rem); }
.wsk-section.wsk-no-padding { padding: 0; }
.wsk-bg-white { background: var(--wsk-white); }
.wsk-bg-light { background: var(--wsk-gray-100); }
.wsk-bg-gray { color: var(--wsk-white); background: var(--wsk-gray-700); }
.wsk-bg-dark { color: var(--wsk-white); background: #55585a; }
.wsk-bg-black { color: var(--wsk-white); background: var(--wsk-black); }
.wsk-bg-brand { color: var(--wsk-white); background: var(--wsk-blue); }
.wsk-bg-navy { color: var(--wsk-white); background: var(--wsk-blue-dark); }
.wsk-bg-gradient { color: var(--wsk-white); background: linear-gradient(135deg, var(--wsk-blue-dark), var(--wsk-blue)); }
.wsk-bg-gray h2, .wsk-bg-gray h3, .wsk-bg-dark h2, .wsk-bg-dark h3, .wsk-bg-black h2, .wsk-bg-black h3, .wsk-bg-brand h2, .wsk-bg-brand h3, .wsk-bg-navy h2, .wsk-bg-navy h3, .wsk-bg-gradient h2, .wsk-bg-gradient h3 { color: var(--wsk-white); }
.wsk-bg-gray a, .wsk-bg-dark a, .wsk-bg-black a, .wsk-bg-brand a, .wsk-bg-navy a, .wsk-bg-gradient a { color: var(--wsk-white); }
.wsk-ring-decor::after { position: absolute; right: clamp(-11rem, -8vw, -4rem); bottom: clamp(-11rem, -8vw, -4rem); width: clamp(18rem, 31vw, 34rem); aspect-ratio: 1; content: ""; opacity: .26; border: clamp(2.3rem, 4.7vw, 5rem) solid currentColor; border-left-color: transparent; border-radius: 50%; transform: rotate(-25deg); pointer-events: none; }
.wsk-diagonal::before { position: absolute; top: 0; right: -8vw; width: 35vw; height: 100%; content: ""; opacity: .08; background: currentColor; transform: skewX(-15deg); pointer-events: none; }
.wsk-section > .container, .wsk-section > .container-fluid { position: relative; z-index: 1; }
.wsk-sidebar { padding: 1.75rem; border-top: 5px solid var(--wsk-blue); background: var(--wsk-gray-100); }

/* Buttons */
.btn, button, input[type="submit"], input[type="button"] { border-radius: 0; }
.btn-primary, .wsk-btn, .mod_mpform input[type="submit"], .mod_mpform button[type="submit"] { padding: .72rem 1.05rem; border-color: var(--wsk-blue); color: var(--wsk-white); background: var(--wsk-blue); font-family: var(--wsk-heading-font); font-weight: 800; }
.btn-primary:hover, .btn-primary:focus, .wsk-btn:hover, .wsk-btn:focus { border-color: var(--wsk-blue-dark); color: var(--wsk-white); background: var(--wsk-blue-dark); }
.btn-outline-primary { border-color: var(--wsk-blue); color: var(--wsk-blue); }
.btn-outline-primary:hover { color: var(--wsk-white); background: var(--wsk-blue); }
.wsk-more-button { display: inline-grid; width: 2.8rem; height: 2.8rem; border: 0; color: var(--wsk-white); background: var(--wsk-blue); font-size: 1.8rem; line-height: 1; text-decoration: none; place-items: center; }

/* Process icon tiles */
.wsk-process-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: clamp(.75rem, 1.8vw, 1.5rem); }
.wsk-process-card { color: var(--wsk-blue-dark); text-align: center; text-decoration: none; }
.wsk-process-icon { display: grid; width: min(100%, 92px); aspect-ratio: 1; margin: 0 auto .75rem; padding: 1.15rem; background: var(--wsk-blue); transition: transform .2s ease, background .2s ease; place-items: center; }
.wsk-process-icon img { width: 100%; filter: brightness(0) invert(1); }
.wsk-process-card strong { display: block; font-family: var(--wsk-heading-font); font-size: .92rem; font-weight: 800; text-transform: uppercase; }
.wsk-process-card:hover .wsk-process-icon, .wsk-process-card:focus-visible .wsk-process-icon { background: var(--wsk-blue-dark); transform: translateY(-4px); }

/* Material tiles */
.wsk-material-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.wsk-material-card { position: relative; min-height: 96px; display: flex; overflow: hidden; padding: 1rem; color: var(--wsk-white); background: var(--wsk-blue-dark); background-position: center; background-size: cover; font-family: var(--wsk-heading-font); font-size: clamp(1.2rem, 2vw, 1.65rem); font-weight: 800; text-decoration: none; align-items: center; justify-content: center; isolation: isolate; }
.wsk-material-card::after { position: absolute; z-index: -1; inset: 0; content: ""; background: rgba(0, 45, 70, .68); transition: background .2s ease; }
.wsk-material-card:hover, .wsk-material-card:focus-visible { color: var(--wsk-white); }
.wsk-material-card:hover::after, .wsk-material-card:focus-visible::after { background: rgba(0, 45, 70, .84); }

/* Product layout */
.wsk-product-list { display: grid; gap: 0; }
.wsk-product-card { padding: clamp(2.2rem, 5vw, 4.5rem) 0; border-bottom: 1px solid var(--wsk-gray-200); }
.wsk-product-card:last-child { border-bottom: 0; }
.wsk-product-card:nth-child(even) { background: var(--wsk-gray-100); box-shadow: 50vw 0 var(--wsk-gray-100), -50vw 0 var(--wsk-gray-100); }
.wsk-product-card .wsk-product-image { overflow: hidden; background: var(--wsk-gray-200); }
.wsk-product-card .wsk-product-image img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.wsk-model { margin-bottom: .15rem; font-family: var(--wsk-heading-font); font-size: clamp(1.55rem, 2.6vw, 2.35rem); font-weight: 800; line-height: 1; }
.wsk-model-subtitle { margin-bottom: 1rem; color: var(--wsk-gray-700); font-family: var(--wsk-heading-font); font-size: 1.3rem; }
.wsk-tech-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.wsk-tech-list { margin: 0; padding-left: 1.1rem; }
.wsk-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.wsk-gallery-grid img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }

/* Cards and feature blocks */
.wsk-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.wsk-card { height: 100%; padding: clamp(1.4rem, 2.5vw, 2rem); border-top: 5px solid var(--wsk-blue); background: var(--wsk-white); box-shadow: var(--wsk-shadow); }
.wsk-feature-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 2rem; padding: 0; list-style: none; }
.wsk-feature-list li { position: relative; padding-left: 1.55rem; }
.wsk-feature-list li::before { position: absolute; top: .65em; left: 0; width: .58rem; height: .58rem; content: ""; background: var(--wsk-blue); }

/* Details and accordions */
details.wsk-details { border-top: 1px solid var(--wsk-gray-200); }
details.wsk-details:last-child { border-bottom: 1px solid var(--wsk-gray-200); }
details.wsk-details summary { position: relative; padding: 1.15rem 3rem 1.15rem 0; color: var(--wsk-blue); font-family: var(--wsk-heading-font); font-size: 1.35rem; font-weight: 800; cursor: pointer; list-style: none; }
details.wsk-details summary::-webkit-details-marker { display: none; }
details.wsk-details summary::after { position: absolute; top: 50%; right: .35rem; content: "+"; font-size: 1.8rem; transform: translateY(-50%); }
details.wsk-details[open] summary::after { content: "-"; }
details.wsk-details > div { padding: 0 0 1.5rem; }
.accordion { --bs-accordion-border-radius: 0; --bs-accordion-inner-border-radius: 0; --bs-accordion-active-color: var(--wsk-white); --bs-accordion-active-bg: var(--wsk-blue); --bs-accordion-btn-focus-box-shadow: none; }
.accordion-button { font-family: var(--wsk-heading-font); font-size: 1.2rem; font-weight: 800; }

/* Forms and mpform */
.wsk-section label, .mod_mpform label { color: var(--wsk-blue-dark); font-family: var(--wsk-heading-font); font-weight: 800; }
.wsk-section input[type="text"], .wsk-section input[type="email"], .wsk-section input[type="tel"], .wsk-section input[type="url"], .wsk-section input[type="number"], .wsk-section input[type="search"], .wsk-section input[type="file"], .wsk-section select, .wsk-section textarea,
.mod_mpform input[type="text"], .mod_mpform input[type="email"], .mod_mpform input[type="tel"], .mod_mpform input[type="url"], .mod_mpform select, .mod_mpform textarea {
    width: 100%; min-height: 3rem; padding: .7rem .8rem; border: 1px solid #c5c8ca; border-radius: 0; color: var(--wsk-gray-900); background: var(--wsk-white);
}
.wsk-section textarea, .mod_mpform textarea { min-height: 10rem; resize: vertical; }
.wsk-section input:focus, .wsk-section select:focus, .wsk-section textarea:focus, .mod_mpform input:focus, .mod_mpform select:focus, .mod_mpform textarea:focus { border-color: var(--wsk-blue); outline: 3px solid rgba(255, 191, 71, .6); outline-offset: 1px; }
.mod_mpform table { width: 100%; }
.mod_mpform td { padding: .45rem; vertical-align: top; }
.mod_mpform .mpform_title { width: 28%; color: var(--wsk-blue-dark); font-family: var(--wsk-heading-font); font-weight: 800; }
.wsk-search-modal .modal-content { border: 0; border-radius: 0; box-shadow: var(--wsk-shadow); }
.wsk-search-modal .modal-header { border-bottom: 4px solid var(--wsk-blue); }
.wsk-search-form .form-control { border-radius: 0; }
.highlight { padding: 0 .12em; background: #fff2a8; }

/* Tables */
.wsk-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .75rem .85rem; border-bottom: 1px solid var(--wsk-gray-200); text-align: left; vertical-align: top; }
th { color: var(--wsk-white); background: var(--wsk-blue); font-family: var(--wsk-heading-font); }

/* Map and claim */
.wsk-map-placeholder { min-height: 360px; display: grid; padding: 2rem; color: var(--wsk-gray-900); background: var(--wsk-gray-100); text-align: center; place-items: center; }
.wsk-claim { position: relative; min-height: clamp(250px, 34vw, 430px); display: flex; color: var(--wsk-white); background: var(--wsk-blue-dark) center/cover no-repeat; align-items: center; isolation: isolate; }
.wsk-claim::after { position: absolute; z-index: -1; inset: 0; content: ""; background: rgba(0, 49, 74, .68); }
.wsk-claim h2 { max-width: 1050px; margin: 0; color: var(--wsk-white); font-size: clamp(2.2rem, 4.8vw, 4.8rem); }

/* Footer */
.wsk-site-footer { padding: clamp(2.75rem, 5vw, 4.25rem) 0 1.4rem; color: var(--wsk-white); background: var(--wsk-blue); font-size: .94rem; }
.wsk-site-footer a { color: var(--wsk-white); }
.wsk-footer-logo { width: min(100%, 210px); filter: brightness(0) invert(1); }
.wsk-footer-contact { display: grid; gap: .25rem; }
.wsk-footer-links { margin: 0; }
.wsk-footer-links li { margin-bottom: .35rem; }
.wsk-footer-links a { text-decoration: none; }
.wsk-footer-links a:hover, .wsk-footer-links a:focus { text-decoration: underline; }
.wsk-footer-bottom { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .24); font-size: .82rem; }

/* Module compatibility */
.onebyone, .members, .mod_onebyone, .mod_members { max-width: 100%; }
.wsk-section .section_anchor { position: absolute; top: calc(-1 * var(--wsk-header-height) - 1rem); }

@media (min-width: 992px) {
    .wsk-main-nav .dropdown:hover > .dropdown-menu, .wsk-main-nav .dropdown:focus-within > .dropdown-menu, .wsk-main-nav .dropdown.is-open > .dropdown-menu { display: block; }
    .wsk-main-nav .dropdown-subitem { position: relative; }
    .wsk-main-nav .dropdown-subitem > .dropdown-menu { top: 0; left: 100%; }
    .wsk-language-mobile { display: none !important; }
}

@media (max-width: 1199.98px) {
    :root { --wsk-header-height: 92px; }
    .wsk-main-nav .nav-link { padding-right: .42rem; padding-left: .42rem; font-size: .94rem; }
    .wsk-process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
    :root { --wsk-header-height: 82px; }
    body { padding-bottom: 66px; }
    .wsk-navbar { min-height: var(--wsk-header-height); }
    .wsk-logo { width: 145px; max-height: 62px; }
    .wsk-header-actions { margin-left: auto !important; }
    .wsk-language-desktop { display: none; }
    .wsk-navbar .navbar-collapse { max-height: calc(100vh - var(--wsk-header-height)); overflow-y: auto; padding: 1rem 0 1.5rem; border-top: 1px solid var(--wsk-gray-200); }
    .wsk-main-nav { align-items: stretch; gap: 0; }
    .wsk-main-nav .nav-link { position: relative; padding: .8rem .2rem; font-size: 1.12rem; }
    .wsk-main-nav .nav-link::after { right: auto; bottom: .45rem; left: .2rem; width: 2rem; }
    .wsk-nav-parent { border-bottom: 1px solid var(--wsk-gray-200); }
    .wsk-main-nav > .nav-item:not(.dropdown) { border-bottom: 1px solid var(--wsk-gray-200); }
    .wsk-submenu-toggle { width: 3rem; height: 3rem; }
    .wsk-main-nav .dropdown-menu { position: static; display: none; padding: .4rem 0 .6rem 1rem; border-top: 0; box-shadow: none; }
    .wsk-main-nav .dropdown.is-open > .dropdown-menu { display: block; }
    .wsk-main-nav .dropdown-item { padding: .55rem .75rem; }
    .wsk-language-mobile { margin-top: 1rem; justify-content: flex-start; }
    .wsk-contact-rail { display: none; }
    .wsk-mobile-contact { position: fixed; z-index: 1035; right: 0; bottom: 0; left: 0; display: grid; height: 66px; border-top: 1px solid rgba(0, 88, 132, .25); background: var(--wsk-white); box-shadow: 0 -8px 24px rgba(0, 35, 55, .12); grid-auto-flow: column; grid-auto-columns: 1fr; }
    .wsk-mobile-contact a, .wsk-mobile-contact button { display: grid; padding: .4rem; border: 0; border-right: 1px solid var(--wsk-gray-200); color: var(--wsk-blue); background: var(--wsk-white); font-size: .72rem; text-decoration: none; place-items: center; }
    .wsk-mobile-contact img { width: 1.4rem; height: 1.4rem; }
    .wsk-mobile-contact span { line-height: 1; }
    .wsk-navigator-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wsk-navigator-card { min-height: 160px; }
    .wsk-material-grid, .wsk-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wsk-tech-grid { grid-template-columns: 1fr; }
    .wsk-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
    h1 { font-size: clamp(2.35rem, 12vw, 3.4rem); }
    .wsk-auto-hero-content { padding: 3.5rem 0; }
    .wsk-auto-hero .wsk-hero-intro { display: none; }
    .wsk-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wsk-material-grid, .wsk-card-grid, .wsk-gallery-grid { grid-template-columns: 1fr; }
    .wsk-feature-list { grid-template-columns: 1fr; }
    .mod_mpform td, .mod_mpform tr, .mod_mpform tbody { display: block; width: 100%; }
    .mod_mpform .mpform_title { width: 100%; padding-bottom: .1rem; }
    .wsk-site-footer { text-align: left; }
    .wsk-navigator { padding: .75rem; }
    .wsk-navigator-inner { min-height: calc(100vh - 1.5rem); }
    .wsk-navigator-grid { gap: .75rem; }
    .wsk-navigator-card { min-height: 132px; padding: 1rem .65rem; }
    .wsk-navigator-icon { width: 58px; margin-bottom: .65rem; padding: .75rem; }
    .wsk-navigator-label { font-size: .86rem; }
    .wsk-navigator-finder-footer { margin-top: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (forced-colors: active) {
    .wsk-process-icon, .wsk-feature-list li::before, .wsk-blue-rule { forced-color-adjust: none; background: CanvasText; }
}

@media print {
    .wsk-site-header, .wsk-contact-rail, .wsk-mobile-contact, .wsk-breadcrumb, .wsk-site-footer, .modal { display: none !important; }
    body { padding: 0; color: #000; background: #fff; }
    .wsk-section { padding: 1.5rem 0; break-inside: avoid; }
    a { color: #000; text-decoration: underline; }
    a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .85em; }
}


/* =========================================================
   Modern-2026-Design und redaktionelle Komponenten
   ========================================================= */

.wsk-design-modern {
    --wsk-blue: #005884;
    --wsk-blue-bright: #0076a3;
    --wsk-blue-cyan: #2a94b3;
    --wsk-blue-dark: #003c5b;
    --wsk-blue-deep: #002d45;
    --wsk-blue-soft: #e3eff4;
    --wsk-blue-mist: #f3f8fa;
    --wsk-gray-900: #17242b;
    --wsk-gray-800: #344650;
    --wsk-gray-700: #5d6d75;
    --wsk-gray-500: #9aabb2;
    --wsk-gray-200: #dce7eb;
    --wsk-gray-100: #f4f8fa;
    --wsk-radius-xs: 6px;
    --wsk-radius-sm: 10px;
    --wsk-radius-md: 16px;
    --wsk-radius-lg: 24px;
    --wsk-shadow-sm: 0 8px 22px rgba(0, 49, 74, .09);
    --wsk-shadow: 0 20px 55px rgba(0, 49, 74, .13);
    --wsk-shadow-hover: 0 28px 70px rgba(0, 58, 86, .19);
    --wsk-gradient-brand: linear-gradient(135deg, #003f60 0%, #005884 58%, #167f9f 100%);
    --wsk-gradient-deep: linear-gradient(135deg, #002536 0%, #003c5b 58%, #005074 100%);
    --wsk-gradient-light: linear-gradient(145deg, #ffffff 0%, #f3f8fa 46%, #e3eef3 100%);
    --wsk-gradient-gray: linear-gradient(145deg, #66747a 0%, #4e5a60 55%, #37474f 100%);
    --bs-primary: #005884;
    --bs-primary-rgb: 0, 88, 132;
    --bs-link-color: #005884;
    --bs-link-hover-color: #003c5b;
    background: #f8fbfc;
}

/* Allgemeine Typografie und kleine Markenakzente */
.wsk-design-modern h1,
.wsk-design-modern h2,
.wsk-design-modern h3,
.wsk-design-modern h4,
.wsk-design-modern h5,
.wsk-design-modern h6 {
    letter-spacing: -.012em;
    text-wrap: balance;
    font-kerning: normal;
}

.wsk-design-modern h1 {
    font-size: clamp(2.35rem, 4.5vw, 4.45rem);
}

.wsk-design-modern h2 {
    font-size: clamp(1.75rem, 2.65vw, 2.65rem);
    line-height: 1.12;
}

.wsk-design-modern h3 {
    font-size: clamp(1.35rem, 1.9vw, 1.72rem);
    line-height: 1.18;
}

.wsk-design-modern h4 {
    font-size: 1.18rem;
    line-height: 1.25;
}

.wsk-design-modern .page-6 .wsk-block-2 > .container,
.wsk-design-modern.page-6 .wsk-block-2 > .container,
.wsk-design-modern .page-7 .wsk-block-2 > .container,
.wsk-design-modern.page-7 .wsk-block-2 > .container {
    max-width: 1040px;
}

.wsk-design-modern.page-6 .wsk-block-2 h2,
.wsk-design-modern.page-7 .wsk-block-2 h2 {
    font-size: clamp(1.6rem, 2.15vw, 2.18rem);
    margin-top: 2.2rem;
}

.wsk-design-modern.page-6 .wsk-block-2 h3,
.wsk-design-modern.page-7 .wsk-block-2 h3 {
    font-size: clamp(1.25rem, 1.55vw, 1.45rem);
    margin-top: 1.75rem;
}

.wsk-design-modern.page-6 .wsk-block-2 h4,
.wsk-design-modern.page-7 .wsk-block-2 h4 {
    font-size: 1.08rem;
    margin-top: 1.45rem;
}

.wsk-design-modern.page-6 .wsk-block-2 p,
.wsk-design-modern.page-6 .wsk-block-2 li,
.wsk-design-modern.page-7 .wsk-block-2 p,
.wsk-design-modern.page-7 .wsk-block-2 li {
    line-height: 1.72;
}

.wsk-design-modern .wsk-section:not(.wsk-hero-section):not(.wsk-claim-section) h2 {
    position: relative;
    padding-bottom: .65rem;
}

.wsk-design-modern .wsk-section:not(.wsk-hero-section):not(.wsk-claim-section) h2::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: clamp(54px, 7vw, 92px);
    height: 4px;
    border-radius: 999px;
    content: "";
    background: linear-gradient(90deg, var(--wsk-blue), var(--wsk-blue-cyan));
}

.wsk-design-modern .text-center h2::after,
.wsk-design-modern .wsk-section.text-center h2::after {
    right: 0;
    margin-inline: auto;
}

.wsk-design-modern .text-end h2::after,
.wsk-design-modern .wsk-section.text-end h2::after {
    right: 0;
    left: auto;
}

.wsk-design-modern a:not(.btn):not(.nav-link):not(.dropdown-item):not(.wsk-process-card):not(.wsk-material-card):not(.wsk-navigator-card) {
    text-decoration-thickness: .08em;
    transition: color .2s ease, text-decoration-color .2s ease;
}

/* Header: klare industrielle Form, aber leichter und hochwertiger */
.wsk-design-modern .wsk-site-header {
    background: rgba(255, 255, 255, .91);
    border-bottom-color: rgba(0, 88, 132, .12);
    box-shadow: 0 9px 35px rgba(0, 42, 63, .08);
    backdrop-filter: saturate(145%) blur(14px);
    -webkit-backdrop-filter: saturate(145%) blur(14px);
}

.wsk-design-modern .wsk-site-header::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, transparent 0%, rgba(0, 88, 132, .45) 35%, rgba(37, 184, 214, .45) 65%, transparent 100%);
}

.wsk-design-modern .wsk-logo,
.wsk-design-modern .navbar-brand:hover .wsk-logo,
.wsk-design-modern .navbar-brand:focus-visible .wsk-logo {
    transform: none;
    filter: none;
    transition: none;
}

.wsk-design-modern .wsk-main-nav .nav-link {
    border-radius: var(--wsk-radius-xs);
    transition: color .2s ease, background-color .2s ease;
}

.wsk-design-modern .wsk-main-nav .nav-link:hover,
.wsk-design-modern .wsk-main-nav .nav-link:focus-visible {
    color: var(--wsk-blue);
    background: rgba(0, 88, 132, .045);
}

.wsk-design-modern .wsk-main-nav .nav-link::after {
    right: auto;
    bottom: .62rem;
    left: 50%;
    width: 1.55rem;
    height: 2px;
    border-radius: 999px;
    opacity: 0;
    background: linear-gradient(90deg, var(--wsk-blue), var(--wsk-blue-cyan));
    transform: translateX(-50%) scaleX(.35);
    transform-origin: center;
    transition: opacity .2s ease, transform .2s ease;
}

.wsk-design-modern .wsk-main-nav .nav-link:hover::after,
.wsk-design-modern .wsk-main-nav .nav-link:focus-visible::after {
    opacity: .5;
    transform: translateX(-50%) scaleX(1);
}

.wsk-design-modern .wsk-main-nav .menu-current > .nav-link::after,
.wsk-design-modern .wsk-main-nav .menu-parent > .wsk-nav-parent .nav-link::after {
    opacity: .95;
    transform: translateX(-50%) scaleX(1);
}

.wsk-design-modern .wsk-main-nav .dropdown-menu {
    overflow: hidden;
    padding: .65rem;
    border: 1px solid rgba(0, 88, 132, .1);
    border-top: 0;
    border-radius: 0 0 var(--wsk-radius-md) var(--wsk-radius-md);
    background: linear-gradient(145deg, rgba(255,255,255,.985), rgba(241,248,250,.985));
    box-shadow: 0 25px 55px rgba(0, 43, 65, .16);
    backdrop-filter: blur(16px);
}

.wsk-design-modern .wsk-main-nav .dropdown-menu::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    content: "";
    background: linear-gradient(90deg, var(--wsk-blue-dark), var(--wsk-blue), var(--wsk-blue-cyan));
}

.wsk-design-modern .wsk-main-nav .dropdown-item {
    margin: .12rem 0;
    border-radius: var(--wsk-radius-xs);
    transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.wsk-design-modern .wsk-main-nav .dropdown-item:hover,
.wsk-design-modern .wsk-main-nav .dropdown-item:focus,
.wsk-design-modern .wsk-main-nav .menu-current > .dropdown-item {
    background: var(--wsk-gradient-brand);
    transform: translateX(3px);
}

.wsk-design-modern .wsk-header-search,
.wsk-design-modern .navbar-toggler {
    border-color: rgba(0, 88, 132, .16);
    border-radius: var(--wsk-radius-sm);
    background: linear-gradient(145deg, #fff, #f0f7f9);
    box-shadow: 0 6px 18px rgba(0, 62, 91, .08);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.wsk-design-modern .wsk-header-search:hover,
.wsk-design-modern .wsk-header-search:focus-visible,
.wsk-design-modern .navbar-toggler:hover,
.wsk-design-modern .navbar-toggler:focus-visible {
    border-color: rgba(0, 88, 132, .42);
    background: var(--wsk-blue-soft);
    box-shadow: 0 10px 24px rgba(0, 70, 103, .13);
    transform: translateY(-2px);
}

/* Hero: gleiche Bildwelt, modernere Tiefe und subtile Bewegung */
.wsk-design-modern .wsk-auto-hero,
.wsk-design-modern .wsk-hero {
    min-height: clamp(360px, 49vw, 590px);
}

.wsk-design-modern .wsk-auto-hero::before {
    transform: scale(1.045);
    animation: wskHeroBreath 16s ease-in-out infinite alternate;
}

.wsk-design-modern .wsk-auto-hero::after {
    background:
        radial-gradient(circle at 72% 24%, rgba(40, 190, 219, .24), transparent 28%),
        linear-gradient(92deg, rgba(0, 29, 45, .96) 0%, rgba(0, 55, 82, .88) 46%, rgba(0, 73, 103, .48) 76%, rgba(0, 49, 72, .28) 100%);
}

.wsk-design-modern .wsk-auto-hero-content,
.wsk-design-modern .wsk-hero-content {
    position: relative;
}

.wsk-design-modern .wsk-auto-hero-content::before,
.wsk-design-modern .wsk-hero-content::before {
    position: absolute;
    top: clamp(3.6rem, 7vw, 5.6rem);
    bottom: clamp(3.6rem, 7vw, 5.6rem);
    left: -1rem;
    width: 2px;
    border-radius: 999px;
    content: "";
    opacity: .62;
    background: linear-gradient(180deg, rgba(37,184,214,.88), rgba(255,255,255,.12));
    box-shadow: 0 0 14px rgba(37, 184, 214, .18);
}

.wsk-design-modern .wsk-auto-hero h1,
.wsk-design-modern .wsk-hero h1 {
    max-width: 960px;
    font-size: clamp(2.45rem, 4.35vw, 4.35rem);
    line-height: 1.055;
    letter-spacing: 0;
    text-shadow: 0 8px 28px rgba(0, 0, 0, .28);
}

.wsk-design-modern .wsk-auto-hero .wsk-kicker,
.wsk-design-modern .wsk-hero .wsk-kicker {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 1rem;
    padding: .42rem .72rem;
    border: 1px solid rgba(255,255,255,.23);
    border-radius: 999px;
    background: rgba(255,255,255,.09);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
    backdrop-filter: blur(8px);
}

.wsk-design-modern .wsk-hero-intro {
    font-size: clamp(1.04rem, 1.8vw, 1.28rem);
    line-height: 1.58;
    text-shadow: 0 3px 18px rgba(0,0,0,.22);
}

.wsk-design-modern .wsk-blue-rule {
    height: .55rem;
    background: linear-gradient(90deg, var(--wsk-blue-dark), var(--wsk-blue), var(--wsk-blue-cyan), var(--wsk-blue));
    background-size: 180% 100%;
    animation: wskGradientShift 10s ease infinite alternate;
}

/* Breadcrumb */
.wsk-design-modern .wsk-breadcrumb {
    border-bottom-color: rgba(0, 88, 132, .1);
    background: rgba(255,255,255,.88);
    box-shadow: inset 0 -1px 0 rgba(0,88,132,.04);
}

.wsk-design-modern .wsk-breadcrumb .breadcrumb {
    padding-block: .85rem;
}

/* Flexible Flaechen und neue Blocknamen */
.wsk-design-modern .wsk-bg-white {
    background: #fff;
}

.wsk-design-modern .wsk-bg-light {
    background: var(--wsk-gradient-light);
}

.wsk-design-modern .wsk-bg-gray {
    background: var(--wsk-gradient-gray);
}

.wsk-design-modern .wsk-bg-dark {
    background: linear-gradient(145deg, #4d5b62 0%, #34464f 58%, #253942 100%);
}

.wsk-design-modern .wsk-bg-brand {
    background: var(--wsk-gradient-brand);
}

.wsk-design-modern .wsk-bg-navy {
    background: var(--wsk-gradient-deep);
}

.wsk-design-modern .wsk-bg-gradient {
    background:
        radial-gradient(circle at 82% 18%, rgba(69, 211, 235, .26), transparent 27%),
        var(--wsk-gradient-deep);
}

.wsk-design-modern .wsk-bg-softblue {
    background:
        radial-gradient(circle at 88% 18%, rgba(37, 184, 214, .11), transparent 27%),
        linear-gradient(145deg, #f8fcfd 0%, #ebf6f9 54%, #dff0f5 100%);
}

.wsk-design-modern .wsk-bg-mist {
    background:
        linear-gradient(115deg, rgba(255,255,255,.95), rgba(243,249,251,.92)),
        repeating-linear-gradient(90deg, transparent 0 39px, rgba(0,88,132,.035) 39px 40px);
}

.wsk-design-modern .wsk-mesh-decor::after {
    position: absolute;
    inset: 0;
    content: "";
    opacity: .9;
    background:
        radial-gradient(circle at 12% 15%, rgba(37,184,214,.12), transparent 23%),
        radial-gradient(circle at 82% 74%, rgba(0,88,132,.11), transparent 27%),
        radial-gradient(circle at 68% 10%, rgba(255,255,255,.38), transparent 18%);
    pointer-events: none;
}

.wsk-design-modern .wsk-line-decor::after {
    position: absolute;
    inset: 0;
    content: "";
    opacity: .55;
    background-image:
        linear-gradient(rgba(0,88,132,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,88,132,.045) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
    pointer-events: none;
}

.wsk-design-modern .wsk-glass-section > .container,
.wsk-design-modern .wsk-glass-section > .container-fluid {
    padding: clamp(1.4rem, 3vw, 2.5rem);
    border: 1px solid rgba(255,255,255,.52);
    border-radius: var(--wsk-radius-lg);
    background: rgba(255,255,255,.72);
    box-shadow: var(--wsk-shadow);
    backdrop-filter: blur(16px);
}

.wsk-design-modern .wsk-bg-brand.wsk-glass-section > .container,
.wsk-design-modern .wsk-bg-navy.wsk-glass-section > .container,
.wsk-design-modern .wsk-bg-gradient.wsk-glass-section > .container,
.wsk-design-modern .wsk-bg-dark.wsk-glass-section > .container,
.wsk-design-modern .wsk-bg-gray.wsk-glass-section > .container {
    border-color: rgba(255,255,255,.16);
    background: rgba(255,255,255,.07);
    box-shadow: 0 28px 75px rgba(0,0,0,.17);
}

.wsk-design-modern .wsk-ring-decor::after {
    opacity: .17;
    border-width: clamp(2rem, 4vw, 4.5rem);
    filter: drop-shadow(0 18px 35px rgba(0,45,70,.1));
}

.wsk-design-modern .wsk-diagonal::before {
    opacity: .065;
    background: linear-gradient(135deg, currentColor 0 50%, transparent 50% 100%);
}

.wsk-design-modern .wsk-sidebar {
    border: 1px solid rgba(0,88,132,.11);
    border-top: 0;
    border-radius: var(--wsk-radius-md);
    background: var(--wsk-gradient-light);
    box-shadow: var(--wsk-shadow-sm);
}

.wsk-design-modern .wsk-sidebar::before {
    display: block;
    height: 5px;
    margin: -1.75rem -1.75rem 1.5rem;
    border-radius: var(--wsk-radius-md) var(--wsk-radius-md) 0 0;
    content: "";
    background: linear-gradient(90deg, var(--wsk-blue-dark), var(--wsk-blue-cyan));
}

/* Buttons: neue zentrale Varianten fuer WYSIWYG, Members und mpform */
.wsk-design-modern .btn,
.wsk-design-modern button,
.wsk-design-modern input[type="submit"],
.wsk-design-modern input[type="button"] {
    border-radius: var(--wsk-radius-sm);
}

.wsk-design-modern .btn {
    --wsk-btn-shadow: 0 10px 24px rgba(0, 77, 112, .16);
    position: relative;
    overflow: hidden;
    min-height: 2.95rem;
    display: inline-flex;
    padding: .78rem 1.2rem;
    border-width: 1px;
    font-family: var(--wsk-heading-font);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: .01em;
    text-decoration: none;
    box-shadow: var(--wsk-btn-shadow);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease, background .2s ease;
    align-items: center;
    justify-content: center;
    gap: .62rem;
    isolation: isolate;
}

.wsk-design-modern .btn::before {
    position: absolute;
    z-index: -1;
    top: -140%;
    left: -45%;
    width: 35%;
    height: 390%;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
    transform: rotate(24deg);
    transition: left .55s ease;
}

.wsk-design-modern .btn:hover::before,
.wsk-design-modern .btn:focus-visible::before {
    left: 120%;
}

.wsk-design-modern .btn:hover,
.wsk-design-modern .btn:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(0, 60, 91, .23);
}

.wsk-design-modern .btn:active {
    transform: translateY(-1px);
}

.wsk-design-modern .btn-primary,
.wsk-design-modern .wsk-btn,
.wsk-design-modern .mod_mpform input[type="submit"],
.wsk-design-modern .mod_mpform button[type="submit"] {
    border-color: rgba(0, 78, 116, .3);
    color: #fff;
    background: var(--wsk-gradient-brand);
    box-shadow: 0 12px 28px rgba(0, 78, 116, .24);
}

.wsk-design-modern .btn-primary:hover,
.wsk-design-modern .btn-primary:focus,
.wsk-design-modern .wsk-btn:hover,
.wsk-design-modern .wsk-btn:focus {
    border-color: var(--wsk-blue-dark);
    color: #fff;
    background: var(--wsk-gradient-deep);
}

.wsk-design-modern .btn-outline-primary {
    border-color: rgba(0, 88, 132, .4);
    color: var(--wsk-blue-dark);
    background: rgba(255,255,255,.72);
    box-shadow: 0 9px 22px rgba(0,60,90,.09);
    backdrop-filter: blur(8px);
}

.wsk-design-modern .btn-outline-primary:hover,
.wsk-design-modern .btn-outline-primary:focus-visible {
    border-color: var(--wsk-blue);
    color: #fff;
    background: var(--wsk-blue);
}

.wsk-design-modern .btn-light {
    border-color: rgba(255,255,255,.72);
    color: var(--wsk-blue-dark);
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 30px rgba(0,0,0,.15);
}

.wsk-design-modern .btn-light:hover,
.wsk-design-modern .btn-light:focus-visible {
    color: var(--wsk-blue-dark);
    background: #fff;
}

.wsk-design-modern .btn-wsk-dark {
    border-color: rgba(0,36,54,.6);
    color: #fff;
    background: var(--wsk-gradient-deep);
}

.wsk-design-modern .btn-wsk-dark:hover,
.wsk-design-modern .btn-wsk-dark:focus-visible {
    color: #fff;
    background: linear-gradient(135deg, #001923, #004c6e);
}

.wsk-design-modern .btn-wsk-soft {
    border-color: rgba(0,88,132,.1);
    color: var(--wsk-blue-dark);
    background: linear-gradient(145deg, #f7fcfd, #e5f3f7);
    box-shadow: 0 9px 22px rgba(0,60,90,.09);
}

.wsk-design-modern .btn-wsk-soft:hover,
.wsk-design-modern .btn-wsk-soft:focus-visible {
    border-color: rgba(0,88,132,.3);
    color: var(--wsk-blue-dark);
    background: #dff1f6;
}

.wsk-design-modern .btn-wsk-ghost {
    border-color: rgba(255,255,255,.38);
    color: #fff;
    background: rgba(255,255,255,.075);
    box-shadow: none;
    backdrop-filter: blur(10px);
}

.wsk-design-modern .btn-wsk-ghost:hover,
.wsk-design-modern .btn-wsk-ghost:focus-visible {
    border-color: rgba(255,255,255,.8);
    color: #fff;
    background: rgba(255,255,255,.15);
}

.wsk-design-modern .btn-wsk-arrow::after {
    content: "\2192";
    font-size: 1.2em;
    line-height: 1;
    transition: transform .2s ease;
}

.wsk-design-modern .btn-wsk-arrow:hover::after,
.wsk-design-modern .btn-wsk-arrow:focus-visible::after {
    transform: translateX(4px);
}

.wsk-design-modern .btn-wsk-icon {
    width: 3rem;
    min-width: 3rem;
    padding: .72rem;
    aspect-ratio: 1;
}

.wsk-design-modern .btn-wsk-icon img,
.wsk-design-modern .btn-wsk-icon svg {
    width: 1.25rem;
    height: 1.25rem;
}

.wsk-design-modern .wsk-more-button {
    border-radius: var(--wsk-radius-sm);
    background: var(--wsk-gradient-brand);
    box-shadow: 0 10px 25px rgba(0,88,128,.22);
    transition: transform .2s ease, box-shadow .2s ease;
}

.wsk-design-modern .wsk-more-button:hover,
.wsk-design-modern .wsk-more-button:focus-visible {
    color: #fff;
    box-shadow: 0 16px 34px rgba(0,88,128,.28);
    transform: translateY(-3px) rotate(2deg);
}

/* Prozessnavigation */
.wsk-design-modern .wsk-process-grid {
    gap: clamp(.85rem, 1.8vw, 1.4rem);
}

.wsk-design-modern .wsk-process-card {
    min-height: 160px;
    display: flex;
    padding: 1.05rem .7rem;
    border: 1px solid rgba(0,88,132,.09);
    border-radius: var(--wsk-radius-md);
    background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(238,247,249,.93));
    box-shadow: var(--wsk-shadow-sm);
    transition: box-shadow .22s ease, border-color .22s ease;
    flex-direction: column;
    justify-content: center;
}

.wsk-design-modern .wsk-process-card:hover,
.wsk-design-modern .wsk-process-card:focus-visible {
    color: var(--wsk-blue-dark);
    border-color: rgba(0,132,183,.32);
    box-shadow: var(--wsk-shadow-hover);
    transform: translateY(-7px);
}

.wsk-design-modern .wsk-process-icon {
    border-radius: 14px;
    background: var(--wsk-gradient-brand);
    box-shadow: 0 14px 28px rgba(0,92,132,.22);
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.wsk-design-modern .wsk-process-card:hover .wsk-process-icon,
.wsk-design-modern .wsk-process-card:focus-visible .wsk-process-icon {
    background: var(--wsk-gradient-deep);
    box-shadow: 0 18px 34px rgba(0,72,106,.3);
    transform: translateY(-5px) scale(1.035);
}

.wsk-design-modern .wsk-process-card strong {
    color: var(--wsk-blue-dark);
    letter-spacing: .025em;
}

/* Materialkarten */
.wsk-design-modern .wsk-material-grid {
    gap: clamp(.85rem, 1.8vw, 1.35rem);
}

.wsk-design-modern .wsk-material-card {
    min-height: 125px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--wsk-radius-md);
    box-shadow: 0 16px 36px rgba(0,43,64,.18);
    transition: transform .25s ease, box-shadow .25s ease;
}

.wsk-design-modern .wsk-material-card::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    content: "";
    background: inherit;
    background-position: center;
    background-size: cover;
    transition: transform .6s ease;
}

.wsk-design-modern .wsk-material-card::after {
    background:
        linear-gradient(135deg, rgba(0,33,50,.86), rgba(0,94,130,.55)),
        linear-gradient(0deg, rgba(0,0,0,.2), transparent);
}

.wsk-design-modern .wsk-material-card:hover,
.wsk-design-modern .wsk-material-card:focus-visible {
    box-shadow: 0 24px 50px rgba(0,43,64,.27);
    transform: translateY(-5px);
}

.wsk-design-modern .wsk-material-card:hover::before,
.wsk-design-modern .wsk-material-card:focus-visible::before {
    transform: scale(1.075);
}

.wsk-design-modern .wsk-material-card:hover::after,
.wsk-design-modern .wsk-material-card:focus-visible::after {
    background: linear-gradient(135deg, rgba(0,30,45,.9), rgba(0,118,158,.67));
}

/* Produktdarstellung */
.wsk-design-modern .wsk-product-list {
    gap: clamp(1.2rem, 2.4vw, 2rem);
}

.wsk-design-modern .wsk-product-card {
    overflow: hidden;
    padding: clamp(1.7rem, 3.2vw, 3rem);
    border: 1px solid rgba(0,88,132,.08);
    border-radius: var(--wsk-radius-lg);
    background: #fff;
    box-shadow: var(--wsk-shadow-sm);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.wsk-design-modern .wsk-product-card:nth-child(even) {
    background: var(--wsk-gradient-light);
    box-shadow: var(--wsk-shadow-sm);
}

.wsk-design-modern .wsk-product-card:hover {
    border-color: rgba(0,88,132,.2);
    box-shadow: var(--wsk-shadow-hover);
    transform: translateY(-4px);
}

.wsk-design-modern .wsk-product-card .wsk-product-image {
    border-radius: var(--wsk-radius-md);
    box-shadow: 0 15px 34px rgba(0,47,70,.15);
}

.wsk-design-modern .wsk-product-card .wsk-product-image img {
    transition: transform .65s ease;
}

.wsk-design-modern .wsk-product-card:hover .wsk-product-image img {
    transform: scale(1.035);
}

.wsk-design-modern .wsk-model {
    color: var(--wsk-blue);
}

.wsk-design-modern .wsk-tech-grid > * {
    padding: 1.1rem;
    border: 1px solid rgba(0,88,132,.08);
    border-radius: var(--wsk-radius-sm);
    background: rgba(246,250,251,.78);
}

.wsk-design-modern .wsk-gallery-grid img {
    border-radius: var(--wsk-radius-sm);
    box-shadow: 0 10px 25px rgba(0,47,70,.13);
    transition: transform .25s ease, box-shadow .25s ease;
}

.wsk-design-modern .wsk-gallery-grid img:hover {
    box-shadow: 0 18px 36px rgba(0,47,70,.2);
    transform: translateY(-4px);
}

/* Universelle Karten */
.wsk-design-modern .wsk-card-grid {
    gap: clamp(1rem, 2vw, 1.6rem);
}

.wsk-design-modern .wsk-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(0,88,132,.09);
    border-top: 0;
    border-radius: var(--wsk-radius-md);
    background: linear-gradient(145deg, #fff, #f5fafb);
    box-shadow: var(--wsk-shadow-sm);
    transition: box-shadow .22s ease, border-color .22s ease;
}

.wsk-design-modern .wsk-card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 5px;
    content: "";
    background: linear-gradient(90deg, var(--wsk-blue-dark), var(--wsk-blue), var(--wsk-blue-cyan));
}

.wsk-design-modern .wsk-card:hover {
    border-color: rgba(0,88,132,.18);
    box-shadow: var(--wsk-shadow-hover);
}

.wsk-design-modern .wsk-feature-list li::before {
    border-radius: 3px;
    background: linear-gradient(135deg, var(--wsk-blue), var(--wsk-blue-cyan));
    box-shadow: 0 4px 12px rgba(0,88,132,.2);
    transform: rotate(45deg);
}

/* Akkordeons */
.wsk-design-modern details.wsk-details {
    margin-bottom: .75rem;
    border: 1px solid rgba(0,88,132,.1);
    border-radius: var(--wsk-radius-sm);
    background: rgba(255,255,255,.72);
    box-shadow: 0 7px 18px rgba(0,47,70,.06);
}

.wsk-design-modern details.wsk-details:last-child {
    border-bottom: 1px solid rgba(0,88,132,.1);
}

.wsk-design-modern details.wsk-details summary {
    padding: 1rem 3.2rem 1rem 1.15rem;
}

.wsk-design-modern details.wsk-details > div {
    padding: 0 1.15rem 1.2rem;
}

.wsk-design-modern details.wsk-details summary::after {
    right: 1rem;
    width: 1.85rem;
    height: 1.85rem;
    display: grid;
    border-radius: 50%;
    color: #fff;
    background: var(--wsk-gradient-brand);
    font-size: 1.25rem;
    place-items: center;
}

.wsk-design-modern .accordion {
    --bs-accordion-border-color: rgba(0,88,132,.1);
    --bs-accordion-border-radius: var(--wsk-radius-sm);
    --bs-accordion-inner-border-radius: var(--wsk-radius-sm);
    --bs-accordion-active-bg: var(--wsk-blue-soft);
    --bs-accordion-active-color: var(--wsk-blue-dark);
}

.wsk-design-modern .accordion-item {
    overflow: hidden;
    margin-bottom: .75rem;
    border-radius: var(--wsk-radius-sm) !important;
    box-shadow: 0 7px 18px rgba(0,47,70,.06);
}

/* Formulare */
.wsk-design-modern .wsk-section input[type="text"],
.wsk-design-modern .wsk-section input[type="email"],
.wsk-design-modern .wsk-section input[type="tel"],
.wsk-design-modern .wsk-section input[type="url"],
.wsk-design-modern .wsk-section input[type="number"],
.wsk-design-modern .wsk-section input[type="search"],
.wsk-design-modern .wsk-section input[type="file"],
.wsk-design-modern .wsk-section select,
.wsk-design-modern .wsk-section textarea,
.wsk-design-modern .mod_mpform input[type="text"],
.wsk-design-modern .mod_mpform input[type="email"],
.wsk-design-modern .mod_mpform input[type="tel"],
.wsk-design-modern .mod_mpform input[type="url"],
.wsk-design-modern .mod_mpform select,
.wsk-design-modern .mod_mpform textarea {
    border-color: rgba(0,88,128,.2);
    border-radius: var(--wsk-radius-sm);
    background: linear-gradient(145deg, #fff, #f9fcfd);
    box-shadow: inset 0 1px 2px rgba(0,35,52,.03), 0 5px 14px rgba(0,47,70,.04);
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.wsk-design-modern .wsk-section input:focus,
.wsk-design-modern .wsk-section select:focus,
.wsk-design-modern .wsk-section textarea:focus,
.wsk-design-modern .mod_mpform input:focus,
.wsk-design-modern .mod_mpform select:focus,
.wsk-design-modern .mod_mpform textarea:focus {
    border-color: var(--wsk-blue);
    outline: 0;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(0,132,183,.13), 0 12px 26px rgba(0,60,90,.08);
}

.wsk-design-modern .wsk-search-modal .modal-content {
    overflow: hidden;
    border: 1px solid rgba(0,88,132,.1);
    border-radius: var(--wsk-radius-md);
    background: linear-gradient(145deg, #fff, #f2f8fa);
}

.wsk-design-modern .wsk-search-modal .modal-header {
    border-bottom: 0;
    background: var(--wsk-gradient-light);
}

/* Tabellen */
.wsk-design-modern .wsk-table-wrap {
    border: 1px solid rgba(0,88,132,.09);
    border-radius: var(--wsk-radius-md);
    background: #fff;
    box-shadow: var(--wsk-shadow-sm);
}

.wsk-design-modern th {
    background: var(--wsk-gradient-brand);
}

.wsk-design-modern tbody tr:nth-child(even) {
    background: rgba(234,245,248,.45);
}

.wsk-design-modern tbody tr {
    transition: background-color .18s ease;
}

.wsk-design-modern tbody tr:hover {
    background: rgba(214,238,244,.62);
}

/* Kontaktleiste */
.wsk-design-modern .wsk-contact-rail {
    overflow: hidden;
    border-color: rgba(0,88,132,.13);
    border-right: 0;
    border-radius: var(--wsk-radius-md) 0 0 var(--wsk-radius-md);
    background: rgba(255,255,255,.9);
    box-shadow: 0 18px 44px rgba(0,42,63,.18);
    backdrop-filter: blur(12px);
}

.wsk-design-modern .wsk-rail-link {
    background: rgba(255,255,255,.88);
    transition: background .2s ease, box-shadow .2s ease;
}

.wsk-design-modern .wsk-rail-link:hover,
.wsk-design-modern .wsk-rail-link:focus-visible {
    background: var(--wsk-blue-soft);
    box-shadow: inset 3px 0 0 rgba(0,88,132,.28);
    transform: none;
}

/* Vollbild-Navigator */
.wsk-design-modern .wsk-navigator {
    background:
        radial-gradient(circle at 12% 16%, rgba(37,184,214,.23), transparent 26%),
        radial-gradient(circle at 88% 78%, rgba(0,120,165,.28), transparent 32%),
        linear-gradient(135deg, rgba(0,27,41,.985), rgba(0,55,80,.985));
}

.wsk-design-modern .wsk-navigator::before {
    position: fixed;
    inset: 0;
    content: "";
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: radial-gradient(circle at center, #000 0%, transparent 76%);
    pointer-events: none;
}

.wsk-design-modern .wsk-navigator-card {
    overflow: hidden;
    border-color: rgba(255,255,255,.15);
    border-radius: var(--wsk-radius-md);
    background: linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.035));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 20px 48px rgba(0,0,0,.13);
    backdrop-filter: blur(10px);
}

.wsk-design-modern .wsk-navigator-card:hover,
.wsk-design-modern .wsk-navigator-card:focus-visible {
    border-color: rgba(255,255,255,.48);
    background: linear-gradient(145deg, rgba(0,126,172,.72), rgba(0,72,105,.8));
    box-shadow: 0 30px 60px rgba(0,0,0,.24);
}

.wsk-design-modern .wsk-navigator-icon {
    border-radius: 14px;
    background: var(--wsk-gradient-brand);
    box-shadow: 0 15px 32px rgba(0,0,0,.17);
}

.wsk-design-modern .wsk-navigator-close {
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(8px);
}

.wsk-design-modern .wsk-navigator-finder-link {
    width: fit-content;
    padding-bottom: .15rem;
    border-bottom: 1px solid rgba(255,255,255,.38);
    color: #fff;
    text-decoration: none;
}

.wsk-design-modern .wsk-navigator-finder-link:hover,
.wsk-design-modern .wsk-navigator-finder-link:focus-visible {
    border-bottom-color: #fff;
    color: #fff;
    text-decoration: none;
}

/* Claim und Footer */
.wsk-design-modern .wsk-claim::after {
    background:
        radial-gradient(circle at 76% 24%, rgba(37,184,214,.24), transparent 27%),
        linear-gradient(90deg, rgba(0,29,45,.92), rgba(0,76,106,.62));
}

.wsk-design-modern .wsk-site-footer {
    position: relative;
    background:
        radial-gradient(circle at 12% 0%, rgba(37,184,214,.14), transparent 30%),
        var(--wsk-gradient-deep);
}

.wsk-design-modern .wsk-site-footer::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 5px;
    content: "";
    background: linear-gradient(90deg, var(--wsk-blue-dark), var(--wsk-blue), var(--wsk-blue-cyan), var(--wsk-blue));
}

.wsk-design-modern .wsk-footer-links a,
.wsk-design-modern .wsk-footer-contact a {
    text-decoration-color: rgba(255,255,255,.35);
}

.wsk-design-modern .wsk-footer-links a:hover,
.wsk-design-modern .wsk-footer-links a:focus,
.wsk-design-modern .wsk-footer-contact a:hover,
.wsk-design-modern .wsk-footer-contact a:focus {
    text-decoration-color: #fff;
}

/* Animationen */
@keyframes wskHeroBreath {
    from { transform: scale(1.045) translate3d(0, 0, 0); }
    to { transform: scale(1.085) translate3d(-.35%, -.2%, 0); }
}

@keyframes wskGradientShift {
    from { background-position: 0% 50%; }
    to { background-position: 100% 50%; }
}

@media (max-width: 991.98px) {
    .wsk-design-modern .wsk-site-header {
        background: rgba(255,255,255,.97);
        backdrop-filter: none;
    }

    .wsk-design-modern .wsk-navbar .navbar-collapse {
        margin-top: .4rem;
        padding: .7rem;
        border: 1px solid rgba(0,88,132,.1);
        border-radius: var(--wsk-radius-md);
        background: linear-gradient(145deg, #fff, #f3f9fb);
        box-shadow: 0 18px 38px rgba(0,47,70,.13);
    }

    .wsk-design-modern .wsk-main-nav .nav-link:hover,
    .wsk-design-modern .wsk-main-nav .nav-link:focus-visible {
        transform: none;
    }

    .wsk-design-modern .wsk-main-nav .nav-link::after {
        right: auto;
        bottom: .42rem;
        left: .2rem;
        width: 1.4rem;
        transform: scaleX(.35);
        transform-origin: left;
    }

    .wsk-design-modern .wsk-main-nav .nav-link:hover::after,
    .wsk-design-modern .wsk-main-nav .nav-link:focus-visible::after,
    .wsk-design-modern .wsk-main-nav .menu-current > .nav-link::after,
    .wsk-design-modern .wsk-main-nav .menu-parent > .wsk-nav-parent .nav-link::after {
        transform: scaleX(1);
    }

    .wsk-design-modern .wsk-main-nav .dropdown-menu {
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    .wsk-design-modern .wsk-main-nav .dropdown-menu::before {
        display: none;
    }

    .wsk-design-modern .wsk-mobile-contact {
        border-top-color: rgba(0,88,132,.13);
        background: rgba(255,255,255,.96);
        box-shadow: 0 -12px 35px rgba(0,43,64,.14);
        backdrop-filter: blur(12px);
    }

    .wsk-design-modern .wsk-mobile-contact a,
    .wsk-design-modern .wsk-mobile-contact button {
        background: transparent;
    }

    .wsk-design-modern .wsk-process-card {
        min-height: 148px;
    }
}

@media (max-width: 575.98px) {
    .wsk-design-modern .wsk-auto-hero-content::before,
    .wsk-design-modern .wsk-hero-content::before {
        left: -.75rem;
    }

    .wsk-design-modern .wsk-process-card {
        min-height: 138px;
        padding-inline: .55rem;
    }

    .wsk-design-modern .wsk-product-card {
        border-radius: var(--wsk-radius-md);
    }

    .wsk-design-modern .wsk-glass-section > .container,
    .wsk-design-modern .wsk-glass-section > .container-fluid {
        border-radius: var(--wsk-radius-md);
    }
}

@media (prefers-reduced-motion: reduce) {
    .wsk-design-modern .wsk-auto-hero::before,
    .wsk-design-modern .wsk-blue-rule {
        animation: none !important;
    }
}

@media (forced-colors: active) {
    .wsk-design-modern .btn,
    .wsk-design-modern .wsk-process-card,
    .wsk-design-modern .wsk-card,
    .wsk-design-modern .wsk-product-card,
    .wsk-design-modern .wsk-navigator-card {
        box-shadow: none;
    }
}

/* =========================================================
   WSK Startseite – redaktionelle Module
   Uebernommen aus der finalen Startseiten-Konzeption.
   ========================================================= */

.wsk-section-intro {
  max-width: 820px;
}

.wsk-eyebrow {
  margin-bottom: .75rem;
  color: var(--bs-primary);
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}


/* Hero
   ========================================================= */

.wsk-home-hero {
  position: relative;
}

.wsk-hero-slide {
  position: relative;
  display: flex;
  min-height: clamp(470px, 68vh, 720px);
  align-items: center;
  overflow: hidden;
}

.wsk-hero-media {
  position: absolute;
  inset: 0;
}

.wsk-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wsk-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(8, 20, 38, .88) 0%,
      rgba(8, 20, 38, .68) 48%,
      rgba(8, 20, 38, .16) 100%
    );
}

.wsk-hero-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  padding: clamp(4rem, 8vw, 7rem) 0;
  color: #fff;
}

.wsk-hero-kicker {
  margin-bottom: 1rem;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.wsk-hero-title {
  max-width: 18ch;
  margin-bottom: 1.25rem;
  font-size: clamp(2.2rem, 5vw, 4.5rem);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.025em;
}

.wsk-hero-text {
  max-width: 660px;
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  line-height: 1.55;
}

.wsk-hero-text p,
.wsk-hero-additional p {
  margin-bottom: 0;
}

.wsk-hero-additional {
  margin-top: 1rem;
  opacity: .88;
}

.wsk-hero-actions {
  margin-top: 2rem;
}

.wsk-hero-kicker:empty,
.wsk-hero-text:empty,
.wsk-hero-additional:empty {
  display: none;
}

.wsk-hero-slider .carousel-control-prev,
.wsk-hero-slider .carousel-control-next {
  width: clamp(48px, 6vw, 76px);
}

@media (max-width: 767.98px) {
  .wsk-hero-slide {
    min-height: 560px;
  }

  .wsk-hero-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(8, 20, 38, .9) 0%,
        rgba(8, 20, 38, .74) 100%
      );
  }

  .wsk-hero-content {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}


/* Prozesse
   ========================================================= */

.wsk-process-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(1.25rem, 2vw, 2rem);
  border: 1px solid rgba(0, 0, 0, .09);
  border-radius: 1rem;
  background:
    linear-gradient(
      145deg,
      rgba(var(--bs-primary-rgb), .055),
      rgba(255, 255, 255, .98)
    );
  color: inherit;
  text-decoration: none;
  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}

.wsk-process-card:hover,
.wsk-process-card:focus-visible {
  border-color: rgba(var(--bs-primary-rgb), .45);
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .09);
  color: inherit;
  transform: translateY(-3px);
}

.wsk-process-icon {
  display: flex;
  width: 64px;
  height: 64px;
  margin-bottom: 1.25rem;
  align-items: center;
  justify-content: center;
}

.wsk-process-icon img {
  max-width: 100%;
  max-height: 100%;
}

.wsk-process-card h3 {
  width: 100%;
  margin-bottom: .75rem;
  font-size: 1.2rem;
  text-align: center;
}

.wsk-process-text p {
  margin-bottom: 0;
  color: var(--bs-secondary-color);
}


/* Maschinenkarten
   ========================================================= */

.wsk-machine-card {
  overflow: hidden;
  border-radius: 1rem;
}

.wsk-machine-media {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--bs-light);
}

.wsk-machine-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.wsk-machine-card:hover .wsk-machine-media img {
  transform: scale(1.035);
}

.wsk-machine-card .card-body {
  padding: clamp(1.35rem, 2vw, 2rem);
}

.wsk-machine-kicker {
  margin-bottom: .65rem;
  color: var(--bs-primary);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.wsk-machine-card .card-title {
  font-size: 1.35rem;
  line-height: 1.25;
}

.wsk-machine-card .card-title a {
  color: inherit;
  text-decoration: none;
}

.wsk-machine-card .card-title a:hover,
.wsk-machine-card .card-title a:focus-visible {
  color: var(--bs-primary);
}


/* Kontakt
   ========================================================= */

.wsk-contact-card {
  display: block;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid rgba(0, 0, 0, .09);
  border-radius: 1rem;
  background:
    linear-gradient(
      145deg,
      rgba(var(--bs-primary-rgb), .07),
      rgba(255, 255, 255, .98)
    );
  font-style: normal;
}


/* Accordion-Anpassung
   ========================================================= */

.wsk-faq .eqd-accordion {
  display: grid;
  gap: .75rem;
}

.wsk-faq .eqd-accordion__heading {
  margin: 0;
}

.wsk-faq .eqd-accordion__button {
  border: 1px solid rgba(0, 0, 0, .09);
  border-radius: .75rem;
  background-color: #fff;
  color: inherit;
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.4;
}

.wsk-faq .eqd-accordion__button:hover,
.wsk-faq .eqd-accordion__button:focus-visible {
  border-color: rgba(var(--bs-primary-rgb), .45);
  background-color: rgba(var(--bs-primary-rgb), .045);
}

.wsk-faq .eqd-accordion__content {
  margin-top: -.75rem;
  padding: 1.5rem;
  border: 1px solid rgba(0, 0, 0, .09);
  border-top: 0;
  border-radius: 0 0 .75rem .75rem;
  background: #fff;
  font-size: 1rem;
}

.wsk-faq .eqd-accordion__content p:last-child {
  margin-bottom: 0;
}


/* Checkliste
   ========================================================= */

.wsk-checklist {
  padding-left: 0;
  list-style: none;
}

.wsk-checklist li {
  position: relative;
  margin-bottom: .7rem;
  padding-left: 1.8rem;
}

.wsk-checklist li::before {
  position: absolute;
  top: .05em;
  left: 0;
  color: var(--bs-primary);
  content: "✓";
  font-weight: 700;
}

/* Checklisten-Haken auf dunklen Abschnittshintergruenden */
.wsk-design-modern .wsk-bg-gray .wsk-checklist li::before,
.wsk-design-modern .wsk-bg-dark .wsk-checklist li::before,
.wsk-design-modern .wsk-bg-black .wsk-checklist li::before,
.wsk-design-modern .wsk-bg-brand .wsk-checklist li::before,
.wsk-design-modern .wsk-bg-navy .wsk-checklist li::before,
.wsk-design-modern .wsk-bg-gradient .wsk-checklist li::before {
  color: #fff;
}

/* =========================================================
   Hero-Slider: feste Hoehen ohne Layoutspruenge
   ========================================================= */
.wsk-home-hero .wsk-hero-slider,
.wsk-home-hero .wsk-hero-slider > .carousel-inner,
.wsk-home-hero .wsk-hero-slider > .carousel-inner > .carousel-item,
.wsk-home-hero .wsk-hero-slide {
  height: clamp(540px, 68vh, 680px);
  min-height: 0;
}

.wsk-home-hero .wsk-hero-slider,
.wsk-home-hero .wsk-hero-slider > .carousel-inner,
.wsk-home-hero .wsk-hero-slider > .carousel-inner > .carousel-item,
.wsk-home-hero .wsk-hero-slide {
  overflow: hidden;
}

.wsk-home-hero .wsk-hero-content {
  max-height: calc(100% - 4rem);
  padding-top: 2rem;
  padding-bottom: 2rem;
  overflow: hidden;
}

@media (max-width: 991.98px) {
  .wsk-home-hero .wsk-hero-slider,
  .wsk-home-hero .wsk-hero-slider > .carousel-inner,
  .wsk-home-hero .wsk-hero-slider > .carousel-inner > .carousel-item,
  .wsk-home-hero .wsk-hero-slide {
    height: 600px;
  }
}

@media (max-width: 767.98px) {
  .wsk-home-hero .wsk-hero-slider,
  .wsk-home-hero .wsk-hero-slider > .carousel-inner,
  .wsk-home-hero .wsk-hero-slider > .carousel-inner > .carousel-item,
  .wsk-home-hero .wsk-hero-slide {
    height: 620px;
  }

  .wsk-home-hero .wsk-hero-content {
    max-height: calc(100% - 2rem);
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

@media (max-width: 479.98px) {
  .wsk-home-hero .wsk-hero-slider,
  .wsk-home-hero .wsk-hero-slider > .carousel-inner,
  .wsk-home-hero .wsk-hero-slider > .carousel-inner > .carousel-item,
  .wsk-home-hero .wsk-hero-slide {
    height: 660px;
  }
}

/* =========================================================
   mpForm – Template-Styles
   Die Modul-CSS kann deaktiviert bleiben. Diese Regeln bilden
   das aktuelle mpForm-Markup responsiv und barrierearm ab.
   ========================================================= */

.formbox {
    margin-block: clamp(2.5rem, 6vw, 5.25rem) 2.25rem;
}

:is(div.mpform, .mod_mpform) {
    --wsk-form-border: rgba(0, 88, 132, .22);
    --wsk-form-error: #b42318;
    --wsk-form-error-bg: #fff1f0;
    --wsk-form-success: #146c43;
    --wsk-form-success-bg: #eaf7f0;
}

:is(div.mpform, .mod_mpform) .form-group {
    display: block;
    width: 100%;
    min-height: 0;
    margin-bottom: 1.15rem;
}

:is(div.mpform, .mod_mpform) p {
    margin: 0 0 .5rem;
    padding: 0;
}

:is(div.mpform, .mod_mpform) label,
:is(div.mpform, .mod_mpform) .mpform_title {
    display: inline-block;
    margin-bottom: .45rem;
    color: var(--wsk-blue-dark);
    font-family: var(--wsk-heading-font);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
}

:is(div.mpform, .mod_mpform) .mpform_checkbox_label,
:is(div.mpform, .mod_mpform) [class*="mpform_field_checkbox"] {
    font-size: .875rem;
    line-height: 1.5;
}

:is(div.mpform, .mod_mpform) :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="number"],
    input[type="date"],
    input[type="search"],
    input[type="password"],
    input[type="file"],
    select,
    textarea
) {
    display: block;
    width: 100%;
    min-height: 3.25rem;
    padding: .75rem .9rem;
    border: 1px solid var(--wsk-form-border);
    border-radius: var(--wsk-radius-sm);
    color: var(--wsk-gray-900);
    background: linear-gradient(145deg, #fff, #f9fcfd);
    box-shadow: inset 0 1px 2px rgba(0, 35, 52, .03), 0 5px 14px rgba(0, 47, 70, .04);
    font: inherit;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

:is(div.mpform, .mod_mpform) textarea {
    min-height: 11rem;
    resize: vertical;
}

:is(div.mpform, .mod_mpform) :is(input, select, textarea):focus {
    border-color: var(--wsk-blue);
    outline: 0;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(0, 88, 132, .13), 0 12px 26px rgba(0, 60, 90, .08);
}

:is(div.mpform, .mod_mpform) :is(input, select, textarea):disabled,
:is(div.mpform, .mod_mpform) :is(input, select, textarea)[readonly],
:is(div.mpform, .mod_mpform) .mpform_readonly input {
    color: var(--bs-secondary-color);
    background: #eef1f2;
    cursor: not-allowed;
}

:is(div.mpform, .mod_mpform) .mpform_field,
:is(div.mpform, .mod_mpform) :is(.mpform_date, .mpform_email, .mpform_textarea, .mpform_text, .mpform_select) {
    width: 100%;
}

:is(div.mpform, .mod_mpform) .newline {
    clear: both;
}

:is(div.mpform, .mod_mpform) :is(.questionbox, .answerbox, .submitbox) {
    float: none;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    text-align: left;
}

:is(div.mpform, .mod_mpform) .questionbox {
    margin-bottom: .35rem;
}

:is(div.mpform, .mod_mpform) .answerbox {
    margin-bottom: 1.15rem;
}

:is(div.mpform, .mod_mpform) fieldset {
    min-width: 0;
    margin: 0 0 1.5rem;
    padding: clamp(1.15rem, 3vw, 1.75rem);
    border: 1px solid rgba(0, 88, 132, .14);
    border-radius: var(--wsk-radius-md);
    background: rgba(255, 255, 255, .78);
}

:is(div.mpform, .mod_mpform) legend {
    float: none;
    width: auto;
    margin: 0 0 .75rem;
    padding: 0 .35rem;
    color: var(--wsk-blue-dark);
    font-family: var(--wsk-heading-font);
    font-size: 1.25rem;
    font-weight: 800;
}

:is(div.mpform, .mod_mpform) :is(input[type="checkbox"], input[type="radio"]) {
    width: 1.15rem;
    height: 1.15rem;
    margin: .15rem .55rem 0 0;
    accent-color: var(--wsk-blue);
    vertical-align: top;
}

:is(div.mpform, .mod_mpform) .submitbox {
    margin-top: 1.25rem;
}

:is(div.mpform, .mod_mpform) :is(.mpform_submit, input[type="submit"], button[type="submit"]) {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: .75rem 1.25rem;
    border: 1px solid var(--wsk-blue);
    border-radius: var(--wsk-radius-sm);
    color: #fff;
    background: var(--wsk-blue);
    box-shadow: 0 8px 20px rgba(0, 88, 132, .16);
    font-family: var(--wsk-heading-font);
    font-weight: 800;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

:is(div.mpform, .mod_mpform) :is(.mpform_submit, input[type="submit"], button[type="submit"]):hover {
    border-color: var(--wsk-blue-dark);
    background: var(--wsk-blue-dark);
    box-shadow: 0 10px 24px rgba(0, 60, 90, .22);
}

:is(div.mpform, .mod_mpform) :is(.mpform_submit, input[type="submit"], button[type="submit"]):focus-visible {
    outline: 3px solid rgba(255, 191, 71, .72);
    outline-offset: 3px;
}

:is(div.mpform, .mod_mpform) .help_txt,
:is(div.mpform, .mod_mpform) .captcha_expl {
    color: var(--bs-secondary-color);
    font-size: .875rem;
    line-height: 1.5;
}

:is(div.mpform, .mod_mpform) .mpform_help {
    padding: .5rem .75rem;
    border-radius: var(--wsk-radius-sm);
    color: var(--wsk-blue-dark);
    background: var(--wsk-blue-soft);
}

:is(div.mpform, .mod_mpform) span.mpform_required {
    color: var(--wsk-form-error);
    font-weight: 800;
}

:is(div.mpform, .mod_mpform) :is(
    .mpform_err_date,
    .mpform_err_email,
    .mpform_err_textarea,
    .mpform_err_text,
    .mpform_err_radio,
    .mpform_err_select,
    .mpform_err_checkbox,
    .captcha_err input
) {
    border-color: var(--wsk-form-error) !important;
    background: var(--wsk-form-error-bg) !important;
}

:is(div.mpform, .mod_mpform) :is(.mpform_error, .captcha_err) :is(.mpform_title, .mpform_field) {
    color: var(--wsk-form-error);
}

:is(div.mpform, .mod_mpform) .mpform_missing {
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border: 1px solid var(--wsk-form-error);
    border-radius: var(--wsk-radius-sm);
    color: var(--wsk-form-error);
    background: var(--wsk-form-error-bg);
    font-weight: 700;
}

:is(div.mpform, .mod_mpform) .mpform_results {
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--wsk-form-success);
    border-radius: var(--wsk-radius-sm);
    color: var(--wsk-form-success);
    background: var(--wsk-form-success-bg);
}

:is(div.mpform, .mod_mpform) .captcha input {
    background: #fffdf2;
}

:is(div.mpform, .mod_mpform) .input-group {
    display: flex;
    width: 100%;
    margin: .35rem 0;
}

:is(div.mpform, .mod_mpform) .text_captcha.medium.calc_text {
    float: none;
    margin: 0 0 .75rem;
}

:is(div.mpform, .mod_mpform) :is(.mpform_help_box_td, .mpform_help_box_div) {
    padding: .8rem;
    border: 1px solid rgba(0, 88, 132, .25);
    border-radius: var(--wsk-radius-sm);
    color: var(--wsk-blue-dark);
    background: var(--wsk-blue-soft);
}

:is(div.mpform, .mod_mpform) :is(.mpform_a_img, .mpform_img_help, .mpform_date_img) {
    border: 0;
}

/* Wird vom mpForm-Spamschutz benötigt und darf nicht entfernt werden. */
.nixhier {
    display: none !important;
}

@media (max-width: 575.98px) {
    .formbox {
        margin-top: 2rem;
    }

    :is(div.mpform, .mod_mpform) fieldset {
        padding: 1rem;
    }

    :is(div.mpform, .mod_mpform) :is(.mpform_submit, input[type="submit"], button[type="submit"]) {
        width: 100%;
    }
}

/* Leere mpForm-Hilfebloecke ausblenden */
div.mpform .mpform_help:empty,
div.mpform .mpform_help[hidden],
.mod_mpform .mpform_help:empty,
.mod_mpform .mpform_help[hidden] {
  display: none !important;
}

/* Karten auf dunklen Abschnittshintergruenden bleiben hell und lesbar */
.wsk-design-modern .wsk-bg-gray .wsk-card,
.wsk-design-modern .wsk-bg-dark .wsk-card,
.wsk-design-modern .wsk-bg-black .wsk-card,
.wsk-design-modern .wsk-bg-brand .wsk-card,
.wsk-design-modern .wsk-bg-navy .wsk-card,
.wsk-design-modern .wsk-bg-gradient .wsk-card {
  color: var(--wsk-gray-800);
}

.wsk-design-modern .wsk-bg-gray .wsk-card h2,
.wsk-design-modern .wsk-bg-gray .wsk-card h3,
.wsk-design-modern .wsk-bg-gray .wsk-card h4,
.wsk-design-modern .wsk-bg-dark .wsk-card h2,
.wsk-design-modern .wsk-bg-dark .wsk-card h3,
.wsk-design-modern .wsk-bg-dark .wsk-card h4,
.wsk-design-modern .wsk-bg-black .wsk-card h2,
.wsk-design-modern .wsk-bg-black .wsk-card h3,
.wsk-design-modern .wsk-bg-black .wsk-card h4,
.wsk-design-modern .wsk-bg-brand .wsk-card h2,
.wsk-design-modern .wsk-bg-brand .wsk-card h3,
.wsk-design-modern .wsk-bg-brand .wsk-card h4,
.wsk-design-modern .wsk-bg-navy .wsk-card h2,
.wsk-design-modern .wsk-bg-navy .wsk-card h3,
.wsk-design-modern .wsk-bg-navy .wsk-card h4,
.wsk-design-modern .wsk-bg-gradient .wsk-card h2,
.wsk-design-modern .wsk-bg-gradient .wsk-card h3,
.wsk-design-modern .wsk-bg-gradient .wsk-card h4 {
  color: var(--wsk-gray-900);
}

.wsk-design-modern .wsk-bg-gray .wsk-card a:not(.btn),
.wsk-design-modern .wsk-bg-dark .wsk-card a:not(.btn),
.wsk-design-modern .wsk-bg-black .wsk-card a:not(.btn),
.wsk-design-modern .wsk-bg-brand .wsk-card a:not(.btn),
.wsk-design-modern .wsk-bg-navy .wsk-card a:not(.btn),
.wsk-design-modern .wsk-bg-gradient .wsk-card a:not(.btn) {
  color: var(--wsk-blue);
}

.wsk-design-modern .wsk-bg-gray .wsk-card .wsk-checklist li::before,
.wsk-design-modern .wsk-bg-dark .wsk-card .wsk-checklist li::before,
.wsk-design-modern .wsk-bg-black .wsk-card .wsk-checklist li::before,
.wsk-design-modern .wsk-bg-brand .wsk-card .wsk-checklist li::before,
.wsk-design-modern .wsk-bg-navy .wsk-card .wsk-checklist li::before,
.wsk-design-modern .wsk-bg-gradient .wsk-card .wsk-checklist li::before {
  color: var(--wsk-blue);
}

/* Listen und Fliesstext in hellen Karten auf dunklen Abschnitten */
.wsk-design-modern .wsk-bg-gray .wsk-card :is(p, ul, ol, li),
.wsk-design-modern .wsk-bg-dark .wsk-card :is(p, ul, ol, li),
.wsk-design-modern .wsk-bg-black .wsk-card :is(p, ul, ol, li),
.wsk-design-modern .wsk-bg-brand .wsk-card :is(p, ul, ol, li),
.wsk-design-modern .wsk-bg-navy .wsk-card :is(p, ul, ol, li),
.wsk-design-modern .wsk-bg-gradient .wsk-card :is(p, ul, ol, li) {
  color: var(--wsk-gray-800);
}

/* =========================================================
   WSK Members-Hero – Optik wie automatischer Fallback-Hero
   ========================================================= */

/*
 * Höhe und Grundaufbau orientieren sich am automatischen Hero.
 * Etwas mehr Mindesthöhe bleibt für den optionalen CTA erhalten.
 */
.wsk-design-modern .wsk-home-hero .wsk-hero-slider,
.wsk-design-modern .wsk-home-hero .wsk-hero-slider > .carousel-inner,
.wsk-design-modern .wsk-home-hero
  .wsk-hero-slider > .carousel-inner > .carousel-item,
.wsk-design-modern .wsk-home-hero .wsk-hero-slide {
  height: clamp(420px, 49vw, 590px);
  min-height: 0;
  overflow: hidden;
}

/* Gleiche dezente Bildbewegung wie beim Fallback-Hero. */
.wsk-design-modern .wsk-home-hero .wsk-hero-media img {
  transform: scale(1.045);
  animation: wskHeroBreath 16s ease-in-out infinite alternate;
}

/* Gleiche Bildabdunklung und gleiche Lichtwirkung. */
.wsk-design-modern .wsk-home-hero .wsk-hero-overlay {
  background:
    radial-gradient(
      circle at 72% 24%,
      rgba(40, 190, 219, .24),
      transparent 28%
    ),
    linear-gradient(
      92deg,
      rgba(0, 29, 45, .96) 0%,
      rgba(0, 55, 82, .88) 46%,
      rgba(0, 73, 103, .48) 76%,
      rgba(0, 49, 72, .28) 100%
    );
}

/*
 * Inhaltsbereich wie beim automatischen Hero.
 * max-height und overflow aus der früheren festen Sliderhöhe
 * werden hier bewusst zurückgesetzt.
 */
.wsk-design-modern .wsk-home-hero .wsk-hero-content {
  position: relative;
  max-width: 900px;
  max-height: none;
  padding: clamp(4rem, 8vw, 7rem) 0;
  overflow: visible;
  color: #fff;
}

/* Akzentlinie direkt am Inhaltsbereich. */
.wsk-design-modern .wsk-home-hero .wsk-hero-content::before {
  position: absolute;
  top: clamp(3.6rem, 7vw, 5.6rem);
  bottom: clamp(3.6rem, 7vw, 5.6rem);
  left: -1rem;
  display: block;
  width: 2px;
  border-radius: 999px;
  content: "";
  opacity: .62;
  background:
    linear-gradient(
      180deg,
      rgba(37, 184, 214, .88),
      rgba(255, 255, 255, .12)
    );
  box-shadow: 0 0 14px rgba(37, 184, 214, .18);
}

/* Falls .wsk-hero-copy vorhanden ist, keine zweite Linie ausgeben. */
.wsk-design-modern .wsk-home-hero .wsk-hero-copy {
  max-width: none;
  padding: 0;
}

.wsk-design-modern .wsk-home-hero .wsk-hero-copy::before {
  display: none;
}

/* Kicker wie beim Fallback: kleines halbtransparentes Label. */
.wsk-design-modern .wsk-home-hero .wsk-hero-kicker {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 1rem;
  padding: .42rem .72rem;
  border: 1px solid rgba(255, 255, 255, .23);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
  font-family: var(--wsk-heading-font);
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-shadow: 0 3px 15px rgba(0, 0, 0, .25);
  backdrop-filter: blur(8px);
}

/* Slidetitel optisch wie die H1 des automatischen Heros. */
.wsk-design-modern .wsk-home-hero .wsk-hero-title {
  max-width: 960px;
  margin-bottom: 1.25rem;
  color: #fff;
  font-size: clamp(2.45rem, 4.35vw, 4.35rem);
  font-weight: 700;
  line-height: 1.055;
  letter-spacing: 0;
  text-wrap: balance;
  text-shadow: 0 8px 28px rgba(0, 0, 0, .28);
}

/* Haupttext wie die Einleitung des automatischen Heros. */
.wsk-design-modern .wsk-home-hero .wsk-hero-text {
  max-width: 760px;
  margin-top: 1rem;
  color: rgba(255, 255, 255, .94);
  font-size: clamp(1.04rem, 1.8vw, 1.28rem);
  line-height: 1.58;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .22);
}

.wsk-design-modern .wsk-home-hero .wsk-hero-text p {
  margin-bottom: 0;
}

.wsk-design-modern .wsk-home-hero .wsk-hero-additional {
  max-width: 760px;
  margin-top: .85rem;
  color: rgba(255, 255, 255, .78);
  font-size: 1rem;
  line-height: 1.55;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .2);
}

.wsk-design-modern .wsk-home-hero .wsk-hero-additional p {
  margin-bottom: 0;
}

.wsk-design-modern .wsk-home-hero .wsk-hero-actions {
  margin-top: 1.75rem;
}

/* Leere redaktionelle Felder ausblenden. */
.wsk-design-modern .wsk-home-hero .wsk-hero-kicker:empty,
.wsk-design-modern .wsk-home-hero .wsk-hero-text:empty,
.wsk-design-modern .wsk-home-hero .wsk-hero-additional:empty {
  display: none;
}

/* Mobile Darstellung analog zum Fallback. */
@media (max-width: 575.98px) {
  .wsk-design-modern .wsk-home-hero .wsk-hero-slider,
  .wsk-design-modern .wsk-home-hero
    .wsk-hero-slider > .carousel-inner,
  .wsk-design-modern .wsk-home-hero
    .wsk-hero-slider > .carousel-inner > .carousel-item,
  .wsk-design-modern .wsk-home-hero .wsk-hero-slide {
    height: 430px;
  }

  .wsk-design-modern .wsk-home-hero .wsk-hero-content {
    padding: 3.5rem 0;
  }

  .wsk-design-modern .wsk-home-hero .wsk-hero-content::before {
    left: -.75rem;
  }

  .wsk-design-modern .wsk-home-hero .wsk-hero-kicker {
    font-size: .82rem;
  }

  .wsk-design-modern .wsk-home-hero .wsk-hero-title {
    font-size: clamp(2.35rem, 12vw, 3.4rem);
  }

  .wsk-design-modern .wsk-home-hero .wsk-hero-text,
  .wsk-design-modern .wsk-home-hero .wsk-hero-additional {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wsk-design-modern .wsk-home-hero .wsk-hero-media img {
    animation: none !important;
  }
}



/* =========================================================
   WBCE Seitensuche – Suchformular und Ergebnisliste
   ========================================================= */

.wsk-search-results-page .wsk-block-1 {
  position: relative;
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
  background:
    radial-gradient(circle at 88% 4%, rgba(var(--bs-primary-rgb), .09), transparent 30rem),
    #fff;
  color: #263740;
}

.wsk-search-results-page .wsk-block-1 > .container {
  max-width: 1080px;
}

.wsk-search-results-page form[name="search"] {
  margin: 0 0 clamp(2rem, 5vw, 3.5rem);
  padding: clamp(1.35rem, 3vw, 2.25rem);
  border: 1px solid rgba(0, 88, 132, .14);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1rem 3rem rgba(18, 47, 61, .08);
}

.wsk-search-results-page .wsk-search-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: stretch;
}

.wsk-search-results-page .wsk-search-input-row input[type="text"] {
  width: 100% !important;
  min-width: 0;
  min-height: 48px;
  padding: .75rem 1rem;
  border: 1px solid rgba(0, 88, 132, .2);
  border-radius: .7rem;
  background: #fff;
  color: #243b47;
  font: inherit;
  font-size: 1rem;
}

.wsk-search-results-page .wsk-search-input-row input[type="text"]:focus {
  outline: 0;
  border-color: #005884;
  box-shadow: 0 0 0 .2rem rgba(0, 88, 132, .14);
}

.wsk-search-results-page .wsk-search-input-row input[type="submit"] {
  width: auto !important;
  min-width: 130px;
  min-height: 48px;
  padding: .75rem 1.25rem;
  border: 1px solid #005884;
  border-radius: .7rem;
  background: #005884;
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.wsk-search-results-page .wsk-search-input-row input[type="submit"]:hover,
.wsk-search-results-page .wsk-search-input-row input[type="submit"]:focus-visible {
  border-color: #003c5b;
  background: #003c5b;
  box-shadow: 0 .75rem 1.75rem rgba(0, 88, 132, .18);
}

.wsk-search-results-page form[name="search"] br {
  display: none;
}

.wsk-search-results-page .wsk-search-options {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1rem;
}

.wsk-search-results-page form[name="search"] input[type="radio"],
.wsk-search-results-page .wsk-search-options input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.wsk-search-results-page form[name="search"] label[for="match_all"],
.wsk-search-results-page form[name="search"] label[for="match_any"],
.wsk-search-results-page form[name="search"] label[for="match_exact"],
.wsk-search-results-page .wsk-search-options label {
  display: inline-flex;
  min-height: 40px;
  margin: 0;
  padding: .55rem .9rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 88, 132, .2);
  border-radius: 999px;
  background: #fff;
  color: #243b47;
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.wsk-search-results-page form[name="search"] label[for="match_all"]:hover,
.wsk-search-results-page form[name="search"] label[for="match_any"]:hover,
.wsk-search-results-page form[name="search"] label[for="match_exact"]:hover,
.wsk-search-results-page .wsk-search-options label:hover {
  border-color: rgba(0, 88, 132, .45);
  background: rgba(0, 88, 132, .05);
}

.wsk-search-results-page form[name="search"] input[type="radio"]:focus-visible + label,
.wsk-search-results-page .wsk-search-options input[type="radio"]:focus-visible + label {
  outline: 0;
  box-shadow: 0 0 0 .2rem rgba(0, 88, 132, .14);
}

.wsk-search-results-page form[name="search"] input[type="radio"]:checked + label,
.wsk-search-results-page .wsk-search-options input[type="radio"]:checked + label {
  border-color: #005884;
  background: #005884;
  color: #fff;
  box-shadow: 0 .45rem 1rem rgba(0, 88, 132, .18);
}

.wsk-search-results-page form[name="search"] + hr {
  margin: 1.5rem 0;
  border: 0;
  border-top: 1px solid rgba(0, 88, 132, .12);
  opacity: 1;
}

.wsk-search-results-page .wsk-block-1 dl {
  display: grid;
  gap: 1rem;
  margin: 1.5rem 0 0;
}

.wsk-search-results-page .wsk-block-1 dt {
  margin: 0;
  padding: 1.4rem 1.5rem .4rem;
  border: 1px solid rgba(0, 88, 132, .12);
  border-bottom: 0;
  border-radius: .9rem .9rem 0 0;
  background: #fff;
  font-family: var(--wsk-heading-font, inherit);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  line-height: 1.3;
}

.wsk-search-results-page .wsk-block-1 dt a {
  color: #263740;
  text-decoration: none;
}

.wsk-search-results-page .wsk-block-1 dt a:hover,
.wsk-search-results-page .wsk-block-1 dt a:focus-visible {
  color: #005884;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.wsk-search-results-page .wsk-block-1 dd {
  margin: -.01rem 0 0 !important;
  padding: .2rem 1.5rem 1.45rem;
  border: 1px solid rgba(0, 88, 132, .12);
  border-top: 0;
  border-radius: 0 0 .9rem .9rem;
  background: #fff;
  color: #52636c;
  line-height: 1.65;
  box-shadow: 0 .8rem 2.2rem rgba(18, 47, 61, .055);
}

.wsk-search-results-page .wsk-block-1 dd > div:first-child {
  margin-bottom: .45rem;
  color: #005884;
  font-size: .88rem;
  font-weight: 700;
}

.wsk-search-results-page .wsk-block-1 dd b,
.wsk-search-results-page .wsk-block-1 dd strong {
  color: #263740;
  font-weight: 750;
}

.wsk-search-results-page .wsk-block-1 p {
  color: #52636c;
}

/* =========================================================
   WBCE Suche – Hervorhebung auf Zielseiten
   ========================================================= */

.highlight {
  padding: .08em .22em;
  border-radius: .2em;
  background: rgba(37, 184, 214, .22);
  color: inherit;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  box-shadow: inset 0 -.08em 0 rgba(0, 88, 132, .28);
}

.wsk-bg-gray .highlight,
.wsk-bg-dark .highlight,
.wsk-bg-black .highlight,
.wsk-bg-brand .highlight,
.wsk-bg-navy .highlight,
.wsk-bg-gradient .highlight,
.wsk-hero-section .highlight,
.wsk-claim .highlight {
  background: rgba(37, 184, 214, .42);
  color: #fff;
  box-shadow: inset 0 -.08em 0 rgba(255, 255, 255, .3);
}

@media (max-width: 575.98px) {
  .wsk-search-results-page .wsk-search-input-row {
    grid-template-columns: 1fr;
  }

  .wsk-search-results-page .wsk-search-input-row input[type="submit"] {
    width: 100% !important;
  }

  .wsk-search-results-page .wsk-search-options {
    display: grid;
    grid-template-columns: 1fr;
  }

  .wsk-search-results-page .wsk-search-options label {
    width: 100%;
    justify-content: flex-start;
    border-radius: .75rem;
  }

  .wsk-search-results-page .wsk-block-1 dt {
    padding: 1.2rem 1.15rem .35rem;
  }

  .wsk-search-results-page .wsk-block-1 dd {
    padding: .15rem 1.15rem 1.2rem;
  }
}

/* =========================================================
   WSK Referenzen – Logoübersicht
   ========================================================= */

.wsk-design-modern .wsk-reference-logo-group-intro {
  max-width: 760px;
}

.wsk-design-modern .wsk-reference-logo-card {
  display: flex;
  min-height: 170px;
  padding: 1.25rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 88, 132, .12);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .5rem 1.5rem rgba(27, 52, 65, .05);
  text-align: center;
  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}

.wsk-design-modern .wsk-reference-logo-card:hover {
  border-color: rgba(0, 88, 132, .28);
  box-shadow: 0 .8rem 2rem rgba(27, 52, 65, .1);
  transform: translateY(-3px);
}

.wsk-design-modern .wsk-reference-logo-media {
  display: flex;
  width: 100%;
  min-height: 90px;
  align-items: center;
  justify-content: center;
}

.wsk-design-modern .wsk-reference-logo-media img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 72px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .72;
  transition:
    filter .2s ease,
    opacity .2s ease;
}

.wsk-design-modern .wsk-reference-logo-card:hover img {
  filter: grayscale(0);
  opacity: 1;
}

.wsk-design-modern .wsk-reference-logo-name {
  margin: 1rem 0 0;
  color: #334a56;
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.35;
}


/* =========================================================
   WSK Referenzen – Kundenstimmen
   ========================================================= */

.wsk-design-modern .wsk-testimonial-slider {
  max-width: 980px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 4rem;
  padding-left: 4rem;
}

.wsk-design-modern .wsk-testimonial-card {
  position: relative;
  min-height: 390px;
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid rgba(0, 88, 132, .12);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 1rem 3rem rgba(27, 52, 65, .08);
  text-align: center;
}

.wsk-design-modern .wsk-testimonial-card::before {
  display: block;
  margin-bottom: .75rem;
  color: rgba(0, 88, 132, .2);
  content: "“";
  font-family: Georgia, serif;
  font-size: 5rem;
  font-weight: 700;
  line-height: .8;
}

.wsk-design-modern .wsk-testimonial-logo {
  display: flex;
  min-height: 72px;
  margin-bottom: 1.5rem;
  align-items: center;
  justify-content: center;
}

.wsk-design-modern .wsk-testimonial-logo img {
  width: auto;
  max-width: 220px;
  height: auto;
  max-height: 64px;
  object-fit: contain;
}

.wsk-design-modern .wsk-testimonial-quote {
  max-width: 760px;
  margin-right: auto;
  margin-bottom: 2rem;
  margin-left: auto;
  color: #243b47;
  font-size: clamp(1.15rem, 2.2vw, 1.55rem);
  line-height: 1.65;
}

.wsk-design-modern .wsk-testimonial-quote p:last-child {
  margin-bottom: 0;
}

.wsk-design-modern .wsk-testimonial-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #566c77;
  gap: .2rem;
}

.wsk-design-modern .wsk-testimonial-meta strong {
  color: #243b47;
}

.wsk-design-modern .wsk-testimonial-project {
  margin-top: .35rem;
  color: var(--bs-primary);
  font-size: .9rem;
  font-weight: 600;
}

.wsk-design-modern .wsk-testimonial-control {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: inline-flex;
  width: 46px;
  height: 46px;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 88, 132, .16);
  border-radius: 50%;
  background: #fff;
  color: var(--bs-primary);
  box-shadow: 0 .5rem 1.5rem rgba(27, 52, 65, .1);
  font-size: 2rem;
  line-height: 1;
  transform: translateY(-50%);
}

.wsk-design-modern .wsk-testimonial-prev {
  left: 0;
}

.wsk-design-modern .wsk-testimonial-next {
  right: 0;
}

.wsk-design-modern .wsk-testimonial-control:hover,
.wsk-design-modern .wsk-testimonial-control:focus-visible {
  border-color: var(--bs-primary);
  background: var(--bs-primary);
  color: #fff;
}

@media (max-width: 767.98px) {
  .wsk-design-modern .wsk-reference-logo-card {
    min-height: 145px;
    padding: 1rem;
  }

  .wsk-design-modern .wsk-reference-logo-media {
    min-height: 70px;
  }

  .wsk-design-modern .wsk-reference-logo-media img {
    max-height: 56px;
  }

  .wsk-design-modern .wsk-reference-logo-name {
    font-size: .78rem;
  }

  .wsk-design-modern .wsk-testimonial-slider {
    padding-right: 0;
    padding-bottom: 4.5rem;
    padding-left: 0;
  }

  .wsk-design-modern .wsk-testimonial-card {
    min-height: auto;
    padding: 2rem 1.25rem;
  }

  .wsk-design-modern .wsk-testimonial-control {
    top: auto;
    bottom: 0;
    transform: none;
  }

  .wsk-design-modern .wsk-testimonial-prev {
    left: calc(50% - 54px);
  }

  .wsk-design-modern .wsk-testimonial-next {
    right: calc(50% - 54px);
  }
}


/* =========================================================
   WSK Maschinenfinder
   ========================================================= */

.wsk-design-modern .wsk-machine-filter {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(var(--bs-primary-rgb), .14);
  border-radius: 1rem;
  background:
    linear-gradient(
      145deg,
      rgba(var(--bs-primary-rgb), .055),
      rgba(255, 255, 255, .98)
    );
}

.wsk-design-modern .wsk-machine-filter-process {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

.wsk-design-modern .wsk-machine-filter-process .btn {
  border-radius: 999px;
}

.wsk-design-modern .wsk-machine-filter-results {
  color: var(--bs-secondary-color);
}

.wsk-design-modern .wsk-machine-filter-results strong {
  color: var(--bs-primary);
}

.wsk-design-modern .wsk-machine-filter-empty {
  border: 1px dashed rgba(var(--bs-primary-rgb), .28);
  border-radius: 1rem;
  background: rgba(var(--bs-primary-rgb), .035);
}

.wsk-design-modern [data-machine-card][hidden] {
  display: none !important;
}

@media (max-width: 767.98px) {
  .wsk-design-modern .wsk-machine-filter-process {
    flex-wrap: nowrap;
    padding-bottom: .5rem;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .wsk-design-modern .wsk-machine-filter-process .btn {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wsk-design-modern .wsk-reference-logo-card,
  .wsk-design-modern .wsk-reference-logo-media img,
  .wsk-navigator-finder-arrow {
    transition: none !important;
  }
}

