.partners-page .blog-state .primary-action { display: flex; width: fit-content; text-align: center; }
.partners-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: 64px; align-items: start; }
.partner-card { min-width: 0; padding: 32px 28px 24px; border-radius: 24px; background: var(--surface); text-align: center; }
.partner-photo { display: block; width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin: 0 auto 24px; background: var(--canvas); }
.partner-card h2 { margin: 0 0 16px; font-size: 24px; line-height: 1.25; letter-spacing: -.025em; }
.partner-description { color: var(--body); font-size: 16px; line-height: 1.65; }
.partner-description summary { list-style: none; cursor: pointer; }
.partner-description summary::-webkit-details-marker { display: none; }
.partner-description summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 6px; border-radius: 4px; }
.partner-preview { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; min-height: 3.3em; }
.partner-toggle { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; font-weight: 650; color: var(--ink); margin-top: 4px; }
.partner-toggle-icon { font-size: 20px; font-weight: 400; }
.partner-less, .partner-description[open] .partner-more, .partner-description[open] .partner-preview { display: none; }
.partner-description[open] .partner-less { display: inline; }
.partner-description[open] .partner-toggle-icon { transform: rotate(45deg); }
.partner-description p { margin: 8px 0 16px; white-space: pre-line; text-align: left; }
.partner-socials { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding-top: 16px; margin-top: 8px; border-top: 1px solid #e8e5dc; }
.partner-socials a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border-radius: 10px; font-size: 14px; font-weight: 650; text-decoration: none; background: var(--canvas); }
.partner-socials a:hover { background: #eee5d0; }
.partner-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1000px) { .partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .partners-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; } .partner-card { padding: 28px 24px 20px; } }
