/* ============================================================
   SLM HEADER — all tunables exposed as CSS custom properties
   so Elementor panel controls can write to them.
   ============================================================ */

.slm-hd{
  --slm-ink:#0B1626;
  --slm-accent:#0b174f;
  --slm-accent-lt:#1832aa;
  --slm-accent-dk:#060d2d;
  --slm-accent-on-dark:#909CD5;
  --slm-txl:#F6F4EE;
  --slm-txl2:#A8B2BF;
  --slm-cta-txt:#F6F4EE;
  --slm-wrap:1280px;
  --slm-stagger:.045s;
  --slm-drawer-dur:.45s;
  --slm-glow:.14;
  --slm-ease:cubic-bezier(.16,1,.3,1);
  --slm-h:88px;

  position:fixed;top:0;left:0;right:0;z-index:9000;
  height:88px;display:flex;align-items:center;
  background:transparent;
  border-bottom:1px solid transparent;
  color:var(--slm-txl);
  transition:height .5s var(--slm-ease),background .5s var(--slm-ease),
             box-shadow .35s var(--slm-ease),border-color .5s var(--slm-ease);
}
.slm-hd *,.slm-hd *::before,.slm-hd *::after{box-sizing:border-box}
.slm-hd a{text-decoration:none}

.slm-hd::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:rgba(11,22,38,.88);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  opacity:0;transition:opacity .5s var(--slm-ease);
}
.slm-hd.slm-sld{
  height:72px;
  box-shadow:0 10px 40px rgba(5,10,18,.5);
  border-bottom-color:color-mix(in srgb,var(--slm-accent-on-dark) 26%,transparent);
}
.slm-hd.slm-sld::before{opacity:1}

.slm-hd__in{
  width:min(var(--slm-wrap),92vw);margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}

/* ---------- BRAND ---------- */
.slm-brand{
  display:flex;flex-direction:column;gap:3px;flex:none;color:inherit;
}
.slm-brand img{display:block;height:auto}
.slm-brand b{
  font-weight:400;font-size:1.24rem;
  letter-spacing:.015em;line-height:1.05;white-space:nowrap;color:var(--slm-txl);
  transition:font-size .5s var(--slm-ease);
}
.slm-brand b em{
  font-style:italic;font-weight:600;letter-spacing:.01em;
  background:linear-gradient(100deg,var(--slm-accent),var(--slm-accent-lt) 50%,var(--slm-accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.slm-brand small{
  font-size:.6rem;font-weight:600;
  letter-spacing:.25em;text-transform:uppercase;color:var(--slm-txl2);
  white-space:nowrap;
}
.slm-hd.slm-sld .slm-brand b{font-size:1.12rem}

/* ---------- CTA ---------- */
.slm-cta{
  position:relative;isolation:isolate;flex:none;
  display:inline-flex;align-items:center;gap:.6rem;
  font-weight:700;font-size:.76rem;
  letter-spacing:.1em;text-transform:uppercase;
  padding:.82rem 1.7rem;border-radius:999px;border:none;
  color:var(--slm-cta-txt) !important;
  cursor:pointer;background:transparent;overflow:hidden;
  box-shadow:0 8px 22px -8px color-mix(in srgb,var(--slm-accent) 55%,transparent);
  transition:transform .25s var(--slm-ease),box-shadow .25s var(--slm-ease);
}
.slm-cta svg{flex:none}
.slm-cta__g{
  position:absolute;inset:0;z-index:-2;pointer-events:none;border-radius:inherit;
  background:linear-gradient(120deg,var(--slm-accent-dk),var(--slm-accent) 34%,var(--slm-accent-lt) 50%,var(--slm-accent) 66%,var(--slm-accent-dk));
  background-size:220% 100%;
  animation:slmFlow 7s linear infinite;
}
.slm-hd.slm-no-flow .slm-cta__g{animation:none;background-position:50% 50%}
@keyframes slmFlow{to{background-position:-220% 0}}

.slm-cta::after{
  content:"";position:absolute;top:-60%;bottom:-60%;width:36%;left:-50%;
  z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  transform:skewX(-18deg);
}
.slm-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px -8px color-mix(in srgb,var(--slm-accent-lt) 60%,transparent);
}
.slm-cta:hover::after{animation:slmSheen .85s var(--slm-ease) forwards}
.slm-hd.slm-no-sheen .slm-cta:hover::after{animation:none}
@keyframes slmSheen{from{left:-50%}to{left:130%}}
.slm-hd.slm-sld .slm-cta{padding:.72rem 1.48rem}

/* ---------- ACTIONS + BURGER ---------- */
.slm-actions{display:flex;align-items:center;gap:1.5rem}

.slm-burger{
  display:grid;place-items:center;
  width:48px;height:48px;flex:none;padding:0;border-radius:50%;
  background:rgba(246,244,238,.03);
  border:1px solid rgba(246,244,238,.1);
  color:var(--slm-txl);
  cursor:pointer;position:relative;z-index:9002;
  -webkit-tap-highlight-color:transparent;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
  transition:border-color .3s var(--slm-ease),background .3s var(--slm-ease),
             color .3s var(--slm-ease),transform .2s var(--slm-ease);
}
.slm-burger:hover{
  background:color-mix(in srgb,var(--slm-accent-on-dark) 12%,transparent);
  border-color:color-mix(in srgb,var(--slm-accent-on-dark) 48%,transparent);
  color:var(--slm-accent-on-dark);
  transform:scale(1.05);
}
.slm-burger:active{transform:scale(.95)}
.slm-burger i{position:relative;display:block;width:22px;height:14px}
.slm-burger i span{
  position:absolute;right:0;height:1.5px;
  background:currentColor;border-radius:2px;
  transition:transform .3s var(--slm-ease),opacity .25s,top .3s var(--slm-ease),width .3s var(--slm-ease);
}
.slm-burger i span:nth-child(1){width:100%;top:0}
.slm-burger i span:nth-child(2){width:65%;top:6px}
.slm-burger i span:nth-child(3){width:100%;top:12px}
.slm-burger:hover i span:nth-child(2){width:100%}

.slm-hd.slm-open .slm-burger i span:nth-child(1){top:6px;transform:rotate(45deg)}
.slm-hd.slm-open .slm-burger i span:nth-child(2){opacity:0;width:100%}
.slm-hd.slm-open .slm-burger i span:nth-child(3){top:6px;transform:rotate(-45deg)}

.slm-hd.slm-open{background:transparent;border-bottom-color:transparent;box-shadow:none}
.slm-hd.slm-open::before{opacity:0;backdrop-filter:none;-webkit-backdrop-filter:none}

/* ---------- DRAWER ---------- */
.slm-nav{
  position:fixed;top:0;left:0;right:0;width:100%;
  height:100vh;height:100dvh;
  background:
    radial-gradient(700px 420px at 88% -5%,color-mix(in srgb,var(--slm-accent-on-dark) calc(var(--slm-glow) * 100%),transparent),transparent 60%),
    radial-gradient(500px 380px at -10% 105%,color-mix(in srgb,var(--slm-accent-on-dark) calc(var(--slm-glow) * 42%),transparent),transparent 60%),
    var(--slm-ink);
  display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;
  padding:7.5rem 10vw 2.6rem;
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  visibility:hidden;opacity:0;
  transition:opacity .5s var(--slm-ease),visibility 0s linear .5s;
  z-index:9001;counter-reset:slmnav;
  pointer-events:none;
}
.slm-hd.slm-no-glow .slm-nav{background:var(--slm-ink)}
.slm-hd.slm-open .slm-nav{
  visibility:visible;opacity:1;pointer-events:auto;
  transition:opacity var(--slm-drawer-dur) var(--slm-ease),visibility 0s;
}

.slm-mbrand{
  display:flex;flex-direction:column;gap:2px;
  position:absolute;top:1.6rem;left:1.7rem;right:4.6rem;
}
.slm-mbrand b{
  font-weight:400;font-size:clamp(.95rem,4.2vw,1.24rem);
  letter-spacing:.015em;line-height:1.1;color:var(--slm-txl);white-space:nowrap;
}
.slm-mbrand b em{font-style:italic;font-weight:600;color:var(--slm-accent-on-dark);background:none;-webkit-text-fill-color:currentColor}
.slm-mbrand small{
  font-weight:600;font-size:clamp(.46rem,1.9vw,.6rem);
  letter-spacing:.2em;text-transform:uppercase;color:var(--slm-txl2);white-space:nowrap;
}
.slm-mbrand img{max-width:190px;height:auto}

.slm-nav>a{
  counter-increment:slmnav;
  display:flex;align-items:center;gap:1.5rem;
  font-size:clamp(1.1rem,2.5vw,1.45rem);font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--slm-txl);padding:1rem .2rem;
  border-bottom:1px solid rgba(246,244,238,.07);
  transition:color .3s var(--slm-ease),padding-left .3s var(--slm-ease);
}
.slm-nav>a:first-of-type{border-top:1px solid rgba(246,244,238,.07)}
.slm-nav>a::before{
  content:counter(slmnav,decimal-leading-zero);
  font-style:italic;font-size:.82rem;font-weight:600;
  letter-spacing:.08em;color:var(--slm-accent-on-dark);
}
.slm-hd.slm-no-num .slm-nav>a::before{content:none}
.slm-nav>a:hover{color:var(--slm-accent-on-dark);padding-left:10px}
.slm-nav>a[aria-current="page"]{color:var(--slm-accent-on-dark)}

/* stagger */
.slm-mbrand,.slm-nav>a,.slm-extra{
  opacity:0;transform:translateY(16px);
  transition:opacity .5s var(--slm-ease),transform .6s var(--slm-ease);
}
.slm-hd.slm-open .slm-mbrand,
.slm-hd.slm-open .slm-nav>a,
.slm-hd.slm-open .slm-extra{
  opacity:1;transform:none;
  transition-delay:calc(.12s + var(--i,0) * var(--slm-stagger));
}

.slm-extra{display:block;margin-top:2.4rem}
.slm-extra .slm-cta{
  display:flex;width:100%;max-width:340px;justify-content:center;text-align:center;
  padding:1.05rem 1.4rem;font-size:.84rem;letter-spacing:.12em;
}
.slm-extra .slm-lbl{
  font-size:.64rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--slm-txl2);margin:2rem 0 .3rem;
}
.slm-extra .slm-tel{
  display:inline-block;font-size:1.65rem;font-weight:400;
  letter-spacing:.03em;color:var(--slm-txl);transition:color .3s;
}
.slm-extra .slm-tel:hover{color:var(--slm-accent-on-dark)}

.slm-hd.slm-open .slm-burger{position:relative;z-index:9002}

@media(min-width:981px){
  .slm-nav{padding-top:9rem;padding-left:calc((100vw - min(var(--slm-wrap),92vw)) / 2)}
  .slm-mbrand{left:calc((100vw - min(var(--slm-wrap),92vw)) / 2);top:2.2rem}
}
@media(max-width:640px){
  .slm-brand b{font-size:1.08rem}
  .slm-brand small{font-size:.54rem;letter-spacing:.2em}
}
@media(max-width:380px){
  .slm-hd__in>.slm-brand small{display:none}
  .slm-nav{padding:6.5rem 1.2rem 2.2rem}
  .slm-nav>a{font-size:1rem;gap:1rem;padding:.85rem 0}
}
@media(prefers-reduced-motion:reduce){
  .slm-cta__g{animation:none;background-position:50% 50%}
  .slm-cta:hover::after{animation:none}
  .slm-mbrand,.slm-nav>a,.slm-extra{transition:none;opacity:1;transform:none}
}

/* Editor: don't let the fixed header cover the canvas */
.elementor-editor-active .slm-hd,
.elementor-editor-preview .slm-hd{position:relative}
.elementor-editor-active .slm-nav,
.elementor-editor-preview .slm-nav{position:fixed}


/* ---------- FIX: escape transformed / clipped ancestors ---------- */
.elementor-widget-slm-header,
.elementor-widget-slm-header > .elementor-widget-container{
  position:static !important;
  transform:none !important;
  filter:none !important;
  perspective:none !important;
  overflow:visible !important;
  contain:none !important;
}
.slm-hd{overflow:visible}
.slm-hd__in{position:relative;z-index:9002;width:min(var(--slm-wrap),92vw)}

/* ---------- FIX v1.0.2: guarantee the burger is clickable ---------- */
.slm-burger{pointer-events:auto !important}
.slm-burger i,.slm-burger i span{pointer-events:none}
.slm-actions{position:relative;z-index:9002;pointer-events:auto}
/* closed drawer must never blanket the page */
.slm-nav{pointer-events:none}
.slm-hd.slm-open .slm-nav{pointer-events:auto}
/* header bar itself shouldn't eat clicks outside its content */
.slm-hd{pointer-events:none}
.slm-hd__in,.slm-hd .slm-nav,.slm-hd .slm-brand,.slm-hd .slm-actions{pointer-events:auto}


/* ---------- FIX v1.1.1: burger stays put when the drawer opens ---------- */
/* Keep the bar (and therefore the burger) at its resting height while open,
   so it can't shift when .slm-sld toggles during/after opening. */
.slm-hd.slm-open,
.slm-hd.slm-open.slm-sld{height:var(--slm-h,88px)}
/* Brand stays visible in the bar; the drawer's own .slm-mbrand is redundant. */
.slm-hd.slm-open .slm-nav .slm-mbrand{display:none}
.slm-hd.slm-open .slm-nav{padding-top:clamp(7rem,14vh,9.5rem)}
