.kraft-block { position: relative; z-index: 1; 
    .kraft-block__bg-video { pointer-events: none; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; z-index: -2; overflow: hidden;
        video { width: 100%; height: 100%; object-fit: cover; } 
    }
    &:has(.kraft-block__bg-video) { min-height: 95vh!important; 
        &::before { background: linear-gradient(to bottom, rgba(var(--clr-dark-rgb), 1) 0%, rgba(var(--clr-dark-rgb), .6) 20%, rgba(var(--clr-dark-rgb), .6) 80%, rgba(var(--clr-dark-rgb), 1) 100%)!important; }
    }
    
    .kraft-block__bg-image { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; z-index: -2; 
        img { width: 100%; height: 100%; object-fit: cover; }
    }
}
.kraft-block .kraft-block__header { margin-bottom: 2.4rem; }

.kraft-block .kraft-block__bg-assets { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; z-index: -1; overflow: clip; }
.kraft-block .kraft-block__bg-assets .kraft-icon.kraft-icon--wheel { --w: 50rem; --h: 50rem; position: absolute; opacity: .075; }
.kraft-block .kraft-block__bg-assets .kraft-icon.kraft-icon--wheel.--1 { top: 50%; left: 0; transform: translate(-50%, -35%); }
.kraft-block .kraft-block__bg-assets .kraft-icon.kraft-icon--wheel.--2 { right: 0; top: 0; transform: translate(50%, -50%); }


@media (min-width: 992px) {
    .kraft-block .kraft-block__bg-assets .kraft-icon.kraft-icon--wheel { --w: 75rem; --h: 75rem; }
}

@media (min-width: 1200px) {
    .kraft-block .kraft-block__header { margin-bottom: 4.8rem; }
}

@media (min-width: 1400px) {
    .kraft-block .kraft-block__header { margin-bottom: 6.4rem; }
}

/*** ----- Block: Services ----- ***/
.kraft-block--services .kraft-block__body .col { opacity: 0; transform: translateY(6.4rem); transition-property: opacity, transform; transition-duration: 750ms; transition-timing-function: ease; transition-delay: var(--ts-delay, 0); }
.kraft-block--services.in .kraft-block__body .col { opacity: 1; transform: translateY(0); }

@media (min-width: 768px) {
    .kraft-block--services .contact-link { margin-left: auto; }
}

/*** ----- Block: Team ----- ***/
.kraft-block--team .kraft-block__header, 
.kraft-block--team .kraft-block__body .col { opacity: 0; transform: translateY(6.4rem); transition-property: opacity, transform; transition-duration: 750ms; transition-timing-function: ease; transition-delay: var(--ts-delay, 0); }
.kraft-block--team.in .kraft-block__header,
.kraft-block--team.in .kraft-block__body .col { opacity: 1; transform: translateY(0); }

/*** ----- Block: Partners ----- ***/
.kraft-block--partners .kraft-block__header, 
.kraft-block--partners .kraft-block__body .col { opacity: 0; transform: translateY(6.4rem); transition-property: opacity, transform; transition-duration: 750ms; transition-timing-function: ease; transition-delay: var(--ts-delay, 0); }
.kraft-block--partners.in .kraft-block__header,
.kraft-block--partners.in .kraft-block__body .col { opacity: 1; transform: translateY(0); }

/*** ----- Block: Media  ----- ***/
.kraft-block--media figure img { transition: transform var(--ts-duration) var(--ts-function); }
.kraft-block--media figure:hover img { transform: scale(1.1); }

/*** ----- Block: Projects ----- ***/
@media (min-width: 1200px) {
    .kraft-block--projects .card--project .card__body { min-height: 35rem; }
}

/*** ----- Block: Contact ----- ***/
.kraft-block--contact h2 { font-size: clamp(2.4rem, 1vw + 3rem, 2.8rem); }
.kraft-block--contact .container > .row { background: rgba(255,255,255,.05); padding: 2.4rem 0; margin: 0; align-items: center; }
.kraft-block--contact .bg--pattern::after { display: none; }
.kraft-block--contact .bg--pattern > .kraft-icon.kraft-icon--bg-pattern { --clr: rgba(255, 255, 255, .05); }
.kraft-block--contact .bg--pattern > .kraft-icon.kraft-icon--bg-pattern::after { -webkit-mask-position: center; mask-position: center; }
.kraft-block--contact .contact-link { max-width: 100%; margin-bottom: 2rem; }
.kraft-block--contact .btn.btn--link-icon:not(:hover) i { background-color: var(--clr-dark); }

@media (min-width: 768px) {
    .kraft-block--contact .container > .row { padding: 4.8rem 2.4rem; }
}

@media (min-width: 992px) {
    .kraft-block--contact .container > .row { padding: 6.4rem 2.4rem; }
}

/*** ----- Block: Text ----- ***/
.kraft-block--text .text { opacity: 0; transform: translateY(6.4rem); transition-property: opacity, transform; transition-duration: 750ms; transition-timing-function: ease; transition-delay: var(--ts-delay, 0); }
.kraft-block--text.in .text { opacity: 1; transform: translateY(0); }

.kraft-block--text.kraft-block--text--secondary { justify-content: end!important; }
.kraft-block--text.kraft-block--text--secondary .text { max-width: 58rem; padding: 2rem; backdrop-filter: blur(1rem); background: rgba(var(--clr-dark-130-rgb), .2) }
.kraft-block--text.kraft-block--text--secondary.has-bg-image::before { background: linear-gradient(to bottom, rgba(var(--clr-dark-rgb), 1) 0%, rgba(var(--clr-dark-rgb), .1) 50%, rgba(var(--clr-dark-rgb), 1) 100%); }

.kraft-block--text.has-bg-image:has(.kraft-block__bg-video) { justify-content: end!important; }

@media (max-width: 480px) {
    .kraft-block--text.kraft-block--text--secondary { margin-bottom: 6.4rem; }
    .kraft-block--text.kraft-block--text--secondary .text { transform: translateY(6.4rem); }
}

@media (min-width: 992px) {
    .kraft-block--text.kraft-block--text--secondary .text { padding: 3.2rem; }
}

/*** ----- Block: Text media ----- ***/
.kraft-block--text-media {  opacity: 0; transform: translateY(6.4rem); transition-property: opacity, transform; transition-duration: 750ms; transition-timing-function: ease; transition-delay: var(--ts-delay, 0); }
.kraft-block--text-media.in { opacity: 1; transform: translateY(0); }
.kraft-block--text-media .kraft-block__inner { border-radius: .35rem; overflow: clip; }
.kraft-block--text-media .kraft-block__inner:is(.bg--dark, .bg--light) .text { padding: 2.4rem 2rem; }
.kraft-block--text-media .kraft-block__inner:is(.bg--dark, .bg--light) .row { align-items: stretch; margin-inline: 0; }
.kraft-block--text-media .kraft-block__inner:is(.bg--dark, .bg--light) .row .col { padding: 0; }
.kraft-block--text-media .kraft-block__inner:is(.bg--dark, .bg--light) .col--text { align-self: center; }
.kraft-block--text-media .kraft-block__inner:is(.bg--dark, .bg--light) figure { height: 100%; }
.kraft-block--text-media .kraft-block__inner:is(.bg--dark, .bg--light) figure img { height: 100%; object-fit: cover; }

@media (min-width: 768px) {
    .kraft-block--text-media .kraft-block__inner:is(.bg--dark, .bg--light) .text { padding: 3.2rem; }
}

@media (min-width: 992px) {
    .kraft-block--text-media .kraft-block__inner:is(.bg--dark, .bg--light) .text { padding: 4.8rem; }
}

@media (min-width: 1200px) {
    .kraft-block--text-media .kraft-block__inner:is(.bg--dark, .bg--light) .text { padding: 6.4rem; }
}

/*** ----- Block: categories ----- ***/
.kraft-categories { display: flex; flex-wrap: wrap; flex-direction: column; }
.kraft-categories a { justify-content: space-between; }

@media (min-width: 768px) {
    .kraft-categories.kraft-categories--inline { flex-direction: row; gap: 2rem; }
    .kraft-categories.kraft-categories--inline a { border-radius: .35rem; padding: 1.4rem 2rem; }
}

/*** ----- Block: products ----- ***/
.kraft-block--products { overflow: hidden; }
.kraft-block--products .blaze-slider .blaze-track-container { overflow: visible; }

/*** ----- Block: Logos ----- ***/
.kraft-block--logos figure { display: grid; place-items: center; border: 1px solid var(--clr-border); padding: 2rem; border-radius: .35rem; }
.kraft-block--logos figure img { width: 100%; height: auto; }

/*** ----- Block: Text & shortcode ----- ***/
.kraft-block--text-shortcode .card--shortcode.bg--attern :is(input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea) { color: #fff; }