.prime-elements{font-family:var(--p-font-family,inherit);text-align:var(--p-align,center);width:100%;min-width:0;color:var(--p-text-color,#687783)}
.prime-elements,.prime-elements *{box-sizing:border-box}.prime-elements [hidden]{display:none!important}
.prime-grid{display:grid;grid-template-columns:repeat(var(--p-columns,3),minmax(0,1fr));gap:var(--p-gap,28px)}
.prime-elements .prime-card{margin:0;min-width:0;padding:var(--p-padding,36px);border:var(--p-border-width,1px) solid var(--p-border-color,#e5e9ec);border-radius:var(--p-radius,6px);background:var(--p-card-color,#fff);transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;overflow:hidden}
.prime-elements .prime-title{font-size:var(--p-title-size,30px);font-weight:var(--p-title-weight,600);line-height:1.3;color:var(--p-title-color,#03283d);margin:0 0 20px;font-family:inherit;text-transform:none;letter-spacing:normal;overflow-wrap:anywhere;transition:color .25s}
.prime-elements .prime-title a{color:inherit;text-decoration:none}.prime-elements a:focus-visible,.prime-elements button:focus-visible{outline:3px solid var(--p-accent-color,#009cae);outline-offset:5px}
.prime-description{font-size:var(--p-description-size,18px);line-height:var(--p-line-height,1.7);color:var(--p-text-color,#687783);overflow-wrap:anywhere;transition:color .25s}
.prime-elements .prime-section-heading{font-family:inherit;font-size:var(--p-section-size,40px);font-weight:var(--p-title-weight,600);line-height:1.25;color:var(--p-title-color,#03283d);margin:0 0 32px;overflow-wrap:anywhere}
.prime-image-wrap{height:var(--p-image-height,250px);overflow:hidden;margin-block-end:28px;border-radius:calc(var(--p-radius,6px)/2)}
.prime-elements img.prime-service-image{display:block;width:100%;max-width:100%;height:100%;object-fit:var(--p-image-fit,cover);object-position:var(--p-image-position,center);transition:transform .4s ease}
.prime-icon{width:var(--p-icon-size,64px);height:var(--p-icon-size,64px);margin:0 auto 28px;color:var(--p-accent-color,#009cae)}.prime-icon svg,.prime-icon img{width:100%;height:100%;object-fit:contain;display:block}
.prime-elements[style*="--p-align:start"] .prime-icon{margin-inline:0 auto}.prime-elements[style*="--p-align:end"] .prime-icon{margin-inline:auto 0}
.prime-number{display:block;color:var(--p-accent-color,#009cae);font-size:var(--p-number-size,64px);line-height:1;font-weight:700;margin-block-end:32px}
.prime-hover-lift .prime-card:hover{transform:translateY(-7px)}.prime-elements:not(.prime-hover-none) .prime-card:hover{background:var(--p-hover-color,#fff);border-color:var(--p-hover-border,#009cae)}
.prime-elements:not(.prime-hover-none) .prime-card:hover .prime-title{color:var(--p-hover-title,#03283d)}.prime-elements:not(.prime-hover-none) .prime-card:hover .prime-description{color:var(--p-hover-text,#687783)}
.prime-hover-lift .prime-card:hover .prime-service-image{transform:scale(1.035)}.prime-shadow:not(.prime-hover-none) .prime-card:hover{box-shadow:0 16px 36px var(--p-shadow-color,rgba(0,156,174,.16))}
.prime-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-block-start:30px}
.prime-elements .prime-pagination button{appearance:none;font-family:inherit;font-size:var(--p-button-size,18px);line-height:1.4;min-width:44px;min-height:44px;padding:9px 15px;border:1px solid var(--p-border-color,#e5e9ec);border-radius:var(--p-button-radius,50px);background:var(--p-card-color,#fff);color:var(--p-title-color,#03283d);cursor:pointer;transition:background .2s,color .2s}
.prime-elements .prime-pagination button[aria-current="page"]{background:var(--p-button-color,#009cae);color:var(--p-button-text,#fff);border-color:var(--p-button-color,#009cae)}
.prime-elements .prime-pagination button:hover:not(:disabled){background:var(--p-button-hover,#03283d);color:var(--p-button-hover-text,#fff)}.prime-pagination button:disabled{opacity:.4;cursor:default}
.prime-cta-panel{position:relative;isolation:isolate;overflow:hidden;padding:var(--p-cta-padding,64px);border-radius:var(--p-cta-radius,28px);background:linear-gradient(115deg,var(--p-gradient-start,#009cae),var(--p-gradient-end,#03283d));color:var(--p-cta-text,#fff)}
.prime-decorations:before,.prime-decorations:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgb(255 255 255 / 8%);z-index:-1;pointer-events:none}.prime-decorations:before{inset-block-start:-140px;inset-inline-end:-80px}.prime-decorations:after{inset-block-end:-180px;inset-inline-start:-100px}
.prime-badge{display:inline-block;border-radius:50px;background:rgb(255 255 255 / 14%);font-size:14px;font-weight:600;padding:12px 22px;margin-block-end:28px;overflow-wrap:anywhere;max-width:100%}
.prime-elements .prime-cta-title{font-family:inherit;font-size:var(--p-cta-title-size,42px);font-weight:var(--p-title-weight,600);line-height:1.25;margin:0 0 26px;color:inherit;overflow-wrap:anywhere}
.prime-cta-description{font-size:var(--p-description-size,18px);line-height:var(--p-line-height,1.7);max-width:950px;margin-inline:auto;overflow-wrap:anywhere}
.prime-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-block-start:36px}.prime-elements[style*="--p-align:start"] .prime-buttons{justify-content:flex-start}.prime-elements[style*="--p-align:end"] .prime-buttons{justify-content:flex-end}
.prime-elements .prime-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;font-family:inherit;font-size:var(--p-button-size,18px);font-weight:600;line-height:1.4;padding:17px 28px;text-decoration:none;border:2px solid transparent;border-radius:var(--p-button-radius,50px);background:var(--p-button-color,#009cae);color:var(--p-button-text,#fff);transition:transform .25s,background .25s,color .25s;max-width:100%;overflow-wrap:anywhere}
.prime-elements .prime-button-secondary{background:transparent;border-color:currentColor;color:var(--p-cta-text,#fff)}.prime-elements .prime-button:hover{transform:translateY(-3px);background:var(--p-button-hover,#03283d);color:var(--p-button-hover-text,#fff)}
.prime-arrow{display:inline-block;flex-shrink:0}.prime-elements:dir(rtl) .prime-arrow{transform:scaleX(-1)}.prime-elements:dir(rtl) .prime-cta-panel{background:linear-gradient(245deg,var(--p-gradient-start,#009cae),var(--p-gradient-end,#03283d))}
@media(max-width:1024px){.prime-grid{grid-template-columns:repeat(var(--p-tablet-columns,2),minmax(0,1fr))}.prime-cta-panel{padding:min(var(--p-cta-padding,64px),40px)}}
@media(max-width:600px){.prime-grid{grid-template-columns:repeat(var(--p-mobile-columns,1),minmax(0,1fr));gap:min(var(--p-gap,28px),24px)}.prime-elements .prime-card{padding:min(var(--p-padding,36px),24px)}.prime-cta-panel{padding:min(var(--p-cta-padding,64px),28px)}.prime-elements .prime-cta-title{font-size:min(var(--p-cta-title-size,42px),32px)}.prime-elements .prime-section-heading{font-size:min(var(--p-section-size,40px),32px)}.prime-elements .prime-button{width:100%;padding:14px 18px}.prime-buttons{gap:12px}}
@media(prefers-reduced-motion:reduce){.prime-elements *{transition:none!important}.prime-elements .prime-card:hover,.prime-elements .prime-button:hover,.prime-elements .prime-card:hover .prime-service-image{transform:none}}
/* About Us: adapted from Company Kit's Two Image Stack. */
.prime-about-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--p-gap,28px);align-items:center;min-width:0}
.prime-about-panel{min-width:0;padding:var(--p-padding,32px);background:var(--p-card-color,#fff);border:var(--p-border-width,1px) solid var(--p-border-color,#e5e9ec);border-radius:var(--p-radius,6px);transition:border-color .25s}
.prime-about-panel:hover{border-color:var(--p-hover-border,#009cae)}
.prime-about-eyebrow{font-size:var(--p-eyebrow-size,22px);font-weight:600;color:var(--p-accent-color,#009cae);margin-block-end:22px;line-height:1.4;overflow-wrap:anywhere}
.prime-about .prime-title{margin-block-end:32px}.prime-about-description p{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;margin:0 0 22px}.prime-about-description p:last-child{margin-block-end:0}
.prime-about .prime-about-button{margin-block-start:32px;min-width:200px;min-height:58px;padding:14px 32px;border-radius:var(--p-button-radius,50px)}
.prime-about-images{min-width:0;width:100%;padding:0}
.prime-about-image{margin:0;width:100%;border-radius:var(--p-image-radius,16px);overflow:hidden;transition:transform .3s ease}
.prime-about .prime-about-image img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover}
.prime-about-image-first .prime-about-images{order:-1}.prime-about-text-only .prime-about-layout{grid-template-columns:minmax(0,1fr)}
@media(hover:hover){.prime-about-image:hover{transform:translateY(calc(var(--p-hover-lift,4px)*-1))}}
@media(max-width:767px){.prime-about-layout{grid-template-columns:minmax(0,1fr)}.prime-about-panel{padding:min(var(--p-padding,32px),24px)}.prime-about .prime-about-button{min-width:0;width:auto;max-width:100%}}
@media(prefers-reduced-motion:reduce){.prime-about-image{transition:none}.prime-about-image:hover{transform:none}}
/* Justify About Us copy, preserving natural last-line alignment in LTR and RTL. */
.prime-about .prime-about-description,.prime-about .prime-about-description p{text-align:justify;text-align-last:start}
/* Carousel mode retains the same Services cards. All cards fall back to a grid without JS. */
.prime-carousel-active .prime-carousel-viewport{position:relative;overflow:hidden;touch-action:pan-y;padding-block:10px 22px;min-width:0}
.prime-carousel-active .prime-grid{position:relative;width:100%;height:100%;z-index:1;display:flex;gap:0;transition-property:transform;box-sizing:content-box;align-items:stretch}
.prime-carousel-active .prime-card{flex-shrink:0;position:relative;width:100%;height:auto}
.prime-carousel-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-block-start:18px;flex-wrap:wrap}
.prime-elements .prime-carousel-arrow{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;width:var(--p-nav-size,46px);height:var(--p-nav-size,46px);min-height:0;border-radius:50%;border:1px solid var(--p-accent-color,#009cae);color:var(--p-accent-color,#009cae);background:var(--p-card-color,#fff);cursor:pointer;transition:background .2s,color .2s}
.prime-carousel-arrow svg{display:block;width:45%;height:45%}.prime-elements:dir(rtl) .prime-carousel-arrow svg{transform:scaleX(-1)}
.prime-elements .prime-carousel-arrow:hover{background:var(--p-button-hover,#03283d);color:var(--p-button-hover-text,#fff)}.prime-carousel-disabled{opacity:.35;cursor:default!important}
.prime-carousel-dots{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.prime-elements .prime-carousel-dot{appearance:none;position:relative;display:block;width:var(--p-dot-size,9px);height:var(--p-dot-size,9px);min-width:0;min-height:0;padding:0;margin:0;border:0;border-radius:50px;background:var(--p-border-color,#e5e9ec);cursor:pointer;transition:width .25s,background .25s}
.prime-carousel-dot:after{content:"";position:absolute;inset:-9px -4px}.prime-elements .prime-carousel-dot.prime-dot-active{width:calc(var(--p-dot-size,9px)*3);background:var(--p-accent-color,#009cae)}
@media(prefers-reduced-motion:reduce){.prime-carousel-active .prime-grid{transition-duration:0ms!important}}

/* Simple page heading banner: inherits page direction and theme font. */
.prime-page-heading{box-sizing:border-box;width:100%;min-width:0;padding:var(--ph-padding,140px) 24px;text-align:var(--ph-align,center);background:linear-gradient(var(--ph-gradient-angle,90deg),var(--ph-gradient-start,#03283d),var(--ph-gradient-end,#009cae));font-family:var(--ph-font-family,inherit)}
.prime-page-heading .prime-page-heading-title{margin:0;padding:0;font-family:inherit;font-size:var(--ph-title-size,64px);font-weight:var(--ph-title-weight,700);line-height:1.2;color:var(--ph-title-color,#fff);text-transform:none;letter-spacing:normal;overflow-wrap:anywhere}
@media(max-width:767px){.prime-page-heading{padding-block:var(--ph-mobile-padding,80px)}.prime-page-heading .prime-page-heading-title{font-size:var(--ph-mobile-title-size,40px)}}
