/* FOOTER: closing call to action, links, credit */
.site-foot { position: relative; overflow: clip; }
.foot-cta { position: relative; padding: clamp(70px, 7vw, 110px) 0 clamp(56px, 5vw, 80px); border-bottom: 1px solid rgba(255, 255, 255, .1); }
.foot-cta__marquee { overflow: clip; margin-bottom: clamp(28px, 3vw, 44px); }
.foot-cta__track { display: flex; width: max-content; animation: foot-marquee 40s linear infinite; }
@keyframes foot-marquee { to { transform: translateX(-50%); } }
.foot-cta__track span {
  font-family: var(--display); font-weight: 800; font-size: clamp(3rem, 6.4vw, 6.2rem); line-height: 1.05; letter-spacing: -0.03em; white-space: nowrap;
  color: transparent; -webkit-text-stroke: 1.5px rgba(255, 255, 255, .28); padding-right: .6em; display: flex; align-items: center; gap: .6em;
}
.foot-cta__track span::after { content: ""; width: .32em; height: .32em; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--lime); flex: none; }
.foot-cta__track span:nth-child(2n)::after { background: var(--orange); }
.foot-cta__track span:nth-child(3n)::after { background: var(--blue); }
.foot-cta__in { display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 28px 56px; align-items: end; }
.foot-cta__copy { display: grid; gap: 16px; }
.foot-cta__title { font-size: clamp(2rem, 3.4vw, 3.6rem); }

.foot-cols { position: relative; display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 36px 48px; padding-block: clamp(48px, 5vw, 72px); }
.foot-cols::before { content: ""; position: absolute; inset: 0 -50vw; z-index: -1; opacity: .06; background-image: radial-gradient(circle, #fff 1.4px, transparent 1.6px); background-size: 28px 28px; animation: gridDrift 40s linear infinite; pointer-events: none; }
.foot-logo { display: inline-block; padding: 12px 16px; background: var(--sky); border-radius: var(--r-sm); margin-bottom: 18px; line-height: 0; transition: transform .4s var(--ease); }
.foot-logo:hover { transform: translateY(-4px) rotate(-2deg); }
.foot-logo img { height: 72px; width: auto; }
.foot-col p { color: #c9d1ea; }
.foot-col h3 { font-size: 1.1rem; margin-bottom: 14px; letter-spacing: 0; }
.foot-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.foot-col a:not(.foot-logo) { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 0; color: #dbe1f2; text-decoration: none; background: linear-gradient(var(--lime), var(--lime)) left bottom / 0 2px no-repeat; transition: background-size .4s var(--ease), color .3s var(--ease); }
.foot-col a:not(.foot-logo):hover { color: var(--paper); background-size: 100% 2px; }
.foot-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 28px; padding-block: 22px 30px; border-top: 1px solid rgba(255, 255, 255, .1); color: #aab4d4; font-size: .92rem; }
.foot-base a { color: var(--paper); }
.credit a { font-weight: 700; text-decoration-color: var(--lime); text-underline-offset: 3px; }

@media (max-width: 960px) {
  .foot-cta__in { grid-template-columns: minmax(0, 1fr); }
  .foot-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .foot-col--brand { grid-column: 1 / -1; }
  .foot-col:last-child { grid-column: 1 / -1; }
}
@media (max-width: 340px) {
  .foot-cols { grid-template-columns: minmax(0, 1fr); }
}
