/* Brand page (2026-10): the logos and colours for press and partners. (css/brand.css is the
   site-wide brand layer; this is just the /brand page.) Tokens, page colours, fonts, buttons,
   nav and footer come from brand.css. Same language as the FAQ and Press: a light title band
   (.cs-light) over the ink ground, Bebas Neue display type, stepped hairline fields. */
/* on paper the accent goes purple (brand yellow is too faint for text) */
.cs-brand-hero {
  --hi: var(--cs-purple);
  position: relative;
  padding: clamp(48px, 7vw, 104px) var(--cs-gutter) clamp(56px, 7vw, 96px);
}

/* a stepped hairline field in the top right, like the FAQ's */
.cs-brand-hero::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: min(44vw, 560px);
  height: 100%;
  background: var(--hatch-white);
  clip-path: polygon(40% 0, 100% 0, 100% 100%, 72% 100%, 72% 62%, 54% 62%, 54% 28%, 40% 28%);
  pointer-events: none;
}

.cs-brand-hero-inner {
  position: relative;
  max-width: var(--cs-max);
  margin: 0 auto;
}

.cs-brand-title {
  margin: 0 0 20px;
  font-family: var(--cs-display);
  font-size: clamp(64px, 9vw, 136px);
  font-weight: 400;
  line-height: .86;
  letter-spacing: .01em;
}

.cs-brand-title span {
  color: var(--hi);
}

.cs-brand-lede {
  max-width: 40ch;
  margin: 0;
  color: var(--cs-text-soft);
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.5;
}

.cs-brand-lede a {
  color: var(--cs-link);
  font-weight: 600;
  text-underline-offset: 3px;
}

/* ---- Logos and colours on the ink ground ---- */
.cs-brand-body {
  max-width: var(--cs-max);
  margin: 0 auto;
  padding: clamp(24px, 3vw, 40px) var(--cs-gutter) clamp(88px, 10vw, 144px);
}

.cs-brand-section {
  padding-top: clamp(40px, 5vw, 64px);
}

.cs-brand-bars {
  display: block;
  width: 38px;
  height: 30px;
  margin-bottom: 16px;
  background: repeating-linear-gradient(90deg, var(--accent) 0 8px, transparent 8px 15px);
}

.cs-brand-section-title {
  margin: 0 0 14px;
  font-family: var(--cs-display);
  font-size: clamp(40px, 4.6vw, 64px);
  font-weight: 400;
  line-height: .95;
  letter-spacing: .01em;
}

.cs-brand-text {
  max-width: 60ch;
  margin: 0 0 32px;
  color: var(--cs-text-soft);
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.55;
}

.cs-brand-name {
  display: block;
  font-family: var(--cs-display);
  font-size: 26px;
  letter-spacing: .03em;
  line-height: 1.1;
}

/* each logo on the ground it is meant for; the dark tile is a shade deeper than the page,
   with a hairline edge so it still reads as a tile */
.cs-brand-logos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 48px) clamp(24px, 3vw, 40px);
}

.cs-brand-logo {
  margin: 0;
}

.cs-brand-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 10;
  margin-bottom: 16px;
  padding: 8%;
}

.cs-brand-tile-light {
  background-color: #f8f8f8;
}

.cs-brand-tile-dark {
  background-color: var(--cs-ink-deep);
  box-shadow: inset 0 0 0 1px var(--cs-rule);
}

.cs-brand-tile img {
  display: block;
  width: 100%;
  max-width: 340px;
  height: auto;
}

.cs-brand-note {
  display: block;
  margin: 4px 0 12px;
  color: var(--cs-text-soft);
  font-size: 16px;
  line-height: 1.5;
}

/* like the homepage's Solana Explorer link */
.cs-brand-link {
  color: var(--cs-text);
  font-size: 16px;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.cs-brand-link:hover {
  color: var(--accent);
}

.cs-brand-lede a:focus-visible,
.cs-brand-link:focus-visible {
  outline: 3px solid var(--cs-teal);
  outline-offset: 4px;
}

.cs-brand-colors {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 48px) clamp(24px, 3vw, 40px);
  margin: 0;
  padding: 0;
  list-style: none;
}

/* the ink swatch matches the page, so every swatch gets a hairline edge */
.cs-brand-swatch {
  display: block;
  aspect-ratio: 16 / 9;
  margin-bottom: 14px;
  box-shadow: inset 0 0 0 1px var(--cs-rule);
}

.cs-brand-color dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 14px;
  margin: 8px 0 0;
  font-size: 15px;
  line-height: 1.5;
}

.cs-brand-color dt {
  color: var(--cs-text-soft);
  font-weight: 600;
}

.cs-brand-color dd {
  margin: 0;
  font-variant-numeric: tabular-nums;
  user-select: all;
}

@media screen and (max-width: 767px) {
  /* the band is short here: keep the field in the corner beside the title, off the copy */
  .cs-brand-hero::before {
    width: 34vw;
    height: 40%;
  }

  .cs-brand-logos {
    grid-template-columns: minmax(0, 1fr);
  }

  .cs-brand-colors {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
