:root{--container-max-width:1280px;--content-width:800px;--main-padding:0.5rem;--main-margin:0;--border-radius:4px;--gap:0.5rem;--section-padding:2rem;--section-margin:2rem;--header-height:114px;--footer-height:114px;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--menu-breakpoint:640px;--color-bg-main:#fff;--color-bg-accent:#eee;--color-primary:#007bff;--color-accent:#5592b1;--color-success:#bcffbc;--color-news:#e91e63;--color-text-main:#000;--color-text-gray:#6b7280;--color-text-inverse:#fff;--color-font:#373a44;--color-link:#4c91ce;--color-white:#fff;--color-border:#d1d5db;--color-heading:#373a44;--color-border-light:#dad7d7;--color-border-mid:#ccc;--color-border-blue:#5a83a1;--color-bg-blue:#a7c7dc;--color-bg-white:snow;--color-progress-bar:#668fc9;--color-tooltip-bg:rgba(0,0,0,.7);--font-family-base:"Open Sans",arial,sans-serif;--font-awesome:FontAwesome;--font-size-base:0.95em;--font-size-lg:1.25em;--font-size-sm:0.85em;--font-weight-normal:400;--font-weight-bold:600;--font-weight-extra-bold:700;--btn-padding:0.25rem 1.75rem;--btn-padding-vertical:0.5rem;--btn-padding-horizontal:1.0rem;--btn-padding-sm:0.25em 0.5em;--btn-padding-vertical-sm:0.25em;--btn-padding-horizontal-sm:0.5em;--btn-padding-md:0.5em 1.75rem;--btn-padding-vertical-md:0.5em;--btn-padding-lg:1em 1.75rem;--btn-padding-vertical-lg:1em;--btn-border-color:var(--color-border);--btn-border-radius:.375rem;--btn-border-width:1px;--btn-font-size:var(--font-size-base);--btn-font-size-sm:var(--font-size-sm);--btn-font-size-lg:var(--font-size-lg);--btn-font-weight:var(--font-weight-bold);--btn-font-weight-lg:var(--font-weight-extra-bold);--opacity-hover:0.85;--opacity-disabled:0.5;--section-min-height:600px;--copy-max-width:600px;--panel-gap:3rem;--slider-height:125px;--slider-top-offset:-325px;--animation-duration:20s;--slider-cycle-duration:2s;--banner-height:44px;--banner-item-height:41px;--banner-item-width:266px;--primary-banners-max-width:554px}.service-section{display:flex;flex-direction:column;height:100%;max-width:100%;min-height:inherit;min-width:0;overflow:hidden}.service-section .portfolio-wrap{padding:.5rem 0 1rem}.service-section .portfolio-heading{color:inherit;font-size:28px;font-weight:400;letter-spacing:-.01em;margin-bottom:1.5rem}.service-section .portfolio-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.service-section .portfolio-grid .card{aspect-ratio:1.3333333333;background:#e8edf5;border:1px solid rgba(0,0,0,.1);cursor:pointer;outline:none;overflow:hidden;position:relative;transition:box-shadow .18s}.service-section .portfolio-grid .card:focus{box-shadow:0 0 0 2px var(--color-link,#4c91ce);z-index:2}.service-section .portfolio-grid .card.card-inactive{cursor:default;opacity:.5;pointer-events:none}.service-section .portfolio-grid .card img{display:block;height:100%;object-fit:cover;transition:opacity .2s ease;width:100%}.service-section .portfolio-grid .card:hover img{opacity:.88}.service-section .portfolio-grid .card .card-overlay{align-items:center;background:rgba(10,30,70,.78);display:flex;flex-direction:column;gap:6px;inset:0;justify-content:center;opacity:0;padding:10px;position:absolute;text-align:center;transition:opacity .22s ease}.card:focus .service-section .portfolio-grid .card .card-overlay,.card:not(.card-inactive):hover .service-section .portfolio-grid .card .card-overlay{opacity:1}.card-inactive .service-section .portfolio-grid .card .card-overlay{background:rgba(40,40,40,.78);opacity:1}.service-section .portfolio-grid .card:hover .card-overlay{opacity:1}.service-section .portfolio-grid .card-title{color:#fff;font-size:12px;font-weight:500;line-height:1.3;margin:0}.service-section .portfolio-grid .card-intro{color:hsla(0,0%,100%,.8);display:-webkit-box;font-size:10px;line-height:1.45;margin:0;--line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:900px){.service-section .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 .75rem}}@media(max-width:640px){.service-section .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.service-section .portfolio-grid{grid-template-columns:1fr}}