.tools-grid > li.tools-banner-slot { grid-column:1/-1;min-width:0;margin:0;padding:0;list-style:none; }
.tools-banner { position:relative;min-width:0;max-width:100%;margin:0 0 44px;border:1px solid rgba(226,143,244,.27);border-radius:18px;background:radial-gradient(ellipse at 100% 0,rgba(240,75,204,.12),transparent 55%),linear-gradient(120deg,rgba(33,16,45,.92),rgba(22,12,30,.96));overflow:hidden; }
.tools-banner-slot .tools-banner { margin:6px 0; }
.tools-banner--bottom { margin-top:0; }
.tools-banner__label { position:absolute;top:12px;right:14px;z-index:1;padding:3px 9px;border:1px solid var(--line);border-radius:99px;background:rgba(14,7,19,.78);color:var(--subtle);font:600 10px var(--font-display);letter-spacing:.14em;text-transform:uppercase; }
.tools-banner__body { display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:center;min-width:0;padding:22px 24px;color:inherit;text-decoration:none; }
.tools-banner--media .tools-banner__body { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
a.tools-banner__body { transition:background-color .2s ease; }
a.tools-banner__body:hover { background-color:rgba(240,75,204,.05); }
a.tools-banner__body:focus-visible { outline:2px solid #ff9bea;outline-offset:-4px;border-radius:18px; }
.tools-banner__media { display:flex;align-items:center;justify-content:center;min-width:0;border:1px solid rgba(222,164,255,.13);border-radius:12px;background:rgba(11,6,16,.6);overflow:hidden; }
.tools-banner__media img { display:block;max-width:100%;width:auto;height:auto;max-height:240px;object-fit:contain; }
.tools-banner__copy { display:grid;gap:8px;min-width:0;padding-right:96px;overflow-wrap:anywhere;word-break:break-word; }
.tools-banner--media .tools-banner__copy { padding-right:0;padding-top:20px; }
.tools-banner__title { color:var(--ink);font:700 20px/1.15 var(--font-display);letter-spacing:-.035em; }
.tools-banner__desc { color:#bcabc8;font-size:13px;line-height:1.5; }
.tools-banner__cta { justify-self:start;margin-top:4px;color:#e88be9;font-size:12.5px;font-weight:700; }
a.tools-banner__body:hover .tools-banner__cta { color:var(--pink); }
@media (max-width:720px) {
  .tools-banner--media .tools-banner__body { grid-template-columns:minmax(0,1fr); }
  .tools-banner__body { padding:44px 17px 20px; }
  .tools-banner__copy,.tools-banner--media .tools-banner__copy { padding:0; }
  .tools-banner__media img { max-height:200px; }
}
@media (prefers-reduced-motion:reduce) { a.tools-banner__body { transition:none; } }
