.elementor-widget-counter .elementor-counter-number-wrapper{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-counter .elementor-counter-title{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-61 .elementor-element.elementor-element-1d98d7c8 .elementor-counter-number-wrapper{color:#761817;font-family:"Big Shoulders Display", Sans-serif;font-size:48px;font-weight:800;line-height:1;}.elementor-61 .elementor-element.elementor-element-2358eddc .elementor-counter-number-wrapper{color:#761817;font-family:"Big Shoulders Display", Sans-serif;font-size:48px;font-weight:800;line-height:1;}.elementor-61 .elementor-element.elementor-element-5e692cdb .elementor-counter-number-wrapper{color:#761817;font-family:"Big Shoulders Display", Sans-serif;font-size:48px;font-weight:800;line-height:1;}.elementor-61 .elementor-element.elementor-element-4eea3d26 .elementor-counter-number-wrapper{text-align:{{VALUE}};--counter-prefix-grow:1;--counter-suffix-grow:1;--counter-number-grow:0;color:#FFCB21;font-family:"Big Shoulders Display", Sans-serif;font-size:44px;font-weight:800;line-height:1;}.elementor-61 .elementor-element.elementor-element-7da2844b .elementor-counter-number-wrapper{color:#761817;font-family:"Big Shoulders Display", Sans-serif;font-size:48px;font-weight:800;line-height:1;}.elementor-61 .elementor-element.elementor-element-2bd63e18 .elementor-counter-number-wrapper{color:#761817;font-family:"Big Shoulders Display", Sans-serif;font-size:48px;font-weight:800;line-height:1;}.elementor-61 .elementor-element.elementor-element-f5bb4fc .elementor-counter-number-wrapper{color:#761817;font-family:"Big Shoulders Display", Sans-serif;font-size:48px;font-weight:800;line-height:1;}@media(max-width:767px){.elementor-61 .elementor-element.elementor-element-1d98d7c8 .elementor-counter-number-wrapper{font-size:34px;}.elementor-61 .elementor-element.elementor-element-2358eddc .elementor-counter-number-wrapper{font-size:34px;}.elementor-61 .elementor-element.elementor-element-5e692cdb .elementor-counter-number-wrapper{font-size:34px;}.elementor-61 .elementor-element.elementor-element-4eea3d26 .elementor-counter-number-wrapper{font-size:34px;}.elementor-61 .elementor-element.elementor-element-7da2844b .elementor-counter-number-wrapper{font-size:34px;}.elementor-61 .elementor-element.elementor-element-2bd63e18 .elementor-counter-number-wrapper{font-size:34px;}.elementor-61 .elementor-element.elementor-element-f5bb4fc .elementor-counter-number-wrapper{font-size:34px;}}/* Start custom CSS */html { scroll-behavior: smooth; }
body.elementor-page-61 [id] { scroll-margin-top: 84px; }

/* Icons: centre every Font Awesome glyph inside its box */
body.elementor-page-61 .e-svg-base { display: flex !important; align-items: center; justify-content: center; line-height: 0; }
body.elementor-page-61 .e-svg-base svg { display: block; width: 100%; height: 100%; }

/* Marquees */
body.elementor-page-61 .cn-marquee-track { animation: cn-marquee 46s linear infinite; }
body.elementor-page-61 .cn-section-white .cn-marquee-track { animation-duration: 64s; animation-direction: reverse; }
body.elementor-page-61 .cn-marquee:hover .cn-marquee-track { animation-play-state: paused; }
@keyframes cn-marquee { to { transform: translateX(-50%); } }

/* Buttons: soft sheen sweep */
body.elementor-page-61 .cn-btn { position: relative; overflow: hidden; isolation: isolate; }
body.elementor-page-61 .cn-btn::after { content: ''; position: absolute; inset: 0 auto 0 -60%; width: 40%; background: linear-gradient(100deg, transparent, color-mix(in srgb, var(--cn-white) 38%, transparent), transparent); transform: skewX(-20deg); transition: left 0.8s cubic-bezier(.2,.7,.2,1); pointer-events: none; }
body.elementor-page-61 .cn-btn:hover::after { left: 130%; }

body.elementor-page-61 .cn-mbar { box-sizing: border-box; }

@media (prefers-reduced-motion: no-preference) {
  body.elementor-page-61 .cn-unveil { animation: cn-unveil 1.3s cubic-bezier(.65,0,.35,1) 0.15s both, cn-float 7s ease-in-out 1.6s infinite; }
  @keyframes cn-unveil { from { clip-path: inset(100% -40px -40px -40px round 999px 999px 28px 28px); } to { clip-path: inset(-40px -40px -40px -40px round 999px 999px 28px 28px); } }
  @keyframes cn-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
  body.elementor-page-61 .cn-pop { animation: cn-pop 0.8s cubic-bezier(.34,1.56,.64,1) 1.1s both; }
  @keyframes cn-pop { from { scale: 0.4; opacity: 0; } to { scale: 1; opacity: 1; } }
  body.elementor-page-61 .cn-spin::before { content: ''; position: absolute; inset: -9px; border: 2px dashed var(--cn-maroon); border-radius: 50%; animation: cn-spin 30s linear infinite; pointer-events: none; }
  @keyframes cn-spin { to { rotate: 360deg; } }
  body.elementor-page-61 .cn-slide-in { animation: cn-slide 0.9s cubic-bezier(.2,.8,.2,1) 1.4s both; }
  @keyframes cn-slide { from { translate: 40px 0; opacity: 0; } to { translate: 0 0; opacity: 1; } }
  body.elementor-page-61 .cn-float { animation: cn-float 6s ease-in-out infinite; }
  body.elementor-page-61 .cn-h1 strong { background: linear-gradient(color-mix(in srgb, var(--cn-maroon) 100%, transparent), color-mix(in srgb, var(--cn-maroon) 100%, transparent)) 0 94% / 0% 6px no-repeat; animation: cn-underline 1s 0.6s cubic-bezier(.2,.7,.2,1) forwards; }
  @keyframes cn-underline { to { background-size: 100% 6px; } }
  body.elementor-page-61 .e-tab-content { animation: cn-pane 0.45s ease both; }
  @keyframes cn-pane { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
  body.elementor-page-61 .cn-mbar { animation: cn-rise-bar 0.6s cubic-bezier(.2,.8,.2,1) 1.2s both; }
  @keyframes cn-rise-bar { from { translate: 0 140%; } to { translate: 0 0; } }
}

/* Scroll-driven motion: text is never hidden; only cards and images move, finishing before they are half in view */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    body.elementor-page-61 .cn-header::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: linear-gradient(90deg, var(--cn-yellow), var(--cn-saffron), var(--cn-maroon)); transform-origin: 0 50%; animation: cn-progress linear both; animation-timeline: scroll(root); pointer-events: none; }
    @keyframes cn-progress { from { scale: 0 1; } to { scale: 1 1; } }
    body.elementor-page-61 .cn-card, body.elementor-page-61 .cn-fact { animation: cn-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; }
    @keyframes cn-rise { from { opacity: 0.15; translate: 0 56px; scale: 0.96; } to { opacity: 1; translate: 0 0; scale: 1; } }
    body.elementor-page-61 .cn-h2 strong { background: linear-gradient(color-mix(in srgb, var(--cn-yellow) 70%, transparent), color-mix(in srgb, var(--cn-yellow) 70%, transparent)) 0 88% / 0% 0.22em no-repeat; animation: cn-mark linear both; animation-timeline: view(); animation-range: entry 60% cover 40%; }
    body.elementor-page-61 .cn-section-yellow .cn-h2 strong, body.elementor-page-61 .cn-section-dark .cn-h2 strong, body.elementor-page-61 .cn-section-saffron .cn-h2 strong { background-image: linear-gradient(color-mix(in srgb, var(--cn-white) 35%, transparent), color-mix(in srgb, var(--cn-white) 35%, transparent)); }
    @keyframes cn-mark { to { background-size: 100% 0.22em; } }
  }
}

@media (prefers-reduced-motion: reduce) { body.elementor-page-61 *, body.elementor-page-61 *::before, body.elementor-page-61 *::after { animation: none !important; transition: none !important; } }

/* Carousels (science levers, case studies): scroll-snap, native arrows and dots where supported */
body.elementor-page-61 .cn-carousel { scrollbar-color: var(--cn-saffron) color-mix(in srgb, var(--cn-maroon) 12%, transparent); }
body.elementor-page-61 .cn-section-dark .cn-carousel { scrollbar-color: var(--cn-yellow) color-mix(in srgb, var(--cn-cream) 15%, transparent); }
@supports (scroll-marker-group: after) {
  body.elementor-page-61 .cn-carousel { scrollbar-width: none; scroll-marker-group: after; }
  body.elementor-page-61 .cn-carousel::scroll-button(*) { display: inline-block; width: 50px; height: 50px; margin-block-start: 10px; border: 0; border-radius: 50%; background-color: var(--cn-maroon); background-repeat: no-repeat; background-position: center; background-size: 22px 22px; box-shadow: 0 10px 22px -12px color-mix(in srgb, var(--cn-maroon) 80%, transparent); cursor: pointer; transition: background-color 0.3s, translate 0.3s, opacity 0.3s, box-shadow 0.3s; }
  body.elementor-page-61 .cn-carousel::scroll-button(left) { content: '' / 'Previous'; margin-inline-end: -20px; /* 40px section column-gap minus 20px = 20px between arrows */ background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23FFCB21%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M14.5%206l-6%206%206%206%27/%3E%3C/svg%3E"); }
  body.elementor-page-61 .cn-carousel::scroll-button(right) { content: '' / 'Next'; margin-inline-end: auto; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23FFCB21%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9.5%206l6%206-6%206%27/%3E%3C/svg%3E"); }
  body.elementor-page-61 .cn-carousel::scroll-button(left):hover { background-color: var(--cn-saffron); translate: -3px 0; }
  body.elementor-page-61 .cn-carousel::scroll-button(right):hover { background-color: var(--cn-saffron); translate: 3px 0; }
  body.elementor-page-61 .cn-carousel::scroll-button(*):disabled { opacity: 0.25; cursor: default; translate: 0 0; background-color: var(--cn-maroon); box-shadow: none; }
  body.elementor-page-61 .cn-carousel::scroll-marker-group { display: flex; gap: 8px; align-items: center; }
  body.elementor-page-61 .cn-slide::scroll-marker { content: ''; display: block; width: 10px; height: 10px; border-radius: 99px; background: color-mix(in srgb, var(--cn-maroon) 25%, transparent); transition: width 0.35s, background-color 0.35s; }
  body.elementor-page-61 .cn-slide::scroll-marker:target-current { width: 34px; background: var(--cn-saffron); }
}
@supports (animation-timeline: view(inline)) {
  @media (prefers-reduced-motion: no-preference) {
    body.elementor-page-61 .cn-slide { animation: cn-slide-in linear both, cn-slide-out linear both; animation-timeline: view(inline), view(inline); animation-range: entry 0% entry 100%, exit 0% exit 100%; }
    @keyframes cn-slide-in { from { opacity: 0.35; scale: 0.9; } to { opacity: 1; scale: 1; } }
    @keyframes cn-slide-out { from { opacity: 1; scale: 1; } to { opacity: 0.35; scale: 0.9; } }
    body.elementor-page-61 #case-track .cn-slide img { animation: cn-reveal linear both; animation-timeline: view(inline); animation-range: entry 10% entry 90%; }
    @keyframes cn-reveal { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
  }
}

/* FAQ: plus icon turns into a close icon when open */
body.elementor-page-61 #faq details summary svg { transition: transform 0.35s ease; transform: none !important; }
body.elementor-page-61 #faq details[open] summary svg { transform: rotate(45deg) !important; }
body.elementor-page-61 #faq details[open] summary .e-svg-base { background-color: var(--cn-saffron); border-color: var(--cn-saffron); color: var(--cn-white); }/* End custom CSS */