/* Isolated layout adjustments for the longer partner copy and three steps. */
.cap-campaign .steps-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cap-campaign .closing-description { margin: 0 auto 28px; text-transform: none; letter-spacing: normal; }
@media (max-width: 820px) {
  .cap-campaign .steps-list { grid-template-columns: 1fr; }
  .cap-campaign .steps-list article,
  .cap-campaign .steps-list article:nth-child(even) { min-height: auto; padding: 24px 0; border-right: 0; }
  .cap-campaign .steps-list h3 { margin-top: 18px; }
}
@media (max-width: 520px) {
  .cap-campaign .hero-inner { padding-top: 22px; }
  .cap-campaign .hero .eyebrow { margin-bottom: 14px; }
  .cap-campaign .hero h1 { font-size: clamp(36px, 10.8vw, 52px); margin-bottom: 16px; line-height: 1; }
  .cap-campaign .hero-lead { font-size: 16px; line-height: 1.45; margin-bottom: 16px; }
  .cap-campaign .hero-search { gap: 10px; }
  .cap-campaign .hero-note { padding-right: 58px; color: rgba(245, 241, 232, .78); }
}

.cap-campaign .decision-note { max-width: 650px; margin-top: 24px; color: rgba(245, 241, 232, .78); }

.cap-campaign .consultation-content { margin-bottom: 30px; max-width: 820px; }
.cap-campaign .consultation-content h3 { font-family: var(--serif); font-weight: 500; font-size: 30px; line-height: 1.15; margin-bottom: 12px; }
.cap-campaign .consultation-content p { color: var(--muted-dark); }
@media (min-width: 821px) {
  .cap-campaign .hero h1 { font-size: clamp(54px, 4.8vw, 76px); }
  .cap-campaign .hero-search { grid-template-columns: minmax(200px, 1fr) auto; gap: 16px; }
}
@media (max-width: 520px) {
  .cap-campaign .hero h1 { font-size: clamp(33px, 9.5vw, 45px); }
  .cap-campaign .hero-copy .cap-consultation-links { padding-right: 58px; }
}

/* Scoped to campaign documents only. Shared site components are untouched. */
.cap-campaign .hero-product, .cap-campaign .delivery-visual { position: relative; }
.cap-campaign .campaign-demo-label { position: absolute; bottom: 0; left: 0; right: 0; text-align: center; font-size: 12px; line-height: 1.5; color: var(--cream); padding: 8px; z-index: 3; }
.cap-campaign .delivery-visual .campaign-demo-label { bottom: 8px; }
@media (min-width: 821px) { .cap-campaign .hero-search { grid-template-columns: minmax(150px, 1fr) auto; } }
@media (max-width: 520px) {
 .cap-campaign .hero-inner { padding-top: 18px; }
 .cap-campaign .hero .eyebrow { margin-bottom: 12px; }
 .cap-campaign .hero h1 { font-size: clamp(31px,9.5vw,45px); margin-bottom: 14px; }
 .cap-campaign .hero-lead { font-size: 15.5px; line-height: 1.4; margin-bottom: 14px; }
}
