/* Match the supplied artwork proportions so neither text nor subjects are cropped. */
.hero--campaign .hero-stage {
  height: auto;
  aspect-ratio: 40 / 17;
  container-type: inline-size;
  background: #e9e7dd;
}
.hero--campaign .hero-media {
  object-fit: contain;
  transform: none !important;
  animation: none !important;
}
.campaign-copy { position: absolute; inset: 0; color: #090909; font-family: "Times New Roman", Georgia, serif; }
.campaign-title {
  position: absolute; left: 6%; top: 15%; width: 48%; margin: 0;
  font: 400 4cqw / 1.25 "Times New Roman", Georgia, serif;
  text-transform: uppercase; letter-spacing: -.035em;
}
.campaign-title::first-line { line-height: 1.35; }
.campaign-modern::before { content: ""; display: block; }
.campaign-highlight {
  position: absolute; left: 6%; top: 45%; margin: 0; padding: .05em .18em;
  background: #050505; color: #e8d477; text-transform: uppercase;
  font: 400 2.15cqw / 1.15 "Times New Roman", Georgia, serif;
}
.campaign-explore {
  position: absolute; top: 52%; left: 6%; margin: 0;
  font: 400 2.75cqw / 1.1 "Times New Roman", Georgia, serif; text-transform: uppercase;
}
.campaign-values {
  position: absolute; left: 6%; top: 67%; display: flex; gap: .7cqw;
  list-style: none; padding: 0; margin: 0; width: 17%;
}
.campaign-values li { flex: 1; min-width: 0; text-align: center; }
.campaign-values svg { height: 2.5cqw; width: 2.5cqw; margin: 0 auto .4cqw; display: block; }
.campaign-values span { display: block; font-size: .37cqw; line-height: 1.2; text-transform: uppercase; white-space: nowrap; }
.campaign-actions { position: absolute; left: 6.4%; top: 79%; display: flex; align-items: center; gap: 1.6cqw; }
.campaign-shop {
  display: inline-flex; align-items: center; justify-content: center;
  background: #050505; color: #e8d477; padding: .5em .8em;
  font: 400 2.25cqw / 1.1 "Times New Roman", Georgia, serif; text-transform: uppercase;
  min-height: 44px; transition: background .2s;
}
.campaign-shop:hover { background: #29261d; }
.campaign-contact { font: 400 max(12px, .85cqw) / 1.4 var(--font-body); text-decoration: underline; text-underline-offset: 4px; }
.campaign-image-link { position: absolute; inset: 0; display: block; }
.campaign-image-cta {
  position: absolute; bottom: 9%; left: 6.4%;
}
.hero--campaign a:focus-visible, .hero--campaign button:focus-visible { outline: 3px solid #ad7020; outline-offset: 4px; }
.hero--campaign .hero-arrow { width: 32px; height: 32px; background: #0009; color: white; }
.hero--campaign .hero-arrow--prev { left: 8px; }
.hero--campaign .hero-arrow--next { right: 8px; }
.hero--campaign .hero-dots { bottom: 12px; }
.campaign-pause { position: absolute; z-index: 5; right: 12px; bottom: 10px; min-height: 32px; border: 0; padding: 5px 10px; background: #000a; color: #fff; cursor: pointer; font: 12px var(--font-body); }
.page-home .feature-card { aspect-ratio: 4 / 3; }
.page-home .feature-media img { filter: none; object-position: center; }
.page-home .feature-card:hover .feature-media img { filter: none; }
@media (max-width: 700px) {
  .hero--campaign .hero-stage { aspect-ratio: 3 / 4; height: auto; }
  .campaign-title { top: 7%; left: 8%; width: 86%; font-size: 7.1cqw; line-height: 1.2; letter-spacing: -.035em; }
  .campaign-modern::before { display: none; }
  .campaign-highlight { top: 23%; left: 8%; font-size: 4.5cqw; }
  .campaign-explore { top: 35%; left: 8%; width: 50%; font-size: 7cqw; line-height: 1.15; }
  .campaign-values { top: 51%; left: 8%; width: 45%; display: grid; grid-template-columns: 1fr 1fr; gap: 3cqw 2cqw; }
  .campaign-values svg { width: 6cqw; height: 6cqw; margin-bottom: 1cqw; }
  .campaign-values span { font: 400 max(9px, 2.35cqw) / 1.2 var(--font-body); white-space: normal; text-shadow: 0 1px 3px #fff, 0 0 6px #fff; }
  .campaign-actions { top: 78%; left: 8%; flex-direction: column; align-items: flex-start; gap: 2cqw; }
  .campaign-shop { font-size: 5.2cqw; padding: .6em .8em; }
  .campaign-contact { font-size: 13px; }
  .campaign-image-cta { bottom: 8%; left: 8%; }
  .hero--campaign .hero-arrow, .hero--campaign .hero-dots { display: none; }
}
