/* Allodial V5 close — one full-bleed illustrated footer, no duplicate finale. */

.closing-section {
  min-height: 0;
  overflow: hidden;
  background: #f4f0e5;
}

.closing-map,
.closing-vignette,
.closing-heading,
.closing-product {
  display: none;
}

.site-footer.shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.footer-landscape-card {
  min-height: clamp(680px, 49vw, 790px);
  color: #17302f;
  background:
    linear-gradient(180deg, rgba(252, 249, 240, 0.04), rgba(252, 249, 240, 0.14)),
    image-set(
      url("assets/concepts-hero-footer-v1/footer-04-axonometric-layers.webp") type("image/webp"),
      url("assets/concepts-hero-footer-v1/footer-04-axonometric-layers.png") type("image/png")
    ) 50% 50% / cover no-repeat;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.footer-landscape-card::after {
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(252, 249, 240, 0.30) 0%, rgba(252, 249, 240, 0.10) 42%, transparent 70%),
    linear-gradient(90deg, rgba(252, 249, 240, 0.18), transparent 44%, rgba(252, 249, 240, 0.04));
}

.footer-landscape,
.footer-mobile-anchor {
  display: none !important;
}

.footer-content,
.footer-note {
  width: min(calc(100% - (2 * var(--gutter))), var(--shell));
  margin-inline: auto;
}

.footer-content {
  grid-template-columns: minmax(300px, 1.05fr) minmax(520px, 0.95fr);
  gap: clamp(64px, 10vw, 168px);
  padding: clamp(54px, 6vw, 86px) 0 0;
}

.footer-brand img {
  width: clamp(204px, 17vw, 258px);
}

.footer-brand p {
  max-width: 370px;
  color: rgba(23, 48, 47, 0.78);
  font-size: 15px;
}

.footer-direct-contact {
  display: flex;
  margin-top: 18px;
  align-items: center;
  gap: 12px;
  font-family: var(--font-mono);
  font-size: 11px;
}

.footer-direct-contact a {
  color: #17302f;
}

.footer-direct-contact button {
  padding: 6px 9px;
  color: #6f5314;
  background: rgba(252, 249, 240, 0.62);
  border: 1px solid rgba(23, 48, 47, 0.24);
  cursor: pointer;
  font: inherit;
}

.footer-direct-contact button:hover {
  color: #f8f4e8;
  background: #17302f;
}

.footer-links {
  padding-top: 4px;
  gap: clamp(30px, 4vw, 68px);
}

.footer-links span {
  color: #7a5a16;
}

.footer-links a {
  color: rgba(23, 48, 47, 0.76);
}

.footer-links a:hover {
  color: #17302f;
}

.footer-note {
  right: auto;
  bottom: 27px;
  left: 50%;
  padding: 17px 0 0;
  color: rgba(23, 48, 47, 0.70);
  border-color: rgba(23, 48, 47, 0.24);
  transform: translateX(-50%);
}

.footer-note a {
  color: #17302f;
}

@media (max-width: 900px) {
  .footer-landscape-card {
    min-height: 760px;
  }

  .footer-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .footer-links {
    max-width: 660px;
  }
}

@media (max-width: 720px) {
  .footer-landscape-card {
    min-height: 820px;
    background-position: 86% 50%;
    border-radius: 0;
  }

  .footer-content {
    width: min(calc(100% - 44px), var(--shell));
    gap: 34px;
    padding: 35px 0 0;
  }

  .footer-brand img {
    width: 198px;
  }

  .footer-brand p {
    max-width: 305px;
    font-size: 13px;
  }

  .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 22px;
  }

  .footer-links div:last-child {
    grid-column: 1 / -1;
  }

  .footer-note {
    width: calc(100% - 44px);
    right: auto;
    bottom: 20px;
    left: 50%;
    grid-template-columns: 1fr;
    color: rgba(23, 48, 47, 0.74);
    font-size: 10px;
    transform: translateX(-50%);
  }

  .footer-note p:first-child {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-note a span {
    transition: none;
  }
}
