.rsd-analytics-consent,
.rsd-analytics-consent * {
  box-sizing: border-box;
}

.rsd-analytics-consent[hidden] {
  display: none !important;
}

.rsd-analytics-consent {
  position: fixed;
  z-index: 1200;
  left: 22px;
  bottom: 22px;
  width: min(570px, calc(100vw - 44px));
  padding: 21px 23px 18px;
  border: 1px solid rgba(154, 116, 64, .55);
  background: #fbf9f4;
  color: #171b19;
  box-shadow: 0 18px 54px rgba(8, 20, 17, .24);
  font-family: "DM Sans", Arial, sans-serif;
  line-height: 1.5;
}

.rsd-analytics-consent__eyebrow {
  margin: 0 0 5px;
  color: #9a7440;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.rsd-analytics-consent h2 {
  margin: 0 0 7px;
  color: #142d28;
  font-family: Italiana, Georgia, serif;
  font-size: 27px;
  font-weight: 400;
  line-height: 1.08;
}

.rsd-analytics-consent__copy {
  max-width: 62ch;
  margin: 0;
  color: #555952;
  font-size: 13px;
  line-height: 1.55;
}

.rsd-analytics-consent__privacy {
  display: inline-block;
  margin-top: 8px;
  color: #73562e;
  font-size: 12px;
  text-decoration-color: rgba(115, 86, 46, .45);
  text-underline-offset: 3px;
}

.rsd-analytics-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}

.rsd-analytics-consent__button {
  min-height: 40px;
  padding: 9px 15px;
  border: 1px solid #142d28;
  border-radius: 0;
  background: #142d28;
  color: #fff;
  cursor: pointer;
  font: 600 10px/1.2 "DM Sans", Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.rsd-analytics-consent__button:hover,
.rsd-analytics-consent__button:focus-visible {
  border-color: #9a7440;
  background: #9a7440;
  color: #fff;
}

.rsd-analytics-consent__button--decline {
  border-color: #b7ad9b;
  background: transparent;
  color: #142d28;
}

.rsd-analytics-consent__button--decline:hover,
.rsd-analytics-consent__button--decline:focus-visible {
  border-color: #142d28;
  background: #142d28;
  color: #fff;
}

.rsd-analytics-consent__button:focus-visible,
.rsd-analytics-consent__privacy:focus-visible,
.rsd-privacy-settings:focus-visible {
  outline: 2px solid #9a7440;
  outline-offset: 3px;
}

.rsd-privacy-settings {
  font: inherit;
}

.footer-links .rsd-privacy-settings {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.rsd-privacy-settings--floating {
  position: fixed;
  z-index: 1100;
  bottom: 18px;
  left: 18px;
  padding: 7px 10px;
  border: 1px solid rgba(215, 190, 143, .55);
  background: #142d28;
  color: #fff;
  cursor: pointer;
  font: 500 10px/1.3 "DM Sans", Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 520px) {
  .rsd-analytics-consent {
    left: 12px;
    bottom: calc(84px + env(safe-area-inset-bottom));
    width: calc(100vw - 24px);
    padding: 17px 17px 15px;
  }

  .rsd-analytics-consent h2 {
    font-size: 24px;
  }

  .rsd-analytics-consent__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .rsd-analytics-consent__button {
    padding-inline: 8px;
    letter-spacing: .08em;
  }

  .rsd-privacy-settings--floating {
    bottom: calc(12px + env(safe-area-inset-bottom));
    left: 12px;
  }
}

@media (min-width: 521px) and (max-width: 760px) {
  .rsd-analytics-consent {
    left: 16px;
    bottom: 96px;
    width: min(570px, calc(100vw - 32px));
  }
}

@media (prefers-reduced-motion: no-preference) {
  .rsd-analytics-consent:not([hidden]) {
    animation: rsd-consent-enter .22s ease-out both;
  }

  @keyframes rsd-consent-enter {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
