.footer {
  --color-blue:      #425B9A;
  --color-blue-deep: #2C3E6B;
  --color-sky:       #76C0EC;
  --color-cream:     #FFF6DC;
  --color-pink:      #FF95A5;
  --color-paper:     #FFFFFF;
  --color-sky-tint:  #EAF4FC;
  --color-hair:      #E3E7F2;
  --color-muted:     #5C6B94;
  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system,
               BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --text-caption:    14px;  --leading-caption:    1.52;  --tracking-caption:    -0.28px;
  --text-body:       16px;  --leading-body:       1.5;   --tracking-body:       -0.32px;
  --text-subheading: 20px;  --leading-subheading: 1.4;   --tracking-subheading: -0.4px;
  --fw-regular: 400;
  --fw-medium:  500;

  --s8: 8px; --s16: 16px; --s24: 24px; --s32: 32px; --s40: 40px; --s48: 48px; --s64: 64px;
  --page-max: 1200px;
  --section-gap: 80px;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --dur: 220ms;

  font-family: var(--font-sans);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  letter-spacing: var(--tracking-body);
  font-weight: var(--fw-regular);
  color: var(--color-blue);
  background: var(--color-paper);
  padding-block: var(--s64) var(--s40);
  margin-top: var(--section-gap);
}

.container { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: 24px; }
.caption { font-size: 14px; line-height: 1.52; letter-spacing: -0.28px; color: var(--color-muted); }

.footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--s40); }
.footer__brand { font-size: var(--text-subheading); font-weight: var(--fw-medium); letter-spacing: -0.4px; display: flex; align-items: center; gap: 10px; }
.footer__blurb { font-size: var(--text-caption); color: var(--color-muted); margin-top: var(--s16); max-width: 34ch; }
.footer__col-title { font-size: var(--text-caption); font-weight: var(--fw-medium); margin-bottom: var(--s16); display: flex; align-items: center; gap: 8px; }
.footer__links { display: flex; flex-direction: column; gap: 10px; }
.footer__links a { font-size: var(--text-caption); color: var(--color-muted); transition: color var(--dur) var(--ease); }
.footer__links a:hover { color: var(--color-blue); }
.footer__bottom {
  margin-top: var(--s48); padding-top: var(--s24);
  border-top: 1px solid var(--color-hair);
  display: flex; flex-wrap: wrap; gap: var(--s16); align-items: center;
  font-size: 12px; color: var(--color-muted);
}
.footer__bottom .spacer { margin-left: auto; }

.ico {
  display: inline-block;
  width: 22px; height: 22px; flex: none;
  object-fit: contain;
  vertical-align: middle;
}
.ico--sm { width: 14px; height: 14px; vertical-align: middle; opacity: 0.9; }
.nav__mark { width: 26px; height: 26px; flex: none; }

.shadowmark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 160px; height: 36px;
  font-size: 29px; font-weight: 600; letter-spacing: -0.4px;
  white-space: nowrap;
  color: var(--color-blue);
  text-shadow: 4px 4px 0 var(--color-sky-tint), 7px 7px 0 rgba(44, 62, 107, 0.45);
}

@media (max-width: 1080px) {
  .footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .footer__top { grid-template-columns: 1fr; gap: var(--s32); }
}
@media (prefers-reduced-motion: reduce) {
  .footer *, .footer *::before, .footer *::after { transition-duration: 0.001ms !important; }
}
