/* Three clear footer columns, with a discreet world map in the NourEn palette. */
.closing {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(140px, .6fr) minmax(290px, 1fr);
  align-items: start;
  gap: clamp(32px, 5vw, 110px);
  width: min(2000px, 100%);
  padding: 82px clamp(24px, 3vw, 64px) 88px clamp(40px, 4vw, 88px);
  isolation: isolate;
}
.closing-copy, .closing-nav, .closing-contact { position: relative; z-index: 1; min-width: 0; }
.closing-logo { display: inline-block; }
.closing-logo img { display: block; width: clamp(190px, 15vw, 260px); max-width: 100%; height: auto; }
.closing-description { max-width: 540px; margin: 24px 0 0; color: #adc3d0; font-size: 17px; line-height: 1.85; }
.closing-heading { margin: 8px 0 18px; color: #fff; font-size: 17px; line-height: 1.5; letter-spacing: -.015em; }
.closing-nav { display: flex; flex-direction: column; align-items: flex-start; }
.closing-contact address { display: flex; flex-direction: column; align-items: flex-start; font-style: normal; }
.closing-nav > a, .closing-contact address a { display: inline-flex; align-items: center; min-height: 44px; color: #adc3d0; font-size: 15px; line-height: 1.6; transition: color .2s; }
.closing-nav > a:hover, .closing-contact address a:hover { color: var(--yellow); }
.closing-contact address a { overflow-wrap: anywhere; }
.closing-contact .button { max-width: 100%; margin-top: 24px; gap: 14px; white-space: normal; text-align: center; }
.closing-contact .button .icon { flex-shrink: 0; }
.closing-map {
  position: absolute;
  z-index: 0;
  width: min(900px, 70%);
  right: -40px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .14;
  pointer-events: none;
}
.closing-map::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(ellipse at 53% 44%, #44a2be1c, transparent 67%);
}
.closing-map img {
  display: block;
  width: 100%;
  height: auto;
  animation: world-map-breathe 9s ease-in-out infinite;
}
.motion-paused .closing-map img { animation-play-state: paused; }
@keyframes world-map-breathe {
  0%, 100% { opacity: .78; transform: translateY(2px); }
  50% { opacity: 1; transform: translateY(-3px); }
}
@media (min-width: 681px) and (max-width: 1000px) {
  .closing { grid-template-columns: minmax(0, 1fr) minmax(290px, 1fr); gap: 36px; padding: 72px 35px 60px; }
  .closing-copy { grid-column: 1 / -1; }
  .closing-logo img { width: 220px; }
  .closing-map { width: 760px; right: -150px; top: auto; bottom: -40px; transform: none; }
}
@media (max-width: 680px) {
  .closing { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 65px 21px 45px; }
  .closing-logo img { width: 190px; }
  .closing-description { margin: 20px 0 0; font-size: 15px; }
  .closing-heading { margin-top: 0; margin-bottom: 12px; }
  .closing-map { width: 650px; right: -220px; top: auto; bottom: 0; transform: none; opacity: .1; }
}
@media (prefers-reduced-motion: reduce) {
  .closing-map img { animation: none; }
}
