@font-face {
  font-family: "PP Neue Montreal Medium";
  src: url("https://framerusercontent.com/assets/6uIfYl8bnz9kOy3KOuV7PxhFPhA.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: "PP Neue Montreal Book";
  src: url("https://framerusercontent.com/assets/yUScEiZtXZCqdRimefTfBx1Q4.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

:root {
  --apexx-font-heading: "PP Neue Montreal Medium", "PP Neue Montreal Medium Placeholder", Arial, sans-serif;
  --apexx-font-body: "PP Neue Montreal Book", "PP Neue Montreal Book Placeholder", Arial, sans-serif;
  --apexx-text-dark: #1a1a1a;
  --apexx-text-muted: rgba(0, 0, 0, 0.55);
  --apexx-text-light: #ffffff;
  --apexx-text-light-muted: rgba(255, 255, 255, 0.78);
  --apexx-section-pad-y: 100px;
  --apexx-section-pad-x: 60px;
  --apexx-section-gap: 60px;
  --apexx-pre-footer-gap: 80px;
}

@media (max-width: 809.98px) {
  :root {
    --apexx-section-pad-y: 72px;
    --apexx-section-pad-x: 20px;
    --apexx-section-gap: 40px;
    --apexx-pre-footer-gap: 56px;
  }
}

html,
body {
  overflow-x: clip;
  max-width: 100%;
}

#main {
  overflow-x: clip;
  max-width: 100%;
}

#main .framer-text {
  font-family: var(--apexx-font-body);
}

#main .framer-form-text-input,
#main .framer-form-input-wrapper,
#main .framer-form-select-wrapper {
  --framer-input-font-color: #ffffff !important;
}

#main .framer-form-input,
#main input.framer-form-input,
#main textarea.framer-form-input,
#main select.framer-form-input {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
}

#main select.framer-form-input option {
  color: #1a1a1a !important;
  background-color: #ffffff !important;
}

[data-framer-name="Hero"] [data-framer-name="Content container"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Home Introduction — keep Durable / Custom / Hands-On titles on one baseline */
#main [data-framer-name="Metric container"] {
  align-items: flex-start !important;
}

#main [data-framer-name="Metric container"] > [data-framer-name="Metric"] {
  align-self: flex-start !important;
}

@media (max-width: 809.98px) {
  #main [data-framer-name="Metric container"] {
    align-items: start !important;
  }

  #main [data-framer-name="Metric container"] > [data-framer-name="Metric"] {
    align-self: start !important;
  }
}

/* Home hero stats — stack labels above values like Studio / Apexx Epoxy Pros Ltd */
@media (min-width: 810px) {
  [data-framer-name="Hero"] [data-framer-name="Additional info"] {
    align-items: flex-end !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Additional info"] > [data-framer-name="Title + description"] {
    place-content: flex-start !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    align-self: flex-end !important;
    min-height: 44px !important;
  }

  /* Hero tagline + View projects — right edge lines up with Rating stat column */
  [data-framer-name="Hero"]
    [data-framer-name="Heading container"]
    > [data-framer-name="Studio name"]:last-child {
    align-items: flex-end !important;
    place-content: flex-end !important;
    text-align: right !important;
  }

  [data-framer-name="Hero"]
    [data-framer-name="Heading container"]
    > [data-framer-name="Studio name"]:last-child
    [data-framer-component-type="RichTextContainer"],
  [data-framer-name="Hero"]
    [data-framer-name="Heading container"]
    > [data-framer-name="Studio name"]:last-child
    p.apexx-brand-tagline,
  [data-framer-name="Hero"]
    [data-framer-name="Heading container"]
    > [data-framer-name="Studio name"]:last-child
    p.framer-text {
    text-align: right !important;
    width: 100% !important;
    max-width: 400px !important;
    margin-left: auto !important;
  }

  [data-framer-name="Hero"]
    [data-framer-name="Heading container"]
    > [data-framer-name="Studio name"]:last-child
    [data-framer-name="Button container"] {
    align-self: flex-end !important;
    margin-left: auto !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Additional info"] > [data-framer-name="Title + description"]:last-child {
    align-items: flex-end !important;
    text-align: right !important;
  }

  [data-framer-name="Hero"]
    [data-framer-name="Additional info"]
    > [data-framer-name="Title + description"]:last-child
    p.framer-text {
    text-align: right !important;
    width: 100% !important;
  }
}

[data-framer-name="Hero"] [data-framer-name="Button container"],
[data-framer-name="Hero"] .framer-188lv1y,
#main:not(:has([data-framer-name="Vision"])) [data-framer-name="Hero"] .framer-1f6z29b {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  width: auto !important;
  max-width: 100% !important;
  margin-top: 20px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  z-index: 3 !important;
  flex: none !important;
}

#main h1 .framer-text,
#main h2 .framer-text,
#main h3 .framer-text,
#main h4 .framer-text {
  font-family: var(--apexx-font-heading);
  font-weight: 500;
}

/* About — Quote section: overlay titles + centered middle paragraph */
[data-framer-name="Quote"] [data-framer-name="Text content"] {
  display: flex !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: min(42vw, 500px) !important;
  max-width: 500px !important;
  transform: translate(-50%, -50%) !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

[data-framer-name="Quote"] [data-framer-name="Text content"] p.framer-text {
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.55 !important;
}

[data-framer-name="Quote"] [data-framer-name="Text content"] p.framer-text > span {
  display: inline !important;
  white-space: normal !important;
}

@media (max-width: 809.98px) {
  [data-framer-name="Quote"] [data-framer-name="Text content"] {
    left: 20px !important;
    right: 20px !important;
    width: calc(100% - 40px) !important;
    max-width: none !important;
    height: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  [data-framer-name="Quote"] [data-framer-name="Content container"] > div:not([data-framer-name]) {
    width: auto !important;
    max-width: calc(100% - 32px) !important;
    height: auto !important;
  }

  [data-framer-name="Quote"] h2,
  [data-framer-name="Quote"] h2.framer-text {
    width: auto !important;
    max-width: none !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  [data-framer-name="Quote"] [data-framer-name="Text content"] p,
  [data-framer-name="Quote"] [data-framer-name="Text content"] p.framer-text {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  #main:has([data-framer-name="Vision"]) h1,
  #main:has([data-framer-name="Vision"]) h1 .framer-text {
    font-size: clamp(22px, 6.2vw, 28px) !important;
    line-height: 1.18 !important;
  }

  #main:has([data-framer-name="Vision"]) h2,
  #main:has([data-framer-name="Vision"]) h2 .framer-text {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  #main:has([data-framer-name="Vision"]) p,
  #main:has([data-framer-name="Vision"]) p .framer-text {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .apexx-about-hero-copy h1 {
    font-size: clamp(22px, 6.2vw, 28px) !important;
  }

  .apexx-about-hero-copy .apexx-about-text {
    font-size: 15px !important;
  }
}

/* Remove black strip above footer */
.framer-kb7qfe-container {
  margin-top: 0 !important;
  position: relative !important;
  z-index: 2 !important;
  overflow: hidden !important;
  background: transparent !important;
  width: 100% !important;
  max-width: 100% !important;
}

footer.framer-zfzq6.framer-e1l2j7,
.framer-zfzq6.framer-e1l2j7 {
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
}

footer.framer-zfzq6 .framer-12linia,
.framer-zfzq6 .framer-12linia {
  display: none !important;
}

.framer-kb7qfe-container .framer-zw66vm-container {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  position: relative !important;
  margin-top: -72px !important;
  margin-bottom: 0 !important;
  overflow: visible !important;
}

#apexx-site-footer .framer-zw66vm-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  overflow: visible !important;
}

.framer-kb7qfe-container .framer-17de0tk {
  padding-bottom: 72px !important;
  overflow: visible !important;
}

.framer-kb7qfe-container .framer-emy1dq {
  display: flex !important;
  visibility: visible !important;
  height: auto !important;
  min-height: 72px !important;
  overflow: visible !important;
}

footer.framer-zfzq6 .framer-b0C57.framer-1we3lqn,
.framer-zfzq6 .framer-b0C57.framer-1we3lqn {
  width: 100% !important;
  max-width: 100% !important;
}

footer.framer-zfzq6 .framer-17de0tk,
.framer-zfzq6 .framer-17de0tk {
  width: 100% !important;
  max-width: 100% !important;
}

footer.framer-zfzq6 .framer-460yf8,
.framer-zfzq6 .framer-460yf8 {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

footer.framer-zfzq6 .framer-8e861a,
footer.framer-zfzq6 .framer-yjotlp-container,
footer.framer-zfzq6 .framer-10m9zai,
.framer-zfzq6 .framer-8e861a,
.framer-zfzq6 .framer-yjotlp-container,
.framer-zfzq6 .framer-10m9zai {
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
}

@media (max-width: 809.98px) {
  #main p .framer-text > span,
  #main h1 .framer-text > span,
  #main h2 .framer-text > span,
  #main h3 .framer-text > span,
  #main h4 .framer-text > span {
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    white-space: normal !important;
    letter-spacing: 0.02em !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  #main p .framer-text,
  #main h1 .framer-text,
  #main h2 .framer-text {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Heading container"] {
    position: absolute !important;
    top: 130px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    z-index: 3 !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Heading + description"] > *,
  [data-framer-name="Hero"] [data-framer-name="Heading container"] [data-framer-name="Studio name"] {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: none !important;
  }

  #main h1,
  #main h1 .framer-text {
    font-size: clamp(24px, 7.2vw, 36px) !important;
    line-height: 1.12 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
  }

  [data-framer-name="Hero"] h1,
  [data-framer-name="Hero"] h1 .framer-text {
    padding-right: 4px !important;
    color: var(--apexx-text-light) !important;
    --framer-text-color: var(--apexx-text-light) !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Heading + description"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    height: auto !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Heading container"] {
    display: flex !important;
    flex-direction: column !important;
    flex-flow: column nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    max-width: 100% !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Button container"],
  [data-framer-name="Hero"] .framer-188lv1y {
    align-self: flex-start !important;
    width: auto !important;
    max-width: 100% !important;
    margin-top: 8px !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Heading container"] p,
  [data-framer-name="Hero"] [data-framer-name="Heading container"] p .framer-text {
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: var(--apexx-text-light-muted) !important;
    --framer-text-color: var(--apexx-text-light-muted) !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Text container"] {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 24px !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Additional info"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    grid-template-columns: 1fr !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Additional info"] [data-framer-name="Title + description"] {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Content container"] {
    min-height: 100svh !important;
    height: auto !important;
  }

  .framer-kb7qfe-container {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  footer.framer-zfzq6.framer-e1l2j7,
  .framer-zfzq6.framer-e1l2j7 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    display: block !important;
  }

  .framer-kb7qfe-container .framer-zw66vm-container {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: -72px !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
  }

  #apexx-site-footer .framer-zw66vm-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  footer .framer-b0C57.framer-1we3lqn,
  #apexx-site-footer .framer-b0C57.framer-1we3lqn {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  footer .framer-b0C57 .framer-17de0tk,
  #apexx-site-footer .framer-17de0tk {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    flex-wrap: wrap !important;
  }

  footer .framer-b0C57 .framer-460yf8,
  #apexx-site-footer .framer-460yf8 {
    flex-direction: column !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 40px 20px 28px !important;
    box-sizing: border-box !important;
  }

  footer .framer-b0C57 .framer-1odinvu,
  footer .framer-b0C57 .framer-1vpav2e,
  footer .framer-b0C57 .framer-1rizz5c,
  #apexx-site-footer .framer-1odinvu,
  #apexx-site-footer .framer-1vpav2e,
  #apexx-site-footer .framer-1rizz5c {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  footer .framer-b0C57 .framer-emy1dq,
  #apexx-site-footer .framer-emy1dq {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 16px 20px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
  }

  footer .framer-b0C57 .framer-110mhgx,
  #apexx-site-footer .framer-110mhgx {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    flex-wrap: wrap !important;
    gap: 12px 18px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  footer .framer-b0C57 .framer-1nyzrbd,
  #apexx-site-footer .framer-1nyzrbd {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    text-align: left !important;
    width: 100% !important;
    white-space: normal !important;
  }

  footer .framer-text,
  footer .item_block span,
  footer a,
  #apexx-site-footer .framer-text,
  #apexx-site-footer .item_block span,
  #apexx-site-footer a {
    font-family: var(--apexx-font-body) !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    color: var(--apexx-text-light) !important;
    --framer-text-color: var(--apexx-text-light) !important;
  }

  footer h3 .framer-text,
  #apexx-site-footer h3 .framer-text {
    font-family: var(--apexx-font-heading) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
  }

  footer .framer-b0C57 .framer-1vpav2e,
  footer .framer-b0C57 .framer-1rizz5c,
  footer .framer-b0C57 .framer-xumj5r,
  #apexx-site-footer .framer-1vpav2e,
  #apexx-site-footer .framer-1rizz5c,
  #apexx-site-footer .framer-xumj5r {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    flex: none !important;
  }

  footer .framer-b0C57 .framer-8e861a,
  footer .framer-b0C57 .framer-yjotlp-container,
  footer .framer-b0C57 .framer-10m9zai,
  #apexx-site-footer .framer-8e861a,
  #apexx-site-footer .framer-yjotlp-container,
  #apexx-site-footer .framer-10m9zai {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  #apexx-site-footer {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    background: #040404 !important;
  }

  nav.framer-BLArM {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  section[data-framer-name="Services"] [data-framer-name="Laptop"],
  section[data-framer-name="Services"] [data-framer-name="Tab"] {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  section[data-framer-name="Services"] h4,
  section[data-framer-name="Services"] h4 .framer-text {
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.25 !important;
    letter-spacing: 0.01em !important;
    --framer-letter-spacing: 0.01em !important;
    font-weight: 500 !important;
    --framer-font-weight: 500 !important;
    white-space: normal !important;
    word-spacing: normal !important;
    color: var(--apexx-text-dark) !important;
    --framer-text-color: var(--apexx-text-dark) !important;
  }

  section[data-framer-name="Services"] h4 span,
  section[data-framer-name="Services"] h4 .framer-text > span {
    display: inline !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    letter-spacing: inherit !important;
    white-space: inherit !important;
  }

  section[data-framer-name="Services"] [data-framer-name="Description"] .framer-text {
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: var(--apexx-text-muted) !important;
    --framer-text-color: var(--apexx-text-muted) !important;
  }

  section[data-framer-name="Hero"] .apexx-hero-wordmark {
    font-size: clamp(34px, 10vw, 56px) !important;
    line-height: 1 !important;
    white-space: normal !important;
    max-width: calc(100vw - 32px) !important;
    text-align: center !important;
    bottom: 36px !important;
    word-break: break-word !important;
  }

  #main section[data-framer-name="Hero"]:has(.apexx-hero-wordmark) {
    height: 68vh !important;
    min-height: 480px !important;
    max-height: 620px !important;
    overflow: hidden !important;
  }

  #main section[data-framer-name="Hero"]:has(.apexx-hero-wordmark) img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 38% !important;
  }

  .apexx-site-header {
    padding: 10px 16px !important;
  }

  .apexx-logo {
    width: 140px !important;
    height: 38px !important;
  }

  .apexx-mobile-panel {
    padding: 24px 20px 32px !important;
  }

  .apexx-mobile-panel a,
  .apexx-mobile-panel span {
    font-family: var(--apexx-font-heading) !important;
    font-size: 17px !important;
    color: var(--apexx-text-light) !important;
  }

  [data-framer-name="Hero"] [data-framer-name="Additional info"] p,
  [data-framer-name="Hero"] [data-framer-name="Additional info"] .framer-text {
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: var(--apexx-text-light) !important;
    --framer-text-color: var(--apexx-text-light) !important;
  }

  #main h2 .framer-text {
    font-size: clamp(24px, 6.5vw, 32px) !important;
    line-height: 1.15 !important;
  }

  #main h3 .framer-text {
    font-size: 18px !important;
    line-height: 1.25 !important;
  }

  #main p .framer-text {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  #main section[data-framer-name="Hero"],
  #main [data-framer-name="Hero"] {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  #main [class*="framer-"] {
    max-width: 100vw;
  }

  [data-framer-name="Services"] [data-framer-name="Content"] {
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: column !important;
  }

  [data-framer-name="Services"] [data-framer-name="Right"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  [data-framer-name="FAQs"] [data-framer-name="Content container"],
  [data-framer-name="FAQs"] [data-framer-name="FAQ section"],
  [data-framer-name="FAQs"] [data-framer-name="More contact section"],
  [data-framer-name="FAQs"] [data-framer-name="Contact person + text"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  [data-framer-name="FAQs"] [data-framer-name="More contact section"] {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  [data-framer-name="FAQs"] .framer-1s8od26,
  #faq-section .framer-1s8od26 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: clamp(160px, 48vw, 220px) !important;
    aspect-ratio: 2 / 1 !important;
    flex: none !important;
    overflow: hidden !important;
    border-radius: 6px !important;
  }

  [data-framer-name="FAQs"] .framer-1s8od26 img,
  #faq-section .framer-1s8od26 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  #main:has([data-framer-name="Vision"]) [data-framer-name="Hero"] [data-framer-appear-id],
  #main:has([data-framer-name="Vision"]) [data-framer-name="Hero"] h1,
  #main:has([data-framer-name="Vision"]) [data-framer-name="Hero"] p {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
  }

  #main:has([data-framer-name="Vision"]) [data-framer-name="Hero"] h1 span,
  #main:has([data-framer-name="Vision"]) [data-framer-name="Hero"] p span {
    display: inline !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    letter-spacing: inherit !important;
    white-space: inherit !important;
  }

  .apexx-about-hero-fixed [data-framer-name="Content container"],
  #main:has(.apexx-about-hero-copy) [data-framer-name="Hero"] [data-framer-name="Content container"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100svh !important;
    height: auto !important;
    padding: 96px 20px 40px !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
  }

  .apexx-about-hero-fixed .framer-1gncu3,
  .apexx-about-hero-fixed .framer-1f6z29b,
  #main:has(.apexx-about-hero-copy) [data-framer-name="Hero"] .framer-1gncu3,
  #main:has(.apexx-about-hero-copy) [data-framer-name="Hero"] .framer-1f6z29b {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .apexx-about-hero-copy {
    position: relative;
    z-index: 4;
    width: 100%;
    max-width: 100%;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
  }

  .apexx-about-hero-copy .apexx-about-label {
    margin: 0;
    font-family: var(--apexx-font-body);
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.82);
  }

  .apexx-about-hero-copy h1 {
    margin: 0;
    width: 100%;
    max-width: 18ch;
    font-family: var(--apexx-font-heading);
    font-size: clamp(30px, 8.5vw, 40px);
    font-weight: 500;
    line-height: 1.12;
    color: #ffffff;
    text-wrap: balance;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: manual;
  }

  .apexx-about-hero-copy .apexx-about-text {
    margin: 0;
    width: 100%;
    max-width: 34ch;
    font-family: var(--apexx-font-body);
    font-size: clamp(14px, 4.1vw, 17px);
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.88);
    text-wrap: pretty;
    word-break: normal;
    overflow-wrap: break-word;
  }
}

/* Site-wide section spacing — About Us hero → Vision is the reference rhythm */
#main
  [data-framer-name="Main"]
  > [data-framer-name]:not([data-framer-name="Hero"]):not([data-framer-name="Quote"]):not(
    [data-framer-name="Our belief"]
  ):not([data-framer-name="Contact hero"])
  > [data-framer-name="Content container"] {
  padding-top: var(--apexx-section-pad-y) !important;
  padding-left: var(--apexx-section-pad-x) !important;
  padding-right: var(--apexx-section-pad-x) !important;
  gap: var(--apexx-section-gap) !important;
  box-sizing: border-box !important;
}

#main
  [data-framer-name="Main"]
  > [data-framer-name]:not([data-framer-name="Hero"]):not([data-framer-name="Quote"]):not(
    [data-framer-name="Our belief"]
  ):not([data-framer-name="Services"]):not([data-framer-name="Contact hero"]):not(:last-child)
  > [data-framer-name="Content container"] {
  padding-bottom: 0 !important;
}

#main
  [data-framer-name="Main"]
  > [data-framer-name="Services"]
  > [data-framer-name="Content container"] {
  padding-bottom: var(--apexx-section-pad-y) !important;
}

#main
  [data-framer-name="Main"]
  > [data-framer-name]:not([data-framer-name="Hero"]):has(+ .framer-kb7qfe-container)
  > [data-framer-name="Content container"] {
  padding-bottom: 0 !important;
}

/* Services-page footer rhythm: same gap above the footer on every Framer page */
#main:has(.framer-kb7qfe-container)
  [data-framer-name="Main"]
  > [data-framer-name]:last-child {
  padding-bottom: 0 !important;
}

#main:has(.framer-kb7qfe-container)
  [data-framer-name="Main"]
  > [data-framer-name]:last-child
  > [data-framer-name="Content container"] {
  padding-bottom: var(--apexx-pre-footer-gap) !important;
}

/* Keep full-bleed sections from sliding over the previous block */
#main [data-framer-name="Services"] {
  position: relative !important;
  z-index: 2 !important;
  overflow: hidden !important;
  background-color: #fff !important;
}

#main [data-framer-name="Services"] [data-framer-name="Content container"] {
  padding-bottom: var(--apexx-section-pad-y) !important;
  overflow: hidden !important;
}

#main [data-framer-name="Services"] [data-framer-name="Service text container"] {
  background-color: #fff !important;
}

#main [data-framer-name="Our belief"] {
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
  isolation: isolate;
  transform: none !important;
}

/* About page: match section 2 layout to "The vision" section */
[data-framer-name="Vision"] [data-framer-name="Content container"],
[data-framer-name="Our apprach"] [data-framer-name="Content container"] {
  box-sizing: border-box !important;
}

#main
  [data-framer-name="Main"]
  > [data-framer-name="Vision"]:not([data-framer-name="Hero"]):not([data-framer-name="Quote"]):not(
    [data-framer-name="Our belief"]
  ):not([data-framer-name="Contact hero"])
  > [data-framer-name="Content container"] {
  gap: var(--apexx-section-pad-y) !important;
}

[data-framer-name="Vision"] [data-framer-name="Heading + description"] {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
}

[data-framer-name="Vision"] [data-framer-name="Heading + description"] > div {
  flex: 1 0 0 !important;
  width: auto !important;
  max-width: none !important;
}

html [data-framer-name="Vision"] [data-framer-name="Heading + description"] p.framer-text,
html [data-framer-name="Vision"] p.framer-styles-preset-qzq219,
html [data-framer-name="Vision"] p.framer-text {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  text-wrap: wrap !important;
  text-wrap-mode: wrap !important;
  text-wrap-style: auto !important;
  text-align: justify !important;
  text-align-last: left !important;
  text-justify: inter-word !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  --framer-text-alignment: justify !important;
}

html [data-framer-name="Vision"] [data-framer-name="Heading + description"] p.framer-text span,
html [data-framer-name="Vision"] p.framer-text span {
  display: inline !important;
  white-space: normal !important;
  max-width: none !important;
  width: auto !important;
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
}

[data-framer-name="Vision"] .apexx-vision-copy {
  flex: 1 0 0 !important;
  width: auto !important;
  max-width: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

[data-framer-name="Vision"]:has(.apexx-vision-copy) .framer-1ksfin6 {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  flex: 0 0 0 !important;
}

[data-framer-name="Vision"] .apexx-vision-copy p {
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  font-family: "PP Neue Montreal Book", "PP Neue Montreal Book Placeholder", Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 26px !important;
  color: rgba(26, 26, 26, 0.7) !important;
  text-align: justify !important;
  text-align-last: left !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

/* Our Design Philosophy: caption under each image (Framer default) */
[data-framer-name="Our apprach"] .apexx-approach-text {
  display: none !important;
}

[data-framer-name="Our apprach"] [data-framer-name="Image stack"] p.framer-text {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  max-width: 100% !important;
  text-wrap: wrap !important;
}

@media (max-width: 809.98px) {
  [data-framer-name="Vision"] [data-framer-name="Heading + description"] {
    flex-direction: column !important;
    gap: 24px !important;
  }

  [data-framer-name="Vision"] .apexx-vision-copy p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
}

.framer-1c0ppx7-container .framer-13w928q p.framer-text,
.framer-1c0ppx7-container .framer-1r3kvum p.framer-text {
  --framer-text-color: rgb(246, 242, 234) !important;
  color: rgb(246, 242, 234) !important;
}

/* FAQ accordion: prevent Framer animated spans from clipping letters at line edges */
[data-framer-name="FAQs"] .framer-dUHvn,
[data-framer-name="FAQs"] [data-framer-name="Questions+answers"],
[data-framer-name="FAQs"] [data-framer-name="Expanded"],
[data-framer-name="FAQs"] [data-framer-name="2"]:has([data-framer-name="Expanded"]),
[data-framer-name="FAQ section"] .framer-dUHvn,
[data-framer-name="FAQ section"] [data-framer-name="Questions+answers"],
[data-framer-name="FAQ section"] [data-framer-name="Expanded"],
[data-framer-name="FAQ section"] [data-framer-name="2"]:has([data-framer-name="Expanded"]) {
  overflow: visible !important;
}

[data-framer-name="FAQs"] p.framer-styles-preset-x5l1tu,
[data-framer-name="FAQ section"] p.framer-styles-preset-x5l1tu,
.framer-dUHvn p.framer-styles-preset-x5l1tu {
  overflow: visible !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
  max-width: 100% !important;
  padding-right: 2px !important;
}

[data-framer-name="FAQs"] p.framer-styles-preset-x5l1tu span,
[data-framer-name="FAQ section"] p.framer-styles-preset-x5l1tu span,
.framer-dUHvn p.framer-styles-preset-x5l1tu span {
  white-space: normal !important;
  display: inline !important;
  overflow: visible !important;
}

/* Homepage: finish stuck Framer appear / letter animations cleanly */
html.apexx-home-ready #main [data-framer-appear-id] {
  opacity: 1 !important;
  visibility: visible !important;
}

html.apexx-home-ready #main p .framer-text > span,
html.apexx-home-ready #main h1 .framer-text > span,
html.apexx-home-ready #main h2 .framer-text > span,
html.apexx-home-ready #main h3 .framer-text > span {
  display: inline !important;
  white-space: normal !important;
  letter-spacing: inherit !important;
  opacity: 1 !important;
  transform: none !important;
}

html.apexx-home-ready #main section {
  visibility: visible !important;
}

.apexx-brand-tagline,
.apexx-brand-tagline.framer-text {
  white-space: normal !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.apexx-brand-tagline span {
  display: inline !important;
  white-space: normal !important;
  letter-spacing: inherit !important;
  opacity: 1 !important;
  transform: none !important;
}

p.apexx-brand-signature span[style*="inline-block"] {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

p.apexx-brand-signature > span[style*="nowrap"]:last-child {
  margin-left: 0.02em !important;
}

.framer-1c0ppx7-container p.apexx-brand-signature span[style*="inline-block"] {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  visibility: visible !important;
}

/* Homepage mobile loader — full viewport (no hero strip on the right) */
@media (max-width: 809.98px) {
  #main:has(.framer-ejWCY) .framer-ejWCY.framer-72rtr7,
  #main:has(.framer-ejWCY) .framer-ejWCY.framer-x658s5 {
    width: 100% !important;
    max-width: 100% !important;
  }

  #main:has(.framer-ejWCY) .framer-1c0ppx7-container {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
  }

  #main:has(.framer-ejWCY) .framer-vmtXm.framer-1fb8hwa {
    width: 100% !important;
    max-width: 100% !important;
  }

  #main:has(.framer-ejWCY) .framer-vmtXm .framer-s6hfbg {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    background-color: var(--token-fc908e70-a271-4e58-a71b-e35f81a8cd43, #191919) !important;
  }

  #main:has(.framer-ejWCY) .framer-vmtXm .framer-1wr52yo {
    display: none !important;
  }

  #main:has(.framer-ejWCY) .framer-vmtXm .framer-nozp8q {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Mobile menu (open) — black logo on light panel */
@media (max-width: 809.98px) {
  nav.framer-BLArM.framer-v-15zbnwx [data-framer-name="Header Brand Mark"],
  nav.framer-BLArM.framer-v-si74vc [data-framer-name="Header Brand Mark"] {
    background-image: url("https://framerusercontent.com/images/6Df8y6hulvRmqR4oWQJkkru2mM.svg?width=3300&height=1106") !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: contain !important;
  }

  nav.framer-BLArM.framer-v-15zbnwx [data-framer-name="Header Brand Mark"] img,
  nav.framer-BLArM.framer-v-si74vc [data-framer-name="Header Brand Mark"] img {
    opacity: 0 !important;
  }

  nav.framer-BLArM.framer-v-15zbnwx .framer-KqLRo,
  nav.framer-BLArM.framer-v-si74vc .framer-KqLRo {
    --43q7um: #1a1a1a !important;
    background-color: #1a1a1a !important;
  }

  /* Mobile header — logo left, menu icon flush right (not beside logo) */
  #main nav.framer-BLArM [data-framer-name="Logo container"],
  nav.framer-BLArM .framer-2ovrwj {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  #main nav.framer-BLArM [data-framer-name="Header Brand Mark"],
  nav.framer-BLArM [data-framer-name="Header Brand Mark"] {
    flex: 0 1 auto !important;
    max-width: calc(100% - 48px) !important;
  }

  #main nav.framer-BLArM .framer-zkx545,
  nav.framer-BLArM .framer-zkx545 {
    flex: none !important;
    margin-left: auto !important;
    margin-right: 2px !important;
    transform: none !important;
  }
}

/* Contact page headline — same top placement as the reference layout */
/* Header + contact headline: breathing room above the text */
#main nav.framer-BLArM[data-framer-name="Desktop"] {
  padding-top: 36px !important;
  padding-bottom: 24px !important;
}

#main
  [data-framer-name="Main"]
  > [data-framer-name="Contact hero"]
  > [data-framer-name="Content container"] {
  padding-top: 180px !important;
  padding-bottom: var(--apexx-pre-footer-gap) !important;
}

#main [data-framer-name="Heading section"]:has(h1.apexx-contact-headline) {
  padding-top: 12px !important;
}

#main :has(> h1.apexx-contact-headline) {
  max-width: none !important;
  width: 100% !important;
}

#main [data-framer-name="Hero"] h1.apexx-contact-headline,
#main h1.apexx-contact-headline,
#main h1.apexx-contact-headline .framer-text {
  max-width: none !important;
  width: max-content !important;
  font-family: var(--apexx-font-heading) !important;
  font-size: clamp(22px, 3.4vw, 64px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
  color: var(--apexx-text-dark) !important;
  --framer-text-color: var(--apexx-text-dark) !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  padding-top: 8px !important;
}

@media (max-width: 809.98px) {
  #main nav.framer-BLArM[data-framer-name="Desktop"] {
    padding-top: 24px !important;
    padding-bottom: 16px !important;
  }

  #main [data-framer-name="Main"] > [data-framer-name="Contact hero"] > [data-framer-name="Content container"] {
    padding-top: 140px !important;
    padding-bottom: var(--apexx-pre-footer-gap) !important;
  }

  body:has([data-framer-name="Contact hero"]) nav[data-framer-name="Mobile / transparent"] {
    background-color: #ffffff !important;
    background: #ffffff !important;
    box-shadow: 0 1px 0 rgba(26, 26, 26, 0.1) !important;
  }

  body:has([data-framer-name="Contact hero"]) nav[data-framer-name="Mobile / transparent"] [data-framer-name="Header Brand Mark"] {
    background-image: url("https://framerusercontent.com/images/6Df8y6hulvRmqR4oWQJkkru2mM.svg?width=3300&height=1106") !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: contain !important;
  }

  body:has([data-framer-name="Contact hero"]) nav[data-framer-name="Mobile / transparent"] [data-framer-name="Header Brand Mark"] img {
    opacity: 0 !important;
  }

  body:has([data-framer-name="Contact hero"]) nav[data-framer-name="Mobile / transparent"] .framer-KqLRo {
    --43q7um: #1a1a1a !important;
    background-color: #1a1a1a !important;
  }
}

/* Projects (Studio) page — keep “Our projects” below fixed header */
#main [data-framer-name="Projects hero"] {
  padding-top: 108px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

#main
  [data-framer-name="Projects hero"]
  > [data-framer-name="Content container"] {
  padding-top: 32px !important;
  overflow: visible !important;
}

#main [data-framer-name="Projects hero"] [data-framer-name="Heading section"],
#main [data-framer-name="Projects hero"] h1,
#main [data-framer-name="Projects hero"] h1 .framer-text {
  overflow: visible !important;
}

body:has(#apexx-site-header) #main [data-framer-name="Projects hero"] {
  padding-top: 120px !important;
}

@media (max-width: 809.98px) {
  #main [data-framer-name="Projects hero"] {
    padding-top: 88px !important;
  }

  #main
    [data-framer-name="Projects hero"]
    > [data-framer-name="Content container"] {
    padding-top: 24px !important;
  }

  body:has(#apexx-site-header) #main [data-framer-name="Projects hero"] {
    padding-top: 96px !important;
  }
}

#main h1.apexx-contact-headline span {
  display: inline !important;
  white-space: nowrap !important;
  letter-spacing: inherit !important;
  opacity: 1 !important;
  transform: none !important;
  background: transparent !important;
}

/* Contact form fields — underline style, not filled boxes */
#main [data-framer-name="Forms"] label {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

#main [data-framer-name="Forms"] label > p:not(.apexx-field-hint):not(.apexx-form-success),
#main [data-framer-name="Forms"] label p.framer-text,
#main [data-framer-name="Forms"] .apexx-contact-field > p:not(.apexx-field-hint) {
  font-family: var(--apexx-font-heading) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  color: rgba(26, 26, 26, 0.62) !important;
  --framer-text-color: rgba(26, 26, 26, 0.62) !important;
  margin: 0 !important;
}

#main [data-framer-name="Forms"] .framer-form-input-wrapper,
#main [data-framer-name="Forms"] .framer-form-text-input,
#main [data-framer-name="Forms"] .framer-form-select-wrapper {
  --framer-input-font-color: #1a1a1a !important;
  --framer-input-placeholder-color: rgba(26, 26, 26, 0.38) !important;
  --framer-input-background-color: transparent !important;
  --framer-input-border-color: transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(26, 26, 26, 0.28) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 8px 0 12px !important;
  min-height: 0 !important;
  height: auto !important;
}

#main [data-framer-name="Forms"] .framer-form-input-wrapper:focus-within,
#main [data-framer-name="Forms"] .framer-form-text-input:focus-within,
#main [data-framer-name="Forms"] .framer-form-select-wrapper:focus-within {
  border-bottom-color: #1a1a1a !important;
}

#main [data-framer-name="Forms"] input.framer-form-input,
#main [data-framer-name="Forms"] textarea.framer-form-input,
#main [data-framer-name="Forms"] select.framer-form-input {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #1a1a1a !important;
  caret-color: #1a1a1a !important;
  font-family: var(--apexx-font-body) !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  padding: 0 !important;
  outline: none !important;
  width: 100% !important;
  min-height: 24px !important;
  height: auto !important;
  -webkit-text-fill-color: #1a1a1a !important;
}

#main [data-framer-name="Forms"] textarea.framer-form-input {
  min-height: 110px !important;
  resize: vertical !important;
}

#main [data-framer-name="Forms"] select.framer-form-input {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: none !important;
  padding-right: 36px !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
}

#main [data-framer-name="Forms"] select.framer-form-input::-ms-expand {
  display: none;
}

#main [data-framer-name="Forms"] input.framer-form-input::placeholder,
#main [data-framer-name="Forms"] textarea.framer-form-input::placeholder {
  color: rgba(26, 26, 26, 0.38) !important;
  -webkit-text-fill-color: rgba(26, 26, 26, 0.38) !important;
  opacity: 1 !important;
}

#main [data-framer-name="Forms"] select.framer-form-input option {
  color: #1a1a1a !important;
  background: #fff !important;
}

#main [data-framer-name="Forms"] label.apexx-framer-original,
#main [data-framer-name="Forms"] form:has([data-apexx-field]) > label:not(.apexx-contact-field) {
  display: none !important;
}

#main [data-framer-name="Forms"] .apexx-contact-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
  flex: none !important;
  min-width: 0 !important;
  overflow: visible !important;
}

#main [data-framer-name="Forms"] form.framer-texdzd {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: 28px !important;
  row-gap: 18px !important;
  align-items: start !important;
  justify-items: stretch !important;
  width: 100% !important;
  flex-direction: unset !important;
  flex-flow: unset !important;
  place-content: unset !important;
  overflow: visible !important;
}

#main [data-framer-name="Forms"] .apexx-contact-field[data-apexx-field="about"],
#main [data-framer-name="Forms"] form.framer-texdzd > .ssr-variant,
#main [data-framer-name="Forms"] form.framer-texdzd > :has(> button[type="submit"]),
#main [data-framer-name="Forms"] form.framer-texdzd > :has(button[type="submit"]) {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

@media (max-width: 809.98px) {
  #main [data-framer-name="Forms"] form.framer-texdzd {
    grid-template-columns: 1fr !important;
    row-gap: 16px !important;
  }
}

#main [data-framer-name="Forms"] .apexx-contact-field .framer-form-select-wrapper {
  position: relative !important;
  overflow: visible !important;
}

#main [data-framer-name="Forms"] .apexx-contact-field .framer-form-select-wrapper::before,
#main [data-framer-name="Forms"] .apexx-contact-field .framer-form-select-wrapper::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  left: auto !important;
  right: auto !important;
  background: none !important;
  border: none !important;
}

#main [data-framer-name="Forms"] .apexx-contact-field select.apexx-select-native,
#main [data-framer-name="Forms"] .apexx-contact-field select.framer-form-input.apexx-select-native {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

#main [data-framer-name="Forms"] .apexx-select-trigger {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 36px 0 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  font-family: var(--apexx-font-body) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.01em !important;
  text-align: left !important;
  color: #1a1a1a !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  cursor: pointer !important;
}

#main [data-framer-name="Forms"] .apexx-select-trigger.is-placeholder {
  color: rgba(26, 26, 26, 0.38) !important;
}

#main [data-framer-name="Forms"] .apexx-select-caret {
  position: absolute !important;
  top: 50% !important;
  right: 4px !important;
  left: auto !important;
  width: 8px !important;
  height: 8px !important;
  margin: -6px 0 0 !important;
  border: none !important;
  border-right: 1.5px solid #1a1a1a !important;
  border-bottom: 1.5px solid #1a1a1a !important;
  transform: rotate(45deg) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

#main [data-framer-name="Forms"] .apexx-select-menu {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(100% + 8px) !important;
  z-index: 40 !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  background: #ffffff !important;
  border: 1px solid rgba(26, 26, 26, 0.16) !important;
  box-shadow: 0 10px 28px rgba(26, 26, 26, 0.12) !important;
  max-height: 240px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#main [data-framer-name="Forms"] .apexx-select-menu[hidden] {
  display: none !important;
}

#main [data-framer-name="Forms"] .apexx-select-option {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: var(--apexx-font-body) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  text-align: left !important;
  color: #1a1a1a !important;
  cursor: pointer !important;
}

#main [data-framer-name="Forms"] .apexx-select-option:hover,
#main [data-framer-name="Forms"] .apexx-select-option.is-selected {
  background: #f3f3f3 !important;
}

#main [data-framer-name="Forms"] .apexx-contact-field:has(.apexx-select-trigger[aria-expanded="true"]) {
  z-index: 50 !important;
}

#main [data-framer-name="Forms"] .apexx-contact-field.is-hidden,
#main [data-framer-name="Forms"] .apexx-contact-field[hidden] {
  display: none !important;
}

#main [data-framer-name="Forms"] .apexx-field-hint {
  margin: 0 !important;
  font-family: var(--apexx-font-body) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.01em !important;
  color: rgba(26, 26, 26, 0.48) !important;
  text-transform: none !important;
}

#main [data-framer-name="Forms"] form.apexx-form-sent {
  display: none !important;
}

#main [data-framer-name="Forms"] .apexx-form-success {
  margin: 0 !important;
  max-width: 36em !important;
  font-family: var(--apexx-font-body) !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: #1a1a1a !important;
}

.apexx-music-toggle {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2147483000;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(26, 26, 26, 0.88);
  color: #f6f2ea;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.apexx-music-toggle:hover,
.apexx-music-toggle:focus-visible {
  background: #1a1a1a;
  outline: none;
}

.apexx-music-toggle .apexx-music-icon {
  display: none;
  line-height: 0;
}

.apexx-music-toggle .apexx-music-icon-on {
  display: block;
}

.apexx-music-toggle.is-paused .apexx-music-icon-on {
  display: none;
}

.apexx-music-toggle.is-paused .apexx-music-icon-off {
  display: block;
}

@media (max-width: 809.98px) {
  .apexx-music-toggle {
    right: 16px;
    bottom: 16px;
    width: 42px;
    height: 42px;
  }
}
