.button,
.ns-button {
  background: var(--ns-color-accent);
  color: var(--ns-color-accent-contrast);
  border: 1px solid transparent;
  border-radius: var(--ns-radius-sm);
  box-shadow: none;
  transition:
    background-color var(--ns-transition-base),
    border-color var(--ns-transition-base),
    color var(--ns-transition-base),
    transform var(--ns-transition-fast),
    box-shadow var(--ns-transition-fast);
}

.button:hover,
.ns-button:hover {
  background: var(--ns-color-accent-hover);
  box-shadow: var(--ns-shadow-soft);
  transform: translateY(-1px);
}

.button:focus-visible,
.ns-button:focus-visible,
.footer-link:focus-visible,
.navbar_link:focus-visible,
.nav-dropdown_link:focus-visible {
  outline: 2px solid rgba(139, 0, 0, 0.28);
  outline-offset: 3px;
}

.ns-button {
  min-height: 48px;
  padding: 0.75rem 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-decoration: none;
  font-weight: 500;
}

.ns-button--secondary {
  background: var(--ns-color-surface);
  color: var(--ns-color-copy-strong);
  border-color: var(--ns-color-border);
}

.ns-button--secondary:hover {
  background: var(--ns-color-surface-muted);
  color: var(--ns-color-copy-strong);
}

.ns-button--ghost {
  background: transparent;
  color: var(--ns-color-copy-strong);
  border-color: var(--ns-color-border);
}

.ns-chip,
.tag-wrapper {
  background: #fff;
  color: var(--ns-color-copy-strong);
  border: 1px solid var(--ns-color-border);
  border-radius: var(--ns-radius-xs);
  box-shadow: 0 6px 20px rgba(60, 33, 12, 0.04);
}

.background-color-main,
.ns-surface,
.card_column,
.quote_body,
.fd--dropdown,
.container_cta {
  background: var(--ns-color-surface);
}

.card_column,
.ns-card {
  box-shadow: var(--ns-shadow-card);
}

.ns-card {
  border: 1px solid var(--ns-color-border);
  border-radius: var(--ns-radius-md);
  padding: var(--ns-space-6);
}

.logo_wrapper {
  background: rgba(255, 255, 255, 0.7);
  border-radius: var(--ns-radius-sm);
}

.navbar_link,
.nav-dropdown_link,
.footer-link {
  transition:
    color var(--ns-transition-fast),
    opacity var(--ns-transition-fast),
    background-color var(--ns-transition-fast);
}

.navbar_link:hover,
.nav-dropdown_link:hover,
.footer-link:hover {
  color: var(--ns-color-copy-strong);
}

.navbar_dropdown {
  position: relative;
}

.navbar_dropdown-list,
.nav-dropdown-menu {
  pointer-events: none;
}

.nav-dropdown-menu {
  transition: height var(--ns-transition-base);
  will-change: height;
}

.navbar_chevron,
.nav-arrow {
  transition:
    transform var(--ns-transition-fast),
    opacity var(--ns-transition-fast);
}

.navbar_dropdown.is-open .navbar_dropdown-list,
.navbar_dropdown.is-open .nav-dropdown-menu {
  pointer-events: auto;
}

.navbar_dropdown.is-open .navbar_chevron,
.navbar_dropdown.is-open .nav-arrow {
  transform: rotate(180deg);
}

.footer-link::before {
  background: var(--ns-color-surface);
}

.image_cover,
.image-cover-full,
.image-cover-relative {
  object-position: center;
}
