[hidden]{display:none!important}html{scroll-padding-top:2rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.logo-window:focus-visible{outline:3px solid #3084b9;outline-offset:5px}.social-link{display:inline-flex!important;align-items:center;gap:9px;text-decoration:none;font-size:14px;flex-shrink:0}.social-link svg{flex:none}.social-link span{font-size:14px!important;margin:0!important}.intro .button{margin:8px 12px 0 0}.intro .work-cta{background:#fff;color:#101f34}.preview-links,.paper-actions{display:flex;gap:16px 24px;flex-wrap:wrap;margin-top:24px}.preview-links a,.service-grid a,.service-more,.paper-actions a{font-weight:600;text-underline-offset:5px}.home-services{max-width:1200px;margin:auto;padding:64px 48px;background:#f2f6f9}.home-services h2{margin-bottom:32px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.service-grid h3{font-size:23px;line-height:1.3}.service-grid p{line-height:1.75;color:#536174;margin:16px 0 24px}.service-more{display:inline-block;margin-top:36px}.papers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.papers-grid article{display:flex;flex-direction:column;gap:14px}.papers-grid h3{font-size:1.35rem;line-height:1.4}.papers-grid p{margin:0}.paper-role{font-weight:700;color:#101f34}.paper-keywords{font-size:.85rem;color:#536174}.papers-grid details{font-size:.9rem}.papers-grid summary{cursor:pointer;font-weight:600}.papers-grid details p{margin-top:12px}.paper-actions{margin-top:auto;padding-top:20px;font-size:.9rem}.enquiry-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.enquiry-details{border:1px solid #dce3e9;padding:20px;display:grid;gap:16px;min-width:0}.enquiry-details legend{font-weight:600;padding:0 6px}.contact-links a{overflow-wrap:anywhere}.logo-window.is-animated{overflow:hidden}.logo-window.is-animated:focus-visible{overflow-x:auto}.logo-track.moving{will-change:transform}footer{flex-wrap:wrap}footer .social-link{color:#101f34}.result{scroll-margin:2rem}
@media(max-width:820px){.service-grid,.papers-grid,.enquiry-layout{grid-template-columns:minmax(0,1fr)}.home-services{padding:48px 24px}.service-grid{gap:32px}.intro .button{display:inline-flex}.papers-grid article{padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.logo-track.moving{animation:none;transform:none}}

.site-header nav{margin-left:auto}.site-header .header-linkedin{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;color:#0a66c2;text-decoration:none}.header-linkedin:hover{color:#004182}.header-linkedin svg{width:28px;height:28px}@media(max-width:760px){.site-header{gap:12px}.site-header .header-linkedin{flex-basis:36px;width:36px;height:36px}.site-header nav{gap:8px 12px}}

/* Service pages use the existing navy, white and light-blue design. */
.service-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.service-detail-grid article{border-top:2px solid #101f34;padding-top:20px;min-width:0}.service-detail-grid h3{line-height:1.3}.service-detail-grid p{color:#536174;margin-bottom:0}.service-prose{max-width:820px}.service-prose p{margin:0 0 20px}.service-faq{max-width:850px}.service-faq details{border-top:1px solid #dce3e9;padding:18px 0}.service-faq details:last-child{border-bottom:1px solid #dce3e9}.service-faq summary{cursor:pointer;font-weight:600;line-height:1.5}.service-faq p{margin:14px 0 0;max-width:760px;color:#536174}.footer-services{width:100%;display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid #dce3e9;padding-top:20px;font-size:13px}.footer-services a{color:#182b43;text-underline-offset:4px}.local-service-intro{max-width:720px;color:#536174;margin:0 0 32px;line-height:1.65}.consultation-note{padding:20px;border-left:3px solid #a6d6f4;background:#f2f6f9;margin:0 0 28px}.page-hero .actions{margin-top:24px}@media(max-width:760px){.service-detail-grid{grid-template-columns:minmax(0,1fr)}.footer-services{gap:12px 18px}}

/* Consistent justified descriptive copy; short labels retain their own alignment. */
.service-grid p,
.service-detail-grid p,
.strand p,
.evidence p:not(.mono):not(.paper-role):not(.paper-keywords),
.topics li > span,
.stack > p:not(.eyebrow),
.section-head > p:not(.eyebrow),
.service-prose p,
.service-faq p,
.copy p,
.prose,
.lede,
.local-service-intro,
.consultation-note {
  text-align: justify;
  text-align-last: start;
  text-justify: inter-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  hyphenate-limit-chars: 6 3 3;
  overflow-wrap: break-word;
}
