.affiliate-bar { overflow: hidden; background: #fff; border-top: 1px solid var(--border); border-bottom: 3px solid var(--blue); position: relative; z-index: 1; }
.affiliate-bar__inner { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.75rem 2.5rem; padding-block: 1rem; }
.affiliate-bar__copy { display: grid; gap: 0.2rem; text-align: center; font-size: 0.9375rem; } 
.affiliate-bar__text { font-size: inherit; line-height: 1.4; color: var(--slate); text-align: center; }
.affiliate-bar__text strong { color: var(--blue-dark); }
.affiliate-bar__link { color: inherit; text-decoration: none; transition: color var(--transition); }
.affiliate-bar__link:hover { color: var(--blue); text-decoration: none; }
.affiliate-bar__more { text-wrap: balance; font-size: inherit; line-height: 1.4; color: rgba(28, 43, 69, 0.68); }
.affiliate-bar__more a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.affiliate-bar__logo { display: block; transition: scale 250ms var(--ease); }
.affiliate-bar__logo:hover { scale: 1.03; }
.affiliate-bar__logo img { width: 15rem; max-width: 100%; height: auto; }

.site-footer { overflow: hidden; color: #d9e7e3; }

.site-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem 1.5rem; padding-block: 3rem; }
.site-footer__grid > :first-child { grid-column: 1 / -1; }
@media (min-width: 48rem) {
  .site-footer__grid { grid-template-columns: 1.2fr 1.2fr 1fr; gap: 3.5rem; padding-block: 5rem; }
  .site-footer__grid > :first-child { grid-column: auto; }
}

.site-footer__seal { width: 6.5rem; height: 6.5rem; margin-bottom: 1.25rem; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.14), 0 8px 22px rgba(4, 28, 25, 0.35); }
.site-footer__about { max-width: 24rem; font-size: 0.875rem; line-height: 1.7; }
@media (max-width: 47.99rem) { .site-footer__about { max-width: 34rem; } }
.site-footer__heading { display: block; margin-bottom: 1rem; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: #fff; }
.site-footer__links { display: grid; grid-template-columns: 1fr; gap: 0.7rem 1.5rem; font-size: 0.875rem; }
@media (min-width: 48rem) { .site-footer__heading { margin-bottom: 1.5rem; } .site-footer__links { grid-template-columns: 1fr 1fr; gap: 0.9rem 1.5rem; } }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer__address { font-size: 0.875rem; line-height: 1.8; margin-bottom: 0.5rem; }
.site-footer__address .nowrap { white-space: nowrap; }

@media (min-width: 64rem) { .site-footer__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) max-content; } }
.site-footer__email { font-size: 0.875rem; font-weight: 600; }

.site-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem 2rem;
  padding-block: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 0.75rem;
  color: #d3e3df;
}
@media (min-width: 48rem) { .site-footer__legal { padding-block: 2rem; gap: 0.5rem 2rem; } }

@media (min-width: 31.3rem) {
  .affiliate-bar__copy { font-size: clamp(0.625rem, calc((100vw - 3rem) / 46), 0.9375rem); }
  .affiliate-bar__text, .affiliate-bar__more { white-space: nowrap; }
}
@media (max-width: 31.25rem) {
  .affiliate-bar__copy { font-size: clamp(0.625rem, calc((100vw - 2.5rem) / 26), 0.9375rem); }
  .affiliate-bar__link { display: block; }
}
