.kenav-main{
  --kenav-bg:#f3f0ec;
  --kenav-text:#140508;
  --kenav-muted:#6f6963;
  --kenav-line:#d9d2c8;
  --kenav-hover:#aa314b;
  --kenav-mobile-bg:#f3f0ec;
  --kenav-max:1680px;
  --kenav-gutter:24px;
  --kenav-utility-h:50px;
  --kenav-accent-h:74px;
  --kenav-base-h:68px;
  --kenav-utility-gap:30px;
  --kenav-nav-gap:40px;
  position:relative;
  z-index:990;
  width:100%;
  color:var(--kenav-text);
  font-family:var(--e-global-typography-text-font-family, Poppins, sans-serif);
}

.kenav-main *, .kenav-main *::before, .kenav-main *::after{box-sizing:border-box;}
.kenav-main a{color:inherit;text-decoration:none;}
.kenav__inner{width:min(calc(100% - (var(--kenav-gutter) * 2)),var(--kenav-max));margin-inline:auto;}

/* Kieboom-style full accent header: utility + main navigation. */
.kenav--accent{position:relative;width:100%;background:var(--kenav-bg);color:var(--kenav-text);}
.kenav__utility-row{height:var(--kenav-utility-h);}
.kenav__utility-inner{height:100%;display:flex;align-items:center;justify-content:flex-end;border-bottom:1px solid var(--kenav-line);}
.kenav__utility{display:flex;align-items:center;gap:var(--kenav-utility-gap);color:var(--kenav-muted);font-size:13px;font-weight:400;line-height:1;}
.kenav__utility a{transition:color .2s ease;}
.kenav__utility a:hover{color:var(--kenav-text);}

.kenav__main-row{height:var(--kenav-accent-h);border-bottom:1px solid var(--kenav-line);}
.kenav__main-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:48px;}
.kenav__logo{display:inline-flex;align-items:center;flex:none;}
.kenav__logo img{display:block;width:154px;height:auto;}
.kenav__nav{display:flex;align-items:center;justify-content:flex-end;gap:var(--kenav-nav-gap);font-size:15px;font-weight:400;line-height:1;}
.kenav__nav a{position:relative;padding:8px 0;white-space:nowrap;}
.kenav__nav a::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:100% 50%;transition:transform .34s cubic-bezier(.625,.05,0,1);}
.kenav__nav a:hover::after,.kenav__nav a:focus-visible::after{transform:scaleX(1);transform-origin:0 50%;}

/* Separate base variant. It does not morph from the accent header; it is its own compact instance. */
.kenav--base{
  position:fixed;
  z-index:992;
  top:0;
  left:0;
  width:100%;
  height:var(--kenav-base-h);
  background:var(--kenav-bg);
  color:var(--kenav-text);
  border-bottom:1px solid var(--kenav-line);
  transform:translate3d(0,-105%,0);
  visibility:hidden;
  transition:transform .48s cubic-bezier(.625,.05,0,1),visibility 0s linear .48s;
  will-change:transform;
}
.kenav--base.is-visible{transform:translate3d(0,0,0);visibility:visible;transition:transform .48s cubic-bezier(.625,.05,0,1),visibility 0s;}
.kenav__base-row,.kenav__base-inner{height:100%;}
.kenav__base-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;}
.kenav--base .kenav__logo img{width:138px;}
.kenav__nav--base{font-size:14px;}

/* Mobile trigger belongs to the base variant only. */
.kenav__menu-toggle{display:none;align-items:center;gap:12px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;}
.kenav__menu-label{font-size:14px;line-height:1;}
.kenav__menu-icon{position:relative;display:inline-block;width:19px;height:14px;}
.kenav__menu-icon i{position:absolute;left:0;width:100%;height:1px;background:currentColor;transition:transform .32s cubic-bezier(.625,.05,0,1),top .32s cubic-bezier(.625,.05,0,1);}
.kenav__menu-icon i:first-child{top:3px}.kenav__menu-icon i:last-child{top:10px}
.kenav-main.is-menu-open .kenav__menu-icon i:first-child{top:6px;transform:rotate(45deg)}
.kenav-main.is-menu-open .kenav__menu-icon i:last-child{top:6px;transform:rotate(-45deg)}

/* Mobile menu is the responsive state of the same base component: no alternate art direction. */
.kenav__mobile-panel{
  position:fixed;
  z-index:991;
  inset:var(--kenav-mobile-top,var(--kenav-base-h)) 0 0;
  display:none;
  background:var(--kenav-mobile-bg);
  color:var(--kenav-text);
  overflow:auto;
  overscroll-behavior:contain;
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,-12px,0);
  transition:opacity .22s ease,transform .36s cubic-bezier(.625,.05,0,1),visibility 0s linear .36s;
}
.kenav__mobile-inner{width:min(calc(100% - 40px),720px);min-height:100%;margin-inline:auto;padding:26px 0 32px;display:flex;flex-direction:column;}
.kenav__mobile-nav{display:flex;flex-direction:column;}
.kenav__mobile-nav a{display:flex;align-items:center;min-height:66px;border-bottom:1px solid var(--kenav-line);font-size:clamp(28px,7vw,48px);font-weight:400;line-height:1.05;letter-spacing:-.035em;}
.kenav__mobile-utility{margin-top:auto;padding-top:44px;display:flex;flex-wrap:wrap;gap:12px 24px;color:var(--kenav-muted);font-size:12px;line-height:1.4;}
.kenav-main.is-menu-open .kenav__mobile-panel{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .36s cubic-bezier(.625,.05,0,1),visibility 0s;}

/* On mobile the compact base variant is the primary header from page load. */
.kenav-main.is-mobile{min-height:var(--kenav-base-h);}
.kenav-main.is-mobile .kenav--accent{display:none;}
.kenav-main.is-mobile .kenav--base{display:block;transform:none;visibility:visible;transition:none;}
.kenav-main.is-mobile .kenav__nav--base{display:none;}
.kenav-main.is-mobile .kenav__menu-toggle{display:inline-flex;}
.kenav-main.is-mobile .kenav__mobile-panel{display:block;}

/* Admin-bar offsets. */
body.admin-bar .kenav--base{top:32px;}
body.admin-bar .kenav__mobile-panel{inset:calc(var(--kenav-mobile-top,var(--kenav-base-h)) + 32px) 0 0;}
@media(max-width:782px){body.admin-bar .kenav--base{top:46px;}body.admin-bar .kenav__mobile-panel{inset:calc(var(--kenav-mobile-top,var(--kenav-base-h)) + 46px) 0 0;}}

/* Elementor editor: show the full accent state for predictable editing, never fixed. */
.elementor-editor-active .kenav--base,.elementor-editor-preview .kenav--base{display:none!important;}
.elementor-editor-active .kenav--accent,.elementor-editor-preview .kenav--accent{display:block!important;}
.elementor-editor-active .kenav-main,.elementor-editor-preview .kenav-main{min-height:0!important;}
.elementor-editor-active .kenav__mobile-panel,.elementor-editor-preview .kenav__mobile-panel{display:none!important;}

.kenav-main a:focus-visible,.kenav__menu-toggle:focus-visible{outline:2px solid var(--kenav-hover);outline-offset:4px;}

@media(max-width:520px){
  .kenav-main{--kenav-gutter:20px;--kenav-base-h:64px;}
  .kenav--base .kenav__logo img{width:122px;}
  .kenav__mobile-inner{padding-top:18px;}
  .kenav__mobile-nav a{min-height:62px;}
  .kenav__mobile-utility{padding-top:36px;}
}

@media(prefers-reduced-motion:reduce){
  .kenav-main *,.kenav-main *::before,.kenav-main *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;}
}


/* Optional Osmo Glass background modes. The Osmo resource itself lives unchanged
 * in osmo-glass-effect.css; these rules only decide when that layer is visible. */
.kenav--accent,.kenav--base{isolation:isolate;}
.kenav--accent>.glass-effect,.kenav--base>.glass-effect{display:none;z-index:0;}
.kenav__utility-row,.kenav__main-row,.kenav__base-row{position:relative;z-index:1;}

.kenav-main[data-accent-bg="transparent"] .kenav--accent,
.kenav-main[data-accent-bg="glass"] .kenav--accent{background:transparent;}
.kenav-main[data-accent-bg="glass"] .kenav--accent>.glass-effect{display:block;}

.kenav-main:not(.is-mobile)[data-base-bg="transparent"] .kenav--base,
.kenav-main:not(.is-mobile)[data-base-bg="glass"] .kenav--base{background:transparent;}
.kenav-main:not(.is-mobile)[data-base-bg="glass"] .kenav--base>.glass-effect{display:block;}

.kenav-main.is-mobile[data-mobile-base-bg="solid"] .kenav--base{background:var(--kenav-bg);}
.kenav-main.is-mobile[data-mobile-base-bg="transparent"] .kenav--base,
.kenav-main.is-mobile[data-mobile-base-bg="glass"] .kenav--base{background:transparent;}
.kenav-main.is-mobile .kenav--base>.glass-effect{display:none;}
.kenav-main.is-mobile[data-mobile-base-bg="glass"] .kenav--base>.glass-effect{display:block;}

/* Elementor editor can explicitly preview the otherwise hidden base variant. */
.elementor-editor-active .kenav-main.kenav-editor-preview-base .kenav--accent,
.elementor-editor-preview .kenav-main.kenav-editor-preview-base .kenav--accent{display:none!important;}
.elementor-editor-active .kenav-main.kenav-editor-preview-base .kenav--base,
.elementor-editor-preview .kenav-main.kenav-editor-preview-base .kenav--base{
  display:block!important;position:relative!important;top:auto!important;left:auto!important;
  transform:none!important;visibility:visible!important;height:var(--kenav-base-h)!important;
}
.elementor-editor-active .kenav-main.kenav-editor-preview-base .kenav__nav--base,
.elementor-editor-preview .kenav-main.kenav-editor-preview-base .kenav__nav--base{display:flex!important;}
.elementor-editor-active .kenav-main.kenav-editor-preview-base .kenav__menu-toggle,
.elementor-editor-preview .kenav-main.kenav-editor-preview-base .kenav__menu-toggle{display:none!important;}
