.elementor-kit-2616{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Schibsted Grotesk";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Schibsted Grotesk";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"IBM Plex Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"IBM Plex Sans";--e-global-typography-accent-font-weight:500;}.elementor-kit-2616 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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;}}:root { --maroon:#6E1527; --maroon-deep:#2A0810; --pink-tint:#F5E6E9; --off-white:#EEEEEC; --white:#FFFFFF; --ink:#111111; --orange:#FF7A45; --blue:#5B76FF; --blue-deep:#3F58DE; --blue-mid:#5570F8; --blue-light:#8FA2FF; --slate:#222A3A; --slate-2:#2D3649; --grey-blue:#C9D1E0; --muted:#4A5468; --font-heading:Schibsted Grotesk; --font-body:IBM Plex Sans; --font-mono:Courier Prime; }
/* Start custom CSS *//* Brand font stacks with fallbacks (if a web font ever fails, text stays sans-serif / mono, never Times) */
:root { --font-heading: "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", Arial, sans-serif; --font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif; --font-mono: "Courier Prime", ui-monospace, "Courier New", monospace; }

/* Inline links inside V4 paragraphs and headings */
.e-paragraph-base a, .e-heading-base a { color: inherit; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.e-paragraph-base a:not(.e-paragraph-link-base):hover, .e-heading-base a:hover { color: var(--maroon); }
/* Whole-paragraph links (breadcrumbs, "Read article", CTAs) keep their own colour on hover, so they stay visible on maroon heroes */
.e-paragraph-base a.e-paragraph-link-base:hover { color: inherit; opacity: 0.75; }
.e-paragraph-base strong { font-weight: 600; }

/* Article table of contents: no 01/02 counters, so it doesn't clash with numbered lists and numbered headings in the article */
#toc a > span:first-child { display: none; }

/* Client logo carousel (global classes logo-marquee, logo-track, logo-set, logo-set-dup, logo-img). Always auto-scrolls, pauses on hover. */
@keyframes pl-logo-scroll { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
.elementor .e-con:has(> .logo-marquee) { flex-wrap: nowrap !important; border: 0 !important; }
.elementor .logo-marquee { width: 100%; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.elementor .logo-track { animation: pl-logo-scroll 50s linear infinite; will-change: transform; }
.elementor .logo-marquee:hover .logo-track { animation-play-state: paused; }
.elementor .logo-set { gap: 24px !important; padding-right: 24px !important; }
.elementor .logo-img { height: 72px !important; }
@media (max-width: 767px) {
  .elementor .logo-img { height: 54px !important; }
  .elementor .logo-set { gap: 12px !important; padding-right: 12px !important; }
  .elementor .logo-track { animation-duration: 35s; }
}

/* Sticky site header: stays at the top while scrolling, with a light shadow. Height is 80px desktop/tablet, 64px mobile (set on the header element). */
.elementor-location-header { position: sticky; top: 0; z-index: 1000; box-shadow: 0 1px 0 rgba(17,17,17,0.08), 0 2px 10px rgba(17,17,17,0.06); }
html { scroll-padding-top: 80px; }
@media (min-width: 783px) { .admin-bar .elementor-location-header { top: 32px; } }
@media (min-width: 601px) and (max-width: 782px) { .admin-bar .elementor-location-header { top: 46px; } }
@media (max-width: 767px) { html { scroll-padding-top: 64px; } }/* End custom CSS */