/* ccm-sponsors.css — extracted from ccm-sponsors.html (Session C, 2026-07-11). Shared styles live in ccm.css. */

.sp-head { margin-left: 12px; padding: 48px 72px 56px; }
.sp-intro { font-size: 1.15rem; font-weight: 300; line-height: 1.7; color: var(--text-secondary); max-width: 640px; margin-top: 20px; }

.sp-tier-label {
  font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--red); margin-bottom: 28px;
  display: flex; align-items: center; gap: 12px;
}
.sp-tier-label::after { content: ''; flex: 1; height: 1px; background: var(--border); }

/* Shared logo box: real logo when present, business name as text until then */
.sp-logo { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.sp-logo-img { max-width: 100%; max-height: 100%; object-fit: contain; }
.sp-logo-text { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; color: var(--text); text-align: center; line-height: 1.05; }

/* Naming sponsor — feature card */
.sp-naming { display: grid; grid-template-columns: 320px 1fr; gap: 0; border: 1px solid var(--border); background: var(--bg); margin-bottom: 64px; }
.sp-naming .sp-logo { background: var(--surface2); border-right: 1px solid var(--border); min-height: 220px; padding: 40px; }
.sp-naming .sp-logo-text { font-size: 2.2rem; }
.sp-naming-body { padding: 40px 44px; display: flex; flex-direction: column; justify-content: center; }
.sp-naming-cat { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--red); margin-bottom: 10px; }
.sp-naming-name { font-family: var(--font-display); font-weight: 900; font-size: 2.4rem; text-transform: uppercase; line-height: 1; color: var(--text); margin-bottom: 14px; }
.sp-naming-blurb { font-size: 1.02rem; font-weight: 300; line-height: 1.7; color: var(--text-secondary); margin-bottom: 22px; max-width: 560px; }

/* Elite grid */
.sp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 2px; margin-bottom: 64px; }
.sp-card { background: var(--surface2); border: 1px solid var(--border); padding: 32px; display: flex; flex-direction: column; }
.sp-card .sp-logo { height: 72px; margin-bottom: 22px; justify-content: flex-start; }
.sp-card .sp-logo-img { max-height: 72px; }
.sp-card .sp-logo-text { font-size: 1.4rem; text-align: left; }
.sp-card-cat { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--red); margin-bottom: 10px; }
.sp-card-blurb { font-size: 0.95rem; font-weight: 300; line-height: 1.65; color: var(--text-secondary); flex: 1; margin-bottom: 20px; }

.sp-link { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--red); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.sp-link::after { content: '→'; transition: transform 0.15s; }
.sp-link:hover::after { transform: translateX(4px); }

/* Supporting — compact tiles */
.sp-support { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 2px; }
.sp-support-item { background: var(--surface2); border: 1px solid var(--border); padding: 24px; min-height: 96px; display: flex; align-items: center; justify-content: center; text-decoration: none; transition: background 0.15s; }
.sp-support-item:hover { background: var(--surface3); }
.sp-support-item .sp-logo { height: 48px; }
.sp-support-item .sp-logo-img { max-height: 48px; }
.sp-support-item .sp-logo-text { font-size: 1.05rem; color: var(--text-secondary); }

@media (max-width: 760px) {
  .sp-head { padding: 32px 24px 40px; }
  .sp-naming { grid-template-columns: 1fr; }
  .sp-naming .sp-logo { border-right: none; border-bottom: 1px solid var(--border); min-height: 160px; }
}
