/* Homepage only. Shared navigation, footer and other service pages are unchanged. */
.pf-home{--pf-home-soft:#eef7fa;overflow-wrap:break-word}
.pf-home .pf-wrap{max-width:1400px;padding-inline:65px}
.pf-home .pf-section{padding-block:72px}
.pf-home .pf-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:55px}
.pf-home .pf-home-hero{padding-block:50px 65px;background:linear-gradient(110deg,#fff 56%,#f1f9fc)}
.pf-home h1{font-size:clamp(40px,4.2vw,60px);line-height:1.13;letter-spacing:-1.4px;max-width:730px}
.pf-home h1 span{display:block;color:#165a7c}
.pf-home .pf-home-lead{font-size:21px;line-height:1.5;font-weight:700;color:#165a7c}
.pf-home .pf-home-hero-figure{width:min(100%,390px);justify-self:center;align-self:center}
.pf-home .pf-home-hero-figure img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.pf-home .pf-home-actions{display:flex;align-items:center;gap:18px 25px;flex-wrap:wrap;margin:28px 0 18px}
.pf-home .pf-home-text-link{font-weight:700;color:#165a7c;text-decoration:underline;text-underline-offset:5px;line-height:1.5}
.pf-home .pf-home-support{font-size:14px;line-height:1.5;color:#515e65;text-decoration:underline;text-underline-offset:3px}
.pf-home .pf-home-section-heading{display:flex;align-items:center;gap:35px;justify-content:space-between;margin-bottom:35px}
.pf-home .pf-home-section-heading>div{max-width:890px}
.pf-home .pf-home-section-heading>div p{margin-bottom:0}
.pf-home .pf-home-section-heading>a{flex:0 0 auto;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:5px}
.pf-home .pf-home-services{background:#165a7c}
.pf-home .pf-home-services .pf-eyebrow{color:#a5e8fa}
.pf-home .pf-home-services .pf-home-section-heading h2,
.pf-home .pf-home-services .pf-home-section-heading p,
.pf-home .pf-home-services .pf-home-section-heading>a{color:#fff}
.pf-home .pf-home-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pf-home .pf-home-card{display:flex;flex-direction:column;min-width:0;background:#fff;border-radius:12px;padding:28px}
.pf-home .pf-home-card h3{font-size:25px;color:#165a7c;margin-bottom:16px}
.pf-home .pf-home-card p{font-size:17px;line-height:1.6;margin:0 0 24px}
.pf-home .pf-home-card-links{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:auto}
.pf-home .pf-home-card-links a{color:#165a7c;text-decoration:underline;text-underline-offset:4px;font-size:16px;font-weight:700;line-height:1.5}
.pf-home .pf-home-icon{display:block;width:44px;height:44px;color:#0089ad;margin-bottom:22px}
.pf-home .pf-home-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pf-home .pf-home-specialisms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:35px}
.pf-home .pf-home-specialisms article{background:var(--pf-home-soft);border:1px solid #d4e8ef;border-radius:12px;padding:32px;display:flex;flex-direction:column;min-width:0}
.pf-home .pf-home-specialisms h3{font-size:28px;line-height:1.25;color:#165a7c}
.pf-home .pf-home-specialisms p{font-size:17px}
.pf-home .pf-home-specialisms a{margin-top:auto}
.pf-home .pf-home-tag{font-size:13px;line-height:1.6;letter-spacing:.5px;font-weight:800;color:#165a7c;margin-bottom:18px}
.pf-home .pf-home-approach{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:75px;align-items:center}
.pf-home .pf-home-approach-steps{list-style:none;padding:0;margin:0;counter-reset:home-step}
.pf-home .pf-home-approach-steps li{position:relative;padding-left:58px;margin:0 0 26px;counter-increment:home-step}
.pf-home .pf-home-approach-steps li:last-child{margin-bottom:0}
.pf-home .pf-home-approach-steps li::before{content:counter(home-step);position:absolute;left:0;top:2px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#165a7c;font-size:18px;font-weight:700}
.pf-home .pf-home-approach-steps h3{font-size:24px;margin-bottom:9px}
.pf-home .pf-home-approach-steps p{font-size:17px;margin:0}
.pf-home .pf-home-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}
.pf-home .pf-home-review{background:#f3f8fa;border-radius:12px;padding:28px;display:flex;flex-direction:column;margin:0}
.pf-home .pf-home-review blockquote{margin:0;padding:0;border:0}
.pf-home .pf-home-review h3{font-size:23px;color:#165a7c;margin-bottom:15px}
.pf-home .pf-home-review p{font-size:17px;line-height:1.65}
.pf-home .pf-home-review figcaption{margin-top:auto;padding-top:18px;color:#165a7c;font-size:16px;line-height:1.6;font-weight:700}
.pf-home .pf-home-logo-section{padding-top:10px;padding-bottom:55px}
.pf-home .pf-home-logo-section h2{font-size:32px}
.pf-home .pf-home-logos{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:28px 35px;align-items:center;margin-top:38px}
.pf-home .pf-home-logos img{display:block;width:100%;height:74px;object-fit:contain}
.pf-home .pf-home-faq-section{padding-top:40px}
.pf-home .pf-home-contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:65px;align-items:center}
.pf-home .pf-home-contact .pf-eyebrow{color:#a5e8fa}
.pf-home .pf-home-contact p{margin-bottom:25px}
.pf-home .pf-home-phone{display:block;width:fit-content;font-weight:700;font-size:20px;margin-top:22px;color:#fff;text-decoration:underline;text-underline-offset:5px}
.pf-home .pf-home-callback{background:white;color:#165a7c;border-radius:12px;padding:32px;min-width:0}
.pf-home .pf-home-callback h3{font-size:27px;color:#165a7c}
.pf-home .pf-home-callback p{font-size:17px;color:#62666a}
.pf-home .pf-home-callback .elementor-form-fields-wrapper{display:flex;flex-wrap:wrap;gap:16px;margin:0}
.pf-home .pf-home-callback .elementor-field-group{padding:0;width:100%;margin:0;flex-basis:100%;max-width:100%}
.pf-home .pf-home-callback .elementor-field{width:100%;height:auto;min-height:50px;padding:13px 15px;border:1px solid #bbcdd5;border-radius:5px;color:#222;background:#fff;font:400 17px/1.5 'Nunito Sans',sans-serif}
.pf-home .pf-home-callback .elementor-field::placeholder{color:#62666a;opacity:1}
.pf-home .pf-home-callback button{display:inline-flex;justify-content:center;align-items:center;background:#165a7c;color:#fff;border:2px solid #165a7c;border-radius:50px;padding:14px 23px;font:700 16px/1.4 'Nunito Sans',sans-serif;min-height:50px;cursor:pointer}
.pf-home .pf-home-callback button:hover{background:#0f465f;border-color:#0f465f}
.pf-home .pf-home-callback button:disabled{opacity:.6;cursor:wait}
.pf-home .pf-home-callback .profast-form-status{color:#9f2626;margin-top:18px;font-size:16px;line-height:1.5}
.pf-home .pf-home-callback .profast-success{color:#226d39}
.pf-home .pf-home-callback .profast-form-status:empty{margin:0}
.pf-home :is(a,summary,button,input):focus-visible{outline:3px solid #00b0e0;outline-offset:4px}
.pf-home [id]{scroll-margin-top:120px}
@media(max-width:1199px){
 .pf-home .pf-wrap{padding-inline:35px}
 .pf-home .pf-grid{gap:30px}
 .pf-home .pf-home-section-heading{display:block}
 .pf-home .pf-home-section-heading>a{display:inline-block;margin-top:22px}
 .pf-home .pf-home-cards{gap:20px}
 .pf-home .pf-home-card{padding:24px}
 .pf-home .pf-home-approach,.pf-home .pf-home-contact-grid{gap:35px}
 .pf-home .pf-home-logos{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:1024px){
 .pf-home .pf-home-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pf-home h1{font-size:46px}
 .pf-home .pf-home-reviews{grid-template-columns:1fr}
 .pf-home .pf-home-review{padding:25px}
 .pf-home .pf-home-logos{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:767px){
 .pf-home .pf-wrap{padding-inline:22px}
 .pf-home .pf-section{padding-block:46px}
 .pf-home .pf-grid,.pf-home .pf-home-approach,.pf-home .pf-home-contact-grid{grid-template-columns:minmax(0,1fr);gap:35px}
 .pf-home .pf-home-hero{padding-top:34px;padding-bottom:35px}
 .pf-home h1{font-size:clamp(36px,8vw,46px);letter-spacing:-.8px}
 .pf-home .pf-home-lead{font-size:19px}
 .pf-home .pf-home-hero-figure{width:min(100%,270px)}
 .pf-home .pf-home-cards,.pf-home .pf-home-specialisms{grid-template-columns:minmax(0,1fr)}
 .pf-home .pf-home-card{padding:26px}
 .pf-home .pf-home-card h3{font-size:26px}
 .pf-home .pf-home-specialisms article{padding:26px}
 .pf-home .pf-home-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
 .pf-home .pf-home-logos img{height:58px}
 .pf-home .pf-home-logo-section{padding-top:0}
 .pf-home .pf-home-callback{padding:26px}
 .pf-home .pf-home-actions .pf-button{padding-inline:20px}
}

/* Original review and logo carousels, restored within the redesigned homepage. */
.pf-home .pf-home-legacy-reviews{padding-block:60px}
.pf-home .pf-home-legacy-reviews .elementor-container{width:100%}
.pf-home .pf-home-legacy-reviews .owl-stage-outer{overflow:hidden}
.pf-home .pf-home-legacy-reviews .owl-dots{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding-top:18px}
.pf-home .pf-home-legacy-reviews .owl-dot:focus-visible{outline:3px solid #00b0e0;outline-offset:3px}
.pf-home .pf-home-logo-section .elementor-widget-image-carousel{width:100%;margin-top:32px}
.pf-home .pf-home-logo-section .elementor-image-carousel-wrapper{overflow:hidden;width:100%}
.pf-home .pf-home-logo-section .swiper-wrapper{align-items:center}
.pf-home .pf-home-logo-section .swiper-slide-inner{display:flex;align-items:center;justify-content:center;margin:0;min-height:90px}
.pf-home .pf-home-logo-section img.swiper-slide-image{width:auto;max-width:100%;height:85px;object-fit:contain}
@media(max-width:767px){
 .pf-home .pf-home-legacy-reviews{padding-block:40px}
 .pf-home .pf-home-logo-section .swiper-slide-inner{min-height:65px}
 .pf-home .pf-home-logo-section img.swiper-slide-image{height:60px}
}
