/* PAIRSOnline ad units (PAIRS Foundation) */
  .pa { --navy: #1a2552; --yellow: #f5b324; --blue: #1b9ad8; --ink: #24304f;
    position: relative; overflow: hidden; display: block; box-sizing: border-box;
    background: #fff; color: var(--navy); text-decoration: none;
    font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif; border: 1px solid #e3e6ee; }
  .pa *, .pa *::before, .pa *::after { box-sizing: border-box; }
  .pa p, .pa h3 { margin: 0; max-width: none; font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif; text-wrap: initial; }
  .pa .photo { position: absolute; background: url('./pairsonline-couple.jpg') center/cover no-repeat; }
  .pa .wave { position: absolute; left: 0; width: 100%; display: block; }
  .pa .h { font-weight: 700; line-height: 1.12; letter-spacing: -.01em; color: var(--navy); }
  .pa .sub { font-weight: 500; color: var(--navy); line-height: 1.32; }
  .pa .pace { font-weight: 500; color: var(--ink); }
  .pa .cta { display: inline-flex; align-items: center; justify-content: center; gap: .45em; background: var(--yellow); color: var(--navy);
    font-weight: 700; border-radius: 999px; white-space: nowrap; transition: filter .2s; }
  .pa:hover .cta { filter: brightness(1.06); }
  .pa .cta svg { width: 1em; height: 1em; }
  .pa .url { font-weight: 700; color: var(--navy); white-space: nowrap; letter-spacing: -.005em; }
  .pa .from { font-weight: 500; color: var(--ink); white-space: nowrap; }
  .pa .from b { font-weight: 700; color: var(--navy); }

  /* 300 x 600 */
  .pa-300x600 { width: 300px; height: 600px; }
  .pa-300x600 .url.top-url { position: absolute; top: 9px; left: 0; right: 0; text-align: center; font-size: 15px; }
  .pa-300x600 .wave-top { top: 26px; height: 30px; }
  .pa-300x600 .h { position: absolute; left: 18px; right: 14px; top: 72px; font-size: 25px; }
  .pa-300x600 .photo { left: 0; right: 0; top: 184px; height: 222px; background-position: 58% 40%; }
  .pa-300x600 .wave-p1 { top: 172px; height: 34px; }
  .pa-300x600 .wave-p2 { top: 386px; height: 34px; }
  .pa-300x600 .sub { position: absolute; left: 18px; right: 18px; top: 428px; text-align: center; font-size: 14.5px; }
  .pa-300x600 .pace { position: absolute; left: 0; right: 0; top: 474px; text-align: center; font-size: 13px; }
  .pa-300x600 .cta { position: absolute; left: 18px; right: 18px; top: 500px; height: 42px; font-size: 16px; }
  .pa-300x600 .url { position: absolute; left: 0; right: 0; top: 548px; text-align: center; font-size: 17px; }
  .pa-300x600 .from { position: absolute; left: 0; right: 0; top: 574px; text-align: center; font-size: 10.5px; }

  /* 970 x 250 */
  .pa-970 { width: 970px; height: 250px; }
  .pa-970 .photo { top: 0; bottom: 0; right: 0; width: 520px; background-position: 55% 38%; }
  .pa-970 .wave-side { position: absolute; top: 0; left: 418px; width: 130px; height: 250px; }
  .pa-970 .copy { position: absolute; left: 34px; top: 24px; width: 420px; }
  .pa-970 .url { font-size: 14px; color: var(--blue); }
  .pa-970 .h { font-size: 30px; margin-top: 6px; }
  .pa-970 .sub { font-size: 14px; margin-top: 10px; }
  .pa-970 .row { position: absolute; left: 34px; bottom: 22px; display: flex; align-items: center; gap: 16px; }
  .pa-970 .cta { font-size: 15px; height: 40px; padding: 0 22px; }
  .pa-970 .from { font-size: 11.5px; }

  /* 300 x 250 */
  .pa-300x250 { width: 300px; height: 250px; }
  .pa-300x250 .photo { left: 0; right: 0; top: 0; height: 118px; background-position: 58% 36%; }
  .pa-300x250 .wave-b { top: 100px; height: 26px; }
  .pa-300x250 .h { position: absolute; left: 16px; right: 12px; top: 128px; font-size: 18px; }
  .pa-300x250 .pace { position: absolute; left: 16px; top: 176px; font-size: 11.5px; }
  .pa-300x250 .row { position: absolute; left: 16px; right: 16px; bottom: 13px; display: flex; align-items: center; justify-content: space-between; }
  .pa-300x250 .cta { font-size: 12px; height: 31px; padding: 0 13px; }
  .pa-300x250 .url { font-size: 11.5px; }

  /* 728 x 90 */
  .pa-728 { width: 728px; height: 90px; }
  .pa-728 .photo { top: 0; bottom: 0; right: 0; width: 196px; background-position: 58% 34%; }
  .pa-728 .wave-side { position: absolute; top: 0; left: 506px; width: 60px; height: 90px; }
  .pa-728 .copy { position: absolute; left: 20px; top: 14px; width: 318px; }
  .pa-728 .h { font-size: 16.5px; line-height: 1.15; }
  .pa-728 .pace { font-size: 11.5px; margin-top: 4px; }
  .pa-728 .pace b { color: var(--blue); font-weight: 700; }
  .pa-728 .cta { position: absolute; left: 350px; top: 26px; height: 38px; padding: 0 15px; font-size: 12.5px; }

  /* 320 x 100 */
  .pa-320 { width: 320px; height: 100px; }
  .pa-320 .photo { top: 0; bottom: 0; right: 0; width: 118px; background-position: 70% 34%; }
  .pa-320 .wave-side { position: absolute; top: 0; left: 196px; width: 34px; height: 100px; }
  .pa-320 .copy { position: absolute; left: 13px; top: 10px; width: 196px; }
  .pa-320 .h { font-size: 13.5px; line-height: 1.18; }
  .pa-320 .cta { position: absolute; left: 13px; bottom: 10px; height: 26px; padding: 0 12px; font-size: 11px; }

/* ----- placement slots on marriagepolitics.com ----- */
.pa-slot { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.pa-slot .pa-label { font: 500 10px/1 'Switzer', 'Helvetica Neue', Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: oklch(58% 0.02 265); }
.pa-slot .pa { border-radius: 4px; box-shadow: 0 1px 2px rgba(20,28,51,.06), 0 12px 32px -18px rgba(20,28,51,.35); }
.pa-slot--band { padding: 8px var(--gutter, 20px) clamp(48px, 7vw, 96px); }
.pa-slot--band .pa-728, .pa-slot--band .pa-300x250 { display: none; }
@media (max-width: 1019px) { .pa-slot--band .pa-970 { display: none; } .pa-slot--band .pa-728 { display: block; } }
@media (max-width: 779px)  { .pa-slot--band .pa-728 { display: none; } .pa-slot--band .pa-300x250 { display: block; } }
.pa-slot--side { margin-top: 28px; align-items: flex-start; }
.pa-slot--side .pa-label { color: oklch(78% 0.02 85); }
@media (max-width: 860px) { .pa-slot--side { display: none; } }
.pa-slot--foot { margin-top: clamp(40px, 6vw, 72px); }
.pa-slot--foot .pa-320 { display: none; }
@media (max-width: 779px) { .pa-slot--foot .pa-728 { display: none; } .pa-slot--foot .pa-320 { display: block; } }
