/*******************************************************************************
********************************************************************************
*************************  Styles by Dockschiff Digital  ***********************
********************************************************************************
*******************************************************************************/

/*******************************************************************************
***** General Styles
*******************************************************************************/

:root {
    --dark-purple: #331d3e;
    --green: #64c878;
    --purple: #967dff;
    --red-dark: #a2263b;

    --yellow: #ecbc46;
    --lime: #d8ea79;
    --coral: #ff4b5a;
    --blue: #4064c5;
}

.bg-dark-purple { background-color: var(--dark-purple); }
.bg-green { background-color: var(--green); }
.bg-purple { background-color: var(--purple); }
.bg-red-dark { background-color: var(--red-dark); }

.bg-yellow { background-color: var(--yellow); }
.bg-lime { background-color: var(--lime); }
.bg-coral { background-color: var(--coral); }
.bg-blue { background-color: var(--blue); }

.text-dark-purple { color: var(--dark-purple); }
.text-green { color: var(--green); }
.text-purple { color: var(--purple); }
.text-red-dark { color: var(--red-dark); }

.text-yellow { color: var(--yellow); }
.text-lime { color: var(--lime); }
.text-coral { color: var(--coral); }
.text-blue { color: var(--blue); }

.text-highlight { display: inline; background-repeat: no-repeat; background-size: 100% .99em; background-position: 0 64%; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

.text-highlight-dark-purple { background-image: linear-gradient(var(--dark-purple), var(--dark-purple)); }
.text-highlight-green { background-image: linear-gradient(var(--green), var(--green)); }
.text-highlight-purple { background-image: linear-gradient(var(--purple), var(--purple)); }
.text-highlight-red-dark { background-image: linear-gradient(var(--red-dark), var(--red-dark)); }
.text-highlight-yellow { background-image: linear-gradient(var(--yellow), var(--yellow)); }
.text-highlight-lime { background-image: linear-gradient(var(--lime), var(--lime)); }
.text-highlight-coral { background-image: linear-gradient(var(--coral), var(--coral)); }
.text-highlight-blue { background-image: linear-gradient(var(--blue), var(--blue)); }

.section { display: flex; align-items: center; min-height: 100vh; min-height: 100svh; padding: 6rem 0; }
.section > .grid-container { width: 100%; }

.missing { padding: 80px 0; font-size: 30px; text-align: center; text-transform: uppercase; color: red; border: 1px dotted red;margin: 50px 0; }
.ei { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ clip: rect(1px, 1px, 1px, 1px); }
.element-padding { padding-top: 90px; padding-bottom: 90px; }


body:not(.user-is-tabbing) button:focus,
body:not(.user-is-tabbing) input:focus,
body:not(.user-is-tabbing) select:focus,
body:not(.user-is-tabbing) textarea:focus,
body:not(.user-is-tabbing) :focus{ outline:none; }
.fit-content { height:fit-content; }
.wow { visibility:hidden; }
.only-res-center { text-align: left; }

::-webkit-input-placeholder { color:#4D4E4D; }
::-moz-placeholder { color:#4D4E4D; }
:-ms-input-placeholder { color:#4D4E4D; }
:-moz-placeholder { color:#4D4E4D; }


body { font-family: 'Saira'; color:#1D1D1B; font-size:17px; font-weight: 400; background: #FFFFFF; height:auto; font-style: normal; }
html { scroll-behavior: smooth; }
p { line-height: 200%; }

.bg-lime { }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { font-family: 'Saira'; font-weight:400; letter-spacing:0; line-height: 125%; font-style: normal; color: #425748; }

/* Links und Buttons */
a { color:#425748; }
a:hover, button:hover { opacity:0.7; color:#425748; -moz-transition:all 0.3s ease-out; -webkit-transition:all 0.3s ease-out; -o-transition:all 0.3s ease-out; -ms-transition:all 0.3s ease-out; transition:all 0.3s ease-out; cursor:pointer; }
a:focus, a:hover { color:#425748;; cursor:pointer; }
a.btn-default, button.btn-default { font-size:17px; font-weight:500; display:inline-block; text-align:center; font-style:normal; line-height:normal; border-radius:5px; padding:10px 30px; border:1px solid #425748; background:transparent; color:#425748; }
a.btn-default:hover, button.btn-default:hover { opacity: 1; }
a.btn-arrow::after, button.btn-arrow::after { content:""; -webkit-mask-image:url("../images/arrow-up-right-solid-full.svg"); mask-image:url("../images/arrow-up-right-solid-full.svg"); background-color:currentColor; display:inline-block; width:1.2em; height:1.2em; margin-left:0.35rem; vertical-align:-0.32em; transition:transform 0.2s ease; }
a.btn-arrow:hover::after, button.btn-arrow:hover::after { animation:bounce-arrow 0.45s ease forwards; }
@keyframes bounce-arrow { 0% { transform:translateY(0); } 40% { transform:translateY(-6px); } 60% { transform:translateY(0); } 80% { transform:translateY(-3px); } 100% { transform:translateY(0); } }
a.btn-yellow, button.btn-yellow { color:#F5F1EA; border-color:#CD9811; background:#CD9811; }
a.btn-wa, button.btn-wa { color:#ffffff; border-color:#25d366; background:#25d366; display: flex; align-items: center; justify-content: center; }
a.btn-wa:hover, button.btn-wa:hover { opacity: 0.8; font-size: 17px; }
a.btn-wa i, button.btn-wa i { font-size: 1.45rem; margin-right: 7px;}
a.btn-transparent, button.btn-transparent { color:#F5F1EA; border-color:#F5F1EA; background:transparent; }
a.btn-bold, button.btn-bold { font-weight: 700; }


/* Header */
.header { position: relative; top: auto; left: auto; z-index: 1000; width: 100%; background: #fff; border-bottom: 1px solid rgba(51, 29, 62, .12); }
.page-template-template-start .header { position: absolute; top: 0; left: 0; background: transparent; border-bottom: 0; }
.header .grid-container { max-width: 1140px; }
.header-language-row { padding-top: 20px; }
.header-inner { min-height: 148px; padding-bottom: 20px; }
.page-template-template-start .header-inner { padding-bottom: 0; }
.header-logo { display: flex; align-items: flex-start; }
.header-logo a { display: block; }
.header-logo img { display: block; width: 273px; height: 148px; }
.header-navigation { display: flex; align-items: center; justify-content: flex-end; }
.header-navigation .menu { display: flex; flex-wrap: nowrap; align-items: center; gap: 38px; margin: 0; padding: 0; background: transparent; }
.header-navigation .menu > li { flex: 0 0 auto; margin: 0; padding: 0; }
.header-navigation .menu > li > a { position: relative; z-index: 1; display: block; padding: 0; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 16px; font-weight: 500; line-height: 20px; text-decoration: none; white-space: nowrap; transition: color 220ms ease-out; }
.header-navigation .menu > li > a::before { content: ''; position: absolute; z-index: -1; top: -4px; right: -7px; bottom: -4px; left: -7px; background: var(--purple); opacity: 0; transform: scaleX(.85); transform-origin: center; transition: opacity 180ms ease-out, transform 220ms ease-out; }
.header-navigation .menu > li > a:hover, .header-navigation .menu > li > a:focus { opacity: 1; color: #fff; }
.header-navigation .menu > li > a:hover::before, .header-navigation .menu > li > a:focus::before { opacity: 1; transform: scaleX(1); }
.gfd-language-switcher { display: flex; align-items: center; padding: 0 3px; background: #f5f5f5; border-radius: 50px; }
.gfd-language-switcher__item { display: flex; align-items: center; justify-content: center; min-width: 42px; height: 20px; padding: 0 8px; border-radius: 50px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 14px; font-weight: 700; line-height: 20px; text-decoration: none; }
.gfd-language-switcher__item:hover, .gfd-language-switcher__item:focus { opacity: 1; color: var(--dark-purple); }
.gfd-language-switcher__item.is-active { background: var(--dark-purple); color: #f5f5f5; }
.header-mobile-navigation { display: flex; align-items: center; justify-content: flex-end; }
.header-menu-button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; background: var(--dark-purple); cursor: pointer; }
.header-menu-button:hover, .header-menu-button:focus { opacity: 1; background: var(--dark-purple); }
.header-menu-button__line { display: block; width: 21px; height: 2px; background: #fff; }
@media screen and (max-width: 63.9375em) {
    .header-language-row { padding-top: 16px; }
    .header-inner { min-height: 105px; }
    .header-logo img { width: 190px; height: auto; }
}
@media screen and (max-width: 39.9375em) {
    .header-language-row { padding-top: 12px; }
    .header-inner { min-height: 86px; }
    .header-logo img { width: 150px; height: auto; }
    .header-menu-button { width: 42px; height: 42px; }
    .header-menu-button__line { width: 19px; }
}

/* Side Navigation */
.gfd-side-ui { position: fixed; top: 50%; right: 0; z-index: 1000; display: flex; flex-direction: column; align-items: flex-end; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-50%) translateX(20px); transition: opacity .3s ease, transform .3s ease, visibility .3s ease; }
.gfd-side-ui.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(-50%) translateX(0); }
.gfd-side-nav { width: 90px; background: var(--dark-purple); border-radius: 35px 0 0 35px; }
.gfd-side-nav__items { height: 500px; display: flex; flex-direction: column; align-items: center; justify-content: space-evenly; }
.gfd-side-nav__item { position: relative; display: flex; align-items: center; justify-content: center; width: 90px; height: 70px; text-decoration: none; }
.gfd-side-nav__item:hover, .gfd-side-nav__item:focus { opacity: 1; }
.gfd-side-nav__icon { position: relative; z-index: 3; display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 50%; transition: width .25s ease, height .25s ease, transform .25s ease, background-color .25s ease; }
.gfd-side-nav__icon.has-icon::before { content: ''; display: block; width: 38px; height: 38px; background: #fff; -webkit-mask-image: var(--navigation-icon); mask-image: var(--navigation-icon); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; transition: width .25s ease, height .25s ease; }
.gfd-side-nav__item.is-active .gfd-side-nav__icon { width: 92px; height: 92px; background: var(--green); transform: translateX(-10px); }
.gfd-side-nav__item.is-active .gfd-side-nav__icon.has-icon::before { width: 48px; height: 48px; }
.gfd-side-nav__label { position: absolute; top: 50%; right: 76px; z-index: 2; display: block; padding: 12px 18px; opacity: 0; visibility: hidden; white-space: nowrap; background: var(--dark-purple); border-radius: 20px; color: #fff; font-size: 16px; font-weight: 500; line-height: 1; transform: translate(15px, -50%); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; pointer-events: none; }
.gfd-side-nav__item:hover .gfd-side-nav__label, .gfd-side-nav__item:focus-visible .gfd-side-nav__label { opacity: 1; visibility: visible; transform: translate(0, -50%); }
.gfd-side-nav__item:focus-visible { outline: none; }

@media screen and (max-width: 63.9375em) {
    .gfd-side-ui,
    .gfd-side-ui.is-visible {
        display: none !important;
    }
}

/* Side Contact */
.gfd-side-contact { position: relative; width: 90px; height: 110px; flex: 0 0 110px; margin-top: 32px; }
.gfd-side-contact__trigger { position: absolute; top: 0; right: 0; z-index: 4; display: flex; align-items: center; justify-content: center; width: 90px; height: 110px; padding: 0; border: 0; border-radius: 35px 0 0 35px; background: var(--dark-purple); cursor: pointer; transition: transform .3s ease; }
.gfd-side-contact__trigger:hover, .gfd-side-contact__trigger:focus { opacity: 1; }
.gfd-side-contact__icon { display: block; width: 60px; height: 60px; object-fit: contain; transform: rotate(0deg); transition: transform .3s ease; }
.gfd-side-contact__panel { position: absolute; top: 0; right: 0; z-index: 2; width: 390px; height: 110px; overflow: hidden; background: var(--dark-purple); border-radius: 35px 0 0 35px; clip-path: inset(0 0 0 300px round 35px 0 0 35px); pointer-events: none; transition: clip-path .3s ease; }
.gfd-side-contact__content { position: absolute; top: 50%; left: 108px; right: 22px; color: #fff; transform: translateY(-50%); }
.gfd-side-contact__headline { display: block; margin: 0 0 6px; color: #fff; font-size: 18px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.gfd-side-contact__link { display: flex; align-items: center; gap: 9px; color: #fff; font-size: 13px; line-height: 1.65; text-decoration: none; white-space: nowrap; }
.gfd-side-contact__link:hover, .gfd-side-contact__link:focus { opacity: 1; color: #fff; }
.gfd-side-contact.is-hovering .gfd-side-contact__panel, .gfd-side-contact.is-open .gfd-side-contact__panel { clip-path: inset(0 0 0 0 round 35px 0 0 35px); pointer-events: auto; }
.gfd-side-contact.is-hovering .gfd-side-contact__trigger, .gfd-side-contact.is-open .gfd-side-contact__trigger { transform: translateX(-300px); }
.gfd-side-contact.is-hovering .gfd-side-contact__icon, .gfd-side-contact.is-open .gfd-side-contact__icon { transform: rotate(90deg); }

/* Hero */
.hero { position: relative; height: 100vh; height: 100svh; min-height: 0; overflow: hidden; background-color: var(--lime); background-image: url('../images/bg_header_gfd.png'); background-repeat: no-repeat; background-position: center center; background-size: cover; }
.hero .grid-container { max-width: 1140px; }
.hero__container { position: relative; height: 100%; }
.hero__grid { height: 100%; display: flex; align-items: center; }
.hero__content { position: relative; width: 100%; transform: translateY(45px); }
.hero-headline { width: 100%; margin: 0; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 60px; font-weight: 400; line-height: 60px; letter-spacing: 0; }
.hero-headline .highlight { -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.hero__link { position: absolute; right: 0; bottom: 4px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 14px; font-weight: 400; line-height: 22px; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.hero__link:hover, .hero__link:focus { opacity: 1; color: var(--dark-purple); }
.hero__scroll { position: absolute; bottom: 35px; left: 50%; z-index: 5; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--dark-purple); color: #fff; font-size: 22px; text-decoration: none; transform: translateX(-50%); transition: transform .2s ease; }
.hero__scroll:hover, .hero__scroll:focus { opacity: 1; color: #fff; transform: translateX(-50%) translateY(4px); }

@media screen and (max-width: 63.9375em) {
    .hero__content { transform: translateY(55px); }
    .hero-headline { font-size: 48px; line-height: 50px; }
    .hero__link { position: relative; right: auto; bottom: auto; display: inline-block; margin-top: 20px; }
    .hero__scroll { bottom: 25px; width: 44px; height: 44px; font-size: 20px; }
}

@media screen and (max-width: 39.9375em) {
    .hero__grid { align-items: flex-end; padding-bottom: 105px; }
    .hero__content { transform: none; }
    .hero-headline { font-size: 36px; line-height: 39px; }
    .hero__link { margin-top: 16px; font-size: 13px; line-height: 18px; }
    .hero__scroll { bottom: 22px; width: 42px; height: 42px; font-size: 19px; }
}

/* Intro */
.section-intro { padding: 110px 0 140px; }
.section-intro__visual { display: flex; align-items: flex-start; justify-content: flex-start; }
.section-intro__image { display: block; width: 200px; max-width: 100%; height: auto; margin: 0; }
.section-intro__content { display: flex; flex-direction: column; align-items: flex-start; }
.section-intro__headline { margin: 0 0 55px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 90px; font-weight: 500; line-height: 1; letter-spacing: 0; }
.section-intro__headline .highlight { -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.section-intro__text { width: 100%; max-width: 658px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 22px; font-weight: 400; line-height: 40px; }
.section-intro__text p { margin: 0 0 28px; }
.section-intro__text p:last-child { margin-bottom: 0; }

@media screen and (max-width: 63.9375em) {
    .gfd-side-ui { display: none; }
    .section-intro { padding: 80px 0 100px; }
    .section-intro__visual { width: 100%; margin-bottom: 40px; }
    .section-intro__image { width: 150px; }
    .section-intro__content { width: 100%; }
    .section-intro__headline { margin-bottom: 35px; font-size: 64px; line-height: 1; }
    .section-intro__text { max-width: none; font-size: 20px; line-height: 34px; }
}

@media screen and (max-width: 39.9375em) {
    .section-intro { padding: 55px 0 70px; }
    .section-intro__visual { margin-bottom: 28px; }
    .section-intro__image { width: 105px; }
    .section-intro__headline { margin-bottom: 28px; font-size: 44px; line-height: 46px; }
    .section-intro__text { font-size: 18px; line-height: 30px; }
    .section-intro__text p { margin-bottom: 20px; }
}

/* Was machen wir */
.section-what-we-do { position: relative; display: block; min-height: 0; padding: 0; overflow: hidden; color: var(--dark-purple); scroll-margin-top: 0; }

/* Header */
.section-what-we-do__header { position: relative; padding: 90px 0; }
.section-what-we-do__header::before, .section-what-we-do__header::after { content: ''; position: absolute; left: 50%; width: 100vw; height: 1px; background: rgba(51, 29, 62, .3); transform: translateX(-50%); }
.section-what-we-do__header::before { top: 0; }
.section-what-we-do__header::after { bottom: 0; }
.section-what-we-do__header-icon { display: flex; align-items: center; justify-content: flex-start; }
.section-what-we-do__icon { display: block; width: 200px; max-width: 100%; height: auto; }
.section-what-we-do__headline { margin: 0; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 90px; font-weight: 500; line-height: 1; letter-spacing: 0; }
.section-what-we-do__headline .highlight { -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* Body */
.section-what-we-do__body { position: relative; margin: 0; padding: 0; }
.section-what-we-do__body > .grid-x { align-items: stretch; }
.section-what-we-do__intro-column { position: relative; }
.section-what-we-do__sticky-container { position: relative; width: 100%; height: 100%; min-height: 100%; }
.section-what-we-do__sticky { width: 100%; padding-top: 65px; }

/* Intro */
.section-what-we-do__intro { color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 22px; font-weight: 400; line-height: 40px; }
.section-what-we-do__intro p { margin: 0 0 28px; }
.section-what-we-do__intro p:last-child { margin-bottom: 0; }
.section-what-we-do__goals-title { margin: 55px 0 0; padding-bottom: 45px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 22px; font-weight: 700; line-height: 40px; }

/* Items */
.what-we-do-items { margin: 0; padding: 0; border-left: 1px solid rgba(51, 29, 62, .3); border-right: 1px solid rgba(51, 29, 62, .3); }
.what-we-do-item { position: relative; min-height: 408px; margin: 0; border-bottom: 1px solid rgba(51, 29, 62, .3); }
.what-we-do-item:last-child { border-bottom: 0; }
.what-we-do-item__image { position: relative; overflow: hidden; }
.what-we-do-item__img { display: block; width: 100%; height: 100%; min-height: 408px; object-fit: cover; }
.what-we-do-item__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: 55px 40px; }
.what-we-do-item__title { margin: 0 0 4px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 22px; font-weight: 700; line-height: 40px; }
.what-we-do-item__text { color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 22px; font-weight: 400; line-height: 40px; }
.what-we-do-item__text p { margin: 0; }

/* Alternierende Bildposition */
.what-we-do-item--image-left .what-we-do-item__image { order: 1; }
.what-we-do-item--image-left .what-we-do-item__content { order: 2; }
.what-we-do-item--image-right .what-we-do-item__image { order: 2; }
.what-we-do-item--image-right .what-we-do-item__content { order: 1; }

/* Sticky Ende */
.section-what-we-do__sticky-end { display: block; width: 100%; height: 1px; margin: 0; padding: 0; }

/* Pixel Animation */
[data-gfd-animation] { position: relative; overflow: hidden; }
[data-gfd-animation] img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gfd-pixel-reveal { position: absolute; inset: 0; z-index: 10; display: grid; pointer-events: none; }
.gfd-pixel-reveal__tile { opacity: 1; will-change: opacity; }

/* Tablet */
@media screen and (max-width: 63.9375em) {
    .section-what-we-do__header { padding: 70px 0; }
    .section-what-we-do__header-icon { margin-bottom: 30px; }
    .section-what-we-do__icon { width: 150px; }
    .section-what-we-do__headline { font-size: 64px; line-height: 66px; }
    .section-what-we-do__sticky-container { height: auto !important; min-height: 0 !important; }
    .section-what-we-do__sticky { position: static !important; top: auto !important; bottom: auto !important; width: 100% !important; max-width: none !important; padding-top: 60px; transform: none !important; }
    .section-what-we-do__intro { font-size: 20px; line-height: 34px; }
    .section-what-we-do__intro p { margin-bottom: 24px; }
    .section-what-we-do__goals-title { margin-top: 40px; padding-bottom: 45px; font-size: 20px; line-height: 34px; }
    .what-we-do-items { border-left: 0; border-right: 0; }
    .what-we-do-item { min-height: 320px; border-bottom: 0; }
    .what-we-do-item__image { border: 0; }
    .what-we-do-item__content { padding: 40px 32px; border: 0; }
    .what-we-do-item__img { min-height: 320px; }
    .what-we-do-item__title { font-size: 20px; line-height: 34px; }
    .what-we-do-item__text { font-size: 20px; line-height: 34px; }
}

/* Mobile */
@media screen and (max-width: 39.9375em) {
    .section-what-we-do__header { padding: 55px 0; }
    .section-what-we-do__header-icon { margin-bottom: 25px; }
    .section-what-we-do__icon { width: 105px; }
    .section-what-we-do__headline { font-size: 44px; line-height: 46px; }
    .section-what-we-do__sticky { padding-top: 45px; }
    .section-what-we-do__intro { font-size: 18px; line-height: 30px; }
    .section-what-we-do__intro p { margin-bottom: 20px; }
    .section-what-we-do__goals-title { margin-top: 30px; padding-bottom: 40px; font-size: 18px; line-height: 30px; }
    .what-we-do-item { min-height: 0; border-bottom: 0; }
    .what-we-do-item__image { border: 0; }
    .what-we-do-item__content { padding: 28px 20px; border: 0; }
    .what-we-do-item__img { min-height: 260px; }
    .what-we-do-item__title { margin-bottom: 4px; font-size: 18px; line-height: 28px; }
    .what-we-do-item__text { font-size: 16px; line-height: 26px; }
}



/* Aktuelles */
.section-news { padding: 100px 0; background: #f5f5f5; }

.section-news__header { padding-bottom: 35px; }
.section-news__header-row { gap: 55px; }
.section-news__header-icon { flex: 0 0 200px; }
.section-news__icon { display: block; width: 200px; height: auto; }
.section-news__header-title { min-width: 0; }
.section-news__title { margin: 0; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 60px; font-weight: 400; line-height: 1; }

.section-news__items { border-top: 1px solid rgba(51, 29, 62, .2); }

.section-news__item { padding: 55px 0; border-bottom: 1px solid rgba(51, 29, 62, .2); }
.section-news__item:last-child { border-bottom: 0; }

.section-news__visual { display: flex; align-items: flex-start; }
.section-news__image { display: block; width: 100%; height: auto; }

.section-news__content { color: var(--dark-purple); }
.section-news__item-title { margin: 0 0 22px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 30px; font-weight: 400; line-height: 1.15; }

.section-news__text { color: var(--dark-purple); font-size: 18px; line-height: 1.65; }
.section-news__text p { margin: 0 0 24px; }
.section-news__text p:last-child { margin-bottom: 0; }

.section-news__link { display: inline-block; margin-top: 28px; color: var(--coral); font-family: Saira, sans-serif; font-size: 16px; font-weight: 400; line-height: 1; text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; text-transform: uppercase; transition: text-underline-offset 250ms ease-out; }
.section-news__link:hover,
.section-news__link:focus { color: var(--coral); text-underline-offset: 6px; }

@media screen and (max-width: 63.9375em) {
    .section-news { padding: 80px 0; }
    .section-news__header-row { gap: 35px; }
    .section-news__header-icon { flex: 0 0 140px; }
    .section-news__icon { width: 140px; }
    .section-news__title { font-size: 48px; }
    .section-news__item-title { font-size: 26px; }
}

@media screen and (max-width: 39.9375em) {
    .section-news { padding: 60px 0; }
    .section-news__header { padding-bottom: 25px; }
    .section-news__header-row { gap: 20px; flex-wrap: nowrap; }
    .section-news__header-icon { flex: 0 0 85px; }
    .section-news__icon { width: 85px; }
    .section-news__title { font-size: 38px; }
    .section-news__item { padding: 35px 0; }
    .section-news__visual { margin-bottom: 25px; }
    .section-news__item-title { margin-bottom: 16px; font-size: 24px; }
    .section-news__text { font-size: 16px; }
    .section-news__link { margin-top: 22px; font-size: 14px; }
}



/* Projekte */
.section-projects { position: relative; display: block; min-height: 0; padding: 0; overflow: hidden; color: var(--dark-purple); border-bottom: 1px solid rgba(51, 29, 62, .3); scroll-margin-top: 0; }

/* Header */
.section-projects__header { padding: 90px 0 105px; border-bottom: 1px solid rgba(51, 29, 62, .3); }
.section-projects__header-icon { display: flex; align-items: flex-start; justify-content: flex-end; }
.section-projects__icon { display: block; width: 200px; max-width: 100%; height: auto; }
.section-projects__headline { margin: 0; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 90px; font-weight: 500; line-height: 90px; letter-spacing: 0; }
.section-projects__headline .highlight { -webkit-box-decoration-break: clone; box-decoration-break: clone; background: var(--purple); }

/* Accordion */
.gfd-projects { margin: 0; padding: 0; }
.gfd-project { position: relative; border-bottom: 1px solid rgba(51, 29, 62, .3); }
.gfd-project:last-child { border-bottom: 0; }

/* Trigger */
.gfd-project__trigger { display: block; width: 100%; padding: 28px 0; border: 0; background: transparent; color: var(--dark-purple); text-align: left; cursor: pointer; }
.gfd-project__trigger:hover, .gfd-project__trigger:focus { color: var(--dark-purple); background: transparent; outline: 0; }

.gfd-project__visual { display: flex; align-items: center; justify-content: flex-start; }
.gfd-project__image { display: flex; align-items: center; justify-content: center; width: 100%; height: 177px; background: #f5f5f5; overflow: hidden; }
.gfd-project__img { display: block; width: auto; max-width: 88%; max-height: 82%; height: auto; object-fit: contain; }

.gfd-project__heading { display: flex; align-items: center; }
.gfd-project__title { display: block; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 38px; font-weight: 400; line-height: 42px; letter-spacing: 0; }

.gfd-project__toggle-cell { display: flex; align-items: center; justify-content: flex-end; width: 40px; }
.gfd-project__toggle { position: relative; display: flex; align-items: center; justify-content: center; width: 28px; height: 42px; color: var(--purple); font-family: Saira, sans-serif; font-size: 38px; font-weight: 700; line-height: 42px; }
.gfd-project__toggle-plus, .gfd-project__toggle-minus { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; transition: opacity 220ms ease, transform 280ms cubic-bezier(.2, .8, .2, 1); }
.gfd-project__toggle-minus { opacity: 0; transform: scale(.7); }
.gfd-project.is-open .gfd-project__toggle-plus { opacity: 0; transform: scale(.7) rotate(90deg); }
.gfd-project.is-open .gfd-project__toggle-minus { opacity: 1; transform: scale(1); }

/* Panel */
.gfd-project__panel { overflow: hidden; }
.gfd-project__panel[hidden] { display: none; }

.gfd-project__content { padding: 0 0 120px; }
.gfd-project__text { color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 22px; font-weight: 400; line-height: 40px; }
.gfd-project__text p { margin: 0 0 28px; }
.gfd-project__text p:last-child { margin-bottom: 0; }

/* Projekt-Link */
.gfd-project__button { display: inline-block; margin-top: 28px; color: var(--purple); font-family: Saira, sans-serif; font-size: 16px; font-weight: 400; line-height: 1; text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; text-transform: uppercase; transition: text-underline-offset 250ms ease-out; }
.gfd-project__button:hover, .gfd-project__button:focus { color: var(--purple); text-underline-offset: 6px; }

/* Tablet */
@media screen and (max-width: 63.9375em) {
    .section-projects__header { padding: 70px 0 65px; }
    .section-projects__header-icon { justify-content: flex-start; margin-top: 35px; }
    .section-projects__icon { width: 150px; }
    .section-projects__headline { font-size: 64px; line-height: 66px; }
    .gfd-project__trigger { padding: 35px 0; }
    .gfd-project__image { height: 150px; }
    .gfd-project__title { font-size: 32px; line-height: 36px; }
    .gfd-project__toggle { font-size: 32px; line-height: 36px; }
    .gfd-project__content { padding: 0 0 80px; }
    .gfd-project__text { font-size: 20px; line-height: 34px; }
    .gfd-project__text p { margin-bottom: 24px; }
}

/* Mobile */
@media screen and (max-width: 39.9375em) {
    .section-projects__header { padding: 55px 0 45px; }
    .section-projects__header-icon { margin-top: 30px; }
    .section-projects__icon { width: 105px; }
    .section-projects__headline { font-size: 44px; line-height: 46px; }
    .gfd-project__trigger { padding: 28px 0; }
    .gfd-project__visual { padding-right: 16px; }
    .gfd-project__image { height: 105px; }
    .gfd-project__img { max-width: 90%; max-height: 80%; }
    .gfd-project__title { font-size: 24px; line-height: 30px; }
    .gfd-project__toggle-cell { width: 28px; margin-left: 10px; }
    .gfd-project__toggle { width: 24px; height: 30px; font-size: 26px; line-height: 30px; }
    .gfd-project__content { padding: 0 0 60px; }
    .gfd-project__text { font-size: 18px; line-height: 30px; }
    .gfd-project__text p { margin-bottom: 20px; }
    .gfd-project__button { margin-top: 22px; font-size: 14px; }
}



/* Warum machen wir das */
.section-why { display: block; align-items: initial; min-height: 0; padding: 0; overflow: hidden; background: #fff; color: var(--dark-purple); }
.section-why__intro { padding-top: 110px; padding-bottom: 120px; }
.section-why__header { position: relative; }
.section-why__headline { margin: 0; font-family: Saira, sans-serif; font-size: 90px; font-weight: 500; line-height: 1; color: var(--dark-purple); }
.section-why__headline .highlight { padding: 0 .08em; background: var(--yellow); }
.section-why__icon-column { display: flex; justify-content: flex-end; }
.section-why__icon { width: 200px; }
.section-why__icon img { display: block; width: 100%; height: auto; }
.section-why__content { margin-top: 70px; }
.section-why__text { font-family: Saira, sans-serif; font-size: 22px; font-weight: 400; line-height: 1.8; color: var(--dark-purple); }
.section-why__text p { margin: 0 0 28px; }
.section-why__text p:last-child { margin-bottom: 0; }

/* Zahlen */
.section-why__numbers { display: block; width: 100%; border-top: 1px solid rgba(51, 29, 62, .3); border-bottom: 1px solid rgba(51, 29, 62, .3); }
.why-number { display: grid; grid-template-columns: minmax(0, calc((100vw - 1200px) / 2 + 400px)) minmax(0, 1fr); width: 100%; min-height: 192px; border-bottom: 1px solid rgba(51, 29, 62, .3); }
.why-number:last-child { border-bottom: 0; }
.why-number__visual { position: relative; min-width: 0; min-height: 192px; overflow: hidden; }
.why-number__background { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.why-number__value { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: flex-end; padding-right: 70px; font-family: Saira, sans-serif; font-size: 60px; font-weight: 700; line-height: 1; }
.why-number__value.text-white { color: #fff; }
.why-number__value.text-dark-purple { color: var(--dark-purple); }
.why-number__counter { color: inherit; line-height: 1; }
.why-number__suffix { margin-left: 10px; color: inherit; line-height: 1; }
.why-number__content { display: flex; align-items: center; gap: 32px; min-width: 0; padding: 35px max(calc((100vw - 1200px) / 2), 30px) 35px 70px; font-family: Saira, sans-serif; color: var(--dark-purple); }
.why-number__text { flex: 1 1 auto; min-width: 0; font-size: 18px; font-weight: 400; line-height: 1.6; }
.why-number__text p { margin: 0; }
.why-number__text strong { font-weight: 700; }

/* Quellen-Link */
.why-number__source { flex: 0 0 auto; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 14px; font-weight: 400; line-height: 1; text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; text-transform: uppercase; white-space: nowrap; transition: text-underline-offset 250ms ease-out; }
.why-number__source:hover, .why-number__source:focus { color: var(--dark-purple); text-underline-offset: 6px; }

/* Tablet */
@media screen and (max-width: 74.9375em) {
    .section-why__intro { padding-top: 90px; padding-bottom: 100px; }
    .section-why__headline { font-size: 72px; }
    .section-why__icon { width: 160px; }
    .section-why__text { font-size: 20px; }
    .why-number { grid-template-columns: 42% 58%; }
    .why-number__value { padding-right: 50px; }
    .why-number__content { padding-right: 40px; padding-left: 50px; }
}

/* Mobile */
@media screen and (max-width: 39.9375em) {
    .section-why__intro { padding-top: 70px; padding-bottom: 70px; }
    .section-why__headline { font-size: 48px; line-height: 1.05; }
    .section-why__icon-column { justify-content: flex-start; margin-top: 35px; }
    .section-why__icon { width: 120px; }
    .section-why__content { margin-top: 50px; }
    .section-why__text { font-size: 17px; line-height: 1.7; }
    .why-number { display: block; min-height: 0; }
    .why-number__visual { min-height: 180px; }
    .why-number__value { justify-content: center; padding-right: 0; font-size: 52px; }
    .why-number__content { display: block; padding: 35px 30px; }
    .why-number__text { font-size: 17px; }
    .why-number__source { display: inline-block; margin-top: 20px; }
}

/* Grafik */
.section-graphic { display: block; align-items: initial; min-height: 0; padding: 0; overflow: hidden; background: #fff; border-bottom: 1px solid rgba(51, 29, 62, .2); }
.section-graphic .grid-container { padding-top: 170px; padding-bottom: 170px; }
.section-graphic__image { width: 100%; text-align: center; }
.section-graphic__img { display: block; width: 100%; max-width: 940px; height: auto; margin: 0 auto; will-change: transform; }
@media screen and (max-width: 63.9375em) {
    .section-graphic .grid-container { padding-top: 130px; padding-bottom: 130px; }
    .section-graphic__img { max-width: 760px; }
}
@media screen and (max-width: 39.9375em) {
    .section-graphic .grid-container { padding-top: 90px; padding-bottom: 90px; }
    .section-graphic__img { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .section-graphic__img { transform: none !important; }
}




//* Partner */
.section-partners { display: block; min-height: 0; padding: 110px 0 135px; background: #fff; color: var(--dark-purple); }
/* Header */
.section-partners__header { margin-bottom: 95px; }
.section-partners__header-row { gap: 55px; }
.section-partners__header-icon { flex: 0 0 200px; }
.section-partners__icon { display: block; width: 200px; height: auto; }
.section-partners__header-title { min-width: 0; }
.section-partners__headline { margin: 0; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 60px; font-weight: 500; line-height: 1.5; }
/* Slider */
.section-partners__slider { width: 100%; }
.section-partners__slider .splide__track { overflow: hidden; }
.section-partners__slider .splide__list { align-items: stretch; }
.section-partners__item { display: flex; align-items: stretch; justify-content: center; min-width: 0; }
.section-partners__logo-wrap { display: flex; align-items: center; justify-content: center; width: 100%; height: 120px; }
.section-partners__link { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.section-partners__logo { display: block; width: auto; max-width: 85%; max-height: 90px; height: auto; margin: 0; object-fit: contain; vertical-align: middle; transition: transform 250ms ease-out; }
.section-partners__link:hover .section-partners__logo, .section-partners__link:focus .section-partners__logo { transform: scale(1.025); }
/* Pagination */
.section-partners__slider .splide__pagination { position: relative; bottom: auto; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 45px 0 0; padding: 0; }

.section-partners__slider .splide__pagination__page { width: 10px; height: 10px; margin: 0; border: 0; border-radius: 50%; background: var(--dark-purple); opacity: .2; transform: none; transition: opacity 250ms ease-out, transform 250ms ease-out; }

.section-partners__slider .splide__pagination__page.is-active { opacity: 1; transform: scale(1.1); }

/* Desktop */
@media screen and (min-width: 64em) {
    .section-partners__slider .splide__pagination { display: none; }
}

/* Tablet */
@media screen and (max-width: 63.9375em) {
    .section-partners { padding: 90px 0 110px; }
    .section-partners__header { margin-bottom: 75px; }
    .section-partners__header-row { gap: 35px; }
    .section-partners__header-icon { flex: 0 0 140px; }
    .section-partners__icon { width: 140px; }
    .section-partners__headline { font-size: 48px; }
    .section-partners__item { height: 110px; }
    .section-partners__logo { max-width: 88%; max-height: 80px; }
}

/* Mobile */
@media screen and (max-width: 39.9375em) {
    .section-partners { padding: 70px 0 90px; }
    .section-partners__header { margin-bottom: 65px; }
    .section-partners__header-row { flex-wrap: nowrap; gap: 20px; }
    .section-partners__header-icon { flex: 0 0 85px; }
    .section-partners__icon { width: 85px; }
    .section-partners__headline { font-size: 38px; line-height: 1.15; }
    .section-partners__item { height: 130px; padding: 0 20px; }
    .section-partners__logo { max-width: 90%; max-height: 85px; }
    .section-partners__slider .splide__pagination { margin-top: 40px; }
}



/* Footer */
.footer { width: 100%; background: #fff; color: var(--dark-purple); }

/* Footer Main */
.footer__main { min-height: 265px; background: var(--lime); }
.footer__main-container { position: relative; min-height: 265px; }
.footer__main-grid { position: relative; z-index: 2; min-height: 265px; }
.footer__background { position: absolute; z-index: 1; top: 0; right: 0; width: 70%; height: 100%; background-image: url('../images/grafik_footer.png'); background-repeat: no-repeat; background-position: right center; background-size: auto 100%; pointer-events: none; }

/* Footer Logo */
.footer__logo { display: inline-block; position: relative; z-index: 2; }
.footer__logo img { display: block; width: 246px; height: auto; }

/* Footer Bottom */
.footer__bottom { background: #fff; }
.footer__meta { display: flex; align-items: center; min-height: 90px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 14px; font-weight: 500; line-height: 1; }

/* Copyright */
.footer__copyright { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.footer__copyright i { font-size: 12px; }

/* Footer Navigation */
.footer__navigation .menu { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.footer__navigation .menu li { display: flex; align-items: center; margin: 0; }
.footer__navigation .menu li::before { content: '•'; display: inline-block; margin: 0 10px; color: var(--dark-purple); }
.footer__navigation .menu a { display: inline-block; padding: 0; background: transparent; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 14px; font-weight: 500; line-height: 1; text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; transition: text-underline-offset 250ms ease-out; }
.footer__navigation .menu a:hover, .footer__navigation .menu a:focus { background: transparent; color: var(--dark-purple); text-underline-offset: 6px; }
.footer__navigation .menu .active > a, .footer__navigation .menu .current-menu-item > a, .footer__navigation .menu .current_page_item > a { background: transparent; color: var(--dark-purple); font-weight: 700; }
.footer__navigation .menu .active > a:hover, .footer__navigation .menu .active > a:focus, .footer__navigation .menu .current-menu-item > a:hover, .footer__navigation .menu .current-menu-item > a:focus, .footer__navigation .menu .current_page_item > a:hover, .footer__navigation .menu .current_page_item > a:focus { background: transparent; color: var(--dark-purple); text-underline-offset: 6px; }
/* Tablet */
@media screen and (max-width: 63.9375em) {
    .footer__main { min-height: 220px; }
    .footer__main-container { min-height: 220px; }
    .footer__main-grid { min-height: 220px; }
    .footer__background { width: 75%; }
    .footer__logo img { width: 200px; }
    .footer__meta { min-height: 80px; font-size: 13px; }
    .footer__navigation .menu a { font-size: 13px; }
}

/* Mobile */
@media screen and (max-width: 39.9375em) {
    .footer__main { min-height: 190px; }
    .footer__main-container { min-height: 190px; }
    .footer__main-grid { min-height: 190px; }
    .footer__background { width: 100%; background-position: 70% center; }
    .footer__logo img { width: 165px; }
    .footer__bottom .grid-x { justify-content: center; }
    .footer__meta { flex-direction: column; align-items: center; justify-content: center; min-height: 110px; gap: 10px; padding: 20px 0; font-size: 12px; line-height: 1.4; text-align: center; }
    .footer__navigation .menu { justify-content: center; flex-wrap: wrap; }
    .footer__navigation .menu li:first-child::before { display: none; }
    .footer__navigation .menu a { font-size: 12px; }
}




/* 404 */
.error-404 { display: flex; align-items: center; min-height: calc(100vh - 170px); padding: 110px 0 130px; overflow: hidden; background: #fff; color: var(--dark-purple); }
.error-404__inner { position: relative; }
.error-404__graphic { position: relative; margin-bottom: 65px; }
.error-404__number { display: flex; align-items: center; justify-content: center; gap: 20px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: clamp(150px, 21vw, 330px); font-weight: 600; line-height: .8; letter-spacing: -.06em; }
.error-404__zero { position: relative; display: flex; align-items: center; justify-content: center; width: .8em; height: .8em; margin: 0 .02em; background: var(--lime); transform: rotate(-5deg); }
.error-404__zero i { font-size: .37em; transform: rotate(5deg); }
.error-404__pixels { position: absolute; width: 42px; height: 42px; }
.error-404__pixels--one { top: 2%; left: 6%; background: var(--purple); transform: rotate(8deg); }
.error-404__pixels--two { right: 8%; bottom: 5%; width: 30px; height: 30px; background: var(--coral); transform: rotate(-7deg); }
.error-404__pixels--three { top: 18%; right: 2%; width: 20px; height: 20px; background: var(--yellow); transform: rotate(12deg); }
.error-404__content { width: 100%; max-width: 850px; margin: 0 auto; text-align: center; }
.error-404__headline { margin: 0 0 30px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 60px; font-weight: 400; line-height: 1.1; }
.error-404__text { max-width: 720px; margin: 0 auto 45px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 22px; font-weight: 400; line-height: 1.7; }
.error-404__button { display: inline-flex; align-items: center; gap: 16px; padding: 17px 22px; background: var(--dark-purple); color: #fff; font-family: Saira, sans-serif; font-size: 16px; font-weight: 500; line-height: 1; text-decoration: none; text-transform: uppercase; transition: transform 250ms ease-out, box-shadow 250ms ease-out; }
.error-404__button i { transition: transform 250ms ease-out; }
.error-404__button:hover, .error-404__button:focus { background: var(--dark-purple); color: #fff; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(51, 29, 62, .16); }
.error-404__button:hover i, .error-404__button:focus i { transform: translateX(5px); }
@media screen and (max-width: 63.9375em) {
    .error-404 { min-height: 0; padding: 100px 0 110px; }
    .error-404__graphic { margin-bottom: 55px; }
    .error-404__number { gap: 15px; }
    .error-404__headline { font-size: 48px; }
    .error-404__text { font-size: 20px; }
}
@media screen and (max-width: 39.9375em) {
    .error-404 { padding: 80px 0 90px; }
    .error-404__graphic { margin-bottom: 45px; }
    .error-404__number { gap: 8px; font-size: 34vw; }
    .error-404__pixels { width: 25px; height: 25px; }
    .error-404__pixels--two { width: 20px; height: 20px; }
    .error-404__pixels--three { width: 14px; height: 14px; }
    .error-404__headline { margin-bottom: 24px; font-size: 38px; }
    .error-404__text { margin-bottom: 35px; font-size: 17px; line-height: 1.6; }
    .error-404__button { gap: 12px; padding: 15px 18px; font-size: 14px; }
}


/* Default Page */
.page-default { display: block; min-height: 0; padding: 90px 0 120px; background: #fff; color: var(--dark-purple); }
.page-default__article { width: 100%; }
.page-default__header { margin-bottom: 55px; }
.page-default__title { margin: 0; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 60px; font-weight: 500; line-height: 1.1; }
.page-default__content { color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 20px; font-weight: 400; line-height: 1.75; }
.page-default__content h2 { margin: 70px 0 25px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 38px; font-weight: 500; line-height: 1.2; }
.page-default__content h3 { margin: 50px 0 20px; color: var(--dark-purple); font-family: Saira, sans-serif; font-size: 28px; font-weight: 500; line-height: 1.25; }
.page-default__content p { margin: 0 0 28px; }
.page-default__content p:last-child { margin-bottom: 0; }
.page-default__content ul, .page-default__content ol { margin: 0 0 28px 24px; }
.page-default__content li { margin-bottom: 10px; }
.page-default__content a { color: var(--dark-purple); text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; transition: text-underline-offset 250ms ease-out; }
.page-default__content a:hover, .page-default__content a:focus { color: var(--dark-purple); text-underline-offset: 6px; }
.page-default__content strong, .page-default__content b { font-weight: 700; }
.page-default__content img { max-width: 100%; height: auto; }
@media screen and (max-width: 63.9375em) {
    .page-default { padding: 75px 0 95px; }
    .page-default__header { margin-bottom: 45px; }
    .page-default__title { font-size: 48px; }
    .page-default__content { font-size: 19px; line-height: 1.7; }
    .page-default__content h2 { margin-top: 55px; font-size: 34px; }
    .page-default__content h3 { margin-top: 40px; font-size: 26px; }
}
@media screen and (max-width: 39.9375em) {
    .page-default { padding: 60px 0 80px; }
    .page-default__header { margin-bottom: 35px; }
    .page-default__title { font-size: 40px; line-height: 1.08; }
    .page-default__content { font-size: 17px; line-height: 1.65; }
    .page-default__content h2 { margin-top: 45px; margin-bottom: 20px; font-size: 30px; }
    .page-default__content h3 { margin-top: 35px; margin-bottom: 16px; font-size: 24px; }
    .page-default__content p { margin-bottom: 24px; }
}




/* Offcanvas */
.gfd-offcanvas { position: fixed; top: 0; right: 0; z-index: 12; width: min(440px, 100vw); height: 100vh; padding: 0; overflow-y: auto; background: var(--dark-purple); color: #fff; transform: translateX(100%); visibility: hidden; }
.gfd-offcanvas.is-open { transform: translateX(0); visibility: visible; }
.gfd-offcanvas__inner { display: flex; flex-direction: column; min-height: 100%; padding: 35px 35px 45px; }
.gfd-offcanvas__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; }
.gfd-offcanvas__logo { display: block; width: 190px; }
.gfd-offcanvas__logo img { display: block; width: 100%; height: auto; }
.gfd-offcanvas__close { position: relative; flex: 0 0 46px; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; background: var(--lime); cursor: pointer; transition: transform 220ms ease-out; }
.gfd-offcanvas__close:hover, .gfd-offcanvas__close:focus { background: var(--lime); transform: rotate(5deg); }
.gfd-offcanvas__close-line { position: absolute; top: 50%; left: 50%; display: block; width: 21px; height: 2px; background: var(--dark-purple); transform-origin: center; }
.gfd-offcanvas__close-line--one { transform: translate(-50%, -50%) rotate(45deg); }
.gfd-offcanvas__close-line--two { transform: translate(-50%, -50%) rotate(-45deg); }
/* Navigation */
.gfd-offcanvas__navigation { margin-top: 70px; }
.gfd-offcanvas__navigation .menu { display: block; margin: 0; padding: 0; background: transparent; border-top: 1px solid rgba(255, 255, 255, .22); list-style: none; }
.gfd-offcanvas__navigation .menu > li { display: block; margin: 0; padding: 0; border-bottom: 1px solid rgba(255, 255, 255, .22); }
.gfd-offcanvas__navigation .menu > li > a { display: flex; align-items: center; width: 100%; min-height: 76px; margin: 0; padding: 0; background: transparent; color: #fff; font-family: Saira, sans-serif; font-size: 25px; font-weight: 400; line-height: 1.2; text-decoration: none; transition: color 180ms ease-out, padding-left 180ms ease-out; }
.gfd-offcanvas__navigation .menu > li > a:hover, .gfd-offcanvas__navigation .menu > li > a:focus { padding-left: 8px; background: transparent; color: var(--lime); }
.gfd-offcanvas__navigation .menu .active > a, .gfd-offcanvas__navigation .menu .current-menu-item > a, .gfd-offcanvas__navigation .menu .current_page_item > a { background: transparent; color: #fff; }
/* Kontakt */
.gfd-offcanvas__contact { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 24px; margin-top: 48px; padding-top: 38px; border-top: 1px solid rgba(255, 255, 255, .22); }
.gfd-offcanvas__contact-icon { width: 110px; }
.gfd-offcanvas__contact-icon img { display: block; width: 100%; height: auto; }
.gfd-offcanvas__contact-content { min-width: 0; }
.gfd-offcanvas__contact-title { display: block; margin: 0 0 14px; color: #fff; font-family: Saira, sans-serif; font-size: 18px; font-weight: 700; line-height: 1.3; }
.gfd-offcanvas__contact-link { display: flex; align-items: center; gap: 12px; margin-top: 8px; color: #fff; font-family: Saira, sans-serif; font-size: 15px; font-weight: 400; line-height: 1.4; text-decoration: none; }
.gfd-offcanvas__contact-link i { flex: 0 0 18px; width: 18px; color: var(--lime); font-size: 17px; text-align: center; }
.gfd-offcanvas__contact-link span { overflow-wrap: anywhere; }
.gfd-offcanvas__contact-link:hover, .gfd-offcanvas__contact-link:focus { color: var(--lime); }
/* Widgets */
.gfd-offcanvas__widgets { margin-top: 35px; }
/* Foundation Overrides */
.gfd-offcanvas .menu .active > a, .gfd-offcanvas .menu .current-menu-item > a, .gfd-offcanvas .menu .current_page_item > a { background: transparent; }
.js-off-canvas-overlay { background: rgba(51, 29, 62, .35); backdrop-filter: blur(2px); }
/* Mobile */
@media screen and (max-width: 39.9375em) {
    .gfd-offcanvas { width: 100%; }
    .gfd-offcanvas__inner { padding: 25px 22px 35px; }
    .gfd-offcanvas__logo { width: 155px; }
    .gfd-offcanvas__close { flex-basis: 42px; width: 42px; height: 42px; }
    .gfd-offcanvas__navigation { margin-top: 50px; }
    .gfd-offcanvas__navigation .menu > li > a { min-height: 70px; font-size: 22px; }
    .gfd-offcanvas__contact { grid-template-columns: 95px minmax(0, 1fr); gap: 20px; margin-top: 42px; padding-top: 34px; }
    .gfd-offcanvas__contact-icon { width: 95px; }
    .gfd-offcanvas__contact-title { font-size: 17px; }
    .gfd-offcanvas__contact-link { font-size: 14px; }
}