@font-face{
    font-family:League;
    src:url('../fonts/LeagueSpartan-VariableFont_wght.woff2') format('woff2');
    font-display:swap
}
@font-face{
    font-family:Inter;
    src:url('../fonts/Inter-VariableFont_opsz_wght.woff2') format('woff2');
    font-display:swap
}
:root{
    --n:#003f5a;
    --a:#e99345;
    --t:#0e7c86;
    --c:#f7f4ee;
    --i:#16242c;
    --w:#fff;
    --s:min(100% - 2rem,76rem)
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth
}
body{
    margin:0;
    background:var(--c);
    color:var(--i);
    font-family:Inter,sans-serif;
    line-height:1.5
}
img{
    max-width:100%;
    display:block
}
a{
    color:inherit
}
.site-shell{
    width:var(--s);
    margin:auto
}
.skip-link{
    position:fixed;
    z-index:20;
    top:.5rem;
    left:.5rem;
    padding:.7rem;
    background:#fff;
    transform:translateY(-200%)
}
.skip-link:focus{
    transform:none
}
.site-header{
    position:sticky;
    top:0;
    z-index:10;
    padding:.6rem 0;
    background:#f7f4eeed;
    backdrop-filter:blur(12px)
}
.header-inner,.footer-inner,.main-nav,.hero-actions,.contact-details{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem
}
.site-logo{
    width:min(12rem,48vw)
}
.main-nav{
    font-size:.88rem;
    font-weight:700
}
.main-nav a{
    text-decoration:none
}
.header-contact,.button{
    padding:.72rem 1rem;
    border:1px solid transparent;
    border-radius:.15rem;
    font-weight:800;
    text-decoration:none
}
.header-contact{
    color:#fff;
    background:var(--n)
}
.button{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:3.1rem
}
.button-amber{
    color:var(--i);
    background:var(--a)
}
.button-ghost{
    color:#fff;
    border-color:#fff
}
.button:hover{
    transform:translateY(-2px)
}
a:focus-visible,input:focus-visible,textarea:focus-visible{
    outline:3px solid var(--a);
    outline-offset:3px
}
.section{
    padding:clamp(4.5rem,9vw,8rem) 0
}
.section-navy,.contact-section{
    color:#fff;
    background:var(--n)
}
.section-teal{
    color:#fff;
    background:var(--t)
}
.section-sand{
    background:#ebe5d9
}
.hero{
    position:relative;
    isolation:isolate;
    display:grid;
    min-height:min(47rem,calc(100svh - 5rem));
    color:#fff;
    overflow:hidden
}
.hero-video,.hero-overlay{
    position:absolute;
    z-index:-1;
    inset:0;
    width:100%;
    height:100%
}
.hero-video{
    object-fit:cover
}
.hero-overlay{
    background:linear-gradient(110deg,#002f5ae9,#003f5ac2 55%,#001c2a73)
}
.hero-content{
    align-self:center;
    padding:6rem 0
}
.eyebrow{
    margin:0 0 .75rem;
    color:var(--t);
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase
}
.eyebrow-light{
    color:#bde3e6
}
h1,h2,h3{
    font-family:League,sans-serif
}
h1,h2{
    line-height:.96
}
h1{
    margin:0;
    font-size:clamp(3.15rem,7.6vw,6.7rem)
}
h2{
    margin:0;
    color:var(--n);
    font-size:clamp(2.4rem,5vw,4.5rem)
}
.hero-intro{
    max-width:40rem;
    font-size:1.15rem;
    margin:1.7rem 0 2rem
}
.hero-content p{
    max-width:40rem;
    font-size:1.15rem
}
.hero-content .button{
    margin-top:1.5rem
}
.section-heading{
    max-width:48rem;
    margin-bottom:3rem
}
.section-heading>p:last-child{
    font-size:1.08rem
}
.split-heading{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2rem;
    max-width:none
}
.split-heading .eyebrow{
    grid-column:1/-1
}
.audience-grid,.service-grid,.process-list,.mini-grid,.proof-grid,.team-grid,.contact-grid{
    display:grid;
    gap:1rem
}
.audience-grid,.proof-grid,.team-grid,.contact-grid,.mini-grid{
    grid-template-columns:repeat(2,1fr)
}
.audience-card{
    min-height:20rem;
    padding:clamp(1.5rem,4vw,3rem);
    color:#fff;
    background:var(--n);
    text-decoration:none
}
.audience-card-candidate{
    background:var(--t)
}
.audience-card:hover{
    box-shadow:.5rem .5rem var(--a);
    transform:translate(-.2rem,-.2rem)
}
.card-number,.service-card>span,.process-list>li>span{
    color:var(--a);
    font-weight:800
}
.audience-card h3{
    margin:3.5rem 0 1rem;
    font-size:clamp(2rem,4vw,3.4rem);
    line-height:.95
}
.text-link{
    display:inline-block;
    margin-top:1rem;
    font-weight:800;
    text-underline-offset:.2em
}
.audience-card .text-link,.section-teal h2,.section-teal .text-link{
    color:#fff
}
.statement-layout,.two-column-content,.academy-layout{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:clamp(2rem,7vw,7rem)
}
.statement-layout h2{
    color:#fff;
    margin:0 0 1.5rem
}
.quote{
    margin:0;
    color:#bde3e6;
    font:clamp(1.5rem,2.5vw,2.3rem)/1.05 League,sans-serif
}
.service-grid{
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:#c8d0cf
}
.service-card,.process-list li{
    padding:1.5rem;
    background:var(--c)
}
.service-card h3{
    margin:3rem 0 .8rem;
    font-size:1.55rem;
    line-height:1
}
.process-list{
    grid-template-columns:repeat(5,1fr);
    padding:0;
    list-style:none;
    gap:1px;
    background:#c8d0cf
}
.process-list li{
    min-height:18rem
}
.process-list h3{
    margin:3rem 0 .8rem;
    line-height:1
}
.check-list{
    padding:0;
    list-style:none
}
.check-list li{
    margin:.7rem 0
}
.check-list li:before{
    content:'✓';
    margin-right:.7rem;
    color:var(--a);
    font-weight:bold
}
.academy-layout{
    align-items:center
}
.image-frame{
    min-height:26rem
}
.image-frame img{
    width:100%;
    height:100%;
    object-fit:cover
}
.academy-layout h2{
    margin-bottom:1.2rem
}
.mini-grid p{
    margin:0;
    padding-top:1rem;
    border-top:2px solid var(--a)
}
.proof-grid>div,.team-card,.contact-card{
    padding:clamp(1.3rem,3vw,2.5rem);
    background:#fff
}
.proof-grid h3,.contact-card h3{
    margin-top:0;
    font-size:2rem
}
.award-row{
    display:flex;
    justify-content:space-around;
    align-items:center;
    gap:2rem;
    margin-top:3rem
}
.award-row img{
    width:min(10rem,27%);
    mix-blend-mode:multiply
}
.team-card{
    display:grid;
    grid-template-columns:9rem 1fr;
    gap:1.3rem
}
.team-card img{
    width:100%;
    aspect-ratio:2/3;
    object-fit:cover
}
.team-card h3{
    margin:.4rem 0;
    font-size:1.8rem
}
.role{
    color:var(--t);
    font-size:.9rem;
    font-weight:700
}
.contact-heading{
    max-width:45rem;
    margin-bottom:3rem
}
.contact-heading h2{
    color:#fff
}
.contact-card{
    color:var(--i)
}
.contact-card h3{
    color:var(--n)
}
.contact-card label{
    display:grid;
    gap:.35rem;
    margin-bottom:1rem;
    font-weight:700;
    font-size:.85rem
}
.contact-card input,.contact-card textarea{
    width:100%;
    padding:.75rem;
    border:1px solid #aab7b9;
    font:inherit
}
.contact-details{
    justify-content:flex-start;
    flex-wrap:wrap;
    margin-top:2rem;
    color:#d7edef
}
.foundation-intro,.legal-page{
    padding:8rem 0
}
.prose{
    max-width:48rem
}
.site-footer{
    padding:1.5rem 0;
    color:#fff;
    background:var(--n)
}
.site-footer p{
    margin:0
}
.site-footer nav{
    display:flex;
    gap:1rem
}
.section-navy h2,.contact-section h2{
    color:#fff
}
.team-card{
    color:var(--i)
}
.team-card h3{
    color:var(--n)
}
.content-with-image{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(2rem,6vw,6rem);
    align-items:center
}
.content-photo{
    width:100%;
    min-height:25rem;
    height:100%;
    object-fit:cover
}
.imagefilm-video{
    display:block;
    width:100%;
    max-width:75rem;
    margin-inline:auto;
    background:var(--n)
}
@media(max-width:56rem){
    .main-nav>a:not(.header-contact){
        display:none
    }
    .split-heading,.statement-layout,.two-column-content,.academy-layout,.content-with-image{
        grid-template-columns:1fr
    }
    .service-grid{
        grid-template-columns:repeat(2,1fr)
    }
    .process-list{
        grid-template-columns:1fr
    }
    .process-list li{
        display:grid;
        grid-template-columns:4rem 1fr;
        min-height:auto;
        gap:1rem
    }
    .process-list h3{
        margin-top:0
    }
    .team-grid{
        grid-template-columns:1fr
    }
}
@media(max-width:36rem){
    .footer-inner{
        align-items:flex-start;
        flex-direction:column
    }
    .audience-grid,.service-grid,.mini-grid,.proof-grid,.contact-grid{
        grid-template-columns:1fr
    }
    .hero{
        min-height:41rem
    }
    .team-card{
        grid-template-columns:7rem 1fr
    }
    .award-row{
        justify-content:flex-start
    }
    .award-row img{
        width:7rem
    }
}
@media(prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto
    }
    .hero-video{
        display:none
    }
    .hero{
        background:linear-gradient(#003f5ac9,#003f5ac9),url('../images/Foto 2.webp') center/cover
    }
    *{
        transition:none!important
    }
}
.logo-slider{
    grid-column:1/-1;
    margin-top:1rem
}
.slider-track{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 2rem)/3);
    gap:1rem;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none
}
.slider-track::-webkit-scrollbar{
    display:none
}
.logo-slide{
    display:grid;
    place-items:center;
    min-height:11rem;
    padding:1.5rem;
    background:#fff;
    scroll-snap-align:start
}
.logo-slide img{
    max-height:8rem;
    object-fit:contain
}
.slider-controls{
    display:flex;
    gap:.5rem;
    justify-content:flex-end;
    margin-top:.75rem
}
.slider-controls button,.footer-link{
    padding:.65rem .85rem;
    border:1px solid currentColor;
    background:transparent;
    color:inherit;
    font:inherit;
    cursor:pointer
}
.site-footer{
    padding:1.5rem 0
}
.footer-inner{
    flex-wrap:wrap
}
.footer-link{
    text-decoration:underline;
    text-underline-offset:.2em
}
.legal-dialog{
    width:min(100% - 2rem,42rem);
    max-height:calc(100svh - 6rem);
    border:0;
    padding:0;
    overflow-y:auto;
    will-change:transform;
    box-shadow:0 1.5rem 4rem #001d2b66
}
.legal-dialog::backdrop{
    background:#001d2b99
}
.dialog-content{
    position:relative;
    padding:clamp(2rem,6vw,4rem);
    background:var(--c)
}
.dialog-content h2{
    margin-bottom:1rem
}
.legal-copy h3{
    margin:2rem 0 .75rem;
    color:var(--n);
    font-size:1.2rem;
    line-height:1.2
}
.legal-copy h4{
    margin:1.5rem 0 .75rem;
    font-family:Inter,sans-serif;
    font-size:1rem
}
.legal-copy ul{
    padding-left:1.25rem
}
.dialog-close{
    position:absolute;
    top:1rem;
    right:1rem;
    width:2.5rem;
    height:2.5rem;
    border:0;
    background:var(--n);
    color:#fff;
    font-size:1.5rem;
    cursor:pointer
}
.funding-logos{
    padding:2rem 0;
    background:#fff
}
.funding-logos .site-shell{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:2rem
}
.funding-logos img{
    width:min(28rem,100%);
    max-height:7rem
}
@media(max-width:40rem){
    .slider-track{
        grid-auto-columns:85%
    }
}
.slider-track{
    grid-auto-columns:calc((100% - 4rem)/5)
}
.logo-slide:has(img){
    cursor:pointer
}
.slider-controls{
    justify-content:space-between
}
.academy-photo{
    min-height:0;
    height:auto;
    max-width:90%;
    justify-self:center;
    object-fit:contain
}
.contact-actions{
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    margin:2rem 0
}
.image-dialog .dialog-content{
    max-width:90vw
}
.image-dialog [data-dialog-image]{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:78vh;
    margin:auto
}
@media(max-width:56rem){
    .slider-track{
        grid-auto-columns:calc((100% - 1rem)/2)
    }
}
@media(max-width:40rem){
    .slider-track{
        grid-auto-columns:100%
    }
    .academy-photo{
        max-width:100%
    }
}
.slider-row{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:.75rem
}
.slider-row>button{
    width:2.75rem;
    height:2.75rem;
    border:1px solid var(--n);
    background:var(--n);
    color:#fff;
    font-size:1.25rem;
    cursor:pointer
}
.contact-actions{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1rem
}
.contact-option{
    display:grid;
    gap:.8rem
}
.contact-actions{
    grid-template-columns:1fr
}
.contact-option .button{
    font-size:1.2rem
}
.contact-company{
    margin-bottom:0
}
.contact-address{
    margin-top:0
}
.button-light{
    color:var(--n);
    background:#fff
}
.legal-dialog .contact-card h2{
    font-size:clamp(1.92rem,4vw,3.6rem)
}
@media(max-width:40rem){
    .contact-actions{
        grid-template-columns:1fr
    }
    .slider-row{
        gap:.4rem
    }
    .slider-row>button{
        width:2.4rem;
        height:2.4rem
    }
}
.site-footer .footer-link{
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    text-decoration:underline;
    text-underline-offset:.2em
}
.section-navy{
    background-image:radial-gradient(circle at 8% 18%,#ffffff14 0 1px,transparent 1.5px),radial-gradient(circle at 82% 78%,#6dc3ca24 0 2px,transparent 2.5px),linear-gradient(135deg,#003f5a,#00354d)
}
.section-teal{
    background-image:radial-gradient(circle at 14% 82%,#ffffff1f 0 1px,transparent 1.5px),radial-gradient(circle at 88% 12%,#f4b46b38 0 2px,transparent 2.5px),linear-gradient(135deg,#0e7c86,#09656f)
}
.section-sand{
    background-image:radial-gradient(circle at 12% 18%,#003f5a12 0 1px,transparent 1.5px),radial-gradient(circle at 88% 75%,#e9934524 0 2px,transparent 2.5px),linear-gradient(135deg,#ebe5d9,#f2ede4)
}
.contact-section{
    background-image:radial-gradient(circle at 15% 75%,#e9934538 0 2px,transparent 2.5px),radial-gradient(circle at 86% 20%,#ffffff18 0 1px,transparent 1.5px),linear-gradient(135deg,#003f5a,#002e43)
}
.section-navy{
    background-image:radial-gradient(#ffffff38 1.2px,transparent 1.7px),linear-gradient(135deg,#003f5a,#00354d);
    background-size:24px 24px,100% 100%
}
.section-teal{
    background-image:radial-gradient(#ffffff42 1.2px,transparent 1.7px),linear-gradient(135deg,#0e7c86,#09656f);
    background-size:24px 24px,100% 100%
}
.section-sand{
    background-image:radial-gradient(#003f5a30 1.2px,transparent 1.7px),linear-gradient(135deg,#ebe5d9,#f2ede4);
    background-size:24px 24px,100% 100%
}
.contact-section{
    background-image:radial-gradient(#ffffff38 1.2px,transparent 1.7px),linear-gradient(135deg,#003f5a,#002e43);
    background-size:24px 24px,100% 100%
}
.section-navy{
    background-image:url('../images/pattern-navy.svg'),linear-gradient(135deg,#003f5a,#00354d);
    background-position:center;
    background-size:cover
}
.section-teal{
    background-image:url('../images/pattern-teal.svg'),linear-gradient(135deg,#0e7c86,#09656f);
    background-position:center;
    background-size:cover
}
.section-sand{
    background-image:url('../images/pattern-sand.svg'),linear-gradient(135deg,#ebe5d9,#f2ede4);
    background-position:center;
    background-size:cover
}
.contact-section{
    background-image:url('../images/pattern-contact.svg'),linear-gradient(135deg,#003f5a,#002e43);
    background-position:center;
    background-size:cover
}
.site-header{
    padding:.51rem 0
}
.site-main>section[aria-labelledby="references-title"]{
    background:linear-gradient(135deg,#f7f4ee 0%,#e6f0ef 100%)
}
.site-main>section[aria-labelledby="services-title"]{
    background:linear-gradient(135deg,#f4e5d4 0%,#ebe5d9 48%,#dce9e7 100%)
}
.site-main>section[aria-labelledby="situation-title"]{
    background:linear-gradient(135deg,#e6f0ef 0%,#f7f4ee 58%,#f5e4d1 100%)
}
.site-main>section[aria-labelledby="process-title"]{
    background:linear-gradient(135deg,#e7f1ef 0%,#d2e4e3 55%,#f2e1ce 100%)
}
.site-main>section[aria-labelledby="academy-title"]{
    background:linear-gradient(135deg,#f7f4ee 0%,#e5efec 100%)
}
.site-main>section[aria-labelledby="industry-title"]{
    background:linear-gradient(135deg,#f5e3d0 0%,#f7f4ee 55%,#e6efed 100%)
}
.team-card{
    border:0;
    text-align:left;
    cursor:pointer;
    box-shadow:0 .65rem 1.4rem #003f5a20;
    transition:transform .18s ease,box-shadow .18s ease
}
.team-card:hover{
    transform:translateY(-.22rem);
    box-shadow:0 .9rem 1.8rem #003f5a2c
}
.team-card:active{
    transform:translateY(.05rem) scale(.994);
    box-shadow:0 .35rem .8rem #003f5a24
}
.team-card>span{
    display:grid;
    gap:.5rem;
    align-content:start
}
.team-card strong{
    color:var(--n);
    font:1.8rem/1 League,sans-serif
}
.team-card .role{
    margin:0
}
.team-detail{
    display:grid;
    grid-template-columns:minmax(9rem,.55fr) 1.45fr;
    gap:1.5rem
}
.team-detail>img{
    width:100%;
    height:auto;
    max-height:25rem;
    object-fit:cover
}
.team-detail h2{
    margin:0
}
.team-detail .role{
    margin-top:.5rem
}
@media(max-width:40rem){
    .team-detail{
        grid-template-columns:1fr
    }
    .team-detail>img{
        max-width:12rem
    }
}
.team-card{
    grid-template-columns:1fr;
    justify-items:center;
    border-radius:.65rem;
    text-align:center
}
.team-card img{
    width:min(100%,12rem);
    margin-inline:auto
}
.team-card>span{
    justify-items:center
}
.team-detail{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center
}
.team-detail>img{
    width:min(100%,12rem);
    margin-inline:auto
}
.team-detail h2{
    font-size:clamp(1.44rem,3vw,2.7rem)
}
#ueber-uns .team-card{
    background:linear-gradient(145deg,#ffffff 0%,#e5f0ef 100%)
}
.process-list h3{
    display:grid;
    gap:.75rem
}
.phase-icon{
    display:grid;
    place-items:center;
    width:2.8rem;
    height:2.8rem;
    border-radius:50%;
    background:#e9934526;
    color:var(--n)
}
.phase-icon svg{
    width:1.45rem;
    height:1.45rem;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.7
}
.process-list h3{
    justify-items:center;
    text-align:center;
    margin-top:1.2rem
}
.phase-icon{
    width:3.6rem;
    height:3.6rem;
    margin-top:-.7rem
}
.phase-icon svg{
    width:1.85rem;
    height:1.85rem
}
.site-menu{
    position:relative
}
.site-menu summary{
    padding:.62rem .9rem;
    list-style:none;
    color:#fff;
    background:var(--n);
    border-radius:.15rem;
    font-size:.88rem;
    font-weight:800;
    cursor:pointer
}
.site-menu summary::-webkit-details-marker{
    display:none
}
.site-menu summary::after{
    content:'+';
    margin-left:.5rem
}
.site-menu[open] summary::after{
    content:'−'
}
.menu-panel{
    position:absolute;
    right:0;
    top:calc(100% + .6rem);
    display:grid;
    min-width:14rem;
    padding:.5rem;
    background:#fff;
    color:var(--n);
    box-shadow:0 1rem 2.5rem #003f5a2b
}
.menu-panel a{
    padding:.65rem .8rem;
    text-decoration:none
}
.menu-panel a:hover,.menu-panel a:focus-visible{
    background:#e5f0ef
}
.site-main>section{
    scroll-margin-top:4.5rem
}
.main-nav>.header-contact,.site-menu summary{
    min-width:6.8rem;
    text-align:center
}
.main-nav>.header-contact{
    padding:.62rem .9rem
}
.service-card h3{
    display:grid;
    gap:.8rem
}
.service-icon{
    display:grid;
    place-items:center;
    width:3.25rem;
    height:3.25rem;
    border-radius:1rem
}
.service-icon svg{
    width:1.7rem;
    height:1.7rem;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.7
}
.service-card:nth-child(1) .service-icon{
    color:#087b75;
    background:#087b7520
}
.service-card:nth-child(2) .service-icon{
    color:#b55a16;
    background:#e9934530
}
.service-card:nth-child(3) .service-icon{
    color:#2864a0;
    background:#7cb8e130
}
.service-card:nth-child(4) .service-icon{
    color:#784e9d;
    background:#b897d830
}
.service-card h3{
    justify-items:center;
    text-align:center;
    margin-top:1.2rem
}
.service-icon{
    margin-top:-.65rem
}
.site-header{
    padding:.43rem 0
}
.site-header{
    padding-top:0;
    padding-bottom:0
}
@media(max-width:40rem){
    :root{
        --s:calc(100% - 2.5rem)
    }
    .process-list li{
        display:block;
        grid-template-columns:none;
        padding:1.25rem
    }
    .process-list h3{
        margin-top:.8rem
    }
    .process-list li>div{
        width:100%
    }
    .process-list li p{
        width:100%
    }
}
.check-list li{
    display:grid;
    grid-template-columns:1.25rem minmax(0,1fr);
    column-gap:.45rem
}
.check-list li::before{
    margin-right:0
}
.contact-card .button{
    margin-top:1.25rem;
    color:#fff;
    background:var(--n)
}
.contact-card .button:hover{
    background:#002e43
}
.contact-card .privacy-consent{
    display:flex;
    align-items:flex-start;
    gap:.65rem;
    margin:.25rem 0 1rem;
    font-weight:400;
    line-height:1.45
}
.contact-card .privacy-consent input{
    flex:0 0 auto;
    width:1.1rem;
    height:1.1rem;
    margin:.15rem 0 0
}
.form-trap{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap
}
.form-status{
    min-height:1.5em;
    margin:1rem 0 0;
    color:#b42318
}
.form-status.is-success{
    color:#086c4f
}
.contact-card.is-successfully-sent>:not(.form-status){
    display:none
}
.contact-card.is-successfully-sent .form-status{
    margin:0;
    font-size:1rem;
    font-weight:700
}
.contact-card .button:disabled{
    cursor:wait;
    opacity:.7
}
@media(max-width:40rem){
    .site-main>section[aria-labelledby="benefit-title"]{
        background-image:linear-gradient(145deg,#f4e2cf 0%,#f7f4ee 52%,#dcecea 100%)
    }
    .site-main h2{
        font-size:clamp(1.64rem,7vw,2.1rem)!important
    }
    #referenzen .content-photo{
        min-height:0;
        height:auto;
        object-fit:contain
    }
    #company-contact-dialog{
        width:calc(100% - 1rem);
        max-height:calc(100svh - 1rem)
    }
    #company-contact-dialog .dialog-content{
        padding:.75rem
    }
    #company-contact-dialog .contact-card{
        padding:0;
        background:transparent
    }
}
.team-dialog .team-detail>img{
    width:500px;
    max-width:100%;
    height:auto;
    max-height:none;
    object-fit:contain
}
.team-detail p:not(.role){
    text-wrap:pretty
}
#kontakt{
    min-height:calc(100svh - 3rem)
}
.visually-hidden{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}
.hamburger-icon{
    display:grid;
    gap:4px;
    width:1.1rem
}
.hamburger-icon i{
    display:block;
    height:2px;
    background:currentColor
}
.site-menu summary{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:3rem
}
.site-menu summary::after{
    display:none
}
.main-nav>.contact-nav-link{
    padding:.62rem 0;
    min-width:3.5rem;
    color:var(--n);
    background:transparent;
    text-decoration:underline;
    text-underline-offset:.2em
}
.hero-overlay{
    background:linear-gradient(110deg,#002f5ab8 3%,#003f5a9e 55%,#001c2a70)
}
.button-amber{
    background:#f7f4ee;
    color:var(--n)
}
.button-amber:hover{
    background:#e5f0ef
}
.scroll-top{
    position:fixed;
    right:1.25rem;
    bottom:1.25rem;
    z-index:20;
    display:grid;
    width:3rem;
    height:3rem;
    place-items:center;
    padding:0;
    color:#fff;
    font-size:1.5rem;
    line-height:1;
    background:var(--n);
    border:1px solid #fff;
    border-radius:0;
    box-shadow:0 .35rem 1rem #001c2a3d;
    cursor:pointer;
    opacity:0;
    pointer-events:none;
    transform:translateY(.75rem);
    transition:opacity .2s ease,transform .2s ease,background-color .2s ease
}
.scroll-top.is-visible{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0)
}
.scroll-top:hover{
    background:#002e43
}
.scroll-top:focus-visible{
    outline:3px solid var(--o);
    outline-offset:3px
}
.services-image{
    display:block;
    width:100%;
    height:auto;
    margin:0 0 clamp(1.5rem,4vw,3rem);
}
.process-image{
    display:block;
    width:100%;
    margin:0 0 clamp(1.5rem,4vw,3rem)
}
.section-illustration{
    display:block;
    width:100%;
    margin-top:20px!important;
    object-fit:cover
}
h1{
    font-size:clamp(2.205rem,5.32vw,4.69rem)
}
h2{
    font-size:clamp(1.68rem,3.5vw,3.15rem)!important
}
.site-menu summary{
    color:var(--n);
    background:transparent;
    border:1px solid var(--n)
}
.site-menu[open] summary{
    color:#fff;
    background:var(--n)
}
@media(min-width:56rem){
    .team-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:.5rem;
        justify-content:stretch
    }
    .team-card{
        width:100%;
        max-width:none;
        justify-self:stretch
    }
}
.quote{
    margin:0
}
#about-title{
    margin-bottom:1.5rem
}
.quote p{
    margin:0
}
.quote cite{
    display:block;
    margin-top:.75rem;
    text-align:right;
    color:#bde3e6;
    font:700 1.15rem/1.2 Inter,sans-serif;
    font-style:normal
}
.process-list li:nth-child(odd){
    background:#f8f5ed
}
.process-list li:nth-child(even){
    background:#e7f0ed
}
h1{
    font-size:clamp(1.654rem,3.99vw,3.518rem)
}
h2{
    font-size:clamp(1.26rem,2.625vw,2.363rem)!important
}
@keyframes dialog-window-in{
    from{
        transform:translateY(100svh)
    }
    to{
        transform:translateY(0)
    }
}
@keyframes dialog-window-out{
    from{
        transform:translateY(0)
    }
    to{
        transform:translateY(100svh)
    }
}
.legal-dialog[open]{
    animation:dialog-window-in .65s cubic-bezier(.22,.75,.26,1)
}
.legal-dialog.is-closing{
    animation:dialog-window-out .55s cubic-bezier(.55,0,.78,.2) forwards
}
.legal-dialog[open] .dialog-content,.legal-dialog.is-closing .dialog-content,.legal-dialog::backdrop{
    animation:none
}
@media(prefers-reduced-motion:reduce){
    .legal-dialog[open],.legal-dialog.is-closing{
        animation:none
    }
    .scroll-top{
        transition:none
    }
}
