/* Rivalry Commerce — final sitewide radius and collision protection */
:root {
  --rc-box-radius: 16px;
  --rc-media-radius: 20px;
  --rc-control-radius: 10px;
  --rc-box-gap: 14px;
}

main :where(
  article,
  aside,
  fieldset,
  [class$="-card"],
  [class*="-card "],
  [class$="-panel"],
  [class*="-panel "],
  [class$="-box"],
  [class*="-box "],
  [class$="-tile"],
  [class*="-tile "],
  [class$="-item"],
  [class*="-item "],
  [class$="-step"],
  [class*="-step "],
  [class$="-metric"],
  [class*="-metric "],
  [class$="-cta"],
  [class*="-cta "]
) {
  min-width: 0;
  max-width: 100%;
  border-radius: var(--rc-box-radius) !important;
  isolation: isolate;
  overflow: hidden;
  overflow-wrap: break-word;
}

main :where(
  [class$="-media"],
  [class*="-media "],
  [class$="-visual"],
  [class*="-visual "],
  [class$="-image"],
  [class*="-image "],
  [class$="-showcase"],
  [class*="-showcase "]
) {
  min-width: 0;
  max-width: 100%;
  border-radius: var(--rc-media-radius) !important;
  overflow: hidden;
  isolation: isolate;
}

main :where(
  [class$="-grid"],
  [class*="-grid "],
  [class$="-row"],
  [class*="-row "],
  [class$="-strip"],
  [class*="-strip "],
  [class$="-flow"],
  [class*="-flow "]
) {
  min-width: 0;
  max-width: 100%;
}

main :where(
  [class$="-grid"],
  [class*="-grid "],
  [class$="-row"],
  [class*="-row "],
  [class$="-strip"],
  [class*="-strip "],
  [class$="-flow"],
  [class*="-flow "]
):has(> article) {
  gap: var(--rc-box-gap) !important;
  border: 0 !important;
  background-color: transparent;
}

main :where(
  [class$="-grid"],
  [class*="-grid "],
  [class$="-row"],
  [class*="-row "],
  [class$="-strip"],
  [class*="-strip "],
  [class$="-flow"],
  [class*="-flow "]
):has(> article) > article {
  border: 1px solid rgba(212,175,106,.34) !important;
}

main :where(input,select,textarea,button,.button,[class*="-button"],[class*="button-"]) {
  border-radius: var(--rc-control-radius) !important;
}

main :where(
  [class*="dot"],
  [class*="icon"],
  [class*="circle"],
  [class*="badge"],
  [class*="pill"],
  input[type="radio"],
  input[type="checkbox"]
) {
  border-radius: 999px !important;
}

dialog,
.qualification-dialog,
.playbook-form-dialog,
.contact-request-dialog,
.deployment-dialog {
  max-width: calc(100% - 28px);
  border-radius: 22px !important;
  overflow-y: auto;
  overflow-x: hidden;
}

main img,
main video,
main canvas,
main svg {
  max-width: 100%;
}

main :where(h1,h2,h3,h4,p,li,a,span,strong,small) {
  min-width: 0;
}

@media (max-width: 760px) {
  :root {
    --rc-box-radius: 14px;
    --rc-media-radius: 16px;
    --rc-box-gap: 12px;
  }

  main :where(
    [class$="-grid"],
    [class*="-grid "],
    [class$="-row"],
    [class*="-row "],
    [class$="-flow"],
    [class*="-flow "]
  ) > * {
    min-width: 0;
    max-width: 100%;
  }
}
/* Article text is core content, not an animation dependency. */
.articles-main > article,
.articles-main .article-header-new,
.articles-main .article-hero-new,
.articles-main .article-prose,
.articles-main .article-related,
.articles-main .reveal,
.articles-main .mobile-reveal,
.articles-main .rc-lux-reveal,
.articles-main [data-executive-reveal] {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
}

/* Unified Research Library article layout. */
.articles-main .article-shell {
  width: min(1320px, calc(100% - 48px));
}

.articles-main .article-hero-new {
  width: min(1360px, calc(100% - 48px));
  margin-bottom: 56px;
}

.articles-main .article-hero-new img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.articles-main .article-prose {
  width: min(1040px, calc(100% - 48px));
  padding: clamp(48px, 6vw, 76px) clamp(34px, 6vw, 82px);
}

.articles-main .article-prose :is(p, ul, ol, h2, h3, blockquote) {
  max-width: 82ch;
  margin-left: auto;
  margin-right: auto;
}

.articles-main .article-prose :is(.highlight-box, .emphasis-block) {
  max-width: 82ch;
  margin: 2rem auto;
  background: #eee7da !important;
  border: 1px solid rgba(138, 100, 31, .32) !important;
  border-left: 3px solid #D4AF6A !important;
  color: #292620 !important;
}

.articles-main .article-prose :is(.highlight-box, .emphasis-block) :is(p, li, strong, span) {
  color: #292620 !important;
}

.article-related {
  padding: 0 0 90px;
}

.article-related-heading {
  margin-bottom: 26px;
  text-align: center;
}

.article-related-heading h2 {
  margin: .35rem 0 0;
  font-size: clamp(2rem, 4vw, 3.2rem);
}

.article-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.article-related .article-card-new img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.article-related .article-card-new h3 {
  margin: .8rem 0;
  font-size: 1.15rem;
  line-height: 1.3;
}

.article-related-all {
  display: block;
  width: max-content;
  margin: 28px auto 0;
  padding-bottom: 5px;
  border-bottom: 1px solid #D4AF6A;
  color: #D4AF6A;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
}

@media (max-width: 900px) {
  .article-related-grid {
    grid-template-columns: 1fr;
  }

  .article-related {
    padding-bottom: 56px;
  }
}

@media (max-width: 620px) {
  .articles-main .article-shell,
  .articles-main .article-hero-new,
  .articles-main .article-prose {
    width: min(100% - 24px, 1040px);
  }

  .articles-main .article-prose {
    padding: 40px 22px;
  }
}
