/* Public: Partners page styles */
.hero{ position: relative; isolation: isolate; min-height: 48dvh; display: grid; place-items: center; text-align: center; color:#fff; background: url("../images/partners/default.jpg") center/cover no-repeat fixed; border-radius: 0; }
.hero::before{ content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.55) 70%); z-index:0; }
.hero-content{ position: relative; z-index: 1; max-width: 70ch; padding: 16px; }
.hero h2{ color: #fff; margin: 0 0 10px; }

.partner-grid{ display: grid; gap:12px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.partner-card{ background: var(--card, #fff); border: 1px solid var(--border, #e6e6ef); border-radius: 12px; box-shadow: var(--shadow-1, 0 6px 14px rgba(0,0,0,.06)); overflow: hidden; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.partner-card:hover{ transform: translateY(-2px); box-shadow: var(--shadow-2, 0 10px 24px rgba(0,0,0,.08)); border-color: var(--accent, #0d6efd); }
.partner-card a{ display:grid; grid-template-rows: auto 1fr; gap: 10px; padding: 12px; text-decoration: none; color: inherit; }
.partner-card .image{ aspect-ratio: 4 / 3; width: 100%; overflow: hidden; border-radius: 10px; }
.partner-card img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.partner-card h3{ font-size: 1.05rem; margin: 0; }
.partner-card p{ margin: 6px 0 0; color: var(--muted, #666); font-size: .95rem; line-height: 1.35; }