/* Congress logo wall: quiet marks, tier hierarchy and one readable information panel. */
.dx-sponsors { display: grid; gap: 40px; width: 100%; min-width: 0; container-type: inline-size; }
.dx-sponsors .dx-sponsor-group { min-width: 0; margin: 0; padding: 0; }
.dx-sponsors .dx-sponsor-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin: 0 0 16px; }
.dx-sponsors .dx-sponsor-heading h2 { margin: 0; font: 600 22px/1.3 var(--dx-font-heading); letter-spacing: -.025em; color: var(--dx-text); }
.dx-sponsors .dx-sponsor-heading > span { color: var(--dx-brand); font-size: 13px; font-weight: 500; }
.dx-sponsors .dx-sponsor-grid { display: grid; grid-template-columns: repeat(var(--dx-sponsor-columns,4),minmax(0,1fr)); gap: 16px; }
.dx-sponsors .dx-sponsor-group--diamond .dx-sponsor-grid { grid-template-columns: repeat(var(--dx-sponsor-columns,3),minmax(0,1fr)); }
.dx-sponsors .dx-sponsor-card { position: relative; min-width: 0; margin: 0; padding: 0; border: 1px solid var(--dx-border); border-radius: var(--dx-radius-md); background: var(--dx-surface); color: var(--dx-text); }
.dx-sponsors .dx-sponsor-trigger { display: block; padding: 0; margin: 0; border: 0; border-radius: inherit; background: none; color: inherit; font: 400 14px/1.5 var(--dx-font-body); list-style: none; cursor: pointer; text-transform: none; letter-spacing: 0; }
.dx-sponsors .dx-sponsor-trigger::-webkit-details-marker { display: none; }
.dx-sponsors .dx-sponsor-trigger::marker { content: ''; }
.dx-sponsors .dx-sponsor-trigger::after { content: none; }
.dx-sponsors .dx-sponsor-logo { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; aspect-ratio: 1; padding: var(--dx-sponsor-logo-padding,20px); border-radius: var(--dx-radius-md) var(--dx-radius-md) 0 0; background: var(--dx-surface); color: var(--dx-brand); }
.dx-sponsors .dx-sponsor-logo.is-dark { background: var(--dx-brand); color: var(--dentx-accent-on-primary, #fff); }
.dx-sponsors .dx-sponsor-logo img { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; border: 0; border-radius: 0; box-shadow: none; }
.dx-sponsors .dx-sponsor-logo [hidden] { display: none; }
.dx-sponsors .dx-sponsor-wordmark { font: 600 26px/1.2 var(--dx-font-heading); letter-spacing: -.04em; text-align: center; overflow-wrap: anywhere; }
.dx-sponsors .dx-sponsor-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; }
.dx-sponsors .dx-sponsor-footer > span:first-child { display: grid; gap: 2px; min-width: 0; }
.dx-sponsors .dx-sponsor-footer strong { color: var(--dx-text); font-size: 14px; font-weight: 500; overflow-wrap: anywhere; }
.dx-sponsors .dx-sponsor-footer small { color: var(--dx-text-soft); font-size: 12px; overflow-wrap: anywhere; }
.dx-sponsors .dx-sponsor-discover { display: grid; place-items: center; flex: 0 0 32px; height: 32px; border-radius: var(--dx-radius-xs); color: var(--dx-text-soft); }
.dx-sponsors .dx-sponsor-card[open] { border-color: var(--dx-brand-line); }
.dx-sponsors .dx-sponsor-card[open] .dx-sponsor-discover { background: var(--dx-brand-soft); color: var(--dx-brand); }
.dx-sponsors .dx-sponsor-trigger:focus-visible { outline: 2px solid var(--dx-brand); outline-offset: 4px; }
.dx-sponsor-panel.dx-ds { box-sizing: border-box; margin: 0; padding: 20px; color: var(--dx-text); background: var(--dx-surface); border-radius: var(--dx-radius-md); text-align: left; }
.dx-sponsor-panel[hidden] { display: none !important; }
.dx-sponsor-panel[data-floating] { position: fixed; z-index: 100100; width: min(360px,calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--dx-border); box-shadow: var(--dx-shadow-md); }
.dx-sponsor-panel .dx-sponsor-category { display: block; margin: 0 36px 10px 0; color: var(--dx-brand); font: 500 12px/1.5 var(--dx-font-body); overflow-wrap: anywhere; }
.dx-sponsor-panel h3 { margin: 0 24px 12px 0; font: 600 22px/1.25 var(--dx-font-heading); color: var(--dx-text); letter-spacing: -.025em; overflow-wrap: anywhere; }
.dx-sponsor-panel .dx-sponsor-description { margin: 0; font: 400 14px/1.65 var(--dx-font-body); color: var(--dx-text-soft); white-space: pre-line; overflow-wrap: anywhere; }
.dx-sponsor-panel .dx-sponsor-website { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin-top: 16px; padding: 8px 12px; background: var(--dx-brand-soft); border-radius: var(--dx-radius-sm); color: var(--dx-brand); text-decoration: none; font: 500 14px/1.5 var(--dx-font-body); }
.dx-sponsor-panel .dx-sponsor-website:hover { background: var(--dx-gold-soft); color: var(--dx-brand); }
.dx-sponsor-panel .dx-sponsor-close { display: none; }
.dx-sponsor-panel[data-floating] .dx-sponsor-close { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 36px; height: 36px; min-height: 36px; margin: 0; padding: 0; border: 0; border-radius: var(--dx-radius-sm); box-shadow: none; color: var(--dx-text-soft) !important; background: transparent !important; cursor: pointer; }
.dx-sponsor-panel[data-floating] .dx-sponsor-close:hover { background: var(--dx-surface-soft) !important; color: var(--dx-text) !important; }
.dx-sponsor-panel :is(a,button):focus-visible { outline: 2px solid var(--dx-brand); outline-offset: 2px; }
.dx-sponsor-sr { position: absolute !important; width: 1px; height: 1px; padding: 0 !important; margin: -1px !important; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* The logo-only variant inherits its host section's foreground and never recolors brand images. */
.dx-sponsors--logos { --dx-sponsor-logo-padding: 12px; gap: 28px; color: inherit; }
.dx-sponsors--logos .dx-sponsor-group .dx-sponsor-grid { grid-template-columns: repeat(var(--dx-sponsor-columns,6),minmax(0,1fr)); }
.dx-sponsors--logos .dx-sponsor-card { border: 0; background: transparent; box-shadow: none; color: inherit; }
.dx-sponsors--logos .dx-sponsor-trigger { border-radius: var(--dx-radius-sm); }
.dx-sponsors--logos .dx-sponsor-logo { background: transparent; color: inherit; border-radius: inherit; }
.dx-sponsors--logos .dx-sponsor-wordmark { font-size: 22px; }
.dx-sponsors--logos .dx-sponsor-heading :is(h2,span) { color: inherit; }
.dx-sponsors--logos .dx-sponsor-heading > span { opacity: .72; }
.dx-sponsors--logos .dx-sponsor-trigger:focus-visible { outline-color: currentColor; }
.dx-sponsors--logos .dx-sponsor-card[open] > .dx-sponsor-trigger { background: color-mix(in srgb,currentColor 6%,transparent); }
.dx-sponsors--logos .dx-sponsor-card[open]:has(> .dx-sponsor-panel:not([hidden])) { grid-column: 1 / -1; }
.dx-sponsors--logos .dx-sponsor-card[open]:has(> .dx-sponsor-panel:not([hidden])) > .dx-sponsor-trigger { max-width: 200px; }
@container (max-width: 900px) {
  .dx-sponsors .dx-sponsor-group .dx-sponsor-grid { grid-template-columns: repeat(min(3,var(--dx-sponsor-columns,3)),minmax(0,1fr)); }
  .dx-sponsors:not(.dx-sponsors--logos) .dx-sponsor-group--diamond .dx-sponsor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@container (max-width: 640px) {
  .dx-sponsors .dx-sponsor-group .dx-sponsor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dx-sponsors:not(.dx-sponsors--logos) .dx-sponsor-group--diamond .dx-sponsor-grid { grid-template-columns: minmax(0,1fr); }
}
@container (max-width: 420px) { .dx-sponsors:not(.dx-sponsors--logos) .dx-sponsor-group .dx-sponsor-grid { grid-template-columns: minmax(0,1fr); } }
@container (max-width: 280px) { .dx-sponsors--logos .dx-sponsor-group .dx-sponsor-grid { grid-template-columns: minmax(0,1fr); } }
@media (hover: hover) and (pointer: fine) {
  .dx-sponsors .dx-sponsor-trigger:hover .dx-sponsor-discover { background: var(--dx-brand-soft); color: var(--dx-brand); }
  .dx-sponsors .dx-sponsor-card:hover { border-color: var(--dx-brand-line); }
  .dx-sponsors--logos .dx-sponsor-trigger:hover { background: color-mix(in srgb,currentColor 6%,transparent); }
}
@media (prefers-reduced-motion: no-preference) {
  .dx-sponsors .dx-sponsor-logo img { transition: transform 180ms var(--dx-ease); }
  .dx-sponsors .dx-sponsor-trigger:hover .dx-sponsor-logo img { transform: scale(1.035); }
  .dx-sponsor-panel[data-floating] { animation: dx-sponsor-enter 150ms var(--dx-ease) both; }
  @keyframes dx-sponsor-enter { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 600px) {
  .dx-sponsors { gap: 28px; }
  .dx-sponsors .dx-sponsor-grid { gap: 12px; }
  .dx-sponsors--logos { --dx-sponsor-logo-padding: 8px; }
  .dx-sponsor-panel[data-floating] .dx-sponsor-close { width: 44px; height: 44px; }
  .dx-sponsor-panel .dx-sponsor-category { margin-right: 40px; }
}
