@keyframes spin {
	 from {
		 transform: rotate(0deg);
	}
	 to {
		 transform: rotate(360deg);
	}
}
 #page-loader {
	 position: fixed;
	 inset: 0;
	 z-index: 9000;
	 background: rgba(10,18,28,0.6);
	 backdrop-filter: blur(8px);
	 -webkit-backdrop-filter: blur(8px);
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 opacity: 0;
	 pointer-events: none;
	 transition: opacity 200ms ease;
}
 #page-loader.visible {
	 opacity: 1;
	 pointer-events: all;
}
 #page-loader .page-loader__inner {
	 display: flex;
	 flex-direction: column;
	 align-items: center;
	 gap: 20px;
}
 #page-loader .page-loader__ring {
	 width: 52px;
	 height: 52px;
	 border: 3px solid rgba(255,255,255,0.18);
	 border-top-color: #fff;
	 border-radius: 50%;
	 animation: spin 0.75s linear infinite;
}
 #page-loader .page-loader__text {
	 color: #fff;
	 font-size: 20px;
	 font-weight: 700;
	 letter-spacing: -0.3px;
	 margin: 0;
}
 #page-loader .page-loader__sub {
	 color: rgba(255,255,255,0.45);
	 font-size: 13px;
	 font-weight: 400;
	 margin: -12px 0 0;
	 text-align: center;
}
 ::selection {
	 background: #002d3d;
	 color: #fff;
}
 ::-moz-selection {
	 background: #002d3d;
	 color: #fff;
}
 *, *::before, *::after {
	 box-sizing: border-box;
}
 body {
	 padding: 0;
	 margin: 0;
	 background: #ffffff;
	 color: #0f1923;
	 font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
	 overflow-x: hidden;
	 -webkit-font-smoothing: antialiased;
	 letter-spacing: -0.01em;
	 line-height: 1.65;
}
 h1, h2, h3, h4 {
	 margin: 0;
	 font-weight: 700;
	 line-height: 1.2;
}
 h2 {
	 font-size: 30px;
	 font-weight: 700;
	 text-align: center;
	 margin-bottom: 12px;
	 color: #0f1923;
}
 h2:after {
	 content: '';
	 display: block;
	 width: 32px;
	 height: 2px;
	 background: #002d3d;
	 margin: 12px auto 0;
	 border-radius: 1px;
}
 li {
	 list-style-type: none;
	 padding: 0;
	 margin: 0;
}
 a {
	 font-weight: 600;
	 color: inherit;
	 cursor: pointer;
	 text-decoration: none;
}
 p {
	 margin-top: 0;
}
 .gradient-text {
	 color: #002d3d;
	 background: #ffffff;
}
 #main {
	 max-width: 1440px;
	 margin: 0 auto;
	 background: #ffffff;
	 min-height: 100vh;
}
 .page__content {
	 z-index: 10;
	 position: relative;
}
 .page__subcontent {
	 max-width: 1120px;
	 margin: 0 auto;
	 padding: 80px 40px;
}
 .header {
	 left: 0;
	 position: fixed;
	 right: 0;
	 z-index: 6000;
}
 .header .header__content {
	 align-items: center;
	 box-sizing: border-box;
	 display: flex;
	 justify-content: space-between;
	 margin: 0 auto;
	 max-width: 1440px;
	 transition: all 300ms ease;
	 background: #fff;
	 padding: 0 48px;
	 height: 64px;
	 border-bottom: 1px solid #e5e7eb;
	 box-shadow: 0 1px 0 #e5e7eb;
}
 .header .header__content img {
	 max-height: 22px;
	 width: auto;
	 filter: none;
}
 .header.stuck .header__content {
	 background: transparent;
	 border-bottom-color: transparent;
	 box-shadow: none;
}
 .header.stuck .header__content ul.menu li a {
	 color: rgba(255,255,255,0.8);
}
 .header.stuck .header__content ul.menu li a:hover {
	 color: #fff;
	 background: rgba(255,255,255,0.1);
}
 .header.stuck ul.menu li a {
	 color: rgba(255,255,255,0.8);
}
 .header.stuck ul.menu li a:hover {
	 color: #fff;
	 background: rgba(255,255,255,0.1);
}
 .logo-link {
	 display: flex;
	 align-items: center;
}
 .logo--invert {
	 display: none;
}
 .header.stuck .logo--normal {
	 display: none;
}
 .header.stuck .logo--invert {
	 display: block;
}
 ul.menu {
	 padding: 0;
	 margin: 0;
	 display: flex;
	 gap: 2px;
	 align-items: center;
}
 ul.menu li {
	 display: inline-block;
	 position: relative;
	 padding: 0;
}
 ul.menu li a {
	 color: #6b7280;
	 font-size: 13px;
	 font-weight: 500;
	 display: inline-block;
	 letter-spacing: 0.5px;
	 text-transform: uppercase;
	 padding: 8px 16px;
	 border-radius: 8px;
	 transition: all 180ms ease;
}
 ul.menu li a:hover {
	 color: #0f1923;
	 background: #f7f8fa;
}
 ul.menu a:after {
	 display: none;
}
 ul.menu a:hover:not(.active):after {
	 display: none;
}
 .hero {
	 position: relative;
	 height: 70vh;
	 min-height: 600px;
	 overflow: hidden;
	 background: #002d3d;
	 display: flex;
	 align-items: center;
	 color: #fff;
}
 .hero .hero_graphic {
	 position: absolute;
	 inset: 0;
	 z-index: 1;
}
 .hero .hero_graphic img {
	 width: 100%;
	 height: 100%;
	 object-fit: cover;
	 object-position: center;
	 max-width: unset;
	 opacity: 1;
	 filter: none;
}
 .hero .hero_graphic img[alt="Kontakt"] {
	 object-position: center top;
}
 .hero .hero_graphic:after {
	 content: '';
	 position: absolute;
	 inset: 0;
	 background: linear-gradient(to right,rgba(0,0,0,0.65) 0%,rgba(0,0,0,0.35) 55%,rgba(0,0,0,0.15) 100%);
}
 .hero .content {
	 position: relative;
	 z-index: 3;
	 width: 100%;
	 display: block;
	 background: transparent;
	 height: auto;
	 max-width: 100%;
	 margin: 0;
}
 .hero .innercontent {
	 padding: 0 80px;
	 max-width: 760px;
}
 .hero .hero_tag {
	 display: inline-block;
	 font-size: 11px;
	 font-weight: 600;
	 text-transform: uppercase;
	 letter-spacing: 2px;
	 color: rgba(255,255,255,0.82);
	 margin-bottom: 24px;
}
 .hero .hero_title {
	 font-size: 64px;
	 line-height: 1.05;
	 font-weight: 800;
	 letter-spacing: -2px;
	 color: #fff;
	 margin-bottom: 24px;
	 will-change: transform;
}
 .hero .hero_subtitle {
	 font-size: 18px;
	 max-width: 520px;
	 line-height: 1.7;
	 color: rgba(255,255,255,0.82);
	 margin-bottom: 48px;
	 font-weight: 400;
	 will-change: transform;
}
 .hero .hero__cta {
	 display: inline-flex;
	 align-items: center;
	 gap: 8px;
	 padding: 14px 36px;
	 background: #fff;
	 color: #002d3d;
	 font-weight: 700;
	 font-size: 13px;
	 letter-spacing: 0.5px;
	 text-transform: uppercase;
	 border-radius: 6px;
	 transition: all 200ms ease;
}
 .hero .hero__cta:hover {
	 background: rgba(255,255,255,0.9);
}
 .hero .hero__cta .hero__cta-arrow {
	 font-style: normal;
}
 .hero:after {
	 border: 3px solid rgba(255,255,255,0.25);
	 border-top-color: #fff;
	 border-radius: 50%;
	 width: 40px;
	 height: 40px;
	 position: absolute;
	 opacity: 0;
	 pointer-events: none;
	 top: 50%;
	 left: 50%;
	 will-change: opacity;
	 transform: translate(-50%,-50%);
	 z-index: 10;
}
 .hero--compact {
	 height: 50vH;
	 min-height: 500px;
}
 .hero--compact .innercontent {
	 padding-top: 0;
}
 .hero--compact .hero_title {
	 font-size: 42px;
	 letter-spacing: -1px;
	 margin-bottom: 8px;
}
 .hero--compact .hero_subtitle {
	 margin-bottom: 0;
}
 .animatable .page__content {
	 will-change: opacity;
	 transition: opacity .3s cubic-bezier(0,0,.3,1) .3s;
}
 .animatable .hero .hero_graphic {
	 will-change: opacity;
	 transition: opacity .35s cubic-bezier(0,0,.3,1);
}
 .animatable .hero .hero_title, .animatable .hero .hero_subtitle {
	 will-change: transform;
	 transition: transform 1.34s cubic-bezier(0,0,.3,1), opacity 1.34s cubic-bezier(0,0,.3,1);
}
 .animatable .spinner:after {
	 z-index: 30;
	 content: '';
}
 .hidden-areas .page__content {
	 opacity: 0;
	 transition: opacity .3s cubic-bezier(0,0,.3,1);
}
 .hidden-areas .hero .hero_graphic {
	 opacity: 0;
}
 .hidden-areas .hero .hero_title, .hidden-areas .hero .hero_subtitle {
	 transform: translateX(-50%) translateX(16px);
	 opacity: 0;
}
 .spinner:after {
	 opacity: 1;
	 animation-name: spin;
	 animation-duration: 1s;
	 animation-iteration-count: infinite;
	 animation-timing-function: linear;
}
 .cases {
	 padding: 80px 64px;
	 background: #ffffff;
}
 .cases .cases__section-header {
	 text-align: center;
	 margin-bottom: 48px;
}
 .cases .cases__label {
	 display: inline-block;
	 font-size: 11px;
	 font-weight: 600;
	 text-transform: uppercase;
	 letter-spacing: 2px;
	 color: #6b7280;
	 margin-bottom: 12px;
}
 .cases .cases__heading {
	 font-size: 36px;
	 font-weight: 800;
	 letter-spacing: -1px;
	 color: #0f1923;
	 margin-bottom: 0;
}
 .cases .cases__heading:after {
	 display: none;
}
 .cases .case_tabs {
	 display: flex;
	 gap: 8px;
	 margin-bottom: 48px;
	 flex-wrap: wrap;
}
 .cases .case_tabs .case_tab {
	 background: #f7f8fa;
	 border: 1px solid #e5e7eb;
	 border-radius: 8px;
	 padding: 14px 18px;
	 display: flex;
	 align-items: center;
	 gap: 12px;
	 cursor: pointer;
	 transition: all 150ms ease;
	 flex: 1;
	 min-width: 150px;
}
 .cases .case_tabs .case_tab:hover {
	 border-color: #d1d5db;
	 background: #fff;
}
 .cases .case_tabs .case_tab .case_tab_cat {
	 font-size: 12px;
	 font-weight: 500;
	 color: #6b7280;
	 text-transform: uppercase;
	 letter-spacing: 0.5px;
	 flex: 1;
}
 .cases .case_tabs .case_tab .case_tab_logo {
	 margin-left: auto;
}
 .cases .case_tabs .case_tab img {
	 height: 28px;
	 width: auto;
	 filter: grayscale(100%);
	 opacity: 0.5;
}
 .cases .case_tabs .active {
	 background: #fff;
	 border-color: #002d3d;
}
 .cases .case_tabs .active .case_tab_cat {
	 color: #002d3d;
	 font-weight: 600;
}
 .cases .case_tabs .active img {
	 filter: none;
	 opacity: 1;
}
 .cases .cases__container {
	 max-width: 1060px;
	 margin: 0 auto;
}
 .cases .cases__content {
	 display: grid;
	 grid-template-columns: 1fr 340px;
	 gap: 64px;
	 align-items: start;
}
 .cases .cases__content .cases__text h2 {
	 text-align: left;
	 font-size: 30px;
	 letter-spacing: -0.5px;
	 margin-bottom: 16px;
}
 .cases .cases__content .cases__text h2:after {
	 margin-left: 0;
}
 .cases .cases__content .cases__text p {
	 color: #6b7280;
	 font-size: 16px;
	 line-height: 1.75;
}
 .cases .cases__content .quote {
	 margin: 32px 0;
	 padding: 28px;
	 background: #f7f8fa;
	 border-left: 3px solid #002d3d;
	 border-radius: 0 8px 8px 0;
}
 .cases .cases__content .quote .quote__body {
	 font-size: 17px;
	 line-height: 1.65;
	 color: #0f1923;
	 font-style: italic;
	 margin-bottom: 12px;
}
 .cases .cases__content .quote .quote__author {
	 font-size: 12px;
	 color: #002d3d;
	 font-weight: 700;
	 letter-spacing: 0.3px;
	 text-transform: uppercase;
}
 .cases .cases__content .cases__right {
	 display: flex;
	 flex-direction: column;
	 gap: 16px;
}
 .cases .cases__content .cases__img {
	 border-radius: 12px;
	 overflow: hidden;
	 border: 1px solid #e5e7eb;
}
 .cases .cases__content .cases__img img {
	 width: 100%;
	 height: auto;
	 display: block;
}
 .cases .cases__content .cases__reported {
	 background: #002d3d;
	 border-radius: 12px;
	 color: #fff;
	 padding: 28px;
	 font-size: 14px;
	 line-height: 1.5;
}
 .cases .cases__content .cases__reported b {
	 display: block;
	 font-size: 56px;
	 font-weight: 800;
	 line-height: 1;
	 margin-bottom: 8px;
	 letter-spacing: -2px;
}
 .solver {
	 background: #f7f8fa;
	 padding: 88px 64px;
	 text-align: center;
	 border-top: 1px solid #e5e7eb;
	 border-bottom: 1px solid #e5e7eb;
}
 .solver .solver__inner {
	 max-width: 1060px;
	 margin: 0 auto;
}
 .solver .solver__label {
	 display: inline-block;
	 font-size: 11px;
	 font-weight: 600;
	 text-transform: uppercase;
	 letter-spacing: 2px;
	 color: #6b7280;
	 margin-bottom: 12px;
}
 .solver h2 {
	 font-size: 34px;
	 letter-spacing: -1px;
	 margin-bottom: 12px;
}
 .solver .solver__sub {
	 color: #6b7280;
	 font-size: 17px;
	 margin-bottom: 56px;
}
 .material-icons {
	 padding: 16px;
	 background: #e8f0f3;
	 border-radius: 8px;
	 color: #002d3d;
	 font-size: 24px;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
}
 .bullet_icon {
	 text-align: left;
	 margin-bottom: 0;
}
 ul.bullets {
	 display: grid;
	 grid-template-columns: repeat(3,1fr);
	 gap: 20px;
	 list-style: none;
	 padding: 0;
	 margin: 0;
	 text-align: left;
}
 ul.bullets li {
	 background: #fff;
	 border: 1px solid #e5e7eb;
	 border-radius: 12px;
	 padding: 36px 32px;
	 transition: border-color 150ms ease, box-shadow 150ms ease;
	 display: flex;
	 flex-direction: column;
	 margin: 0;
	 color: #6b7280;
	 font-size: 15px;
	 line-height: 1.75;
}
 ul.bullets li:hover {
	 border-color: #d1d5db;
	 box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
 ul.bullets li b {
	 display: block;
	 font-size: 17px;
	 font-weight: 700;
	 color: #0f1923;
	 margin: 18px 0 10px;
}
 .contact {
	 margin: 56px 64px;
	 border-radius: 16px;
	 padding: 80px;
	 text-align: center;
	 background: #002d3d;
	 color: #fff;
}
 .contact .contact__glow {
	 display: none;
}
 .contact .contact__inner {
	 max-width: 600px;
	 margin: 0 auto;
}
 .contact .contact__label {
	 display: inline-block;
	 font-size: 11px;
	 font-weight: 600;
	 text-transform: uppercase;
	 letter-spacing: 2px;
	 color: rgba(255,255,255,0.82);
	 margin-bottom: 12px;
}
 .contact h2 {
	 font-size: 36px;
	 letter-spacing: -1px;
	 margin-bottom: 16px;
	 color: #fff;
}
 .contact h2:after {
	 background: rgba(255,255,255,0.5);
}
 .contact h2 .gradient-text {
	 color: #fff;
	 -webkit-text-fill-color: #fff;
	 background: none;
}
 .contact p {
	 font-size: 16px;
	 color: rgba(255,255,255,0.82);
	 line-height: 1.75;
	 margin-bottom: 40px;
}
 .button {
	 -webkit-appearance: none;
	 -moz-appearance: none;
	 appearance: none;
	 background: #fff;
	 color: #002d3d;
	 border: none;
	 cursor: pointer;
	 display: inline-flex;
	 align-items: center;
	 gap: 8px;
	 font-family: inherit;
	 font-size: 13px;
	 font-weight: 700;
	 letter-spacing: 0.5px;
	 padding: 14px 40px;
	 text-decoration: none;
	 text-transform: uppercase;
	 border-radius: 6px;
	 transition: background 180ms ease;
}
 .button:hover {
	 background: rgba(255,255,255,0.9);
}
 .customers {
	 background: #ffffff;
	 padding: 72px 64px;
	 text-align: center;
	 border-top: 1px solid #e5e7eb;
}
 .customers h2 {
	 margin-bottom: 48px;
}
 .customers .customers__grid {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 flex-wrap: wrap;
	 gap: 8px;
}
 .customers img {
	 max-width: 260px;
	 max-height: 108px;
	 padding: 10px 18px;
	 filter: grayscale(100%);
	 transition: all 200ms ease;
	 object-fit: contain;
}
 .customers img:hover {
	 opacity: 0.7;
	 filter: grayscale(0%);
}
 .leistungen__grid {
	 display: grid;
	 grid-template-columns: 1fr 1fr;
	 gap: 20px;
}
 @media (max-width: 700px) {
	 .leistungen__grid {
		 grid-template-columns: 1fr;
	}
}
 .leistungen {
	 background: #fff;
	 border: 1px solid #e5e7eb;
	 border-radius: 12px;
	 padding: 44px;
	 transition: border-color 150ms ease;
}
 .leistungen:hover {
	 border-color: #d1d5db;
}
 .leistungen .leistungen__icon {
	 margin-bottom: 28px;
}
 .leistungen h2 {
	 text-align: left;
	 font-size: 18px;
	 font-weight: 700;
	 margin-bottom: 10px;
	 color: #0f1923;
	 letter-spacing: -0.2px;
}
 .leistungen h2:after {
	 display: none;
}
 .leistungen p {
	 color: #6b7280;
	 line-height: 1.8;
	 font-size: 15px;
	 margin-bottom: 20px;
}
 .leistungen p:last-child {
	 margin-bottom: 0;
}
 .wir {
	 padding: 0;
}
 .wir .content {
	 background: #fff;
	 border: 1px solid #e5e7eb;
	 border-radius: 12px;
	 padding: 48px;
	 margin-bottom: 20px;
	 overflow: hidden;
	 transition: border-color 150ms ease;
}
 .wir .content:hover {
	 border-color: #d1d5db;
}
 .wir .content h2 {
	 text-align: left;
	 font-size: 24px;
	 margin-bottom: 24px;
}
 .wir .content h2:after {
	 display: none;
}
 .wir .content p {
	 color: #6b7280;
	 line-height: 1.8;
	 font-size: 15px;
	 margin-bottom: 14px;
}
 .wir .content p:last-child {
	 margin-bottom: 0;
}
 .wir .wir_image {
	 width: 180px;
	 float: left;
	 margin-right: 36px;
	 margin-bottom: 16px;
	 margin-top: 4px;
}
 .wir .wir_image img {
	 width: 100%;
	 border-radius: 8px;
	 display: block;
	 border: 1px solid #e5e7eb;
}
 .wir .wir_content {
	 overflow: hidden;
	 color: #6b7280;
	 font-size: 15px;
	 line-height: 1.8;
}
 .wir .wir_content ul {
	 margin-top: 14px;
	 padding: 0;
}
 .wir .wir_content ul li {
	 padding: 4px 0;
	 color: #6b7280;
}
 .wir .wir_content ul li:before {
	 content: '— ';
	 color: #002d3d;
	 font-weight: 700;
}
 .footer {
	 background: #002d3d;
	 max-width: 1440px;
	 margin: 80px auto 0;
	 padding: 56px 64px 40px;
	 box-sizing: border-box;
	 border-radius: 16px 16px 0 0;
}
 .footer .footer__inner {
	 display: flex;
	 justify-content: space-between;
	 align-items: flex-start;
	 margin-bottom: 48px;
	 gap: 40px;
}
 .footer .footer__brand img {
	 max-height: 20px;
	 width: auto;
	 opacity: 0.85;
	 margin-bottom: 16px;
	 display: block;
}
 .footer .footer__brand p {
	 color: rgba(255,255,255,0.72);
	 font-size: 13px;
	 margin: 0;
	 line-height: 1.7;
}
 .footer .footer__address {
	 display: flex;
	 flex-direction: column;
	 gap: 4px;
}
 .footer .footer__address .footer__contact-label {
	 color: rgba(255,255,255,0.65);
	 font-size: 10px;
	 letter-spacing: 1.2px;
	 text-transform: uppercase;
	 font-weight: 600;
	 margin-bottom: 6px;
}
 .footer .footer__address address {
	 font-style: normal;
	 color: rgba(255,255,255,0.75);
	 font-size: 13px;
	 line-height: 1.8;
}
 .footer .footer__contact {
	 display: flex;
	 flex-direction: column;
	 gap: 4px;
}
 .footer .footer__contact .footer__contact-label {
	 color: rgba(255,255,255,0.65);
	 font-size: 10px;
	 letter-spacing: 1.2px;
	 text-transform: uppercase;
	 font-weight: 600;
	 margin-bottom: 6px;
}
 .footer .footer__contact .footer__phone {
	 display: flex;
	 align-items: flex-start;
	 gap: 10px;
	 color: #fff;
	 text-decoration: none;
	 transition: opacity 150ms ease;
}
 .footer .footer__contact .footer__phone .material-icons {
	 font-size: 20px;
	 opacity: 0.6;
	 margin-top: 2px;
	 flex-shrink: 0;
}
 .footer .footer__contact .footer__phone:hover {
	 opacity: 0.7;
}
 .footer .footer__contact .footer__phone-text {
	 display: flex;
	 flex-direction: column;
	 gap: 3px;
}
 .footer .footer__contact .footer__phone-number {
	 font-size: 20px;
	 font-weight: 600;
	 letter-spacing: -0.03em;
}
 .footer .footer__contact .footer__hours {
	 color: rgba(255,255,255,0.72);
	 font-size: 13px;
	 font-weight: 400;
	 letter-spacing: 0;
}
 .footer .footer__links {
	 display: flex;
	 flex-direction: column;
	 gap: 10px;
	 align-items: flex-end;
}
 .footer .footer__links a {
	 color: rgba(255,255,255,0.75);
	 font-size: 12px;
	 letter-spacing: 0.8px;
	 text-transform: uppercase;
	 font-weight: 500;
	 transition: color 150ms ease;
}
 .footer .footer__links a:hover {
	 color: rgba(255,255,255,0.9);
}
 .footer .footer__copy {
	 color: rgba(255,255,255,0.6);
	 font-size: 12px;
	 border-top: 1px solid rgba(255,255,255,0.08);
	 padding-top: 20px;
}
 .impressum {
	 max-width: 720px;
}
 .impressum .impressum__block {
	 border-bottom: 1px solid #e5e7eb;
	 padding: 32px 0;
}
 .impressum .impressum__block:first-child {
	 padding-top: 0;
}
 .impressum .impressum__block:last-child {
	 border-bottom: none;
}
 .impressum .impressum__block h3 {
	 font-size: 13px;
	 font-weight: 700;
	 text-transform: uppercase;
	 letter-spacing: 1px;
	 color: #9ca3af;
	 margin: 0 0 12px;
}
 .impressum .impressum__block p {
	 color: #6b7280;
	 font-size: 15px;
	 line-height: 1.8;
	 margin-bottom: 10px;
}
 .impressum .impressum__block p:last-child {
	 margin-bottom: 0;
}
 .impressum .impressum__block a {
	 color: #002d3d;
	 font-weight: 500;
}
 .impressum .impressum__block a:hover {
	 text-decoration: underline;
}
 .kontakt-direct {
	 max-width: 760px;
	 padding: 24px 0 48px;
}
 .kontakt-direct__tag {
	 display: inline-block;
	 font-size: 12px;
	 font-weight: 700;
	 letter-spacing: 1.5px;
	 text-transform: uppercase;
	 color: #002d3d;
	 margin-bottom: 20px;
}
 .kontakt-direct__headline {
	 font-size: clamp(32px,5vw,52px);
	 font-weight: 800;
	 line-height: 1.15;
	 color: #0f1923;
	 margin: 0 0 28px;
}
 .kontakt-direct__sub {
	 font-size: 18px;
	 line-height: 1.7;
	 color: #6b7280;
	 margin: 0 0 48px;
}
 .kontakt-direct__channels {
	 display: flex;
	 flex-direction: column;
	 gap: 0;
}
 .kontakt-direct__oder {
	 font-size: 13px;
	 font-weight: 700;
	 letter-spacing: 1.5px;
	 text-transform: uppercase;
	 color: #9ca3af;
	 margin: 16px 0;
}
 .kontakt-direct__mail, .kontakt-direct__phone {
	 display: block;
	 font-size: clamp(28px,5vw,48px);
	 font-weight: 800;
	 color: #0f1923;
	 text-decoration: none;
	 letter-spacing: -0.5px;
	 border-bottom: 3px solid #002d3d;
	 padding-bottom: 6px;
	 width: fit-content;
	 transition: color 150ms ease;
}
 .kontakt-direct__mail:hover, .kontakt-direct__phone:hover {
	 color: #002d3d;
}
 .kontakt-direct__b2b {
	 margin-top: 32px;
	 font-size: 13px;
	 color: #9ca3af;
	 border-left: 3px solid #e5e7eb;
	 padding-left: 14px;
	 line-height: 1.6;
}
 .kontakt {
	 max-width: 760px;
}
 .kontakt__success {
	 text-align: center;
	 padding: 80px 40px;
	 border: 1px solid #e5e7eb;
	 border-radius: 16px;
}
 .kontakt__success .kontakt__success-icon {
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 width: 64px;
	 height: 64px;
	 background: #002d3d;
	 color: #fff;
	 border-radius: 50%;
	 font-size: 28px;
	 font-weight: 700;
	 margin-bottom: 24px;
}
 .kontakt__success h3 {
	 font-size: 24px;
	 font-weight: 700;
	 margin: 0 0 12px;
	 color: #0f1923;
}
 .kontakt__success p {
	 color: #6b7280;
	 font-size: 16px;
	 margin-bottom: 32px;
}
 .kontakt-form {
	 display: flex;
	 flex-direction: column;
	 gap: 20px;
}
 .kontakt-form__error-banner {
	 background: #fff5f5;
	 border: 1px solid #fecaca;
	 border-radius: 8px;
	 padding: 16px 20px;
	 font-size: 14px;
	 color: #b91c1c;
	 line-height: 1.6;
}
 .kontakt-form__error-banner a {
	 color: #b91c1c;
	 text-decoration: underline;
}
 .kontakt-form__row {
	 display: grid;
	 grid-template-columns: 1fr 1fr;
	 gap: 20px;
}
 .kontakt-form__field {
	 display: flex;
	 flex-direction: column;
	 gap: 6px;
}
 .kontakt-form__field label {
	 font-size: 13px;
	 font-weight: 600;
	 color: #0f1923;
	 letter-spacing: 0.2px;
}
 .kontakt-form__field label span {
	 color: #002d3d;
}
 .kontakt-form__field input, .kontakt-form__field textarea {
	 width: 100%;
	 padding: 12px 16px;
	 background: #fff;
	 border: 1px solid #e5e7eb;
	 border-radius: 8px;
	 font-family: inherit;
	 font-size: 15px;
	 color: #0f1923;
	 transition: border-color 150ms ease, box-shadow 150ms ease;
	 outline: none;
	 resize: none;
}
 .kontakt-form__field input::placeholder, .kontakt-form__field textarea::placeholder {
	 color: #9ca3af;
}
 .kontakt-form__field input:focus, .kontakt-form__field textarea:focus {
	 border-color: #002d3d;
	 box-shadow: 0 0 0 3px rgba(0,45,61,0.08);
}
 .kontakt-form__field textarea {
	 line-height: 1.6;
}
 .kontakt-form__field.is-error input, .kontakt-form__field.is-error textarea {
	 border-color: #ef4444;
	 box-shadow: 0 0 0 3px rgba(239,68,68,0.1);
}
 .kontakt-form__hint {
	 font-size: 12px;
	 color: #ef4444;
	 font-weight: 500;
}
 .kontakt-form__footer {
	 display: flex;
	 align-items: center;
	 gap: 32px;
	 padding-top: 8px;
}
 .kontakt-form__privacy {
	 font-size: 13px;
	 color: #9ca3af;
	 line-height: 1.6;
	 margin: 0;
	 flex: 1;
}
 .kontakt-form__privacy a {
	 color: #6b7280;
	 text-decoration: underline;
	 font-weight: 400;
}
 .produkte {
	 display: flex;
	 flex-direction: column;
	 gap: 64px;
}
 .produkt-card {
	 display: grid;
	 grid-template-columns: 1fr 1fr;
	 gap: 64px;
	 align-items: center;
}
 .produkt-card.produkt-card--reverse {
	 direction: rtl;
}
 .produkt-card.produkt-card--reverse > * {
	 direction: ltr;
}
 .produkt-card .produkt-card__img {
	 border-radius: 12px;
	 overflow: hidden;
	 border: 1px solid #e5e7eb;
	 background: #f7f8fa;
	 aspect-ratio: 1.6;
	 display: flex;
	 align-items: center;
	 justify-content: center;
}
 .produkt-card .produkt-card__img img {
	 width: 100%;
	 height: 100%;
	 object-fit: cover;
	 display: block;
}
 .produkt-card .produkt-card__label {
	 font-size: 11px;
	 font-weight: 600;
	 text-transform: uppercase;
	 letter-spacing: 2px;
	 color: #002d3d;
	 margin-bottom: 12px;
}
 .produkt-card h2 {
	 text-align: left;
	 font-size: 32px;
	 letter-spacing: -0.5px;
	 margin-bottom: 16px;
}
 .produkt-card h2:after {
	 display: none;
}
 .produkt-card p {
	 color: #6b7280;
	 font-size: 15px;
	 line-height: 1.8;
	 margin-bottom: 24px;
}
 .produkt-card .produkt-card__features {
	 display: flex;
	 flex-wrap: wrap;
	 gap: 8px;
	 list-style: none;
	 padding: 0;
	 margin: 0 0 28px;
}
 .produkt-card .produkt-card__features li {
	 display: inline-flex;
	 align-items: center;
	 gap: 6px;
	 background: #f7f8fa;
	 border: 1px solid #e5e7eb;
	 border-radius: 20px;
	 padding: 5px 12px;
	 font-size: 13px;
	 font-weight: 500;
	 color: #6b7280;
}
 .produkt-card .produkt-card__features li .material-icons {
	 font-size: 15px;
	 padding: 0;
	 background: none;
	 border-radius: 0;
	 color: #002d3d;
}
 .produkt-card .produkt-card__cta {
	 background: #002d3d;
	 color: #fff;
}
 .produkt-card .produkt-card__cta:hover {
	 background: #004d68;
}
 .referenzen {
	 display: flex;
	 flex-direction: column;
	 gap: 40px;
}
 .referenz {
	 background: #fff;
	 border: 1px solid #e5e7eb;
	 border-radius: 12px;
	 overflow: hidden;
	 transition: border-color 150ms ease;
}
 .referenz:hover {
	 border-color: #d1d5db;
}
 .referenz .referenz__header {
	 padding: 36px 48px 28px;
	 border-bottom: 1px solid #e5e7eb;
}
 .referenz .referenz__header .referenz__cat {
	 font-size: 11px;
	 font-weight: 700;
	 letter-spacing: 1.5px;
	 text-transform: uppercase;
	 color: #002d3d;
	 margin-bottom: 12px;
}
 .referenz .referenz__header h2 {
	 text-align: left;
	 font-size: 26px;
	 letter-spacing: -0.5px;
	 margin: 0;
}
 .referenz .referenz__header h2:after {
	 display: none;
}
 .referenz .referenz__body {
	 display: grid;
	 grid-template-columns: 1fr 320px;
	 gap: 0;
}
 .referenz .referenz__body .referenz__text {
	 padding: 36px 48px;
	 border-right: 1px solid #e5e7eb;
}
 .referenz .referenz__body .referenz__text p {
	 color: #6b7280;
	 font-size: 15px;
	 line-height: 1.8;
	 margin-bottom: 14px;
}
 .referenz .referenz__body .referenz__text p:last-child {
	 margin-bottom: 0;
}
 .referenz .referenz__body .referenz__text .quote {
	 margin: 28px 0 0;
	 padding: 24px 28px;
	 background: #f7f8fa;
	 border-left: 3px solid #002d3d;
	 border-radius: 0 8px 8px 0;
}
 .referenz .referenz__body .referenz__text .quote .quote__body {
	 font-size: 15px;
	 line-height: 1.65;
	 color: #0f1923;
	 font-style: italic;
	 margin-bottom: 10px;
}
 .referenz .referenz__body .referenz__text .quote .quote__author {
	 font-size: 11px;
	 color: #002d3d;
	 font-weight: 700;
	 letter-spacing: 0.3px;
	 text-transform: uppercase;
}
 .referenz .referenz__body .referenz__aside {
	 padding: 36px 32px;
	 display: flex;
	 flex-direction: column;
	 gap: 16px;
}
 .referenz .referenz__body .referenz__aside img {
	 width: 100%;
	 height: auto;
	 border-radius: 8px;
	 border: 1px solid #e5e7eb;
	 display: block;
}
 .referenz .referenz__body .referenz__aside .cases__reported {
	 background: #002d3d;
	 border-radius: 8px;
	 color: #fff;
	 padding: 24px;
	 font-size: 13px;
	 line-height: 1.5;
}
 .referenz .referenz__body .referenz__aside .cases__reported b {
	 display: block;
	 font-size: 42px;
	 font-weight: 800;
	 line-height: 1;
	 margin-bottom: 6px;
	 letter-spacing: -1.5px;
}
 .referenz__cta {
	 text-align: center;
	 padding: 48px 0 16px;
}
 .referenz__cta p {
	 color: #6b7280;
	 font-size: 16px;
	 margin-bottom: 20px;
}
 @media (max-width: 768px) {
	 .referenz .referenz__header {
		 padding: 24px;
	}
	 .referenz .referenz__body {
		 grid-template-columns: 1fr;
	}
	 .referenz .referenz__body .referenz__text {
		 padding: 24px;
		 border-right: none;
		 border-bottom: 1px solid #e5e7eb;
	}
	 .referenz .referenz__body .referenz__aside {
		 padding: 24px;
	}
}
 .burger-check, .burger {
	 display: none;
}
 @media screen and (max-width: 1024px) {
	 nav {
		 display: block;
		 background: #fff;
		 width: 100vw;
		 height: 100%;
		 position: fixed;
		 top: 0;
		 left: 0;
		 z-index: 800;
		 border-right: 1px solid #e5e7eb;
	}
	 nav ul.menu {
		 flex-direction: column;
		 align-items: stretch;
		 padding-top: 64px;
	}
	 nav li {
		 display: block !important;
		 text-align: center;
	}
	 nav li a {
		 color: #0f1923 !important;
		 padding: 24px !important;
		 font-size: 28px !important;
		 display: block;
		 font-weight: 600;
	}
	 .burger {
		 margin: 0;
		 display: inline-block;
		 border: 0;
		 background: none;
		 outline: 0;
		 padding: 8px;
		 cursor: pointer;
		 border-bottom: 2px solid #0f1923;
		 width: 32px;
		 transition: border-bottom 300ms ease-in-out;
		 position: fixed;
		 z-index: 999;
		 right: 24px;
		 top: 20px;
	}
	 .burger:before {
		 content: "";
		 display: block;
		 border-bottom: 2px solid #0f1923;
		 width: 100%;
		 margin-bottom: 6px;
		 transition: transform 0.3s ease-in-out;
	}
	 .burger:after {
		 content: "";
		 display: block;
		 border-bottom: 2px solid #0f1923;
		 width: 100%;
		 margin-bottom: 6px;
		 transition: transform 0.3s ease-in-out;
	}
	 .header.stuck .burger, .header.stuck .burger:before, .header.stuck .burger:after {
		 border-bottom-color: #fff;
	}
	 .burger-check:checked ~ .burger {
		 border-bottom: 2px solid transparent;
	}
	 .burger-check:checked ~ .burger:before {
		 border-bottom-color: #0f1923;
		 transform: rotate(-405deg) translateY(1px) translateX(-3px);
	}
	 .burger-check:checked ~ .burger:after {
		 border-bottom-color: #0f1923;
		 transform: rotate(405deg) translateY(-4px) translateX(-5px);
	}
	 nav.main {
		 overflow: hidden;
		 max-height: 0;
		 transition: max-height 0.3s cubic-bezier(0.4,0,0.2,1);
	}
	 .burger-check:checked ~ nav.main {
		 max-height: 100dvh;
		 transition: max-height 0.3s cubic-bezier(0.4,0,0.2,1);
	}
	 .hero .innercontent {
		 padding: 0 28px;
		 max-width: 100%;
	}
	 .hero .hero_title {
		 font-size: 40px;
		 letter-spacing: -1.5px;
	}
	 .hero .hero_subtitle {
		 font-size: 16px;
	}
	 .cases {
		 padding: 60px 24px;
		 overflow: hidden;
	}
	 .cases .case_tabs .case_tab {
		 min-width: calc(46%);
		 max-width: calc(46%);
		 overflow: hidden;
	}
	 .cases .case_tabs .case_tab_logo {
		 display: none;
	}
	 .cases .cases__content {
		 grid-template-columns: 1fr;
	}
	 .cases .cases__content .cases__right {
		 order: -1;
	}
	 ul.bullets {
		 grid-template-columns: 1fr;
		 gap: 12px;
	}
	 .solver {
		 padding: 64px 24px;
	}
	 .contact {
		 margin: 24px;
		 padding: 56px 28px;
	}
	 .leistungen__grid {
		 grid-template-columns: 1fr;
	}
	 .page__subcontent {
		 padding: 56px 24px;
	}
	 .footer {
		 padding: 48px 24px 36px;
		 text-align: center;
	}
	 .footer .footer__inner {
		 flex-direction: column;
		 align-items: center;
		 gap: 36px;
	}
	 .footer .footer__brand img {
		 margin: 0 auto 12px;
	}
	 .footer .footer__contact {
		 align-items: center;
	}
	 .footer .footer__contact .footer__phone {
		 background: rgba(255,255,255,0.08);
		 border: 1px solid rgba(255,255,255,0.12);
		 border-radius: 100px;
		 padding: 14px 28px;
		 gap: 12px;
		 transition: background 150ms ease;
	}
	 .footer .footer__contact .footer__phone:hover {
		 background: rgba(255,255,255,0.14);
		 opacity: 1;
	}
	 .footer .footer__contact .footer__phone-number {
		 font-size: 22px;
	}
	 .footer .footer__links {
		 flex-direction: row;
		 align-items: center;
		 justify-content: center;
		 gap: 24px;
		 flex-wrap: wrap;
	}
	 .footer .footer__copy {
		 text-align: center;
	}
	 .customers {
		 padding: 60px 24px;
	}
	 .kontakt-form__row {
		 grid-template-columns: 1fr;
	}
	 .kontakt-form__footer {
		 flex-direction: column;
		 align-items: flex-start;
		 gap: 20px;
	}
	 .header .header__content {
		 padding: 0 20px;
	}
	 .produkt-card {
		 grid-template-columns: 1fr;
		 gap: 28px;
	}
	 .produkt-card.produkt-card--reverse {
		 direction: ltr;
	}
}
 