/* ══════════════════════════════════
   PARTNER — Page Styles
   Inherits: shared.css, index.css
══════════════════════════════════ */

#partner{background:linear-gradient(180deg,#111d35 0%,#0d0e18 100%);padding:100px 0}
.partner-intro{max-width:600px;margin-bottom:56px}
.partner-intro p{font-size:1.05rem;color:var(--muted);line-height:1.75;margin-top:12px}
.partner-group{margin-bottom:52px}
.partner-group:last-child{margin-bottom:0}
.partner-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.partner-group-label::after{content:"";flex:1;height:1px;background:var(--border)}
.partner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px}
.partner-card{cursor:pointer;
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  padding:24px 20px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:8px;text-align:center;
  transition:border-color .25s,transform .25s,background .25s;
  cursor:default;min-height:120px;
}
.partner-card:hover{border-color:rgba(67,130,247,.32);background:rgba(67,130,247,.05);transform:translateY(-4px)}
.partner-card:hover .partner-logo-text{background:var(--grad-t);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.partner-card:hover .partner-logo-img{opacity:.85}
.partner-card:hover .partner-logo-img{filter:brightness(1.15)}
.partner-logo-wrap{width:100%;height:56px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:4px 8px}
.partner-logo-img{max-width:130px;max-height:44px;width:auto;height:auto;object-fit:contain;transition:opacity .2s}
.partner-logo-img{opacity:.85}
.partner-logo-img{filter:brightness(1.15)}
.partner-logo-text{font-family:var(--font);font-size:1rem;font-weight:700;color:var(--ivory);letter-spacing:-.02em;line-height:1.2}
.partner-logo-text{background:var(--grad-t);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.partner-logo-fallback{width:44px;height:44px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid var(--border);align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--muted);font-family:var(--font)}
.partner-logo-placeholder{width:44px;height:44px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--muted);flex-shrink:0;font-family:var(--font)}
.partner-type{font-size:.68rem;font-weight:500;letter-spacing:.03em;color:var(--muted);opacity:.8;line-height:1.4;text-align:center}
.partner-note{margin-top:44px;padding:18px 22px;background:rgba(67,130,247,.04);border:1px solid rgba(67,130,247,.12);border-radius:12px;font-size:.875rem;color:var(--muted);line-height:1.65}
.partner-note strong{color:var(--ivory)}

/* ══════════════════════════════════
   RESPONSIVE — Partner
══════════════════════════════════ */

@media (max-width: 1024px) {
  #partner { padding: 64px 0 }
  .partner-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) }
}

@media (max-width: 768px) {
  #partner { padding: 48px 0 }
  .partner-grid { grid-template-columns: repeat(2, 1fr) }
  .partner-card { min-height: 90px; padding: 20px 16px }
  .partner-logo-img { max-width: 100px; max-height: 36px }
  .partner-logo-text { font-size: .9rem }
  .partner-type { font-size: .65rem }
  .partner-note { padding: 14px 18px; font-size: .82rem }
}

@media (max-width: 480px) {
  .partner-grid { grid-template-columns: repeat(2, 1fr); gap: 10px }
}

