.elementor-5479 .elementor-element.elementor-element-7053dfa8{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:visible;--padding-top:22px;--padding-bottom:22px;--padding-left:48px;--padding-right:48px;}.elementor-5479 .elementor-element.elementor-element-676cf8f9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;}.elementor-5479 .elementor-element.elementor-element-5990eb1e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-5479 .elementor-element.elementor-element-6c64d93c .elementor-button{background-color:#5A4D4F00;border-style:none;}.elementor-5479 .elementor-element.elementor-element-6c64d93c .elementor-button:hover, .elementor-5479 .elementor-element.elementor-element-6c64d93c .elementor-button:focus{background-color:#00000000;}.elementor-5479 .elementor-element.elementor-element-6c64d93c{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-6c64d93c .elementor-button-content-wrapper{flex-direction:row;}.elementor-5479 .elementor-element.elementor-element-6c64d93c .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-5479 .elementor-element.elementor-element-5efc1eb8{--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;--justify-content:center;}.elementor-widget-theme-site-logo .widget-image-caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-5479 .elementor-element.elementor-element-1ac099f1{text-align:center;}.elementor-5479 .elementor-element.elementor-element-1ac099f1 img{width:168px;}.elementor-5479 .elementor-element.elementor-element-1ecbe457{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-5479 .elementor-element.elementor-element-5823c9e0{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-40d9c799{--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;--justify-content:center;}.elementor-5479 .elementor-element.elementor-element-285e0f5b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:28px 28px;--row-gap:28px;--column-gap:28px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-5479 .elementor-element.elementor-element-52b89514{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:6px 6px;--row-gap:6px;--column-gap:6px;}.elementor-5479 .elementor-element.elementor-element-29d0f853{--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;}.elementor-5479 .elementor-element.elementor-element-550338b{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-20b4cfc1{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5479 .elementor-element.elementor-element-5e5c38c0{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-7f6bc0d0{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:2px 2px;--row-gap:2px;--column-gap:2px;}.elementor-5479 .elementor-element.elementor-element-7c370f66{--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;}.elementor-5479 .elementor-element.elementor-element-616a7908{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-45bb4ee1{--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;}.elementor-5479 .elementor-element.elementor-element-2f03db25{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-606c500{--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;}.elementor-5479 .elementor-element.elementor-element-7fdf3697{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-2a3aa2a6{--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;}.elementor-5479 .elementor-element.elementor-element-6ea68cda{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-4e142149{--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;}.elementor-5479 .elementor-element.elementor-element-466f6dd2{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-21b4c8a0{--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;}.elementor-5479 .elementor-element.elementor-element-36954ede{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-419dd449{--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;}.elementor-5479 .elementor-element.elementor-element-76fdd7ec{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-2ccbd09d{--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;}.elementor-5479 .elementor-element.elementor-element-7be79c91{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-43cf18f5{--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;}.elementor-5479 .elementor-element.elementor-element-ade986d{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-53bbf9a1{--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;}.elementor-5479 .elementor-element.elementor-element-a9c12ab{width:initial;max-width:initial;}.elementor-5479 .elementor-element.elementor-element-96acf6f{--display:flex;--position:fixed;bottom:0px;--z-index:999;}body:not(.rtl) .elementor-5479 .elementor-element.elementor-element-96acf6f{right:0px;}body.rtl .elementor-5479 .elementor-element.elementor-element-96acf6f{left:0px;}body:not(.rtl) .elementor-5479 .elementor-element.elementor-element-11e5103{right:0px;}body.rtl .elementor-5479 .elementor-element.elementor-element-11e5103{left:0px;}.elementor-5479 .elementor-element.elementor-element-11e5103{bottom:20px;z-index:999;}.elementor-5479 .elementor-element.elementor-element-11e5103 .elementor-button{font-family:var( --e-global-typography-d847765-font-family ), Sans-serif;font-size:var( --e-global-typography-d847765-font-size );font-weight:var( --e-global-typography-d847765-font-weight );border-radius:8px 0px 0px 8px;}.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-5479 .elementor-element.elementor-element-7053dfa8{--width:100%;}.elementor-5479 .elementor-element.elementor-element-676cf8f9{--width:100%;}.elementor-5479 .elementor-element.elementor-element-40d9c799{--width:100%;}.elementor-5479 .elementor-element.elementor-element-285e0f5b{--width:100%;}.elementor-5479 .elementor-element.elementor-element-52b89514{--width:100%;}.elementor-5479 .elementor-element.elementor-element-29d0f853{--width:100%;}.elementor-5479 .elementor-element.elementor-element-20b4cfc1{--width:100%;}.elementor-5479 .elementor-element.elementor-element-7f6bc0d0{--width:100%;}.elementor-5479 .elementor-element.elementor-element-7c370f66{--width:100%;}.elementor-5479 .elementor-element.elementor-element-45bb4ee1{--width:100%;}.elementor-5479 .elementor-element.elementor-element-606c500{--width:100%;}.elementor-5479 .elementor-element.elementor-element-2a3aa2a6{--width:100%;}.elementor-5479 .elementor-element.elementor-element-4e142149{--width:100%;}.elementor-5479 .elementor-element.elementor-element-21b4c8a0{--width:100%;}.elementor-5479 .elementor-element.elementor-element-419dd449{--width:100%;}.elementor-5479 .elementor-element.elementor-element-2ccbd09d{--width:100%;}.elementor-5479 .elementor-element.elementor-element-43cf18f5{--width:100%;}.elementor-5479 .elementor-element.elementor-element-53bbf9a1{--width:100%;}}@media(max-width:1024px){.elementor-5479 .elementor-element.elementor-element-7053dfa8{--padding-top:18px;--padding-bottom:18px;--padding-left:32px;--padding-right:32px;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-5479 .elementor-element.elementor-element-11e5103 .elementor-button{font-size:var( --e-global-typography-d847765-font-size );}}@media(max-width:767px){.elementor-5479 .elementor-element.elementor-element-7053dfa8{--padding-top:14px;--padding-bottom:14px;--padding-left:20px;--padding-right:20px;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5479 .elementor-element.elementor-element-1ac099f1 img{width:124px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-5479 .elementor-element.elementor-element-11e5103 .elementor-button{font-size:var( --e-global-typography-d847765-font-size );}}/* Start custom CSS for container, class: .elementor-element-7053dfa8 */.elementor-5479 .elementor-element.elementor-element-7053dfa8{--fa-ovl-x:72px;--fa-ovl-y:46px;
position:fixed;z-index:1000;top:0;right:0;left:0;background:transparent;
transition:transform .45s cubic-bezier(.22,1,.36,1),background-color .3s ease,
box-shadow .3s ease,border-color .3s ease;border-bottom:1px solid transparent}

/* Scrolling down gets it out of the way; scrolling up brings it back on a
   solid ground so it stays readable over any section. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-hidden{transform:translateY(-100%)}
.elementor-5479 .elementor-element.elementor-element-7053dfa8{background-color:var(--e-global-color-astglobalcolor5,#ffffff);border-bottom-color:var(--e-global-color-astglobalcolor6,#e6e4e3);
box-shadow:0 10px 30px rgb(0 0 0 / .06)}

/* On the white ground the bar takes the same ink as the open panel. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button{color:var(--e-global-color-astglobalcolor2,#2b1710)}

/* The bar rides above the overlay so the logo and the close control stay
   visible while the panel is open. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-bar{position:relative;z-index:2;flex-wrap:nowrap}
/* Each slot sizes to its content instead of Elementor's default full width,
   which is what pushed the logo onto a second line. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-bar>*{width:auto!important;max-width:none!important;flex:0 0 auto}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo-box{flex:1 1 auto}

/* ---------- focus and tap ----------
   A click or a tap must not draw an outline or a tap highlight on any link or
   button here — the theme adds both by default. Keyboard focus keeps a ring,
   via :focus-visible, so the menu stays usable by Tab. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 a,.elementor-5479 .elementor-element.elementor-element-7053dfa8 button,.elementor-5479 .elementor-element.elementor-element-7053dfa8 .elementor-button{
-webkit-tap-highlight-color:transparent}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 a:focus:not(:focus-visible),.elementor-5479 .elementor-element.elementor-element-7053dfa8 button:focus:not(:focus-visible),
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .elementor-button:focus:not(:focus-visible),
.elementor-5479 .elementor-element.elementor-element-7053dfa8 a:active,.elementor-5479 .elementor-element.elementor-element-7053dfa8 button:active,.elementor-5479 .elementor-element.elementor-element-7053dfa8 .elementor-button:active{
outline:none!important;box-shadow:none!important;text-decoration:none}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 a:focus-visible,.elementor-5479 .elementor-element.elementor-element-7053dfa8 button:focus-visible,
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .elementor-button:focus-visible{outline:2px solid var(--e-global-color-astglobalcolor0,#b0121a);outline-offset:3px;
border-radius:4px}

/* ---------- the MENU control ---------- */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button{position:relative;padding:8px 4px;
background:transparent;border:0;color:var(--e-global-color-astglobalcolor3,#ffffff);transition:color .3s ease}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-content-wrapper{display:flex;
align-items:center;gap:16px}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-text{font-weight:600;letter-spacing:.16em;
text-transform:uppercase;font-size:16px;line-height:1}
/* Three bars: the icon slot is the middle one, the button's own pseudo-elements
   are the outer two, so the whole control is one native widget. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-icon{position:relative;display:block;
width:30px;height:2px;flex:0 0 30px;border-radius:2px;background:currentColor;
transition:background-color .25s ease}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-icon i,
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-icon svg{display:none}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-icon::before,
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-icon::after{content:"";position:absolute;
left:0;width:30px;height:2px;border-radius:2px;background:currentColor;
transition:transform .35s cubic-bezier(.76,0,.24,1)}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-icon::before{top:-9px}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-icon::after{top:9px}

/* Open: the outer bars cross, the middle one disappears. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-toggle .elementor-button{color:var(--e-global-color-astglobalcolor2,#2b1710)}
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-toggle .elementor-button-icon{background:transparent}
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-toggle .elementor-button-icon::before{
transform:translateY(9px) rotate(45deg)}
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-toggle .elementor-button-icon::after{
transform:translateY(-9px) rotate(-45deg)}

/* ---------- logo pair ----------
   Two logos in one grid cell, cross-fading: the light one over the hero, the
   Site Logo once the bar is on white. Swapping the artwork beats filtering a
   single file, which flattened the mark to solid black. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo-box{position:relative;display:grid;align-items:center;
justify-items:center}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo-box>*{grid-area:1/1}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo,.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo-alt{transition:opacity .3s ease}
/* An inline <img> carries a baseline descender under it, which showed up as
   extra padding beneath the bar. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo img,.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo-alt img{display:block}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo{opacity:0;pointer-events:none}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo-alt{opacity:1}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo,
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-logo{opacity:1;pointer-events:auto}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo-alt,
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-logo-alt{opacity:0;pointer-events:none}

/* ---------- the CTA ----------
   An ordinary button: shape, type and padding all come from the styles already
   defined in Astra. The only thing owned here is the ground it sits on —
   white over the hero, Brand once the bar is solid. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-cta .elementor-button{background-color:var(--e-global-color-astglobalcolor5,#ffffff);color:var(--e-global-color-astglobalcolor2,#2b1710);
transition:background-color .25s ease,color .25s ease}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-cta .elementor-button,
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-cta .elementor-button{background-color:var(--e-global-color-astglobalcolor0,#b0121a);
color:var(--e-global-color-astglobalcolor5,#ffffff)}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-cta .elementor-button:hover,
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-cta .elementor-button:hover{background-color:var(--e-global-color-astglobalcolor1,#7d0b12)}

/* ---------- the panel ---------- */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl{position:fixed;z-index:1;inset:0;display:flex;flex-direction:column;
justify-content:center;overflow-y:auto;padding-block:120px 48px;
background-color:var(--e-global-color-astglobalcolor5,#ffffff);visibility:hidden;
clip-path:circle(0px at var(--fa-ovl-x) var(--fa-ovl-y));will-change:clip-path;
transition:clip-path .78s cubic-bezier(.76,0,.24,1),visibility 0s linear .78s}
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl{visibility:visible;clip-path:circle(150% at var(--fa-ovl-x) var(--fa-ovl-y));
transition:clip-path .78s cubic-bezier(.76,0,.24,1),visibility 0s}

.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-inner{width:min(100% - 96px,1312px);margin-inline:auto}

.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-eyebrow .elementor-heading-title{color:var(--e-global-color-astglobalcolor3,#5b5150);font-size:12px;
font-weight:600;letter-spacing:.18em;text-transform:uppercase}

/* ---------- the links ---------- */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-link .elementor-heading-title{display:inline-block;
font-size:clamp(2.25rem,6vw,3.375rem);font-weight:500;line-height:1.06;
letter-spacing:-.03em;color:var(--e-global-color-astglobalcolor2,#2b1710)}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-link .elementor-heading-title a{color:inherit;text-decoration:none;
transition:color .25s ease}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-link .elementor-heading-title a:hover{color:var(--e-global-color-astglobalcolor0,#b0121a)}

/* Each link rises as the panel opens; the delays make it read as a sequence
   rather than everything appearing at once. */
/* ---------- the Services submenu ----------
   Nested under Services and collapsed until the label is clicked. A max-height
   transition rather than `height:auto`, which cannot be animated. */
/* The label is a plain link to the Services page. The caret beside it is a
   real button the script adds, so the two are separate click targets. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-sub-toggle .elementor-heading-title{display:inline-flex;
align-items:center;gap:.4em}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-sub-btn{appearance:none;display:inline-flex;align-items:center;
justify-content:center;width:1em;height:1em;margin:0;padding:0;border:0;
background:none;color:inherit;cursor:pointer;font:inherit}
/* The caret is drawn, so the toggle needs no icon font. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-sub-btn::before{content:"";width:.28em;height:.28em;
border-right:.06em solid currentColor;border-bottom:.06em solid currentColor;
transform:rotate(45deg) translateY(-.06em);
transition:transform .35s cubic-bezier(.76,0,.24,1)}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-link.is-sub-open .fa-ovl-sub-btn::before{
transform:rotate(-135deg) translateY(-.06em)}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-link.is-sub-open .fa-ovl-sub-toggle .elementor-heading-title{
color:var(--e-global-color-astglobalcolor0,#b0121a)}

.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-subs{max-height:0;overflow:hidden;opacity:0;margin-top:0;
transition:max-height .55s cubic-bezier(.22,1,.36,1),opacity .35s ease,
margin-top .55s cubic-bezier(.22,1,.36,1)}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-link.is-sub-open .fa-ovl-subs{max-height:36rem;opacity:1;
margin-top:16px}

.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-sub .elementor-heading-title{font-size:17px;line-height:1.5;
font-weight:400;color:var(--e-global-color-astglobalcolor3,#5b5150);padding-left:2px}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-sub .elementor-heading-title a{color:inherit;text-decoration:none;
transition:color .25s ease}
.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-sub .elementor-heading-title a:hover{color:var(--e-global-color-astglobalcolor0,#b0121a)}

.elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-link{opacity:0;transform:translateY(30px);
transition:opacity .45s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link{opacity:1;transform:none}
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link:nth-child(1){transition-delay:.30s}
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link:nth-child(2){transition-delay:.37s}
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link:nth-child(3){transition-delay:.44s}
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link:nth-child(4){transition-delay:.51s}
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link:nth-child(5){transition-delay:.58s}



/* ---------- responsive ---------- */
@media(max-width:1024px){
  /* The burger moves to the right edge, so the reveal starts there too. */
  .elementor-5479 .elementor-element.elementor-element-7053dfa8{--fa-ovl-x:calc(100% - 47px);--fa-ovl-y:40px}

  /* Two slots only: logo left, menu right. Order does the swap, so the markup
     keeps the logo first for screen readers. */
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-actions{display:none}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-bar{justify-content:space-between}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-logo-box{order:1;flex:0 0 auto;margin-right:auto;margin-left:0;
  justify-items:start}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle-box{order:2}

  /* The wipe now arrives from the far side, so the links wait for it. */
  .elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link:nth-child(1){transition-delay:.42s}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link:nth-child(2){transition-delay:.48s}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link:nth-child(3){transition-delay:.54s}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link:nth-child(4){transition-delay:.60s}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link:nth-child(5){transition-delay:.66s}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-inner{width:calc(100% - 48px)}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl{justify-content:flex-start}
}
@media(max-width:767px){
  .elementor-5479 .elementor-element.elementor-element-7053dfa8{--fa-ovl-x:calc(100% - 35px);--fa-ovl-y:34px}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-text{display:none}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-link .elementor-heading-title{font-size:clamp(1.75rem,8vw,2.5rem)}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-sub .elementor-heading-title{font-size:15px}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl{padding-block:96px 40px}
}

@media(prefers-reduced-motion:reduce){
  .elementor-5479 .elementor-element.elementor-element-7053dfa8{transition:background-color .2s ease}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8.is-hidden{transform:none}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl{transition:visibility 0s,opacity .2s ease;clip-path:none;opacity:0}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl{opacity:1}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-link,
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-icon::before,
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-toggle .elementor-button-icon::after{transition:none}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8.is-menu-open .fa-ovl-link{transition-delay:0s;transform:none}
  .elementor-5479 .elementor-element.elementor-element-7053dfa8 .fa-ovl-subs{transition:none}
}

/* The shadow is earned by scrolling, not worn at rest. */
.elementor-5479 .elementor-element.elementor-element-7053dfa8{box-shadow:none}
.elementor-5479 .elementor-element.elementor-element-7053dfa8.is-stuck{box-shadow:0 10px 30px rgb(0 0 0 / .06)}/* End custom CSS */