/* Partners page: reseller logo grid, check lists, program illustration, partner quotes */

/* hero: no product shot, so drop the mint wash lower behind the logos */
.partners-hero { padding-bottom: 8px; }
.partners-hero::before { top: 300px; height: 520px; }

.resellers { max-width: 1040px; margin: 88px auto 0; }
.resellers-h { font-family: var(--mono); font-size: 12.5px; color: var(--fg-3); margin-bottom: 28px; }
.reseller-grid { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: var(--line); }
.reseller-grid li { display: grid; place-items: center; height: 112px; padding: 0 20px; background: var(--bg-1); }
.reseller-grid img { width: 100%; max-width: 190px; height: auto; opacity: .85; transition: opacity .2s; }
.reseller-grid li:hover img { opacity: 1; }

/* check lists */
.checks { list-style: none; display: flex; flex-direction: column; gap: 14px; margin-top: 28px; }
.checks li { display: flex; gap: 14px; align-items: flex-start; font-size: 16px; line-height: 1.55; color: var(--fg); }
.checks i { flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; margin-top: 1px; background: rgba(19,233,137,.15); color: var(--mint); box-shadow: inset 0 0 0 1px rgba(19,233,137,.3); }
.checks svg { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.checks-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 24px; }
.checks + .link { margin-top: 30px; }

/* the program illustration is a light UI on a soft white halo: frame it as a lit panel */
.program-art { position: relative; border-radius: 18px; overflow: hidden; border: 1px solid var(--line-2); background: radial-gradient(120% 100% at 50% 0%, rgba(19,233,137,.18), var(--bg-1) 70%); padding: 28px; }
.program-art img { display: block; width: 100%; height: auto; -webkit-mask-image: radial-gradient(closest-side, #000 82%, transparent); mask-image: radial-gradient(closest-side, #000 82%, transparent); }

/* partner quotes */
.pquotes { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.pquote { display: flex; flex-direction: column; padding: 40px; margin: 0; }
.pquote-logo { display: block; width: auto; height: 52px; margin: -6px 0 24px -10px; }
.pquote blockquote { flex: 1; font-size: 18px; line-height: 1.6; letter-spacing: -0.01em; font-weight: 450; }
.pquote figcaption { display: flex; align-items: center; gap: 14px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 14px; color: var(--fg-2); }
.pquote figcaption img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: none; }
.pquote figcaption b { display: block; color: var(--fg); font-weight: 500; font-size: 15px; }

@media (max-width: 960px) {
  .reseller-grid li { height: 96px; }
  .pquotes { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .resellers { margin-top: 64px; }
  .reseller-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .reseller-grid li { height: 84px; padding: 0 14px; }
  .checks-grid { grid-template-columns: minmax(0, 1fr); }
  .program-art { padding: 16px; border-radius: 12px; }
  .pquote { padding: 26px; }
  .pquote blockquote { font-size: 16.5px; }
}

/* quote logos: the reseller-grid PNGs are already white; Tocaro's mark is recolored to white */
.pquote-logo { height: 56px; margin: 0 auto 24px; }
.pquote-logo-mono { filter: var(--silhouette); opacity: .9; height: 48px; margin-top: 4px; margin-bottom: 28px; }
