/* Partner banners (ClickUp 86e3y8nea). Separate file: the site CSP allows only
   style-src 'self', so no inline style attribute or <style> block is used.
   Height is reserved by width/height attributes plus aspect-ratio (no CLS).
   Mobile (< 768px): square creative, column width, at most 560px, centred.
   Desktop (>= 768px): wide creative, column width, never above its natural width.
   No rails, no sticky/fixed positioning, no popups. */
.pb {
  clear: both;
  box-sizing: border-box;
  width: 100%;
  max-width: 560px;
  margin: 2rem auto 2.4rem;
  text-align: left;
}
.story .pb p { margin: 0; text-align: left; -webkit-hyphens: manual; hyphens: manual; }
.story .pb .pb__label {
  margin: 0 0 0.6rem;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--quiet, #56616F);
}
.pb__form { margin: 0; }
.pb__btn {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--r-md, 12px);
  background: none;
  font: inherit;
  color: inherit;
  line-height: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.pb__btn:focus-visible { outline: 3px solid var(--blue-600, #0060B0); outline-offset: 3px; }
.pb__btn picture { display: block; }
.pb__btn img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: var(--r-md, 12px);
  object-fit: contain;
}
.story .pb .pb__disc, .story .pb .pb__fine {
  margin-top: 0.5rem;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--quiet, #56616F);
}
.story .pb .pb__fine { margin-top: 0.25rem; font-size: 0.76rem; }
@media (min-width: 768px) {
  .pb--neo { max-width: 800px; }
  .pb--koho { max-width: 1200px; }
  .pb--freescore { max-width: 968px; }
  .pb--neo .pb__btn img { aspect-ratio: 800 / 200; }
  .pb--koho .pb__btn img { aspect-ratio: 1200 / 628; }
  .pb--freescore .pb__btn img { aspect-ratio: 968 / 250; }
}
