/* The page ends where the trip does: the footer sits in the sky of one last scene, which rises out of the white page. */
.foot { position: relative; isolation: isolate; overflow: hidden; padding-bottom: max(28.5vw, 180px); font-size: 0.9375rem; }
.foot-scene { position: absolute; z-index: -1; inset: auto 0 0; width: 100%; max-width: none; height: max(56.25vw, 340px); object-fit: cover; object-position: 64% 100%; image-rendering: pixelated; -webkit-mask-image: linear-gradient(#0000, #000 50%); mask-image: linear-gradient(#0000, #000 50%); }

.foot-top { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: 40px clamp(24px, 4vw, 64px); padding-top: 48px; border-top: 1px solid var(--line); }
.foot-top a { color: var(--ink-2); text-decoration: none; transition: color 0.2s; }
.foot-top a:hover { color: var(--blue); }
.foot-brand, .foot-top nav { display: grid; align-content: start; justify-items: start; gap: 9px; }
.foot-brand .brand { color: var(--ink); }
.foot-brand p { margin-bottom: 8px; }
.foot-brand address { margin-top: 8px; font-size: 0.875rem; color: var(--ink-3); }
.foot-top .kicker { margin-bottom: 6px; color: var(--ink-3); }

.foot-base { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--line); }
.foot-base p { flex: 1; min-width: 220px; }
.foot-lang { color: var(--ink); font-weight: 500; text-underline-offset: 4px; }
.social { display: flex; gap: 6px; }
.social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--r-ctl); background: var(--tint); color: var(--ink); transition: background 0.2s, color 0.2s; }
.social a:hover { background: var(--blue); color: #fff; }
.foot-legal { max-width: 96ch; margin-top: 18px; font-size: 0.8125rem; color: var(--ink-3); }

/* WhatsApp stays one tap away as a small dark pill, out of the way while the first screen is showing. */
.wa-fab { position: fixed; z-index: 25; inset-inline-end: 16px; bottom: 16px; display: flex; align-items: center; gap: 8px; padding: 11px 16px; padding-inline-start: 13px; border-radius: 999px; background: var(--ink); box-shadow: var(--float); color: #fff; font-size: 0.875rem; font-weight: 500; text-decoration: none; transition: opacity 0.3s, translate 0.3s var(--ease); }
.wa-fab .i { color: var(--whatsapp); font-size: 1.125rem; }
.nav[data-over] ~ .wa-fab { opacity: 0; translate: 0 12px; pointer-events: none; }

@media (max-width: 760px) {
  .wa-fab { padding: 14px; font-size: 0; }
  .wa-fab .i { font-size: 1.5rem; }
  .foot-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .foot-brand { grid-column: 1 / -1; }
}
