body.kmayer-shared-visual-page {
  --kmayer-shell-navy: #151f40;
  --kmayer-shell-panel: #1c2646;
  --kmayer-shell-white: #f4f4f4;
  --kmayer-shell-copy: rgba(244, 244, 244, 0.82);
  --kmayer-shell-line: rgba(244, 244, 244, 0.15);
  --kmayer-shell-cyan: #72e7ff;
  --kmayer-metallic-heading: linear-gradient(0deg, #f4f4f4 -0.04%, #f0f0f0 6.53%, #e3e3e3 13.65%, #cdcdcd 21.04%, #afafaf 28.56%, #919191 34.58%, #959595 40.01%, #a0a0a0 44.97%, #b2b2b2 49.74%, #cccccc 54.37%, #ededed 58.9%, #f4f4f4 59.69%, #ececec 69.09%, #d6d6d6 83.74%, #b6b6b6 99.91%);
  background: var(--kmayer-shell-navy);
}

body.kmayer-shared-visual-page > .custom-footer[data-kmlang-fab-rehomed="viewport"] {
  position: fixed !important;
  right: 20px !important;
  bottom: 20px !important;
  z-index: 99 !important;
  display: block !important;
  width: 48px !important;
  height: 176px !important;
  transform: none !important;
}

.kmayer-shared-page-root,
.kmayer-shared-page-root * {
  box-sizing: border-box;
}

.kmayer-shared-page-root {
  position: relative;
  isolation: isolate;
  overflow: clip;
  font-family: "Sen", sans-serif;
  background: linear-gradient(180deg, #151f40 0%, #111d3c 52%, #151f40 100%);
}

.kmayer-shared-page-root > :not(.kmayer-parallax-backdrop):not(.kmayer-page-skeleton) {
  position: relative;
  z-index: 1;
}

.kmayer-shared-page-root h1,
.kmayer-shared-page-root h2,
body.kmayer-shared-visual-page .kmayer-shared-page-root .kmayer-growth-audit-app h1,
body.kmayer-shared-visual-page .kmayer-shared-page-root .kmayer-growth-audit-app h2 {
  color: #f4f4f4 !important;
  font-family: "Clash Grotesk Variable", sans-serif !important;
  font-weight: 500 !important;
  background-image: var(--kmayer-metallic-heading) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.kmayer-commerce p,
.kmayer-commerce li {
  color: var(--kmayer-shell-copy);
  font-family: "Sen", sans-serif;
  font-size: 16px;
  line-height: 1.54;
}

.kmayer-page-skeleton {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: grid;
  align-content: center;
  width: 100%;
  min-height: 100dvh;
  padding: clamp(28px, 8vw, 120px);
  background: linear-gradient(145deg, #151f40, #101a36 58%, #17254a);
  opacity: 1;
  visibility: visible;
  transition: opacity 460ms ease, visibility 460ms ease;
  animation: kmayer-skeleton-failsafe 500ms ease 2.8s forwards;
}

.kmayer-page-skeleton.is-complete {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.kmayer-page-skeleton__brand,
.kmayer-page-skeleton__line,
.kmayer-page-skeleton__panel {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.055);
}

.kmayer-page-skeleton__brand {
  width: min(300px, 62vw);
  height: 64px;
  margin-bottom: 42px;
  border-radius: 14px;
}

.kmayer-page-skeleton__line {
  width: min(760px, 82vw);
  height: 28px;
  margin-bottom: 18px;
  border-radius: 999px;
}

.kmayer-page-skeleton__line--short {
  width: min(520px, 66vw);
}

.kmayer-page-skeleton__panel {
  width: min(1120px, 88vw);
  height: min(260px, 28vh);
  margin-top: 36px;
  border-radius: 30px;
}

.kmayer-page-skeleton__brand::after,
.kmayer-page-skeleton__line::after,
.kmayer-page-skeleton__panel::after {
  content: "";
  display: block;
  width: 46%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.14), transparent);
  transform: translateX(-120%);
  animation: kmayer-skeleton-scan 1.2s ease-in-out infinite;
}

/* Deliberately large, non-circular brand layers make the parallax readable. */
.kmayer-parallax-backdrop {
  --kmayer-parallax-wordmark-y: 0px;
  --kmayer-parallax-beam-y: 0px;
  --kmayer-parallax-signal-y: 0px;
  --kmayer-parallax-brand-y: 0px;
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  contain: paint;
}

.kmayer-parallax-backdrop::before {
  content: "";
  position: absolute;
  inset: -6% -12%;
  background: linear-gradient(118deg, transparent 4%, rgba(61, 99, 167, 0.18) 27%, transparent 48%, rgba(114, 231, 255, 0.08) 65%, transparent 82%);
  transform: translate3d(0, var(--kmayer-parallax-beam-y), 0) skewY(-7deg);
  will-change: transform;
}

.kmayer-parallax-backdrop__wordmark {
  position: absolute;
  top: 12%;
  left: -5vw;
  color: transparent;
  font-family: "Clash Grotesk Variable", sans-serif;
  font-size: clamp(170px, 28vw, 560px);
  font-weight: 600;
  letter-spacing: -0.08em;
  line-height: 0.8;
  -webkit-text-stroke: 1px rgba(244, 244, 244, 0.075);
  transform: translate3d(0, var(--kmayer-parallax-wordmark-y), 0);
  white-space: nowrap;
  will-change: transform;
}

.kmayer-parallax-backdrop__beam {
  position: absolute;
  top: 41%;
  left: -18%;
  width: 138%;
  height: clamp(120px, 18vw, 310px);
  border-block: 1px solid rgba(114, 231, 255, 0.09);
  background: linear-gradient(90deg, transparent, rgba(114, 231, 255, 0.07) 28%, rgba(244, 244, 244, 0.025) 54%, rgba(122, 240, 193, 0.045) 74%, transparent);
  transform: translate3d(0, var(--kmayer-parallax-beam-y), 0) rotate(-8deg);
  will-change: transform;
}

.kmayer-parallax-backdrop__signal {
  position: absolute;
  top: 60%;
  right: -9%;
  width: 62%;
  height: 520px;
  border-block: 1px solid rgba(244, 244, 244, 0.055);
  background: repeating-linear-gradient(112deg, transparent 0 76px, rgba(244, 244, 244, 0.035) 76px 77px);
  transform: translate3d(0, var(--kmayer-parallax-signal-y), 0) skewY(5deg);
  will-change: transform;
}

.kmayer-parallax-backdrop__brand {
  position: absolute;
  right: -4vw;
  bottom: 12%;
  width: clamp(420px, 58vw, 1040px);
  height: auto;
  max-width: none;
  opacity: 0.055;
  transform: translate3d(0, var(--kmayer-parallax-brand-y), 0) rotate(-6deg);
  will-change: transform;
}

.kmayer-brand-prism {
  display: grid;
  justify-items: center;
  min-height: clamp(330px, 40vw, 470px);
  padding: 160px 24px 26px;
  overflow: hidden;
}

.admin-bar .kmayer-brand-prism {
  padding-top: 192px;
}

.kmayer-brand-prism__stage {
  --kmayer-prism-x: -8deg;
  --kmayer-prism-y: 10deg;
  position: relative;
  display: grid;
  place-items: center;
  width: min(460px, 84vw);
  height: clamp(190px, 24vw, 270px);
  perspective: 1100px;
  transform: rotateX(var(--kmayer-prism-x)) rotateY(var(--kmayer-prism-y));
  transform-style: preserve-3d;
  transition: transform 220ms ease-out;
}

.kmayer-brand-prism__stage:focus-visible {
  outline: 2px solid rgba(114, 231, 255, 0.86);
  outline-offset: 12px;
  border-radius: 24px;
}

.kmayer-brand-prism__cube {
  position: relative;
  width: 170px;
  height: 170px;
  transform-style: preserve-3d;
  animation: kmayer-prism-orbit 15s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}

.kmayer-brand-prism__face {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backface-visibility: visible;
}

.kmayer-brand-prism__face--front { transform: translateZ(42px); }
.kmayer-brand-prism__face--back { transform: rotateY(180deg) translateZ(42px); }
.kmayer-brand-prism__face--top,
.kmayer-brand-prism__face--bottom {
  top: 43px;
  right: 0;
  bottom: auto;
  left: 0;
  height: 84px;
}
.kmayer-brand-prism__face--top { transform: rotateX(90deg) translateZ(85px); }
.kmayer-brand-prism__face--bottom { transform: rotateX(-90deg) translateZ(85px); }
.kmayer-brand-prism__face--left,
.kmayer-brand-prism__face--right {
  top: 0;
  right: auto;
  bottom: 0;
  left: 43px;
  width: 84px;
}
.kmayer-brand-prism__face--left { transform: rotateY(-90deg) translateZ(85px); }
.kmayer-brand-prism__face--right { transform: rotateY(90deg) translateZ(85px); }

.kmayer-brand-prism__mark {
  position: relative;
  display: block;
  width: 112px;
  height: 112px;
  overflow: hidden;
}

.kmayer-brand-prism__logo {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: auto;
  height: 112px;
  max-width: none;
  max-height: none;
  transform: translateY(-50%);
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.32));
}

.kmayer-brand-prism__face--top .kmayer-brand-prism__mark,
.kmayer-brand-prism__face--bottom .kmayer-brand-prism__mark,
.kmayer-brand-prism__face--left .kmayer-brand-prism__mark,
.kmayer-brand-prism__face--right .kmayer-brand-prism__mark {
  width: 68px;
  height: 68px;
  opacity: 0.34;
}

.kmayer-brand-prism__face--top .kmayer-brand-prism__logo,
.kmayer-brand-prism__face--bottom .kmayer-brand-prism__logo,
.kmayer-brand-prism__face--left .kmayer-brand-prism__logo,
.kmayer-brand-prism__face--right .kmayer-brand-prism__logo {
  height: 68px;
}

.kmayer-brand-prism + .kmga-brand-glow,
.kmayer-brand-prism + .kmayer-commerce__hero {
  margin-top: 0;
}

.kmayer-brand-prism + .kmayer-commerce__hero {
  padding-top: clamp(58px, 8vw, 104px);
}

body.kmayer-motion-ready .kmayer-reveal-target {
  opacity: 0;
  filter: blur(7px);
  transform: translate3d(0, 54px, 0);
  transition: opacity 760ms ease, filter 760ms ease, transform 940ms cubic-bezier(0.2, 0.78, 0.2, 1);
  will-change: opacity, filter, transform;
}

body.kmayer-motion-ready .kmayer-reveal-target[data-kmayer-reveal-direction="down"] { transform: translate3d(0, -54px, 0); }
body.kmayer-motion-ready .kmayer-reveal-target[data-kmayer-reveal-direction="left"] { transform: translate3d(-64px, 0, 0); }
body.kmayer-motion-ready .kmayer-reveal-target[data-kmayer-reveal-direction="right"] { transform: translate3d(64px, 0, 0); }
body.kmayer-motion-ready .kmayer-reveal-target:nth-of-type(2n) { transition-delay: 90ms; }
body.kmayer-motion-ready .kmayer-reveal-target:nth-of-type(3n) { transition-delay: 150ms; }
body.kmayer-motion-ready .kmayer-reveal-target.is-kmayer-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0);
}

/* A restrained curtain opens onto the exact footer navy; no grids or orbits. */
.kmayer-footer-reveal-bridge {
  --kmayer-footer-curtain-shift: 0px;
  --kmayer-footer-signature-shift: 0px;
  position: relative;
  z-index: 1;
  min-height: clamp(280px, 31vw, 430px);
  overflow: hidden;
  background: #151f40;
}

.kmayer-footer-reveal-bridge__underlay,
.kmayer-footer-reveal-bridge__curtain,
.kmayer-footer-reveal-bridge__signature {
  position: absolute;
  inset: 0;
}

.kmayer-footer-reveal-bridge__underlay {
  background: linear-gradient(180deg, #151f40 0%, #182346 46%, #151f40 100%);
}

.kmayer-footer-reveal-bridge__curtain {
  z-index: 2;
  height: 78%;
  background: linear-gradient(180deg, #111d3c 0%, #13203f 74%, rgba(19, 32, 63, 0.12) 100%);
  clip-path: polygon(0 0, 100% 0, 100% 78%, 77% 91%, 48% 72%, 22% 93%, 0 80%);
  transform: translate3d(0, var(--kmayer-footer-curtain-shift), 0);
  will-change: transform;
}

.kmayer-footer-reveal-bridge__curtain::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(244, 244, 244, 0.24), rgba(114, 231, 255, 0.5), rgba(244, 244, 244, 0.24), transparent);
  box-shadow: 0 18px 54px rgba(114, 231, 255, 0.14);
}

.kmayer-footer-reveal-bridge__signature {
  z-index: 1;
  display: grid;
  place-items: end center;
  padding-bottom: clamp(18px, 3vw, 44px);
  color: transparent;
  font-family: "Clash Grotesk Variable", sans-serif;
  font-size: clamp(112px, 20vw, 330px);
  font-weight: 600;
  letter-spacing: -0.07em;
  line-height: 0.72;
  -webkit-text-stroke: 1px rgba(244, 244, 244, 0.09);
  transform: translate3d(0, var(--kmayer-footer-signature-shift), 0);
  will-change: transform;
}

.kmayer-shared-contact-footer {
  position: relative;
  z-index: 2;
  padding: clamp(72px, 8vw, 104px) 0;
  background: #151f40;
  color: #f4f4f4;
  font-family: "Sen", sans-serif;
}

.kmayer-shared-contact-footer__shell {
  width: min(1320px, calc(100% - 48px));
  margin-inline: auto;
}

.kmayer-shared-contact-footer__display {
  margin: 0 0 clamp(34px, 5vw, 72px);
  font-size: clamp(70px, 10vw, 140px) !important;
  line-height: 0.86 !important;
  letter-spacing: -0.055em;
}

.kmayer-shared-contact-footer__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(32px, 7vw, 118px);
  padding: clamp(38px, 5vw, 78px);
  background: #1c2646;
}

.kmayer-shared-contact-footer__copy {
  max-width: 850px;
}

.kmayer-shared-contact-footer__title {
  margin: 0 0 24px;
  font-size: clamp(34px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em;
}

.kmayer-shared-contact-footer__copy p {
  max-width: 780px;
  margin: 0;
  color: rgba(244, 244, 244, 0.8);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.72;
}

.kmayer-shared-contact-footer__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 184px;
  min-height: 58px;
  padding: 16px 28px;
  border: 1px solid rgba(244, 244, 244, 0.68);
  border-radius: 999px;
  color: #151f40 !important;
  background: #f4f4f4 !important;
  font-family: "Sen", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: color 240ms ease, background 240ms ease, transform 240ms ease, box-shadow 240ms ease;
}

.kmayer-shared-contact-footer__cta:hover,
.kmayer-shared-contact-footer__cta:focus-visible {
  color: #f4f4f4 !important;
  background: transparent !important;
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.2);
}

/* The shared Elementor contact/footer remains the single source of truth. */
body.kmayer-shared-visual-page section.get_in_touch .big_heading .elementor-heading-title {
  color: #f4f4f4 !important;
  opacity: 1 !important;
}

body.kmayer-shared-visual-page section.get_in_touch .gradient_h2 .elementor-heading-title {
  color: #f4f4f4 !important;
  -webkit-text-fill-color: #f4f4f4 !important;
}

body.kmayer-footer-reveal-ready .footer_wrapper {
  opacity: 0.92;
  transform: translate3d(0, 46px, 0);
  transition: opacity 760ms ease, transform 980ms cubic-bezier(0.2, 0.78, 0.2, 1);
}

body.kmayer-footer-reveal-ready.kmayer-footer-visible .footer_wrapper {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@keyframes kmayer-skeleton-scan {
  to { transform: translateX(250%); }
}

@keyframes kmayer-skeleton-failsafe {
  to { opacity: 0; visibility: hidden; pointer-events: none; }
}

@keyframes kmayer-prism-orbit {
  0%, 100% { transform: rotateX(-6deg) rotateY(-18deg) translateZ(0); }
  50% { transform: rotateX(8deg) rotateY(198deg) translateZ(12px); }
}

@media (max-width: 760px) {
  body.kmayer-shared-visual-page > .custom-footer[data-kmlang-fab-rehomed="viewport"] {
    right: 15px !important;
    bottom: 15px !important;
  }

  .kmayer-brand-prism {
    min-height: 360px;
    padding-top: 132px;
  }

  .admin-bar .kmayer-brand-prism {
    padding-top: 166px;
  }

  .kmayer-brand-prism__stage {
    width: min(360px, 86vw);
    height: 210px;
  }

  .kmayer-brand-prism__cube {
    width: 150px;
    height: 150px;
  }

  .kmayer-brand-prism__face--front { transform: translateZ(36px); }
  .kmayer-brand-prism__face--back { transform: rotateY(180deg) translateZ(36px); }
  .kmayer-brand-prism__face--top,
  .kmayer-brand-prism__face--bottom { top: 39px; height: 72px; }
  .kmayer-brand-prism__face--top { transform: rotateX(90deg) translateZ(75px); }
  .kmayer-brand-prism__face--bottom { transform: rotateX(-90deg) translateZ(75px); }
  .kmayer-brand-prism__face--left,
  .kmayer-brand-prism__face--right { left: 39px; width: 72px; }
  .kmayer-brand-prism__face--left { transform: rotateY(-90deg) translateZ(75px); }
  .kmayer-brand-prism__face--right { transform: rotateY(90deg) translateZ(75px); }

  .kmayer-brand-prism__mark { width: 98px; height: 98px; }
  .kmayer-brand-prism__logo { height: 98px; }
  .kmayer-brand-prism__face--top .kmayer-brand-prism__mark,
  .kmayer-brand-prism__face--bottom .kmayer-brand-prism__mark,
  .kmayer-brand-prism__face--left .kmayer-brand-prism__mark,
  .kmayer-brand-prism__face--right .kmayer-brand-prism__mark { width: 60px; height: 60px; }
  .kmayer-brand-prism__face--top .kmayer-brand-prism__logo,
  .kmayer-brand-prism__face--bottom .kmayer-brand-prism__logo,
  .kmayer-brand-prism__face--left .kmayer-brand-prism__logo,
  .kmayer-brand-prism__face--right .kmayer-brand-prism__logo { height: 60px; }

  .kmayer-parallax-backdrop__wordmark {
    left: -18vw;
    font-size: 58vw;
  }

  .kmayer-footer-reveal-bridge { min-height: 300px; }
  .kmayer-shared-contact-footer__shell { width: min(100% - 30px, 1320px); }
  .kmayer-shared-contact-footer__display { font-size: clamp(60px, 20vw, 92px) !important; }
  .kmayer-shared-contact-footer__panel {
    grid-template-columns: 1fr;
    align-items: start;
    padding: 32px 24px;
  }
  .kmayer-shared-contact-footer__cta { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  .kmayer-page-skeleton,
  .kmayer-page-skeleton *,
  .kmayer-brand-prism *,
  .kmayer-reveal-target,
  .kmayer-footer-reveal-bridge *,
  .footer_wrapper {
    animation: none !important;
    transition-duration: 0.01ms !important;
    transform: none !important;
  }

  .kmayer-page-skeleton {
    animation: kmayer-skeleton-failsafe 1ms linear 500ms forwards !important;
  }

  body.kmayer-motion-ready .kmayer-reveal-target {
    opacity: 1;
  }
}
