/* css/global-rounded-cards.css */
:root{--rc-card-radius:16px;--rc-large-radius:22px}main :where(article,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "],[class$="-box"],[class*="-box "]){border-radius:var(--rc-card-radius)}main :where(article,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "]):has(>img),main :where([class$="-media"],[class*="-media "]){overflow:hidden}.intake-app,.email-composer,.qualification-dialog,.playbook-form-dialog,main :where([class$="-grid"],[class*="-grid "])[style*="border"],main :where([class$="-wrap"],[class*="-wrap "])[style*="border"]{border-radius:var(--rc-large-radius)}.opportunity-summary{gap:14px;border:0!important;background:transparent!important}.opportunity-summary article{min-width:0;border:1px solid rgba(212,175,106,.45)!important;border-radius:16px!important;background:linear-gradient(145deg,#0d0d0d,#080808);overflow:hidden}.opportunity-hero-media{position:relative!important;display:block!important;min-height:610px;border-radius:20px 0 0 20px}.opportunity-hero-media .opportunity-hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1);pointer-events:none}.opportunity-hero-media .opportunity-hero-slide.is-active{opacity:1;transform:scale(1);z-index:1}.opportunity-hero-controls{position:absolute;z-index:3;right:22px;bottom:20px;display:flex;gap:9px;padding:10px 12px;border:1px solid rgba(212,175,106,.45);border-radius:999px;background:rgba(5,5,5,.78);backdrop-filter:blur(10px)}.opportunity-hero-controls button{width:9px;height:9px;padding:0;border:1px solid #d4af6a;border-radius:50%;background:transparent;cursor:pointer;transition:.25s}.opportunity-hero-controls button.is-active{width:28px;border-radius:999px;background:#d4af6a}.opportunity-grid{gap:18px!important}.opportunity-card,.playbook-value-grid article,.opportunity-boundary-grid,.opportunity-cta,.playbook-value-section{border-radius:18px!important}.qualification-dialog,.playbook-form-dialog{border-radius:22px!important;overflow:auto}.playbook-request-fields{border-radius:16px!important}@media(max-width:980px){.opportunity-hero-media{min-height:480px;border-radius:18px}}@media(max-width:720px){.opportunity-summary{gap:10px}.opportunity-summary article{border:1px solid rgba(212,175,106,.45)!important}.opportunity-hero-media{min-height:360px;border-radius:0}}@media(max-width:430px){.opportunity-hero-media{min-height:300px}}

/* css/gold-palette-polish.css */
/* Rivalry Commerce — Performance pages burnished-gold normalization */
.page-measurements,
.page-tour-overview {
  --gold: #D4AF6A;
  --gold-strong: #D4AF6A;
  --amber: #D4AF6A;
  --site-gold: #D4AF6A;
  --rc-gold: #D4AF6A;
  --rc-gold-bright: #D4AF6A;
}

.page-measurements .button,
.page-measurements .nav-cta,
.page-tour-overview .button,
.page-tour-overview .button-primary,
.page-tour-overview .nav-cta {
  background: #D4AF6A;
  border-color: #D4AF6A;
  color: #050505;
}

.page-measurements .button:hover,
.page-measurements .button:focus-visible,
.page-measurements .nav-cta:hover,
.page-measurements .nav-cta:focus-visible,
.page-tour-overview .button:hover,
.page-tour-overview .button:focus-visible,
.page-tour-overview .button-primary:hover,
.page-tour-overview .button-primary:focus-visible,
.page-tour-overview .nav-cta:hover,
.page-tour-overview .nav-cta:focus-visible {
  background: #050505;
  border-color: #D4AF6A;
  color: #D4AF6A;
}

.page-measurements :is(
  .ms-hero .eyebrow,
  .ms-data-card .eyebrow,
  .ms-impact .eyebrow,
  .ms-hero h1 span,
  .ms-proof-line,
  .ms-kpi-icon,
  .ms-kpis strong,
  .ms-tour-heading h2 span,
  .ms-tour-line b,
  .ms-data-card > a,
  .ms-mini-grid strong,
  .ms-visibility strong
) { color: #D4AF6A; }

.page-measurements :is(
  .ms-proof-line span,
  .ms-kpi-icon,
  .ms-tour-line .current::after
) { border-color: #D4AF6A; }

.page-measurements .ms-tour-line::before { border-color: rgba(212,175,106,.58); }
.page-measurements .ms-tour-line article::before {
  background: #D4AF6A;
  box-shadow: 0 0 0 1px rgba(212,175,106,.26);
}
.page-measurements :is(.ms-kpis article,.ms-data-card) { border-color: rgba(212,175,106,.42); }

.page-tour-overview .eyebrow,
.page-tour-overview h1 span,
.page-tour-overview .final-cta h2 span,
.page-tour-overview .metric strong,
.page-tour-overview .opportunity-content h3,
.page-tour-overview .value-step span,
.page-tour-overview .journey-stops em,
.page-tour-overview .journey-total strong { color: #D4AF6A; }

.page-tour-overview .value-step span { border-color: #D4AF6A; }
.page-tour-overview :is(.metric-strip,.image-card,.opportunity-section,.value-flow,.journey-card,.final-cta) {
  border-color: rgba(212,175,106,.38);
}

/* css/footer-audience-owned.css */
/* Rivalry Commerce — consistent seven-block footer architecture */
@media (min-width: 1181px) {
  .site-footer .footer-grid {
    display: grid;
    grid-template-columns: minmax(180px,1.35fr) repeat(6,minmax(105px,1fr));
    gap: clamp(16px,1.8vw,28px);
    align-items: start;
  }

  .site-footer .footer-brand-block,
  .site-footer .footer-column {
    grid-column: auto;
    margin-top: 0;
    min-width: 0;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .site-footer .footer-grid {
    display: grid;
    grid-template-columns: minmax(190px,1.25fr) repeat(3,minmax(125px,1fr));
    gap: 26px 22px;
    align-items: start;
  }

  .site-footer .footer-brand-block,
  .site-footer .footer-column {
    grid-column: auto;
    margin-top: 0;
  }
}

.site-footer .footer-column h2 {
  color: #D4AF6A;
}

.site-footer .footer-column a:hover,
.site-footer .footer-column a:focus-visible {
  color: #f5f1e8;
  text-decoration: underline;
  text-decoration-color: #D4AF6A;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

/* css/sitewide-rounded-overlap-polish.css */
/* 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;
  }
}

/* css/mobile-perfect-v3.css */
/* Rivalry Commerce mobile production layer - final viewport corrections. */
@media (max-width: 767px) {
  :root { --rc-phone-gutter: 12px; --rc-phone-gap: 10px; }

  html, body { width: 100%; max-width: 100%; }
  body { margin: 0; }
  main, header, footer, section, article, aside, nav, form, fieldset,
  .page-shell, .article-shell, .content-wrapper { min-width: 0; max-width: 100%; }

  .page-shell, .article-shell, .legal-shell, .compliance-shell, .contact-shell,
  .resource-shell, .me-shell, .po-shell, .content-wrapper {
    width: calc(100% - (var(--rc-phone-gutter) * 2)) !important;
    margin-inline: auto !important;
  }

  /* Header remains fully usable at 320px without hiding the brand. */
  .nav-shell {
    width: calc(100% - 20px) !important;
    min-height: 64px !important;
    gap: 8px !important;
  }
  .brand { flex: 1 1 auto !important; min-width: 0 !important; }
  .brand img { width: 32px !important; height: 38px !important; }
  .brand span { white-space: normal !important; line-height: 1.05 !important; }
  .nav-cta { display: none !important; }
  .menu-toggle { flex: 0 0 44px !important; }
  .main-nav { width: 100% !important; max-width: 100% !important; }

  /* Every desktop split becomes a contained phone composition. */
  .hero-grid, .overview-grid, .overview-hero-grid, .lifecycle-grid,
  .lifecycle-hero-grid, .who-grid, .revenue-grid, .measurement-grid,
  .contact-grid, .company-grid, .company-hero-grid, .company-founder,
  .company-purpose-grid, .vendor-grid, .tour-grid, .event-grid,
  .legal-grid, .parallel-grid, .case-grid, .case-study-grid,
  .article-reading-layout, .article-related-grid, .po-meaning-grid,
  .po-beside, .po-faq-grid, .journey-card, .opportunity-section,
  .dl-featured, .contact-hero, .process-row, .me-impact-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: 18px !important;
  }

  /* Card collections remain two-up; no horizontal swipe rails. */
  .features-container, .feature-grid, .problem-grid, .capability-grid,
  .pillars-grid, .values-grid, .metrics-grid, .stakeholder-grid,
  .deployment-grid, .opportunity-grid, .company-values-grid,
  .company-ip-grid, .channel-grid, .dl-card-grid, .dl-featured-metrics,
  .ms-impact-grid, .metric-strip, .drop-grid, .revenue-windows,
  .me-metrics, .serve-grid, .event-type-grid, .inventory-grid,
  .lifecycle-drop-grid, .lifecycle-matter-grid, .vendor-process-grid,
  .vendor-impact-grid, .rv-compare-grid, .rv-impact-grid, .choice-grid,
  .category-window-grid, .me-cards, .me-stakeholder-grid,
  .po-benefit-grid, .po-proof-strip, .ms-data-grid, .article-grid,
  .drop-scroller, .card-scroller, .timeline-track, .journey-stops,
  .problem-track, .dl-stats, .ms-kpis {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: var(--rc-phone-gap) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  .features-container > *, .feature-grid > *, .problem-grid > *,
  .capability-grid > *, .pillars-grid > *, .values-grid > *,
  .metrics-grid > *, .stakeholder-grid > *, .deployment-grid > *,
  .opportunity-grid > *, .company-values-grid > *, .company-ip-grid > *,
  .channel-grid > *, .dl-card-grid > *, .metric-strip > *,
  .drop-grid > *, .serve-grid > *, .event-type-grid > *,
  .inventory-grid > *, .article-grid > *, .drop-scroller > *,
  .card-scroller > *, .timeline-track > *, .journey-stops > *,
  .problem-track > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    flex: none !important;
  }

  /* Cards scale internally instead of expanding the viewport. */
  .article-card-new, .feature-card, .problem-card, .capability-card,
  .company-value-card, .company-ip-card, .deployment-card,
  .event-type-card, .inventory-card, .serve-card, .drop-card,
  .metric-card, .stat-card, .process-step {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 12px !important;
  }
  .article-card-new .article-card-copy { padding: 12px 0 0 !important; }
  .article-card-new h2, .article-card-new h3,
  .feature-card h2, .feature-card h3, .problem-card h3,
  .drop-card h3, .serve-card h3 {
    font-size: clamp(.9rem, 4vw, 1.08rem) !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
  }
  .article-card-new p, .feature-card p, .problem-card p,
  .drop-card p, .serve-card p {
    font-size: clamp(.72rem, 3vw, .86rem) !important;
    line-height: 1.45 !important;
  }

  /* Responsive media with intentional crops. */
  img, picture, video, svg, canvas, iframe {
    max-width: 100% !important;
  }
  img, video { height: auto; }
  .company-founder-photo img,
  .tour-card-media img,
  .image-card img {
    width: 100% !important;
    height: 100% !important;
    min-height: 230px !important;
    object-fit: cover !important;
  }
  .company-founder-photo { height: 340px !important; min-height: 340px !important; }
  .article-hero-new { margin-inline: 0 !important; width: 100% !important; }
  .article-hero-new img { width: 100% !important; aspect-ratio: 3 / 2; object-fit: cover !important; }
  .article-card-image-link { display: block; width: 100%; }
  .article-card-image-link img {
    width: 100% !important;
    aspect-ratio: 1.2 / 1 !important;
    object-fit: cover !important;
  }

  /* Articles and dialogs remain readable without side overflow. */
  .article-header-new h1 { font-size: clamp(2rem, 9vw, 3rem) !important; }
  .article-prose, .article-prose p, .article-prose li,
  .article-section-nav, .article-executive-modal-inner {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }
  .article-section-nav { position: static !important; top: auto !important; }
  .article-section-nav ol { columns: 2; column-gap: 22px; }
  .article-section-nav li { break-inside: avoid; }
  dialog { width: calc(100% - 24px) !important; max-width: 680px !important; }

  /* Forms and long values never escape their containers. */
  .field-grid, .email-field-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .field-grid .field-full, .email-field-grid .field-full,
  [class*="full-width"] { grid-column: 1 / -1 !important; }
  input, select, textarea, button { min-width: 0 !important; width: 100%; }
  a, p, li, dd, dt, address { overflow-wrap: anywhere; }

  /* Dense data fits the phone rather than creating page-level scrolling. */
  table { width: 100% !important; table-layout: fixed !important; font-size: .72rem !important; }
  th, td { padding: 7px 5px !important; overflow-wrap: anywhere !important; }

  .footer-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 14px !important;
  }
  .footer-brand-block { grid-column: 1 / -1 !important; }
  .footer-column { min-width: 0 !important; }
  .footer-column a { min-height: 40px !important; }
  .footer-bottom { width: calc(100% - 24px) !important; }
}

@media (max-width: 360px) {
  :root { --rc-phone-gap: 8px; }
  .field-grid, .email-field-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .article-section-nav ol { columns: 1; }
  .article-card-new, .feature-card, .problem-card, .capability-card,
  .company-value-card, .company-ip-card, .deployment-card,
  .event-type-card, .inventory-card, .serve-card, .drop-card {
    padding: 10px !important;
  }
  .article-card-new p { font-size: .7rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* css/loading-performance.css */
/* Loading stability: prevent overlapping mobile reveal passes from presenting
   image/card placeholders while retaining the primary section reveal system. */
img {
  background-color: transparent;
}

@media (max-width: 767px) {
  .mobile-reveal,
  html.rc-reveal-ready .mobile-reveal,
  html.rc-reveal-ready .mobile-reveal:not(.is-visible),
  html.rc-reveal-ready .mobile-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .rc-lux-reveal,
  [data-executive-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}

