/* TOOL X partner presentation. Original logo files remain untouched. */
#brokers.allies-presentation { position: relative; isolation: isolate; overflow: hidden; padding: 100px 0 112px; background: #08090b; border-color: #20232c; }
.allies-presentation::before { content: ''; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(rgba(126,160,230,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(126,160,230,.055) 1px,transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(ellipse at center,#000,transparent 75%); }
.allies-presentation::after { content: ''; position: absolute; z-index: -1; width: 920px; height: 460px; max-width: 100%; left: 50%; top: 80px; transform: translateX(-50%); pointer-events: none; background: radial-gradient(ellipse,rgba(37,99,255,.12),transparent 65%); }
.allies-presentation .allies-heading { text-align: center; margin-bottom: 60px; }
.allies-presentation #brokers-title { color: #fff; font-size: clamp(38px,5.3vw,72px); font-weight: 600; line-height: 1.08; letter-spacing: -.045em; margin: 0; }
.allies-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 22px; list-style: none; padding: 0; margin: 0; }
.ally-card { position: relative; min-width: 0; padding: 3px; background: #1d293f; border: 1px solid #293652; border-radius: 20px; box-shadow: 0 16px 42px rgba(0,0,0,.3); }
.ally-card::before { content: ''; position: absolute; pointer-events: none; z-index: 0; inset: -1px; border-radius: inherit; background: radial-gradient(210px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(80,136,255,.95),rgba(37,99,255,.28) 38%,transparent 70%); opacity: 0; }
.ally-surface { position: relative; z-index: 1; display: grid; place-items: center; overflow: hidden; height: 194px; padding: 26px; background: #fff; border-radius: 16px; }
.ally-mark { display: block; width: 100%; max-width: 310px; height: auto; object-fit: contain; }
.ally-vt .ally-surface { padding: 0 8px; }
.ally-vt .ally-mark { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 100%; max-width: none; }
.ally-ebc .ally-surface { padding: 10px; }
.ally-financial .ally-surface { padding: 18px; }
.ally-atfx .ally-surface { padding: 0; }
.ally-atfx .ally-mark { width: 100%; max-width: 318px; }
@media(min-width:769px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .ally-card::before { transition: opacity 200ms ease; }
 .ally-card.spotlight-active::before { opacity: 1; }
 .ally-card.spotlight-active { box-shadow: 0 0 0 1px #3b6bcc,0 12px 44px rgba(37,99,255,.18); }
}
@media(max-width:1100px) { .allies-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; max-width: 820px; margin-inline: auto; } .ally-surface { height: 200px; padding: 34px; } .ally-vt .ally-mark { width: 100%; max-width: 340px; } .ally-vt .ally-surface { padding-inline: 18px; } .ally-ebc .ally-surface { padding: 14px 28px; } .ally-financial .ally-surface { padding: 24px; } }
@media(max-width:768px) {
 #brokers.allies-presentation { padding: 68px 0 76px; }
 .allies-presentation .allies-heading { margin-bottom: 38px; }
 .allies-grid { gap: 16px; }
 .ally-card { border-radius: 16px; padding: 2px; box-shadow: none; }
 .ally-card::before { display: none; }
 .ally-surface { height: 156px; padding: 18px; border-radius: 12px; }
 .ally-vt .ally-surface { padding: 0 4px; }
 .ally-vt .ally-mark { width: 100%; }
 .ally-ebc .ally-surface { padding: 6px; }
 .ally-financial .ally-surface { padding: 12px; }
}
@media(max-width:480px) { .allies-grid { grid-template-columns: 1fr; gap: 18px; max-width: 350px; } .ally-surface { height: 170px; padding: 26px; } .ally-vt .ally-mark { width: 100%; max-width: 340px; } .ally-financial .ally-surface { padding: 20px; } .ally-ebc .ally-surface { padding: 8px 18px; } }
@media(prefers-reduced-motion:reduce) { .ally-card::before { display: none; } }
@media(min-width:481px) and (max-width:1100px) { .allies-grid > .ally-card:last-child:nth-child(odd) { grid-column: 1 / -1; width: calc((100% - 24px) / 2); justify-self: center; } }
@media(min-width:481px) and (max-width:768px) { .allies-grid > .ally-card:last-child:nth-child(odd) { width: calc((100% - 16px) / 2); } }
