/* Brand presentation sits after the legacy stylesheet; business widgets keep their APIs. */
:root {
    --psp-colour-ink: #0b1b33;
    --psp-colour-footer: #081529;
    --psp-colour-page: #f4f6fa;
    --psp-colour-surface: #fff;
    --psp-colour-surface-muted: #e9edf3;
    --psp-colour-brand-surface: #102746;
    --psp-colour-brand-border: rgba(217,180,91,.25);
    --psp-colour-border: #d9dfe8;
    --psp-colour-text: #0b1b33;
    --psp-colour-text-soft: #536176;
    --psp-colour-text-inverse: #fff;
    --psp-colour-text-inverse-soft: #e2e8f0;
    --psp-colour-action: #d9b45b;
    --psp-colour-action-hover: #e8ca82;
    --psp-colour-link: #785a16;
    --psp-colour-focus: #1672d4;
    --psp-colour-error: #b42318;
    --psp-colour-success: #05603a;
    --psp-font-sans: "Roboto", Arial, sans-serif;
    --psp-container: 1320px;
    --psp-copy-width: 900px;
    --psp-article-header-width: 960px;
    --psp-article-width: 760px;
    --psp-gutter: 48px;
    --psp-header-height: 78px;
    --psp-page-hero-height: 560px;
    --psp-page-hero-padding-top: 176px;
    --psp-page-hero-padding-bottom: 96px;
    --psp-radius: 2px;
    --psp-button-radius: 0;
    --psp-button-height: 48px;
    --psp-image-gold: rgba(195,154,55,.7);
    --psp-image-shade: linear-gradient(0deg,#07162b,#0b1b33a6 60%,#0b1b3326);
    --psp-transition: 180ms ease;
}

html { background: var(--psp-colour-page); scroll-padding-top: 100px; scroll-behavior: auto; }
body.psp-site {
    min-width: 0;
    margin: 0;
    background: var(--psp-colour-page) !important;
    color: var(--psp-colour-text);
    font: 400 16px/1.65 var(--psp-font-sans);
}
.psp-site *, .psp-site *::before, .psp-site *::after { box-sizing: border-box; }
.psp-site button, .psp-site input, .psp-site select, .psp-site textarea { font-family: var(--psp-font-sans); }
.psp-site img { max-width: 100%; }
.psp-site main { padding: 0; }
.psp-site main:focus { outline: none; }
.psp-site :is(h1,h2,h3,h4,h5,h6) {
    font-family: var(--psp-font-sans);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none !important;
    word-break: normal;
    overflow-wrap: break-word;
    margin: 0 0 24px;
    color: inherit;
}
.psp-site h1 { font-size: 64px !important; line-height: 1.05; }
.psp-site h2, .psp-site .h2 { font-size: 44px !important; line-height: 1.1; }
.psp-site h3 { font-size: 28px; line-height: 1.2; }
.psp-site h4 { font-size: 22px; line-height: 1.3; }
.psp-site p, .psp-site li { font-size: 16px; }
.psp-site p { line-height: 1.65; margin: 0 0 20px; }
.psp-site main p { color: inherit !important; }
.psp-site a { transition: color var(--psp-transition), background var(--psp-transition), border-color var(--psp-transition); }
.psp-site main a:not([class]), .psp-site :is(.orange-links,.White-list,.role-content,.sectorContent,.contact-content__copy,.white-links) a {
    color: var(--psp-colour-link) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.psp-site main a:hover { text-decoration-thickness: 2px; }
.psp-site :is(a,button,input,textarea,select,summary,[tabindex]):focus-visible {
    outline: 3px solid var(--psp-colour-focus) !important;
    outline-offset: 4px;
    box-shadow: 0 0 0 2px #fff !important;
}
.psp-site :is(a,button,input,textarea,select,summary,[tabindex]) { scroll-margin-block: 110px 24px; }
.psp-site ::selection { background: var(--psp-colour-action); color: var(--psp-colour-ink); }
.psp-site .skip-link {
    position: fixed;
    top: 12px;
    left: 16px;
    z-index: 1100;
    padding: 12px 18px;
    background: var(--psp-colour-action) !important;
    color: var(--psp-colour-ink) !important;
    transform: translateY(-160%);
}
.skip-link:focus { transform: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Explicit widths prevent Bootstrap's old narrow containers and nested grids colliding. */
.psp-site .container, .psp-site .custom-container {
    width: 100%;
    max-width: var(--psp-container);
    padding-inline: var(--psp-gutter);
    margin-inline: auto;
}
.psp-site main section { padding-block: 96px; }
.psp-site main section section { padding-block: 0; }
.psp-site main .sectorMainSection { padding-block: 0 96px !important; background: var(--psp-colour-page); }
.psp-site main :is(.why-psp,.sectSubSection) { padding-block: 64px; }
.psp-site .sectorContentSection { display: block; }
.psp-site .why-psp :is(.col-xl-3,.col-md-3):has(> img.roles-listing-icon) { display: none; }
.psp-site .why-psp :is(.col-xl-9,.col-md-9) { flex: 0 0 100%; max-width: 100%; }
.psp-site .why-psp .sectorContentSection { margin: 0; }
.psp-site .sectorContent { text-align: left; font-weight: 400; }
.psp-site .it-support-summary { margin-bottom: 32px; }
.psp-site .it-support-summary :is(h2,h3,h4) { color: var(--psp-colour-ink) !important; }
.psp-site .it-support-summary h3 { font-size: 28px; }
.psp-site .sectorContent { max-width: var(--psp-copy-width); }
.psp-site main .padding-for-header { padding-top: 174px; }
.psp-site :is(.rhombus-bar,.transform-up,.bottom-left-segment,.bottom-right-segment,.corner-triangle) { display: none !important; }
.psp-site .break-line { height: 1px; background: var(--psp-colour-border); }

/* Keep dark surfaces dark and reset legacy white utilities only inside light content. */
.psp-site main :is(.white,.text-white), .psp-site main .text-white :is(h1,h2,h3,h4,p),
.psp-site main :is(.role-content,.role-quote,.new-section,.infographic,.White-list,.question-section) :is(p,li,span,em) {
    color: var(--psp-colour-text) !important;
}
.psp-site main :is(.bg-blue,.bg-green,.bg-grey,.bg-dark,.bg-darker,.functional-section,.psp-question-section,.new-section) {
    background: var(--psp-colour-page) !important;
    color: var(--psp-colour-text);
}
.psp-site main :is(.orange-paragraph,.orange-hyperlink,.role-content em) { color: var(--psp-colour-link) !important; }

.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    background: rgba(11,27,51,.94);
    border-bottom: 1px solid rgba(255,255,255,.13);
    backdrop-filter: blur(12px);
    color: #fff;
}
.site-header__inner {
    max-width: var(--psp-container);
    min-height: var(--psp-header-height);
    padding-inline: var(--psp-gutter);
    margin: auto;
    display: flex;
    align-items: center;
    gap: 28px;
}
.site-header__logo { display: block; flex-shrink: 0; line-height: 0; }
.site-header__logo img { width: 128px; height: auto; }
.site-nav { margin-left: auto; }
.site-nav__list, .site-nav__dropdown, .side-menu-links, .site-footer__nav ul { list-style: none; margin: 0; padding: 0; }
.site-nav__list { display: flex; align-items: center; gap: 4px; }
.site-nav__item { position: relative; }
.site-nav__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 10px;
    border: 0;
    background: transparent;
    color: #e5e9f0 !important;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
    text-decoration: none !important;
    cursor: pointer;
}
.site-nav__item.active > .site-nav__link, .site-nav__link:hover, .site-nav__item.open > .site-nav__link { color: var(--psp-colour-action) !important; }
.psp-site .nav-dropdown-toggle::after { content: none; }
.psp-site .nav-dropdown-toggle .la { margin-left: 8px; font-size: 16px; color: currentColor !important; }
.site-nav__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 260px;
    padding: 12px;
    display: none;
    background: var(--psp-colour-ink);
    border: 1px solid #42506a;
    border-radius: 2px;
    box-shadow: 0 16px 32px #0003;
}
.site-nav__item.open > .site-nav__dropdown { display: block; }
.site-nav__dropdown a { display: block; padding: 12px; color: #fff !important; font-size: 14px; text-decoration: none !important; }
.site-nav__dropdown a:hover, .site-nav__dropdown a:focus-visible { background: #ffffff12; color: var(--psp-colour-action) !important; }
.site-header__actions { display: flex; align-items: center; gap: 12px; }
.psp-site :is(.site-header__cta,.side-menu__cta,.btn-primary,.btn-style-1,.submit-btn,a.case-study-btn,.accordion-button) {
    min-height: var(--psp-button-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 20px;
    border: 1px solid var(--psp-colour-action);
    border-image: none;
    border-radius: var(--psp-button-radius);
    background: var(--psp-colour-action) !important;
    color: var(--psp-colour-ink) !important;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
    text-decoration: none !important;
}
.psp-site .site-header__actions .site-header__cta { height: 44px; min-height: 44px; padding: 0 16px; white-space: nowrap; }
.psp-site .button-icon { flex: 0 0 16px; width: 16px; height: 16px; margin: 0 !important; padding: 0; font-size: 16px; line-height: 16px; color: currentColor !important; }
.psp-site a.accordion-button::after { content: none; }
.psp-site :is(.site-header__cta,.side-menu__cta,.btn-primary,.btn-style-1,.submit-btn,a.case-study-btn,.accordion-button):hover { background: var(--psp-colour-action-hover) !important; border-color: var(--psp-colour-action-hover); }
.psp-site :is(.btn-primary,.submit-btn):disabled { opacity: .6; cursor: not-allowed; }
.psp-site .case-studies-button { padding: 0; border: 0; background: transparent; }
.psp-site .submit-btn i { color: currentColor !important; }
.site-menu-toggle, .site-menu-close { width: 44px; height: 44px; border: 1px solid #ffffff50; border-radius: var(--psp-button-radius); background: transparent; color: #fff; align-items: center; justify-content: center; cursor: pointer; }
.site-menu-toggle { display: none; }
.site-menu-close { display: inline-flex; }
.psp-site .site-menu-toggle .nav-icon, .psp-site .site-menu-close i { font-size: 22px !important; padding: 0; color: inherit !important; }
.psp-site .overlay-div { z-index: 1000; }
.psp-site .overlay-div.overlay-black { background: #081529b3; }
.psp-site .side-menu { width: min(420px,100%); height: 100dvh; padding: 24px; z-index: 1001; background: var(--psp-colour-ink); transform: translateX(100%); visibility: hidden; overflow-y: auto; transition: transform var(--psp-transition); }
.psp-site .side-menu.open { width: min(420px,100%); transform: none; visibility: visible; }
.side-menu__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 32px; }
.side-menu__logo img { width: 128px; height: auto; }
.psp-site .side-menu__nav { height: auto; overflow: visible; }
.psp-site .side-menu-links { height: auto; }
.psp-site .side-menu-links .nav-item { position: relative; z-index: auto; border-top: 1px solid #ffffff26; }
.psp-site .side-menu-links .nav-link { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 14px 0; border: 0; background: transparent; color: #fff !important; font: 600 17px/1.4 var(--psp-font-sans); text-align: left; text-decoration: none !important; }
.psp-site .side-menu-links .dropdown-menu { position: static; display: none; float: none; margin: 0; padding: 0 0 16px 16px; background: transparent; border: 0; }
.psp-site .side-menu-links .dropdown.open > .dropdown-menu { display: block; }
.psp-site .side-menu-links .dropdown-menu .nav-item { margin: 0; border: 0; }
.psp-site .side-menu-links .dropdown-menu .nav-link { font-size: 15px; }
.side-menu__cta { width: 100%; margin-top: 24px; }

/* Hero content uses normal flow, not absolute titles in half-width nested columns. */
.psp-site main .home-banner { height: auto; padding: 0 !important; background: var(--psp-colour-ink); color: #fff; }
.psp-site .home-banner-lead { position: relative; height: auto; }
.psp-site .page-banner-lead { height: auto; }
/* A shared minimum aligns page heroes without clipping wrapped titles or zoomed text. */
.psp-site main :is(.home-banner-lead,.page-banner-lead,.brochure-intro,.contact-intro,.standard-page__header,.editorial-detail__header) {
    min-height: var(--psp-page-hero-height);
    padding: var(--psp-page-hero-padding-top) 0 var(--psp-page-hero-padding-bottom);
    display: flex;
    align-items: center;
}
.psp-site.page-sectorDocumentType .why-psp { max-width: var(--psp-container); margin: auto; padding-inline: var(--psp-gutter); }
.psp-site.page-sectorDocumentType .why-psp .col-md-9 { padding-inline: 0 !important; }
.psp-site .home-banner-lead .video { position: absolute; inset: 0; min-width: 0; width: 100%; min-height: 0; max-height: none; height: 100%; overflow: hidden; }
.psp-site .banner-image { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.psp-site .banner-image:not([src]), .psp-site .banner-image[src=""] { display: none; }
.psp-site .video { isolation: isolate; }
.psp-site .video .banner-image { filter: grayscale(1) contrast(1.25); }
.psp-site .video:has(> .banner-image[src]:not([src=""]))::before {
    content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: var(--psp-image-gold); mix-blend-mode: color;
}
.psp-site .video-overlay { display: block; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(90deg,#07162bf2,#0b1b33b3 65%,#0b1b3359); opacity: 1; }
.psp-site .brand-image { position: relative; isolation: isolate; overflow: hidden; }
.psp-site .brand-image > img { display: block; filter: grayscale(1) contrast(1.25); }
.psp-site .brand-image::before, .psp-site .brand-image::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.psp-site .brand-image::before { z-index: 1; background: var(--psp-image-gold); mix-blend-mode: color; }
.psp-site .brand-image::after { z-index: 2; background: var(--psp-image-shade); opacity: .55; }
.psp-site .home-banner-lead > .container { position: relative; inset: auto; transform: none; z-index: 1; }
.psp-site .hr-box { display: block; margin: 0; text-align: left !important; }
.psp-site .hr-box > div:first-child { display: none; }
.psp-site .hr-box > .position-relative { width: 100%; max-width: 850px; padding: 0; flex: none; }
.psp-site :is(.banner-logo-container,.roles-banner-logo,img.banner-logo) { display: none !important; }
.psp-site #mainTitle { position: static; display: block; top: auto; transform: none; padding: 0 !important; margin: 0; width: 100%; }
.psp-site #mainTitle, .psp-site #mainTitle :is(h1,p,span), .psp-site h1#mainTitle {
    font-size: 72px !important;
    font-weight: 600 !important;
    line-height: .98 !important;
    letter-spacing: 0;
    color: #fff !important;
    text-shadow: none !important;
    text-transform: none !important;
    text-align: left !important;
    word-break: normal;
    overflow-wrap: normal;
    margin: 0;
}
.psp-site #mainTitle :is(strong,em), .psp-site h1#mainTitle strong { font-size: inherit !important; font-weight: inherit !important; font-style: normal; color: var(--psp-colour-action) !important; }
.psp-site.page-homeDocumentType .home-banner-lead { min-height: 760px; }
.psp-site.page-homeDocumentType .hr-box > .position-relative { max-width: 930px; }

/* Home sectors use the brand's white statistics-band treatment and gold accents. */
.psp-site .home-banner > .row { width: 100%; max-width: var(--psp-container); margin: auto; padding-inline: var(--psp-gutter); background: #fff; }
.psp-site .home-banner:has(> .row) { background: #fff; }
.psp-site .home-banner > .row > div { border-right: 1px solid var(--psp-colour-border); }
.psp-site .home-banner > .row > div:last-of-type { border: 0; }
.psp-site .overlay-background-color { background: #fff !important; }
.psp-site .sector-content { position: relative; padding: 36px 28px; text-align: left; color: var(--psp-colour-ink); }
.psp-site .sector-content .small-image { width: 36px; height: 36px; object-fit: contain; margin: 0 0 20px; filter: none; }
.psp-site .sector-content h2 { font-size: 26px !important; color: var(--psp-colour-ink); margin-bottom: 12px; }
.psp-site .sector-content p { color: var(--psp-colour-text-soft); margin-bottom: 0; }
.psp-site .sector-content:hover h2 { color: var(--psp-colour-link); }
.psp-site main :is(.bg-blue,.bg-green) { padding-block: 80px; }
.psp-site :is(.bg-blue,.bg-green) > .row { max-width: var(--psp-container); padding-inline: var(--psp-gutter); margin-inline: auto; background: transparent; border: 0; text-align: left !important; }
.psp-site :is(.box-padding,.box-padding-secondary) { padding: 32px 56px 32px 0; }
.psp-site :is(.max-height-400,.welcome-image) { max-height: none; height: auto; }
.psp-site .welcome-image { display: block; min-height: 360px; padding: 0; }
.psp-site .home-image { display: block; width: 100%; height: 360px; object-fit: cover; }
.psp-site .welcome-title { display: block; margin-bottom: 28px; }
.psp-site .welcome-title :is(h4,p) { font-size: 44px !important; line-height: 1.1; font-weight: 600; margin-bottom: 16px; color: var(--psp-colour-ink) !important; }
.psp-site .welcome-title h3 { font-size: 18px; color: var(--psp-colour-ink) !important; }
.psp-site :is(.welcome-title,.it-support-summary) :is(strong,em) { color: var(--psp-colour-action); font-style: normal; }
.psp-site :is(.welcome-content,.secondary-content) { display: block; font-weight: 400; }
.psp-site main .home-welcome { background: var(--psp-colour-ink) !important; color: var(--psp-colour-text-inverse); --psp-colour-link: var(--psp-colour-text-inverse); }
.psp-site .home-welcome :is(.welcome-title,.welcome-content), .psp-site .home-welcome .welcome-title :is(h2,h3,h4,p) { color: var(--psp-colour-text-inverse) !important; }
.psp-site .home-welcome a:hover { color: var(--psp-colour-action-hover) !important; }
/* One grid aligns the welcome media with the three service slots below it. */
.psp-site .home-welcome__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.psp-site .home-welcome__copy { grid-column: span 2; min-width: 0; align-self: center; }
.psp-site .home-welcome__grid:not(:has(> .welcome-image)) .home-welcome__copy { grid-column: 1 / -1; }
.psp-site .home-welcome__grid > .welcome-image { min-width: 0; min-height: 420px; }
.psp-site .home-welcome__grid > .welcome-image.brand-image { border: 1px solid #ffffff26; }
.psp-site .home-welcome__grid > .welcome-image.brand-image::after { opacity: 1; }
.psp-site .home-welcome__grid > .welcome-image > .home-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.psp-site .home-service-card { display: flex; flex-direction: column; min-width: 0; min-height: 420px; margin: 0; border: 1px solid #ffffff26; border-radius: 0; background: var(--psp-colour-brand-surface); transition: border-color var(--psp-transition); }
.psp-site .home-service-card > img { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; }
.psp-site .home-service-card::after { opacity: 1; }
.psp-site .home-service-card__grid { position: absolute; inset: 0; z-index: 3; pointer-events: none; opacity: .3; background-image: linear-gradient(#c9d3e014 1px,transparent 1px),linear-gradient(90deg,#c9d3e014 1px,transparent 1px); background-size: 40px 40px; }
.psp-site .home-service-card__content { position: relative; z-index: 4; display: flex; flex: 1; flex-direction: column; justify-content: flex-end; padding: 32px; }
.psp-site .home-service-card .home-service-card__title { margin: 0 0 40px; color: var(--psp-colour-text-inverse); font-size: 30px !important; line-height: 1.05; }
.psp-site .home-service-card__title a { color: inherit !important; text-decoration: none !important; }
/* Stretch the title's native link over the card without introducing nested controls. */
.psp-site .home-service-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 5; }
.psp-site .home-service-card__bottom { display: flex; align-items: flex-end; gap: 20px; color: var(--psp-colour-text-inverse-soft); }
.psp-site .home-service-card__bottom p { flex: 1; min-width: 0; margin: 0; font-size: 14px; line-height: 1.5; }
.psp-site .home-service-card__arrow { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; margin-left: auto; border: 1px solid #ffffff59; color: var(--psp-colour-action); transition: background var(--psp-transition), color var(--psp-transition); }
.psp-site .home-service-card:has(a):is(:hover,:focus-within) { border-color: var(--psp-colour-action); }
.psp-site .home-service-card:has(a):is(:hover,:focus-within) .home-service-card__arrow { background: var(--psp-colour-action); color: var(--psp-colour-ink); border-color: var(--psp-colour-action); }
.psp-site .home-service-card:has(a:focus-visible) { outline: 3px solid var(--psp-colour-focus); outline-offset: 4px; }
@media (max-width: 1023px) {
    .psp-site .home-welcome__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .psp-site .home-welcome__grid { grid-template-columns: minmax(0,1fr); }
    .psp-site .home-welcome__copy { grid-column: auto; }
    .psp-site .home-service-card__content { padding: 24px; }
    .psp-site .home-service-card .home-service-card__title { font-size: 28px !important; }
}
.psp-site .welcome-image--video { min-height: 0; }
.psp-site .welcome-video [hidden] { display: none !important; }
.psp-site .welcome-video { display: flex; flex-direction: column; height: 100%; }
.psp-site .welcome-video__frame { position: relative; flex: 1; width: 100%; min-height: 420px; overflow: hidden; border: 1px solid #ffffff26; background: var(--psp-colour-footer); }
.psp-site .welcome-video__preview { position: absolute; inset: 0; }
.psp-site .welcome-video__preview::after { opacity: 1; }
.psp-site .welcome-video__preview img { width: 100%; height: 100%; object-fit: cover; }
.psp-site .welcome-video__preview img.welcome-video__brand { object-fit: contain; padding: 15%; filter: none; }
.psp-site .welcome-video__player { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.psp-site .welcome-video__play { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; width: 100%; height: 100%; padding: 32px; border: 0; border-radius: 0; background: transparent; color: var(--psp-colour-text-inverse); text-align: left; cursor: pointer; }
.psp-site .welcome-video__description { min-width: 0; font-size: 14px; line-height: 1.5; color: var(--psp-colour-text-inverse-soft); }
.psp-site .welcome-video__icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border: 1px solid var(--psp-colour-action); border-radius: 50%; background: var(--psp-colour-action); color: var(--psp-colour-ink); transition: background var(--psp-transition), border-color var(--psp-transition); }
.psp-site .welcome-video__play:is(:hover,:focus-visible) .welcome-video__icon { background: var(--psp-colour-action-hover); border-color: var(--psp-colour-action-hover); }
.psp-site .welcome-video__play i { color: inherit !important; font-size: 32px; margin: 0; }
.psp-site .welcome-video__play:focus-visible { outline-offset: -5px !important; }
.psp-site .welcome-video__player:fullscreen { position: fixed; width: 100%; height: 100%; background: #000; object-fit: contain; }
.psp-site .welcome-video__player:-webkit-full-screen { position: fixed; width: 100%; height: 100%; background: #000; object-fit: contain; }
@media (max-width: 767px) {
    .psp-site .welcome-video__play { padding: 24px; }
}
.psp-site .welcome-video__status { margin: 0; color: var(--psp-colour-text-inverse-soft); font-size: 14px; }
.psp-site .welcome-video__status:not(:empty) { margin-top: 12px; }
.psp-site .welcome-video__fallback { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--psp-colour-text-inverse) !important; text-decoration: underline; }
.psp-site .bg-green .box-padding-secondary { padding-left: 64px; padding-right: 0; }
.psp-site main .bg-grey { background: var(--psp-colour-surface-muted) !important; }

/* Shared listing cards: one frame, full-width content, independent card typography. */
.psp-site :is(#NewsListingContainer,#LatestNewsContainer,#CaseStudyListingContainer) {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
    width: 100%;
    max-width: var(--psp-container);
    margin: 0 auto;
    padding: 0 var(--psp-gutter);
}
.psp-site :is(#NewsListingContainer,#LatestNewsContainer) { padding-inline: 0; }
.psp-site :is(#NewsListingContainer,#LatestNewsContainer,#CaseStudyListingContainer) > div:not(.hidden) {
    width: 100%; max-width: none; padding: 0; margin: 0; min-width: 0;
}
.psp-site .client-item-content h2,
.psp-site .news-item-content h4,
.psp-site .news-item-content.blog h2.white.blogItemTitle {
    position: static; height: auto; min-height: 0; padding: 0; margin: 0 0 16px;
    font-size: 26px !important; line-height: 1.2; font-weight: 600;
    color: var(--psp-colour-ink) !important; text-align: left !important; text-transform: none !important;
    word-break: normal; overflow-wrap: break-word;
}
.psp-site .client-headline h2::after { display: none; }
.psp-site .icon-image-container { width: 100%; height: 88px; margin-bottom: 28px; }
.psp-site .icon-image { width: 72px; height: 72px; padding: 0; object-fit: contain; filter: none; }
.psp-site .news-item { display: block; margin: 0; height: 100%; background: #fff; border: 1px solid var(--psp-colour-border); border-radius: var(--psp-radius); overflow: hidden; text-decoration: none; box-shadow: none; }
.psp-site .news-item:hover { border-color: #9b7a2c; box-shadow: none; }
.psp-site .news-item img { display: block; width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; }
.psp-site .news-item.service-item img.icon-image { width: 72px; height: 72px; aspect-ratio: 1; object-fit: contain; }
.psp-site #LatestNewsContainer { grid-template-columns: repeat(4,minmax(0,1fr)); }
.psp-site .news-item-content { padding: 28px; margin: 0; }
.psp-site .news-item-content h4 { font-size: 22px !important; margin: 0; }
.psp-site .news-item-inner { display: flex; flex-direction: column; height: 100%; }
.psp-site .news-item-content.blog { position: static; display: block; height: auto; padding: 28px; background: #fff !important; flex: 1; }
.psp-site .news-item-content.blog::after { display: none; }
.psp-site .news-item-content.blog .news-date { position: static; padding: 0; margin: 24px 0 0; font-size: 14px; color: var(--psp-colour-text-soft); }
.psp-site :is(.over-section,.over-section-2,#BlogListingContainer) { transform: none; margin-bottom: 0; }
.psp-site main .over-section { padding-top: 64px !important; }
.psp-site #BlogCarouselListingContainer { display: block; margin: 0; }
.psp-site .swiper-slide > .container { padding: 0; }
.psp-site .swiper-slide > .container > .row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 0; }
.psp-site .swiper-slide > .container > .row > div { width: 100%; max-width: none; padding: 0 !important; min-width: 0; }
.psp-site .roles-quote-colour { height: 100%; }
/* Editorial listings use the reference news grid and square, edge-to-edge media. */
.psp-site .editorial-listing { padding-block: 96px !important; }
.psp-site :is(#NewsListingPage,#CaseStudyListingPage) { padding-bottom: 0 !important; }
.psp-site :is(.editorial-grid,#NewsListingContainer,#CaseStudyListingContainer) {
    display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px;
    width: 100%; margin: 0; padding: 0; align-items: stretch;
}
.psp-site .editorial-card { min-width: 0; height: 100%; background: var(--psp-colour-surface); border: 1px solid var(--psp-colour-border); transition: border-color var(--psp-transition); }
.psp-site .editorial-card:hover, .psp-site .editorial-card:focus-within { border-color: var(--psp-colour-action); }
.psp-site .editorial-card__link { display: flex; flex-direction: column; height: 100%; color: var(--psp-colour-ink); text-decoration: none !important; }
.psp-site .editorial-card__image { width: 100%; aspect-ratio: 410 / 290; overflow: hidden; background: var(--psp-colour-surface); }
.psp-site .editorial-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.psp-site .editorial-card__body { padding: 32px 32px 0; }
.psp-site .editorial-card__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; color: var(--psp-colour-link); font-size: 12px; font-weight: 700; line-height: 1.4; text-transform: uppercase; }
.psp-site .editorial-card__meta :is(time,.editorial-card__date) { color: var(--psp-colour-text-soft); }
.psp-site h2.editorial-card__title { margin: 28px 0 24px; font-size: 24px !important; font-weight: 600; line-height: 1.08; color: var(--psp-colour-ink) !important; text-align: left; text-transform: none; }
.psp-site .editorial-card__footer { margin: auto 32px 32px; padding-top: 32px; }
.psp-site .editorial-card__footer > span { display: flex; justify-content: flex-end; align-items: center; gap: 8px; min-height: 35px; padding-top: 20px; border-top: 1px solid var(--psp-colour-border); color: var(--psp-colour-ink); font-size: 12px; font-weight: 700; line-height: 1.4; text-transform: uppercase; }
.psp-site .editorial-card__footer .button-icon { font-size: 16px; }
.psp-site .blog-carousel-pagination { position: relative; transform: none; width: max-content !important; max-width: 100%; margin: 40px auto 0; min-height: 44px; padding: 0; gap: 4px; }
.psp-site .blog-carousel-pagination button { flex: 0 0 44px; width: 44px !important; height: 44px !important; padding: 0; border: 1px solid var(--psp-colour-border); border-radius: var(--psp-button-radius); background: var(--psp-colour-surface); color: var(--psp-colour-ink); }
.psp-site .blog-carousel-pagination button:hover { background: var(--psp-colour-action); border-color: var(--psp-colour-action); }
.psp-site .blog-carousel-pagination .swiper-navigation-icon { display: none; }
.psp-site .blog-carousel-pagination .swiper-pagination { display: flex; align-items: center; gap: 4px; width: auto; }
.psp-site .blog-carousel-pagination :is(.swiper-button-prev,.swiper-button-next)::after { font-family: "LineAwesome" !important; font-weight: 400 !important; font-size: 20px; }
.psp-site .blog-carousel-pagination .swiper-button-prev::after { content: "\f111" !important; }
.psp-site .blog-carousel-pagination .swiper-button-next::after { content: "\f112" !important; }
.psp-site .blog-carousel-pagination .swiper-pagination-bullet { position: relative; flex: 0 0 28px; width: 28px; height: 28px; margin: 0 !important; background: transparent; opacity: 1; }
.psp-site .blog-carousel-pagination .swiper-pagination-bullet::after { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: var(--psp-colour-text-soft); }
.psp-site .blog-carousel-pagination .swiper-pagination-bullet-active::after { background: var(--psp-colour-link); }
/* Service and role cards share the reference's navy process-card presentation. */
.psp-site .capability-list { width: 100%; max-width: var(--psp-container); margin: 0 auto; }
.psp-site.page-sectorDocumentType .capability-list { padding-inline: var(--psp-gutter); }
.psp-site .capability-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; width: 100%; margin: 0; padding: 0; align-items: stretch; }
.psp-site .capability-card { min-width: 0; border: 1px solid #ffffff26; border-radius: 0; background: var(--psp-colour-ink); transition: border-color var(--psp-transition); }
.psp-site .capability-card:hover, .psp-site .capability-card:focus-within { border-color: var(--psp-colour-action); }
.psp-site .capability-card__link { display: flex; flex-direction: column; height: 100%; color: var(--psp-colour-text-inverse); text-decoration: none !important; }
.psp-site .capability-card__media { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 410 / 290; overflow: hidden; background: var(--psp-colour-brand-surface); border-bottom: 1px solid var(--psp-colour-brand-border); }
.psp-site .capability-card__media > i { font-size: 32px; color: var(--psp-colour-action) !important; opacity: .65; }
.psp-site .capability-card__media > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
/* Legacy sector service styles inset images; capability artwork must fill its frame. */
.psp-site #ServiceItemsContainer .capability-card__media { backdrop-filter: none; }
.psp-site #ServiceItemsContainer .capability-card__media > img { clip-path: none; }
.psp-site .capability-card__media--icon { background: var(--psp-colour-surface); }
.psp-site .capability-card__media--icon > img { object-fit: contain; padding: 32px; }
.psp-site .capability-card__body { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.psp-site .capability-card__number { font-size: 10px; line-height: 1.4; color: var(--psp-colour-action); }
.psp-site :is(h2,h3).capability-card__title { margin: 12px 0 24px; font-size: 24px !important; line-height: 1.05; font-weight: 600; color: var(--psp-colour-text-inverse) !important; text-align: left; }
.psp-site .capability-card__summary { margin: 12px 0 14px; font-size: 14px; line-height: 1.4; color: var(--psp-colour-text-inverse-soft) !important; }
.psp-site .capability-card__arrow { display: flex; justify-content: flex-end; margin-top: auto; padding-top: 12px; color: var(--psp-colour-action); }
@media (max-width: 1023px) {
    .psp-site .capability-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 599px) {
    .psp-site .capability-grid { grid-template-columns: minmax(0,1fr); }
}
.psp-site .capability-list__actions { display: flex; justify-content: center; margin-top: 32px; }
.psp-site .capability-list__toggle { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 148px; min-height: var(--psp-button-height); padding: 12px 24px; border: 1px solid var(--psp-colour-action); border-radius: var(--psp-button-radius); background: var(--psp-colour-action); color: var(--psp-colour-ink); font-size: 14px; line-height: 1.4; font-weight: 700; cursor: pointer; transition: background var(--psp-transition); }
.psp-site .capability-list__toggle:hover { background: var(--psp-colour-action-hover); border-color: var(--psp-colour-action-hover); }
.psp-site .capability-list__toggle i { flex: 0 0 16px; width: 16px; font-size: 16px; line-height: 16px; color: currentColor !important; }
.psp-site :is(.capability-card,.capability-list__toggle)[hidden] { display: none !important; }
.psp-site:is(.page-sectorDocumentType,.page-roleListingDocumentType,.page-serviceListingDocumentType) main #NewsListingPage.sectorMainSection { padding-bottom: 96px !important; background: var(--psp-colour-surface-muted); }
@media (max-width: 767px) {
    .psp-site:is(.page-sectorDocumentType,.page-roleListingDocumentType,.page-serviceListingDocumentType) main #NewsListingPage.sectorMainSection { padding-bottom: 64px !important; }
}

/* Customer logos remain intact; remove old overlapping badges and multi-colour tiles. */
.psp-site .sector-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 40px; }
.psp-site .sector-filter[hidden], .psp-site .customer-card[hidden] { display: none !important; }
.psp-site .sector-filter__option { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; max-width: 100%; padding: 9px 18px; border: 1px solid var(--psp-colour-border); border-radius: 0; background: var(--psp-colour-surface); color: var(--psp-colour-ink); font-size: 14px; line-height: 1.4; font-weight: 700; text-align: center; cursor: pointer; transition: border-color var(--psp-transition), background var(--psp-transition); }
.psp-site .sector-filter__option:hover { border-color: var(--psp-colour-ink); background: var(--psp-colour-surface-muted); }
.psp-site .sector-filter__option[aria-pressed="true"] { border-color: var(--psp-colour-action); background: var(--psp-colour-ink); color: var(--psp-colour-text-inverse); }
@media (max-width: 767px) {
    .psp-site .sector-filter__option { min-height: 44px; }
}
.psp-site #CaseStudyListingContainer > div { margin: 0 !important; }
.psp-site .client-item { display: flex; flex-direction: column; height: 100%; padding: 28px; background: #fff !important; border: 1px solid var(--psp-colour-border); }
.psp-site .client-image { display: block; position: static; margin: 0 0 24px; transform: none; width: 100%; max-width: none; height: 96px; aspect-ratio: auto; border-radius: 0; overflow: visible; }
.psp-site .client-item { margin-bottom: 0; }
.psp-site .client-strapline { text-align: left; }
.psp-site .client-image-inner { display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 96px; margin: 0; border-radius: 0; background: #fff; transform: none; }
.psp-site .client-image-inner img { position: static; width: auto; max-width: 170px; max-height: 88px; height: auto; object-fit: contain; transform: none; }
.psp-site a.client-name { color: var(--psp-colour-ink) !important; }
.psp-site .client-item-content.client-headline { padding: 0; height: auto; }
.psp-site .client-item-content.client-headline h2 { padding: 0; }
.psp-site .client-item-bottom { height: auto; margin: auto 0 0; color: var(--psp-colour-text-soft); }
.psp-site .client-sector, .psp-site .client-sector a { color: var(--psp-colour-text-soft) !important; text-align: left; }
.psp-site .client-quote-wrapper { height: auto; margin-top: 16px; border-top: 1px solid var(--psp-colour-border); }
.psp-site .client-quote-wrapper summary { min-height: 44px; padding-block: 10px; cursor: pointer; font-size: 14px; }
.psp-site .client-quote, .psp-site .client-quote:hover { width: 100%; max-height: none; top: auto; left: auto; padding: 12px 0; margin: 0; background: transparent; text-align: left; border-radius: 0; }
.psp-site .client-quote::before, .psp-site .client-quote::after { display: none; }
.psp-site .listing-intro { padding-block: 64px 0; }
.psp-site .listing-intro__copy { max-width: var(--psp-copy-width); }
.psp-site .listing-intro__copy > :last-child { margin-bottom: 0; }
.psp-site .listing-intro .roles-listing-icon { display: none; }

/* Customer directory follows the reference's logo-first, six-column cards. */
.psp-site .customer-directory { background: var(--psp-colour-ink); color: #c9d3e0; }
.psp-site .customer-directory .text-white, .psp-site .customer-directory .text-white :is(h1,h2,h3,h4,p) { color: inherit !important; }
.psp-site .customer-directory .listing-intro { padding-block: 0; margin-bottom: 48px; }
.psp-site .customer-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; align-items: start; }
.psp-site .customer-card { display: flex; flex-direction: column; min-width: 0; height: 100%; background: var(--psp-colour-brand-surface); border: 1px solid var(--psp-colour-brand-border); }
.psp-site .customer-card:has(a.customer-card__main):hover, .psp-site .customer-card:focus-within { border-color: var(--psp-colour-action); }
.psp-site .customer-card__main { display: block; color: #fff !important; text-decoration: none !important; }
.psp-site .customer-card__logo { display: flex; align-items: center; justify-content: center; height: 226px; padding: 20px; background: #fff; }
.psp-site .customer-card__logo img { display: block; width: 100%; height: 160px; max-height: 100%; object-fit: contain; filter: none; }
.psp-site .customer-card__caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 76px; padding: 12px 16px 0; }
.psp-site .customer-card__copy { flex: 1; min-width: 0; color: #c9d3e0; }
.psp-site .customer-card__caption h2 { overflow: hidden; margin: 0 0 8px; font-size: 16px !important; line-height: 20px; font-weight: 600; color: #fff; white-space: nowrap; text-overflow: ellipsis; }
.psp-site .customer-card__caption p { margin: 0; font-size: 12px; line-height: 16px; overflow-wrap: anywhere; }
.psp-site .customer-card__arrow { display: inline-flex; flex: 0 0 28px; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid #d9b45b8c; color: var(--psp-colour-action); }
.psp-site .customer-card__arrow i { font-size: 16px; transform: rotate(-45deg); color: inherit !important; }
.psp-site .customer-card__sector { margin-top: auto; padding: 4px 16px 12px; font-size: 12px; line-height: 16px; color: #c9d3e0; overflow-wrap: anywhere; }
.psp-site .customer-card__sector a { display: inline-flex; align-items: center; min-height: 24px; color: inherit !important; text-decoration: underline; }
.psp-site .customer-card__feedback { margin: 0 16px 12px; border-top: 1px solid var(--psp-colour-brand-border); color: #c9d3e0; font-size: 12px; }
.psp-site .customer-card__feedback summary { min-height: 44px; padding-block: 12px; cursor: pointer; }
.psp-site .customer-card__feedback > div { padding-block: 8px; overflow-wrap: anywhere; }

.psp-site .brochure-intro { position: relative; isolation: isolate; margin-top: 0; border-bottom: 1px solid var(--psp-colour-brand-border); background: var(--psp-colour-ink); color: var(--psp-colour-text-inverse); }
.psp-site .brochure-intro__image { position: absolute; inset: 0; z-index: -1; }
.psp-site .brochure-intro__image > img { width: 100%; height: 100%; object-fit: cover; }
.psp-site .brochure-intro__image::after { background: linear-gradient(90deg,#07162bf2,#0b1b33d9 65%,#0b1b33c9); opacity: 1; }
.psp-site .brochure-intro__layout { display: grid; grid-template-columns: 1.15fr 1fr; align-items: end; gap: 64px; }
.psp-site .brochure-intro h1 { max-width: 600px; margin: 0; font-size: 56px !important; line-height: 1.08; }
.psp-site .brochure-intro p { max-width: 500px; margin: 0; color: var(--psp-colour-text-inverse-soft) !important; }
.psp-site .brochure-library { padding-block: 56px 80px; }
.psp-site #BrochureListingContainer { margin: 0; }
.psp-site .brochure-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.psp-site .brochure-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--psp-colour-border); background: var(--psp-colour-surface); }
.psp-site .brochure-card__media { display: grid; place-items: center; padding: 32px; background: var(--psp-colour-surface-muted); border-bottom: 1px solid var(--psp-colour-border); }
.psp-site #BrochureListingContainer ._df_thumb { width: min(240px,100%) !important; height: auto !important; aspect-ratio: 1 / 1.42; max-width: 100%; margin: 0 auto !important; }
.psp-site #BrochureListingContainer .df-book-wrapper { max-width: 100%; }
.psp-site .brochure-card__body { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.psp-site .brochure-card__meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 16px; font-size: 12px; font-weight: 600; color: var(--psp-colour-text-soft); }
.psp-site .brochure-card__meta > span:last-child { display: inline-flex; align-items: center; gap: 6px; }
.psp-site .brochure-card h2 { margin: 0 0 24px; font-size: 24px !important; line-height: 1.2; }
.psp-site .brochure-card__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--psp-colour-border); }
.psp-site .brochure-card__read { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--psp-button-height); max-width: 100%; padding: 12px 16px; border: 1px solid var(--psp-colour-action); border-radius: 0; background: var(--psp-colour-action); color: var(--psp-colour-ink); font-size: 14px; font-weight: 700; line-height: 1.4; cursor: pointer; transition: background var(--psp-transition); }
.psp-site .brochure-card__read:hover { background: var(--psp-colour-action-hover); }
.psp-site .brochure-card__read[hidden] { display: none; }
.psp-site .brochure-card__actions i { font-size: 16px; color: currentColor !important; }
.psp-site .brochure-card__actions .brochure-download { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--psp-colour-ink) !important; font-size: 14px; font-weight: 600; text-align: left; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 768px) and (max-width: 1023px) {
    .psp-site .brochure-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .psp-site .brochure-intro__layout { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .psp-site .brochure-intro h1 { font-size: 40px !important; }
    .psp-site .brochure-library { padding-block: 32px 56px; }
    .psp-site .brochure-grid { grid-template-columns: minmax(0,1fr); }
    .psp-site .brochure-card__media, .psp-site .brochure-card__body { padding: 24px; }
}

/* Editorial and service detail copy resets legacy inherited white text. */
.psp-site .roles.custom-container { padding-block: 80px; }
.psp-site .roles.custom-container > div { padding: 0 24px !important; }
.psp-site .product-details-box, .psp-site .product-details-box-details { background: transparent; border: 0; padding: 0; }
.psp-site .role-subheading h2 { padding: 0 !important; font-size: 40px !important; }
.psp-site .role-subheading { padding: 0 !important; }
.psp-site .role-content { text-align: left; }
.psp-site .role-quote { padding: 20px 0; border-block: 1px solid var(--psp-colour-border); }
.psp-site .role-quote i { color: var(--psp-colour-link) !important; font-size: 28px; }
.psp-site .infographic-icon-image { position: static; width: 80px; height: 80px; object-fit: contain; }
.psp-site .infographic h3 { font-size: 24px; }
.psp-site .infographic p { color: var(--psp-colour-text-soft) !important; }
.psp-site .infographic-icon-image-services { height: 96px; width: 96px; object-fit: contain; }
.psp-site .icon-image-box.services { height: auto; margin: 0 0 24px; }
.psp-site .service-section-title { background: var(--psp-colour-action); color: var(--psp-colour-ink); padding: 48px 0; }
.psp-site .service-section-title:has(.service-cta-text:empty) { display: none; }
.psp-site .service-section-title-text { font-size: 36px !important; line-height: 1.15; padding: 0; color: var(--psp-colour-ink) !important; }
.psp-site .cta-icon { transform: none; margin-left: 20px; }
.psp-site .question-section { padding-block: 48px; }
.psp-site #PageTitleSection { padding-top: 176px; background-color: var(--psp-colour-ink); }
.psp-site #PageTitleSection :is(h1,h2,a) { color: #fff !important; }
.psp-site .quotation-title { max-width: var(--psp-copy-width); padding: 32px; margin: 48px auto; background: #fff; border: 1px solid var(--psp-colour-border); border-top: 3px solid var(--psp-colour-action); border-image: none; }
.psp-site .quotation-title :is(p,span,h2,h4) { color: var(--psp-colour-ink) !important; }
.psp-site .quotation-title .brand-subheading { font-size: 36px !important; line-height: 1.2; }
.psp-site section.blog-item-content { display: block; max-width: var(--psp-copy-width); padding: 48px var(--psp-gutter) !important; margin: auto; }
.psp-site section.blog-item-content .container { padding: 0; }
.psp-site .grid-container { max-width: var(--psp-container); padding-inline: var(--psp-gutter); margin: 48px auto; }
.psp-site .grid-container > .container { padding-inline: 0; }
/* Reference-style testimonials retain complete quotes rather than linking to invented detail routes. */
.psp-site .testimonial-section { padding-block: 96px; background: var(--psp-colour-page); }
.psp-site .testimonial-list { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; }
.psp-site .testimonial-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,3fr); gap: 24px 32px; margin: 0; padding: 40px; min-width: 0; background: var(--psp-colour-surface); border: 1px solid var(--psp-colour-border); border-radius: 0; }
.psp-site .testimonial-card__logo { display: flex; align-items: flex-start; min-height: 96px; min-width: 0; }
.psp-site .testimonial-card__logo img { display: block; width: auto; height: auto; max-width: min(288px,100%); max-height: 96px; object-fit: contain; filter: none; }
.psp-site .testimonial-card__quote { min-width: 0; padding: 0; margin: 0; border: 0; color: var(--psp-colour-text-soft); font-size: 17px; line-height: 1.8; font-style: normal; }
.psp-site .testimonial-card__quote :is(p,li) { font-size: inherit; line-height: inherit; }
.psp-site .testimonial-card__quote .detail-richtext :is(h2,h3,h4,h5,h6) { color: var(--psp-colour-ink) !important; font-size: 24px !important; line-height: 1.25; margin-bottom: 20px; }
.psp-site .testimonial-card__quote a:hover { color: var(--psp-colour-link) !important; }
.psp-site .testimonial-card__attribution { grid-column: 2; margin: 0; color: var(--psp-colour-text-soft); font-size: 18px; line-height: 1.5; font-weight: 700; overflow-wrap: anywhere; }
@media (max-width: 767px) {
    .psp-site .testimonial-section { padding-block: 64px; }
    .psp-site .testimonial-card { grid-template-columns: minmax(0,1fr); padding: 32px; }
    .psp-site .testimonial-card__logo { margin-bottom: 8px; }
    .psp-site .testimonial-card__attribution { grid-column: 1; }
}
@media (max-width: 374px) {
    .psp-site .testimonial-card { padding: 24px; }
}
.psp-site .section-half-split.container { display: grid; gap: 48px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.psp-site .section-half-split.container > .section-half { min-width: 0; }
.psp-site .section-half-split.container .product-details-row-2 { margin-inline: 0; }
.psp-site .section-half-split.container .product-details-row-2 > div { padding-inline: 0; }
.psp-site .accordion { width: 100%; border: 1px solid var(--psp-colour-border); border-image: none; background: #fff; color: var(--psp-colour-ink); border-radius: 2px; font-size: 20px; text-align: left; }
.psp-site .accordion i { color: currentColor !important; }
.psp-site main #TeamListing { padding-top: 174px; }
.psp-site .team-item { border: 1px solid var(--psp-colour-border); border-radius: var(--psp-radius); background: #fff; }
.psp-site .team-item-content { padding: 24px; background: #fff; color: var(--psp-colour-ink); }
.psp-site .team-item-content h3 { margin-bottom: 12px; font-size: 24px; }
.psp-site .team-item-image img { display: block; width: 100%; height: auto; aspect-ratio: 10/9; object-fit: cover; }
.psp-site .gallery-image-button { display: block; width: 100%; padding: 0; border: 0; background: transparent; }
.psp-site dialog.imageModal { inset: 0; width: min(1000px,90vw); height: auto; max-height: 85dvh; margin: auto; padding: 56px 48px 24px; border: 0; background: var(--psp-colour-ink); }
.psp-site dialog.imageModal:not([open]) { display: none; }
.psp-site dialog.imageModal::backdrop { background: #081529cc; }
.psp-site dialog.imageModal .modal-content { position: static; width: 100%; height: auto; padding: 0; margin: 0; background: transparent; }
.psp-site dialog.imageModal .modal-image { width: 100%; height: auto; max-height: 65dvh; object-fit: contain; }
.psp-site dialog.imageModal button { position: absolute; width: 44px; height: 44px; border: 1px solid #ffffff80; border-radius: var(--psp-button-radius); background: var(--psp-colour-ink); color: #fff; }
.psp-site dialog.imageModal button i { color: inherit !important; }
.psp-site dialog.imageModal .close-modal { inset: 8px 8px auto auto; }
.psp-site dialog.imageModal .previous-button { inset: 50% auto auto 0; }
.psp-site dialog.imageModal .next-button { inset: 50% 0 auto auto; }

/* Article details follow the reference's unframed header and measured reading column. */
.psp-site .editorial-detail__header { position: relative; inset: auto; z-index: 0; width: auto; isolation: isolate; background: var(--psp-colour-ink); color: #fff; }
.psp-site .editorial-detail__image { position: absolute; inset: 0; z-index: -1; }
.psp-site .editorial-detail__image > img { width: 100%; height: 100%; object-fit: cover; }
.psp-site .editorial-detail__image::after { background: linear-gradient(90deg,#07162bf2,#0b1b33c9 65%,#0b1b3380); opacity: 1; }
.psp-site .editorial-detail__heading { max-width: var(--psp-article-header-width); }
.psp-site .editorial-detail__back { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--psp-colour-action) !important; font-size: 14px; font-weight: 700; text-decoration: none; }
.psp-site .editorial-detail__back:hover { color: var(--psp-colour-action-hover) !important; text-decoration: underline; }
.psp-site .editorial-detail__back i { font-size: 16px; color: inherit !important; }
.psp-site .editorial-detail__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 48px; color: var(--psp-colour-action); font-size: 12px; font-weight: 700; line-height: 1.5; text-transform: uppercase; }
.psp-site .editorial-detail__heading h1 { max-width: 768px; margin: 28px 0 48px; color: #fff; font-size: 72px !important; line-height: .95; }
.psp-site .editorial-detail__heading h1 :is(strong,em) { color: inherit; font: inherit; }
.psp-site .editorial-detail__body { max-width: var(--psp-article-width); padding: 80px calc(var(--psp-gutter) + 16px); overflow-wrap: anywhere; }
.psp-site .editorial-detail__body :is(p,li) { font-size: 17px; line-height: 1.8; color: var(--psp-colour-text-soft) !important; }
.psp-site .editorial-detail__body p { margin-bottom: 24px; }
.psp-site .editorial-detail__body :is(h2,h3,h4,h5,h6) { margin: 40px 0 16px; color: var(--psp-colour-ink) !important; line-height: 1.3; }
.psp-site .editorial-detail__body h2 { font-size: 30px !important; }
.psp-site .editorial-detail__body h3 { font-size: 26px; }
.psp-site .editorial-detail__body > :first-child, .psp-site .editorial-detail__body > div:first-child > :first-child { margin-top: 0; }
.psp-site .editorial-detail__body > :last-child, .psp-site .editorial-detail__body > div:last-child > :last-child { margin-bottom: 0; }
.psp-site .editorial-detail__body a { color: var(--psp-colour-link) !important; text-decoration: underline; text-underline-offset: 3px; }
.psp-site .editorial-detail__body :is(ul,ol) { padding-left: 24px; margin-bottom: 24px; }
.psp-site .editorial-detail__body li { padding-left: 4px; margin-bottom: 8px; }
.psp-site .editorial-detail__body blockquote { margin: 32px 0; padding: 16px 0 16px 24px; border-left: 3px solid var(--psp-colour-action); }
.psp-site .editorial-detail__body img { height: auto; max-width: 100%; }
.psp-site .editorial-detail__body :is(video,iframe) { max-width: 100%; }
.psp-site main .editorial-detail__cta { padding: 48px 0; border-top: 1px solid var(--psp-colour-border); background: var(--psp-colour-surface); }
.psp-site .editorial-detail__cta > .container { max-width: var(--psp-article-width); padding-inline: calc(var(--psp-gutter) + 16px); }
.psp-site .editorial-detail__cta-link { max-width: 100%; white-space: normal; text-align: left; }
.psp-site .editorial-detail__cta-link img { flex: 0 0 32px; width: 32px; height: 32px; object-fit: contain; }
.psp-site main .editorial-detail__supplement { padding: 0; background: var(--psp-colour-surface-muted) !important; }
@media (max-width: 1023px) {
    .psp-site .editorial-detail__heading h1 { font-size: 60px !important; }
    .psp-site .editorial-detail__body { padding-block: 64px; }
}
@media (max-width: 767px) {
    .psp-site .editorial-detail__heading h1 { font-size: 48px !important; margin-bottom: 32px; }
    .psp-site .editorial-detail__meta { margin-top: 32px; }
    .psp-site .editorial-detail__body { padding: 48px var(--psp-gutter); }
    .psp-site .editorial-detail__cta > .container { padding-inline: var(--psp-gutter); }
    .psp-site .editorial-detail__body h2 { font-size: 28px !important; }
}
@media (max-width: 374px) {
    .psp-site .editorial-detail__heading h1 { font-size: 40px !important; }
}

/* Policy and standard text pages share the article reading measure. */
.psp-site main .standard-page__header { background: var(--psp-colour-ink); color: var(--psp-colour-text-inverse); border-bottom: 3px solid var(--psp-colour-action); }
.psp-site .standard-page__heading { max-width: var(--psp-article-width); padding-inline: calc(var(--psp-gutter) + 16px); }
.psp-site .standard-page__heading h1 { margin: 0; color: inherit; }
.psp-site .standard-page .editorial-detail__body hr { margin-block: 40px; border: 0; border-top: 1px solid var(--psp-colour-border); }
@media (max-width: 1023px) {
    .psp-site .standard-page__heading h1 { font-size: 52px !important; }
}
@media (max-width: 767px) {
    .psp-site .standard-page__heading { padding-inline: var(--psp-gutter); }
    .psp-site .standard-page__heading h1 { font-size: 40px !important; }
}
@media (max-width: 374px) {
    .psp-site .standard-page__heading h1 { font-size: 36px !important; }
}

/* Contact uses a photo-backed header above the existing content/form grid. */
.psp-site main .contact-intro { position: relative; isolation: isolate; background: var(--psp-colour-ink); color: #fff; }
.psp-site .contact-intro__image { position: absolute; inset: 0; z-index: -1; }
.psp-site .contact-intro__image > img { width: 100%; height: 100%; object-fit: cover; }
.psp-site .contact-intro__image::after { background: linear-gradient(90deg,#07162bf2,#0b1b33c9 65%,#0b1b3380); opacity: 1; }
.psp-site .contact-intro h1 { max-width: var(--psp-copy-width); color: #fff !important; font-size: 56px !important; line-height: 1.08; margin: 0; }
.contact-content__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: start; }
.contact-content__form { padding: 36px; border: 1px solid var(--psp-colour-border); background: #fff; }
.psp-site .form-group { margin-bottom: 24px; }
.psp-site .form-group label { display: block; margin-bottom: 8px; color: var(--psp-colour-ink) !important; font-size: 14px; font-weight: 600; }
.psp-site .form-group input:not([type=checkbox]):not([type=hidden]), .psp-site .form-group textarea, .psp-site .form-group select {
    width: 100%; min-height: 48px; padding: 12px 16px; background: var(--psp-colour-page) !important;
    border: 1px solid var(--psp-colour-border) !important; border-radius: 2px; color: var(--psp-colour-ink) !important; font-size: 16px;
}
.psp-site .form-group textarea { min-height: 144px; }
.psp-site .form-group input[type=checkbox] { position: static; flex: 0 0 20px; width: 20px; height: 20px; margin: 4px 12px 0 0; min-height: 0; padding: 0; opacity: 1; pointer-events: auto; appearance: auto; accent-color: var(--psp-colour-ink); }
.psp-site .form-group .form-check-label { min-height: 28px; padding: 0; }
.psp-site .form-group .form-check-label::before, .psp-site .form-group .form-check-label::after { display: none; }
.psp-site .form-group:has(input[type=checkbox]) { display: flex; align-items: flex-start; }
.psp-site .form-group .form-check-label { flex: 1; }
.psp-site .form-group:has(input[type=checkbox]) { flex-wrap: wrap; }
.psp-site .form-group .field-error { display: block; flex-basis: 100%; margin-top: 8px; font-size: 14px; color: var(--psp-colour-error) !important; }
.psp-site .df-lightbox-wrapper .df-ui-btn { min-width: 44px; min-height: 44px; }
.psp-site .df-lightbox-wrapper .df-ui-btn:focus-visible { outline: 3px solid var(--psp-colour-focus); outline-offset: 2px; }
.psp-site .df-lightbox-bg { background: var(--psp-colour-footer) !important; }
.psp-site .df-ui { display: flex; flex-wrap: wrap; justify-content: center; width: max-content; max-width: calc(100vw - 24px); white-space: normal; background: var(--psp-colour-surface) !important; }
.psp-site .df-ui .df-ui-btn { color: var(--psp-colour-ink); }
.psp-site .df-ui .df-ui-btn.disabled { color: var(--psp-colour-text-soft); }
.psp-site .df-ui .df-ui-page :is(label,input) { color: var(--psp-colour-ink) !important; background: var(--psp-colour-page); }
.psp-site .mySwiper { width: 100%; min-width: 0; }
.psp-site .form-group.error :is(input,textarea), .psp-site .input-validation-error { border-color: var(--psp-colour-error) !important; }
.psp-site .alert { border-radius: 2px; }
.psp-site .alert-danger { background: #fef3f2; border-color: #fecdca; color: #7a271a; }
.psp-site .alert-success { background: #ecfdf3; border-color: #abefc6; color: var(--psp-colour-success); }
.psp-site .contact-form-success { height: auto; }

.psp-site .site-footer { padding: 80px 0 0; background: var(--psp-colour-footer); color: #fff; }
.site-footer__inner { max-width: var(--psp-container); padding-inline: var(--psp-gutter); margin: auto; display: grid; grid-template-columns: 1.2fr .7fr 1fr; gap: 80px; }
.site-footer__logo { display: block; margin-bottom: 28px; line-height: 0; }
.site-footer__logo img { width: 150px; height: auto; }
.site-footer__brand p { max-width: 340px; color: #c9d3e0; font-size: 15px; }
.site-footer__meta {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--psp-colour-action);
}
.psp-site .site-footer__nav h2 { font-size: 12px !important; line-height: 1.4; font-weight: 600; text-transform: uppercase !important; color: var(--psp-colour-action); margin-bottom: 24px; }
.psp-site .site-footer__nav ul { display: block; }
.site-footer__nav li { margin: 0; }
.site-footer__nav li::before { display: none; }
.psp-site .site-footer a { color: #c9d3e0 !important; text-decoration: none !important; }
.psp-site .site-footer a:hover { color: var(--psp-colour-action) !important; }
.site-footer__nav a { display: inline-flex; align-items: center; min-height: 40px; color: #c9d3e0; text-decoration: none; font-size: 15px; font-weight: 400; }
.site-footer__nav a:hover, .site-footer__contact a:hover { color: var(--psp-colour-action); }
.psp-site .site-footer__contact h2 { font-size: 28px !important; line-height: 1.15; max-width: 320px; color: #fff; }
.psp-site .site-footer .contact-details-item { display: flex; align-items: flex-start; gap: 12px; min-height: 40px; margin: 0 0 8px; padding: 0; color: #c9d3e0; text-decoration: none; font-size: 14px; }
.psp-site .site-footer .contact-details-item .icon { position: static; flex: 0 0 20px; width: 20px; margin: 0; color: var(--psp-colour-action); }
.psp-site .site-footer .contact-details-item i { color: inherit !important; font-size: 16px; }
.psp-site .site-footer .contact-details-item .value { padding: 0; color: inherit; }
.site-footer__bottom { width: calc(100% - var(--psp-gutter) * 2); max-width: calc(var(--psp-container) - var(--psp-gutter) * 2); margin: 56px auto 0; padding: 24px 0; border-top: 1px solid #ffffff24; display: flex; justify-content: space-between; gap: 24px; color: #c9d3e0; font-size: 13px; }
.psp-site .footer-copyright { position: static; width: auto; margin: 0; padding: 0; text-align: left; font-size: 13px; opacity: 1; }
.site-footer__bottom a { color: inherit; }

@media (max-width: 1199px) {
    .psp-site .customer-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    :root { --psp-gutter: 32px; --psp-page-hero-height: 520px; --psp-page-hero-padding-top: 152px; --psp-page-hero-padding-bottom: 80px; }
    .site-nav, .psp-site .site-header__cta { display: none !important; }
    .site-header__inner { justify-content: space-between; }
    .site-menu-toggle { display: inline-flex; }
    .psp-site #mainTitle, .psp-site #mainTitle :is(h1,p,span), .psp-site h1#mainTitle { font-size: 60px !important; }
    .psp-site.page-homeDocumentType .home-banner-lead { min-height: 680px; }
    .psp-site .home-banner > .row > div { width: 33.333%; }
    .psp-site .sector-content { padding: 32px 20px; }
    .psp-site :is(.bg-blue,.bg-green) > .row > div { flex: 0 0 50%; max-width: 50%; }
    .psp-site :is(.box-padding,.box-padding-secondary) { padding: 24px 32px 24px 0; }
    .psp-site .bg-green .box-padding-secondary { padding-left: 32px; }
    .psp-site :is(#NewsListingContainer,#LatestNewsContainer,#CaseStudyListingContainer),
    .psp-site .swiper-slide > .container > .row { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .psp-site :is(.editorial-grid,#NewsListingContainer,#CaseStudyListingContainer) { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .psp-site .editorial-card__body { padding-inline: 28px; }
    .psp-site .editorial-card__footer { margin-inline: 28px; }
    .psp-site .editorial-listing { padding-block: 64px 96px !important; }
    .site-footer__inner { gap: 40px; grid-template-columns: 1fr 1fr; }
    .site-footer__brand { grid-column: 1 / -1; }
    .contact-content__grid { gap: 32px; }
    .contact-content__grid { grid-template-columns: 1fr 1fr; }
    .psp-site .contact-intro h1 { font-size: 44px !important; }
}
@media (max-width: 767px) {
    :root { --psp-gutter: 24px; --psp-header-height: 68px; --psp-page-hero-height: 420px; --psp-page-hero-padding-top: 132px; --psp-page-hero-padding-bottom: 64px; }
    .site-header__logo img { width: 110px; }
    .psp-site main section { padding-block: 56px; }
    .psp-site h1 { font-size: 40px !important; }
    .psp-site h2, .psp-site .h2 { font-size: 32px !important; }
    .psp-site h3 { font-size: 24px; }
    .psp-site #mainTitle, .psp-site #mainTitle :is(h1,p,span), .psp-site h1#mainTitle { font-size: 44px !important; line-height: 1.05 !important; }
    .psp-site.page-homeDocumentType .home-banner-lead { min-height: 620px; }
    .psp-site .home-banner-lead .container { padding-inline: var(--psp-gutter); }
    .psp-site .home-banner > .row { display: block; }
    .psp-site .home-banner > .row > div { width: 100%; border-right: 0; border-bottom: 1px solid var(--psp-colour-border); }
    .psp-site .sector-content { min-height: 0; padding: 32px 0; }
    .psp-site :is(.bg-blue,.bg-green) > .row > div { flex: 0 0 100%; max-width: 100%; }
    .psp-site .bg-green > .row { flex-direction: column-reverse; }
    .psp-site :is(.box-padding,.box-padding-secondary), .psp-site .bg-green .box-padding-secondary { padding: 0 0 32px; }
    .psp-site .welcome-title :is(h4,p) { font-size: 32px !important; }
    .psp-site .welcome-image { min-height: 0; }
    .psp-site .home-image { height: 280px; }
    .psp-site :is(#NewsListingContainer,#LatestNewsContainer,#CaseStudyListingContainer),
    .psp-site .swiper-slide > .container > .row { grid-template-columns: minmax(0,1fr); }
    .psp-site :is(.editorial-grid,#NewsListingContainer,#CaseStudyListingContainer) { grid-template-columns: minmax(0,1fr); }
    .psp-site .news-item-content.blog h2.white.blogItemTitle { font-size: 24px !important; }
    .psp-site .roles.custom-container { padding-block: 48px; }
    .psp-site .roles.custom-container > div { padding: 0 !important; }
    .psp-site .roles.custom-container .p-5 { padding: 0 !important; }
    .psp-site .roles.custom-container .product-details-box-details { padding: 0 !important; }
    .psp-site .roles.custom-container .product-details-row-2 { margin-inline: 0; }
    .psp-site .role-subheading h2 { font-size: 32px !important; }
    .psp-site .service-section-title-text { font-size: 28px !important; }
    .contact-content__grid { grid-template-columns: 1fr; gap: 32px; }
    .psp-site .contact-intro h1 { font-size: 40px !important; }
    .contact-content__form { padding: 24px; }
    .psp-site .site-footer { padding-top: 56px; }
    .site-footer__inner { grid-template-columns: 1fr; gap: 40px; }
    .site-footer__bottom { flex-direction: column; margin-top: 40px; }
    .psp-site .quotation-title { margin-inline: 24px; padding: 24px; }
    .psp-site .quotation-title .brand-subheading { font-size: 28px !important; }
    .psp-site .listing-intro { padding-top: 48px; }
    .psp-site main .padding-for-header { padding-top: 132px; }
}
@media (max-width: 374px) {
    :root { --psp-gutter: 20px; }
    .psp-site #mainTitle, .psp-site #mainTitle :is(h1,p,span), .psp-site h1#mainTitle { font-size: 36px !important; }
    .psp-site .contact-intro h1 { font-size: 36px !important; }
    .contact-content__form { padding: 20px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
    .psp-site .customer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 991px) {
    .psp-site .section-half-split.container { grid-template-columns: minmax(0,1fr); gap: 32px; }
}
@media (min-width: 1024px) {
    :root { --psp-gutter: 48px; }
    .psp-site :is(.editorial-grid,#NewsListingContainer,#CaseStudyListingContainer) { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .psp-site .editorial-listing { padding-block: 96px !important; }
    .psp-site .editorial-card__body { padding-inline: 32px; }
    .psp-site .editorial-card__footer { margin-inline: 32px; }
}
@media (min-width: 576px) and (max-width: 767px) {
    .psp-site .customer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 575px) {
    .psp-site .customer-grid { grid-template-columns: minmax(0,1fr); }
}
/* Shared service and role detail pages keep authored content in a predictable reading flow. */
.psp-site .detail-hero #mainTitle { max-width: 960px; }
.psp-site .detail-hero #mainTitle :is(strong,em) { color: var(--psp-colour-text-inverse) !important; }
.psp-site .detail-back { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-bottom: 24px; color: var(--psp-colour-text-inverse-soft) !important; text-decoration: none; font-size: 14px; }
.psp-site .detail-back:hover { color: var(--psp-colour-action) !important; }
.psp-site .detail-back i { color: inherit !important; font-size: 20px; }
.psp-site .detail-reading { max-width: calc(720px + 2 * var(--psp-gutter)); }
.psp-site .detail-page :is(.detail-overview,.detail-supporting,.detail-proof,.detail-disclosures,.detail-gallery,.detail-benefits) { padding-block: 80px; }
.psp-site .detail-page :is(.detail-overview,.detail-proof,.detail-gallery) { background: var(--psp-colour-surface); }
.psp-site .detail-page :is(.detail-supporting,.detail-benefits) { background: var(--psp-colour-surface-muted); }
.psp-site .detail-page :is(.detail-overview,.detail-supporting,.detail-proof) h2 { font-size: 40px !important; line-height: 1.15; }
.psp-site .detail-richtext { color: inherit; text-align: left; overflow-wrap: anywhere; }
.psp-site .detail-richtext :is(p,div,span,font,em,strong,li,h2,h3,h4,h5,h6) { color: inherit !important; text-align: left !important; font-family: inherit !important; }
.psp-site .detail-richtext :is(div,span,p) { max-width: 100%; float: none; }
.psp-site .detail-richtext :is(h2,h3,h4,h5,h6) { margin-top: 32px; }
.psp-site .detail-richtext > :first-child { margin-top: 0; }
.psp-site .detail-richtext > :last-child { margin-bottom: 0; }
.psp-site .detail-richtext a { color: var(--psp-colour-link) !important; text-decoration: underline; text-underline-offset: 3px; }
.psp-site .detail-richtext :is(ul,ol) { padding-left: 24px; margin-bottom: 24px; }
.psp-site .detail-richtext li + li { margin-top: 10px; }
.psp-site .detail-richtext img { height: auto; }
.psp-site .detail-richtext iframe { max-width: 100%; }
.psp-site .detail-richtext table { display: block; max-width: 100%; overflow-x: auto; }
.psp-site .detail-richtext :is(th,td) { padding: 12px; border: 1px solid var(--psp-colour-border); }
.psp-site .detail-quote { margin: 32px 0 0; padding: 8px 0 8px 24px; border: 0; border-left: 3px solid var(--psp-colour-action); color: var(--psp-colour-text-soft); font-style: italic; }
.psp-site .detail-eyebrow { display: block; margin-bottom: 16px; color: var(--psp-colour-link); font-size: 12px; font-weight: 600; text-transform: uppercase; }
.psp-site .detail-section-heading { margin-bottom: 40px; }
.psp-site .detail-benefits__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; list-style: none; padding: 0; margin: 0; }
.psp-site .detail-benefit { min-width: 0; padding: 32px; background: var(--psp-colour-ink); color: var(--psp-colour-text-inverse); border: 1px solid var(--psp-colour-brand-border); }
.psp-site .detail-benefit__top { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 72px; margin-bottom: 24px; }
.psp-site .detail-benefit__top img { width: 72px; height: 72px; object-fit: contain; filter: grayscale(1); }
.psp-site .detail-benefit__number { color: var(--psp-colour-action); font-size: 12px; }
.psp-site .detail-benefit h3 { font-size: 24px; margin: 0 0 20px; }
.psp-site .detail-benefit h3 a { display: inline-flex; align-items: baseline; gap: 12px; color: var(--psp-colour-text-inverse) !important; text-decoration: none; }
.psp-site .detail-benefit h3 a:hover { text-decoration: underline; }
.psp-site .detail-benefit .detail-richtext { color: var(--psp-colour-text-inverse-soft); }
.psp-site .detail-benefit .detail-richtext a { color: var(--psp-colour-action) !important; }
.psp-site .detail-benefit .button-arrow { color: var(--psp-colour-action) !important; }
.psp-site .detail-supporting__split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 64px; }
.psp-site .detail-supporting__image { aspect-ratio: 4/3; }
.psp-site .detail-supporting__image img { width: 100%; height: 100%; object-fit: cover; }
.psp-site .detail-proof .case-study-btn { margin-top: 32px; }
.psp-site .detail-page .detail-cta { padding-block: 56px; background: var(--psp-colour-action); color: var(--psp-colour-ink); }
.psp-site .detail-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.psp-site .detail-cta h2 { max-width: 840px; margin: 0; font-size: 36px !important; line-height: 1.15; }
.psp-site .detail-cta__button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: var(--psp-button-height); padding: 12px 24px; flex-shrink: 0; border: 1px solid var(--psp-colour-ink); border-radius: var(--psp-button-radius); background: var(--psp-colour-ink); color: var(--psp-colour-text-inverse) !important; text-decoration: none !important; font-size: 14px; font-weight: 600; }
.psp-site .detail-cta__button:hover { background: var(--psp-colour-brand-surface); }
.psp-site .detail-disclosure { border-bottom: 1px solid var(--psp-colour-border); }
.psp-site .detail-disclosure:first-child { border-top: 1px solid var(--psp-colour-border); }
.psp-site .detail-disclosure h2 { margin: 0; }
.psp-site .detail-disclosure .accordion { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 0; border: 0; border-radius: 0; background: transparent; color: var(--psp-colour-ink); font-size: 22px; line-height: 1.3; font-weight: 600; }
.psp-site .detail-disclosure .accordion-arrow { flex-shrink: 0; }
.psp-site .detail-disclosure .accordion-arrow i { color: var(--psp-colour-link) !important; }
.psp-site .detail-disclosure .panel { padding: 0 0 28px; background: transparent; max-height: none; overflow: visible; }
.psp-site .detail-disclosure .panel[hidden] { display: none; }
.psp-site .detail-disclosure .accordion-button { margin-top: 24px; }
.psp-site .detail-gallery__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.psp-site .detail-gallery__grid .gallery-image-button { width: 100%; }
.psp-site .detail-gallery__grid .grid-image { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
@media (max-width: 1023px) {
    .psp-site .detail-benefits__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .psp-site .detail-supporting__split { grid-template-columns: minmax(0,1fr); gap: 32px; }
    .psp-site .detail-cta__inner { flex-direction: column; align-items: flex-start; gap: 24px; }
    .psp-site .detail-cta__button { max-width: 100%; flex-shrink: 1; }
}
@media (max-width: 767px) {
    .psp-site .detail-page :is(.detail-overview,.detail-supporting,.detail-proof,.detail-disclosures,.detail-gallery,.detail-benefits,.detail-cta) { padding-block: 56px; }
    .psp-site .detail-page :is(.detail-overview,.detail-supporting,.detail-proof) h2,
    .psp-site .detail-cta h2 { font-size: 30px !important; }
    .psp-site .detail-benefits__grid,.psp-site .detail-supporting__split { grid-template-columns: minmax(0,1fr); }
    .psp-site .detail-benefit { padding: 28px; }
    .psp-site .detail-section-heading { margin-bottom: 32px; }
    .psp-site .detail-back { margin-bottom: 20px; }
    .psp-site .detail-gallery__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .psp-site *, .psp-site *::before, .psp-site *::after { animation: none !important; transition: none !important; }
}
