@charset "UTF-8";
@import url(../css/bootstrap.css);
@import url(../css/font-awesome.min.css);
@import url(../css/material-design-iconic-font.min.css);
body,
p {
    line-height: 1.6
}

a.cta-link,
body {
    font-family: var(--font-body)
}

.contact-form .input__label,
body {
    -webkit-font-smoothing: antialiased
}

@font-face {
    font-family: Inter-Regular;
    src: url("../fonts/Inter18pt-Regular.woff2") format("woff2"), url("../fonts/Inter18pt-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Inter-Medium;
    src: url("../fonts/Inter18pt-Medium.woff2") format("woff2"), url("../fonts/Inter18pt-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Archivo;
    src: url("../fonts/Archivo-Medium.woff2") format("woff2"), url("../fonts/Archivo-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

:root {
    --default-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei UI", "Microsoft Yahei", "Source Han Sans CN", sans-serif;
    --font-body: "Inter-Regular", var(--default-font-family);
    --font-body-strong: "Inter-Medium", var(--default-font-family);
    --font-heading: "Archivo", var(--default-font-family);
    --size: 15px;
    --radius: clamp(0.778rem, calc(0.711rem + 0.375vw), 1.111rem);
    --z-index-negative: -10;
    --z-index-behind: -2;
    --z-index-default: 0;
    --z-index-above: 2;
    --z-index-dropdown: 100;
    --z-index-modal: 1000
}

.radius-default,
.split-media,
a.skip-link {
    border-radius: var(--radius)
}

.fa-input {
    font-family: FontAwesome, open_sansregular, Helvetica, Arial, sans-serif
}

html {
    font-size: clamp(14px, .6vw + 12px, 18px);
    scroll-behavior: smooth
}

body {
    font-size: 1rem;
    text-rendering: optimizeLegibility;
    color: #030f0f;
    background-color: #fff
}

b,
strong {
    font-family: var(--font-body-strong);
    font-weight: 500
}

:is(h1,
h2,
h3,
h4,
h5,
h6) {
    font-family: var(--font-heading);
    font-weight: 500
}

:is(h1,
h2,
h3,
h4) {
    line-height: 1.2;
    font-weight: 400;
    margin: 0;
    padding: 0
}

p {
    text-wrap: pretty
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0
}

a:is(:link,
:visited) {
    color: #030f0f;
    text-decoration: none;
    border-bottom: 1px solid;
    transition: color .2s ease-in-out, border-bottom-color .2s ease-in-out
}

a:hover {
    color: #54c2b7;
    border-bottom-color: transparent
}

:is(a,
button,
[role=button]):focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 4px
}

.content,
.services-section a.services-card .services-card__media {
    position: relative;
    overflow: hidden
}

.container-fluid-custom {
    max-inline-size: 1440px;
    padding-inline: 0
}

@media screen and (max-width:1920px) {
    .container-fluid-custom {
        padding-inline: max(1rem, 8%);
        max-inline-size: none
    }
}

.section-anchor {
    scroll-margin-top: clamp(4.5rem, 6vh, 6.5rem)
}

a.skip-link {
    position: absolute;
    inset-block-start: -60px;
    inset-inline-start: 50%;
    background: #54c2b7;
    color: #fff;
    padding: .5rem 1rem;
    z-index: 1000;
    text-decoration: none;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    transition: inset-block-start .3s
}

a.skip-link:focus {
    inset-block-start: 30px
}

.box_padding_vertical {
    padding-block: calc(var(--size) * 7.33)
}

.img-object-cover {
    object-fit: cover
}

.isolation {
    isolation: isolate
}

.pos-relative-mobile {
    position: absolute
}

.row-gutters-lg {
    --gutter-lg: clamp(1rem, calc(0.533rem + 2.625vw), 3.333rem);
    margin-inline: calc(-1 * var(--gutter-lg))
}

.row-gutters-lg>[class*=" col-"],
.row-gutters-lg>[class^=col-] {
    padding-inline: var(--gutter-lg)
}

.row-gutters-sm {
    --gutter-sm: clamp(0.444rem, calc(0.367rem + 0.438vw), 0.833rem);
    margin-inline: calc(-1 * var(--gutter-sm))
}

.row-gutters-sm>[class*=" col-"],
.row-gutters-sm>[class^=col-] {
    padding-inline: var(--gutter-sm)
}

.section-bg__light {
    background-color: #f1f7f7
}

.section-bg__dark {
    background-color: #021a1a
}

.section-bg__custom {
    background-color: #2cc295
}

.split-media {
    position: absolute;
    inset-block: 0;
    inline-size: calc(50% - 1rem);
    block-size: 100%;
    overflow: hidden
}

.hero-section .slider-section,
.title-box,
.title-box>* {
    position: relative
}

.split-media__left {
    inset-inline-start: 1rem
}

.split-media__right {
    inset-inline-end: 1rem
}

.text-white .title-box {
    color: #fff
}

.title-box>* {
    font-family: var(--font-heading);
    text-wrap: balance;
    line-height: 1.2em
}

.title-box :is(h1,
h2) {
    font-size: clamp(2rem, calc(1.733rem + 1.5vw), 3.333rem)
}

.title-box small {
    font-size: inherit;
    color: inherit
}

.subtitle-with-line p {
    --subtitle-line-gap: 1.5rem;
    --subtitle-line-length: 100vw;
    display: inline-block;
    position: relative;
    font-size: clamp(.83rem, calc(.8rem + .1vw), .9rem);
    text-transform: uppercase;
    margin: 0
}

.contact-form__submit,
a.cta-link {
    align-items: center;
    border-radius: 999rem;
    font-size: 1rem;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    text-decoration: none
}

.subtitle-with-line p::after {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: calc(100% + var(--subtitle-line-gap));
    inline-size: var(--subtitle-line-length);
    block-size: 1px;
    background-color: #030f0f;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.animated,
.hero-section .slider-wrapper .owl-carousel .animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 40px, 0);
        transform: translate3d(0, 40px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 40px, 0);
        transform: translate3d(0, 40px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

@-webkit-keyframes zoomInCustom {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }
    100% {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

@keyframes zoomInCustom {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9)
    }
    100% {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1)
    }
}

.zoomInCustom {
    -webkit-animation-name: zoomInCustom;
    animation-name: zoomInCustom;
    -webkit-animation-duration: 1.2s;
    animation-duration: 1.2s;
    -webkit-animation-timing-function: cubic-bezier(.65, 0, .35, 1);
    animation-timing-function: cubic-bezier(.65, 0, .35, 1);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

@media screen and (max-width:1366px) {
    .box_padding_vertical {
        padding-block: calc(var(--size) * 5.66)
    }
}

@media screen and (max-width:1200px) {
    .box_padding_vertical {
        padding-block: calc(var(--size) * 4)
    }
}

@media (prefers-reduced-motion:reduce) {
    * {
        animation: none !important;
        transition: none !important
    }
}

a.cta-link {
    --cta-padding-block: clamp(0.667rem, calc(0.622rem + 0.25vw), 0.889rem);
    --cta-padding-inline: clamp(1.111rem, calc(1rem + 0.625vw), 1.667rem);
    --cta-bg: transparent;
    --cta-hover-bg: transparent;
    --cta-color: #030f0f;
    --cta-hover-color: #030f0f;
    display: inline-flex;
    justify-content: center;
    min-inline-size: clamp(8.889rem, calc(8rem + 5vw), 13.333rem);
    text-align: center;
    padding-block: var(--cta-padding-block);
    padding-inline: var(--cta-padding-inline);
    border-bottom: 0;
    color: var(--cta-color);
    background-color: var(--cta-bg);
    outline: 0;
    transition: color .3s ease-out, background-color .3s ease-out
}

a.cta-link::before {
    content: "";
    position: absolute;
    inset: -20%;
    background-color: var(--cta-hover-bg);
    border-radius: inherit;
    z-index: var(--z-index-behind);
    opacity: 0;
    -webkit-transform: scale(.2);
    transform: scale(.2);
    -webkit-transform-origin: center;
    transform-origin: center;
    transition: -webkit-transform 1.2s cubic-bezier(.2, .7, .2, 1), transform 1.2s cubic-bezier(.2, .7, .2, 1), opacity .3s ease-out
}

a.cta-link:hover::before {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
}

a.cta-link:focus-visible,
a.cta-link:hover {
    color: var(--cta-hover-color)
}

a.cta-link:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 4px
}

a.cta-link.cta-link__dark {
    --cta-bg: #54c2b7;
    --cta-hover-bg: #021a1a;
    --cta-color: #fff;
    --cta-hover-color: #fff;
}

.formular_button {
    --cta-bg: #54c2b7 !important;
    background-color: #54c2b7 !important;
    --cta-hover-bg: #021a1a !important;
    --cta-color: #fff !important;
    --cta-hover-color: #fff !important;
}

.formular_button:hover {
    color: #fff !important;
    background-color: #021a1a !important;
}

a.cta-link.cta-link__light {
    --cta-bg: #54c2b7;
    --cta-hover-bg: #fff;
    --cta-color: #fff;
    --cta-hover-color: #030f0f;
}

a.cta-link.cta-link__muted {
    /* --cta-bg: rgba(255, 255, 255, 0.25); */
    --cta-bg: #613892;
    --cta-hover-bg: #fff;
    --cta-color: #fff;
    --cta-hover-color: #030f0f;
}

a.cta-link.cta-link__muted.pulse {
    /* --cta-bg: rgba(255, 255, 255, 0.25); */
    --cta-bg: #613892;
    --cta-hover-bg: #fff;
    --cta-color: #fff;
    --cta-hover-color: #030f0f;
    animation: cta-pulse-scale 1.2s infinite ease-in-out;
}

@keyframes cta-pulse-scale {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(97, 56, 146, 0.7);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 0 0 10px rgba(97, 56, 146, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(97, 56, 146, 0);
    }
}

.contact-form {
    margin: 0
}

.contact-form__fields {
    display: block;
    margin-block-end: 1.75rem
}

.contact-form__consent {
    margin-block-end: 2rem
}

.contact-form__submit {
    display: inline-flex;
    justify-content: center;
    padding-block: clamp(0.75rem, 0.9vw, 1rem);
    padding-inline: clamp(1.75rem, calc(1.4rem + 2.188vw), 3.5rem);
    border: 0;
    background-color: #54c2b7;
    color: #fff;
    text-transform: uppercase;
    cursor: pointer;
    -webkit-transition: background-color 280ms, color 280ms;
    transition: background-color 280ms, color 280ms
}

.contact-form__submit:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 3px
}

.contact-form__submit:focus-visible,
.contact-form__submit:hover {
    background-color: #021a1a;
    color: #fff
}

.contact-form .form-check {
    display: flex;
    align-items: center;
    font-size: .83rem;
    padding-inline-start: 0
}

.contact-form .form-check-input {
    flex: none;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    background-color: #fff;
    border: 1px solid #030f0f;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    outline: 0;
    cursor: pointer;
    margin: 0;
    margin-inline-end: .5rem;
    position: relative
}

.contact-form .form-check-input:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 2px
}

.contact-form .form-check-input:checked {
    background-color: #021a1a;
    border-color: #021a1a
}

.contact-form .form-check-input:checked::after {
    content: "✓";
    color: #fff;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    -webkit-transform: translate(-50%, -55%);
    transform: translate(-50%, -55%);
    font-size: .8rem
}

.contact-form .form-check-label {
    padding-inline-start: .25rem;
    margin: 0;
    color: rgba(3, 15, 15, .8)
}

.contact-form input:-webkit-autofill,
.contact-form input:-webkit-autofill:focus,
.contact-form input:-webkit-autofill:hover,
.contact-form textarea:-webkit-autofill,
.contact-form textarea:-webkit-autofill:focus,
.contact-form textarea:-webkit-autofill:hover {
    -webkit-transition: color 9999s ease-out, background-color 9999s ease-out
}

.contact-form .input {
    position: relative;
    z-index: 1;
    display: block;
    margin: 0 0 1.25rem;
    max-inline-size: 100%;
    inline-size: 100%
}

.contact-form .input__field {
    position: relative;
    display: block;
    inline-size: 100%;
    border: 0;
    border-radius: 0;
    background: 0 0;
    color: #030f0f;
    -webkit-appearance: none;
    appearance: none
}

.contact-form .input__field:focus,
.language-picker select:focus {
    outline: 0
}

.contact-form .input__label {
    display: inline-block;
    inline-size: 100%;
    padding: 0;
    color: rgba(3, 15, 15, .7);
    font-size: 1rem;
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    user-select: none
}

.contact-form .input__label-content {
    position: relative;
    display: block;
    inline-size: 100%
}

.contact-form .input--fumi {
    inline-size: 100%;
    background: 0 0;
    overflow: hidden;
    padding: 0 0 .4rem;
    border: 0;
    border-bottom: 1.5px solid rgba(3, 15, 15, .3);
    border-radius: 0
}

.contact-form .input__field--fumi {
    background: 0 0;
    padding: 1.6em 0 .4em;
    color: #030f0f
}

.contact-form .input__label--fumi {
    position: absolute;
    inset: 0;
    text-align: left;
    padding-inline-start: 0;
    pointer-events: none
}

.contact-form .input__label-content--fumi {
    padding-block: 1.1em;
    display: inline-block;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
}

.contact-form .input--filled .input__label-content--fumi,
.contact-form .input__field--fumi:focus+.input__label--fumi .input__label-content--fumi,
.contact-form .input__field--fumi:not(:placeholder-shown)+.input__label--fumi .input__label-content--fumi {
    -webkit-animation: .3s forwards anim-fumi-1;
    animation: .3s forwards anim-fumi-1
}

@-webkit-keyframes anim-fumi-1 {
    50% {
        -webkit-transform: translate3d(0, 3em, 0);
        transform: translate3d(0, 3em, 0)
    }
    51% {
        -webkit-transform: translate3d(0, -3em, 0) scale3d(.85, .85, 1);
        transform: translate3d(0, -3em, 0) scale3d(.85, .85, 1)
    }
    100% {
        color: #54c2b7;
        -webkit-transform: translate3d(0, -.9em, 0) scale3d(.85, .85, 1);
        transform: translate3d(0, -.9em, 0) scale3d(.85, .85, 1)
    }
}

@keyframes anim-fumi-1 {
    50% {
        -webkit-transform: translate3d(0, 3em, 0);
        transform: translate3d(0, 3em, 0)
    }
    51% {
        -webkit-transform: translate3d(0, -3em, 0) scale3d(.85, .85, 1);
        transform: translate3d(0, -3em, 0) scale3d(.85, .85, 1)
    }
    100% {
        color: #54c2b7;
        -webkit-transform: translate3d(0, -.9em, 0) scale3d(.85, .85, 1);
        transform: translate3d(0, -.9em, 0) scale3d(.85, .85, 1)
    }
}

.header {
    --ml-size: clamp(8.333rem, calc(6.667rem + 9.375vw), 16.667rem);
    --nav-fs: clamp(0.778rem, calc(0.733rem + 0.25vw), 1rem);
    --b-size: clamp(1.222rem, calc(1.133rem + 0.5vw), 1.667rem);
    --radius-dm: .3em;
    position: relative;
    inset-inline-start: 0;
    inset-block-start: 0;
    inline-size: 100%;
    padding-block: clamp(0.833rem, calc(0.556rem + 1.562vw), 2.222rem);
    z-index: var(--z-index-modal);
    background-color: #fff;
    will-change: transform
}

.header.scroll {
    position: fixed;
    background-color: #fff;
    padding-block: 1rem;
    -webkit-box-shadow: 0 12px 6px -6px rgba(0, 0, 0, .05);
    box-shadow: 0 12px 6px -6px rgba(0, 0, 0, .05);
    -webkit-animation: .4s linear animateNav;
    animation: .4s linear animateNav
}

@-webkit-keyframes animateNav {
    0% {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes animateNav {
    0% {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.header-bar {
    row-gap: 1rem
}

.main-logo {
    z-index: var(--z-index-dropdown)
}

.main-logo img {
    inline-size: var(--ml-size);
    block-size: auto
}

.main-logo.scroll img {
    inline-size: calc(var(--ml-size)/ 2)
}

.mainNavigation {
    padding: 0
}

.mainNavigation .navbar-nav {
    margin: 0;
    gap: clamp(.556rem, calc(.333rem + 1.25vw), 1.667rem)
}

.mainNavigation .nav-item.header-cta__nav-item {
    margin-block-start: .75rem
}

.mainNavigation .nav-link {
    position: relative;
    font-size: var(--nav-fs);
    color: #030f0f !important;
    line-height: clamp(1.875rem, calc(1.5rem + 1vw), 2.5rem);
    padding: 0 !important;
    border-block-end: 0;
    text-transform: none
}

.mainNavigation .nav-link span {
    position: relative;
    display: inline-block
}

.mainNavigation .nav-link span::after {
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 50%;
    content: "";
    inline-size: 0;
    block-size: .111rem;
    background-color: #54c2b7;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0;
    -webkit-transition: inline-size .3s linear, opacity .3s linear;
    transition: inline-size .3s linear, opacity .3s linear
}

.mainNavigation .nav-link:focus-visible span::after,
.mainNavigation .nav-link:hover span::after {
    inline-size: 100%;
    opacity: 1
}

.mainNavigation .nav-link:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 3px
}

.mainNavigation .navbar-toggler {
    border: 0;
    padding: 0
}

.mainNavigation .navbar-toggler:focus {
    outline: 0;
    box-shadow: none
}

.header-actions__wrapper {
    column-gap: 1.5rem
}

.language-selector {
    margin-inline-start: clamp(1.25rem, 2.8vw, 2.5rem);
    gap: .5rem
}

.language-picker {
    display: flex;
    align-items: center;
    position: relative
}

.language-picker-wrapper {
    position: relative;
    display: flex;
    align-items: center
}

.language-picker-wrapper i {
    position: absolute;
    inset-inline-end: 0;
    font-size: var(--nav-fs);
    color: #030f0f;
    pointer-events: none
}

.language-picker select {
    border: none;
    font-size: var(--nav-fs);
    background: 0 0;
    color: #030f0f;
    padding-inline-end: 1.25rem;
    appearance: none
}

.language-picker select option {
    color: #030f0f;
    background-color: #fff
}

.header-cta a.header-cta__link {
    --cta-padding-block: clamp(0.556rem, calc(0.5rem + 0.25vw), 0.778rem);
    --cta-padding-inline: clamp(1.389rem, calc(1.222rem + 0.938vw), 2.222rem);
    --cta-bg: #613892;
    --cta-hover-bg: #fff;
    --cta-color: #fff;
    --cta-hover-color: #030f0f;
    font-size: var(--nav-fs);
    min-inline-size: fit-content;
    border: 1px solid #613892;
}

.hero-section .slider-wrapper {
    inline-size: 100%;
    block-size: 75dvh
}

.hero-section .slider-wrapper .owl-carousel .owl-animated-in {
    z-index: 0
}

.hero-section .slider-wrapper .owl-carousel .owl-animated-out {
    z-index: 1
}

.hero-section .slider-wrapper .item,
.hero-section .slider-wrapper .owl-carousel {
    block-size: 75dvh
}

.hero-section .slider-image {
    position: absolute;
    inset: 0;
    z-index: var(--z-index-behind)
}

.hero-section .slider-image img,
.hero-section .slider-image picture {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover
}

.hero-section .slider-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, color-mix(in srgb, #000 85%, transparent) 0, transparent 75%);
    z-index: var(--z-index-default);
    pointer-events: none
}

.hero-section .slider-content {
    position: absolute;
    inset: 0;
    z-index: var(--z-index-above);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-inline: clamp(1.5rem, calc(1.111rem + 1.667vw), 3rem);
    padding-block: clamp(2rem, calc(1.667rem + 1.667vw), 3.5rem);
    color: #fff;
    text-align: center
}

.hero-section .slider-content__inner {
    max-inline-size: 46rem;
    margin-inline: auto
}

.hero-section .hero-section__title h1 {
    margin: 0;
    font-size: clamp(2.222rem, calc(1.833rem + 2.188vw), 4.167rem);
    line-height: 1.1
}

.hero-section .hero-section__lead p {
    margin: 0;
    margin-block-start: clamp(0.889rem, calc(0.733rem + 0.833vw), 1.5rem);
    font-size: clamp(1rem, calc(.933rem + .375vw), 1.333rem)
}

.hero-section .hero-section__actions {
    margin-block-start: clamp(1.667rem, calc(1.333rem + 1.667vw), 2.889rem);
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(.667rem, calc(.5rem + .75vw), 1rem)
}

.hero-section .fadeOutScale {
    animation-name: fadeOutScale
}

.hero-section .fadeInScale {
    animation-name: fadeInScale
}

@-webkit-keyframes fadeOutScale {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@keyframes fadeOutScale {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@-webkit-keyframes fadeInScale {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@keyframes fadeInScale {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

.gallery-section .gallery-section__header,
.services-section .services-section__header,
.testimonials-section .testimonials-section__header {
    max-inline-size: 48rem;
    margin-inline: auto;
    margin-block-end: clamp(2rem, calc(1.667rem + 1.667vw), 3rem)
}

.services-section .services-section__paragraph p {
    margin: 0;
    margin-block-start: clamp(0.667rem, calc(0.556rem + 0.5vw), 1rem);
    max-inline-size: 46ch;
    margin-inline: auto
}

.services-section a.services-card {
    display: block;
    text-decoration: none;
    color: #030f0f;
    border-bottom: 0;
    outline: 0
}

.services-section a.services-card .services-card__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    margin-block-end: 1.5rem;
    inline-size: 100%;
    max-inline-size: 70px;
    block-size: auto;
    aspect-ratio: 1 / 1;
    transition: transform 380ms ease-in-out
}

.services-section a.services-card .services-card__media img,
.services-section a.services-card .services-card__media picture {
    display: block;
    max-inline-size: 100%;
    max-block-size: 100%;
    inline-size: auto;
    block-size: auto;
    object-fit: contain;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: -webkit-transform 380ms, filter 380ms;
    transition: transform 380ms, filter 380ms, -webkit-transform 380ms
}

.services-section a.services-card .services-card__title {
    margin: 0 0 .5rem;
    color: #030f0f;
    font-family: var(--font-heading);
    font-size: clamp(1.111rem, calc(1rem + .5vw), 1.333rem);
    line-height: 1.2;
    transition: color 380ms ease-in-out
}

.services-section a.services-card .services-card__content {
    text-align: center
}

.services-section a.services-card .services-card__body p {
    margin: 0;
    font-size: .95rem;
    color: rgba(3, 15, 15, .7)
}

.services-section a.services-card:focus-visible .services-card__media,
.services-section a.services-card:hover .services-card__media {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.services-section a.services-card:focus-visible .services-card__title,
.services-section a.services-card:hover .services-card__title {
    color: #54c2b7
}

.services-section a.services-card:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 4px
}

.audience-section {
    --audience-media-height: clamp(13.889rem, calc(9rem + 15vw), 22.222rem);
    position: relative
}

.audience-section::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-end: 0;
    inline-size: 100%;
    block-size: calc(var(--audience-media-height) * 0.7);
    background-color: #fff;
    z-index: 0
}

.audience-section .container-fluid-custom {
    position: relative;
    z-index: 1
}

.audience-section .audience-section__header,
.faq-section .faq-section__header {
    margin-block-end: clamp(2rem, calc(1.667rem + 1.667vw), 3rem)
}

.audience-section .audience-section__header .audience-section__paragraph p {
    margin: 0;
    max-inline-size: 32ch;
    margin-inline-start: auto
}

.audience-section .audience-section__media {
    margin-block-start: clamp(2.222rem, calc(2rem + 1.25vw), 3.333rem);
    inline-size: 100%;
    block-size: var(--audience-media-height)
}

.audience-section .audience-section__accordion {
    margin-block-start: clamp(1.667rem, calc(1.333rem + 1.667vw), 3rem)
}

.audience-section .audience-section__accordion .faq__items {
    --faq-icon-size: clamp(1.944rem, calc(1.778rem + 0.938vw), 2.667rem);
    border-top: 0
}

.audience-section .audience-section__accordion .faq__items .card {
    position: relative;
    background: 0 0;
    border: 0;
    margin: 0
}

.audience-section .audience-section__accordion .faq__items .card::after {
    position: absolute;
    inset-inline-start: 0;
    inset-block-end: 0;
    inline-size: 100%;
    block-size: 1px;
    content: "";
    background-color: rgba(3, 15, 15, .16)
}

.audience-section .audience-section__accordion .faq__items .card .card-header {
    background: 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    contain: layout;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.audience-section .audience-section__accordion .faq__items .card .card-header .faq-question {
    margin: 0
}

.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link {
    inline-size: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(.833rem, calc(.667rem + .75vw), 1.333rem);
    padding: 0;
    padding-block: clamp(0.889rem, calc(0.778rem + 0.5vw), 1.167rem);
    color: #030f0f;
    text-decoration: none;
    text-align: left;
    font-size: clamp(1.111rem, calc(1.022rem + .5vw), 1.556rem);
    background: 0 0;
    border: 0;
    box-shadow: none
}

.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link:hover {
    text-decoration: none
}

.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 3px
}

.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link .audience-faq__index {
    flex: none;
    font-size: clamp(1rem, calc(.933rem + .375vw), 1.333rem);
    color: rgba(3, 15, 15, .4);
    padding-inline-end: clamp(1rem, calc(-0.467rem + 8.25vw), 8.333rem)
}

.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link .audience-faq__title {
    flex: 1 1 auto;
    font-size: clamp(1.667rem, calc(1.5rem + .938vw), 2.5rem);
    line-height: 1.2
}

.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link .faq-icon {
    inline-size: var(--faq-icon-size);
    block-size: var(--faq-icon-size);
    border-radius: 999rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    margin-inline-start: clamp(.667rem, calc(.5rem + .75vw), 1rem);
    background-color: #aacbc4;
    border: 1px solid rgba(3, 15, 15, .18);
    -webkit-transition: background-color 240ms, border-color 240ms;
    transition: background-color 240ms, border-color 240ms
}

.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link .faq-icon i {
    font-size: clamp(1rem, calc(.944rem + .3vw), 1.222rem);
    line-height: 1;
    color: #fff;
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: -webkit-transform 320ms cubic-bezier(.2, .7, .2, 1), color 220ms;
    transition: transform 320ms cubic-bezier(.2, .7, .2, 1), color 220ms
}

.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link:focus-visible .faq-icon,
.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link:hover .faq-icon {
    background-color: #54c2b7;
    border-color: #54c2b7
}

.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link:focus-visible .faq-icon i,
.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link:hover .faq-icon i {
    color: #030f0f
}

.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link[aria-expanded=true] .faq-icon {
    background-color: #54c2b7;
    border-color: #54c2b7
}

.audience-section .audience-section__accordion .faq__items .card .card-header .btn-link[aria-expanded=true] .faq-icon i {
    color: #030f0f;
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

.audience-section .audience-section__accordion .faq__items .card .card-body {
    padding: clamp(1rem, calc(.889rem + .625vw), 1.5rem) 0 clamp(1.111rem, calc(1rem + .625vw), 1.667rem);
    font-size: 1rem;
    color: rgba(3, 15, 15, .75)
}

.stats-section {
    --stats-fs: clamp(3.111rem, calc(2.444rem + 3.333vw), 5.556rem);
    font-family: var(--font-heading)
}

.stats-section .stat-item {
    inline-size: 100%
}

.stats-section .stat-item__value {
    margin-block-end: clamp(0.667rem, calc(0.6rem + 0.375vw), 1rem);
    color: #030f0f
}

.stats-section .stat-item__number {
    font-size: var(--stats-fs);
    line-height: 1
}

.stats-section .stat-item__unit {
    margin-inline-start: .25em;
    font-size: calc(var(--stats-fs) * .55);
    color: #54c2b7;
    line-height: 1
}

.stats-section .stat-item__label {
    margin: 0;
    font-size: clamp(1.222rem, calc(1.067rem + .875vw), 2rem);
    max-inline-size: 22ch
}

.process-section .process-section__header {
    max-inline-size: 48rem;
    margin-inline: auto;
    margin-block-end: clamp(2.5rem, calc(2rem + 2.5vw), 4rem)
}

.process-section .process-section__paragraph p {
    margin: 0;
    margin-block-start: clamp(0.667rem, calc(0.556rem + 0.5vw), 1rem);
    max-inline-size: 40ch;
    margin-inline: auto
}

.process-section .process-section__timeline {
    position: relative;
    isolation: isolate
}

.process-section .process-section__timeline::before {
    content: "";
    position: absolute;
    inset-block: 0;
    inset-inline-start: 50%;
    inline-size: 1px;
    block-size: 100%;
    background-color: #4bd6ac;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1
}

.process-section .process-step {
    --process-step-padding-block: clamp(1.5rem, calc(1.333rem + 0.833vw), 2.25rem);
    --process-step-pad-inline: clamp(1.5rem, calc(1.111rem + 1.667vw), 2.5rem);
    position: relative;
    margin-block-end: clamp(2.5rem, calc(2rem + 2.5vw), 4rem)
}

.process-section .process-step:last-child {
    margin-block-end: 0
}

.about-section .about-section__media-item,
.process-section .process-step__media {
    overflow: hidden
}

.process-section .process-step__media img,
.process-section .process-step__media picture {
    display: block;
    inline-size: 100%;
    block-size: auto;
    object-fit: cover
}

.process-section .process-step__content {
    padding-block: var(--process-step-padding-block)
}

.process-section .process-step__content .process-step__title {
    margin: 0 0 clamp(.667rem, calc(.556rem + .5vw), 1rem);
    font-size: clamp(1.222rem, calc(1.156rem + .375vw), 1.556rem);
    line-height: 1.2
}

.about-section .about-section__paragraph,
.process-section .process-step__content .process-step__paragraph {
    margin: 0;
    max-inline-size: 40ch
}

@media screen and (min-width:768px) {
    .process-section .process-step__even .process-step__content,
    .process-section .process-step__odd .process-step__media {
        padding-inline-end: var(--process-step-pad-inline)
    }
    .process-section .process-step__even .process-step__media,
    .process-section .process-step__odd .process-step__content {
        padding-inline-start: var(--process-step-pad-inline)
    }
}

.process-section .process-step__order {
    --process-step-dim: clamp(1.444rem, calc(1.378rem + 0.375vw), 1.778rem);
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: var(--process-step-padding-block);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    inline-size: var(--process-step-dim);
    block-size: var(--process-step-dim);
    border-radius: 50%;
    background-color: #54c2b7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: clamp(.778rem, calc(.756rem + .125vw), .889rem);
    color: #fff;
    z-index: var(--z-index-above)
}

.process-section .process-step__order span {
    display: inline-block
}

.process-section .process-step__order::after,
.process-section .process-step__order::before {
    content: "";
    position: absolute;
    inline-size: 1px;
    block-size: 1rem;
    background-color: #2cc295;
    inset-inline-start: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.process-section .process-step__order::before {
    inset-block-start: -1rem
}

.process-section .process-step__order::after {
    inset-block-end: -1rem
}

.brands-section .brands-section__grid,
.gallery-section .gallery-section__grid {
    margin-block-end: clamp(1.667rem, calc(1.444rem + 1.25vw), 2.778rem)
}

.about-section .about-section__media-grid {
    --about-media-gap: clamp(0.556rem, calc(0.389rem + 0.938vw), 1.389rem);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--about-media-gap)
}

.about-section .about-section__media-item img,
.about-section .about-section__media-item picture {
    display: block;
    inline-size: 100%;
    block-size: auto;
    object-fit: cover
}

.gallery-section {
    text-align: center
}

.gallery-section .gallery-section__paragraph p,
.testimonials-section .testimonials-section__paragraph p {
    margin: 0;
    max-inline-size: 46ch;
    margin-inline: auto
}

.gallery-section a.gallery-item {
    position: relative;
    display: block;
    overflow: hidden;
    margin-block-end: calc(var(--gutter-sm) * 2);
    border-radius: var(--radius);
    border-bottom: 0;
    outline: 0
}

.gallery-section a.gallery-item img,
.gallery-section a.gallery-item picture {
    display: block;
    inline-size: 100%;
    block-size: auto;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: -webkit-transform 380ms, filter 380ms;
    transition: transform 380ms, filter 380ms, -webkit-transform 380ms
}

.gallery-section a.gallery-item:focus-visible img,
.gallery-section a.gallery-item:hover img {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
    filter: brightness(.9)
}

.gallery-section a.gallery-item:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 4px
}

.faq-section .faq-section__content {
    --faq-section-p: clamp(2.5rem, calc(2.056rem + 2.5vw), 4.722rem);
    padding-block: var(--faq-section-p);
    padding-inline-start: var(--faq-section-p)
}

.faq-section .faq-section__header .faq-section__paragraph p {
    margin: 0;
    max-inline-size: 40ch
}

.faq-section .widget-faq .faq__items {
    --faq-icon-size: clamp(1.667rem, calc(1.511rem + 0.875vw), 2.444rem);
    border-top: 0
}

.faq-section .widget-faq .faq__items .card {
    position: relative;
    background: 0 0;
    border: 0;
    margin: 0
}

.faq-section .widget-faq .faq__items .card::after {
    position: absolute;
    inset-inline-start: 0;
    inset-block-end: 0;
    inline-size: 100%;
    block-size: 1px;
    content: "";
    background-color: #54c2b7
}

.faq-section .widget-faq .faq__items .card .card-header {
    background: 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    contain: layout;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.faq-section .widget-faq .faq__items .card .card-header .faq-question {
    margin: 0
}

.faq-section .widget-faq .faq__items .card .card-header .btn-link {
    inline-size: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    padding-block: clamp(0.889rem, calc(0.778rem + 0.5vw), 1.167rem);
    color: #fff;
    text-decoration: none;
    text-align: left;
    font-size: clamp(1.111rem, calc(1.022rem + .5vw), 1.556rem);
    background: 0 0;
    border: 0;
    box-shadow: none
}

.faq-section .widget-faq .faq__items .card .card-header .btn-link:hover {
    text-decoration: none
}

.faq-section .widget-faq .faq__items .card .card-header .btn-link:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 3px
}

.faq-section .widget-faq .faq__items .card .card-header .btn-link .faq-icon {
    inline-size: var(--faq-icon-size);
    block-size: var(--faq-icon-size);
    border-radius: 999rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    margin-inline-start: clamp(.667rem, calc(.5rem + .75vw), 1rem);
    background-color: #03624c;
    border: 1px solid rgba(255, 255, 255, .14);
    -webkit-transition: background-color 240ms, border-color 240ms;
    transition: background-color 240ms, border-color 240ms
}

.faq-section .widget-faq .faq__items .card .card-header .btn-link .faq-icon i {
    font-size: clamp(1rem, calc(.944rem + .3vw), 1.222rem);
    line-height: 1;
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: -webkit-transform 320ms cubic-bezier(.2, .7, .2, 1), color 220ms;
    transition: transform 320ms cubic-bezier(.2, .7, .2, 1), color 220ms
}

.faq-section .widget-faq .faq__items .card .card-header .btn-link:focus-visible .faq-icon,
.faq-section .widget-faq .faq__items .card .card-header .btn-link:hover .faq-icon {
    color: #030f0f;
    background-color: #54c2b7;
    border-color: #54c2b7
}

.faq-section .widget-faq .faq__items .card .card-header .btn-link[aria-expanded=true] .faq-icon {
    color: #030f0f;
    background-color: #54c2b7;
    border-color: #54c2b7
}

.faq-section .widget-faq .faq__items .card .card-header .btn-link[aria-expanded=true] .faq-icon i {
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

.faq-section .widget-faq .faq__items .card .card-body {
    padding: clamp(1rem, calc(.889rem + .625vw), 1.5rem) 0 clamp(1.111rem, calc(1rem + .625vw), 1.667rem);
    font-size: 1rem;
    color: rgba(255, 255, 255, .85)
}

@media screen and (max-width:767px) {
    .pos-relative-mobile {
        position: relative
    }
    .container_bg_img {
        inset-inline: 0;
        inline-size: 100%;
        block-size: auto
    }
    .hero-section .slider-image::after {
        background: rgba(0, 0, 0, .6)
    }
    .hero-section .slider-content {
        align-items: center
    }
    .hero-section .slider-wrapper,
    .hero-section .slider-wrapper .item,
    .hero-section .slider-wrapper .owl-carousel {
        block-size: 85dvh
    }
    .hero-section .hero-section__title h1 {
        font-size: clamp(2.111rem, calc(1.833rem + 1.25vw), 2.667rem)
    }
    .audience-section .audience-section__intro {
        margin-inline-start: 0;
        margin-block-start: .5rem
    }
    .audience-section .audience-section__accordion .faq__items .card .card-header .btn-link,
    .faq-section .widget-faq .faq__items .card .card-header .btn-link {
        padding-block: clamp(0.889rem, calc(0.778rem + 0.5vw), 1.167rem)
    }
    .audience-section .audience-section__accordion .faq__items .card .card-body,
    .faq-section .widget-faq .faq__items .card .card-body {
        padding-block-start: clamp(0.889rem, calc(0.778rem + 0.5vw), 1.167rem)
    }
    .process-section .process-section__timeline::before,
    .process-section .process-step__order::after,
    .process-section .process-step__order::before {
        content: none
    }
    .process-section .process-section__timeline {
        text-align: center
    }
    .process-section .process-step {
        --process-step-padding-block: 0;
        margin-block-end: clamp(2rem, calc(1.667rem + 1.667vw), 3rem)
    }
    .process-section .process-step__media {
        padding-inline: 0
    }
    .process-section .process-step__content {
        padding-inline: 0;
        padding-block: 0;
        margin-block-start: 1rem
    }
    .process-section .process-step__order {
        position: relative;
        inset: auto;
        margin-inline: auto;
        margin-block-end: 1.5rem;
        -webkit-transform: none;
        transform: none
    }
}

.testimonials-section .testimonials-section__grid {
    align-items: stretch
}

.testimonials-section .testimonials-section__grid>[class*=" col-"],
.testimonials-section .testimonials-section__grid>[class^=col-] {
    display: flex;
    margin-block-end: calc(var(--gutter-sm) * 2)
}

.testimonials-section .testimonial-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    inline-size: 100%;
    block-size: 100%;
    color: #fff;
    padding-inline: clamp(1.5rem, calc(1.222rem + 1.389vw), 2.5rem);
    padding-block: clamp(2rem, calc(1.667rem + 1.667vw), 3rem)
}

.testimonials-section .testimonial-card__body p {
    margin: 0;
    line-height: 1.6
}

.testimonials-section .testimonial-card__footer {
    margin-block-start: clamp(1.5rem, calc(1.167rem + 1.667vw), 2.5rem)
}

.testimonials-section .testimonial-card__footer .testimonial-card__author {
    margin: 0;
    font-family: var(--font-body-strong);
    font-size: .95rem
}

.testimonials-section .testimonial-card--accent-1 {
    background-color: #0b5341
}

.testimonials-section .testimonial-card--accent-2 {
    background-color: #17876e
}

.testimonials-section .testimonial-card--accent-3 {
    background-color: #2ea98c
}

.testimonials-section .testimonials-section__cta {
    margin-block-start: clamp(1.667rem, calc(1.444rem + 1.25vw), 2.778rem)
}

.brands-section {
    --brands-gap: clamp(0.556rem, calc(0.389rem + 0.938vw), 1.389rem);
    --brands-p: clamp(1rem, calc(0.867rem + 0.75vw), 1.667rem)
}

.brands-section .brands-section__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr)); 
    gap: var(--brands-gap);
    align-items: center;
    justify-items: center;
    justify-content: center; 
}

.brands-section .brands-section__grid > *:first-child {
    grid-column-start: 2;
}

@media screen and (max-width:1199px) {
    .brands-section .brands-section__grid {
        grid-template-columns: repeat(4, 1fr)
    }
}

@media screen and (max-width:991px) {
    .brands-section .brands-section__grid {
        grid-template-columns: repeat(2, 1fr);
        justify-items: start;
        justify-content: start;
    }
    .brands-section .brands-section__grid > *:first-child {
        grid-column-start: auto;
    }
}

@media screen and (max-width:991px) {
    .container-fluid-custom {
        padding-inline: 1rem
    }
    .section-anchor {
        scroll-margin-top: 80px;
    }
    .split-media {
        position: relative;
        inset-inline-start: 1rem !important;
        inset-inline-end: 0 !important;
        inline-size: calc(100% - 2rem);
        block-size: auto;
        aspect-ratio: 1.33333333
    }
    .box_padding_vertical {
        padding-block: calc(var(--size) * 3)
    }
    [class*=paragraph] {
        max-inline-size: 100% !important
    }
    .header {
        position: fixed !important;
        --nav-fs: 1.25rem;
        --b-size: 2rem;
        background-color: #fff;
        padding-block: 1.25rem !important;
    }
    .main-logo {
        position: absolute;
        inset-block-start: 0.35rem !important;
        inset-inline-start: 1rem;
        inline-size: auto
    }
    .main-logo img {
        inline-size: 10rem !important
    }
    .header-actions__wrapper {
        position: absolute;
        inset-block-start: .75rem;
        inset-inline-end: 5.5rem
    }
    .language-selector {
        margin: 0;
        z-index: var(--z-index-above)
    }
    .mainNavigation .nav-item {
        text-align: center
    }
    .mainNavigation .nav-link {
        line-height: 1.5
    }
    .stats-section .stat-item__label {
        margin-inline: auto
    }
    .faq-section .faq-section__content {
        padding: 0
    }
    .brands-section .brands-section__grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media screen and (max-width:575px) {
    .brands-section .brands-section__grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

.brands-section a.brands-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    padding-block: calc(var(--brands-p) * 1.25);
    padding-inline: var(--brands-p);
    background-color: #fff;
    border-bottom: 0;
    border-radius: calc(var(--radius) * .6);
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 1px rgba(3, 15, 15, .06);
    transition: box-shadow 220ms, background-color 220ms
}

.brands-section a.brands-logo img {
    display: block;
    max-inline-size: 100%;
    inline-size: auto;
    block-size: auto
}

.brands-section a.brands-logo:hover {
    background-color: color-mix(in srgb, #54c2b7 6%, #fff);
    box-shadow: 0 6px 18px rgba(2, 26, 26, .18)
}

.brands-section a.brands-logo:focus-visible {
    background-color: color-mix(in srgb, #54c2b7 10%, #fff);
    box-shadow: 0 0 0 2px #54c2b7;
    outline: #54c2b7 dashed 2px;
    outline-offset: 3px
}

.contact-section .contact-section__content {
    --contact-section-p: clamp(2.5rem, calc(2.056rem + 2.5vw), 4.722rem);
    padding-block: var(--contact-section-p);
    padding-inline-end: var(--contact-section-p)
}

@media screen and (max-width:991px) {
    .contact-section .contact-section__content {
        padding: 0
    }
}

.footer-section {
    font-size: .9rem
}

.footer-section .footer__top {
    --footer-top-p: clamp(1.667rem, calc(1.333rem + 1.875vw), 3.333rem);
    padding-block-start: calc(var(--footer-top-p) * 1.4);
    padding-block-end: var(--footer-top-p);
    border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.footer-section .footer__bottom {
    padding-block: clamp(1.667rem, calc(1.5rem + 0.938vw), 2.5rem)
}

.footer-section .footer__bottom .list-inline-item:not(:last-child) {
    margin-inline-end: .25rem
}

.footer-section .footer__bottom .list-inline-item:not(:last-child)::after {
    content: "|";
    padding-inline-start: .5rem;
    color: #fff
}

.footer-section .footer-brand {
    display: inline-flex;
    align-items: center;
    margin-block-end: clamp(1.5rem, calc(1.2rem + 1.25vw), 2.5rem);
    outline: 0
}

.footer-section .footer-brand img {
    inline-size: clamp(9rem, calc(7.5rem + 3vw), 11rem);
    block-size: auto;
    display: block
}

.footer-section .footer-brand:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 3px
}

.footer-section .footer-brand__text p {
    max-inline-size: 24rem;
    margin-inline: auto
}

.card-body p:last-child,
.footer-section .footer-brand__text p:last-child {
    margin-bottom: 0
}

@media screen and (min-width:992px) {
    .footer-section .footer-brand__text p {
        margin-inline: 0
    }
}

.footer-section .footer-channels {
    margin-block: clamp(1.25rem, calc(1rem + 1.25vw), 2.25rem)
}

.footer-section .footer-channel-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .06);
    outline: 0;
    transition: background-color 220ms, opacity 220ms
}

.footer-section .footer-contact-link,
.footer-section .footer-nav .footer-nav__link,
.footer-section .footer__bottomLink {
    color: #fff;
    text-decoration: none;
    border-bottom: 0;
    transition: opacity .2s
}

.footer-section .footer-channel-link img {
    inline-size: 1.25rem;
    block-size: 1.25rem;
    display: block
}

.footer-section .footer-channel-link:hover {
    background-color: rgba(255, 255, 255, .14);
    opacity: .9
}

.footer-section .footer-contact-link:hover,
.footer-section .footer__bottomLink:hover {
    opacity: .8
}

.footer-section .footer-channel-link:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 3px
}

.footer-section .footer-heading h3 {
    font-family: var(--font-body-strong);
    font-size: .83rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-block-end: 1rem;
    opacity: .7
}

.footer-section .footer-nav .footer-nav__link {
    display: inline-block
}

.footer-section .footer-nav .footer-nav__link:hover {
    opacity: .75
}

.footer-section .footer-nav .footer-nav__link:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 3px
}

.footer-section .footer-address address {
    font-style: normal
}

.footer-section .footer-contact-link:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 3px
}

.footer-section .footer__bottomLink:focus-visible {
    outline: #54c2b7 dashed 2px;
    outline-offset: 3px
}

.audience-section__media {
    position: relative
}

.audience-section__media .we_button,
.slider-wrapper .we_button,
.split-media .we_button {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50
}

/* Team Section Styles */
.team-grid {
    justify-content: center;
    text-align: center;
}

.team-item {
    margin-bottom: 3rem;
}

.team-member {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none !important;
    border-bottom: 0 !important;
}

.team-member__image {
    width: 100%;
    max-width: 250px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 1.5rem;
    border: 1px solid #030f0f;
}

.team-member__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 380ms, filter 380ms;
}

.team-member:hover .team-member__image img {
    transform: scale(1.03);
    filter: brightness(.9);
}

.team-member__info b {
    font-size: 1.25rem;
    color: #030f0f;
    display: block;
    transition: color 380ms;
    line-height: 1.3;
}

.team-member:hover .team-member__info b {
    color: #54c2b7;
}

/* Team Detail Styles */
.team-detail {
    align-items: flex-start;
    margin-top: 2rem;
}

.team-detail__content h2 {
    margin-bottom: 1.5rem;
    color: #030f0f;
    line-height: 1.2;
}

.team-detail__content {
    font-size: 1.1rem;
    line-height: 1.7;
}

/* Registration Section Styles */
.registration-info {
    padding: clamp(1.5rem, 3vw, 2.5rem);
    background-color: #f1f7f7;
    border-radius: var(--radius);
    border-left: 6px solid #54c2b7;
    margin-block: 2rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.registration-info h4 {
    color: #613892;
    font-size: clamp(1.3rem, 2vw, 1.6rem);
    margin-block-end: 1.5rem;
    line-height: 1.3;
    font-weight: 600;
}

.registration-info p {
    font-size: 1.1rem;
    color: #030f0f;
    margin-block-end: 2rem;
    opacity: 0.9;
}

.registration-steps {
    list-style: none;
    padding: 0;
    margin-block-end: 2.5rem;
    counter-reset: reg-counter;
}

.registration-steps li {
    counter-increment: reg-counter;
    display: flex;
    align-items: flex-start;
    margin-block-end: 1.5rem;
    font-size: 1.1rem;
    line-height: 1.5;
    position: relative;
}

.registration-steps li::before {
    content: counter(reg-counter);
    width: 40px;
    height: 40px;
    background-color: #54c2b7;
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-inline-end: 1.2rem;
    box-shadow: 0 4px 10px rgba(84, 194, 183, 0.3);
    flex-shrink: 0;
}

.registration-steps li strong {
    color: #613892;
    display: block;
    font-size: 1.2rem;
    margin-block-end: 0.2rem;
}

.registration-steps li span {
    opacity: 0.8;
}

.registration-footer {
    background-color: #fff;
    padding: 1.5rem;
    border-radius: calc(var(--radius) * 0.8);
    text-align: center;
    border: 1px dashed #54c2b7;
}

.registration-footer h4 {
    margin: 0;
    color: #54c2b7;
    font-size: clamp(1.1rem, 1.5vw, 1.3rem);
    font-weight: 600;
    line-height: 1.4;
}

.registration-footer h4 span {
    color: #613892;
    display: block;
    margin-block-start: 5px;
}

@media screen and (min-width: 992px) and (max-width: 1200px) {
    .mainNavigation .nav-link {
        font-size: 0.7rem !important;
    }
}

@media screen and (max-width: 991px) {
    .team-detail {
        display: flex;
        flex-direction: column-reverse;
    }
    .team-detail__media {
        margin-bottom: 2rem;
    }
    .team-detail__content {
        text-align: center;
    }
}