/* Start custom CSS for html, class: .elementor-element-a151165 *//* ==========================================
   ENTERTAINMENT WORLD
   FLORIDA LOCATION PAGE
   ========================================== */

.ew-florida-page {
    --fl-dark: #24131A;
    --fl-dark-2: #351724;
    --fl-pink-dark: #D6336C;
    --fl-pink: #FF4081;
    --fl-light: #FFB6C1;
    --fl-white: #FFFFFF;
    --fl-text: #FFF5F8;
    --fl-muted: #D9BEC8;
    --fl-border: rgba(255,182,193,0.18);

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    overflow: hidden;

    color: var(--fl-text);
    background: var(--fl-dark);

    font-family: Arial, Helvetica, sans-serif;
}

.ew-florida-page *,
.ew-florida-page *::before,
.ew-florida-page *::after {
    box-sizing: border-box;
}

.ew-florida-page a {
    text-decoration: none;
}

.ew-florida-container {
    width: min(1180px, 92%);
    margin: 0 auto;
}


/* ==========================================
   HERO
   ========================================== */

.ew-florida-hero {
    min-height: 710px;

    position: relative;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 78% 20%,
            rgba(255,64,129,0.30),
            transparent 31%
        ),
        radial-gradient(
            circle at 8% 90%,
            rgba(214,51,108,0.20),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #24131A 0%,
            #351724 53%,
            #24131A 100%
        );
}

.ew-florida-hero::before {
    content: "";

    position: absolute;

    width: 700px;
    height: 700px;

    right: -390px;
    top: -300px;

    border: 1px solid rgba(255,182,193,0.13);

    border-radius: 50%;
}

.ew-florida-hero::after {
    content: "";

    position: absolute;

    width: 460px;
    height: 460px;

    right: -250px;
    top: -175px;

    border: 1px solid rgba(255,64,129,0.18);

    border-radius: 50%;
}

.ew-florida-hero-shape {
    position: absolute;

    border-radius: 50%;
}

.shape-a {
    width: 500px;
    height: 500px;

    left: -350px;
    bottom: -340px;

    background: rgba(255,64,129,0.09);

    filter: blur(40px);
}

.shape-b {
    width: 180px;
    height: 180px;

    right: 17%;
    bottom: 8%;

    border: 1px solid rgba(255,182,193,0.10);
}


.ew-florida-hero-inner {
    position: relative;
    z-index: 3;

    display: grid;

    grid-template-columns: 1.25fr 0.75fr;

    gap: 60px;

    align-items: center;
}

.ew-florida-hero-copy {
    padding: 105px 0;
}

.ew-florida-label {
    display: inline-block;

    margin-bottom: 21px;

    color: var(--fl-light);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 4px;
}

.ew-florida-hero h1 {
    max-width: 850px;

    margin: 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(43px, 5vw, 71px);

    line-height: 1.04;

    letter-spacing: -2px;
}

.ew-florida-hero h1::after {
    content: "";

    display: block;

    width: 92px;
    height: 4px;

    margin-top: 28px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            var(--fl-pink-dark),
            var(--fl-pink),
            var(--fl-light)
        );
}

.ew-florida-hero p {
    max-width: 700px;

    margin: 29px 0 35px;

    color: var(--fl-muted);

    font-size: 17px;

    line-height: 1.85;
}


/* ==========================================
   HERO ART
   ========================================== */

.ew-florida-hero-art {
    min-height: 520px;

    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;
}

.ew-florida-ring {
    position: absolute;

    border-radius: 50%;

    border: 1px solid rgba(255,182,193,0.18);
}

.ring-one {
    width: 430px;
    height: 430px;
}

.ring-two {
    width: 310px;
    height: 310px;

    border-color: rgba(255,64,129,0.26);
}

.ew-florida-state-card {
    width: 250px;
    height: 325px;

    position: relative;
    z-index: 3;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,182,193,0.30);

    background:
        linear-gradient(
            145deg,
            rgba(214,51,108,0.42),
            rgba(36,19,26,0.96)
        );

    box-shadow:
        0 35px 85px rgba(0,0,0,0.38);

    transform: rotate(4deg);
}

.ew-florida-state-card small {
    color: var(--fl-light);

    font-size: 9px;

    letter-spacing: 4px;
}

.ew-florida-state-card strong {
    margin: 17px 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 95px;

    line-height: 0.9;
}

.ew-florida-state-card span {
    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 19px;

    letter-spacing: 3px;
}

.ew-florida-state-card em {
    margin-top: 12px;

    color: var(--fl-muted);

    font-size: 9px;

    font-style: normal;

    letter-spacing: 3px;
}


/* ==========================================
   BUTTONS
   ========================================== */

.ew-florida-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 14px;
}

.ew-florida-btn {
    min-height: 54px;

    padding: 0 29px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border-radius: 4px;

    font-size: 14px;
    font-weight: 700;

    transition: all 0.3s ease;
}

.ew-florida-btn-primary {
    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            var(--fl-pink-dark),
            var(--fl-pink)
        );

    box-shadow:
        0 14px 36px rgba(214,51,108,0.28);
}

.ew-florida-btn-primary:hover {
    color: #ffffff !important;

    transform: translateY(-3px);

    box-shadow:
        0 20px 45px rgba(255,64,129,0.36);
}

.ew-florida-btn-secondary {
    color: var(--fl-light) !important;

    border: 1px solid rgba(255,182,193,0.40);

    background: rgba(255,255,255,0.025);
}

.ew-florida-btn-secondary:hover {
    color: #ffffff !important;

    border-color: var(--fl-pink);

    background: rgba(255,64,129,0.08);

    transform: translateY(-3px);
}


/* ==========================================
   INTRO
   ========================================== */

.ew-florida-intro {
    padding: 120px 0;

    background: var(--fl-dark);
}

.ew-florida-intro-grid {
    display: grid;

    grid-template-columns: 0.9fr 1.1fr;

    gap: 90px;

    align-items: start;
}

.ew-florida-intro-heading {
    position: sticky;

    top: 40px;
}

.ew-florida-intro-heading > span,
.ew-florida-heading > span,
.ew-florida-process-intro > span {
    display: block;

    margin-bottom: 16px;

    color: var(--fl-pink);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 3px;
}

.ew-florida-intro-heading h2 {
    margin: 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(36px, 4vw, 54px);

    line-height: 1.1;
}

.ew-florida-intro-content {
    padding-top: 5px;
}

.ew-florida-intro-content > p {
    margin: 0 0 22px;

    color: var(--fl-muted);

    font-size: 15px;

    line-height: 1.9;
}

.ew-florida-highlight {
    margin-top: 35px;

    padding: 25px;

    display: grid;

    grid-template-columns: 48px 1fr;

    gap: 20px;

    border: 1px solid var(--fl-border);

    background:
        linear-gradient(
            135deg,
            rgba(255,64,129,0.08),
            rgba(255,255,255,0.02)
        );
}

.ew-florida-highlight > span {
    color: var(--fl-pink);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 17px;
}

.ew-florida-highlight strong {
    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 20px;
}

.ew-florida-highlight p {
    margin: 7px 0 0;

    color: var(--fl-muted);

    font-size: 13px;

    line-height: 1.7;
}


/* ==========================================
   SERVICES
   ========================================== */

.ew-florida-services {
    padding: 120px 0;

    background:
        linear-gradient(
            180deg,
            #351724,
            #24131A
        );
}

.ew-florida-heading {
    max-width: 800px;

    margin-bottom: 55px;
}

.ew-florida-heading.center {
    margin-left: auto;
    margin-right: auto;

    text-align: center;
}

.ew-florida-heading h2 {
    margin: 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(36px, 4vw, 54px);

    line-height: 1.1;
}

.ew-florida-heading p {
    max-width: 700px;

    margin: 20px auto 0;

    color: var(--fl-muted);

    font-size: 15px;

    line-height: 1.8;
}

.ew-florida-service-list {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 16px;
}

.ew-florida-service {
    min-height: 320px;

    padding: 34px;

    border: 1px solid var(--fl-border);

    background: rgba(255,255,255,0.025);

    transition: all 0.35s ease;
}

.ew-florida-service:hover {
    transform: translateY(-7px);

    border-color: rgba(255,64,129,0.48);

    background: rgba(255,64,129,0.055);
}

.service-top {
    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 60px;
}

.service-top > span {
    color: var(--fl-pink);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 18px;
}

.service-arrow {
    width: 37px;
    height: 37px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--fl-light);

    border: 1px solid rgba(255,182,193,0.22);

    font-size: 16px;

    transition: all 0.3s ease;
}

.ew-florida-service:hover .service-arrow {
    color: #ffffff;

    background: var(--fl-pink-dark);

    border-color: var(--fl-pink-dark);
}

.ew-florida-service h3 {
    margin: 0 0 14px;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 25px;

    line-height: 1.25;
}

.ew-florida-service p {
    margin: 0;

    color: var(--fl-muted);

    font-size: 13px;

    line-height: 1.75;
}

.ew-florida-service a {
    display: inline-block;

    margin-top: 23px;

    color: var(--fl-light);

    font-size: 12px;

    font-weight: 700;
}


/* ==========================================
   LOCATIONS
   ========================================== */

.ew-florida-locations {
    padding: 120px 0;

    background: var(--fl-dark);
}

.ew-florida-location-head {
    display: grid;

    grid-template-columns: 1fr 0.7fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 55px;

    padding-bottom: 35px;

    border-bottom: 1px solid var(--fl-border);
}

.ew-florida-location-head > div > span {
    color: var(--fl-pink);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 3px;
}

.ew-florida-location-head h2 {
    margin: 15px 0 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(36px, 4vw, 53px);

    line-height: 1.1;
}

.ew-florida-location-head > p {
    margin: 0;

    color: var(--fl-muted);

    font-size: 14px;

    line-height: 1.8;
}

.ew-florida-location-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 12px;
}

.ew-florida-location-card {
    min-height: 210px;

    padding: 28px;

    position: relative;

    border: 1px solid var(--fl-border);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.035),
            rgba(255,64,129,0.025)
        );

    transition: all 0.3s ease;
}

.ew-florida-location-card:hover {
    transform: translateY(-6px);

    border-color: rgba(255,64,129,0.45);
}

.ew-florida-location-card > span {
    display: block;

    margin-bottom: 43px;

    color: var(--fl-pink);

    font-size: 11px;

    font-weight: 700;
}

.ew-florida-location-card h3 {
    margin: 0 0 9px;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 21px;
}

.ew-florida-location-card p {
    margin: 0;

    color: var(--fl-muted);

    font-size: 12px;

    line-height: 1.7;
}


/* ==========================================
   FEATURE
   ========================================== */

.ew-florida-feature {
    padding: 110px 0;

    background: var(--fl-dark);
}

.ew-florida-feature-box {
    display: grid;

    grid-template-columns: 0.25fr 1fr;

    gap: 45px;

    padding: 70px;

    border: 1px solid rgba(255,182,193,0.20);

    background:
        radial-gradient(
            circle at 75% 10%,
            rgba(255,64,129,0.22),
            transparent 48%
        ),
        #351724;
}

.ew-florida-feature-number {
    width: 120px;
    height: 120px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,182,193,0.30);

    background: rgba(255,64,129,0.08);

    transform: rotate(-5deg);
}

.ew-florida-feature-number span {
    color: var(--fl-light);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 40px;
}

.ew-florida-feature-content > span {
    display: block;

    margin-bottom: 17px;

    color: var(--fl-light);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;
}

.ew-florida-feature-content h2 {
    max-width: 850px;

    margin: 0 0 20px;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(36px, 4vw, 53px);

    line-height: 1.1;
}

.ew-florida-feature-content > p {
    max-width: 800px;

    margin: 0 0 28px;

    color: var(--fl-muted);

    font-size: 15px;

    line-height: 1.85;
}

.ew-florida-feature-tags {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;
}

.ew-florida-feature-tags span {
    padding: 9px 15px;

    color: var(--fl-light);

    border: 1px solid rgba(255,182,193,0.18);

    font-size: 11px;
}


/* ==========================================
   WHY US
   ========================================== */

.ew-florida-why {
    padding: 120px 0;

    background:
        linear-gradient(
            135deg,
            #351724,
            #24131A
        );
}

.ew-florida-why-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid var(--fl-border);
    border-left: 1px solid var(--fl-border);
}

.ew-florida-why-card {
    min-height: 290px;

    padding: 30px 27px;

    border-right: 1px solid var(--fl-border);
    border-bottom: 1px solid var(--fl-border);

    transition: all 0.3s ease;
}

.ew-florida-why-card:hover {
    background: rgba(255,64,129,0.055);
}

.why-number {
    width: 43px;
    height: 43px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 58px;

    color: var(--fl-pink);

    border: 1px solid rgba(255,64,129,0.30);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 13px;
}

.ew-florida-why-card h3 {
    margin: 0 0 12px;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 21px;
}

.ew-florida-why-card p {
    margin: 0;

    color: var(--fl-muted);

    font-size: 13px;

    line-height: 1.7;
}


/* ==========================================
   PROCESS
   ========================================== */

.ew-florida-process {
    padding: 120px 0;

    background: var(--fl-dark);
}

.ew-florida-process-intro {
    max-width: 720px;

    margin-bottom: 55px;
}

.ew-florida-process-intro h2 {
    margin: 0 0 18px;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(36px, 4vw, 53px);

    line-height: 1.1;
}

.ew-florida-process-intro p {
    margin: 0;

    color: var(--fl-muted);

    font-size: 15px;

    line-height: 1.8;
}

.ew-florida-process-list {
    border-top: 1px solid var(--fl-border);
}

.ew-florida-process-item {
    display: grid;

    grid-template-columns: 90px 1fr;

    gap: 25px;

    padding: 28px 0;

    border-bottom: 1px solid var(--fl-border);

    transition: padding-left 0.3s ease;
}

.ew-florida-process-item:hover {
    padding-left: 12px;
}

.process-count {
    color: var(--fl-pink);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 19px;
}

.ew-florida-process-item h3 {
    margin: 0 0 8px;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 23px;
}

.ew-florida-process-item p {
    max-width: 700px;

    margin: 0;

    color: var(--fl-muted);

    font-size: 13px;

    line-height: 1.7;
}


/* ==========================================
   FAQ
   ========================================== */

.ew-florida-faq {
    padding: 120px 0;

    background:
        linear-gradient(
            180deg,
            #351724,
            #24131A
        );
}

.ew-florida-faq-grid {
    max-width: 1000px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 12px;
}

.ew-florida-faq-grid details {
    border: 1px solid var(--fl-border);

    background: rgba(255,255,255,0.025);

    transition: all 0.3s ease;
}

.ew-florida-faq-grid details[open] {
    border-color: rgba(255,64,129,0.45);

    background: rgba(255,64,129,0.055);
}

.ew-florida-faq-grid summary {
    position: relative;

    min-height: 72px;

    padding: 20px 52px 20px 21px;

    display: flex;

    align-items: center;

    color: #ffffff;

    font-size: 13px;

    font-weight: 700;

    line-height: 1.5;

    cursor: pointer;

    list-style: none;
}

.ew-florida-faq-grid summary::-webkit-details-marker {
    display: none;
}

.ew-florida-faq-grid summary::after {
    content: "+";

    position: absolute;

    right: 20px;
    top: 20px;

    color: var(--fl-pink);

    font-size: 23px;

    font-weight: 400;
}

.ew-florida-faq-grid details[open] summary::after {
    content: "−";
}

.ew-florida-faq-grid details p {
    margin: 0;

    padding: 0 21px 22px;

    color: var(--fl-muted);

    font-size: 13px;

    line-height: 1.75;
}


/* ==========================================
   CTA
   ========================================== */

.ew-florida-cta {
    padding: 110px 0;

    background: var(--fl-dark);
}

.ew-florida-cta-inner {
    position: relative;

    overflow: hidden;

    padding: 85px 50px;

    text-align: center;

    border: 1px solid rgba(255,182,193,0.23);

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(255,64,129,0.26),
            transparent 57%
        ),
        linear-gradient(
            135deg,
            #351724,
            #24131A
        );
}

.ew-florida-cta-inner::before {
    content: "";

    position: absolute;

    width: 350px;
    height: 350px;

    left: -190px;
    bottom: -230px;

    border: 1px solid rgba(255,64,129,0.13);

    border-radius: 50%;
}

.ew-florida-cta-inner::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    right: -170px;
    top: -200px;

    border: 1px solid rgba(255,182,193,0.13);

    border-radius: 50%;
}

.ew-florida-cta-inner > * {
    position: relative;

    z-index: 2;
}

.ew-florida-cta-inner > span {
    display: block;

    margin-bottom: 18px;

    color: var(--fl-light);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;
}

.ew-florida-cta-inner h2 {
    max-width: 850px;

    margin: 0 auto 20px;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(36px, 4.2vw, 57px);

    line-height: 1.1;
}

.ew-florida-cta-inner > p {
    max-width: 730px;

    margin: 0 auto 32px;

    color: var(--fl-muted);

    line-height: 1.8;
}

.ew-florida-cta-actions {
    justify-content: center;
}


/* ==========================================
   ELEMENTOR FULL WIDTH FIX
   ========================================== */

.elementor-widget-html:has(.ew-florida-page) {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.elementor-widget-html:has(.ew-florida-page)
.elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 1000px) {

    .ew-florida-hero-inner {
        grid-template-columns: 1fr;
    }

    .ew-florida-hero-art {
        display: none;
    }

    .ew-florida-hero-copy {
        max-width: 850px;
    }

    .ew-florida-intro-grid {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .ew-florida-intro-heading {
        position: static;
    }

    .ew-florida-service-list {
        grid-template-columns: 1fr 1fr;
    }

    .ew-florida-location-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ew-florida-location-head {
        grid-template-columns: 1fr;

        gap: 25px;
    }

    .ew-florida-feature-box {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .ew-florida-why-grid {
        grid-template-columns: 1fr 1fr;
    }

}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 650px) {

    .ew-florida-container {
        width: 90%;
    }

    .ew-florida-hero {
        min-height: 650px;
    }

    .ew-florida-hero-copy {
        padding: 80px 0;
    }

    .ew-florida-hero h1 {
        font-size: 42px;

        letter-spacing: -1px;
    }

    .ew-florida-hero p {
        font-size: 15px;

        line-height: 1.75;
    }

    .ew-florida-intro,
    .ew-florida-services,
    .ew-florida-locations,
    .ew-florida-feature,
    .ew-florida-why,
    .ew-florida-process,
    .ew-florida-faq {
        padding: 75px 0;
    }

    .ew-florida-cta {
        padding: 70px 0;
    }

    .ew-florida-intro-heading h2,
    .ew-florida-heading h2,
    .ew-florida-location-head h2,
    .ew-florida-feature-content h2,
    .ew-florida-process-intro h2 {
        font-size: 35px;
    }

    .ew-florida-service-list {
        grid-template-columns: 1fr;
    }

    .ew-florida-service {
        min-height: 290px;
    }

    .ew-florida-location-grid {
        grid-template-columns: 1fr;
    }

    .ew-florida-feature-box {
        padding: 45px 25px;
    }

    .ew-florida-feature-number {
        width: 90px;
        height: 90px;
    }

    .ew-florida-feature-number span {
        font-size: 30px;
    }

    .ew-florida-why-grid {
        grid-template-columns: 1fr;
    }

    .ew-florida-why-card {
        min-height: auto;
    }

    .ew-florida-faq-grid {
        grid-template-columns: 1fr;
    }

    .ew-florida-cta-inner {
        padding: 60px 25px;
    }

}


/* ==========================================
   SMALL MOBILE
   ========================================== */

@media (max-width: 400px) {

    .ew-florida-hero h1 {
        font-size: 36px;
    }

    .ew-florida-label {
        font-size: 9px;

        letter-spacing: 2px;
    }

    .ew-florida-actions {
        width: 100%;
    }

    .ew-florida-btn {
        width: 100%;
    }

    .ew-florida-service {
        padding: 26px;
    }

    .ew-florida-location-card {
        min-height: 185px;

        padding: 23px;
    }

    .ew-florida-location-card > span {
        margin-bottom: 30px;
    }

    .ew-florida-process-item {
        grid-template-columns: 55px 1fr;

        gap: 15px;

        padding: 25px 0;
    }

}/* End custom CSS */