/* Native recreation of observed demo interactions. */
.eccum-slide{isolation:isolate;overflow:hidden;position:relative;background-image:none!important;background-color:#1c3859}.eccum-slide::before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--slide-image);background-size:cover;background-position:center}.eccum-slide::after{content:"";position:absolute;inset:0;background:#0003;z-index:-1}.eccum-slide.is-active::before{animation:eccum-bg-zoom 1s cubic-bezier(.25,.46,.45,.94) both}.eccum-slide.is-active h1{animation:eccum-fade-right .4s .7s both}.eccum-slide.is-active>div>.eccum-rich:first-child{animation:eccum-fade-down .3s 1.1s both}.eccum-slide.is-active>div>.eccum-rich:not(:first-child):not(h1),.eccum-slide.is-active .eccum-button{animation:eccum-fade-up .3s 1.1s both}.eccum-slide .eccum-rich{color:inherit}.slider-controls{gap:18px;min-width:41%;padding:23px 30px;font-size:14px}.slider-progress{width:100px;height:2px;background:#ffffff50}.slider-progress>span{display:block;height:100%;background:white;transition:width .6s ease}.slider-next-title{font-size:14px;padding-left:12px}.slider-controls button{transition:translate .25s}.slider-controls button:hover{translate:4px 0}.eccum-cta{display:inline-flex;align-items:center;gap:14px;transition:background .3s,color .3s}.cta-window{display:block;overflow:hidden;line-height:1.5;height:1.5em}.cta-copy{display:block;transition:translate .35s cubic-bezier(.4,0,.2,1)}.eccum-cta:hover .cta-copy,.eccum-cta:focus-visible .cta-copy{translate:0 -100%}.cta-arrow{transition:translate .3s}.eccum-cta:hover .cta-arrow{translate:4px 0}.image-stack{overflow:visible;min-height:0}.image-stack .eccum-image{overflow:visible}.image-stack .eccum-image img{border-radius:inherit;display:block}.motion-rotate>img{animation:eccum-rotate 60s linear infinite}.motion-reveal{position:relative}.motion-enabled .motion-reveal>img{clip-path:inset(0 0 100% 0)}.motion-enabled .motion-reveal.is-visible>img{clip-path:inset(0);transition:clip-path 1.2s cubic-bezier(.77,0,.175,1)}.service-card{transition:translate .4s,box-shadow .4s,background-color .4s}.service-card:hover{translate:0 -7px;box-shadow:0 20px 45px #162b4425}.news-card{overflow:hidden;transition:box-shadow .35s,translate .35s}.news-card>a{display:block;overflow:hidden}.news-card img{transition:scale .6s}.news-card:hover{box-shadow:0 15px 35px #162b441a;translate:0 -4px}.news-card:hover img{scale:1.05}.eccum-news-carousel{max-width:1170px;margin:auto;min-width:0}.eccum-news-carousel .carousel-track{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 56px)/3);gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:12px 0 30px}.carousel-track::-webkit-scrollbar{display:none}.carousel-track>.news-card{scroll-snap-align:start;min-width:0;border-radius:18px;box-shadow:0 10px 30px #162b4415}.carousel-dots{display:flex;gap:8px;justify-content:center;padding:10px}.carousel-dots button{width:9px;height:9px;min-width:9px;padding:0;border:0;border-radius:50%;background:#c9c9c9;cursor:pointer;transition:scale .25s,background .25s}.carousel-dots button[aria-pressed=true]{background:var(--red);scale:1.2}.eccum-accordion{interpolate-size:allow-keywords}.eccum-accordion::details-content{height:0;overflow:clip;transition:height .35s ease,content-visibility .35s allow-discrete}.eccum-accordion[open]::details-content{height:auto}.eccum-accordion[open] .accordion-body{animation:eccum-fade-up .3s both}.site-header.is-sticky{position:fixed;background:#1c3859;box-shadow:0 4px 20px #0001;animation:eccum-header .25s both}.site-header.is-sticky .topbar{display:none}.site-header.is-sticky .brand-row{height:78px}.main-nav a{position:relative}.main-nav>ul>li>a::after{content:"";position:absolute;bottom:5px;left:0;height:3px;width:0;background:var(--red);transition:width .3s}.main-nav>ul>li:hover>a::after,.main-nav>ul>li>a[aria-current=page]::after{width:100%}.partner-logo{max-width:161px}.social-links a{display:inline-block;color:white;transition:color .3s,translate .3s}.social-links a:hover{color:var(--red);translate:0 -2px}
.service-card{position:relative;font-size:14px;margin-bottom:20px}.service-card>.eccum-image{position:absolute;top:36px;left:50%;translate:-50% 0;width:100px;margin:0}.service-card h3{font-size:20px;line-height:1.25}.service-card .eccum-rich p{line-height:1.5}.service-card .eccum-rich strong{color:var(--red)}.service-card h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}.service-card:hover{background:#022047}.service-card:hover h3,.service-card:hover h3 a,.service-card:hover .eccum-rich p,.service-card:hover .eccum-rich strong{color:white}.service-card:hover>.eccum-image img{filter:brightness(0) invert(1)}
@keyframes eccum-bg-zoom{from{scale:1.08}to{scale:1}}@keyframes eccum-fade-right{from{opacity:0;translate:-45px 0}to{opacity:1;translate:0}}@keyframes eccum-fade-up{from{opacity:0;translate:0 22px}to{opacity:1;translate:0}}@keyframes eccum-fade-down{from{opacity:0;translate:0 -22px}to{opacity:1;translate:0}}@keyframes eccum-rotate{to{rotate:360deg}}@keyframes eccum-header{from{translate:0 -100%}to{translate:0}}
.eccum-icon-list ul{list-style:none;padding:0}.eccum-icon-list li{display:flex;gap:15px;align-items:flex-start;margin-bottom:16px}.eccum-icon-list li>img{width:18px!important;height:18px;flex:0 0 18px;margin-top:3px;border-radius:0}.social-links img,.topbar .socials img{width:14px;height:14px;object-fit:contain;border-radius:0;vertical-align:middle}.main-nav{font-size:14px}.topbar{font-size:12px}.topbar>a:first-child::first-letter{color:var(--red)}
.contact-form .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-form .field-grid>label{margin:0;min-width:0}.contact-form .field-grid>label:nth-child(n+3){grid-column:1/-1}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#ffffff70;opacity:1}.contact-form .field-grid input,.contact-form .field-grid textarea{font-size:14px;padding:8px 0}.contact-form .field-grid{margin-bottom:25px}.contact-form button[type=submit]{float:right}.eccum-column[style*="background-color:#1c3859" i]>.contact-form{padding:0;background:transparent}
@media(max-width:767px){.contact-form .field-grid{grid-template-columns:1fr}}
@media(max-width:1024px){.slider-next-title{font-size:12px}.slider-progress{width:65px}.eccum-news-carousel .carousel-track{grid-auto-columns:calc((100% - 28px)/2)}}@media(max-width:767px){.slider-next-title{display:none}.slider-controls{min-width:0;gap:14px;padding:16px 20px}.slider-progress{width:65px}.eccum-news-carousel .carousel-track{grid-auto-columns:100%}.motion-rotate>img{animation-duration:90s}.site-header.is-sticky .main-nav{top:78px}.topbar{font-size:9px}}
@media(prefers-reduced-motion:reduce){.eccum-slide.is-active::before,.eccum-slide.is-active h1,.eccum-slide.is-active>div>.eccum-rich,.eccum-slide.is-active .eccum-button,.motion-rotate>img,.eccum-accordion[open] .accordion-body,.site-header.is-sticky{animation:none!important}.motion-enabled .motion-reveal>img{clip-path:none!important}.service-card:hover,.news-card:hover{translate:none}.news-card:hover img{scale:1}*{transition:none!important}}
@media(min-width:1025px){.eccum-section,.eccum-inner-section{flex-wrap:nowrap!important}}
/* Keep the stack's containing block stable; positions come from recovered-layout. */
body .image-stack{position:relative;isolation:isolate}
/* A hovered dark service card must override builder text colours as well. */
body .service-card:is(:hover,:focus-within) :is(.eccum-rich,h3,h3 a,p,strong,b){color:#fff!important}
body .service-card:focus-within{background:#022047}
body .service-card:focus-within>.eccum-image img{filter:brightness(0) invert(1)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#e1e7ed;opacity:1}
