.elementor-kit-7{--e-global-color-primary:#231F20;--e-global-color-secondary:#C5AA5F;--e-global-color-text:#58595B;--e-global-color-accent:#1E4B72;--e-global-color-d70f6ec:#FFFFFF;--e-global-color-db6b3a9:#C5AA5F;--e-global-color-a8014d2:#F3EEDF;--e-global-color-9da8df0:#A49467;--e-global-color-a14ae76:#807A62;--e-global-color-809c19c:#D0D2D3;--e-global-color-356df71:#58595B;--e-global-color-cf211b6:#303031;--e-global-color-2d5f2fd:#F2F2F2;--e-global-color-863f630:#9C9E9E;--e-global-color-e2f3e45:#A5B7C7;--e-global-color-315d4e3:#0F2639;--e-global-color-3594705:#666666;--e-global-color-5f5bc6e:#000000;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-size:18px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.6rem;--e-global-typography-secondary-letter-spacing:0rem;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-font-style:normal;--e-global-typography-af7afc7-font-family:"Inter";--e-global-typography-af7afc7-font-size:0.8rem;--e-global-typography-af7afc7-letter-spacing:0.3px;--e-global-typography-af7afc7-word-spacing:0px;--e-global-typography-b2efb74-font-family:"Inter";--e-global-typography-b2efb74-font-size:0.6rem;--e-global-typography-b2efb74-letter-spacing:0.2px;--e-global-typography-6336c61-font-size:1.4rem;--e-global-typography-0c9f08c-font-family:"Inter";--e-global-typography-0c9f08c-font-size:1.6rem;--e-global-typography-0c9f08c-letter-spacing:0.3px;--e-global-typography-b7fd499-font-size:0.8rem;--e-global-typography-b7fd499-font-weight:300;--e-global-typography-b7fd499-letter-spacing:0.3px;--e-global-typography-b7fd499-word-spacing:1px;color:#58595B;font-size:19px;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-e2f3e45 );font-family:"Inter", Sans-serif;}.elementor-kit-7 a:hover{color:var( --e-global-color-a8014d2 );}.elementor-kit-7 h1{font-family:"Playfair", Sans-serif;font-size:3.8rem;font-weight:800;line-height:3.4rem;}.elementor-kit-7 h2{font-family:"Playfair", Sans-serif;font-size:3rem;font-weight:600;line-height:3rem;}.elementor-kit-7 h3{font-family:"Playfair", Sans-serif;font-size:2.4rem;}.elementor-kit-7 h4{font-family:"Inter", Sans-serif;font-size:1.9rem;font-weight:600;line-height:1.9rem;}.elementor-kit-7 h5{font-family:"Inter", Sans-serif;font-size:1.5rem;line-height:1.5rem;}.elementor-kit-7 h6{font-family:"Inter", Sans-serif;font-size:1.2rem;line-height:1.5rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1366px;}.e-con{--container-max-width:1366px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-af7afc7-font-size:1rem;--e-global-typography-af7afc7-line-height:1.6rem;--e-global-typography-b2efb74-font-size:0.7rem;--e-global-typography-0c9f08c-line-height:1.1em;--e-global-typography-0c9f08c-letter-spacing:0.3px;}.elementor-kit-7 h1{font-size:3rem;line-height:3rem;}.elementor-kit-7 h2{font-size:2.6rem;line-height:2.4rem;}.elementor-kit-7 h3{font-size:1.8rem;line-height:1.8rem;}.elementor-kit-7 h4{font-size:1.8rem;line-height:1.4rem;}.elementor-kit-7 h5{font-size:1.2rem;line-height:1.5rem;}.elementor-kit-7 h6{font-size:1.1rem;line-height:1.5rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-af7afc7-font-size:1rem;--e-global-typography-af7afc7-line-height:1.6em;--e-global-typography-b2efb74-font-size:0.7rem;}.elementor-kit-7 h1{font-size:2.8rem;line-height:1em;}.elementor-kit-7 h2{font-size:2.4rem;line-height:2.2rem;}.elementor-kit-7 h3{font-size:1.6rem;}.elementor-kit-7 h4{font-size:1.9rem;line-height:1.9rem;}.elementor-kit-7 h5{font-size:1.2rem;line-height:1.5rem;}.elementor-kit-7 h6{font-size:1.1rem;line-height:1.5rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*
 * === Custom CSS Stylesheet ===
 *
 * This stylesheet contains custom animations and effects.
 * Add the corresponding CSS Class to your Elementor element's "Advanced" tab
 * to apply the style.
 *
 * ---
 */


/* === KEYFRAMES & SCROLL TIMELINES === */

@scroll-timeline verticalBorderTimeline {
    scroll-source: auto;
    orientation: block;
    start: 0%;
    end: 100%;
}

@keyframes slide-in-border {
    from {
        transform: scaleY(0);
    }
    to {
        transform: scaleY(1);
    }
}

@keyframes bgMove {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}



@keyframes slide-grow-and-exit {
    0%   { width: 0; transform: translateX(0); }
    25%  { width: 100%; transform: translateX(0); }
    75%  { width: 100%; transform: translateX(0); }
    100% { width: 0; transform: translateX(100%); }
}


/* ===================================== */
/* === VERTICAL BORDER (On View) === */
/* ===================================== */

.vertical-border {
    position: relative;
    overflow: hidden;
}

.vertical-border::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 3px;
    background-color: #c5aa5f;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.7s ease-out;
}

.vertical-border.is-visible::before {
    transform: scaleY(1);
}


/* ===================================== */
/* === DOTTED BOTTOM BORDER (Animated) === */
/* ===================================== */

.dotted-border-container {
    position: relative;
    overflow: hidden;
}

.dotted-border-container::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    
    background-image: linear-gradient(to right, rgba(162, 157, 157, 0.5); 50%, transparent 50%);
    background-size: 20px 100%;
}

.dotted-border-container.is-visible::after {
    animation: slide-grow-and-exit 2s ease-in-out forwards;
}

/* ===================================== */
/* === GOLD & BLACK ANIMATED BACKGROUND === */
/* ===================================== */

.animated-bg {
    position: relative;
    z-index: 0;
    overflow: hidden;
    background: linear-gradient(45deg, #ccc, #231f20, #231f20, #c5aa5f);
    background-size: 200% 200%;
    animation: bgMove 30s ease-in-out infinite alternate;
}

/* ===================================== */
/* === FROSTY HOVER EFFECT === */
/* ===================================== */

.frosty-animation {
    background-color: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 10px;
    transition: background-color 0.4s ease, backdrop-filter 0.5s ease, border-color 0.4s ease;
}

.frosty-animation:hover {
    background-color: rgba(162, 157, 157, 0.2);
    backdrop-filter: blur(0);
    border-color: rgba(162, 157, 157, 0.5);
}

/* ===================================== */
/* === SHIMMER BUTTON === */
/* ===================================== */

.shimmer-button .elementor-button {
    background: linear-gradient(90deg, #c5aa5f, #f3eedf, #c5aa5f);
    background-size: 300% 100%;
    transition: background-position 0.5s ease;
}

.shimmer-button .elementor-button:hover {
    background-position: 100% 0;
}

/* ===================================== */
/* === PULSATING BLUR EFFECT === */
/* ===================================== */

@keyframes pulse-blur {
    0% {
        backdrop-filter: blur(0px);
        background-color: rgba(255, 255, 255, 0.1);
    }
    50% {
        backdrop-filter: blur(8px);
        background-color: rgba(255, 255, 255, 0.25);
    }
    100% {
        backdrop-filter: blur(0px);
        background-color: rgba(255, 255, 255, 0.1);
    }
}

.pulsating-blur {
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(0px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 10px;
    animation: pulse-blur 4s ease-in-out infinite alternate; /* Adjust duration as needed */
}/* End custom CSS */