/* v2.18.70 — Dynamic Pages CTA + FAQ parity. Not loaded by Services/Homepage. */
/* Coherent heading roles can otherwise override the light-on-dark treatment. */
.custom-page > section.custom-cta.block-bg-dark .custom-cta-inner h2,
.custom-page > section.custom-cta.block-bg-brand .custom-cta-inner h2,
.custom-page > section.page-block.block-bg-dark .dynamic-contact h2,
.custom-page > section.page-block.block-bg-brand .dynamic-contact h2 {color:#fff!important}
/* Media layers sit behind live accessible CTA text/controls. */
.custom-page > section.tb-dp-cta-with-image {position:relative;isolation:isolate;overflow:hidden}
.custom-page > section.tb-dp-cta-with-image .tb-dp-cta-background,
.custom-page > section.tb-dp-cta-with-image .tb-dp-cta-colour-overlay {position:absolute;inset:0;pointer-events:none}
.custom-page > section.tb-dp-cta-with-image .tb-dp-cta-background {z-index:-2}
.custom-page > section.tb-dp-cta-with-image .tb-dp-cta-background img {width:100%;height:100%;object-fit:cover;object-position:center}
.custom-page > section.tb-dp-cta-with-image .tb-dp-cta-background img.tb-dp-cta-focus-top {object-position:center top}
.custom-page > section.tb-dp-cta-with-image .tb-dp-cta-background img.tb-dp-cta-focus-bottom {object-position:center bottom}
.custom-page > section.tb-dp-cta-with-image .tb-dp-cta-background img.tb-dp-cta-focus-left {object-position:left center}
.custom-page > section.tb-dp-cta-with-image .tb-dp-cta-background img.tb-dp-cta-focus-right {object-position:right center}
.custom-page > section.tb-dp-cta-with-image .tb-dp-cta-colour-overlay {z-index:-1;opacity:var(--tb-dp-overlay-alpha,.55);background:var(--brand-dark)}
.custom-page > section.tb-dp-cta-with-image.tb-dp-cta-overlay-brand .tb-dp-cta-colour-overlay{background:var(--brand-primary)}
.custom-page > section.tb-dp-cta-with-image.tb-dp-cta-overlay-light .tb-dp-cta-colour-overlay{background:var(--brand-light)}
/* Hide the old decorative brand circle only when an image is in use. */
.custom-page > section.custom-cta.tb-dp-cta-with-image::after {display:none}
/* The existing panel variant has its own inset surface, retaining readability. */
.custom-page > section.tb-dp-cta-with-image .custom-cta-inner,
.custom-page > section.tb-dp-cta-with-image .dynamic-contact {position:relative;z-index:1}
.custom-page > section.tb-dp-cta-with-image:not(.tb-dp-cta-overlay-light) :is(.custom-cta-inner,.dynamic-contact) p{color:#fff}
.custom-page > section.tb-dp-cta-with-image.tb-dp-cta-overlay-light :is(.custom-cta-inner,.dynamic-contact) p{color:var(--brand-body)}
.custom-page > section.tb-dp-cta-with-image.tb-dp-cta-overlay-light :is(.custom-cta-inner,.dynamic-contact) h2{color:var(--brand-heading)!important}
/* v2.18.71 — FAQ wide alignment applies to BOTH top-heading layouts.
   The previous v2.18.70 rule only matched Stacked, so Centred FAQ sections
   retained their narrower .container and 980px accordion cap. Constrain only
   by normal responsive page gutters; do not force heading alignment changes. */
.custom-page > section.page-block > .container:is(.block-faq-layout--stacked,.block-faq-layout--centered){
 width:calc(100% - 40px);max-width:none;margin-inline:auto;
}
.custom-page > section.page-block > .container:is(.block-faq-layout--stacked,.block-faq-layout--centered) .faq-list{
 width:100%;max-width:none;margin-inline:0;
}
@media(max-width:680px){
 .custom-page > section.page-block > .container:is(.block-faq-layout--stacked,.block-faq-layout--centered){width:calc(100% - 28px)}
}
/* Image with a dark/brand overlay uses light text regardless of base background. */
.custom-page > section.tb-dp-cta-with-image:not(.tb-dp-cta-overlay-light) :is(.custom-cta-inner,.dynamic-contact) h2{color:#fff!important}
