/* =================================================================
   Site menu: the Wix home page hamburger, on every page.
   Black full-screen panel (40px padding) sliding in from the right
   over a 60% black overlay; close button top right, the menu items, then
   the social bar. Items: Wix Madefor Display 24px (20px on
   phones), white, left aligned, 4px 8px padding, 1px dividers.
   Self-contained so the older pages (style.css) can load it as is.
   ================================================================= */
.tn-menu-open {
  position: fixed; z-index: 2147483000; top: 10px; right: 16px; width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center; margin: 0; padding: 0;
  border: 1px solid #fff; border-radius: 999px; background: #000; color: #fff; cursor: pointer;
  transition: background-color .2s, border-color .2s, color .2s;
}
.tn-menu-open svg { width: 23px; height: 20px; fill: currentColor; }
.tn-menu-open:hover { background: rgba(255,255,255,0); border-color: #000; color: #000; }
@media (max-width: 1000px) { .tn-menu-open { top: 7px; right: 11px; } }
@media (max-width: 750px) { .tn-menu-open { top: 3px; right: 4px; width: 35px; height: 35px; } }

.tn-menu { position: fixed; inset: 0; z-index: 2147483001; }
.tn-menu[hidden] { display: none; }
.tn-menu__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.6); opacity: 0; transition: opacity .35s; }
.tn-menu__panel {
  position: absolute; inset: 0; box-sizing: border-box; padding: 40px; overflow-y: auto;
  background: #000; color: #fff; transform: translateX(100%); transition: transform .45s cubic-bezier(.22,.61,.36,1);
}
.tn-menu.is-open .tn-menu__backdrop { opacity: 1; }
.tn-menu.is-open .tn-menu__panel { transform: none; }
@media (prefers-reduced-motion: reduce) { .tn-menu__panel, .tn-menu__backdrop { transition: none; } }

.tn-menu__close {
  position: absolute; top: 40px; right: 40px; width: 40px; height: 40px; margin: 0; padding: 0;
  display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: 300px; background: transparent; color: #fff; cursor: pointer;
}
.tn-menu__close svg { width: 20px; height: 20px; fill: currentColor; transition: transform .2s; }
.tn-menu__close:hover svg { transform: rotate(90deg); }

.tn-menu ul { list-style: none; margin: 0; padding: 0; }

/* Items: the current page carries Wix's bullet; every label keeps its room. */
.tn-menu__nav { margin: 46px 0 0 -1px; padding: 6px 0; }
.tn-menu__nav li + li { border-top: 1px solid rgba(203,220,233,1); }
.tn-menu__nav a {
  display: flex; align-items: center; padding: 4px 8px; color: #fff; text-decoration: none; text-align: left;
  font: normal normal 400 24px/1.4em wix-madefor-display-v2, "Wix Madefor Display", sans-serif; letter-spacing: 0;
}
.tn-menu__nav a::before { content: ""; flex: none; width: 5px; height: 5px; margin: 0 6px 0 0; border-radius: 50%; background: currentColor; visibility: hidden; }
.tn-menu__nav a[aria-current="page"]::before, .tn-menu__nav a:hover::before { visibility: visible; }

/* Social bar: Wix's white round icons, below the items. */
.tn-menu .tn-menu__social { display: flex; gap: 12px; margin: 170px 0 0 5px; }
.tn-menu__social a { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #fff; color: #000; }
.tn-menu__social svg { display: block; width: 16px; height: 16px; fill: currentColor; }

@media (max-width: 750px) {
  /* Measured from the Wix phone menu (412px wide). */
  .tn-menu__panel { padding: 20px; }
  .tn-menu__close { top: 20px; right: 20px; }
  .tn-menu__nav { margin: 72px 0 0 21px; }
  .tn-menu__nav a { font-size: 20px; }
  .tn-menu .tn-menu__social { margin: 175px 0 0 27px; }
}
body.menu-open { overflow: hidden; }
