.nih-campaign,
.nih-sticky {
  --nih-bg: #dee3e6;
  --nih-bg-2: #dee3e6;
  --nih-bg-image: none;
  --nih-overlay: 82%;
  --nih-text: #111;
  --nih-accent: #ed1c24;
  --nih-button-radius: 999px;
  --nih-button-shadow: 0 6px 16px color-mix(in srgb, var(--nih-accent) 18%, transparent);
  --nih-button-shadow-hover: 0 10px 22px color-mix(in srgb, var(--nih-accent) 24%, transparent);
  --nih-font-eyebrow: inherit;
  --nih-font-title: inherit;
  --nih-font-text: inherit;
  --nih-font-button: inherit;
  --nih-eyebrow-size: 13px;
  --nih-eyebrow-size-mobile: 11px;
  --nih-eyebrow-weight: 700;
  --nih-eyebrow-line: 1.3;
  --nih-eyebrow-spacing: .12em;
  --nih-eyebrow-transform: uppercase;
  --nih-title-size: 27px;
  --nih-title-size-mobile: 23px;
  --nih-title-weight: 700;
  --nih-title-line: 1.3;
  --nih-title-spacing: 0;
  --nih-title-transform: none;
  --nih-text-size: 16px;
  --nih-text-size-mobile: 14px;
  --nih-text-weight: 400;
  --nih-text-line: 1.6;
  --nih-text-spacing: 0;
  --nih-text-transform: none;
  --nih-button-size: 16px;
  --nih-button-size-mobile: 15px;
  --nih-button-weight: 700;
  --nih-button-line: 1.2;
  --nih-button-spacing: .03em;
  --nih-button-transform: uppercase;
  --nih-text-align: left;
  --nih-content-justify: flex-start;
  --nih-sticky-offset: 12px;
  --nih-mobile-offset: 14px;
  --nih-ui-safe-bottom: 0px;
  --nih-content-max: 1380px;
  --nih-desktop-min-height: 176px;
  --nih-desktop-padding: 22px;
  --nih-mobile-padding: 15px;
  --nih-desktop-image-width: 205px;
  --nih-mobile-image-width: 128px;
}

.nih-campaign {
  position: relative;
  z-index: 8;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  margin: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--nih-text) 10%, transparent);
  background-color: var(--nih-bg);
  color: var(--nih-text);
  font-family: var(--nih-font-text);
}

.nih-campaign.nih-bg-solid { background: var(--nih-bg); }
.nih-campaign.nih-bg-solid::before,
.nih-campaign.nih-bg-solid .nih-campaign__glow { display: none; }

.nih-campaign.nih-bg-gradient {
  background:
    radial-gradient(circle at 16% 20%, color-mix(in srgb, var(--nih-accent) 9%, transparent) 0, transparent 27%),
    linear-gradient(110deg, var(--nih-bg) 0%, var(--nih-bg-2) 100%);
}

.nih-campaign.nih-bg-image {
  background-color: var(--nih-bg);
  background-image:
    linear-gradient(color-mix(in srgb, var(--nih-bg) var(--nih-overlay), transparent), color-mix(in srgb, var(--nih-bg-2) var(--nih-overlay), transparent)),
    var(--nih-bg-image);
  background-position: center;
  background-size: cover;
}

.nih-campaign::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .28;
  background-image: repeating-linear-gradient(135deg, transparent 0 22px, color-mix(in srgb, var(--nih-text) 4%, transparent) 22px 23px);
  pointer-events: none;
}

.nih-campaign__glow {
  position: absolute;
  right: 35%;
  bottom: -90px;
  width: 280px;
  height: 180px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--nih-accent) 9%, transparent);
  filter: blur(45px);
  pointer-events: none;
}

.nih-campaign__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(320px, 1fr) auto;
  align-items: center;
  gap: clamp(24px, 4vw, 70px);
  width: min(var(--nih-content-max), calc(100% - 48px));
  min-height: var(--nih-desktop-min-height);
  margin: 0 auto;
  padding: var(--nih-desktop-padding) 46px var(--nih-desktop-padding) 18px;
}

.nih-campaign__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 132px;
}

.nih-campaign__halo {
  position: absolute;
  width: 124px;
  height: 124px;
  border: 1px solid color-mix(in srgb, var(--nih-accent) 25%, transparent);
  border-radius: 50%;
}

.nih-campaign__halo::after {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px dashed color-mix(in srgb, var(--nih-accent) 20%, transparent);
  border-radius: inherit;
}

.nih-campaign__image {
  position: relative;
  z-index: 1;
  width: min(100%, var(--nih-desktop-image-width));
  max-width: var(--nih-desktop-image-width);
  height: auto;
  margin: 0;
  object-fit: contain;
  filter: drop-shadow(0 14px 14px rgba(23, 60, 50, .14));
  transform: rotate(-1.5deg);
}

.nih-campaign__content {
  max-width: 750px;
  text-align: var(--nih-text-align);
}

.nih-campaign__eyebrow {
  display: flex;
  align-items: center;
  justify-content: var(--nih-content-justify);
  gap: 8px;
  margin: 0 0 6px;
  color: var(--nih-accent);
  font-family: var(--nih-font-eyebrow);
  font-size: var(--nih-eyebrow-size);
  font-weight: var(--nih-eyebrow-weight);
  line-height: var(--nih-eyebrow-line);
  letter-spacing: var(--nih-eyebrow-spacing);
  text-transform: var(--nih-eyebrow-transform);
}

.nih-campaign__eyebrow span { font-size: 1.15em; }

.nih-campaign__title {
  margin: 0 0 7px;
  color: var(--nih-text);
  font-family: var(--nih-font-title);
  font-size: var(--nih-title-size);
  font-weight: var(--nih-title-weight);
  line-height: var(--nih-title-line);
  letter-spacing: var(--nih-title-spacing);
  text-transform: var(--nih-title-transform);
}

.nih-campaign__text {
  max-width: 680px;
  margin: 0;
  color: color-mix(in srgb, var(--nih-text) 78%, white);
  font-family: var(--nih-font-text);
  font-size: var(--nih-text-size);
  font-weight: var(--nih-text-weight);
  line-height: var(--nih-text-line);
  letter-spacing: var(--nih-text-spacing);
  text-transform: var(--nih-text-transform);
}

.nih-campaign__action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 200px;
}

.nih-campaign__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  margin: 0;
  padding: 0 20px;
  border: 0;
  border-radius: var(--nih-button-radius);
  background: var(--nih-accent);
  box-shadow: var(--nih-button-shadow);
  color: #fff;
  font-family: var(--nih-font-button);
  font-size: min(var(--nih-button-size), 15px);
  font-weight: var(--nih-button-weight);
  line-height: var(--nih-button-line);
  letter-spacing: var(--nih-button-spacing);
  text-decoration: none;
  text-transform: var(--nih-button-transform);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.nih-campaign__button:hover,
.nih-campaign__button:focus-visible {
  color: #fff;
  filter: brightness(.94);
  transform: translateY(-2px);
  box-shadow: var(--nih-button-shadow-hover);
}

.nih-button-icon { display: inline-grid; place-items: center; min-width: .8em; font-size: 1.3em; line-height: 1; transition: transform .2s ease; }
.nih-icon-motion .nih-campaign__button:hover .nih-button-icon,
.nih-icon-motion .nih-campaign__button:focus-visible .nih-button-icon,
.nih-sticky.nih-icon-motion:hover .nih-button-icon,
.nih-sticky.nih-icon-motion:focus-visible .nih-button-icon { transform: translateX(3px); }
.nih-campaign__note { color: color-mix(in srgb, var(--nih-text) 58%, white); font-size: 11px; }

button.nih-campaign__close {
  appearance: none;
  position: absolute;
  top: 12px;
  right: 0;
  z-index: 3;
  display: grid !important;
  place-items: center;
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  color: color-mix(in srgb, var(--nih-text) 78%, black) !important;
  font: 700 17px/1 Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-indent: 0 !important;
  text-transform: none !important;
  transform: none !important;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}

button.nih-campaign__close:hover,
button.nih-campaign__close:focus-visible,
button.nih-campaign__close:active {
  border-radius: 50% !important;
  background: color-mix(in srgb, var(--nih-text) 20%, transparent) !important;
  box-shadow: none !important;
  color: var(--nih-text) !important;
  transform: none !important;
}

button.nih-campaign__close:focus-visible { outline: 2px solid var(--nih-accent); outline-offset: 2px; }

.nih-sticky {
  position: fixed;
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  max-width: calc(100vw - 24px);
  padding: 0 14px;
  border: 1px solid color-mix(in srgb, var(--nih-accent) 75%, black);
  border-radius: var(--nih-button-radius);
  background: var(--nih-accent);
  box-shadow: var(--nih-button-shadow);
  color: #fff;
  font-family: var(--nih-font-button);
  font-size: min(var(--nih-button-size), 14px);
  font-weight: var(--nih-button-weight);
  line-height: var(--nih-button-line);
  letter-spacing: var(--nih-button-spacing);
  text-decoration: none;
  text-transform: var(--nih-button-transform);
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease, transform .35s cubic-bezier(.2, .75, .25, 1), filter .2s ease;
}

.nih-sticky.is-visible { opacity: 1; pointer-events: auto; }
.nih-sticky.is-ui-blocked { opacity: 0; pointer-events: none; }
.nih-sticky:hover,
.nih-sticky:focus-visible { color: #fff; filter: brightness(.94); }

.nih-sticky--right-center { top: 58%; right: var(--nih-sticky-offset); transform: translateX(calc(100% + var(--nih-sticky-offset) + 16px)); }
.nih-sticky--right-center.is-visible { transform: translateX(0); }
.nih-sticky--right-center.is-ui-blocked { transform: translateX(calc(100% + var(--nih-sticky-offset) + 16px)); }
.nih-sticky--left-center { top: 58%; left: var(--nih-sticky-offset); transform: translateX(calc(-100% - var(--nih-sticky-offset) - 16px)); }
.nih-sticky--left-center.is-visible { transform: translateX(0); }
.nih-sticky--left-center.is-ui-blocked { transform: translateX(calc(-100% - var(--nih-sticky-offset) - 16px)); }
.nih-sticky--bottom-right { right: var(--nih-sticky-offset); bottom: calc(var(--nih-sticky-offset) + var(--nih-ui-safe-bottom) + env(safe-area-inset-bottom)); transform: translateY(calc(100% + var(--nih-sticky-offset) + 24px)); }
.nih-sticky--bottom-right.is-visible { transform: translateY(0); }
.nih-sticky--bottom-right.is-ui-blocked { transform: translateY(calc(100% + var(--nih-sticky-offset) + 24px)); }
.nih-sticky--bottom-left { left: var(--nih-sticky-offset); bottom: calc(var(--nih-sticky-offset) + var(--nih-ui-safe-bottom) + env(safe-area-inset-bottom)); transform: translateY(calc(100% + var(--nih-sticky-offset) + 24px)); }
.nih-sticky--bottom-left.is-visible { transform: translateY(0); }
.nih-sticky--bottom-left.is-ui-blocked { transform: translateY(calc(100% + var(--nih-sticky-offset) + 24px)); }

.nih-campaign.is-dismissed,
.nih-sticky.is-dismissed { display: none; }

@media (min-width: 700px) {
  .nih-sticky-desktop-hidden { display: none !important; }
}

@media (max-width: 900px) {
  .nih-campaign__inner { grid-template-columns: 140px 1fr auto; gap: 24px; width: calc(100% - 28px); padding: var(--nih-desktop-padding) 36px var(--nih-desktop-padding) 0; }
  .nih-campaign__image { width: min(100%, var(--nih-desktop-image-width)); max-width: min(var(--nih-desktop-image-width), 145px); height: auto; }
  .nih-campaign__action { min-width: 0; }
  .nih-campaign__note { display: none; }
  .nih-campaign__button { min-height: 44px; padding: 0 16px; }
}

@media (max-width: 699px) {
  .nih-campaign__inner { grid-template-columns: minmax(0, 1fr); gap: 8px; min-height: 0; width: calc(100% - 32px); padding: var(--nih-mobile-padding) 24px; }
  .nih-campaign__media { min-height: 80px; }
  .nih-campaign__image { width: min(100%, var(--nih-mobile-image-width)); max-width: var(--nih-mobile-image-width); height: auto; }
  .nih-campaign__halo { width: 70px; height: 70px; }
  .nih-campaign__content { width: 100%; margin: 0 auto; text-align: center; }
  .nih-campaign__title { margin-bottom: 5px; font-size: var(--nih-title-size-mobile); }
  .nih-campaign__eyebrow { justify-content: center; margin-bottom: 4px; font-size: var(--nih-eyebrow-size-mobile); }
  .nih-campaign__text { max-width: 430px; margin: 0 auto; font-size: var(--nih-text-size-mobile); }
  .nih-campaign__action { grid-column: 1 / -1; width: 100%; }
  .nih-campaign__button { width: auto; min-width: 164px; min-height: 40px; padding: 0 14px; font-size: min(var(--nih-button-size-mobile), 12.5px); }
  button.nih-campaign__close { top: 5px; right: 0; }

  .nih-sticky { top: auto; right: auto; bottom: auto; left: auto; min-height: 42px; padding: 0 12px; font-size: min(var(--nih-button-size-mobile), 12.5px); }
  .nih-sticky-mobile-hidden { display: none !important; }
  .nih-mobile-style--bar { justify-content: center; width: min(420px, calc(100vw - (var(--nih-mobile-offset) * 2))); max-width: none; }

  .nih-mobile-pos--bottom-center { left: 50%; bottom: calc(var(--nih-mobile-offset) + var(--nih-ui-safe-bottom) + env(safe-area-inset-bottom)); transform: translate(-50%, calc(100% + var(--nih-mobile-offset) + 28px)); }
  .nih-mobile-pos--bottom-center.is-visible { transform: translate(-50%, 0); }
  .nih-mobile-pos--bottom-center.is-ui-blocked { transform: translate(-50%, calc(100% + var(--nih-mobile-offset) + 28px)); }
  .nih-mobile-pos--bottom-right { right: var(--nih-mobile-offset); bottom: calc(var(--nih-mobile-offset) + var(--nih-ui-safe-bottom) + env(safe-area-inset-bottom)); transform: translateY(calc(100% + var(--nih-mobile-offset) + 28px)); }
  .nih-mobile-pos--bottom-right.is-visible { transform: translateY(0); }
  .nih-mobile-pos--bottom-right.is-ui-blocked { transform: translateY(calc(100% + var(--nih-mobile-offset) + 28px)); }
  .nih-mobile-pos--bottom-left { left: var(--nih-mobile-offset); bottom: calc(var(--nih-mobile-offset) + var(--nih-ui-safe-bottom) + env(safe-area-inset-bottom)); transform: translateY(calc(100% + var(--nih-mobile-offset) + 28px)); }
  .nih-mobile-pos--bottom-left.is-visible { transform: translateY(0); }
  .nih-mobile-pos--bottom-left.is-ui-blocked { transform: translateY(calc(100% + var(--nih-mobile-offset) + 28px)); }
  .nih-mobile-pos--top-center { top: calc(var(--flatsome-scroll-padding-top, 70px) + var(--nih-mobile-offset)); left: 50%; transform: translate(-50%, calc(-100% - var(--nih-mobile-offset) - 90px)); }
  .nih-mobile-pos--top-center.is-visible { transform: translate(-50%, 0); }
  .nih-mobile-pos--top-center.is-ui-blocked { transform: translate(-50%, calc(-100% - var(--nih-mobile-offset) - 90px)); }
}

@media (prefers-reduced-motion: reduce) {
  .nih-campaign__button,
  .nih-button-icon,
  .nih-sticky { transition: none; }
}
