/* ═══════════════════════════════════════════════════════
   SYNE Carbon — Partners Page
   ═══════════════════════════════════════════════════════ */

.bg-white { background: var(--bg-white); }
.bg-grey  { background: var(--bg-grey); }
.bg-slate { background: var(--bg-slate); }

/* ── SECTION COMMON ──────────────────────────────────── */
.partner-sec { padding: 88px 0; }

.partner-sec-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
  margin-bottom: 56px;
}

/* ── PARTNER CARDS (Registries / Exchanges) ──────────── */
.partner-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.partner-card {
  background: var(--bg-white);
  border: 1.5px solid var(--line);
  border-radius: var(--r-lg);
  padding: 26px;
  transition: border-color .18s, box-shadow .18s;
}

.partner-card:hover {
  border-color: var(--blue-mid);
  box-shadow: var(--sh-md);
}

.partner-card-featured {
  border-color: var(--blue-mid);
  background: var(--blue-lt);
  grid-column: span 3;
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  gap: 20px;
  align-items: start;
}

.partner-card-featured .pc-tags {
  grid-column: span 4;
  justify-self: stretch;
}

.partner-card-featured .pc-desc {
  grid-column: 3;
}

.pc-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.partner-card-featured .pc-top {
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 0;
}

.pc-logo-box {
  width: 48px;
  height: 48px;
  border-radius: var(--r);
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  flex-shrink: 0;
}

.pc-logo-teal   { background: #0EA5E920; color: #0369A1; border: 1.5px solid #BAE6FD; }
.pc-logo-green  { background: var(--green-lt); color: #166534; border: 1.5px solid #BBF7D0; }
.pc-logo-amber  { background: var(--amber-lt); color: #92400E; border: 1.5px solid #FDE68A; }
.pc-logo-indigo { background: var(--indigo-lt); color: #4338CA; border: 1.5px solid #C7D2FE; }
.pc-logo-slate  { background: var(--bg-slate); color: var(--ink-2); border: 1.5px solid var(--line); }
.pc-logo-blue   { background: var(--blue-lt); color: var(--blue-dark); border: 1.5px solid var(--blue-mid); }

.pc-badge {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 3px;
  border: 1px solid;
  white-space: nowrap;
}

.pc-badge-blue { color: var(--blue-dark); background: var(--blue-lt); border-color: var(--blue-mid); }
.pc-badge-grey { color: var(--ink-3); background: var(--bg-grey); border-color: var(--line); }

.pc-name {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 3px;
}

.pc-type {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--ink-4);
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-bottom: 10px;
}

.pc-desc {
  font-size: 13px;
  line-height: 1.64;
  color: var(--ink-2);
  margin-bottom: 14px;
}

.pc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.pc-tag {
  font-size: 11px;
  font-weight: 600;
  color: var(--ink-3);
  background: var(--bg-grey);
  border: 1px solid var(--line);
  border-radius: 3px;
  padding: 3px 8px;
}

/* ── SATELLITE GRID ──────────────────────────────────── */
.satellite-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.sat-card {
  background: var(--bg-white);
  border: 1.5px solid var(--line);
  border-radius: var(--r-lg);
  padding: 26px;
  transition: border-color .18s, box-shadow .18s;
}

.sat-card:hover {
  border-color: var(--blue-mid);
  box-shadow: var(--sh-sm);
}

.sat-icon {
  width: 40px;
  height: 40px;
  background: var(--blue-lt);
  border-radius: var(--r);
  display: grid;
  place-items: center;
  margin-bottom: 14px;
  color: var(--blue);
}

.sat-icon svg { width: 18px; height: 18px; }

.sat-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 4px;
}

.sat-spec {
  font-size: 11px;
  font-weight: 700;
  color: var(--blue);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.sat-desc {
  font-size: 13px;
  line-height: 1.64;
  color: var(--ink-2);
}

/* ── TECHNOLOGY GRID ─────────────────────────────────── */
.tech-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.tech-card {
  background: var(--bg-white);
  border: 1.5px solid var(--line);
  border-radius: var(--r-lg);
  padding: 26px;
  transition: border-color .18s, box-shadow .18s;
}

.tech-card:hover {
  border-color: var(--blue-mid);
  box-shadow: var(--sh-sm);
}

.tech-logo {
  width: 44px;
  height: 44px;
  border-radius: var(--r);
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  margin-bottom: 14px;
}

.tc-blue   { background: var(--blue-lt);   color: var(--blue-dark); border: 1.5px solid var(--blue-mid); }
.tc-green  { background: var(--green-lt);  color: #166534; border: 1.5px solid #BBF7D0; }
.tc-indigo { background: var(--indigo-lt); color: #4338CA; border: 1.5px solid #C7D2FE; }
.tc-amber  { background: var(--amber-lt);  color: #92400E; border: 1.5px solid #FDE68A; }
.tc-slate  { background: var(--bg-slate);  color: var(--ink-2); border: 1.5px solid var(--line); }
.tc-teal   { background: #0EA5E920; color: #0369A1; border: 1.5px solid #BAE6FD; }

.tech-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 3px;
}

.tech-role {
  font-size: 11px;
  font-weight: 700;
  color: var(--blue);
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-bottom: 10px;
}

.tech-desc {
  font-size: 13px;
  line-height: 1.64;
  color: var(--ink-2);
}

/* ── FINANCE GRID ────────────────────────────────────── */
.finance-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.finance-card {
  background: var(--bg-white);
  border: 1.5px solid var(--line);
  border-radius: var(--r-lg);
  padding: 28px 26px;
  transition: border-color .18s, box-shadow .18s;
}

.finance-card:hover {
  border-color: var(--blue-mid);
  box-shadow: var(--sh-sm);
}

.fc-type {
  font-size: 12px;
  font-weight: 700;
  color: var(--blue-dark);
  background: var(--blue-lt);
  border: 1px solid var(--blue-mid);
  border-radius: 3px;
  padding: 4px 10px;
  display: inline-flex;
  margin-bottom: 14px;
  letter-spacing: .04em;
}

.fc-desc {
  font-size: 13px;
  line-height: 1.65;
  color: var(--ink-2);
  margin-bottom: 20px;
}

.fc-stat {
  font-size: 28px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -.03em;
}

.fc-stat span {
  font-size: 13px;
  font-weight: 500;
  color: var(--ink-3);
  display: block;
  margin-top: 2px;
}

/* ── BECOME A PARTNER ────────────────────────────────── */
.become-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

.become-options {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.become-opt {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.bo-icon {
  width: 38px;
  height: 38px;
  border-radius: var(--r);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.bo-icon svg { width: 17px; height: 17px; }
.bo-blue   { background: var(--blue-lt);   color: var(--blue-dark); }
.bo-green  { background: var(--green-lt);  color: #16A34A; }
.bo-indigo { background: var(--indigo-lt); color: var(--indigo); }
.bo-amber  { background: var(--amber-lt);  color: #B45309; }

.bo-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 3px;
}

.bo-desc {
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink-3);
}

.become-panel {
  background: var(--bg-navy);
  border-radius: var(--r-xl);
  padding: 36px;
  position: sticky;
  top: 88px;
}

.bp-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 22px;
}

.bp-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 32px;
}

.bp-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(255,255,255,.65);
}

.bp-check {
  width: 18px;
  height: 18px;
  background: rgba(57,172,231,.15);
  border-radius: 4px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--blue);
}

.bp-check svg { width: 10px; height: 10px; stroke-width: 2.5; }

.bp-contact {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 24px;
}

.bp-contact-lbl {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.28);
  margin-bottom: 6px;
}

.bp-contact-email {
  font-size: 15px;
  font-weight: 600;
  color: var(--blue);
  transition: color .15s;
}

.bp-contact-email:hover { color: #fff; }

/* ── RESPONSIVE ──────────────────────────────────────── */
@media (max-width: 1024px) {
  .partner-grid { grid-template-columns: 1fr 1fr; }
  .partner-card-featured {
    grid-column: span 2;
    grid-template-columns: auto 1fr;
  }
  .partner-card-featured .pc-desc,
  .partner-card-featured .pc-tags { grid-column: span 2; }
  .satellite-grid { grid-template-columns: 1fr 1fr; }
  .tech-grid { grid-template-columns: 1fr 1fr; }
  .finance-grid { grid-template-columns: 1fr 1fr; }
  .become-layout { grid-template-columns: 1fr; }
  .partner-sec-header { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .partner-grid { grid-template-columns: 1fr; }
  .partner-card-featured { grid-column: span 1; grid-template-columns: 1fr; }
  .satellite-grid { grid-template-columns: 1fr; }
  .tech-grid { grid-template-columns: 1fr; }
  .finance-grid { grid-template-columns: 1fr 1fr; }
  .partner-sec { padding: 56px 0; }
}

@media (max-width: 520px) {
  .finance-grid { grid-template-columns: 1fr; }
}
