.site-footer {
   flex-shrink: 0;
   background: var(--color-footer-bg, #3C3C3C);
   color: #ffffff;
   padding: clamp(0.15rem, 0.6vh, 0.45rem) clamp(1.25rem, 5vw, 2rem) clamp(2rem, 4vh, 2.75rem);
   margin-top: -2px;
   border: 0;
}

.site-footer__inner {
   width: min(100%, 920px);
   margin-inline: auto;
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   gap: 1.15rem;
   border: 0;
}

.site-footer__logo-link {
   display: inline-block;
   line-height: 0;
   opacity: 0.92;
   transition: opacity 0.2s ease;
}

.site-footer__logo-link:hover {
   opacity: 1;
}

.site-footer__logo {
   display: block;
   height: clamp(48px, 8vw, 64px);
   width: auto;
   max-width: min(70vw, 320px);
   object-fit: contain;
   filter: brightness(1.1);
}

.site-footer__tagline {
   font-size: clamp(0.95rem, 2vw, 1.05rem);
   font-weight: 300;
   line-height: 1.5;
   letter-spacing: 0.04em;
   color: rgba(255, 255, 255, 0.82);
}

.site-footer__nav {
   width: 100%;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 1rem;
   padding-top: 0.15rem;
   border: 0;
}

.site-footer__nav-group {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   gap: 0.5rem 1.1rem;
   border: 0;
}

.site-footer__nav-group--pages {
   max-width: 52rem;
}

.site-footer__nav-group--legal {
   max-width: 42rem;
}

.site-footer__nav a,
.site-footer__cookie-btn {
   font-size: 0.78rem;
   font-weight: 400;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   text-decoration: none;
   color: rgba(255, 255, 255, 0.72);
   transition: color 0.2s ease;
   border: 0;
}

.site-footer__nav a:hover,
.site-footer__cookie-btn:hover {
   color: #ffffff;
}

.site-footer__social {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0.85rem;
   padding-top: 0.15rem;
   border: 0;
}

.site-footer__social-link {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 2rem;
   height: 2rem;
   color: rgba(255, 255, 255, 0.68);
   transition: color 0.2s ease, transform 0.2s ease;
}

.site-footer__social-link:hover {
   color: #ffffff;
   transform: translateY(-1px);
}

.site-footer__icon {
   width: 1.1rem;
   height: 1.1rem;
   fill: currentColor;
}

.site-footer__copy {
   margin-top: 0.35rem;
   font-size: 0.75rem;
   font-weight: 300;
   color: rgba(255, 255, 255, 0.5);
   border: 0;
}

@media (min-width: 768px) {
   .site-footer__inner {
      gap: 1.25rem;
   }

   .site-footer__logo {
      height: clamp(56px, 6vw, 72px);
      max-width: 360px;
   }

   .site-footer__nav {
      gap: 1.15rem;
   }
}
