:root {
  --dn-gold-on-light: #80603B;
  --dn-gold-on-dark: #D1B989;
}

.dn-skip-link {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 100000;
  padding: 0.75rem 1rem;
  background: #F7F3EA;
  color: #0E4346;
  font-weight: 700;
  text-decoration: none;
  transform: translateY(-220%);
  transition: transform 0.15s ease;
}

.dn-skip-link:focus {
  transform: translateY(0);
  outline: 3px solid #0E4346;
  outline-offset: 3px;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #0E4346 !important;
  outline-offset: 4px !important;
}

.dn-hero :where(a, button):focus-visible,
.dn-section-dark :where(a, button, summary):focus-visible,
.dn-footer :where(a, button):focus-visible,
.dn-impulse-footer :where(a, button):focus-visible {
  outline-color: var(--dn-gold-on-dark) !important;
}

.dn-eyebrow,
.dn-number,
.dn-tier-label,
.dn-offer-meta,
.dn-price,
.dn-impulse-eyebrow,
.dn-impulse-benefit-no {
  color: var(--dn-gold-on-light) !important;
}

.dn-section-dark .dn-eyebrow,
.dn-burgundy-band .dn-eyebrow,
.dn-footer .dn-eyebrow,
.dn-hero .dn-eyebrow {
  color: var(--dn-gold-on-dark) !important;
}

.dn-hero h1,
.dn-headline h1 {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.dn-cta-note,
.dn-form-privacy,
.dn-external-note {
  display: block;
  margin-top: 0.65rem;
  max-width: 48rem;
  font-size: 0.9rem;
  line-height: 1.55;
  opacity: 0.82;
}

.dn-mobile-menu-toggle[role="button"] {
  min-width: 44px;
  min-height: 44px;
}

@media (max-width: 640px) {
  .dn-hero {
    padding-top: 52px !important;
    padding-bottom: 60px !important;
  }

  .dn-hero .dn-headline h1 {
    font-size: clamp(2rem, 9vw, 2.45rem) !important;
    line-height: 1.06 !important;
  }

  .dn-hero .dn-actions {
    margin-top: 24px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

