.wsh-header{display:block;width:100%;max-width:100%;min-width:0;clear:both;float:none;isolation:isolate;contain:layout style;margin:0!important;padding:0!important;background-color:var(--wsh-bg);background-image:var(--wsh-bg-image);background-size:var(--wsh-bg-size);background-position:var(--wsh-bg-position);background-repeat:no-repeat;color:var(--wsh-text);font-family:var(--wsh-font),monospace;box-sizing:border-box;line-height:1.1;position:relative;top:0}
.wsh-header *{box-sizing:border-box}
.wsh-inner{width:100%;max-width:var(--wsh-max-width);min-height:var(--wsh-height);margin:0 auto;padding:var(--wsh-pt) var(--wsh-pr) var(--wsh-pb) var(--wsh-pl);display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr) max-content;align-items:center;column-gap:var(--wsh-brand-menu-gap);}
.wsh-brand{display:inline-flex;align-items:center;gap:var(--wsh-badge-gap);min-width:0;max-width:100%;color:var(--wsh-text);text-decoration:none!important;justify-self:start}.wsh-badge{display:block;width:var(--wsh-badge-width);height:auto;max-height:calc(var(--wsh-height) - 8px);object-fit:contain;flex:0 0 auto}
.wsh-logo{display:block;max-height:calc(var(--wsh-height) - 12px);width:min(var(--wsh-logo-width),100%);max-width:var(--wsh-logo-width);height:auto;object-fit:contain}
.wsh-site-text{color:var(--wsh-text);font-size:clamp(22px,2vw,36px);font-weight:400;letter-spacing:.03em;white-space:nowrap}
.wsh-nav{display:flex;align-items:center;justify-content:center;gap:18px;min-width:0;max-width:100%;flex-wrap:wrap}
.wsh-nav-link{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:38px;padding:var(--wsh-nav-pad-y) var(--wsh-nav-pad-x);color:var(--wsh-text)!important;text-decoration:none!important;border:var(--wsh-nav-border-width) solid transparent;border-radius:var(--wsh-nav-radius);background:transparent;font-size:15px;font-weight:400!important;letter-spacing:.04em;white-space:nowrap;transition:color .12s ease,border-color .12s ease,background-color .12s ease,transform .08s ease}
.wsh-nav-link.is-active{color:var(--wsh-active)!important;border-color:var(--wsh-active)!important;text-decoration:none!important}
@media(hover:hover) and (pointer:fine){.wsh-nav-link:hover{color:var(--wsh-hover)!important;border-color:var(--wsh-hover)!important;text-decoration:none!important}}
.wsh-nav-link:active{transform:translateY(1px)}
.wsh-socials,.wsh-mobile-socials{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:10px}
.wsh-social{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;color:var(--wsh-text)!important;border:0;background:transparent;transition:transform .08s ease,color .12s ease}
.wsh-social svg{width:24px;height:24px;display:block}
@media(hover:hover) and (pointer:fine){.wsh-social:hover{color:var(--wsh-hover)!important}}
.wsh-social:active{transform:translateY(1px)}
.wsh-menu-toggle{display:none;width:44px;height:44px;padding:8px;border:2px solid var(--wsh-text);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;justify-self:end}
.wsh-menu-toggle span{display:block;width:24px;height:4px;background:var(--wsh-text)}
.wsh-mobile-panel{background:var(--wsh-bg);padding:14px var(--wsh-pr) 20px var(--wsh-pl);margin:0}
.wsh-mobile-nav{display:grid;gap:4px}
.wsh-mobile-nav .wsh-nav-link{width:100%;justify-content:flex-start;font-size:18px;min-height:44px;padding:10px 12px}
.wsh-mobile-nav .wsh-nav-link::before{content:'>';display:inline-block;width:22px;color:transparent}
.wsh-mobile-nav .wsh-nav-link.is-active::before{color:var(--wsh-active)}
.wsh-mobile-socials{justify-content:flex-start;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.16)}
@media(max-width:980px){.wsh-inner{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.wsh-nav,.wsh-socials{display:none}.wsh-menu-toggle{display:flex}.wsh-site-text{font-size:clamp(20px,6vw,30px)}.wsh-logo{max-width:min(var(--wsh-logo-width),160px)}}
@media(max-width:480px){.wsh-brand{gap:8px}.wsh-logo{max-width:min(var(--wsh-logo-width),120px)}.wsh-site-text{font-size:22px}.wsh-mobile-panel{padding-right:max(12px,var(--wsh-pr));padding-left:max(12px,var(--wsh-pl))}}

/* Split-color Wyndell nav lettering. Each word starts gold; hover/active invert it. */
.wsh-nav-link .wsh-nav-first{color:#ffd21f;transition:color .12s ease;}
.wsh-nav-link .wsh-nav-rest{color:#fff;transition:color .12s ease;}
.wsh-nav-link.is-active .wsh-nav-first{color:#fff;}
.wsh-nav-link.is-active .wsh-nav-rest{color:#ffd21f;}
@media(hover:hover) and (pointer:fine){
  .wsh-nav-link:hover .wsh-nav-first{color:#fff;}
  .wsh-nav-link:hover .wsh-nav-rest{color:#ffd21f;}
}

/* Hierarchical menu / dropdowns (v0.1.8). */
.wsh-menu-list,.wsh-submenu{list-style:none;margin:0;padding:0}
.wsh-nav>.wsh-menu-list{display:flex;align-items:center;justify-content:center;gap:18px;min-width:0;max-width:100%;flex-wrap:wrap}
.wsh-menu-item{position:relative;display:flex;align-items:center;min-width:0}
.wsh-menu-item>.wsh-nav-link{width:auto}
.wsh-nav-heading{font-family:inherit;font-weight:400!important;cursor:pointer}
.wsh-submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:34px;margin-left:-8px;padding:0;border:0;background:transparent;color:var(--wsh-text);font:inherit;cursor:pointer}
.wsh-submenu-toggle span{font-size:12px;line-height:1;transition:transform .12s ease}
.wsh-menu-item.is-open>.wsh-submenu-toggle span{transform:rotate(180deg)}
.wsh-submenu{display:none;position:absolute;z-index:99999;top:100%;left:0;min-width:190px;padding:6px;background:var(--wsh-bg);border:var(--wsh-nav-border-width) solid rgba(255,255,255,.18)}
.wsh-submenu .wsh-menu-item{display:flex;width:100%;align-items:center}
.wsh-submenu .wsh-nav-link{width:100%;justify-content:flex-start;min-height:36px}
.wsh-submenu .wsh-submenu{top:-6px;left:100%}
.wsh-menu-item.is-open>.wsh-submenu{display:block}
@media(hover:hover) and (pointer:fine) and (min-width:981px){
  .wsh-menu-item.has-children:hover>.wsh-submenu,.wsh-menu-item.has-children:focus-within>.wsh-submenu{display:block}
  .wsh-menu-item.has-children:hover>.wsh-submenu-toggle span,.wsh-menu-item.has-children:focus-within>.wsh-submenu-toggle span{transform:rotate(180deg)}
}
@media(min-width:981px){
  .wsh-nav>.wsh-menu-list>.wsh-menu-item>.wsh-submenu-toggle{margin-left:-10px}
}
@media(max-width:980px){
  .wsh-mobile-nav>.wsh-menu-list{display:grid;gap:4px}
  .wsh-mobile-nav .wsh-menu-item{display:grid;grid-template-columns:minmax(0,1fr) 44px;width:100%}
  .wsh-mobile-nav .wsh-menu-item>.wsh-nav-link{grid-column:1;width:100%;justify-content:flex-start}
  .wsh-mobile-nav .wsh-submenu-toggle{grid-column:2;grid-row:1;width:44px;height:44px;margin:0;border:1px solid rgba(255,255,255,.12)}
  .wsh-mobile-nav .wsh-submenu{position:static;grid-column:1 / -1;min-width:0;width:100%;padding:2px 0 4px 18px;border:0;background:transparent}
  .wsh-mobile-nav .wsh-submenu .wsh-submenu{padding-left:18px}
  .wsh-mobile-nav .wsh-submenu .wsh-nav-link{font-size:16px;min-height:40px}
  .wsh-mobile-nav .wsh-menu-item.is-open>.wsh-submenu{display:block}
}
.wsh-nav-link{font-family:inherit}
.wsh-menu-item.branch-active>.wsh-nav-link{border-color:var(--wsh-active)!important}
.wsh-menu-item.branch-active>.wsh-nav-link .wsh-nav-first{color:#fff}
.wsh-menu-item.branch-active>.wsh-nav-link .wsh-nav-rest{color:#ffd21f}

@media(min-width:981px){.wsh-badge-desktop-off{display:none!important}}
@media(max-width:980px){.wsh-badge-mobile-off{display:none!important}.wsh-badge{width:min(var(--wsh-badge-width),56px)}}

.wsh-nav-word{display:inline-flex;align-items:baseline;gap:0}

/* v0.1.11: keep header content from widening the document and visually shifting page-builder content. */
.wsh-inner,.wsh-inner>*,.wsh-menu-list,.wsh-menu-item{min-width:0}
.wsh-logo,.wsh-badge{flex-shrink:0}
.wsh-nav-link{max-width:100%}
@media(min-width:981px){.wsh-nav{overflow:visible}.wsh-nav>.wsh-menu-list{overflow:visible}}

/* v0.1.12: isolate header layout from surrounding Elementor/theme containers. */
.wsh-header{inline-size:100%;max-inline-size:100%;}
.wsh-header,.wsh-inner{margin-left:0;margin-right:0;}
.wsh-inner{margin-inline:auto;}

/* v0.1.13: shortcode host cleanup after JS moves the header to the top of the body. */
.wsh-shortcode-host-empty{margin:0!important;padding:0!important;border:0!important;min-height:0!important;height:0!important;line-height:0!important;overflow:hidden!important;}


/* v0.1.17: keep dropdown menus above legacy/theme content and fully opaque. */
.wsh-header{z-index:99990;}
.wsh-submenu{
  z-index:100000;
  background-color:var(--wsh-bg)!important;
  background-image:none!important;
  opacity:1!important;
  isolation:isolate;
  overflow:visible;
}
.wsh-submenu::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-color:var(--wsh-bg);
}


/* v0.1.18: continuous hover path into desktop dropdowns. */
@media (min-width: 783px) and (hover: hover) and (pointer: fine){
  .wsh-nav .wsh-menu-item.has-children{position:relative;}
  .wsh-nav .wsh-menu-item.has-children>.wsh-submenu{top:100%;margin-top:0;}
  .wsh-nav .wsh-submenu .wsh-menu-item.has-children>.wsh-submenu{top:-6px;left:100%;margin-left:0;}
}


/* v0.1.19: match submenu dropdowns to the gold rounded nav treatment and tighten row height. */
@media (min-width: 981px){
  .wsh-nav .wsh-submenu{
    padding:4px;
    border:var(--wsh-nav-border-width) solid var(--wsh-hover)!important;
    border-radius:var(--wsh-nav-radius);
    background-color:var(--wsh-bg)!important;
  }
  .wsh-nav .wsh-submenu .wsh-nav-link{
    min-height:30px;
    padding:4px var(--wsh-nav-pad-x);
    border-radius:var(--wsh-nav-radius);
  }
  .wsh-nav .wsh-submenu .wsh-menu-item.has-children>.wsh-submenu{top:-4px;}
}


/* v0.1.21: one clean submenu outline; submenu rows never draw their own border. */
@media (min-width: 981px){
  .wsh-nav .wsh-submenu .wsh-nav-link,
  .wsh-nav .wsh-submenu .wsh-nav-link:hover,
  .wsh-nav .wsh-submenu .wsh-nav-link:focus,
  .wsh-nav .wsh-submenu .wsh-nav-link:focus-visible,
  .wsh-nav .wsh-submenu .wsh-nav-link.is-active,
  .wsh-nav .wsh-submenu .wsh-menu-item.branch-active > .wsh-nav-link{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
}

/* v0.1.22: site-wide pixel background and skyline strip. */
body.wsh-site-bg-on{
  position:relative;
  isolation:isolate;
  background:transparent!important;
}
.wsh-site-background{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  width:100%;
  height:100%;
}
.wsh-skyline-strip{
  width:100%;
  height:var(--wsh-skyline-height);
  margin:0;
  padding:0;
  background-image:var(--wsh-skyline-image);
  background-size:var(--wsh-skyline-size);
  background-position:var(--wsh-skyline-position);
  background-repeat:var(--wsh-skyline-repeat);
  background-color:transparent;
  pointer-events:none;
}
@media(max-width:780px){
  .wsh-skyline-strip{height:var(--wsh-skyline-height-mobile);}
}

/* v0.1.23: skyline Fit Width is emitted as background-size:100% auto.
   Shared panel shadows are generated from the admin settings as inline CSS. */

/* v0.1.27: keep mobile submenu parent labels visible when their submenu is open. */
@media (max-width:980px){
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-nav-link{
    grid-column:1;
    grid-row:1;
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-submenu-toggle{
    grid-column:2;
    grid-row:1;
  }
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-submenu{
    grid-column:1 / -1;
    grid-row:2;
  }
}


/* v0.1.28: robust mobile submenu layout. Keep the parent label in place and
   put child links on the next line. Flex avoids theme/button/grid interference. */
@media (max-width:980px){
  .wsh-mobile-nav .wsh-menu-item.has-children{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    width:100%!important;
  }
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-nav-heading,
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-nav-link{
    display:inline-flex!important;
    flex:1 1 calc(100% - 44px)!important;
    width:auto!important;
    min-width:0!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
  }
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-submenu-toggle{
    display:inline-flex!important;
    flex:0 0 44px!important;
    width:44px!important;
    margin:0!important;
  }
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-submenu{
    display:none;
    flex:0 0 100%!important;
    width:100%!important;
    position:static!important;
    padding:2px 0 4px 18px!important;
    margin:0!important;
  }
  .wsh-mobile-nav .wsh-menu-item.has-children.is-open > .wsh-submenu{
    display:block!important;
  }
}


/* v0.1.29: mobile parent labels stay visible; only arrow button owns expanded state. */
@media (max-width:980px){
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-nav-heading{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    color:var(--wsh-text)!important;
    z-index:2!important;
  }
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-nav-heading .wsh-nav-first{color:#ffd21f!important;}
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-nav-heading .wsh-nav-rest{color:#fff!important;}
}


/* v0.1.30: deterministic mobile submenu rendering.
   The mobile hamburger menu shows parent headings and their children together,
   eliminating the fragile second-level toggle state on touch devices. */
@media (max-width:980px){
  .wsh-mobile-nav .wsh-menu-item.has-children{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    width:100%!important;
  }

  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-nav-heading,
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-nav-link{
    display:inline-flex!important;
    flex:1 1 100%!important;
    width:100%!important;
    min-width:0!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-submenu-toggle{
    display:none!important;
  }

  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-submenu{
    display:block!important;
    position:static!important;
    flex:0 0 100%!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:2px 0 4px 28px!important;
    border:0!important;
    background:transparent!important;
  }

  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-nav-heading::after{
    content:'▾';
    display:inline-block;
    margin-left:.55em;
    font-size:.62em;
    color:var(--wsh-text);
    transform:translateY(-.08em);
  }

  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-nav-heading .wsh-nav-first{
    color:#ffd21f!important;
  }
  .wsh-mobile-nav .wsh-menu-item.has-children > .wsh-nav-heading .wsh-nav-rest{
    color:#fff!important;
  }
}

/* v0.1.34: mobile accordion menu.
   Parent rows deliberately use the SAME .wsh-nav-link class as every other
   top-level item, so SOCIALS cannot drift in size or horizontal alignment. */
@media (max-width:980px){
  .wsh-mobile-nav{
    display:block!important;
  }

  .wsh-mobile-menu-list,
  .wsh-mobile-children{
    list-style:none!important;
    margin:0!important;
    padding:0!important;
  }

  .wsh-mobile-menu-list{
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    width:100%!important;
  }

  .wsh-mobile-item{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  /* Every top-level mobile row, including SOCIALS, is identical. */
  .wsh-mobile-menu-list > .wsh-mobile-item > .wsh-nav-link{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
    padding:10px 12px!important;
    box-sizing:border-box!important;
    font-family:inherit!important;
    font-size:18px!important;
    font-weight:400!important;
    line-height:1.15!important;
    letter-spacing:.04em!important;
    text-decoration:none!important;
    background:transparent!important;
    border:0!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .wsh-mobile-menu-list > .wsh-mobile-item > .wsh-nav-link::before{
    display:none!important;
    content:none!important;
  }

  .wsh-mobile-parent-row{
    gap:.45em!important;
    cursor:pointer!important;
  }

  .wsh-mobile-parent-arrow{
    display:inline-block!important;
    margin:0!important;
    font-size:.62em!important;
    line-height:1!important;
    color:var(--wsh-text)!important;
    transition:transform .12s ease!important;
  }

  .wsh-mobile-item.is-open > .wsh-mobile-parent-row .wsh-mobile-parent-arrow{
    transform:rotate(180deg)!important;
  }

  .wsh-mobile-children[hidden]{
    display:none!important;
  }

  .wsh-mobile-children{
    width:100%!important;
    padding:0 0 3px 28px!important;
    box-sizing:border-box!important;
  }

  .wsh-mobile-children .wsh-nav-link{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:40px!important;
    margin:0!important;
    padding:7px 12px!important;
    box-sizing:border-box!important;
    font-family:inherit!important;
    font-size:16px!important;
    font-weight:400!important;
    line-height:1.15!important;
  }

  .wsh-mobile-parent-row .wsh-nav-first{color:#ffd21f!important;}
  .wsh-mobile-parent-row .wsh-nav-rest{color:#fff!important;}
}

/* v0.1.35: shared mobile page-content spacing utility.
   Add "wl-content-panel" to an Elementor container's CSS Classes field. */
@media (max-width:767px){
  .wl-content-panel{
    padding-left:10px!important;
    padding-right:10px!important;
    box-sizing:border-box!important;
  }
}
