/* ── Footer wordmark: PNG replaces the CSS ::before "ANTARES" text ── */

/* Hide the generated text on both page layouts */
body .footer::before,
body footer.footer_section .footer::before {
  content: none !important;
  display: none !important;
}

/* index.html — absolute positioned, matching original ::before placement */
body .footer .footer-wordmark-img {
  position: absolute;
  left: clamp(1rem, 4vw, 4rem);
  right: clamp(1rem, 4vw, 4rem);
  bottom: clamp(13.5rem, 26vh, 16rem);
  width: calc(100% - clamp(2rem, 8vw, 8rem));
  height: auto;
  max-height: clamp(4.6rem, 16vw, 17.5rem);
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  z-index: 0;
}

/* about.html compact footer — in-flow as first flex item */
body footer.footer_section .footer .footer-wordmark-img {
  position: static !important;
  order: -1 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  max-height: clamp(2.25rem, 11vw, 7.5rem) !important;
  object-fit: contain !important;
  object-position: center !important;
}

@media screen and (max-width: 767px) {
  body .footer .footer-wordmark-img {
    bottom: 13rem;
    max-height: clamp(3.2rem, 22vw, 6rem);
  }
}

body [data-footer-cover] {
  position: relative !important;
  z-index: 4 !important;
  background: #0c0c0c !important;
  padding-top: 13.75rem !important;
  padding-bottom: 13.75rem !important;
}

body [data-footer-cover]::after {
  content: "";
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: 5;
  height: clamp(9rem, 20vh, 16rem);
  background: linear-gradient(
    180deg,
    rgba(5, 5, 5, 0) 0%,
    rgba(5, 5, 5, 0.14) 32%,
    rgba(5, 5, 5, 0.58) 68%,
    #050505 100%
  );
}

body [data-footer-reveal].footer_section {
  --footer-reveal-bg: #050607;
  --footer-reveal-overlap: clamp(4rem, 14svh, 9rem);
  --footer-reveal-body-h: max(
    100svh,
    calc(var(--footer-card-h) + var(--footer-pad-top) + var(--footer-pad-bottom))
  );
  z-index: 3 !important;
  min-height: calc(var(--footer-reveal-body-h) + var(--footer-reveal-overlap)) !important;
  height: calc(var(--footer-reveal-body-h) + var(--footer-reveal-overlap)) !important;
  max-height: none !important;
  margin-top: calc(var(--footer-reveal-overlap) * -1) !important;
  padding-top: calc(var(--footer-pad-top) + var(--footer-reveal-overlap)) !important;
  background: var(--footer-reveal-bg) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

body [data-footer-reveal].footer_section::before {
  content: none !important;
  display: none !important;
}

body [data-footer-reveal].footer_section::after {
  content: none !important;
  display: none !important;
}

body [data-footer-reveal] .footer-etheral-react-root {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background: var(--footer-reveal-bg) !important;
  contain: layout paint !important;
  isolation: isolate !important;
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0,
    transparent clamp(1.25rem, 3.5svh, 2.5rem),
    rgba(0, 0, 0, 0.35) clamp(3rem, 7svh, 5rem),
    #000 clamp(6rem, 13svh, 9rem)
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0,
    transparent clamp(1.25rem, 3.5svh, 2.5rem),
    rgba(0, 0, 0, 0.35) clamp(3rem, 7svh, 5rem),
    #000 clamp(6rem, 13svh, 9rem)
  );
}

body [data-footer-reveal] .footer-etheral-react-root > div {
  width: 100%;
  height: 100%;
}

body [data-footer-reveal] .footer_img {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body [data-footer-reveal] .footer_img::after {
  content: none !important;
  display: none !important;
}

body [data-footer-reveal] .footer_img img {
  opacity: 0 !important;
  visibility: hidden !important;
}

body [data-footer-reveal] .footer_parent {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  position: relative !important;
  z-index: 2 !important;
}

body [data-footer-reveal] .footer {
  border-radius: 0 !important;
  background: transparent !important;
}

body [data-footer-reveal] .footer_bg,
body [data-footer-reveal] .footer_blur {
  display: none !important;
}

@media screen and (max-width: 767px) {
  body [data-footer-reveal].footer_section {
    --footer-reveal-overlap: clamp(3.25rem, 10svh, 5.5rem);
  }
}

@media screen and (max-width: 479px) {
  body [data-footer-reveal].footer_section {
    --footer-reveal-overlap: 3.25rem;
  }
}

/* ──────────────────────────────────────────────────────────────
   Compact footer — section height ≈ 40% of the viewport.
   Overrides the full-height scroll-reveal sizing above so the
   footer is a slim band instead of a 100svh panel, and keeps
   every element (logo, location/est, CTA, link rows) visible
   inside that band — nothing clipped.
   ────────────────────────────────────────────────────────────── */
body [data-footer-reveal].footer_section {
  --footer-reveal-overlap: 0px;
  min-height: 40svh !important;
  height: auto !important;
  max-height: none !important;
  margin-top: 0 !important;
  padding-top: clamp(1.25rem, 3svh, 2.75rem) !important;
  padding-bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}

/* the full-height background image is already hidden; drop it from layout too so it
   can't force the flex column back to ~100vh */
body [data-footer-reveal] .footer_img { display: none !important; }

body [data-footer-reveal] .footer_parent {
  height: auto !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  flex: 0 0 auto !important;
}

body [data-footer-reveal] .footer {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding-top: clamp(0.5rem, 1.5svh, 1.5rem) !important;
  padding-bottom: clamp(0.5rem, 1.5svh, 1.5rem) !important;
  gap: clamp(0.75rem, 2.25svh, 1.75rem) !important;
}

/* Beats the (0,2,2) inline rule that locks in the card's uniform padding */
body footer[data-footer-reveal].footer_section .footer {
  padding-bottom: clamp(0.5rem, 1.5svh, 1rem) !important;
}

/* trim the oversized vertical rhythm inside the footer so everything fits */
body [data-footer-reveal] .footer_top { padding-top: 0 !important; flex: 0 0 auto !important; }
body [data-footer-reveal] .footer .v-flex-stretch-between { flex: 0 0 auto !important; gap: clamp(0.75rem, 2.25svh, 1.75rem) !important; }
body [data-footer-reveal] .footer_bottom { gap: clamp(0.5rem, 1.75svh, 1.25rem) !important; flex: 0 0 auto !important; }
body [data-footer-reveal] .footer_logo { width: clamp(4.5rem, 5.5vw, 6.5rem) !important; gap: 0 !important; }

@media screen and (max-width: 767px) {
  body [data-footer-reveal].footer_section { min-height: 46svh !important; }
}

/* The footer's text/CTA reveal animation is keyed to the old full-height footer and
   never fires at this size — keep the content shown instead of stuck at opacity:0. */
body [data-footer-reveal] .footer { transform: none !important; translate: none !important; }
body [data-footer-reveal] .footer .grid-3col *,
body [data-footer-reveal] .footer .btn,
body [data-footer-reveal] .footer .btn * {
  opacity: 1 !important;
  visibility: visible !important;
}
