/* 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; }
#comp-kxqu44nc button.eranmg {
  align-items: center;
  display: flex;
  height: 44px !important;
  justify-content: center;
  width: 44px !important;
}
#comp-kxqu44nc button.eranmg svg { flex: none; height: 38px !important; width: 21px !important; }

/* 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;
}

/* Keep a visible white gap between each page's last section and the footer. */
#PAGES_CONTAINER { padding-bottom: 40px !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 { align-items: center; background: transparent; border: 0; color: #fff; cursor: pointer; display: flex; font: 56px/1 Arial, sans-serif; justify-content: center; min-height: 44px; min-width: 44px; 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%); }

/* Keep white desktop service labels readable over the lightest photographs. */
@media (min-width: 980px) {
  #comp-m12f8m462 h3 { text-shadow: 0 2px 6px rgb(0 0 0 / 95%), 0 0 2px #000 !important; }
}

/* The exported Wix canvas is 980px wide. Reflow it instead of making narrow
   screens scroll sideways or scaling the text down to unreadable sizes. */
@media (max-width: 979px) {
  html { overflow-x: visible; }
  body { overflow-x: visible; }
  body:not(.responsive) #site-root,
  #SITE_CONTAINER,
  #masterPage,
  #SITE_HEADER,
  #PAGES_CONTAINER,
  #SITE_PAGES,
  #SITE_PAGES_TRANSITION_GROUP,
  #SITE_FOOTER {
    box-sizing: border-box;
    min-width: 0 !important;
    width: 100% !important;
  }
  #SITE_PAGES .wixui-page,
  #SITE_PAGES .wixui-page > div,
  [id^="pageBackground_"],
  [id^="pageBackground_"] *,
  [id^="bgLayers_pageBackground_"],
  [id^="bgMedia_pageBackground_"] {
    box-sizing: border-box;
    left: 0 !important;
    margin-left: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  #SITE_HEADER .H2MmBb,
  #SITE_HEADER .CmHRsG,
  #SITE_FOOTER .H2MmBb,
  #SITE_FOOTER .CmHRsG {
    left: 0 !important;
    margin-left: 0 !important;
    width: 100% !important;
  }

  #SITE_HEADER,
  #SITE_HEADER #comp-kg0jstlh,
  #SITE_HEADER #comp-l2pf053b { height: auto !important; min-width: 0 !important; width: 100% !important; }
  #SITE_HEADER #comp-kg0jstlh { left: auto !important; margin: 0 !important; }
  #SITE_HEADER [data-mesh-id="comp-l2pf053binlineContent-gridContainer"] {
    flex-direction: column;
    gap: 0;
    height: auto !important;
    max-width: 100%;
    min-height: 100px;
    padding: 8px 12px 0;
  }
  #SITE_HEADER #comp-l2pf055h {
    box-sizing: border-box;
    flex: none;
    min-height: 42px;
    padding-left: 40px;
    text-align: center;
    width: 100% !important;
  }
  #SITE_HEADER #comp-l2pf055h p,
  #SITE_HEADER #comp-l2pf055h span { font-size: clamp(23px, 4.2vw, 34px) !important; line-height: 1.15 !important; text-align: center !important; }
  #SITE_HEADER #comp-kd46oy0r { flex: none; max-width: 470px; width: 100% !important; }
  #SITE_HEADER #comp-kd46oy0r > nav > ul > li > a p { font-size: clamp(14px, 2.4vw, 20px) !important; }
  #comp-kd46oy0r li[id$="__more__"] { display: none !important; }
  #native-header-dragon,
  #native-header-dragon img { height: 42px; width: 42px; }
  #native-header-dragon { left: 10px; top: 7px; }

  #PAGES_CONTAINER section.wixui-section,
  #PAGES_CONTAINER section.wixui-section [data-mesh-id$="inlineContent"] {
    box-sizing: border-box;
    height: auto !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  #PAGES_CONTAINER section.wixui-section > [data-mesh-id$="inlineContent"] > [data-mesh-id$="inlineContent-gridContainer"] {
    align-items: center;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column;
    gap: 18px;
    grid-template: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 28px clamp(16px, 4vw, 36px);
    width: 100% !important;
  }
  #PAGES_CONTAINER section.wixui-section > [data-mesh-id$="inlineContent"] > [data-mesh-id$="inlineContent-gridContainer"] > [id] {
    align-self: center !important;
    box-sizing: border-box;
    grid-area: auto !important;
    left: auto !important;
    margin: 0 !important;
    max-width: 100%;
    position: relative !important;
    top: auto !important;
    transform: none !important;
  }
  #PAGES_CONTAINER section.wixui-section > [data-mesh-id$="inlineContent"] > [data-mesh-id$="inlineContent-gridContainer"] > .wixui-rich-text {
    width: min(100%, 700px) !important;
  }
  #PAGES_CONTAINER .wixui-rich-text p,
  #PAGES_CONTAINER .wixui-rich-text h1,
  #PAGES_CONTAINER .wixui-rich-text h2,
  #PAGES_CONTAINER .wixui-rich-text h3 { max-width: 100%; }
  #comp-kxr2721y h1,
  #comp-kxr2721y p,
  #comp-kxr2721y span { font-size: clamp(42px, 9vw, 64px) !important; line-height: 1.05 !important; }
  #comp-m12f8m462 .wixui-rich-text .color_36,
  #comp-m12f8m463 .wixui-rich-text .color_36 { color: #c91c1c !important; }
  #comp-m12f8m462 .wixui-rich-text h3,
  #comp-m12f8m463 .wixui-rich-text h3 { font-size: 24px !important; line-height: 1.2 !important; text-align: center !important; }
  #comp-m12f8m462 .wixui-rich-text h3 span,
  #comp-m12f8m463 .wixui-rich-text h3 span { font-size: 24px !important; line-height: 1.2 !important; white-space: normal !important; }
  #comp-l333mcoh { width: 100% !important; }
  #comp-l333mcoh [data-mesh-id$="inlineContent"],
  #comp-l333mcoh [data-mesh-id$="gridContainer"],
  #comp-l333mcpf { width: 100% !important; }
  #comp-l333mcq3 {
    left: auto !important;
    margin-inline: auto !important;
    transform: none !important;
    width: min(310px, calc(100vw - 32px)) !important;
  }
  #comp-l333mcq3 .twJknM { width: 100% !important; }

  #SITE_FOOTER { height: auto !important; }
  #SITE_FOOTER [data-mesh-id="SITE_FOOTERinlineContent-gridContainer"] {
    align-items: center;
    box-sizing: border-box;
    display: flex !important;
    flex-wrap: wrap;
    gap: 16px 28px;
    height: auto !important;
    justify-content: center;
    min-height: 110px;
    padding: 24px 16px;
    width: 100% !important;
  }
  #SITE_FOOTER [data-mesh-id="SITE_FOOTERinlineContent-gridContainer"] > [id] {
    grid-area: auto !important;
    left: auto !important;
    margin: 0 !important;
    max-width: 100%;
    position: relative !important;
  }
  #SITE_FOOTER #comp-kxxodknq { width: min(100%, 480px) !important; }
  #SITE_FOOTER #comp-kcyfonq7 { width: auto !important; }
}

@media (min-width: 600px) and (max-width: 979px) {
  #PAGES_CONTAINER #comp-m12f8m463 > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"],
  #PAGES_CONTAINER #comp-m12f8m464 > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] {
    display: grid !important;
    gap: 18px 28px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-items: center;
  }
  #PAGES_CONTAINER #comp-m12f8m463 > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] > .wixui-rich-text,
  #PAGES_CONTAINER #comp-m12f8m464 > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] > .wixui-rich-text {
    width: 100% !important;
  }
  #PAGES_CONTAINER #comp-m12f8m463 > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] > .wixui-image,
  #PAGES_CONTAINER #comp-m12f8m464 > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] > .wixui-image {
    justify-self: center !important;
  }
  #PAGES_CONTAINER #comp-kxr2721y,
  #PAGES_CONTAINER #comp-kxqu44nc,
  #PAGES_CONTAINER #comp-kxr25ixa,
  #PAGES_CONTAINER #comp-kxsc2tve,
  #PAGES_CONTAINER #comp-l337n9gj { grid-column: 1 / -1 !important; }
  #PAGES_CONTAINER #comp-l34rvc2g { grid-area: 5 / 1 !important; }
  #PAGES_CONTAINER #comp-l34rvc2o { grid-area: 6 / 1 !important; }
  #PAGES_CONTAINER #comp-l34rvc351 { grid-area: 5 / 2 !important; }
  #PAGES_CONTAINER #comp-l34rvc38 { grid-area: 6 / 2 !important; }
  #PAGES_CONTAINER #comp-l34rvc3p1 { grid-area: 7 / 1 !important; }
  #PAGES_CONTAINER #comp-l34rvc3s { grid-area: 8 / 1 !important; }
  #PAGES_CONTAINER #comp-l34rvc5c { grid-area: 7 / 2 !important; }
  #PAGES_CONTAINER #comp-l34rvc5e1 { grid-area: 8 / 2 !important; }
  #PAGES_CONTAINER #comp-l34rvc4r1 { grid-area: 9 / 1 !important; }
  #PAGES_CONTAINER #comp-l34rvc4t2 { grid-area: 10 / 1 !important; }
  #PAGES_CONTAINER #comp-l34rvc491 { grid-area: 9 / 2 !important; }
  #PAGES_CONTAINER #comp-l34rvc4c { grid-area: 10 / 2 !important; }
  #PAGES_CONTAINER #comp-l34rx1u3 { grid-area: 2 / 1 !important; }
  #PAGES_CONTAINER #comp-l34rxsab { grid-area: 2 / 2 !important; }
  #PAGES_CONTAINER #comp-l34ry9to { grid-area: 3 / 1 !important; }
  #PAGES_CONTAINER #comp-l34ry9u6 { grid-area: 3 / 2 !important; }
  #PAGES_CONTAINER #comp-m12f8m462 > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] {
    display: grid !important;
    gap: 18px 28px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-items: center;
  }
  #comp-m12f8m462 > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] > .wixui-rich-text {
    width: 100% !important;
  }
  #PAGES_CONTAINER #comp-m12f8m462 > [data-mesh-id$="inlineContent"] > [data-mesh-id$="gridContainer"] > .wixui-image {
    justify-self: center !important;
  }
  #PAGES_CONTAINER #comp-l34pxw69 { grid-area: 1 / 1 !important; }
  #PAGES_CONTAINER #comp-l34utfob { grid-area: 2 / 1 !important; }
  #PAGES_CONTAINER #comp-l34q7ovg { grid-area: 1 / 2 !important; }
  #PAGES_CONTAINER #comp-l34q7ovl1 { grid-area: 2 / 2 !important; }
  #PAGES_CONTAINER #comp-l34q8oan1 { grid-area: 3 / 1 !important; }
  #PAGES_CONTAINER #comp-l34q8oap2 { grid-area: 4 / 1 !important; }
  #PAGES_CONTAINER #comp-l34qahsk1 { grid-area: 3 / 2 !important; }
  #PAGES_CONTAINER #comp-l34qahsm2 { grid-area: 4 / 2 !important; }
  #PAGES_CONTAINER #comp-l34q9zfy { grid-area: 5 / 1 !important; }
  #PAGES_CONTAINER #comp-l34q9zg0 { grid-area: 6 / 1 !important; }
  #PAGES_CONTAINER #comp-l34q9zgf1 { grid-area: 5 / 2 !important; }
  #PAGES_CONTAINER #comp-l34q9zgh3 { grid-area: 6 / 2 !important; }
}
