.ls-universal-footer {
  --ls-footer-background: var(--background, oklch(.095 .028 302));
  --ls-footer-surface: var(--surface, oklch(.137 .044 298));
  --ls-footer-foreground: var(--foreground, oklch(.985 .009 305));
  --ls-footer-muted: var(--muted-foreground, oklch(.775 .038 304));
  --ls-footer-border: var(--border, oklch(.84 .11 310 / 16%));
  align-self: stretch;
  box-sizing: border-box;
  width: auto;
  margin-top: 0;
  margin-inline: var(--ls-footer-bleed-margin-inline, 0);
  border-top: 1px solid color-mix(in oklab, var(--ls-footer-border) 70%, transparent);
  color: var(--ls-footer-foreground);
  background: color-mix(in oklab, var(--ls-footer-background) 88%, var(--ls-footer-surface));
  font-family: "General Sans", Inter, system-ui, sans-serif;
}
.ls-universal-footer *, .ls-universal-footer *::before, .ls-universal-footer *::after { box-sizing: border-box; }
.ls-footer__container { width: 100%; max-width: 76rem; margin-inline: auto; padding: clamp(3rem, 6vw, 5rem) 1.5rem 1.75rem; }
.ls-footer__brand { display: inline-flex; max-width: 100%; text-decoration: none; }
.ls-footer__brand img { display: block; width: 12rem; height: auto; max-width: 100%; }
.ls-footer__contact { margin-top: 2rem; padding-block: 2rem 1.75rem; border-top: 1px solid var(--ls-footer-border); }
.ls-footer__methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 2.5rem; }
.ls-footer__email { min-width: 0; font-size: .875rem; line-height: 1.5; color: var(--ls-footer-muted); }
.ls-footer__email p { margin: 0; }
.ls-footer__email a { display: inline-flex; align-items: center; min-height: 2.75rem; margin-top: .5rem; color: var(--ls-footer-foreground); font-size: 1.1875rem; line-height: 1.5; letter-spacing: -.02em; overflow-wrap: anywhere; text-decoration: none; }
.ls-footer__socials { display: flex; align-items: center; justify-self: end; gap: .5rem; width: max-content; max-width: 100%; }
.ls-footer__socials a, .ls-footer__social { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 2.75rem; min-height: 2.75rem; border-radius: 50%; color: var(--ls-footer-muted); transition: color 180ms ease, background-color 180ms ease; }
.ls-footer__socials svg { width: 1.5rem; height: 1.5rem; flex: none; }
.ls-footer__socials a[data-social-platform="linkedin"] { color: #0a66c2; }
.ls-footer__socials a[data-social-platform="linkedin"]:hover { background: rgb(10 102 194 / .1); }
.ls-footer__socials a[data-social-platform="facebook"] { color: #1877f2; }
.ls-footer__socials a[data-social-platform="facebook"]:hover { background: rgb(24 119 242 / .1); }
.ls-footer__socials a[data-social-platform="instagram"] { color: #e4405f; }
.ls-footer__socials a[data-social-platform="instagram"]:hover { background: rgb(228 64 95 / .1); }
.ls-footer__socials a[data-social-platform="youtube"] { color: #ff0000; }
.ls-footer__socials a[data-social-platform="youtube"]:hover { background: rgb(255 0 0 / .1); }
.ls-footer__socials a[data-social-platform="x"] { color: #fff; }
.ls-footer__socials a[data-social-platform="x"]:hover { background: rgb(255 255 255 / .08); }
.ls-footer__numbers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; margin: 1.75rem 0 0; }
.ls-footer__number { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; min-width: 0; text-align: left; }
.ls-footer__number dt { display: flex; align-items: center; gap: .5rem; min-width: 0; min-height: 2.625rem; color: var(--ls-footer-muted); font-size: .875rem; line-height: 1.5; }
.ls-footer__number dt svg { flex: none; width: 1.5rem; height: 1rem; overflow: hidden; border-radius: .625rem; }
.ls-footer__number dt span { min-width: 0; }
.ls-footer__number dd { min-width: 0; margin: 0; white-space: nowrap; }
.ls-footer__number dd a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--ls-footer-foreground); font-size: 1rem; line-height: 1.5; letter-spacing: -.01em; text-decoration: none; }
.ls-universal-footer a:focus-visible { border-radius: .25rem; outline: 2px solid oklch(.78 .18 320); outline-offset: 4px; }
@media (min-width: 1024px) { .ls-footer__container { padding-inline: 2rem; } }
@media (min-width: 1100px) { .ls-footer__numbers { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.5rem; } }
@media (max-width: 699px) {
  .ls-footer__container { padding-block: 3rem 1.75rem; }
  .ls-footer__brand img { width: 11.5rem; }
  .ls-footer__contact { margin-top: 1.75rem; padding-block: 1.5rem 1.75rem; }
  .ls-footer__methods { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .ls-footer__socials { justify-self: start; }
  .ls-footer__numbers { margin-top: 1.5rem; }
  .ls-footer__number dd a { font-size: .9375rem; }
}
@media (max-width: 359px) { .ls-footer__socials { gap: 0; } }
@media (prefers-reduced-motion: reduce) { .ls-footer__socials a, .ls-footer__social { transition: none; } }
