/* Partner offer banners (ClickUp 86e3y8ned). Separate file: the site CSP allows only
   'self' styles (no inline style attributes) and /assets/ is cached immutable, so the
   file is linked with ?v=<sha> only on pages that carry banners. No rails, no popups.
   Mobile (< 768px): square creative, column width, max 560px, centred.
   Desktop (>= 768px): wide creative, column width, never above its natural size.
   aspect-ratio reserves the height before the lazy image loads (no layout shift). */
.po { box-sizing: border-box; clear: both; max-width: 560px; margin: 2.2rem auto 2.4rem; text-align: left; }
.essay .po p { margin: 0; }
.essay .po .po__label, .po .po__label { margin: 0 0 0.65rem; font: 700 0.72rem/1.3 var(--face-body); letter-spacing: 0.08em; text-transform: uppercase; color: var(--quiet); }
.po__form { margin: 0; }
.po__btn { display: block; width: 100%; margin: 0; padding: 0; border: 0; border-radius: var(--round); background: none; font: inherit; color: inherit; line-height: 0; cursor: pointer; -webkit-appearance: none; appearance: none; }
.po__btn:focus { outline: none; }
.po__btn:focus-visible { outline: 3px solid var(--sky-600); outline-offset: 3px; }
.po__btn picture { display: block; }
.po__btn img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: var(--round); object-fit: contain; }
.essay .po .po__disc, .essay .po .po__fine { margin: 0.5rem 0 0; font-size: 0.8rem; line-height: 1.5; color: var(--quiet); }
.essay .po .po__fine { margin-top: 0.25rem; font-size: 0.75rem; }
@media (min-width: 768px) {
  .po--neosecured { max-width: 800px; }
  .po--koho { max-width: 1200px; }
  .po--freescore { max-width: 968px; }
  .po--neosecured .po__btn img { aspect-ratio: 800 / 200; }
  .po--koho .po__btn img { aspect-ratio: 1200 / 628; }
  .po--freescore .po__btn img { aspect-ratio: 968 / 250; }
}
