.nxb-page-sections > * { padding-block: var(--nxb-section-space); }
.nxb-page-sections > *:nth-child(even) { background: var(--nxb-colour-surface); }
.nxb-text-image__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: clamp(2.25rem,5vw,4.5rem); }
.nxb-text-image--image-right .nxb-text-image__image { grid-column: 2; }
.nxb-text-image--image-right .nxb-text-image__content { grid-column: 1; grid-row: 1; }
.nxb-text-image__image { width: 100%; height: auto; aspect-ratio: 4/3; border-radius: var(--nxb-radius); object-fit: cover; box-shadow: var(--nxb-shadow-card); }
.nxb-text-image--without-image .nxb-text-image__grid { grid-template-columns: minmax(0,48rem); }
.nxb-full-width-image img { width: 100%; border-radius: var(--nxb-radius); }
.nxb-full-width-image figcaption { margin-top: .65rem; color: var(--nxb-colour-muted); font-size: .85rem; text-align: center; }
.nxb-testimonial { color: #fff; background: var(--nxb-colour-ink) !important; }
.nxb-testimonial blockquote { max-width: 65rem; margin: 0 auto; text-align: center; }
.nxb-testimonial blockquote > p { margin-bottom: 1.25rem; font-size: clamp(1.6rem,4vw,3.2rem); font-weight: 750; line-height: 1.25; }
.nxb-testimonial footer { color: var(--nxb-colour-brand-bright); font-weight: 800; }
.nxb-testimonial footer span { display: block; color: rgba(255,255,255,.65); font-size: .8rem; font-weight: 500; }
.nxb-call-to-action { padding-block: clamp(1.1rem,2vw,1.5rem); color: #fff; background: linear-gradient(110deg,var(--nxb-colour-brand-dark),var(--nxb-colour-brand)) !important; }
.nxb-call-to-action__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.nxb-call-to-action .nxb-section-heading { margin-bottom: .25rem; }
.nxb-call-to-action h2 { margin-bottom: .25rem; color: #fff; font-size: clamp(1.45rem,2.4vw,2.2rem); }
.nxb-call-to-action p { margin: 0; }
.nxb-call-to-action__telephone { color: #fff; font-size: clamp(1.25rem,2.1vw,1.9rem); font-weight: 800; white-space: nowrap; }
.nxb-call-to-action .nxb-button { min-width: 9.5rem; flex: 0 0 auto; white-space: nowrap; }
.nxb-faq__items { max-width: 58rem; margin-inline: auto; border-top: 1px solid var(--nxb-colour-line); }
.nxb-faq__item { border-bottom: 1px solid var(--nxb-colour-line); }
.nxb-faq__item h3 { margin: 0; }
.nxb-faq__item button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.3rem 0; border: 0; color: var(--nxb-colour-ink); background: transparent; font-weight: 800; text-align: left; cursor: pointer; }
.nxb-faq__item button span { position: relative; width: 1rem; height: 1rem; flex: 0 0 auto; }
.nxb-faq__item button span::before, .nxb-faq__item button span::after { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 2px; background: var(--nxb-colour-brand); }
.nxb-faq__item button span::after { transform: rotate(90deg); transition: transform .2s ease; }
.nxb-faq__item button[aria-expanded="true"] span::after { transform: rotate(0); }
.nxb-faq__answer { padding: 0 2.5rem 1.5rem 0; }
@media (max-width: 1024px) { .nxb-text-image__grid { grid-template-columns: 1fr; } .nxb-text-image--image-right .nxb-text-image__image, .nxb-text-image--image-right .nxb-text-image__content { grid-column: auto; grid-row: auto; } .nxb-call-to-action__inner { align-items: center; flex-direction: column; text-align: center; } }
