/* =========================================================
   11 Footer (Figma 292:769) — black, 1512 x 941
   Grid of 4 x 348px columns inside the 1392 container.
   All selectors prefixed .footer
   ========================================================= */

.footer {
  background: var(--black);
  color: var(--white);
  padding: 96px 0 119px;
  --rule: rgba(255,255,255,.14);
}

.footer__top,
.footer__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* ---------- top row ---------- */
.footer__top { padding-bottom: 49px; border-bottom: 1px solid var(--rule); }
.footer__brand { grid-column: 1 / 4; padding-top: 8px; }
.footer__logo { display: inline-block; }
.footer__logo img { width: 148.484px; height: 16px; }
.footer__tagline { margin-top: 20px; line-height: 1; color: var(--w-50); }

.footer__cta { grid-column: 4; }
.footer__cta-text { font-size: 22px; line-height: 1.24; letter-spacing: -0.02em; }
.footer__dim { color: var(--w-50); }
.footer__btn { margin-top: 22px; height: 36px; padding: 0 13px 0 16px; gap: 8px; }
.footer__btn img { width: 14px; height: 14px; transition: transform .25s var(--ease); }
.footer__btn:hover img { transform: translateX(3px); }

/* ---------- link columns ---------- */
.footer__nav { padding-block: 38px 56px; border-bottom: 1px solid var(--rule); }
.footer__head {
  font-size: 12px; line-height: 1; font-weight: 400; letter-spacing: -0.02em;
  color: var(--w-45);
}
.footer__links { margin-top: 21px; display: flex; flex-direction: column; gap: 16px; }
.footer__links a {
  display: inline-block;
  font-size: 16px; line-height: 1; letter-spacing: -0.02em;
  transition: color .2s var(--ease);
}
.footer__links a:hover { color: var(--blue-2); }

/* ---------- legal row ---------- */
.footer__legal {
  display: flex; justify-content: space-between; align-items: center; gap: 16px 40px;
  padding-top: 22px;
  font-size: 12px; line-height: 1; color: var(--w-45);
}
.footer__legal-links { display: flex; gap: 50px; }
.footer__legal a { transition: color .2s var(--ease); }
.footer__legal a:hover { color: var(--white); }

/* ---------- giant wordmark (SVG has 10% opacity baked in) ---------- */
.footer__wordmark { width: 100%; height: auto; margin-top: 76px; }

/* ---------- tablet ---------- */
@media (max-width: 1100px) {
  .footer { padding: 80px 0 72px; }
  .footer__brand { grid-column: 1 / 3; }
  .footer__cta { grid-column: 3 / 5; }
  .footer__wordmark { margin-top: 64px; }
}

/* ---------- mobile ---------- */
@media (max-width: 720px) {
  .footer { padding: 64px 0 40px; }
  .footer__top { grid-template-columns: minmax(0, 1fr); row-gap: 40px; padding-bottom: 40px; }
  .footer__brand, .footer__cta { grid-column: 1; }
  .footer__cta-text { font-size: 20px; }
  .footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 20px; padding-block: 32px 40px; }
  .footer__col:first-child { grid-row: span 2; }
  .footer__legal { flex-wrap: wrap; }
  .footer__legal-links { gap: 24px; }
  .footer__wordmark { margin-top: 48px; }
}
