.campaign-hero {
  position: relative;
  isolation: isolate;
  min-height: 780px;
  height: min(960px, 100svh);
  background: #060e0a;
  color: #f6f1e7;
  overflow: hidden;
}

.campaign-photo {
  position: absolute;
  inset: 90px 0 auto;
  width: 100%;
  height: calc(100% - 90px);
  object-fit: contain;
  object-position: right center;
}

.campaign-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #06100bf5, #06100b99 29%, transparent 60%);
}

.campaign-content {
  position: relative;
  padding-top: clamp(230px, 30vh, 340px);
  padding-bottom: 70px;
  animation: rise 1s ease both;
}

.campaign-content .eyebrow { font-size: 11px; }
.campaign-content h1 {
  font: 400 clamp(75px, 7.3vw, 125px)/.98 Georgia, serif;
  letter-spacing: -.065em;
  margin: 0 0 28px;
  max-width: 650px;
}
.campaign-content h1 em { color: #e4bd77; font-weight: 400; }
.campaign-description { max-width: 320px; line-height: 1.65; color: #e3e6dd; font-size: 16px; }
.campaign-cta { margin-top: 14px; color: #172016; background: #e4bd77; letter-spacing: .03em; }
.campaign-cta:hover { background: #f1d59e; }

@media (max-width: 760px) {
  .campaign-hero { height: auto; min-height: 0; padding-top: 82px; }
  .campaign-photo { position: relative; inset: auto; height: auto; object-fit: contain; }
  .campaign-shade { background: linear-gradient(0deg, #06100b 0%, transparent 70%); }
  .campaign-content { padding-top: 5px; padding-bottom: 52px; }
  .campaign-content h1 { font-size: clamp(58px, 12vw, 84px); max-width: 100%; }
  .campaign-content .eyebrow { margin-bottom: 18px; font-size: 9px; }
  .campaign-description { font-size: 15px; margin: 0 0 12px; }
  .campaign-cta { min-height: 52px; font-size: 12px; padding: 0 21px; }
}
