.elementor-15 .elementor-element.elementor-element-3fa2fd0{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.51;--padding-top:10px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-15 .elementor-element.elementor-element-3fa2fd0:not(.elementor-motion-effects-element-type-background), .elementor-15 .elementor-element.elementor-element-3fa2fd0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1E3620;}.elementor-15 .elementor-element.elementor-element-3fa2fd0::before, .elementor-15 .elementor-element.elementor-element-3fa2fd0 > .elementor-background-video-container::before, .elementor-15 .elementor-element.elementor-element-3fa2fd0 > .e-con-inner > .elementor-background-video-container::before, .elementor-15 .elementor-element.elementor-element-3fa2fd0 > .elementor-background-slideshow::before, .elementor-15 .elementor-element.elementor-element-3fa2fd0 > .e-con-inner > .elementor-background-slideshow::before, .elementor-15 .elementor-element.elementor-element-3fa2fd0 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-15 .elementor-element.elementor-element-999aa4c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-15 .elementor-element.elementor-element-c704274{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-15 .elementor-element.elementor-element-03bc354{padding:0px 0px 0px 0px;}.elementor-15 .elementor-element.elementor-element-03bc354 .elementor-menu-toggle{margin:0 auto;}.elementor-15 .elementor-element.elementor-element-03bc354 .elementor-nav-menu .elementor-item{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:300;text-transform:uppercase;}.elementor-15 .elementor-element.elementor-element-03bc354 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-15 .elementor-element.elementor-element-03bc354 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-15 .elementor-element.elementor-element-03bc354 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-15 .elementor-element.elementor-element-03bc354 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-15 .elementor-element.elementor-element-03bc354 .elementor-nav-menu--main .elementor-item:focus{color:#E1D15E;fill:#E1D15E;}.elementor-15 .elementor-element.elementor-element-03bc354 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-15 .elementor-element.elementor-element-03bc354 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#3A8132;}.elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-framed .elementor-item:before,
					.elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-framed .elementor-item:after{border-color:#3A8132;}.elementor-15 .elementor-element.elementor-element-03bc354 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:before,
					.elementor-15 .elementor-element.elementor-element-03bc354 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:after{background-color:#3A8132;}.elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-framed .elementor-item.elementor-item-active:before,
					.elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-framed .elementor-item.elementor-item-active:after{border-color:#3A8132;}.elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-framed .elementor-item:before{border-width:0px;}.elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-framed.e--animation-draw .elementor-item:before{border-width:0 0 0px 0px;}.elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-framed.e--animation-draw .elementor-item:after{border-width:0px 0px 0 0;}.elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-framed.e--animation-corners .elementor-item:before{border-width:0px 0 0 0px;}.elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-framed.e--animation-corners .elementor-item:after{border-width:0 0px 0px 0;}.elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-underline .elementor-item:after,
					 .elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-overline .elementor-item:before,
					 .elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-double-line .elementor-item:before,
					 .elementor-15 .elementor-element.elementor-element-03bc354 .e--pointer-double-line .elementor-item:after{height:0px;}.elementor-15 .elementor-element.elementor-element-dbdfa00{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-15 .elementor-element.elementor-element-e82f531 .elementor-button{background-color:#E1D15E;font-family:"Poppins", Sans-serif;font-size:18px;font-weight:400;text-transform:uppercase;fill:#000000;color:#000000;}.elementor-15 .elementor-element.elementor-element-e82f531 .elementor-button:hover, .elementor-15 .elementor-element.elementor-element-e82f531 .elementor-button:focus{background-color:#000000;color:#FFFFFF;}.elementor-15 .elementor-element.elementor-element-e82f531 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-15 .elementor-element.elementor-element-e82f531 .elementor-button:hover svg, .elementor-15 .elementor-element.elementor-element-e82f531 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-15 .elementor-element.elementor-element-3fa2fd0{--content-width:1400px;}.elementor-15 .elementor-element.elementor-element-999aa4c{--width:20%;}.elementor-15 .elementor-element.elementor-element-c704274{--width:70%;}.elementor-15 .elementor-element.elementor-element-dbdfa00{--width:20%;}}/* Start custom CSS for container, class: .elementor-element-3fa2fd0 */<style>
/* ==================================================
   DAVID KENT HERO MOTION BACKGROUND
   No GSAP or external library required
================================================== */

.background1 {
    position: relative !important;
    isolation: isolate;
    overflow: hidden !important;
    background-color: #17291d !important;
}

/* Elementor content stays above the motion layer */
.background1 > .e-con-inner {
    position: relative !important;
    z-index: 5 !important;
}

/* Main animated background */
.dk-native-motion {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

/* Canvas particles */
.dk-native-motion canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Premium forest gradient */
.dk-native-motion::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(
            circle at 76% 43%,
            rgba(238, 217, 78, 0.15) 0%,
            rgba(238, 217, 78, 0.05) 25%,
            transparent 48%
        ),
        radial-gradient(
            circle at 8% 82%,
            rgba(93, 135, 72, 0.22) 0%,
            transparent 39%
        ),
        linear-gradient(
            110deg,
            rgba(8, 21, 12, 0.78) 0%,
            rgba(23, 48, 29, 0.46) 48%,
            rgba(11, 28, 17, 0.56) 100%
        );
}

/* Dark cinematic edges */
.dk-native-motion::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    background:
        linear-gradient(
            90deg,
            rgba(5, 14, 8, 0.48),
            transparent 43%,
            rgba(5, 14, 8, 0.15)
        ),
        radial-gradient(
            ellipse at center,
            transparent 40%,
            rgba(3, 10, 5, 0.43) 100%
        );
}

/* Moving aurora style forest glow */
.dk-moving-glow {
    position: absolute;
    z-index: 2;
    width: 750px;
    height: 750px;
    top: -330px;
    right: -80px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(238, 218, 78, 0.28) 0%,
        rgba(149, 162, 65, 0.12) 38%,
        transparent 68%
    );
    filter: blur(55px);
    animation: dkGlowMove 9s ease-in-out infinite alternate;
}

/* Second soft green glow */
.dk-moving-glow-two {
    position: absolute;
    z-index: 2;
    width: 590px;
    height: 590px;
    left: -250px;
    bottom: -300px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(91, 139, 74, 0.25) 0%,
        rgba(68, 111, 60, 0.11) 42%,
        transparent 72%
    );
    filter: blur(60px);
    animation: dkGlowMoveTwo 12s ease-in-out infinite alternate;
}

/* Animated sunlight rays */
.dk-forest-rays {
    position: absolute;
    z-index: 2;
    width: 700px;
    height: 125%;
    top: -45%;
    right: 3%;
    opacity: 0.14;
    transform: rotate(17deg);
    transform-origin: top center;
    background: repeating-linear-gradient(
        90deg,
        transparent 0 64px,
        rgba(255, 238, 139, 0.58) 65px 77px,
        transparent 78px 138px
    );
    filter: blur(7px);
    -webkit-mask-image: linear-gradient(
        to bottom,
        #000 0%,
        rgba(0, 0, 0, 0.8) 35%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to bottom,
        #000 0%,
        rgba(0, 0, 0, 0.8) 35%,
        transparent 100%
    );
    animation: dkRaysMove 10s ease-in-out infinite alternate;
}

/* Moving mist */
.dk-mist {
    position: absolute;
    z-index: 3;
    left: -25%;
    bottom: -18%;
    width: 150%;
    height: 48%;
    opacity: 0.16;
    border-radius: 50%;
    background:
        radial-gradient(
            ellipse at center,
            rgba(165, 189, 133, 0.48) 0%,
            rgba(77, 115, 68, 0.18) 42%,
            transparent 72%
        );
    filter: blur(46px);
    animation: dkMistMove 15s ease-in-out infinite alternate;
}

/* Decorative blurred foliage */
.dk-foliage {
    position: absolute;
    z-index: 2;
    width: 430px;
    height: 430px;
    left: -120px;
    top: -90px;
    opacity: 0.1;
    border-radius: 46% 54% 62% 38%;
    background:
        radial-gradient(
            ellipse at 30% 45%,
            #b0c177 0 4%,
            transparent 5%
        ),
        radial-gradient(
            ellipse at 48% 28%,
            #b0c177 0 5%,
            transparent 6%
        ),
        radial-gradient(
            ellipse at 65% 54%,
            #b0c177 0 6%,
            transparent 7%
        ),
        radial-gradient(
            ellipse at 35% 70%,
            #b0c177 0 5%,
            transparent 6%
        );
    filter: blur(2px);
    animation: dkFoliageMove 13s ease-in-out infinite alternate;
}

/* Fine texture */
.dk-motion-grain {
    position: absolute;
    inset: 0;
    z-index: 3;
    opacity: 0.035;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

/* Book styling */
.background1 .elementor-element-a016e3f img {
    position: relative;
    z-index: 6;
    transform-origin: center;
    filter:
        drop-shadow(0 32px 32px rgba(0, 0, 0, 0.48))
        drop-shadow(0 0 24px rgba(226, 210, 75, 0.12));
    animation: dkBookFloat 4.5s ease-in-out infinite;
}

/* Glow behind book */
.background1 .elementor-element-a44e36f {
    position: relative;
}

.background1 .elementor-element-a44e36f::before {
    content: "";
    position: absolute;
    z-index: 0;
    width: 78%;
    height: 75%;
    top: 12%;
    left: 11%;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(231, 214, 83, 0.22),
        transparent 68%
    );
    filter: blur(38px);
    animation: dkBookGlow 4.5s ease-in-out infinite alternate;
}

/* Main text appearance */
.background1 .elementor-heading-title,
.background1 .elementor-widget-text-editor {
    text-shadow: 0 5px 23px rgba(0, 0, 0, 0.36);
}

/* Gold title */
.background1 .elementor-element-e5e3fbc .elementor-heading-title {
    color: #e8d64d !important;
}

/* Buttons */
.background1 .elementor-button {
    position: relative;
    overflow: hidden;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease !important;
}

.background1 .elementor-button::after {
    content: "";
    position: absolute;
    top: 0;
    left: -130%;
    width: 70%;
    height: 100%;
    transform: skewX(-25deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.28),
        transparent
    );
    transition: left 0.7s ease;
}

.background1 .elementor-button:hover::after {
    left: 150%;
}

.background1 .elementor-button:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
}

/* Animations */
@keyframes dkGlowMove {
    0% {
        transform: translate3d(-35px, -10px, 0) scale(0.92);
        opacity: 0.48;
    }

    100% {
        transform: translate3d(80px, 75px, 0) scale(1.18);
        opacity: 0.78;
    }
}

@keyframes dkGlowMoveTwo {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    100% {
        transform: translate3d(100px, -65px, 0) scale(1.2);
    }
}

@keyframes dkRaysMove {
    0% {
        transform: translateX(-45px) rotate(14deg);
        opacity: 0.07;
    }

    100% {
        transform: translateX(55px) rotate(20deg);
        opacity: 0.2;
    }
}

@keyframes dkMistMove {
    0% {
        transform: translateX(-4%) scaleX(1);
    }

    100% {
        transform: translateX(8%) scaleX(1.12);
    }
}

@keyframes dkFoliageMove {
    0% {
        transform: translate(-15px, -8px) rotate(-4deg);
    }

    100% {
        transform: translate(45px, 28px) rotate(8deg);
    }
}

@keyframes dkBookFloat {
    0%,
    100% {
        transform: translateY(0) rotate(-0.4deg);
    }

    50% {
        transform: translateY(-15px) rotate(0.5deg);
    }
}

@keyframes dkBookGlow {
    0% {
        opacity: 0.38;
        transform: scale(0.94);
    }

    100% {
        opacity: 0.76;
        transform: scale(1.08);
    }
}

/* Tablet */
@media (max-width: 1024px) {
    .dk-forest-rays {
        right: -18%;
    }

    .dk-moving-glow {
        right: -250px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .dk-moving-glow {
        width: 450px;
        height: 450px;
        top: 38%;
        right: -240px;
    }

    .dk-moving-glow-two {
        width: 400px;
        height: 400px;
        left: -230px;
    }

    .dk-forest-rays {
        width: 430px;
        right: -250px;
        opacity: 0.09;
    }

    .dk-foliage {
        width: 280px;
        height: 280px;
    }

    .background1 .elementor-element-a016e3f img {
        animation-duration: 5.5s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dk-moving-glow,
    .dk-moving-glow-two,
    .dk-forest-rays,
    .dk-mist,
    .dk-foliage,
    .background1 .elementor-element-a016e3f img,
    .background1 .elementor-element-a44e36f::before {
        animation: none !important;
    }
}
</style>

<script>
(function () {
    function createHeroMotion() {
        const hero = document.querySelector(".background1");

        if (!hero || hero.querySelector(".dk-native-motion")) {
            return;
        }

        const motion = document.createElement("div");
        motion.className = "dk-native-motion";
        motion.setAttribute("aria-hidden", "true");

        motion.innerHTML = `
            <canvas class="dk-particle-canvas"></canvas>
            <div class="dk-moving-glow"></div>
            <div class="dk-moving-glow-two"></div>
            <div class="dk-forest-rays"></div>
            <div class="dk-mist"></div>
            <div class="dk-foliage"></div>
            <div class="dk-motion-grain"></div>
        `;

        hero.insertBefore(motion, hero.firstChild);

        const canvas = motion.querySelector(".dk-particle-canvas");
        const ctx = canvas.getContext("2d");

        let width = 0;
        let height = 0;
        let pixelRatio = Math.min(window.devicePixelRatio || 1, 2);
        let particles = [];
        let animationFrame;

        function resizeCanvas() {
            const rect = hero.getBoundingClientRect();

            width = Math.max(rect.width, 1);
            height = Math.max(rect.height, 1);

            canvas.width = width * pixelRatio;
            canvas.height = height * pixelRatio;
            canvas.style.width = width + "px";
            canvas.style.height = height + "px";

            ctx.setTransform(
                pixelRatio,
                0,
                0,
                pixelRatio,
                0,
                0
            );

            createParticles();
        }

        function createParticles() {
            const quantity = window.innerWidth < 768 ? 28 : 52;

            particles = [];

            for (let i = 0; i < quantity; i++) {
                particles.push({
                    x: Math.random() * width,
                    y: Math.random() * height,
                    radius: Math.random() * 2.2 + 0.5,
                    speedX: Math.random() * 0.18 - 0.09,
                    speedY: -(Math.random() * 0.28 + 0.08),
                    opacity: Math.random() * 0.45 + 0.08,
                    pulse: Math.random() * Math.PI * 2,
                    pulseSpeed: Math.random() * 0.025 + 0.008
                });
            }
        }

        function animateParticles() {
            ctx.clearRect(0, 0, width, height);

            particles.forEach(function (particle) {
                particle.x += particle.speedX;
                particle.y += particle.speedY;
                particle.pulse += particle.pulseSpeed;

                if (particle.y < -10) {
                    particle.y = height + 10;
                    particle.x = Math.random() * width;
                }

                if (particle.x < -10) {
                    particle.x = width + 10;
                }

                if (particle.x > width + 10) {
                    particle.x = -10;
                }

                const pulseOpacity =
                    particle.opacity *
                    (0.6 + Math.sin(particle.pulse) * 0.4);

                const gradient = ctx.createRadialGradient(
                    particle.x,
                    particle.y,
                    0,
                    particle.x,
                    particle.y,
                    particle.radius * 4
                );

                gradient.addColorStop(
                    0,
                    "rgba(241, 222, 91," + pulseOpacity + ")"
                );

                gradient.addColorStop(
                    0.35,
                    "rgba(224, 208, 78," +
                    pulseOpacity * 0.48 +
                    ")"
                );

                gradient.addColorStop(
                    1,
                    "rgba(224, 208, 78,0)"
                );

                ctx.beginPath();
                ctx.arc(
                    particle.x,
                    particle.y,
                    particle.radius * 4,
                    0,
                    Math.PI * 2
                );
                ctx.fillStyle = gradient;
                ctx.fill();
            });

            animationFrame = requestAnimationFrame(animateParticles);
        }

        resizeCanvas();

        if (
            !window.matchMedia(
                "(prefers-reduced-motion: reduce)"
            ).matches
        ) {
            animateParticles();
        }

        let resizeTimer;

        window.addEventListener("resize", function () {
            clearTimeout(resizeTimer);

            resizeTimer = setTimeout(function () {
                cancelAnimationFrame(animationFrame);
                resizeCanvas();

                if (
                    !window.matchMedia(
                        "(prefers-reduced-motion: reduce)"
                    ).matches
                ) {
                    animateParticles();
                }
            }, 180);
        });

        /* Gentle mouse movement */
        if (window.innerWidth > 767) {
            const glow = motion.querySelector(".dk-moving-glow");
            const rays = motion.querySelector(".dk-forest-rays");
            const foliage = motion.querySelector(".dk-foliage");

            hero.addEventListener("mousemove", function (event) {
                const rect = hero.getBoundingClientRect();

                const horizontal =
                    (event.clientX - rect.left) / rect.width - 0.5;

                const vertical =
                    (event.clientY - rect.top) / rect.height - 0.5;

                glow.style.marginLeft =
                    horizontal * 22 + "px";

                glow.style.marginTop =
                    vertical * 15 + "px";

                rays.style.marginLeft =
                    horizontal * 18 + "px";

                foliage.style.marginLeft =
                    horizontal * -15 + "px";

                foliage.style.marginTop =
                    vertical * -10 + "px";
            });
        }
    }

    function waitForHero(attempt) {
        if (document.querySelector(".background1")) {
            createHeroMotion();
            return;
        }

        if (attempt < 30) {
            setTimeout(function () {
                waitForHero(attempt + 1);
            }, 250);
        }
    }

    if (document.readyState === "loading") {
        document.addEventListener(
            "DOMContentLoaded",
            function () {
                waitForHero(0);
            }
        );
    } else {
        waitForHero(0);
    }

    /* Supports Elementor editor and frontend rendering */
    window.addEventListener(
        "elementor/frontend/init",
        function () {
            setTimeout(function () {
                waitForHero(0);
            }, 500);
        }
    );
})();
</script>/* End custom CSS */