/* AI service and shared navigation. Existing typography and brand colours retained. */
.elementor-49 .main_nav .elementskit-navbar-nav>li{margin-inline:9px!important}
.elementor-49 .main_nav .elementskit-navbar-nav>li>a{white-space:nowrap}
@media(min-width:1025px) and (max-width:1399px){
 .elementor-49 .elementor-element.elementor-element-e99c4c4{padding-inline:32px}
 .elementor-49 .elementor-element.elementor-element-f71a352{width:19%}
 .elementor-49 .elementor-element.elementor-element-900632e{width:81%}
 .elementor-49 .main_nav .elementskit-navbar-nav>li{margin-inline:7px!important}
 .elementor-49 .main_nav .elementskit-navbar-nav>li>a{font-size:14px}
 .elementor-49 .elementor-element.elementor-element-0be9cd1 img{width:165px}
}
.pf-ai{--pf-blue:#165a7c;--pf-cyan:#00b0e0;color:#0f0f0f;font-family:'Nunito Sans',sans-serif}
.pf-ai *{box-sizing:border-box}
.pf-ai figure{margin:0}
.pf-ai p,.pf-ai li{font-size:18px;line-height:1.65;color:#62666a}
.pf-ai p{margin:0 0 20px}
.pf-ai h1,.pf-ai h2,.pf-ai h3{margin:0 0 22px;font-weight:700;color:#0f0f0f}
.pf-ai h1{font-size:clamp(40px,4.2vw,64px);line-height:1.16;letter-spacing:-1.5px}
.pf-ai h2{font-size:clamp(30px,3.2vw,46px);line-height:1.22;letter-spacing:-.8px}
.pf-ai h3{font-size:25px;line-height:1.3}
.pf-ai .pf-wrap{max-width:1400px;margin-inline:auto;padding-inline:80px}
.pf-ai .pf-section{padding-block:84px}
.pf-ai .pf-hero{padding-top:70px;padding-bottom:80px;background:linear-gradient(110deg,#fff 70%,#f2fafc)}
.pf-ai .pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.pf-ai .pf-eyebrow{display:block;color:var(--pf-blue);font-size:15px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:20px}
.pf-ai .pf-breadcrumb{font-size:14px;color:#6b7378;margin-bottom:34px}
.pf-ai .pf-breadcrumb a{color:var(--pf-blue)}
.pf-ai .pf-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--pf-blue);color:#fff;border:2px solid var(--pf-blue);border-radius:50px;padding:14px 24px;font-size:16px;font-weight:700;text-decoration:none;transition:background .18s,border-color .18s}
.pf-ai .pf-button:hover{background:#0f465f;border-color:#0f465f;color:#fff}
.pf-ai a:focus-visible{outline:3px solid var(--pf-cyan);outline-offset:5px}
.pf-ai .pf-photo{width:100%;aspect-ratio:1.27;object-fit:cover;display:block;border-radius:75px 10px 75px 10px}
.pf-ai .pf-photo-note{font-size:12px;line-height:1.4;margin:12px 0 0;color:#72797d}
.pf-ai .pf-jump{display:flex;flex-wrap:wrap;gap:10px 22px;margin:26px 0 0}
.pf-ai .pf-jump a{font-size:14px;color:var(--pf-blue);text-decoration:underline;text-underline-offset:4px}
.pf-ai .pf-center{text-align:center;max-width:790px;margin:0 auto 40px}
.pf-ai .pf-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pf-ai .pf-card{border:1px solid #dce8ec;border-radius:12px;padding:30px;background:#fff}
.pf-ai .pf-card p{font-size:17px;margin-bottom:0}
.pf-ai .pf-icon{width:42px;height:42px;color:var(--pf-blue);margin-bottom:20px}
.pf-ai .pf-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pf-ai .pf-soft{background:#f4f7f8}
.pf-ai .pf-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:25px}
.pf-ai .pf-links a{color:var(--pf-blue);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.pf-ai .pf-map{background:#edf8fc;border-radius:70px 10px 70px 10px;padding:38px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pf-ai .pf-map-center{grid-column:1/-1;text-align:center;padding:18px;margin:5px auto;background:var(--pf-blue);color:#fff;border-radius:50%;width:90px;height:90px;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800}
.pf-ai .pf-map-item{background:#fff;border:1px solid #bae3ef;border-radius:10px;padding:20px;text-align:center;color:var(--pf-blue);font-size:17px;font-weight:700}
.pf-ai .pf-map-item span{display:block;font-weight:400;font-size:14px;color:#646c72;margin-top:4px}
.pf-ai .pf-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;list-style:none;padding:0;margin:30px 0 0;counter-reset:steps}
.pf-ai .pf-steps li{counter-increment:steps;padding-top:0}
.pf-ai .pf-steps li:before{content:counter(steps);display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--pf-blue);color:#fff;border-radius:50%;font-weight:800;margin-bottom:20px}
.pf-ai .pf-steps h3{font-size:22px;margin-bottom:12px}
.pf-ai .pf-steps p{font-size:17px;margin:0}
.pf-ai .pf-faq{max-width:930px;margin:auto}
.pf-ai details{border-bottom:1px solid #dae5e9;padding:22px 0}
.pf-ai summary{font-size:20px;font-weight:700;cursor:pointer;line-height:1.4;color:var(--pf-blue)}
.pf-ai details p{padding-top:18px;margin:0;font-size:17px}
.pf-ai .pf-contact{background:var(--pf-blue);color:#fff}
.pf-ai .pf-contact h2,.pf-ai .pf-contact p{color:#fff}
.pf-ai .pf-contact .pf-button{background:#fff;color:var(--pf-blue);border-color:#fff}
.pf-ai .pf-contact .pf-phone{color:#fff;font-weight:700;display:inline-block;margin:22px 0 0;font-size:20px}
.pf-ai .pf-contact .pf-grid{grid-template-columns:1.5fr 1fr}
.pf-ai .pf-contact p{margin-bottom:0}
.pf-ai-teaser{margin:28px 0 0;padding:28px;border-left:4px solid #00b0e0;background:#f4f9fb;border-radius:0 12px 12px 0}
.pf-ai-teaser h3{font:700 25px/1.3 'Nunito Sans',sans-serif;margin:0 0 12px}
.pf-ai-teaser p{font:400 17px/1.55 'Nunito Sans',sans-serif;margin:0 0 14px;color:#62666a}
.pf-ai-teaser a{font:700 16px/1.5 'Nunito Sans',sans-serif;color:#165a7c;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1024px){.pf-ai .pf-wrap{padding-inline:35px}.pf-ai .pf-grid{gap:35px}.pf-ai .pf-section{padding-block:60px}.pf-ai .pf-hero{padding-top:45px}.pf-ai .pf-card{padding:22px}.pf-ai .pf-steps{grid-template-columns:1fr 1fr}.pf-ai .pf-photo{border-radius:55px 8px 55px 8px}}
@media(max-width:767px){.pf-ai .pf-wrap{padding-inline:20px}.pf-ai .pf-grid,.pf-ai .pf-contact .pf-grid{grid-template-columns:1fr;gap:30px}.pf-ai .pf-cards{grid-template-columns:1fr;gap:16px}.pf-ai .pf-section{padding-block:48px}.pf-ai .pf-hero{padding-top:32px;padding-bottom:40px}.pf-ai h1{letter-spacing:-.7px}.pf-ai p,.pf-ai li{font-size:17px}.pf-ai .pf-photo{aspect-ratio:1.5;border-radius:45px 8px 45px 8px}.pf-ai .pf-center{text-align:left;margin-bottom:28px}.pf-ai .pf-map{padding:24px 18px;border-radius:40px 8px 40px 8px}.pf-ai .pf-map-item{padding:14px;font-size:16px}.pf-ai .pf-steps{gap:28px 18px}.pf-ai .pf-steps h3{font-size:20px}.pf-ai .pf-steps p{font-size:16px}.pf-ai .pf-breadcrumb{margin-bottom:25px}.pf-ai-teaser{padding:22px}}
@media(prefers-reduced-motion:reduce){.pf-ai .pf-button{transition:none}}

.pf-ai .pf-hero .pf-photo{object-position:65% center}

/* Independent, equal service cards on the homepage and services overview. */
.pf-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;width:100%;font-family:'Nunito Sans',sans-serif}
.pf-services-grid .pf-service{display:flex;flex-direction:column;background:#fff;border-radius:8px;padding:30px;min-width:0;color:#165a7c}
.pf-service-heading{display:flex;align-items:flex-start;gap:20px;margin-bottom:18px}
.pf-service-heading>img,.pf-service-icon{flex:0 0 44px;width:44px;height:44px}
.pf-services-grid h3{font-size:28px;line-height:1.3;font-weight:700;color:#165a7c;margin:0}
.pf-services-grid p{font-size:16px;line-height:1.55;font-weight:400;color:#62666a;margin:0 0 28px}
.pf-service-icon{display:flex;align-items:center;justify-content:center;border-radius:8px;background:#d8eef7;color:#0095bc}
.pf-service-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.pf-service-button{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:auto;padding:12px 18px;border-radius:50px;background:#165a7c;color:#fff!important;font-size:16px;font-weight:700;line-height:1.3;text-decoration:none!important}
.pf-service-button:hover{background:#0e4762}
.pf-service-button:focus-visible{outline:3px solid #00b0e0;outline-offset:4px}
@media(max-width:1200px){.pf-services-grid{gap:20px}.pf-services-grid .pf-service{padding:24px}.pf-services-grid h3{font-size:24px}.pf-service-heading{gap:14px}}
@media(max-width:900px){.pf-services-grid{grid-template-columns:1fr}.pf-services-grid h3{font-size:26px}.pf-services-grid .pf-service{padding:28px}}
