/* ==========================================================================
   Glowmigos — Trade partners
   ========================================================================== */

.page-head {
  position: relative;
  padding-block: calc(var(--ticker-h, 34px) + clamp(3.5rem, 2rem + 5vw, 6rem)) clamp(2rem, 1rem + 3vw, 3.5rem);
  background:
    radial-gradient(90% 70% at 12% 0%, rgba(241, 57, 183, 0.14), transparent 60%),
    radial-gradient(80% 70% at 92% 10%, rgba(9, 188, 235, 0.18), transparent 62%),
    linear-gradient(178deg, #06153A, #04102E);
}
.page-head__inner {
  display: grid; gap: 1.15rem;
  justify-items: center; text-align: center;
  max-inline-size: 48rem; margin-inline: auto;
}
.page-head h1 { max-inline-size: 20ch; }
/* .u-eyebrow pins itself to the start by default; centre it on this page. */
.page-head .u-eyebrow { justify-self: center; }
.page-head .u-lead { margin-inline: auto; }
.page-head h1 em {
  font-style: normal;
  background: linear-gradient(96deg, var(--c-sun), var(--c-gold) 40%, var(--c-cyan));
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}
.page-head__brand { display: inline-flex; margin-block-end: 0.2rem; }
.page-head__brand img { inline-size: clamp(230px, 30vw, 380px); }

/* --------------------------------------------------------------------------
   The roster
   -------------------------------------------------------------------------- */
.partners {
  display: grid; gap: clamp(1rem, 0.6rem + 1.6vw, 1.6rem);
  grid-template-columns: 1fr;
}
@media (min-width: 44rem) { .partners { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 74rem) { .partners { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.partner {
  display: grid; grid-template-rows: auto 1fr;
  border-radius: var(--r-lg);
  border: 1px solid var(--hairline);
  background: linear-gradient(170deg, var(--s-raised), var(--s-deep) 72%);
  overflow: hidden;
  transition: border-color var(--d-mid) var(--e-out), box-shadow var(--d-mid) var(--e-out),
              transform var(--d-mid) var(--e-out);
}
.partner:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 181, 17, 0.4);
  box-shadow: 0 26px 54px -34px #000, 0 0 30px -18px rgba(255, 181, 17, 0.85);
}

/* Warm plate behind the logo: these marks were drawn for light backgrounds,
   and it echoes the switch plate used elsewhere on the site. */
.partner__plate {
  display: grid; place-items: center;
  min-block-size: 9.5rem; padding: 1.35rem;
  background: linear-gradient(168deg, var(--s-cream), var(--s-cream-2));
  border-block-end: 1px solid rgba(120, 96, 56, 0.25);
}
.partner__plate img {
  inline-size: auto; max-inline-size: 100%;
  max-block-size: 6.2rem; object-fit: contain;
}

/* Partners whose brand is set in type rather than a logo file get a faithful
   typographic plate instead of an invented mark. */
.partner__wordmark {
  font-family: var(--f-display); font-weight: 800;
  font-size: clamp(1.15rem, 1rem + 0.7vw, 1.5rem);
  line-height: 1.15; text-align: center;
  color: var(--t-onCream); letter-spacing: -0.02em;
}
.partner__wordmark span { display: block; font-size: 0.6em; letter-spacing: 0.14em; text-transform: uppercase; color: #8A7752; margin-block-start: 0.4rem; }

.partner__body { display: grid; align-content: start; gap: 0.7rem; padding: clamp(1.1rem, 0.8rem + 1vw, 1.5rem); }

.partner__name { font-size: clamp(1.05rem, 0.98rem + 0.4vw, 1.25rem); }
.partner__name a {
  color: var(--t-bright); text-decoration: none;
  background-image: linear-gradient(90deg, var(--c-gold), var(--c-sun));
  background-size: 0% 2px; background-repeat: no-repeat; background-position: 0 100%;
  transition: background-size var(--d-mid) var(--e-out), color var(--d-mid) var(--e-out);
  padding-block-end: 2px;
}
.partner__name a:hover, .partner__name a:focus-visible { color: var(--c-sun); background-size: 100% 2px; }

.partner__trade {
  font-size: 0.68rem; font-weight: 800; letter-spacing: var(--tr-wide);
  text-transform: uppercase; color: var(--c-cyan);
}
.partner__desc { font-size: 0.94rem; color: var(--t-body); }

.partner__contact {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.9rem;
  margin-block-start: 0.15rem; padding-block-start: 0.8rem;
  border-block-start: 1px solid var(--hairline);
  font-size: var(--fs-small);
}
.partner__contact a { color: var(--t-body); text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem; }
.partner__contact a:hover { color: var(--c-sun); }
.partner__contact span.is-quiet { color: var(--t-dim); display: inline-flex; align-items: center; gap: 0.5rem; }

/* --------------------------------------------------------------------------
   Closing call to action
   -------------------------------------------------------------------------- */
.partners-cta {
  display: grid; gap: 1.1rem; justify-items: center; text-align: center;
  max-inline-size: 44rem; margin-inline: auto;
}
.partners-cta h2 { max-inline-size: 18ch; }
