/* Compact partner ribbon; the unenhanced version scrolls horizontally. */
.tm-home #partners { overflow: visible; }
.tm-home .tm-partners-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
  margin-bottom: 36px;
}
.tm-partners-heading .tm-eyebrow { margin-bottom: 18px; }
.tm-home .tm-partners-heading h2 {
  margin: 0;
  color: var(--brand-primary);
  font: 900 clamp(28px,3.5vw,44px)/1.6 'Cairo',sans-serif;
  letter-spacing: -.8px;
}
.tm-partners-heading h2 span { color: var(--brand-accent); }
.tm-home .tm-partners-heading > p {
  max-width: 380px;
  margin: 0 0 5px;
  color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.95;
}
.tm-partners-strip { overflow-x: auto; direction: ltr; padding-block: 12px; scrollbar-width: thin; scrollbar-color: #c7d4ea transparent; }
.tm-partners-track { display: flex; width: max-content; }
.tm-home .partners-featured { display: flex; flex: 0 0 auto; gap: 18px; padding-inline-end: 18px; }
.tm-partners-strip.is-ready { overflow: hidden; mask-image: linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); }
.tm-partners-strip.is-ready .tm-partners-track { animation: tm-partners-ribbon 42s linear infinite; }
.tm-partners-strip.is-paused .tm-partners-track,
.tm-partners-strip:hover .tm-partners-track,
.tm-partners-strip:focus-within .tm-partners-track { animation-play-state: paused; }
@keyframes tm-partners-ribbon { to { transform: translateX(-50%); } }
.tm-home .pf-card {
  flex: 0 0 300px;
  display: grid;
  grid-template-columns: 106px minmax(0,1fr);
  grid-template-rows: 1fr 1fr;
  align-items: center;
  column-gap: 16px;
  direction: rtl;
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fff;
  text-align: right;
  box-shadow: 0 6px 24px #0d1d4a04;
  transition: border-color .25s,box-shadow .25s,background-color .25s;
}
.tm-home .pf-logo {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  grid-row: 1 / 3;
  min-height: 86px;
  margin: 0;
  padding: 12px 6px;
  border: 1px solid #1235c90b;
  border-radius: 13px;
  background: var(--surface-2);
  color: var(--brand-primary);
}
.pf-logo::after {
  content: '';
  position: absolute;
  bottom: 9px;
  width: 26px;
  height: 2px;
  border-radius: 2px;
  background: var(--brand-accent);
  opacity: .5;
}
.tm-partner-wordmark {
  max-width: 100%;
  font: 900 21px/1.5 'Cairo',sans-serif;
  overflow-wrap: anywhere;
}
.tm-partner-wordmark[lang="en"] { font-family: 'Tajawal',sans-serif; font-size: 24px; letter-spacing: -.5px; }
.tm-partner-wordmark-note { display: none; }
.tm-home .pf-card h3 { align-self: end; margin: 0 0 4px; color: var(--brand-primary); font: 700 16px/1.7 'Cairo',sans-serif; }
.tm-home .pf-card > p { align-self: start; }
.tm-home .pf-card > p { margin: 0; color: var(--text-secondary); font-size: 14px; line-height: 1.8; }
.tm-home .partners-cta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--border);
}
.partners-cta-row .tm-button { font-size: 14px; padding: 13px 24px; }
.tm-partners-pause { padding: 10px 16px; border: 1px solid var(--border); border-radius: 24px; background: #fff; color: var(--brand-primary); font: 500 14px 'Tajawal',sans-serif; cursor: pointer; }
.tm-partners-pause[aria-pressed="true"] { background: var(--surface-2); border-color: #1235c944; }
@media (hover: hover) and (pointer: fine) {
  .tm-home .pf-card:hover { border-color: #1235c944; background: #fcfdff; box-shadow: 0 12px 36px #0d1d4a0a; }
}
@media (max-width: 767px) {
  .tm-home .tm-partners-heading { flex-direction: column; align-items: start; gap: 16px; margin-bottom: 28px; }
  .tm-home .tm-partners-heading > p { max-width: 52ch; font-size: 14px; }
  .tm-home .partners-featured { gap: 14px; padding-inline-end: 14px; }
  .tm-home .pf-card { flex-basis: 274px; padding: 16px; column-gap: 12px; grid-template-columns: 94px minmax(0,1fr); }
  .tm-home .pf-logo { min-height: 80px; }
  .tm-home .pf-card h3 { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .tm-partners-strip.is-ready { overflow-x: auto; mask-image: none; }
  .tm-partners-strip.is-ready .tm-partners-track { animation: none; }
  .tm-partners-duplicate { display: none !important; }
}
