/* Shared first-block corrections, after the preserved Build 82 cascade. */
form[data-pt-form] label,form[data-pt-form] label>span,.candidate-field>span,.apply-field>span{font-size:14px!important;line-height:1.45!important;letter-spacing:.02em!important}
form[data-pt-form] input:not([type=hidden]):not([type=checkbox]),form[data-pt-form] select,form[data-pt-form] textarea{font-size:16px!important;line-height:1.5!important;min-height:44px!important}
form[data-pt-form] button[type=submit]{min-height:44px;font-size:14px!important}
.pt-form-status,.recruit-form-status,.pt-submission-notice,.pt-job-notice{font-size:14px!important;line-height:1.55!important;letter-spacing:normal!important}
.pt-submission-notice{grid-column:1/-1;padding:12px 14px;border-left:2px solid #ad2b37;background:rgba(150,150,150,.1);color:inherit;margin:0 0 18px}
.pt-job-notice{padding:12px 0;color:inherit;opacity:.8}
.pt-form-consent,.pt-form-consent span{font-size:14px!important;line-height:1.55!important}
.contact-modal__dialog,.candidate-modal__dialog,.apply-modal__dialog{max-height:calc(100dvh - 40px);overflow-y:auto}
.contact-modal__panel,.candidate-modal__panel,.apply-modal__panel{max-height:calc(100dvh - 40px);overflow-y:auto}
.jobs-filters{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px!important;align-items:end}
.pt-filter-label{display:grid;gap:8px;font:14px/1.5 var(--ui,'Source Sans 3',sans-serif);color:#444}
.pt-filter-label select{width:100%;font:16px/1.5 var(--ui,'Source Sans 3',sans-serif);background:#fff;color:#171b1e;border:1px solid #d2d3d3;border-radius:0;padding:11px 34px 11px 12px;min-height:46px}
[data-role-card][hidden]{display:none!important}
button:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.55}
:focus-visible{outline:2px solid #b52a37!important;outline-offset:4px}
.pt-development-badge{position:fixed;bottom:12px;left:12px;z-index:1600;max-width:calc(100vw - 24px);background:#171b1f;color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:0 4px 20px #0002;padding:9px 13px;font:12px/1.45 var(--ui,'Source Sans 3',sans-serif);letter-spacing:.02em}

[data-media-slot]>video{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;opacity:0;transition:opacity .35s;pointer-events:none}
[data-media-slot]>video[data-ready=true]{opacity:1}
.candidate-visual__media[data-has-video]::after,.contact-modal__visual[data-has-video]::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,12,.7),rgba(5,9,12,.2));pointer-events:none}
.contact-modal__visual-copy{position:absolute;left:28px;right:28px;bottom:28px;top:auto;z-index:2}
.pt-unavailable{max-width:760px;margin:15vh auto;padding:32px;font:18px/1.6 'Source Sans 3',sans-serif}
.pt-unavailable h1{font:400 clamp(32px,5vw,52px)/1.1 Manrope,sans-serif;margin-top:50px}
@media(max-width:700px){.jobs-filters{grid-template-columns:1fr!important;gap:12px!important}.pt-development-badge{font-size:11px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}[data-media-slot]>video{display:none!important}}

[hidden]{display:none!important}

/* Direct email contact uses the existing type and colour system. */
.pt-direct-enquiry{display:grid;gap:18px;padding:12px 0 6px;min-width:0;color:#252a2e;font:16px/1.6 var(--ui,'Source Sans 3',sans-serif)}
.pt-direct-enquiry p{margin:0;font:inherit;color:inherit}
.pt-direct-enquiry__action{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:50px;padding:14px 18px;background:#d00004;color:#fff!important;text-decoration:none;font-size:16px!important;font-weight:600}
.pt-direct-enquiry__action:hover{background:#ad0004}
.pt-direct-enquiry__address,.pt-contact-link{color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;font:16px/1.6 var(--ui,'Source Sans 3',sans-serif)}
.pt-direct-enquiry .pt-direct-enquiry__note{font-size:14px;color:#565d62}
.detail-card .pt-contact-link,.purpose-card .pt-contact-link{display:inline-block;margin-top:18px;max-width:100%}
.pt-mobile-group__links a{font-size:16px!important;line-height:1.4!important;min-height:44px;padding:11px 0}
.pt-mobile-nav__cta{font-size:16px!important;line-height:1.4!important}
.pt-mobile-nav__meta{font-size:14px!important;line-height:1.5!important}
.pt-mobile-nav__close{min-width:44px;min-height:44px}
.pt-mobile-group__overview{font-weight:600!important;color:#151719!important}
.pt-mobile-nav__panel{padding-bottom:env(safe-area-inset-bottom)}
