:root {
  --promo-pair-space: clamp(8.9302px, calc(2.7907vw), 12px);
}

@media (min-width: 430px) {
  :root {
    --promo-pair-space: clamp(12px, calc(8.5941px + 0.7921vw), 20px);
  }
}

@media (min-width: 1440px) {
  :root {
    --promo-pair-space: clamp(20px, calc(1.3889vw), 26.6667px);
  }
}

:root {
  --promo-pair-pad: clamp(8.9302px, calc(2.7907vw), 12px);
}

@media (min-width: 430px) {
  :root {
    --promo-pair-pad: clamp(12px, calc(6.8911px + 1.1881vw), 24px);
  }
}

@media (min-width: 1440px) {
  :root {
    --promo-pair-pad: clamp(24px, calc(1.6667vw), 32px);
  }
}

:root {
  --promo-pair-section: clamp(17.8605px, calc(5.5814vw), 24px);
}

@media (min-width: 430px) {
  :root {
    --promo-pair-section: clamp(24px, calc(17.1881px + 1.5842vw), 40px);
  }
}

@media (min-width: 1440px) {
  :root {
    --promo-pair-section: clamp(40px, calc(2.7778vw), 53.3333px);
  }
}

:root {
  --promo-pair-title: clamp(16.3721px, calc(5.1163vw), 22px);
}

@media (min-width: 430px) {
  :root {
    --promo-pair-title: clamp(22px, calc(19.4455px + 0.5941vw), 28px);
  }
}

@media (min-width: 1440px) {
  :root {
    --promo-pair-title: clamp(28px, calc(1.9444vw), 37.3333px);
  }
}
/* Reusable banner pair: native portal colours and typography. */
.home-promo-pair { padding-block:var(--promo-pair-section); }
.home-promo-pair__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--promo-pair-space); }
.home-promo-pair__grid--single { grid-template-columns:minmax(0,1fr); }
.home-promo-pair__banner { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); align-items:stretch; color:var(--cg-brand-700); background:var(--cg-brand-100); border:1px solid var(--cg-brand-700); text-decoration:none; min-width:0; }
.home-promo-pair__image { margin:0; display:flex; align-items:center; background:var(--cg-white); min-height:0; }
.home-promo-pair__image img { display:block; width:100%; height:100%; aspect-ratio:1; object-fit:contain; }
.home-promo-pair__copy { padding:var(--promo-pair-pad); display:flex; flex-direction:column; justify-content:center; gap:.6em; min-width:0; }
.home-promo-pair__copy h2 { font-family:var(--cg-font-heading); font-size:var(--promo-pair-title); line-height:1.12; margin:0; color:inherit; overflow-wrap:anywhere; }
.home-promo-pair__copy p { margin:0; line-height:1.5; font-size:1rem; }
.home-promo-pair__action { font-family:var(--cg-font-menu); text-decoration:underline; text-underline-offset:.2em; }
.home-promo-pair__banner:hover { background:var(--cg-brand-700); color:var(--cg-white); }
.home-promo-pair__banner:focus-visible { outline:3px solid var(--cg-brand-700); outline-offset:.25em; }
@media(max-width:767px) { .home-promo-pair__grid { grid-template-columns:minmax(0,1fr); } }
