.elementor-kit-8{--e-global-color-primary:#74825F;--e-global-color-secondary:#8D9775;--e-global-color-text:#2F3528;--e-global-color-accent:#CC5500;--e-global-color-5fada66:#ECE4D8;--e-global-color-2b3922d:#B59A68;--e-global-color-4b4850f:#FFFFFF;--e-global-color-cc5e8ed:#DCCFC2;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-71aea28-font-family:"ivypresto-display";--e-global-typography-71aea28-font-size:3.4rem;--e-global-typography-71aea28-font-weight:500;--e-global-typography-71aea28-text-transform:capitalize;--e-global-typography-71aea28-line-height:65px;--e-global-typography-f6c1436-font-family:"Work Sans";--e-global-typography-f6c1436-font-size:15px;--e-global-typography-f6c1436-font-weight:500;--e-global-typography-f6c1436-text-transform:uppercase;--e-global-typography-f6c1436-letter-spacing:5.7px;--e-global-typography-2348814-font-family:"ivypresto-display";--e-global-typography-2348814-font-size:2rem;--e-global-typography-2348814-font-weight:500;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8{--e-global-typography-71aea28-font-size:2.4rem;--e-global-typography-71aea28-line-height:1.2em;--e-global-typography-f6c1436-font-size:12px;--e-global-typography-f6c1436-letter-spacing:3.4px;--e-global-typography-2348814-font-size:1.4rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.vertical-line {
  width: 1px;
  min-width: 1px;
  height: clamp(60px, 8vw, 120px);
  margin: 40px auto 30px;

  background: linear-gradient(
    to bottom,
    rgba(194, 167, 94, 0),
    rgba(194, 167, 94, 0.4),
    rgba(194, 167, 94, 0)
  );

  box-shadow: 0 0 6px rgba(194, 167, 94, 0.15);
}

.gold-frame {
  position: relative;
}

.gold-frame::after {
  content: "";
  position: absolute;
  inset: 14px;

  border: 1px solid rgba(194, 167, 94, 0.6);
  box-shadow: 0 0 8px rgba(194, 167, 94, 0.15);

  pointer-events: none;
}




/* CTA wrapper */
.lympne-cta .elementor-cta {
    position: relative;
    overflow: hidden;
}

/* background image */
.lympne-cta .elementor-cta__bg {
    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 1;
}

/* remove Elementor overlay */
.lympne-cta .elementor-cta__bg-overlay {
    display: none !important;
}

/* custom cinematic gradient overlay */
.lympne-cta .elementor-cta::before {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            to bottom,
            rgba(13, 26, 19, 0.00) 0%,
            rgba(13, 26, 19, 0.02) 38%,
            rgba(13, 26, 19, 0.14) 52%,
            rgba(13, 26, 19, 0.55) 68%,
            rgba(13, 26, 19, 0.88) 84%,
            rgba(13, 26, 19, 1) 100%
        );

    z-index: 2;
    pointer-events: none;

    transition:
        background 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

/* gold inset frame */
.lympne-cta .elementor-cta::after {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(194, 167, 94, 0.88);

    z-index: 6;
    pointer-events: none;

    transform: scale(1);

    transition:
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.4s ease;
}

/* content above overlay */
.lympne-cta .elementor-cta__content {
    position: relative;
    z-index: 5;
}

/* hover image zoom */
.lympne-cta .elementor-cta:hover .elementor-cta__bg {
    transform: scale(1.05);
}

/* darker cinematic hover overlay */
.lympne-cta .elementor-cta:hover::before {
    background:
        linear-gradient(
            to bottom,
            rgba(13, 26, 19, 0.16) 0%,
            rgba(13, 26, 19, 0.34) 32%,
            rgba(13, 26, 19, 0.70) 68%,
            rgba(13, 26, 19, 1) 100%
        );
}

/* subtle frame breathing effect */
.lympne-cta .elementor-cta:hover::after {
    transform: scale(0.96);
    border-color: rgba(194, 167, 94, 1);
}



/* Top bar (only visible at top) */
.top-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 30px;
    z-index: 10000;
    transition: transform 0.35s ease;
}

/* Hide top bar after scroll */
.top-bar.bar-hidden {
    transform: translateY(-100%);
}

/* Header */
.smart-header {
    position: fixed;
    top: 30px; /* starts below bar */
    left: 0;
    width: 100%;
    z-index: 9999;

    transform: translateY(0);
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                top 0.35s ease,
                background 0.35s ease,
                box-shadow 0.35s ease;
}

/* When bar disappears, header moves up */
.smart-header.header-shifted {
    top: 0;
}

/* Hide header on scroll down */
.smart-header.header-hidden {
    transform: translateY(-100%);
}

/* Scrolled styling */
.smart-header.header-scrolled {
    background: rgba(116, 130, 95, 0.78) !important;
    backdrop-filter: blur(14px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.smart-header.header-scrolled .elementor-background-overlay {
    background: rgba(116, 130, 95, 0.78) !important;
    opacity: 1 !important;
}


.wedding-video-section .elementor-background-overlay {
    background: linear-gradient(
        to bottom,
        rgba(13, 26, 19, 0.18) 0%,
        rgba(13, 26, 19, 0.40) 45%,
        rgba(13, 26, 19, 0.75) 75%,
        rgba(13, 26, 19, 1) 100%
    ) !important;
    opacity: 1 !important;
}


/* Soft Fade Up */
.soft-fade-up {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    will-change: opacity, transform;
}

.soft-fade-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Soft Fade Left */
.soft-fade-left {
    opacity: 0;
    transform: translateX(-16px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    will-change: opacity, transform;
}

.soft-fade-left.is-visible {
    opacity: 1;
    transform: translateX(0);
}/* End custom CSS */