:root {
    --brandColor1: #5875ff;
    --brandColor2: #A685DF;
    --brandColor3: #c300ff;

    --pageBackground: #0b0b0f;
    --contentMaxWidth: 1500px;
    --contentPadding: 40px;

    --drawStrokeWidth: 3;
    --drawDurationMs: 2200; /* Draw Dauer */
    --drawEasing: cubic-bezier(.2, .8, .2, 1);

    --drawGlowEnabled: 1; /* 1=an, 0=aus */
    --drawGlowRadiusPx: 18; /* Glow Radius */
    --drawGlowOpacity: 0.45; /* Glow Opacity */

    --whiteFadeDurationMs: 2800; /* AUFATMEN langsamer */
    --whiteFadeEasing: cubic-bezier(.2, .8, .2, 1);

    --svgStartOpacity: 1; /* 1 = direkt sichtbar */
    --svgStartFadeMs: 0;


}
.banner-heading-wrapper {
    width: 100%;
}
/*HERO*/
.wrap{
    width:min(var(--contentMaxWidth), 90vw);
    padding:var(--contentPadding);
}
svg[data-brand-anim="breathe-gradient"] path{
    opacity:0;
}

#brandSvg{
    width:100%;
    height:auto;
    display:block;
    max-height:75vh;
}

@media (prefers-reduced-motion: reduce){
    :root{
        --drawDurationMs:0;
        --whiteFadeDurationMs:0;
        --svgStartFadeMs:0;
    }
}
.banner-heading-block{
    position:relative;
    width:100%;
    height:100vh;
    min-height:32rem;
    overflow:hidden;
}

.banner-bg{
    position:absolute;
    inset:0;
    background-image:url("../img/hero_background.png");
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
    z-index:1;
}

.banner-icon{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    width: clamp(250px, 40vw, 700px);
    height: clamp(250px, 40vw, 640px);
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    opacity:0.4;
    z-index:0;
    pointer-events:none;
}


.banner-text{
    position:absolute;
    left:0;
    right:0;
    bottom:16rem;
    text-align:center;
    white-space:nowrap;
    line-height:1.05;
    margin:0;
    padding:0 1rem;
    transform:none;
    z-index:3;
    font-size:6.5rem;
    font-weight:600;
    letter-spacing:0.08em;
    color:#fff;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:geometricPrecision;
}

@media (max-width:768px){
    .banner-icon{
        background-size:20%;
    }
    .banner-text{
        font-size:2.6rem;
        letter-spacing:0.06em;
        bottom:20rem;
    }
}

@media (max-width:480px){
    .banner-icon{
        bottom: 26rem;
    }
    .banner-text{
        font-size:1.9rem;
        letter-spacing:0.04em;
        bottom: 30rem;
    }
}


/* FOOTER*/
.footer-bottom-new{
    display:grid;
    grid-template-columns: 1fr auto 1fr;
    gap:4rem;
    align-items:start;
}

.footer-title{
    font-size:1.6rem;
    font-weight:600;
    margin-bottom:1.2rem;
}

.footer-links-2col{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:3rem;
}

.footer-links-col{
    display:flex;
    flex-direction:column;
    gap:1rem;
}

.footer-social{
    display:flex;
    justify-content:center;
    align-items:center;
    padding-top:4.2rem;
}

.footer-social-row{
    display:flex;
    gap:1rem;
}

.footer-social-btn{
    width:38px;
    height:38px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.10);
}

.footer-social-btn img{
    width:16px;
    height:16px;
    display:block;
}

.footer-bottom-bar{
    margin-top:4rem;
    padding-top:1.8rem;
    border-top:3px solid rgba(255,255,255,.10);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:2rem;
}

.footer-copy{
    opacity:.7;
    font-size:.95rem;
}

.footer-legal{
    align-items:center;
    gap:.9rem;
    opacity:.7;
    font-size:.95rem;
}

.footer-legal-link{
    color:inherit;
    text-decoration:none;
}

.footer-dot{
    opacity:.5;
}

@media (max-width: 992px){
    .footer-bottom-new{
        grid-template-columns:1fr;
        gap:2.5rem;
    }
    .footer-social{
        justify-content:flex-start;
        padding-top:0;
    }
    .footer-bottom-bar{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media (max-width: 480px){
    .footer-links-2col{
        grid-template-columns:1fr;
        gap:1.6rem;
    }
}



.footer-hero{
    position:relative;
    width:100%;
    height:70vh;
    min-height:32rem;
    overflow:visible;
    background:#000;
}

.footer-hero-image{
    position:absolute;
    inset:0;
    width:auto;
    height:100%;
    right: 0;
    object-fit:cover;
    object-position:center;
    z-index:1;
}

.footer-hero-logo{
    position:absolute;
    inset:0;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:2;
    pointer-events:none;
}


.bg-blur-block-footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2vh;
    height: 40vh;
    z-index: 5;
    pointer-events: none;


}


.footer-hero-word{
    width:min(1100px, 80vw);
    height:auto;
    display:block;
}

@media (max-width:768px){
    .footer-hero{
        height:55vh;
        min-height:26rem;
    }
    .footer-hero-logo{
        bottom:2.6rem;
    }
    .footer-hero-word{
        width:88vw;
    }
}


/* LEGAL */
.download-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:2.4rem;
    justify-items:center;
    align-items:center;
}

.download-card{
    width:100%;
    max-width:340px;
    justify-content:center;
    text-decoration:none;
}

.download-icon{
    display:flex;
    align-items:center;
    justify-content:center;
}

.download-icon img{
    width:20px;
    height:20px;
    display:block;
}

.download-text{
    font-size:1rem;
    font-weight:500;
    white-space:nowrap;
}

@media (max-width:768px){
    .download-grid{
        grid-template-columns:1fr;
        gap:1.6rem;
    }
    .download-card{
        max-width:100%;
    }
}


@keyframes slideUpFade {
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-slide-up {
    opacity: 0;
    animation: slideUpFade 1s ease-out forwards;
    animation-delay: 2s;
}


/* KONTAKT */
.contact-section .contact-block { display:none; }

.nax-wizard-card{
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    border: 4px solid rgba(255,255,255,.95);
    border-radius: 34px;
    padding: 44px 52px 34px;
    background: rgba(0,0,0,.2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 10px 40px rgba(0,0,0,.35);
    position: relative;
    min-height: 720px !important;
}

.nax-wizard-head{ margin-bottom: 34px; }

.nax-wizard-title{
    letter-spacing: .02em;
    font-size: 42px;
    line-height: 1.05;
    text-transform: uppercase;
    color: #fff;
}

.nax-wizard-sub{
    margin-top: 10px;
    font-size: 18px;
    opacity: .55;
    color: #fff;
}

.nax-step{
    min-height: 420px;
    display:flex;
    align-items:center;
    justify-content:center;
    width: 100%;
}

.nax-options,
.nax-fields{
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
}

.nax-options{
    display: grid;
    gap: 26px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    justify-items: center;

}

.nax-option{
    width: 100%;
    max-width: 210px;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    display:flex;
    flex-direction: column;
    align-items:center;
    justify-content:center;
    gap: 14px;
    padding: 10px 8px;
    text-align: center;
}

.nax-ico{
    width: 86px;
    height: 86px;
    border-radius: 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background: rgba(255,255,255,.92);
    box-shadow: 0 10px 26px rgba(0,0,0,.25);
    overflow: hidden;
}

.nax-ico img{
    width: 64px;
    height: 64px;
    object-fit: contain;
    display:block;
    filter: invert(1);
}

.nax-label{
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 1.25;
    text-align:center;
    opacity: .95;
    min-height: 48px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.nax-option.is-selected .nax-ico{
    outline: 3px solid rgba(255,255,255,.95);
    box-shadow: 0 14px 34px rgba(0,0,0,.35);
    transform: translateY(-2px);
}

.nax-wizard-footer{
    margin-top: 26px;
    display:flex;
    align-items:center;
    justify-content: space-between;
}

.nax-nav{
    border: 0;
    cursor: pointer;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.nax-back{
    width: 100px;
    height: 64px;
    border-radius: 999px;
    background: rgba(255,255,255,.95);
    color:#000;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow: 0 10px 26px rgba(0,0,0,.25);
}

.nax-back:disabled{
    opacity: .35;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

.nax-next{
    display:none;
}

.nax-nav-ico{ font-size: 18px; }

.nax-fields{
    display:flex;
    flex-direction: column;
    gap: 22px;
}

.nax-row{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.nax-field{
    display:flex;
    flex-direction: column;
    gap: 8px;
}

.nax-field span{
    color:#fff;
    opacity:.8;
    font-size: 14px;
}

.nax-field input,
.nax-field textarea{
    width: 100%;
    border: 0;
    outline: none;
    border-radius: 20px;
    padding: 18px 18px;
    background: rgba(0,0,0,.35);
    color: #fff;
    font-size: 16px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

.nax-field textarea{
    min-height: 110px;
    resize: vertical;
}

.nax-privacy{
    display:flex;
    gap: 10px;
    align-items:flex-start;
    color:#fff;
    opacity:.9;
    font-size: 14px;
}

.nax-privacy a{ color:#fff; text-decoration: underline; }

#naxWizardStep{
    position: relative;
    will-change: transform, opacity;
}

.nax-step-exit{ animation: naxExit .18s ease-in forwards; }
.nax-step-enter{ animation: naxEnter .22s ease-out forwards; }

.nax-options.is-multi .nax-option.is-selected .nax-ico{
    outline: 3px solid var(--brandColor1);
}
.nax-options.is-multi .nax-option.is-selected{
    transform: translateY(-2px);
}


@keyframes naxExit{
    from { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
    to   { opacity: 0; transform: translateY(-10px) scale(.99); filter: blur(2px); }
}
@keyframes naxEnter{
    from { opacity: 0; transform: translateY(14px) scale(.99); filter: blur(2px); }
    to   { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@media (max-width: 1100px){
    .nax-wizard-card{ padding: 34px 26px 26px; }
    .nax-wizard-title{ font-size: 34px; }
    .nax-step{ min-height: 520px; }

    .nax-options{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .nax-option{ max-width: 260px; }
}

@media (max-width: 560px){
    .nax-step{ min-height: 580px; }
    .nax-row{ grid-template-columns: 1fr; }

    .nax-options{
        grid-template-columns: 1fr;
    }
    .nax-option{ max-width: none; }
}


.banner-heading-wrapper .hero-logo {
    opacity: 1;
    visibility: visible;
}

.banner-heading-wrapper .footer-hero-logo-top {
    opacity: 0;
    visibility: hidden;
    position: absolute;
}

.banner-heading-wrapper .banner-text {

    visibility: visible;
}



@media (max-width:768px){

    .banner-heading-wrapper .hero-logo {
        opacity: 0;
        visibility: hidden;
    }

    .banner-heading-wrapper .footer-hero-logo-top {
        opacity: 1;
        visibility: visible;
    }

    .banner-heading-wrapper .banner-text {
        opacity: 0;
        visibility: hidden;
    }
}
@media (max-width:768px){

    .banner-heading-wrapper .banner-icon{
        width: 92vw;
        height: auto;
        max-width: none;
    }

}
body{
    overflow-x: hidden !important;
}


/* FONT GLOBAL*/
html, body {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

code, pre, .w-richtext code, .w-richtext pre {
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
}
