/* Preserve the original Services submenu without relying on Wix JavaScript. */
wix-dropdown-menu li:hover:not(.native-menu-click-closed) > ul[aria-hidden],
wix-dropdown-menu li:focus-within:not(.native-menu-click-closed) > ul[aria-hidden],
wix-dropdown-menu li.native-menu-open > ul[aria-hidden] { display: block !important; z-index: 1000; }

/* Wix normally injects these dropdown dimensions at runtime. Keep the
   archived typography, but supply the missing static geometry locally. */
#comp-kd46oy0r1 { position: relative; }
#comp-kd46oy0r1 > ul[aria-hidden] {
  background: rgb(28 28 28);
  box-sizing: border-box;
  height: auto !important;
  left: 0;
  margin: 0;
  max-height: none !important;
  min-width: 235px;
  overflow: visible !important;
  padding: 0;
  position: absolute;
  top: 50px;
  z-index: 1000;
}
#comp-kd46oy0r1 > ul[aria-hidden] > li { display: block; margin: 0; width: 100%; }
#comp-kd46oy0r1 > ul[aria-hidden] > li > a { color: #fff; display: block; font-family: futura-lt-w01-book, sans-serif; font-size: 16px; line-height: 1.35; padding: 10px 16px; text-align: left; }
#comp-kd46oy0r1 > ul[aria-hidden] > li > a:hover,
#comp-kd46oy0r1 > ul[aria-hidden] > li > a:focus { background: rgb(201 28 28); }

/* Wix normally changes these at runtime. Without that runtime they clip a
   dropdown under the hero, so keep the original header stack open locally. */
#SITE_HEADER,
#SITE_HEADER .XgJ1FR,
#SITE_HEADER [data-testid="inline-content"],
#SITE_HEADER [data-testid="mesh-container-content"],
#comp-kd46oy0r,
#comp-kd46oy0r nav,
#comp-kd46oy0r ul { overflow: visible !important; }
#SITE_HEADER { position: relative; z-index: 10000; }
#comp-kd46oy0r { z-index: 10001; }
/* Wix positions its screen-reader-only submenu button below the 50px menu
   item. Place a visible caret inside the item so pointer users can use it. */
#comp-kd46oy0r1 > a { width: calc(100% - 20px) !important; }
#comp-kd46oy0r1 > button.H4AHlN {
  clip-path: none;
  color: #fff;
  cursor: pointer;
  height: 24px;
  right: 2px;
  top: 13px;
  transform: none !important;
  width: 18px;
  z-index: 2;
}
#comp-kd46oy0r1 > button.H4AHlN svg { fill: currentColor; }

/* Wix normally suppresses its overflow-only "More" item at desktop widths. */
@media (min-width: 721px) {
  wix-dropdown-menu li[id$="__more__"] { display: none !important; }
}

/* Match Wix's brief hero fade while keeping the slideshow fully local. */
#comp-kxqu44nc wow-image img { opacity: 1; transition: opacity 180ms ease; }
#comp-kxqu44nc.native-hero-fading wow-image img { opacity: 0; }

/* Keep the intentional left/right header layout without offsetting both
   elements from their old Wix grid positions. */
#SITE_HEADER [data-mesh-id="comp-l2pf053binlineContent-gridContainer"] {
  align-items: center;
  box-sizing: border-box;
  display: flex !important;
  gap: 48px;
  height: 86px !important;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 980px;
  padding: 0 18px;
}
#SITE_HEADER #comp-l2pf055h,
#SITE_HEADER #comp-kd46oy0r {
  align-self: center !important;
  grid-area: auto !important;
  left: auto !important;
  margin: 0 !important;
  transform: none !important;
}
#SITE_HEADER #comp-l2pf055h { flex: 0 0 383px; order: 1; }
#SITE_HEADER #comp-kd46oy0r { flex: 0 0 470px; height: 50px; order: 2; width: 470px; }

/* Let short pages fill the viewport, with the footer in the last grid row. */
#masterPage.mesh-layout {
  min-height: 100vh;
  grid-template-rows: max-content max-content minmax(min-content, 1fr) max-content !important;
}

/* Give all four links the same hit area and a consistent visual baseline. */
#comp-kd46oy0r > nav > ul.wTjmlM {
  align-items: stretch;
  background: #1c1c1c;
  box-shadow: 0 1px 0 rgb(255 255 255 / 12%) inset;
  display: flex !important;
  height: 50px;
  justify-content: stretch;
  width: 100%;
}
#comp-kd46oy0r > nav > ul > li:not([id$="__more__"]) {
  background: transparent !important;
  box-sizing: border-box;
  display: block !important;
  flex: 1 1 0;
  height: 50px;
  min-width: 0;
  width: auto !important;
}
#comp-kd46oy0r > nav > ul > li[data-state~="selected"] { background: #c91c1c !important; }
#comp-kd46oy0r > nav > ul > li:not([data-state~="selected"]):hover,
#comp-kd46oy0r > nav > ul > li:not([data-state~="selected"]):focus-within { background: #383838 !important; }
#comp-kd46oy0r > nav > ul > li > a .VhM8Ji { color: #fff !important; }
#comp-kd46oy0r > nav > ul > li:not([id$="__more__"]) + li:not([id$="__more__"]) {
  border-left: 1px solid rgb(255 255 255 / 20%);
}
#comp-kd46oy0r > nav > ul > li > a .MKZTGU { border-left: 0 !important; }
#comp-kd46oy0r > nav > ul > li > a { box-sizing: border-box; width: 100% !important; }
#comp-kd46oy0r > nav > ul > li > a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
}
#comp-kd46oy0r1 > button.H4AHlN { right: 9px; }

/* Intentional redesign: compact dragon mark on interior pages. */
#native-header-dragon { border-radius: 50%; display: block; height: 58px; left: 14px; overflow: hidden; position: absolute; top: 8px; width: 58px; z-index: 10002; }
#native-header-dragon img { border-radius: 50%; display: block; height: 58px; object-fit: cover; width: 58px; }

/* Center primary labels within their 50px header buttons. */
#comp-kd46oy0r > nav > ul > li > a,
#comp-kd46oy0r > nav > ul > li > a .MKZTGU,
#comp-kd46oy0r > nav > ul > li > a .MKZTGU > div { align-items: center; display: flex !important; height: 100%; justify-content: center; }
#comp-kd46oy0r > nav > ul > li > a p { margin: 0 !important; }

/* Match the original service-card navigation: the outgoing page rises away,
   and the destination settles upward into place. */
#SITE_ROOT { transition: opacity 190ms ease, transform 190ms ease; }
body.native-page-entering #SITE_ROOT { opacity: 0; transform: translateY(28px); }
body.native-page-leaving #SITE_ROOT { opacity: 0; pointer-events: none; transform: translateY(-28px); }
@media (prefers-reduced-motion: reduce) {
  #SITE_ROOT { transition: none; }
}

/* Consultation call to action: retain the mailto workflow without presenting
   implementation detail as the action itself. */
#comp-l333mcpf { --alpha-bg: 0 !important; background: transparent !important; }
#comp-l333mcph2 { display: none !important; }
#comp-l333mcq6 { display: none !important; }
#comp-l333mcq3 { height: 64px !important; left: 50% !important; transform: translateX(-50%); width: 310px !important; }
#comp-l333mcq3 .twJknM {
  align-items: center;
  background: #c91c1c !important;
  border: 1px solid #c91c1c !important;
  box-shadow: 0 5px 14px rgb(105 16 16 / 24%);
  box-sizing: border-box;
  color: #fff !important;
  display: flex !important;
  font-family: dinneuzeitgroteskltw01-_812426, sans-serif !important;
  font-size: 20px !important;
  height: 64px;
  justify-content: center;
  letter-spacing: .025em;
  text-align: center;
  transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  width: 310px;
}
#comp-l333mcq3 .twJknM:hover,
#comp-l333mcq3 .twJknM:focus-visible {
  background: #971313 !important;
  box-shadow: 0 7px 17px rgb(105 16 16 / 34%);
  color: #fff !important;
  transform: translateY(-2px);
}
#comp-l333mcq3 .twJknM:focus-visible { outline: 3px solid #1a1a1a; outline-offset: 3px; }
#comp-l333mcq3 .OR4Nv8 { color: inherit !important; white-space: nowrap; }

/* Local full-resolution portfolio viewer. */
[data-hook="image-item"] img { cursor: zoom-in; }
.native-gallery-tile { position: relative !important; }
.native-gallery-tile-control { background: transparent; border: 0; cursor: zoom-in; inset: 0; padding: 0; pointer-events: auto !important; position: absolute; z-index: 100 !important; }
/* This invisible Wix hover layer otherwise sits above the local trigger. */
.gallery-item-hover.fullscreen-enabled { pointer-events: none !important; }
.item-hover-flex-container { pointer-events: none !important; }
.item-hover-flex-container .native-gallery-tile-control { pointer-events: auto !important; }
body.native-gallery-open { overflow: hidden; }
.native-gallery-lightbox { align-items: center; background: rgb(0 0 0 / 88%); display: none; inset: 0; justify-content: center; position: fixed; z-index: 10001; }
.native-gallery-lightbox.is-open { display: flex; }
.native-gallery-lightbox figure { align-items: center; display: flex; flex-direction: column; margin: 0; max-height: 96vh; max-width: 94vw; }
.native-gallery-lightbox figure img { max-height: calc(96vh - 2rem); max-width: 94vw; object-fit: contain; }
.native-gallery-lightbox figcaption { color: #fff; font: 16px/1.3 Arial, sans-serif; padding-top: .5rem; }
.native-gallery-lightbox button { background: transparent; border: 0; color: #fff; cursor: pointer; font: 56px/1 Arial, sans-serif; padding: .25rem .5rem; position: absolute; }
.native-gallery-close { right: 1.2rem; top: 1rem; }
.native-gallery-previous { left: 1rem; top: 50%; transform: translateY(-50%); }
.native-gallery-next { right: 1rem; top: 50%; transform: translateY(-50%); }
