.elementor-17 .elementor-element.elementor-element-0bc2fb0{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-17 .elementor-element.elementor-element-0bc2fb0:not(.elementor-motion-effects-element-type-background), .elementor-17 .elementor-element.elementor-element-0bc2fb0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-17 .elementor-element.elementor-element-b68bac8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-17 .elementor-element.elementor-element-05a91fe{--display:flex;}.elementor-17 .elementor-element.elementor-element-05a91fe.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-17 .elementor-element.elementor-element-e807a60{text-align:start;}.elementor-17 .elementor-element.elementor-element-e807a60 img{width:153px;}.elementor-17 .elementor-element.elementor-element-3a14ac5{--display:flex;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-17 .elementor-element.elementor-element-3a14ac5.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-menu-toggle{margin-left:auto;}.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu .elementor-item{font-family:"Roboto", Sans-serif;font-size:16px;font-weight:600;}.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main .elementor-item{color:#ADADAD;fill:#ADADAD;}.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main .elementor-item:hover,
					.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main .elementor-item:focus{color:#fff;}.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#141414;}.elementor-17 .elementor-element.elementor-element-f8d198b .e--pointer-framed .elementor-item:before,
					.elementor-17 .elementor-element.elementor-element-f8d198b .e--pointer-framed .elementor-item:after{border-color:#141414;}.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#FFFFFF;}.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:before,
					.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:after{background-color:#141414;}.elementor-17 .elementor-element.elementor-element-f8d198b .e--pointer-framed .elementor-item.elementor-item-active:before,
					.elementor-17 .elementor-element.elementor-element-f8d198b .e--pointer-framed .elementor-item.elementor-item-active:after{border-color:#141414;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-17 .elementor-element.elementor-element-05a91fe{--width:50%;}.elementor-17 .elementor-element.elementor-element-e807a60 img{width:137px;}.elementor-17 .elementor-element.elementor-element-3a14ac5{--width:40%;}}@media(min-width:768px){.elementor-17 .elementor-element.elementor-element-0bc2fb0{--width:100%;}.elementor-17 .elementor-element.elementor-element-b68bac8{--content-width:1240px;}.elementor-17 .elementor-element.elementor-element-05a91fe{--width:15%;}.elementor-17 .elementor-element.elementor-element-3a14ac5{--width:85%;}}/* Start custom CSS for nav-menu, class: .elementor-element-f8d198b *//* ============================================================
   QUETZAL — NAV MENU  (v5, consolidated)

   REPLACE everything currently in the widget's Custom CSS box
   with this file. Do not keep the two earlier files — they
   contain the bug this one fixes and will fight with it.

   Fixes vs v1:
   · sub-menus no longer inherit the horizontal flex row
   · dropdowns stack vertically and sit directly underneath
   · no dead zone between trigger and panel
   · mobile panel is vertical
   · CTA hover no longer overridden by the generic item hover
   · CTA locked gold in every state, with an animated
     download icon on hover

   BREAKPOINT: hover model applies from 1025px up (Nav Menu
   widget set to "Tablet"). If yours is set to "Mobile",
   change 1025px → 768px and 1024px → 767px throughout.
   ============================================================ */

.elementor-17 .elementor-element.elementor-element-f8d198b {
  --qz-gold: #BD995A;
  --qz-gold-bright: #C9A66B;
  --qz-gold-light: #D4B67E;
  --qz-gold-deep: #A8853F;
  --qz-gold-wash: rgba(189, 153, 90, 0.14);
  --qz-gold-edge: rgba(189, 153, 90, 0.4);
  --qz-on-gold: #1A1508;

  --qz-text: #C9C9C7;
  --qz-text-bright: #F6F5F1;
  --qz-text-dim: #6E6F70;

  --qz-panel: rgba(18, 18, 19, 0.97);
  --qz-hairline: rgba(255, 255, 255, 0.06);
  --qz-hairline-strong: rgba(255, 255, 255, 0.1);
  --qz-hover-fill: rgba(255, 255, 255, 0.04);

  --qz-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --qz-ease: cubic-bezier(0.2, 0.6, 0.2, 1);
  --qz-fast: 0.2s;
  --qz-slow: 0.32s;

  --qz-gap: 12px;        /* visual space between item and panel */
}

/* ============================================================
   0 · WIDGET BOX
   Right-aligns the whole menu and gives the mobile panel
   something to anchor to.
   ============================================================ */

.elementor-17 .elementor-element.elementor-element-f8d198b {
  position: relative;
  display: flex;
  justify-content: flex-end;
}

.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-widget-container,
.elementor-17 .elementor-element.elementor-element-f8d198b nav.elementor-nav-menu--main {
  width: 100%;
}

/* ============================================================
   1 · LIST RESET
   Note the `>` combinators. The v1 bug was using a descendant
   .elementor-17 .elementor-element.elementor-element-f8d198b here, which flattened sub-menus into rows too.
   ============================================================ */

.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul.elementor-nav-menu {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;   /* menu sits right */
  flex-wrap: nowrap;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* every nested list stacks, always, at every screen size */
.elementor-17 .elementor-element.elementor-element-f8d198b ul.sub-menu,
.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu ul {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu li {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ============================================================
   2 · TOP-LEVEL ITEMS
   ============================================================ */

.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li {
  position: relative;
}

.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li > a.elementor-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 14px;
  font-family: var(--qz-sans);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.01em;
  color: var(--qz-text);
  text-decoration: none;
  white-space: nowrap;
  border-radius: 8px;
  background: none;
  border: 0;
  transition:
    color var(--qz-fast) var(--qz-ease),
    background-color var(--qz-fast) var(--qz-ease);
}

/* gold underline, grows from centre */
.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li > a.elementor-item::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 3px;
  height: 1px;
  background: var(--qz-gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--qz-slow) var(--qz-ease);
  pointer-events: none;
}

.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li > a.elementor-item:hover,
.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li > a.elementor-item:focus-visible {
  color: var(--qz-text-bright);
  background-color: var(--qz-hover-fill);
}

.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li:hover > a.elementor-item::after,
.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li > a.elementor-item-active::after {
  transform: scaleX(1);
}

.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li > a.elementor-item-active,
.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li.current-menu-ancestor > a {
  color: var(--qz-gold-light);
}

.elementor-17 .elementor-element.elementor-element-f8d198b a.elementor-item:focus-visible {
  outline: 1px solid var(--qz-gold-edge);
  outline-offset: 2px;
}

/* caret */
.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main .sub-arrow {
  display: inline-flex;
  margin-left: 2px;
  font-size: 9px;
  line-height: 1;
  color: var(--qz-text-dim);
  transition:
    transform var(--qz-slow) var(--qz-ease),
    color var(--qz-fast) var(--qz-ease);
}

.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li:hover > a .sub-arrow {
  color: var(--qz-gold-bright);
  transform: rotate(180deg);
}

/* ============================================================
   3 · DROPDOWN PANEL — desktop only
   ============================================================ */

@media (min-width: 1025px) {

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 999;

    display: block;          /* never a row */
    min-width: 252px;
    padding: 8px;
    margin: 0;

    background: var(--qz-panel);
    -webkit-backdrop-filter: saturate(160%) blur(20px);
    backdrop-filter: saturate(160%) blur(20px);
    border: 1px solid var(--qz-hairline-strong);
    border-radius: 14px;
    box-shadow:
      0 24px 56px rgba(0, 0, 0, 0.6),
      0 2px 6px rgba(0, 0, 0, 0.4);

    /* the visual gap lives in a transparent outline, NOT in a
       margin — so the pointer never crosses dead space */
    margin-top: var(--qz-gap);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px);
    transition:
      opacity var(--qz-fast) var(--qz-ease),
      transform var(--qz-slow) var(--qz-ease),
      visibility 0s linear var(--qz-fast);
  }

  /* the bridge: an invisible strip filling the gap so moving the
     pointer downward keeps :hover alive on the parent li */
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: calc(var(--qz-gap) * -1 - 2px);
    height: calc(var(--qz-gap) + 4px);
    background: transparent;
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li:hover > ul.sub-menu,
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li:focus-within > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
  }

  /* items inside the panel — stacked, full width */
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu > li {
    display: block;
    width: 100%;
    position: relative;
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 13px 16px;
    font-family: var(--qz-sans);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    color: #E4E4E2 !important;   /* beats Elementor's dimmer default */
    text-decoration: none;
    border-radius: 9px;
    white-space: nowrap;
    transition:
      color var(--qz-fast) var(--qz-ease),
      background-color var(--qz-fast) var(--qz-ease),
      padding-left var(--qz-fast) var(--qz-ease);
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu a::after {
    display: none;
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu a:hover,
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu a:focus-visible {
    color: #FFFFFF !important;
    background-color: var(--qz-gold-wash);
    padding-left: 20px;
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu .elementor-item-active {
    color: var(--qz-gold-light) !important;
    background-color: rgba(189, 153, 90, 0.1);
  }

  /* ---- third level: flies out sideways ---- */
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu ul.sub-menu {
    top: -9px;
    left: 100%;
    margin: 0 0 0 6px;
    transform: translateX(-6px);
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu ul.sub-menu::before {
    top: 0;
    left: -10px;
    right: auto;
    width: 10px;
    height: 100%;
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu > li:hover > ul.sub-menu,
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu > li:focus-within > ul.sub-menu {
    transform: translateX(0);
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main ul.sub-menu .sub-arrow {
    transform: rotate(-90deg);
  }

  /* keep panels inside the viewport near the right edge */
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li:last-child > ul.sub-menu,
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li:nth-last-child(2) > ul.sub-menu {
    left: auto;
    right: 0;
  }
}

/* ============================================================
   4 · CTA ITEM  — always gold, with an animated download icon
   Add CSS class `menu-cta` to the menu item in
   Appearance → Menus (Screen Options → CSS Classes).
   ============================================================ */

.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a.elementor-item,
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  padding: 10px 20px;

  /* gold in every state — !important because the generic item
     rules and the theme's :visited/:active styles both target
     this same element */
  background: var(--qz-gold) !important;
  background-color: var(--qz-gold) !important;
  color: var(--qz-on-gold) !important;

  font-weight: 500;
  border-radius: 999px;
  box-shadow: 0 0 24px rgba(189, 153, 90, 0.18);
  transition:
    background-color var(--qz-fast) var(--qz-ease),
    box-shadow var(--qz-slow) var(--qz-ease),
    transform var(--qz-fast) var(--qz-ease);
}

/* ---- the download glyph -----------------------------------
   background-image, not mask. Two reasons the mask version
   failed: Safari rejects raw spaces and # inside url(), and
   mask support varies. This data URI is fully percent-encoded
   and the stroke colour is baked in, so nothing depends on
   currentColor or mask support.

   ALSO: set the widget's Pointer to "None"
   (Nav Menu -> Style -> Pointer). Elementor's pointer effects
   draw their own ::before on menu items and will sit on top.  */

.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a.elementor-item,
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a {
  position: relative;
  padding-left: 46px !important;
}

.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a.elementor-item::before,
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 20px;
  top: 50%;
  width: 15px;
  height: 15px;
  margin: -7.5px 0 0 0;

  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2016%2016%27%3E%3Cpath%20d%3D%27M8%201.6v8.3m0%200L4.7%206.6M8%209.9l3.3-3.3M2.3%2013.3h11.4%27%20fill%3D%27none%27%20stroke%3D%27%231A1508%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-color: transparent !important;

  border: 0;
  border-radius: 0;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0);
  transition: transform var(--qz-fast) var(--qz-ease);
  pointer-events: none;
  z-index: 1;
}

/* ---- hover ------------------------------------------------ */
.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li.menu-cta > a.elementor-item:hover,
.elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--main > ul > li.menu-cta > a.elementor-item:focus-visible,
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a:hover,
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a:focus-visible {
  background: var(--qz-gold-bright) !important;
  background-color: var(--qz-gold-bright) !important;
  color: var(--qz-on-gold) !important;
  box-shadow: 0 4px 28px rgba(189, 153, 90, 0.32);
  transform: translateY(-1px);
}

/* the arrow drops into the tray, pauses, repeats */
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a:hover::before,
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a:focus-visible::before {
  animation: qz-cta-download 1.25s var(--qz-ease) infinite;
}

@keyframes qz-cta-download {
  0%, 48%, 100% { transform: translateY(0); }
  62%           { transform: translateY(3.5px); }
  74%           { transform: translateY(-1.5px); }
  84%           { transform: translateY(0); }
}

/* ---- states that must NOT change the gold ----------------- */
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a.elementor-item-active,
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a.elementor-item:visited,
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a.elementor-item:active,
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a:visited,
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a:active {
  background: var(--qz-gold) !important;
  background-color: var(--qz-gold) !important;
  color: var(--qz-on-gold) !important;
}

.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a.elementor-item-active:hover {
  background-color: var(--qz-gold-bright) !important;
}

/* no underline on the CTA, in any state */
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a.elementor-item::after,
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a::after {
  display: none !important;
}

/* no caret, even if the item has children */
.elementor-17 .elementor-element.elementor-element-f8d198b li.menu-cta > a .sub-arrow {
  display: none;
}

/* ============================================================
   5 · MOBILE / TABLET — always vertical
   ============================================================ */

@media (max-width: 1024px) {

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-menu-toggle {
    padding: 9px;
    color: var(--qz-text);
    background: var(--qz-hover-fill);
    border: 1px solid var(--qz-hairline);
    border-radius: 10px;
    transition:
      border-color var(--qz-fast) var(--qz-ease),
      color var(--qz-fast) var(--qz-ease);
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-menu-toggle:hover,
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-menu-toggle.elementor-active {
    color: var(--qz-gold-bright);
    border-color: var(--qz-gold-edge);
  }

  /* the panel */
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown {
    /* overlay instead of sitting in the flow — this is what was
       pushing the header and page content down */
    position: absolute !important;
    top: calc(100% + 12px);
    right: 0;
    left: auto;
    z-index: 998;
    width: min(92vw, 340px);
    margin-top: 0;
    padding: 10px;
    background: var(--qz-panel);
    -webkit-backdrop-filter: saturate(160%) blur(20px);
    backdrop-filter: saturate(160%) blur(20px);
    border: 1px solid var(--qz-hairline-strong);
    border-radius: 16px;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.6);
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  /* The top-level list stacks. Sub-menus are left to Elementor's
     own accordion JS — forcing them visible was what made them
     overlap the items beneath. Tap the caret to expand. */
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown > ul {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    position: static;
    width: 100%;
    min-width: 0;
    padding: 0;
    margin: 0;
    background: none;
    border: 0;
    box-shadow: none;
  }

  /* sub-menus: normal flow, no absolute positioning, no panel
     chrome — but visibility stays Elementor's business */
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown ul.sub-menu {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
    background: none !important;
    border: 0;
    border-radius: 0;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0;
    margin: 0;
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown ul.sub-menu::before {
    display: none;
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown li {
    display: block;
    width: 100%;
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown a.elementor-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 15px 16px;
    font-family: var(--qz-sans);
    font-size: 16px;
    font-weight: 500;
    color: #E4E4E2 !important;
    border-radius: 10px;
    text-decoration: none;
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown a.elementor-item:hover,
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown a.elementor-item-active {
    color: var(--qz-text-bright);
    background-color: var(--qz-gold-wash);
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown a.elementor-item::after {
    display: none;
  }

  /* nested items: indented with a rule, no flyout */
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown ul.sub-menu {
    margin: 2px 0 6px 0;
    padding-left: 12px;
    border-left: 1px solid var(--qz-hairline);
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown ul.sub-menu a.elementor-item {
    padding: 13px 14px;
    font-size: 15.5px;
    font-weight: 500;
    color: #DCDCDA !important;
  }

  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown ul.sub-menu a.elementor-item:hover,
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown ul.sub-menu a.elementor-item-active {
    color: #FFFFFF !important;
    background-color: var(--qz-gold-wash);
  }

  /* CTA spans the panel */
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown li.menu-cta > a {
    margin: 12px 0 4px;
    justify-content: center;
    /* equal padding both sides keeps the label optically centred
       while the icon sits at a fixed left offset */
    padding-left: 46px !important;
    padding-right: 46px !important;
  }

  /* no hover on touch — icon must be visible and still */
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown li.menu-cta > a::before {
    left: 20px;
    margin-left: 0;
    animation: none !important;
    opacity: 1 !important;
  }

  /* the icon shouldn't animate on touch — there is no hover */
  .elementor-17 .elementor-element.elementor-element-f8d198b .elementor-nav-menu--dropdown li.menu-cta > a::before {
    animation: none !important;
  }
}

/* ============================================================
   6 · MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .elementor-17 .elementor-element.elementor-element-f8d198b *,
  .elementor-17 .elementor-element.elementor-element-f8d198b *::before,
  .elementor-17 .elementor-element.elementor-element-f8d198b *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}/* End custom CSS */