.elementor-kit-8{--e-global-color-primary:#0D3B8E;--e-global-color-secondary:#FFC72C;--e-global-color-text:#0D3B8E;--e-global-color-accent:#FFC72C;--e-global-color-isp_white:#FFFFFF;--e-global-color-isp_ysoft:#FFF6DC;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.12em;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:700;background-color:#FFFFFF;color:#0D3B8E;font-family:"DM Sans", Sans-serif;font-size:17px;line-height:1.65em;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:#0D3B8E;}.elementor-kit-8 a:hover{color:#0D3B8E;}.elementor-kit-8 h1{color:#0D3B8E;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:800;line-height:1.12em;}.elementor-kit-8 h2{color:#0D3B8E;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:800;line-height:1.12em;}.elementor-kit-8 h3{color:#0D3B8E;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:800;line-height:1.12em;}.elementor-kit-8 h4{color:#0D3B8E;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:800;line-height:1.12em;}.elementor-kit-8 h5{color:#0D3B8E;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:800;line-height:1.12em;}.elementor-kit-8 h6{color:#0D3B8E;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:800;line-height:1.12em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0px;--container-default-padding-right:24px;--container-default-padding-bottom:0px;--container-default-padding-left:24px;}.elementor-widget:not(:last-child){--kit-widget-spacing:16px;}.elementor-element{--widgets-spacing:16px 16px;--widgets-spacing-row:16px;--widgets-spacing-column:16px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Ingram Spark Publishing: shared motion + components */
html{scroll-behavior:smooth;}
body{-webkit-font-smoothing:antialiased;}
.isp-btn .elementor-button{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 10px 24px rgba(13,59,142,.14);transition:transform .3s cubic-bezier(.2,.75,.25,1),box-shadow .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease!important;}
.isp-btn .elementor-button:hover{box-shadow:0 16px 34px rgba(13,59,142,.22);}
.isp-btn--yellow .elementor-button:before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.65) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);animation:ispShine 4.2s ease-in-out infinite;z-index:-1;}
.isp-btn--outline-white .elementor-button,.isp-btn--outline-navy .elementor-button{box-shadow:none;}
.isp-btn .elementor-button-icon{transition:transform .35s cubic-bezier(.2,.75,.25,1);}
.isp-btn .elementor-button:hover .elementor-button-icon{transform:translateX(5px);}
.isp-link .elementor-button{padding:0!important;background:transparent!important;box-shadow:none!important;}
.isp-link .elementor-button-text{background-image:linear-gradient(currentColor,currentColor);background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .35s ease;padding-bottom:3px;}
.isp-link .elementor-button:hover .elementor-button-text{background-size:100% 2px;}
.isp-link .elementor-button-icon{transition:transform .35s cubic-bezier(.2,.75,.25,1);}
.isp-link .elementor-button:hover .elementor-button-icon{transform:translateX(6px);}
.isp-card{position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s ease,background-color .45s ease,border-color .45s ease;}
.isp-card:before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,#FFC72C,#FFC72C);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s cubic-bezier(.2,.75,.25,1);z-index:3;}
.isp-card:hover{transform:translateY(-8px);box-shadow:0 26px 50px rgba(13,59,142,.16);}
.isp-card:hover:before{transform:scaleX(1);}
.isp-card .elementor-icon{transition:transform .5s cubic-bezier(.2,.75,.25,1),background-color .4s ease,color .4s ease;}
.isp-card:hover .elementor-icon{transform:rotate(-8deg) scale(1.08);}
.isp-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;}
.isp-eyebrow .elementor-heading-title:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:ispDot 2.4s ease-out infinite;}

.isp-hl-sun{color:#FFC72C;}
@keyframes ispShine{0%,55%{left:-60%;}85%,100%{left:130%;}}
@keyframes ispDot{0%{box-shadow:0 0 0 0 rgba(255,199,44,.55);}70%,100%{box-shadow:0 0 0 7px rgba(255,199,44,0);}}
@keyframes ispFloat{0%,100%{transform:rotate(var(--r,0deg)) translateY(0);}50%{transform:rotate(var(--r,0deg)) translateY(-16px);}}
@keyframes ispDrift{0%,100%{transform:translate3d(0,0,0) scale(1);}50%{transform:translate3d(3%,-4%,0) scale(1.08);}}
@keyframes ispSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}.elementor-invisible{visibility:visible!important;}}
.isp-eyebrow{max-width:max-content!important;}

/* 3-colour system: blue words with a yellow highlighter stroke on light grounds */
.isp-hl-yellow{color:#0D3B8E;background-image:linear-gradient(#FFC72C,#FFC72C);background-repeat:no-repeat;background-size:100% 34%;background-position:0 88%;padding:0 .06em;}
.animated .isp-hl-yellow{animation:ispMark 1s cubic-bezier(.2,.75,.25,1) .45s both;}
.isp-on-yellow .isp-hl-yellow{background-image:linear-gradient(#FFFFFF,#FFFFFF);}
.isp-hl-sun{color:#FFC72C;}
@keyframes ispMark{from{background-size:0% 34%;}to{background-size:100% 34%;}}
/* ISP motion pack v1 */
.isp-eyebrow{position:relative;overflow:hidden;}
.isp-eyebrow:after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.75),rgba(255,255,255,0));transform:skewX(-20deg);animation:ispEyeShine 5.5s ease-in-out infinite;pointer-events:none;}
@keyframes ispEyeShine{0%,60%{left:-70%;}100%{left:140%;}}
@supports (animation-timeline: view()){
 .elementor-widget-image.isp-photo:not(.isp-bg-photo):not(.isp-hero-photo):not(.isp-logo-pic) img{animation:ispImgReveal linear both;animation-timeline:view();animation-range:entry 5% cover 35%;}
 .isp-tile-cover{animation:ispTileRise linear both;animation-timeline:view();animation-range:entry 0% cover 40%;}
}
@keyframes ispImgReveal{from{clip-path:inset(0 0 100% 0);filter:blur(6px) saturate(.6);}to{clip-path:inset(0 0 0 0);filter:blur(0) saturate(1);}}
@keyframes ispTileRise{from{clip-path:inset(100% 0 0 0 round 8px 18px 18px 8px);}to{clip-path:inset(0 0 0 0 round 8px 18px 18px 8px);}}
.isp-tile-cover:after{background:linear-gradient(115deg,rgba(255,255,255,0) 35%,rgba(255,255,255,.38) 48%,rgba(255,255,255,0) 60%)!important;background-size:260% 100%!important;background-position:130% 0;transform:none!important;animation:ispCoverShine 6.5s ease-in-out infinite;}
.isp-tile:nth-child(2) .isp-tile-cover:after{animation-delay:1.4s;}
.isp-tile:nth-child(3) .isp-tile-cover:after{animation-delay:2.8s;}
.isp-tile:nth-child(4) .isp-tile-cover:after{animation-delay:4.2s;}
@keyframes ispCoverShine{0%,70%{background-position:130% 0;}100%{background-position:-60% 0;}}
.isp-stat{position:relative;border-top-color:rgba(255,199,44,.25)!important;}
.isp-stat:before{content:"";position:absolute;left:0;top:-3px;height:3px;width:100%;background:#FFC72C;transform:scaleX(0);transform-origin:0 50%;}
.isp-stat.animated:before{animation:ispGrowBar 1.3s cubic-bezier(.2,.75,.25,1) .35s forwards;}
@keyframes ispGrowBar{to{transform:scaleX(1);}}
.isp-card.animated .elementor-widget-icon .elementor-icon,.isp-role.animated .isp-role-badge .elementor-icon{animation:ispIconPop .9s cubic-bezier(.34,1.56,.64,1) .45s backwards;}
@keyframes ispIconPop{from{transform:scale(0) rotate(-35deg);opacity:0;}to{transform:scale(1) rotate(0);opacity:1;}}
.isp-role-img{animation:ispBob 5s ease-in-out infinite;}
.isp-role:nth-child(2) .isp-role-img{animation-delay:-1.6s;}
.isp-role:nth-child(3) .isp-role-img{animation-delay:-3.2s;}
@keyframes ispBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
.isp-bg-photo img{animation:ispKenBg 22s ease-in-out infinite alternate;}
@keyframes ispKenBg{from{transform:scale(1.02) translate(0,0);}to{transform:scale(1.14) translate(-2%,-1.5%);}}
.isp-cta .isp-btn--yellow .elementor-button,.isp-svc--featured .isp-link .elementor-button-icon{animation:ispBtnPulse2 2.6s ease-out 1.5s infinite;}
.isp-svc--featured .isp-link .elementor-button-icon{animation:ispNudge2 2s ease-in-out infinite;}
@keyframes ispBtnPulse2{0%{box-shadow:0 0 0 0 rgba(255,199,44,.6);}70%{box-shadow:0 0 0 18px rgba(255,199,44,0);}100%{box-shadow:0 0 0 0 rgba(255,199,44,0);}}
@keyframes ispNudge2{0%,100%{transform:translateX(0);}50%{transform:translateX(6px);}}
.isp-why .elementor-heading-title,.isp-svc .elementor-heading-title{transition:color .35s ease,letter-spacing .35s ease;}
.isp-why:hover .elementor-heading-title{letter-spacing:.2px;}
.isp-flinks .elementor-icon-list-icon{transition:transform .35s cubic-bezier(.2,.75,.25,1);}
.isp-flinks .elementor-icon-list-item:hover .elementor-icon-list-icon{transform:translateX(3px) rotate(90deg);}
.isp-marquee--rev .isp-marquee-track{animation-direction:reverse!important;animation-duration:52s!important;}
@media (prefers-reduced-motion: reduce){.isp-eyebrow:after,.isp-role-img,.isp-bg-photo img,.isp-tile-cover:after{animation:none!important;}}/* End custom CSS */