/* Strive Widgets — Fullscreen Menu v1.1.0 */

.strive-fsm{
  --strive-fsm-w:31px;--strive-fsm-h:21px;--strive-fsm-line:1.5px;--strive-fsm-icon:28px;
  display:inline-flex;align-items:center;line-height:0;vertical-align:middle}

/* ---------------------------------------------------------------
   Button reset — beats Elementor Kit / theme button styles
   (kit uses `.elementor-kit-N button` / `:hover` = 0,1,1 / 0,2,1)
   --------------------------------------------------------------- */
.strive-fsm .strive-fsm__toggle.strive-fsm__toggle,
.strive-fsm__layer .strive-fsm__close.strive-fsm__close{
  -webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;
  gap:var(--strive-fsm-label-gap,12px);margin:0;padding:0;border:0 solid currentColor;border-radius:0;
  background:transparent;box-shadow:none;text-shadow:none;min-width:0;min-height:0;width:auto;height:auto;
  font:inherit;font-size:14px;line-height:1;letter-spacing:normal;text-transform:none;text-decoration:none;
  color:var(--e-global-color-text,#fff);cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:color .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .35s ease}
.strive-fsm .strive-fsm__toggle.strive-fsm__toggle:hover,
.strive-fsm .strive-fsm__toggle.strive-fsm__toggle:focus,
.strive-fsm__layer .strive-fsm__close.strive-fsm__close:hover,
.strive-fsm__layer .strive-fsm__close.strive-fsm__close:focus{background:transparent;box-shadow:none;color:var(--e-global-color-text,#fff)}
.strive-fsm .strive-fsm__toggle.strive-fsm__toggle:focus-visible,
.strive-fsm__layer .strive-fsm__close.strive-fsm__close:focus-visible{outline:1px solid currentColor;outline-offset:6px}
.strive-fsm--label-left .strive-fsm__toggle.strive-fsm__toggle{flex-direction:row-reverse}

/* ---------- built-in 3-line burger ---------- */
.strive-fsm__lines{position:relative;display:block;flex:0 0 auto;width:var(--strive-fsm-w);height:var(--strive-fsm-h)}
.strive-fsm__lines i{position:absolute;right:0;width:100%;height:var(--strive-fsm-line);background:currentColor;border-radius:inherit;
  transition:width .35s cubic-bezier(.2,.7,.2,1),transform .35s cubic-bezier(.2,.7,.2,1)}
.strive-fsm__lines i:nth-child(1){top:0}
.strive-fsm__lines i:nth-child(2){top:50%;transform:translateY(-50%)}
.strive-fsm__lines i:nth-child(3){bottom:0}
/* line styles */
.strive-fsm--lines-short .strive-fsm__lines i:nth-child(2){width:62%}
.strive-fsm--lines-stagger .strive-fsm__lines i:nth-child(2){width:75%}
.strive-fsm--lines-stagger .strive-fsm__lines i:nth-child(3){width:50%}
/* hover effects */
.strive-fsm--hover-shorten .strive-fsm__toggle:hover .strive-fsm__lines i:nth-child(2){width:62%}
.strive-fsm--hover-equal .strive-fsm__toggle:hover .strive-fsm__lines i{width:100%}
.strive-fsm--hover-slide .strive-fsm__toggle:hover .strive-fsm__lines i:nth-child(1){transform:translateX(-4px)}
.strive-fsm--hover-slide .strive-fsm__toggle:hover .strive-fsm__lines i:nth-child(2){transform:translate(4px,-50%)}
.strive-fsm--hover-slide .strive-fsm__toggle:hover .strive-fsm__lines i:nth-child(3){transform:translateX(-4px)}

/* ---------- icon / uploaded SVG ---------- */
.strive-fsm__icon{display:inline-flex;align-items:center;justify-content:center;font-size:var(--strive-fsm-icon);line-height:1}
.strive-fsm__icon i{font-size:1em;line-height:1}
.strive-fsm__icon svg{display:block;height:1em;width:auto;max-width:none}
.strive-fsm--tint .strive-fsm__toggle svg,.strive-fsm__layer.strive-fsm--tint-close .strive-fsm__close svg{fill:currentColor}
.strive-fsm--tint .strive-fsm__toggle svg [fill]:not([fill="none"]),
.strive-fsm__layer.strive-fsm--tint-close .strive-fsm__close svg [fill]:not([fill="none"]){fill:currentColor}
.strive-fsm--tint .strive-fsm__toggle svg [stroke]:not([stroke="none"]),
.strive-fsm__layer.strive-fsm--tint-close .strive-fsm__close svg [stroke]:not([stroke="none"]){stroke:currentColor}

.strive-fsm__label{display:inline-block;line-height:1;font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:300}

/* ---------- layer: backdrop + overlay ---------- */
.strive-fsm__layer{--strive-fsm-dur:450ms;--strive-fsm-stagger:60ms;--strive-fsm-z:9999;--strive-fsm-close:36px;--strive-fsm-close-line:1.5px}
.strive-fsm__backdrop{position:fixed;inset:0;z-index:calc(var(--strive-fsm-z) - 1);background:rgba(0,0,0,.5);
  opacity:0;visibility:hidden;transition:opacity var(--strive-fsm-dur) ease,visibility var(--strive-fsm-dur) ease}
.strive-fsm__overlay{position:fixed;top:0;bottom:0;left:0;z-index:var(--strive-fsm-z);width:var(--strive-fsm-ow,100%);max-width:100vw;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;
  padding:0 11.72vw;background-color:rgba(0,0,0,.97);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;
  opacity:0;visibility:hidden;
  transition:opacity var(--strive-fsm-dur) ease,visibility var(--strive-fsm-dur) ease,transform var(--strive-fsm-dur) cubic-bezier(.7,0,.2,1)}
.strive-fsm__layer.is-open .strive-fsm__overlay,.strive-fsm__layer.is-open .strive-fsm__backdrop{opacity:1;visibility:visible}

/* effects */
.strive-fsm__layer--slide-down .strive-fsm__overlay{opacity:1;transform:translateY(-100%)}
.strive-fsm__layer--slide-right .strive-fsm__overlay{opacity:1;left:auto;right:0;transform:translateX(100%)}
.strive-fsm__layer--slide-left .strive-fsm__overlay{opacity:1;transform:translateX(-100%)}
.strive-fsm__layer--zoom .strive-fsm__overlay{transform:scale(1.04)}
.strive-fsm__layer.is-open .strive-fsm__overlay{transform:none}

/* overlay logo */
.strive-fsm__logo{position:absolute;top:var(--strive-fsm-logo-top,51px);left:var(--strive-fsm-logo-left,121px);line-height:0}
.strive-fsm__logo img{display:block;width:var(--strive-fsm-logo-w,147px);height:auto;max-width:none}

/* close × */
.strive-fsm__layer .strive-fsm__close.strive-fsm__close{position:absolute;top:56px;right:98px;z-index:2}
.strive-fsm__x{position:relative;display:block;width:var(--strive-fsm-close);height:var(--strive-fsm-close)}
.strive-fsm__x::before,.strive-fsm__x::after{content:"";position:absolute;left:2px;right:2px;top:50%;height:var(--strive-fsm-close-line);margin-top:calc(var(--strive-fsm-close-line) / -2);
  background:currentColor;transform:rotate(45deg);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.strive-fsm__x::after{transform:rotate(-45deg)}
.strive-fsm__layer--spin .strive-fsm__close:hover .strive-fsm__x::before{transform:rotate(135deg)}
.strive-fsm__layer--spin .strive-fsm__close:hover .strive-fsm__x::after{transform:rotate(45deg)}
.strive-fsm__layer--spin .strive-fsm__close:hover .strive-fsm__icon{transform:rotate(90deg)}
.strive-fsm__close .strive-fsm__icon{font-size:30px;transition:transform .35s cubic-bezier(.2,.7,.2,1)}

/* ---------- links ---------- */
.strive-fsm__nav{width:100%}
.strive-fsm__list,.strive-fsm__list ul{list-style:none;margin:0;padding:0}
.strive-fsm__list{counter-reset:strive-fsm}
.strive-fsm__list > li{position:relative;margin:0 0 var(--strive-fsm-gap,0);opacity:0;transform:translateY(18px);
  transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:0s}
.strive-fsm__layer.is-open .strive-fsm__list > li{opacity:1;transform:none;
  transition-delay:calc(var(--i,0) * var(--strive-fsm-stagger) + var(--strive-fsm-dur) * .3)}
.strive-fsm__list a{display:inline-block;color:var(--e-global-color-text,#fff);text-decoration:none;
  font-family:var(--e-global-typography-strmenu-font-family,"Montserrat"),sans-serif;
  font-weight:var(--e-global-typography-strmenu-font-weight,200);
  font-size:var(--e-global-typography-strmenu-font-size,clamp(28px,3.125vw,60px));
  line-height:var(--e-global-typography-strmenu-line-height,1.6);
  letter-spacing:var(--e-global-typography-strmenu-letter-spacing,.1em);
  text-transform:uppercase;transition:color .25s ease,transform .3s cubic-bezier(.2,.7,.2,1)}
.strive-fsm__list a:hover,.strive-fsm__list a:focus-visible{color:var(--e-global-color-accent,#F15423);transform:translateX(var(--strive-fsm-shift,10px));outline:none}
.strive-fsm__list .current-menu-item > a,.strive-fsm__list .current_page_item > a{color:var(--e-global-color-accent,#F15423)}
.strive-fsm__list .sub-menu{padding-left:4px;margin-bottom:12px}
.strive-fsm__list .sub-menu a{font-size:15px;letter-spacing:.3em;line-height:2.2;opacity:.75}
/* numbering 01 02 03 */
.strive-fsm__layer--numbers .strive-fsm__list > li{counter-increment:strive-fsm;display:flex;align-items:flex-start;gap:var(--strive-fsm-num-gap,18px)}
.strive-fsm__layer--numbers .strive-fsm__list > li::before{content:counter(strive-fsm,decimal-leading-zero);
  font-size:12px;letter-spacing:.2em;line-height:2.4;color:var(--e-global-color-accent,#F15423);font-weight:300}
.strive-fsm__layer--numbers .strive-fsm__list > li > .sub-menu{flex-basis:100%}

/* meta */
.strive-fsm__meta{margin-top:48px;font-size:14px;line-height:25px;font-weight:200;color:rgba(255,255,255,.7)}
.strive-fsm__meta p{margin:0}
.strive-fsm__meta a{color:inherit;text-decoration:none;transition:color .25s}
.strive-fsm__meta a:hover{color:var(--e-global-color-accent,#F15423)}
.strive-fsm__notice{font-size:14px;line-height:1.6;color:#fff;opacity:.7}

/* editor: keep the closed overlay from blocking the canvas */
.elementor-editor-active .strive-fsm__layer:not(.is-open) .strive-fsm__overlay{pointer-events:none}

@media (max-width:1024px){
  .strive-fsm__layer .strive-fsm__close.strive-fsm__close{top:32px;right:38px}
  .strive-fsm__logo{top:30px;left:40px}.strive-fsm__logo img{width:125px}
}
@media (max-width:767px){
  .strive-fsm__overlay{padding:0 20px}
  .strive-fsm__layer .strive-fsm__close.strive-fsm__close{top:18px;right:18px}
  .strive-fsm__logo{top:20px;left:20px}.strive-fsm__logo img{width:104px}
  .strive-fsm__meta{margin-top:36px}
}
@media (prefers-reduced-motion:reduce){
  .strive-fsm__overlay,.strive-fsm__backdrop,.strive-fsm__list > li,.strive-fsm__list a,.strive-fsm__lines i,.strive-fsm__x::before,.strive-fsm__x::after{transition:none!important}
  .strive-fsm__list > li{opacity:1;transform:none}
}
