.elementor-688 .elementor-element.elementor-element-08570b8{--display:flex;--margin-top:-25px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* =========================================================
   HEADER
   ========================================================= */

.vdp-header {
    position: fixed;
    z-index: 9999;

    top: 0;
    left: 0;

    width: 100%;

    padding: 18px 28px;

    transition:
        padding var(--vdp-transition),
        background var(--vdp-transition);
}


/* INNER */

.vdp-header-inner {

    position: relative;
    z-index: 10;

    width: 100%;
    min-height: 72px;

    display: grid;
    grid-template-columns: 220px 1fr 220px;
    align-items: center;

    padding: 0 22px;

    border: 1px solid rgba(23,23,23,.09);
    border-radius: 100px;

    background: rgba(251,248,244,.88);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    transition: all var(--vdp-transition);
}


/* SCROLL */

.vdp-header.is-scrolled {
    padding-top: 10px;
}

.vdp-header.is-scrolled .vdp-header-inner {
    min-height: 64px;

    box-shadow:
        0 10px 35px rgba(0,0,0,.06);
}


/* =========================================================
   LOGO
   ========================================================= */

.vdp-logo {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;

    width: fit-content;

    color: var(--vdp-ink);
}

.vdp-logo-name {
    font-family: var(--vdp-serif);

    font-size: 23px;
    line-height: .78;
    font-weight: 600;

    letter-spacing: -.025em;
}

.vdp-logo-surname {
    margin-top: 5px;

    font-size: 8px;
    line-height: 1;

    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .25em;
}


/* =========================================================
   DESKTOP MENU
   ========================================================= */

.vdp-nav {

    display: flex;
    align-items: center;
    justify-content: center;

    gap: clamp(18px, 2vw, 34px);
}

.vdp-nav a {

    position: relative;

    padding: 9px 0;

    font-size: 11px;
    font-weight: 600;

    letter-spacing: .045em;
    text-transform: uppercase;

    color: var(--vdp-text);

    white-space: nowrap;
}

.vdp-nav a::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: 3px;

    width: 100%;
    height: 1px;

    background: var(--vdp-plum);

    transform: scaleX(0);
    transform-origin: right center;

    transition:
        transform var(--vdp-transition);
}

.vdp-nav a:hover::after {

    transform: scaleX(1);
    transform-origin: left center;
}


/* =========================================================
   CTA
   ========================================================= */

.vdp-header-actions {

    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 12px;
}

.vdp-header-cta {

    min-height: 45px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    padding: 0 21px;

    border-radius: 100px;

    background: var(--vdp-plum);

    color: var(--vdp-white);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .08em;
    text-transform: uppercase;

    transition:
        background var(--vdp-transition),
        transform var(--vdp-transition);
}

.vdp-header-cta span {

    font-size: 15px;

    transition:
        transform var(--vdp-transition);
}

.vdp-header-cta:hover {

    background: var(--vdp-plum-dark);

    transform: translateY(-1px);
}

.vdp-header-cta:hover span {

    transform: translate(3px,-3px);
}


/* =========================================================
   MENU BUTTON
   ========================================================= */

.vdp-menu-button {

    display: none;

    position: relative;

    width: 46px;
    height: 46px;

    border: 0;
    border-radius: 50%;

    background: var(--vdp-ink);

    cursor: pointer;
}

.vdp-menu-button span {

    position: absolute;

    left: 50%;

    width: 18px;
    height: 1px;

    background: var(--vdp-white);

    transform: translateX(-50%);

    transition:
        top var(--vdp-transition),
        transform var(--vdp-transition);
}

.vdp-menu-button span:first-child {
    top: 20px;
}

.vdp-menu-button span:last-child {
    top: 26px;
}


/* OPEN STATE */

.vdp-header.menu-open
.vdp-menu-button span:first-child {

    top: 23px;

    transform:
        translateX(-50%)
        rotate(45deg);
}

.vdp-header.menu-open
.vdp-menu-button span:last-child {

    top: 23px;

    transform:
        translateX(-50%)
        rotate(-45deg);
}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.vdp-mobile-menu {

    position: fixed;
    z-index: 5;

    inset: 0;

    display: flex;

    background: var(--vdp-plum-dark);

    opacity: 0;
    visibility: hidden;

    transform: translateY(-15px);

    transition:
        opacity .4s ease,
        visibility .4s ease,
        transform .4s ease;
}

.vdp-header.menu-open
.vdp-mobile-menu {

    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}

.vdp-mobile-menu-inner {

    width: min(calc(100% - 48px), 1000px);

    margin: auto;

    padding-top: 110px;
}


/* MOBILE LINKS */

.vdp-mobile-nav {

    display: flex;
    flex-direction: column;

    border-top:
        1px solid rgba(255,255,255,.15);
}

.vdp-mobile-nav a {

    display: flex;
    align-items: baseline;

    gap: 22px;

    padding: 15px 0;

    border-bottom:
        1px solid rgba(255,255,255,.15);

    color: var(--vdp-white);

    font-family: var(--vdp-serif);
    font-size: clamp(34px,6vw,62px);
    font-weight: 500;
    line-height: 1;

    transition:
        opacity var(--vdp-transition),
        padding-left var(--vdp-transition);
}

.vdp-mobile-nav a span {

    width: 30px;

    font-family: var(--vdp-sans);

    font-size: 9px;
    font-weight: 600;

    letter-spacing: .12em;

    opacity: .45;
}

.vdp-mobile-nav a:hover {

    opacity: .7;

    padding-left: 8px;
}


/* MOBILE CTA */

.vdp-mobile-contact {

    margin-top: 36px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    color: var(--vdp-white);
}

.vdp-mobile-contact-label {

    font-size: 12px;

    opacity: .55;
}

.vdp-mobile-contact a {

    display: flex;
    align-items: center;

    gap: 12px;

    padding-bottom: 4px;

    border-bottom:
        1px solid rgba(255,255,255,.5);

    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .1em;
}


/* BODY LOCK */

body.vdp-menu-lock {
    overflow: hidden;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1240px) {

    .vdp-header-inner {
        grid-template-columns: 180px 1fr 180px;
    }

    .vdp-nav {
        gap: 17px;
    }

    .vdp-nav a {
        font-size: 10px;
    }

}


/* =========================================================
   MOBILE / TABLET MENU
   ========================================================= */

@media (max-width: 1024px) {

    .vdp-header {
        padding: 14px 18px;
    }

    .vdp-header-inner {

        display: flex;
        justify-content: space-between;

        min-height: 66px;

        padding:
            0 10px
            0 20px;
    }

    .vdp-nav {
        display: none;
    }

    .vdp-header-cta {
        display: none;
    }

    .vdp-menu-button {
        display: block;
    }

}


@media (max-width: 767px) {

    .vdp-header {
        padding: 10px;
    }

    .vdp-header-inner {

        min-height: 62px;

        padding-left: 17px;
    }

    .vdp-logo-name {
        font-size: 21px;
    }

    .vdp-menu-button {

        width: 44px;
        height: 44px;
    }

    .vdp-mobile-menu-inner {

        width: calc(100% - 36px);

        padding-top: 90px;
    }

    .vdp-mobile-nav a {

        gap: 13px;

        padding: 13px 0;

        font-size:
            clamp(31px, 10vw, 47px);
    }

    .vdp-mobile-contact {

        align-items: flex-start;
        flex-direction: column;

        gap: 15px;
    }

}/* End custom CSS */