.nxb-banner { position: relative; display: grid; min-height: clamp(22rem, 36vw, 32rem); overflow: hidden; color: #fff; background: var(--nxb-colour-ink); }
.nxb-banner--large { min-height: clamp(27rem, 36vw, 33rem); }
.nxb-banner--compact { min-height: clamp(18rem, 26vw, 24rem); }
.nxb-banner__media, .nxb-banner__media img, .nxb-banner__fade { position: absolute; inset: 0; width: 100%; height: 100%; }
.nxb-banner__media img { object-position: center; }
.nxb-banner__fade { background: linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.76) 34%,rgba(0,0,0,.28) 70%,rgba(0,0,0,.12)),linear-gradient(180deg,rgba(0,0,0,.32),transparent 44%,rgba(0,0,0,.34)); }
.nxb-banner__content { position: relative; z-index: 1; align-self: center; padding-block: clamp(3rem,6vw,5rem); }
.nxb-banner--large .nxb-banner__content { padding-block: clamp(3rem,5vw,4.75rem); }
.nxb-banner--compact .nxb-banner__content { align-self: end; padding-block: clamp(4rem,7vw,6rem) clamp(2.5rem,4vw,3.5rem); }
.nxb-banner h1, .nxb-banner h2 { max-width: 25ch; font-weight:700; margin-bottom: .25em; color: #fff; font-size: clamp(2.65rem,4.25vw,4.4rem); text-transform: uppercase; }
.nxb-banner--compact h1, .nxb-banner--compact h2 { max-width: 24ch; font-size: clamp(2.25rem,4vw,3.8rem); }
.nxb-banner h1 span, .nxb-banner h1 strong, .nxb-banner h2 span, .nxb-banner h2 strong { display: block; }
.nxb-banner h1 strong, .nxb-banner h2 strong { color: var(--nxb-colour-brand-bright); }
.nxb-banner__subtitle { max-width: 42rem; margin: .8rem 0; color: #fff; font-size: clamp(1rem,1.5vw,1.25rem); font-weight: 750; }
.nxb-banner__date { display: block; margin-top: .8rem; color: rgba(255,255,255,.8); font-weight: 700; }
.nxb-banner__body { max-width: 39rem; color: rgba(255,255,255,.9); }
.nxb-banner__body > :last-child { margin-bottom: 0; }
.nxb-banner__actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 1.5rem; }
.nxb-banner__trust { position: absolute; z-index: 2; right: 0; bottom: 0; display: flex; min-width: min(31rem,90%); align-items: center; gap: 1rem; padding: 1.2rem var(--nxb-gutter) 1.2rem 3rem; border-top: 4px solid var(--nxb-colour-brand); color: #fff; background: rgba(5,13,14,.94); clip-path: polygon(12% 0,100% 0,100% 100%,0 100%); }
.nxb-banner__trust > span { display: grid; width: 2.9rem; height: 2.9rem; flex: 0 0 auto; place-items: center; border: 3px solid var(--nxb-colour-brand-bright); border-radius: 50%; font-size: 1.2rem; font-weight: 900; }
.nxb-banner__trust p { margin: 0; text-transform: uppercase; }
.nxb-banner__trust strong, .nxb-banner__trust small { display: block; }
.nxb-banner__trust small { color: var(--nxb-colour-brand-bright); font-size: .85rem; font-weight: 750; }
.nxb-main-content > .nxb-banner { margin-block: 0; }
@media (max-width: 720px) {
    .nxb-banner { min-height: 35rem; }
    .nxb-banner--large { min-height: 35rem; }
    .nxb-banner--compact { min-height: 23rem; }
    .nxb-banner__fade { background: linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.5)),linear-gradient(180deg,rgba(0,0,0,.4),transparent 44%,rgba(0,0,0,.6)); }
    .nxb-banner__content { align-self: center; padding-block: 3.5rem 5.5rem; }
    .nxb-banner__actions { max-width: 23rem; align-items: stretch; flex-direction: column; }
    .nxb-banner__trust { min-width: 100%; padding-left: var(--nxb-gutter); clip-path: none; }
}
