/*! Elementor Frontend CSS - Minimal (Essential Rules Only) */
/*
* This file contains only the CSS rules actually used by the closure page
* Reduced from ~70KB to ~8KB by removing unused widgets, responsive grid systems,
* and other components not present on this simple static page.
*/

/* === CORE UTILITIES === */
.elementor-hidden { display: none; }
.elementor-visibility-hidden { visibility: hidden; }

/* Screen reader text (used by skip-link) */
.elementor-screen-only, .screen-reader-text, .screen-reader-text span {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    top: -10000em;
    width: 1px;
    clip: rect(0,0,0,0);
    border: 0;
}

/* Basic clearfix */
.elementor-clearfix:after {
    clear: both;
    content: "";
    display: block;
    height: 0;
    width: 0;
}

/* === CORE ELEMENT STYLES === */
.elementor *, .elementor :after, .elementor :before {
    box-sizing: border-box;
}

.elementor a {
    box-shadow: none;
    text-decoration: none;
}

.elementor img {
    border: none;
    border-radius: 0;
    box-shadow: none;
    height: auto;
    max-width: 100%;
}

/* === ELEMENTOR ELEMENT BASE === */
.elementor-element {
    --flex-direction: initial;
    --flex-wrap: initial;
    --justify-content: initial;
    --align-items: initial;
    --align-content: initial;
    --gap: initial;
    --flex-basis: initial;
    --flex-grow: initial;
    --flex-shrink: initial;
    --order: initial;
    --align-self: initial;
    align-self: var(--align-self);
    flex-basis: var(--flex-basis);
    flex-grow: var(--flex-grow);
    flex-shrink: var(--flex-shrink);
    order: var(--order);
}

.elementor-element:where(.e-con-full, .elementor-widget) {
    align-content: var(--align-content);
    align-items: var(--align-items);
    flex-direction: var(--flex-direction);
    flex-wrap: var(--flex-wrap);
    gap: var(--row-gap) var(--column-gap);
    justify-content: var(--justify-content);
}

/* === WIDGET SYSTEM === */
.elementor-widget {
    position: relative;
}

.elementor-widget:not(:last-child) {
    margin-bottom: var(--kit-widget-spacing, 20px);
}

/* === CONTAINER SYSTEM === */
.e-con {
    --border-radius: 0;
    --border-top-width: 0px;
    --border-right-width: 0px;
    --border-bottom-width: 0px;
    --border-left-width: 0px;
    --border-style: initial;
    --border-color: initial;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --content-width: min(100%, var(--container-max-width, 1140px));
    --width: 100%;
    --min-height: initial;
    --height: auto;
    --text-align: initial;
    --margin-top: 0px;
    --margin-right: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --padding-top: var(--container-default-padding-top, 10px);
    --padding-right: var(--container-default-padding-right, 10px);
    --padding-bottom: var(--container-default-padding-bottom, 10px);
    --padding-left: var(--container-default-padding-left, 10px);
    --position: relative;
    --z-index: revert;
    --overflow: visible;
    --gap: var(--widgets-spacing, 20px);
    --row-gap: var(--widgets-spacing-row, 20px);
    --column-gap: var(--widgets-spacing-column, 20px);
    --overlay-mix-blend-mode: initial;
    --overlay-opacity: 1;
    --overlay-transition: 0.3s;
    border-radius: var(--border-radius);
    height: var(--height);
    min-height: var(--min-height);
    min-width: 0;
    overflow: var(--overflow);
    position: var(--position);
    width: var(--width);
    z-index: var(--z-index);
    --flex-wrap-mobile: wrap;
    margin-block-end: var(--margin-block-end);
    margin-block-start: var(--margin-block-start);
    margin-inline-end: var(--margin-inline-end);
    margin-inline-start: var(--margin-inline-start);
    padding-inline-end: var(--padding-inline-end);
    padding-inline-start: var(--padding-inline-start);
}

.e-con:not(.e-div-block-base) {
    transition: background var(--background-transition, .3s), border var(--border-transition, .3s), box-shadow var(--border-transition, .3s), transform var(--e-con-transform-transition-duration, .4s);
}

.e-con {
    --margin-block-start: var(--margin-top);
    --margin-block-end: var(--margin-bottom);
    --margin-inline-start: var(--margin-left);
    --margin-inline-end: var(--margin-right);
    --padding-inline-start: var(--padding-left);
    --padding-inline-end: var(--padding-right);
    --padding-block-start: var(--padding-top);
    --padding-block-end: var(--padding-bottom);
    --border-block-start-width: var(--border-top-width);
    --border-block-end-width: var(--border-bottom-width);
    --border-inline-start-width: var(--border-left-width);
    --border-inline-end-width: var(--border-right-width);
}

.e-con.e-flex {
    --flex-direction: column;
    --flex-basis: auto;
    --flex-grow: 0;
    --flex-shrink: 1;
    flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis);
}

.e-con-full, .e-con > .e-con-inner {
    padding-block-end: var(--padding-block-end);
    padding-block-start: var(--padding-block-start);
    text-align: var(--text-align);
}

.e-con-full.e-flex, .e-con.e-flex > .e-con-inner {
    flex-direction: var(--flex-direction);
}

.e-con, .e-con > .e-con-inner {
    display: var(--display);
}

.e-con-boxed.e-flex {
    align-content: normal;
    align-items: normal;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: normal;
}

.e-con-boxed {
    gap: initial;
    text-align: initial;
}

.e-con.e-flex > .e-con-inner {
    align-content: var(--align-content);
    align-items: var(--align-items);
    align-self: auto;
    flex-basis: auto;
    flex-grow: 1;
    flex-shrink: 1;
    flex-wrap: var(--flex-wrap);
    justify-content: var(--justify-content);
}

.e-con > .e-con-inner {
    gap: var(--row-gap) var(--column-gap);
    height: 100%;
    margin: 0 auto;
    max-width: var(--content-width);
    padding-inline-end: 0;
    padding-inline-start: 0;
    width: 100%;
}

:is(.elementor-section-wrap, [data-elementor-id]) > .e-con {
    --margin-left: auto;
    --margin-right: auto;
    max-width: min(100%, var(--width));
}

.e-con .elementor-widget.elementor-widget {
    margin-block-end: 0;
}

/* Container element spacing */
.e-con .elementor-widget:not(:last-child) {
    --kit-widget-spacing: 0px;
}

/* === HEADING WIDGET === */
.elementor-heading-title {
    margin: 0;
    padding: 0;
    color: inherit;
    font-family: inherit;
    font-weight: inherit;
    line-height: inherit;
}

/* === HEADING SIZES USED IN PAGE === */
.elementor-size-xl {
    font-size: 59px;
    font-weight: 600;
    line-height: 1em;
}

.elementor-size-medium {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2em;
}

.elementor-size-default {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2em;
}

/* === BACKGROUND SYSTEM === */
/* Background overlay and video containers */
.e-con:before, .e-con > .elementor-background-slideshow:before,
.e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer:before,
:is(.e-con, .e-con > .e-con-inner) > .elementor-background-video-container:before {
    border-block-end-width: var(--border-block-end-width);
    border-block-start-width: var(--border-block-start-width);
    border-color: var(--border-color);
    border-inline-end-width: var(--border-inline-end-width);
    border-inline-start-width: var(--border-inline-start-width);
    border-radius: var(--border-radius);
    border-style: var(--border-style);
    content: var(--background-overlay);
    display: block;
    height: max(100% + var(--border-top-width) + var(--border-bottom-width), 100%);
    left: calc(0px - var(--border-left-width));
    mix-blend-mode: var(--overlay-mix-blend-mode);
    opacity: var(--overlay-opacity);
    position: absolute;
    top: calc(0px - var(--border-top-width));
    transition: var(--overlay-transition, .3s);
    width: max(100% + var(--border-left-width) + var(--border-right-width), 100%);
}

.e-con:before {
    transition: background var(--overlay-transition, .3s), border-radius var(--border-transition, .3s), opacity var(--overlay-transition, .3s);
}

/* === MOBILE RESPONSIVE === */
@media (max-width: 767px) {
    .e-con.e-flex {
        --width: 100%;
        --flex-wrap: var(--flex-wrap-mobile);
    }
}

/* === TRANSITIONS === */
.elementor-element:not(.e-div-block-base) .elementor-widget-container,
.elementor-element:not(.e-div-block-base):not(:has(.elementor-widget-container)) {
    transition: background .3s, border .3s, border-radius .3s, box-shadow .3s, transform var(--e-transform-transition-duration, .4s);
}

/* === PAGE TITLE === */
:root {
    --page-title-display: block;
}

.elementor-page-title, h1.entry-title {
    display: var(--page-title-display);
}

/* === REDUCED MOTION === */
@media (prefers-reduced-motion: reduce) {
    .animated {
        animation: none;
    }
}

@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}
