/* Keep campaign disclosures readable on both light and dark panels. */
.campaign-story__note{
  font-size:.75rem;
  line-height:1.5;
  opacity:1;
  letter-spacing:.02em;
}
.partnership-panel__visual figcaption span{
  display:inline-block;
  padding:4px 8px;
  font-size:.75rem;
  line-height:1.5;
  color:#fff;
  background:rgba(11,23,18,.88);
  opacity:1;
  letter-spacing:.02em;
}

/* The hero copy remains in normal flow. Short screens may scroll rather than
   having text hidden, scaled down, or constrained to a fixed-height panel. */
@media(max-width:1023px){
  .hero__stage[data-astro-cid-dcwno5ig]{
    height:min(90cqw,max(14rem,calc(100svh - var(--header-h) - var(--line-w) - 22rem)));
  }
  .hero__inner[data-astro-cid-dcwno5ig]{
    padding-top:1rem;
    padding-bottom:2rem;
  }
  .hero__title[data-astro-cid-dcwno5ig]{margin-top:.75rem}
  .hero__lede[data-astro-cid-dcwno5ig]{margin-top:.75rem}
  .hero__ctas[data-astro-cid-dcwno5ig]{margin-top:1rem}
  .hero__ctas .text-link{min-height:44px}
}

/* Portrait phone photography becomes landscape on wider, often square windows.
   Preserve the existing focal point so the wrist remains the crop's subject. */
@media(min-width:540px) and (max-width:767px){
  .campaign-story__visual{aspect-ratio:16/10}
  .campaign-story__copy{padding:32px 32px 36px}
  .home-campaign .campaign-story__copy{padding-inline:32px}
  .campaign-story__title{font-size:clamp(36px,6.8vw,48px);max-width:18ch}
  .campaign-story__eyebrow{margin-bottom:16px}
  .campaign-story__body{max-width:46ch;margin-block:16px 20px}
  .campaign-story__note{margin-top:20px}
}

/* Three-column tablet cards need less internal padding than laptop cards. */
@media(min-width:768px) and (max-width:1023px){
  .hero__stage[data-astro-cid-dcwno5ig]{
    height:min(55.8cqw,max(14rem,calc(100svh - var(--header-h) - var(--line-w) - 22rem)));
  }
  .product-card__media[data-astro-cid-4fhpls6h]{padding:12px}
}
