.elementor-kit-7{--e-global-color-primary:#FF1A00;--e-global-color-secondary:#3158FF;--e-global-color-text:#FFFFFF;--e-global-color-accent:#F5F4F0;--e-global-color-ffbg:#050505;--e-global-color-ffmuted:#D9D9D9;--e-global-color-ffmuted2:#E6E6E6;--e-global-color-fforange:#FF3B18;--e-global-color-ffline:#777777;--e-global-color-ffline2:#666666;--e-global-color-ffdivider:#333333;--e-global-color-ffdot:#3B3B3B;--e-global-color-ffborder:#222222;--e-global-color-fffootlink:#78838B;--e-global-color-ffcopy:#6E7880;--e-global-color-ffblack:#000000;--e-global-color-ffeyebrow:#2B2B2B;--e-global-color-ffcta:#C40000;--e-global-typography-primary-font-family:"Space Grotesk";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Space Grotesk";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Arial";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Space Grotesk";--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-ffh2-font-family:"Space Grotesk";--e-global-typography-ffh2-font-size:clamp(40px, 3.125vw, 60px);--e-global-typography-ffh2-font-weight:700;--e-global-typography-ffh2-line-height:1.2em;--e-global-typography-ffbodylg-font-family:"Arial";--e-global-typography-ffbodylg-font-size:clamp(20px, 1.3021vw, 25px);--e-global-typography-ffbodylg-font-weight:400;--e-global-typography-ffbodylg-line-height:1.149em;--e-global-typography-ffbody-font-family:"Arial";--e-global-typography-ffbody-font-size:clamp(17px, 1.05vw, 20px);--e-global-typography-ffbody-font-weight:400;--e-global-typography-ffbody-line-height:1.3em;--e-global-typography-fflabel-font-family:"Space Grotesk";--e-global-typography-fflabel-font-size:20px;--e-global-typography-fflabel-font-weight:700;--e-global-typography-fflabel-text-transform:uppercase;--e-global-typography-fflabel-line-height:1.276em;background-color:#050505;color:#FFFFFF;font-family:"Arial", Sans-serif;font-size:16px;font-weight:400;line-height:1.5em;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-ffh2-font-size:42px;--e-global-typography-ffh2-line-height:1.2em;--e-global-typography-ffbodylg-font-size:20px;--e-global-typography-ffbody-font-size:17px;--e-global-typography-fflabel-font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-ffh2-font-size:32px;--e-global-typography-ffh2-line-height:1.2em;--e-global-typography-ffbodylg-font-size:18px;--e-global-typography-ffbody-font-size:16px;--e-global-typography-fflabel-font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Figma gradient fills (exact transforms) */
.ff-bg-hero { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 1082.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.5'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-49.25 33.6998 -57.3752 -106.5162 1902.044 569.0443)'%3E%3Cstop stop-color='rgb(0,44,183)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 1082.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.37'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(44.1 59.7918 -104.6195 98.0216 30.544 214.013)'%3E%3Cstop stop-color='rgb(255,26,0)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='1.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), linear-gradient(rgba(5,5,5,1.0),rgba(5,5,5,1.0)); background-size: 100% 100%, 100% 100%, 100% 100%; }
.ff-bg-why { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 1015.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.5'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-0.0 -28.6797 74.9016 -0.0 974.0439 1014.8611)'%3E%3Cstop stop-color='rgb(0,44,183)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='1.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), linear-gradient(rgba(5,5,5,1.0),rgba(5,5,5,1.0)); background-size: 100% 100%, 100% 100%; }
.ff-bg-industry { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 1174.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.5'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(0.0 51.2342 -131.2185 0.0 959.5439 374.1141)'%3E%3Cstop stop-color='rgb(0,44,183)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 1174.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.5'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-3.9 -42.3685 147.0119 -11.7855 998.544 694.6777)'%3E%3Cstop stop-color='rgb(255,26,0)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%, 100% 100%; }
.ff-bg-spotlight { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 808.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.3'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(56.75 35.2767 -31.6194 31.121 1614.0439 185.6774)'%3E%3Cstop stop-color='rgb(0,44,183)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 808.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.3'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(22.35 -35.9024 56.1621 21.3904 93.0439 404.2989)'%3E%3Cstop stop-color='rgb(255,26,0)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='1.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), linear-gradient(rgba(5,5,5,1.0),rgba(5,5,5,1.0)); background-size: 100% 100%, 100% 100%, 100% 100%; }
.ff-glow-proof::after { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 1715.34' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.3'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-79.6 10.3585 -10.0922 -74.0594 1847.5439 991.7555)'%3E%3Cstop stop-color='rgb(0,44,183)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 1715.34' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.3'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(62.3 24.9189 -18.5413 44.2666 226.0439 630.187)'%3E%3Cstop stop-color='rgb(255,26,0)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%, 100% 100%; }
.ff-glow-cta::after { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 762.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.5'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-3.9 -27.4998 147.0119 -7.6495 998.544 450.8896)'%3E%3Cstop stop-color='rgb(255,26,0)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%; }
.ff-vignette::after { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1549.0 657.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.42'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-0.0 27.5 -61.7807 -0.0 929.4482 381.8822)'%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='0.3224'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='1.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%; }
.ff-m-solutions { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 933.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.5'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(51.75 24.5058 -19.3862 33.0306 1664.044 376.6848)'%3E%3Cstop stop-color='rgb(0,44,183)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 933.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.4'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(22.35 -41.4566 56.1621 24.6996 93.0439 466.8451)'%3E%3Cstop stop-color='rgb(255,26,0)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='1.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), linear-gradient(rgba(5,5,5,1.0),rgba(5,5,5,1.0)); background-size: 100% 100%, 100% 100%, 100% 100%; }
.ff-m-work { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 1651.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.5'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(0.0 72.0508 -131.2185 0.0 959.5439 526.1179)'%3E%3Cstop stop-color='rgb(0,44,183)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 1651.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.5'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-3.9 -59.583 147.0119 -16.574 998.544 976.9274)'%3E%3Cstop stop-color='rgb(255,26,0)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), linear-gradient(rgba(5,5,5,1.0),rgba(5,5,5,1.0)); background-size: 100% 100%, 100% 100%, 100% 100%; }
.ff-m-insights { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 860.02' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.5'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(56.75 37.5476 -31.6194 33.1244 1614.0439 197.6304)'%3E%3Cstop stop-color='rgb(0,44,183)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 860.02' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.4'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(22.35 -38.2136 56.1621 22.7674 93.0439 430.3256)'%3E%3Cstop stop-color='rgb(255,26,0)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='1.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), linear-gradient(rgba(5,5,5,1.0),rgba(5,5,5,1.0)); background-size: 100% 100%, 100% 100%, 100% 100%; }
.ff-m-cta { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 784.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.5'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(0.0 34.2143 -131.2185 0.0 959.5439 249.8343)'%3E%3Cstop stop-color='rgb(0,44,183)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 784.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.5'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-3.9 -28.2938 147.0119 -7.8704 998.544 463.9074)'%3E%3Cstop stop-color='rgb(255,26,0)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), linear-gradient(rgba(5,5,5,1.0),rgba(5,5,5,1.0)); background-size: 100% 100%, 100% 100%, 100% 100%; }
.ff-m-arch { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 1065.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.3'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(51.75 27.9729 -19.3862 37.7037 1664.044 429.9778)'%3E%3Cstop stop-color='rgb(0,44,183)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 1065.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='0.2'/%3E%3Cdefs%3E%3CradialGradient id='g' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(22.35 -47.3219 56.1621 28.1941 93.0439 532.8939)'%3E%3Cstop stop-color='rgb(255,26,0)' stop-opacity='1.0' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='1.0' offset='1.0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E"), linear-gradient(rgba(5,5,5,1.0),rgba(5,5,5,1.0)); background-size: 100% 100%, 100% 100%, 100% 100%; }
.ff-m-stats { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1419.0 189.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='1.0'/%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='1419.0' y1='94.5' x2='-0.0' y2='94.5'%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.5' offset='0.0'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='1.0' offset='0.5'/%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='0.5' offset='1.0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%; }
.ff-m-case1::after { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 458.0 601.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='1.0'/%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='229.0' y1='601.0' x2='229.0' y2='0.0'%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='1.0' offset='0.2081'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.75' offset='0.4674'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.0' offset='0.7'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%; }
.ff-m-case2::after { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 458.0 601.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='1.0'/%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='229.0' y1='601.0' x2='229.0' y2='0.0'%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='1.0' offset='0.2119'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.75' offset='0.5132'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.0' offset='0.7458'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%; }
.ff-m-case3::after { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 458.0 601.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='1.0'/%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='229.0' y1='601.0' x2='229.0' y2='0.0'%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='1.0' offset='0.2119'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.75' offset='0.5208'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.0' offset='0.7'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%; }
.ff-m-case4::after { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 458.0 602.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='1.0'/%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='229.0' y1='602.0' x2='229.0' y2='0.0'%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='1.0' offset='0.25'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.75' offset='0.55'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.0' offset='0.7'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%; }
.ff-m-case5::after { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 458.0 600.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='1.0'/%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='229.0' y1='600.0' x2='229.0' y2='0.0'%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='1.0' offset='0.2667'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.75' offset='0.5'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.0' offset='0.7'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%; }
.ff-m-case6::after { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 458.0 600.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='1.0'/%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='229.0' y1='600.0' x2='229.0' y2='0.0'%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='1.0' offset='0.2'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.75' offset='0.55'/%3E%3Cstop stop-color='rgb(5,5,5)' stop-opacity='0.0' offset='0.7'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%; }
.ff-f { background: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1920.0 543.0' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Crect x='0' y='0' height='100%25' width='100%25' fill='url(%23g)' opacity='1.0'/%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='1854.86' y1='5.0' x2='0.0' y2='543.0'%3E%3Cstop stop-color='rgb(0,0,0)' stop-opacity='1.0' offset='0.4958'/%3E%3Cstop stop-color='rgb(63,6,0)' stop-opacity='1.0' offset='1.0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"); background-size: 100% 100%; }

/* ===== FerFier design utilities ===== */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
a, button { touch-action: manipulation; }
.ff-red { color: #FF1A00; }

/* Marketing lockup: "BUILT FOR THE" tracked out to the width of "Next Shift." below it. In Space
   Grotesk the two strings measure 6.77em and 5.19em, so .62em with .1328em of tracking makes the
   lines the same width - in em, so the match holds at every size. The padding puts back the half
   of the trailing letter-space that centring would otherwise eat. */
.ff-nextshift .elementor-heading-title { display: block; }
.ff-nextshift .ff-ns-1, .ff-nextshift .ff-ns-2 { display: block; }
.ff-nextshift .ff-ns-1 {
	font-size: .62em; font-weight: 400; text-transform: uppercase;
	letter-spacing: .1328em; padding-left: .1328em; line-height: 1.15; }
.ff-nextshift .ff-ns-2 { line-height: 1.1; }
.ff-nextshift--accent .ff-ns-2 { color: #FF1A00; }
.elementor-widget-text-editor p { margin-block: 0; }
@media (max-width: 1024px) { br.ff-br { display: none; } }

/* Glass surfaces (Figma background blur 20 = CSS 10px) */
.ff-glass { -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }

/* Gradient layers painted above the section's background photo */
.ff-glow-proof::after, .ff-glow-cta::after, .ff-vignette::after {
	content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0; border-radius: inherit;
}

/* YouTube background videos stay hidden over their fallback photo until motion.js hears the player
   report "playing" (a blocked autoplay would otherwise show YouTube's play button) */
.elementor-background-video-container { transition: opacity .6s ease; }
.elementor-background-video-container.ff-yt-wait { opacity: 0 !important; }

/* Background photos as lazy <img> (.ff-bgimg) behind section content */
.ff-bgimg { position: absolute !important; inset: 0 !important; width: 100% !important; max-width: none !important; height: 100% !important; margin: 0 !important; z-index: 0; pointer-events: none; overflow: hidden; border-radius: inherit; }
.ff-bgimg .elementor-widget-container, .ff-bgimg img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; border-radius: inherit; }
.ff-has-bgimg > .e-con-inner > .elementor-element:not(.ff-bgimg) { position: relative; z-index: 1; }
@media (min-width: 1025px) { .ff-zoom img { scale: 1.166; } }

/* Header */
.ff-header-wrap { pointer-events: none; }
.ff-header-pill { pointer-events: auto; -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); transition: background-color .25s ease, border-color .25s ease; }
.ff-scrolled .ff-header-pill { background-color: rgba(0,0,0,.78) !important; border-color: rgba(255,255,255,.14) !important; }
.ff-nav .elementor-nav-menu--main, .ff-nav .elementor-nav-menu--main > .elementor-nav-menu { width: 100% !important; }
.ff-nav .elementor-nav-menu--main > .elementor-nav-menu { justify-content: space-between !important; margin: 0 !important; }
.ff-nav .elementor-nav-menu--main > .elementor-nav-menu::after { display: none !important; }
/* The six items outgrew the pill at both ends of the desktop range ("Careers" wrapped to a second
   row at 1025-1240 and above ~1700px). They never wrap now; space-between spreads them, so the
   narrower padding barely shows. */
@media (min-width: 1025px) {
	.ff-nav .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap !important; }
}
@media (min-width: 1025px) and (max-width: 1300px) {
	.ff-header-pill, .ff-header-pill > .e-con-inner { gap: 30px !important; }
	.ff-nav .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item { padding-left: 8px !important; padding-right: 8px !important; }
}
@media (min-width: 1601px) {
	.ff-nav .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item { padding-left: 12px !important; padding-right: 12px !important; }
}
.ff-nav .elementor-menu-toggle { min-width: 44px; min-height: 44px; justify-content: center; }
.elementor-nav-menu--main .elementor-item { transition: color .2s ease; }

/* No inherited line-box strut around text links and icons (keeps Figma box heights) */
.ff-link, .ff-link .elementor-button-wrapper { line-height: 0; font-size: 0; }
.ff-arrow, .ff-arrow .elementor-widget-container { line-height: 0; }

/* Buttons & links */
.ff-btn .elementor-button { min-height: 41px; transition: background-color .2s ease, transform .2s ease; }
@media (max-width: 1024px) {
	/* 44px touch targets where the desktop design is tighter */
	.ff-btn .elementor-button, .elementor-location-footer .elementor-nav-menu--main .elementor-item { min-height: 44px; }
}
.ff-link .elementor-button { position: relative; transition: color .2s ease, border-color .2s ease; }
.ff-link .elementor-button::before { content: ""; position: absolute; inset: -14px -8px -6px; }
.ff-hit a { position: relative; display: inline-block; }
.ff-hit a::before { content: ""; position: absolute; inset: -10px -6px; }

/* Cards, rows, arrows */
.ff-card { transition: transform .3s cubic-bezier(.16,1,.3,1); }
.ff-arrow img { transition: transform .2s ease-out; }
.ff-bgimg img { transition: scale .8s cubic-bezier(.16,1,.3,1); }
.ff-row .elementor-heading-title { transition: color .2s ease; }
a.ff-row, a.ff-card { text-decoration: none; color: inherit; }
.ff-push { margin-top: auto !important; }
@media (min-width: 1025px) { .ff-desc-92 { min-height: 92px; } }
@media (hover: hover) {
	.ff-btn .elementor-button:hover { transform: translateY(-1px); }
	.ff-card:hover { transform: translateY(-4px); }
	.ff-card:hover .ff-bgimg img { scale: 1.04; }
	.ff-card:hover .ff-arrow img, .ff-row:hover .ff-arrow img { transform: translateX(4px); }
	.ff-row:hover .elementor-heading-title { color: #FF3B18 !important; }
}

/* Layer order inside image cards (Figma): image → bracket → shade → texture → content */
.ff-layer { isolation: isolate; }
.ff-layer > .elementor-element:not(.elementor-absolute) { position: relative; z-index: 3; }
.ff-layer.ff-has-bgimg > .elementor-element:not(.elementor-absolute):not(.ff-bgimg) { position: relative; z-index: 3; }
.ff-layer > .elementor-absolute { z-index: 2; }
.ff-layer > .ff-under, .ff-layer > .ff-bgimg { z-index: 0; }
.ff-layer.ff-has-bgimg > .ff-under, .ff-layer.ff-has-bgimg > .ff-bgimg { z-index: 0; }
.ff-card-shade::after {
	content: ""; position: absolute; inset: 1px 1px 1px 0; border-radius: inherit; pointer-events: none; z-index: 1;
	background: linear-gradient(to top, #050505 2%, rgba(5,5,5,.75) 35%, rgba(5,5,5,0) 70%);
}
.ff-texture { inset: 0 !important; width: 100% !important; height: 100% !important; pointer-events: none; opacity: .4; }
.ff-texture .elementor-widget-container, .ff-texture img { width: 100%; height: 100% !important; object-fit: cover; }
/* Figma paint filter: exposure -0.33, contrast +0.13, tint +0.79 (magenta), highlights +0.42 */
.ff-texture img { filter: brightness(.78) contrast(1.13) saturate(.8) hue-rotate(12deg); }

/* Flip bracket horizontally (Figma: rotate 180 + flip Y) */
.ff-flip-x img { transform: scaleX(-1); }

/* Capability flow nodes: glowing dot on the line */
.ff-flow-node { position: relative; }
.ff-flow-node::before {
	content: ""; position: absolute; top: -5px; left: 21px; width: 9px; height: 9px; border-radius: 4.5px;
	background: var(--ff-dot, #FF1A00); box-shadow: 0 0 20px rgba(255,26,0,.6);
}
.ff-flow-node--blue { --ff-dot: #3158FF; }
@media (max-width: 1024px) { .ff-flow-node { border-top: 1px solid #666; } }

/* Case study bullets (Figma li: 2px vertical padding, 5px square centred on the text block) */
.ff-bullets ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.ff-bullets li { position: relative; padding: 2px 0 2px 17px; }
.ff-bullets li::before { content: ""; position: absolute; left: 0; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; background: #FF1A00; }
/* Four case cards are too narrow between tablet and 1280px: two per row */
@media (min-width: 1025px) and (max-width: 1279px) { .ff-case { width: calc((100% - 20px) / 2) !important; } }

/* Responsibility pillars */
.ff-pillar { transition: transform .25s ease; }
.ff-pillar .elementor-heading-title { transition: color .25s ease, letter-spacing .25s ease; }
@media (hover: hover) {
	.ff-pillar:hover { transform: translateY(-4px); }
	.ff-pillar:hover .elementor-heading-title { color: #FF3B18; }
}

/* Proof cases (client copy, 23 Sep): the closed card shows its category and title; the open one turns
   white and swaps in the case-study headline, client, proof points and link (grid-template-rows
   animates the height, so nothing snaps into place) */
.ff-case { transition: background-color .45s ease, border-color .45s ease; justify-content: flex-start; }
.ff-case > .ff-case-label, .ff-case > .ff-case-title,
.ff-case > .ff-case-headline, .ff-case > .ff-case-client, .ff-case > .ff-bullets, .ff-case > .ff-link {
	display: grid; transition: grid-template-rows .45s cubic-bezier(.22,.61,.36,1), opacity .3s ease, margin-top .45s cubic-bezier(.22,.61,.36,1); }
.ff-case > .ff-case-label > *, .ff-case > .ff-case-title > *, .ff-case > .ff-case-headline > *,
.ff-case > .ff-case-client > *, .ff-case > .ff-bullets > *, .ff-case > .ff-link > * { overflow: hidden; min-height: 0; }
.ff-case > .ff-case-label, .ff-case > .ff-case-title { grid-template-rows: 1fr; opacity: 1; }
.ff-case > .ff-case-headline, .ff-case > .ff-case-client, .ff-case > .ff-bullets, .ff-case > .ff-link {
	grid-template-rows: 0fr; opacity: 0; margin-top: -20px; pointer-events: none; }
.ff-case.is-active, .ff-proof-cases .ff-case:hover {
	background-color: #FFFFFF !important; border-color: transparent !important; }
.ff-case.is-active > .ff-case-headline, .ff-proof-cases .ff-case:hover > .ff-case-headline,
.ff-case.is-active > .ff-case-client, .ff-proof-cases .ff-case:hover > .ff-case-client,
.ff-case.is-active > .ff-bullets, .ff-proof-cases .ff-case:hover > .ff-bullets,
.ff-case.is-active > .ff-link, .ff-proof-cases .ff-case:hover > .ff-link {
	grid-template-rows: 1fr; opacity: 1; margin-top: 0; pointer-events: auto;
	transition-delay: .06s, .12s, 0s; }
.ff-case.is-active > .ff-case-label, .ff-proof-cases .ff-case:hover > .ff-case-label,
.ff-case.is-active > .ff-case-title, .ff-proof-cases .ff-case:hover > .ff-case-title {
	grid-template-rows: 0fr; opacity: 0; margin-top: -20px; }
.ff-case.is-active .ff-bullets, .ff-case.is-active .ff-bullets p, .ff-case.is-active .ff-bullets li,
.ff-proof-cases .ff-case:hover .ff-bullets, .ff-proof-cases .ff-case:hover .ff-bullets p,
.ff-proof-cases .ff-case:hover .ff-bullets li { color: #000000 !important; }
/* Hovering another card hands it the open state */
@media (hover: hover) {
	.ff-proof-cases:hover .ff-case.is-active:not(:hover) {
		background-color: rgba(0,0,0,.6) !important; border-color: rgba(255,255,255,.5) !important; }
	.ff-proof-cases:hover .ff-case.is-active:not(:hover) > .ff-case-headline,
	.ff-proof-cases:hover .ff-case.is-active:not(:hover) > .ff-case-client,
	.ff-proof-cases:hover .ff-case.is-active:not(:hover) > .ff-bullets,
	.ff-proof-cases:hover .ff-case.is-active:not(:hover) > .ff-link {
		grid-template-rows: 0fr; opacity: 0; margin-top: -20px; }
	.ff-proof-cases:hover .ff-case.is-active:not(:hover) > .ff-case-label,
	.ff-proof-cases:hover .ff-case.is-active:not(:hover) > .ff-case-title {
		grid-template-rows: 1fr; opacity: 1; margin-top: 0; }
}
@media (max-width: 1024px) {
	/* No hover on touch: the card stays dark, showing its category, title and proof points */
	.ff-case > .ff-bullets, .ff-case > .ff-link { grid-template-rows: 1fr; opacity: 1; margin-top: 0; pointer-events: auto; }
	.ff-case > .ff-case-headline, .ff-case > .ff-case-client { display: none; }
}

/* Stat figures: Figma mixes a large number with a smaller unit. A figure stays on one line: in the
   1200 column a stat is 289px, where "Fortune 500" at .69em wrapped and its 0.53 line height
   stacked "Fortune" over "500" (Home and About Us, fixed 28 Sep). */
.ff-stat-num .elementor-heading-title { white-space: nowrap; }
.ff-stat-num .ff-unit { font-size: .47em; }
.ff-stat-num .ff-unit-md { font-size: .55em; }

/* v1.1 pill button */
.ff-btn-pill .elementor-button { display: inline-flex; align-items: center; }

/* Stats: smaller unit next to the number; stable digit widths while counting */
.ff-unit { font-size: .625em; line-height: 0; }
.ff-count .elementor-heading-title { font-variant-numeric: tabular-nums; }

/* Section eyebrows sit directly on their title: the eyebrow cancels its container's row gap, whatever
   that gap is at each breakpoint, so the spacing below the title is untouched. (The .elementor-kit-7 outranks
   Elementor's `.e-con .elementor-widget.elementor-widget { margin-block-end: 0 }`.) */
.e-con .elementor-widget.elementor-widget.ff-m-label { margin-block-end: calc(-1 * var(--row-gap, 0px)); }

/* ===== Motion — only when motion.js bootstrap set .ff-motion (JS on, no reduced-motion preference) ===== */
:root { --ff-ease: cubic-bezier(.16, 1, .3, 1); --ff-dur: .5s; }
.ff-motion .ff-reveal,
.ff-motion .ff-stagger > .elementor-element,
.ff-motion .ff-stagger > .e-con-inner > .elementor-element {
	opacity: 0; translate: 0 16px;
	transition: opacity var(--ff-dur) var(--ff-ease) var(--ff-delay, 0ms), translate var(--ff-dur) var(--ff-ease) var(--ff-delay, 0ms), scale var(--ff-dur) var(--ff-ease) var(--ff-delay, 0ms), transform .3s var(--ff-ease);
}
.ff-motion .ff-reveal--zoom { translate: none; scale: .985; }
.ff-motion .ff-reveal.is-inview,
.ff-motion .ff-stagger > .elementor-element.is-inview,
.ff-motion .ff-stagger > .e-con-inner > .elementor-element.is-inview { opacity: 1; translate: none; scale: none; }
.ff-delay-1 { --ff-delay: 90ms; }
.ff-delay-2 { --ff-delay: 180ms; }
.ff-delay-3 { --ff-delay: 280ms; }
/* Scroll-lit paragraphs (.ff-words): motion.js wraps each word in .ff-w and lights them in reading order
   as their line passes ~83% of the viewport; the paragraph itself skips the block reveal */
.ff-motion .ff-stagger > .elementor-element.ff-words,
.ff-motion .ff-stagger > .e-con-inner > .elementor-element.ff-words { opacity: 1; translate: none; }
.ff-motion .ff-words .ff-w { opacity: .3; transition: opacity .45s ease; }
.ff-motion .ff-words .ff-w.is-lit { opacity: 1; }

/* Page load: header settles in */
.ff-motion .ff-header-pill { animation: ff-drop .5s var(--ff-ease) both; }
@keyframes ff-drop { from { opacity: 0; translate: 0 -12px; } }

/* ===== Hero carousel (Elementor Carousel widget, .ff-hero-carousel) ===== */
.ff-hero-carousel .swiper-wrapper { transition-timing-function: cubic-bezier(.16, 1, .3, 1); }
/* Dots as Figma's indicator bars: 40×3, 8px apart, 35px above the hero's bottom edge (Elementor lifts the
   pagination by its own 3px height); 44px-tall tap area */
.ff-hero-carousel .swiper-pagination { bottom: 26.5px !important; top: auto !important; display: flex; justify-content: center; gap: 8px; line-height: 0; }
.ff-hero-carousel .swiper-pagination .swiper-pagination-bullet { position: relative; width: 40px !important; height: 3px !important; margin: 0 !important; border-radius: 0 !important; background: #3B3B3B !important; opacity: 1 !important; transition: background-color .3s ease; }
.ff-hero-carousel .swiper-pagination .swiper-pagination-bullet::before { content: ""; position: absolute; inset: -21px -4px; }
.ff-hero-carousel .swiper-pagination .swiper-pagination-bullet-active { background: #FF1A00 !important; }
@media (hover: hover) {
	.ff-hero-carousel .swiper-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover { background: #5A5A5A !important; }
}
/* On each slide change the incoming copy rises in after the slide settles */
.ff-hero-carousel .swiper-initialized .swiper-slide .ff-slide-copy > .elementor-element { transition: opacity .6s var(--ff-ease) .2s, translate .6s var(--ff-ease) .2s; }
.ff-hero-carousel .swiper-initialized .swiper-slide-active .ff-slide-copy > .elementor-element + .elementor-element { transition-delay: .3s; }
.ff-hero-carousel .swiper-initialized .swiper-slide:not(.swiper-slide-active) .ff-slide-copy > .elementor-element { opacity: 0; translate: 0 16px; transition-duration: .2s; transition-delay: 0s; }

/* Capability: the flow line draws, then each node's dot lights up as the node arrives */
@media (min-width: 1025px) {
	.ff-motion .ff-draw { border-top-color: transparent !important; }
	.ff-motion .ff-draw::after { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: #666; transform-origin: left center; scale: 0 1; transition: scale .9s var(--ff-ease); pointer-events: none; }
	.ff-motion .ff-draw.is-inview::after { scale: 1 1; }
}
.ff-motion .ff-flow-node::before { scale: 0; transition: scale .4s var(--ff-ease) calc(var(--ff-delay, 0ms) + 250ms); }
.ff-motion .ff-flow-node.is-inview::before { scale: 1; }

/* Accessibility */
:where(a, button, [tabindex]):focus-visible { outline: 2px solid #3158FF; outline-offset: 3px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.ff-card:hover, .ff-btn .elementor-button:hover { transform: none; }
	.ff-card:hover .ff-bgimg img { scale: none; }
}
/* ===== Mobility page (Figma v1.1, frame 698:719) ===== */
.ff-has-bgimg > .elementor-element:not(.ff-bgimg):not(.elementor-absolute) { position: relative; z-index: 1; }
/* Hero slides: photo, then Figma's left shade, then the copy */
.ff-m-slide::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(90deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,.7) 25%, rgba(0,0,0,0) 50%); }
.ff-m-slide > .elementor-element:not(.ff-bgimg),
.ff-m-slide > .e-con-inner > .elementor-element:not(.ff-bgimg) { z-index: 2; }
.ff-mob-carousel .swiper-pagination { bottom: 32px !important; }

/* Icons */
.ff-m-ico { flex: 0 0 auto; }
.ff-m-ico .elementor-widget-image, .ff-m-ico .elementor-widget-image > div { width: 100%; height: 100%; }
.ff-m-ico img { width: 100%; height: 100%; object-fit: contain; transition: scale .3s cubic-bezier(.16,1,.3,1); }

/* Stats strip: 1px dividers like the Figma cells */
@media (min-width: 768px) { .ff-m-stats > .elementor-element + .elementor-element { border-left: 1px solid #333333; } }

/* Intelligence loop: the six stage labels are the carousel's navigation */
.ff-arch-carousel .swiper-pagination { display: none !important; }
.ff-m-node { position: relative; cursor: pointer; }
.ff-m-node::before { content: ""; position: absolute; top: -7px; left: 10px; width: 9px; height: 9px; border-radius: 50%;
	background: #FFFFFF; box-shadow: 0 0 20px rgba(255,26,0,.6); transition: background-color .3s ease, width .3s ease, height .3s ease; }
.ff-m-node.is-on::before { width: 15px; height: 15px; top: -10px; background: #FF1A00; }
.ff-m-node:focus-visible { outline: 2px solid #3158FF; outline-offset: 4px; }
.ff-m-node .elementor-heading-title { transition: color .3s ease; }
.ff-m-node.is-on .elementor-heading-title { color: #FF1A00 !important; }
@media (hover: hover) { .ff-m-node:not(.is-on):hover .elementor-heading-title { color: #FF3B18 !important; } }
.ff-m-li { border-top: 1px solid #2B2B2B; position: relative; padding-left: 17px; }
.ff-m-li::before { content: ""; position: absolute; left: 0; top: 50%; margin-top: -2.5px; width: 5px; height: 5px; background: #FF1A00; }
.ff-m-arch-img::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.4); z-index: 1; pointer-events: none; }

/* Case cards: Figma's bottom-up gradient over the photo */
.ff-m-case::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.ff-m-case > .elementor-element:not(.ff-bgimg):not(.elementor-absolute) { z-index: 2; }
.ff-m-case .ff-bgimg::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.2); }
@media (min-width: 1025px) { .ff-m-case-desc { min-height: 100px; } }

/* Insight cards: thumbnail on top, "Read more" pinned bottom-right */
.ff-m-thumb { flex: 0 0 auto; }
.ff-m-insight-bd .ff-m-readmore { align-self: flex-end; }
.ff-m-badge .elementor-heading-title { letter-spacing: .4px; }

/* "Read more" links carry no underline in v1.1 */
.ff-m-readmore .elementor-button { border: 0 !important; padding-bottom: 0 !important; }

/* Trailing arrows: the designers' arrow SVG, masked so each use can set its own colour */
:root { --ff-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20' fill='none'%3E%3Cpath d='M1 10H23M13.8333 19L23 10L13.8333 1' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ff-arrow-red .elementor-button-text::after,
.ff-arrow-white .elementor-button-text::after,
.ff-btn-arrow .elementor-button-text::after {
	content: ""; display: inline-block; vertical-align: -2px; margin-left: 10px; width: 18px; height: 15px;
	-webkit-mask: var(--ff-arrow) no-repeat center / contain; mask: var(--ff-arrow) no-repeat center / contain;
	background-color: currentColor; transition: transform .2s ease; }
.ff-arrow-red .elementor-button-text::after { background-color: #FF1A00; width: 16px; height: 13px; }
/* Labels whose Figma text ends in an arrow: the glyph stays, the SVG is what shows */
.ff-arr { font-size: 0 !important; line-height: 0; display: inline-block; vertical-align: middle; }
.ff-arr::after { content: ""; display: inline-block; width: 18px; height: 15px; margin-left: 10px;
	-webkit-mask: var(--ff-arrow) no-repeat center / contain; mask: var(--ff-arrow) no-repeat center / contain;
	background-color: currentColor; transition: transform .2s ease; }
@media (hover: hover) { .elementor-button:hover .ff-arr::after { transform: translateX(4px); } }
.ff-arrow-white .elementor-button-text::after { background-color: #FFFFFF; width: 22px; height: 18px; }
@media (hover: hover) {
	.ff-arrow-red:hover .elementor-button-text::after,
	.ff-arrow-white:hover .elementor-button-text::after,
	.ff-btn-arrow:hover .elementor-button-text::after { transform: translateX(4px); }
}

/* Section 2 closes with a hairline above the summary paragraph */
.ff-m-shift-close { border-top: 1px solid #222222; padding-top: 25px; }
@media (max-width: 1024px) { .ff-m-shift-close { padding-top: 16px; } }

/* Solutions rows end with a red arrow */
.ff-m-solution { position: relative; }
.ff-m-solution::after { content: ""; width: 22px; height: 18px; margin-left: auto; flex: 0 0 auto;
	-webkit-mask: var(--ff-arrow) no-repeat center / contain; mask: var(--ff-arrow) no-repeat center / contain;
	background-color: #FF1A00; transition: transform .2s ease; }
@media (hover: hover) { .ff-m-solution:hover::after { transform: translateX(4px); } }
@media (max-width: 767px) { .ff-m-solution::after { margin-left: 0; } }

/* Intelligence loop: the stage dots sit on a hairline, as in Figma */
@media (min-width: 1025px) {
	.ff-m-node:not(:last-child)::after { content: ""; position: absolute; top: -2.5px; left: 14.5px; width: 100%; height: 1px;
		background: #FFFFFF; pointer-events: none; }
}
/* Phones: the stages are one row that scrolls sideways (user, 1 Oct), not three rows of two. The dots keep
   their hairline, the row fades at its right edge until its end is reached (motion.js sets .is-end), and
   motion.js keeps the current stage in view as the carousel moves. The top padding keeps the dots, which
   sit above each label, inside the scrolling box. */
@media (max-width: 767px) {
	.ff-m-flow.e-con { --flex-wrap: nowrap !important; flex-wrap: nowrap !important; overflow-x: auto; overflow-y: hidden;
		overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch;
		padding-top: 14px; margin-top: -14px;
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent); }
	.ff-m-flow.e-con.is-end { -webkit-mask-image: none; mask-image: none; }
	.ff-m-flow.e-con::-webkit-scrollbar { display: none; }
	.ff-m-flow > .ff-m-node { --width: auto !important; width: auto !important; flex: 0 0 auto !important; scroll-snap-align: start; padding-right: 28px !important; }
	.ff-m-node .elementor-heading-title { white-space: nowrap; }
	.ff-m-node:not(:last-child)::after { content: ""; position: absolute; top: -2.5px; left: 14.5px; width: 100%; height: 1px;
		background: #FFFFFF; pointer-events: none; }
}

/* Accordions (Services, Why Ferfier, FAQs) — no frames, just the Figma surfaces */
.ff-m-services-acc .e-n-accordion-item, .ff-m-why-acc .e-n-accordion-item, .ff-m-faq-list .e-n-accordion-item { border: 0 !important; background: none; }
.ff-m-services-acc .e-n-accordion-item > .e-con, .ff-m-why-acc .e-n-accordion-item > .e-con, .ff-m-faq-list .e-n-accordion-item > .e-con { border: 0 !important; }
.ff-m-services-acc .e-n-accordion-item-title, .ff-m-why-acc .e-n-accordion-item-title, .ff-m-faq-list .e-n-accordion-item-title {
	justify-content: space-between; align-items: center; gap: 15px; border: 0 !important; }
.ff-m-services-acc .e-n-accordion-item > .e-n-accordion-item-title { padding-block: 0 !important; }
.ff-m-services-acc .e-n-accordion-item-title-header, .ff-m-why-acc .e-n-accordion-item-title-header, .ff-m-faq-list .e-n-accordion-item-title-header { flex: 1 1 auto; margin: 0; }
.ff-m-services-acc .e-n-accordion-item-title-text, .ff-m-why-acc .e-n-accordion-item-title-text, .ff-m-faq-list .e-n-accordion-item-title-text { margin: 0; transition: color .2s ease; }

/* Accordion typography wins over Elementor's widget defaults */
.ff-m-services-acc .e-n-accordion-item .e-n-accordion-item-title-text,
.ff-m-why-acc .e-n-accordion-item .e-n-accordion-item-title-text,
.ff-m-faq-list .e-n-accordion-item .e-n-accordion-item-title-text { font-size: inherit; }

/* Services accordion: glass cards with a circled +/− */
.ff-m-services-acc .e-n-accordion-item { background: rgba(255,255,255,.08); border-radius: 30px; margin-bottom: 10px; padding: 20px 40px;
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background-color .3s ease; }
.ff-m-services-acc .e-n-accordion-item .e-n-accordion-item-title-text { font-family: "Space Grotesk", sans-serif !important; font-weight: 500 !important; color: #FFFFFF;
	font-size: clamp(20px, 1.3542vw, 26px) !important; line-height: 32px !important; }
.ff-m-services-acc .e-n-accordion-item-title-icon { width: 20px; height: 20px; border: 1px solid #FF1A00; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; color: #FF1A00; flex: 0 0 20px; transition: background-color .25s ease, color .25s ease; }
.ff-m-services-acc .e-n-accordion-item-title-icon svg { width: 9px; height: 9px; fill: currentColor !important; }

/* Why Ferfier accordion: alternating dark rows, open row lighter */
.ff-m-why-acc .e-n-accordion-item { background: #121212; }
.ff-m-why-acc .e-n-accordion-item:nth-child(even) { background: #2F2F2F; }
.ff-m-why-acc .e-n-accordion-item[open] { background: #69696B; }
.ff-m-why-acc .e-n-accordion-item:first-child { border-radius: 30px 30px 0 0; }
.ff-m-why-acc .e-n-accordion-item:last-child { border-radius: 0 0 30px 30px; }
@media (max-width: 767px) {
	.ff-m-why-acc .e-n-accordion-item:first-child { border-radius: 20px 20px 0 0; }
	.ff-m-why-acc .e-n-accordion-item:last-child { border-radius: 0 0 20px 20px; }
}
.ff-m-why-acc .e-n-accordion-item .e-n-accordion-item-title-text { font-family: "Space Grotesk", sans-serif !important; font-weight: 700 !important; color: #FFFFFF;
	font-size: clamp(20px, 1.3021vw, 25px) !important; line-height: 24px !important; }
/* Open row: Figma sets the icon beside the title, with the copy in the same column */
.ff-m-why-acc .e-n-accordion-item { position: relative; }
@media (min-width: 1025px) {
	.ff-m-why-acc .e-n-accordion-item[open] > .e-n-accordion-item-title { padding-left: 242px; }
	.ff-m-why-acc .e-n-accordion-item[open] .ff-m-ico { position: absolute; left: 45px; top: 30px; }
	.ff-m-why-acc .e-n-accordion-item[open] > .e-con { position: static; padding-left: 242px; padding-bottom: 52px; }
}
.ff-m-why-acc .e-n-accordion-item-title-icon { color: #FFFFFF; flex: 0 0 auto; }
.ff-m-why-acc .e-n-accordion-item-title-icon svg { width: 22px !important; height: 18px !important; }

/* FAQ list */
.ff-m-faq-list .e-n-accordion-item .e-n-accordion-item-title-text { color: #FFFFFF; font-family: "Space Grotesk", sans-serif !important; font-weight: 700 !important;
	font-size: clamp(19px, 1.3021vw, 25px) !important; line-height: 24px !important; }
.ff-m-faq-list .e-n-accordion-item { border-bottom: 1px solid #444444 !important; }
.ff-m-faq-list .e-n-accordion-item-title-icon { color: #FFFFFF; flex: 0 0 auto; }
.ff-m-faq-list .e-n-accordion-item-title-icon svg { width: 22px !important; height: 18px !important; }
.ff-m-why-acc .e-n-accordion-item-title-icon svg path, .ff-m-faq-list .e-n-accordion-item-title-icon svg path { stroke: currentColor !important; }
.ff-m-why-acc .e-closed svg, .ff-m-faq-list .e-closed svg { transform: rotate(90deg); }
.ff-m-why-acc .e-opened svg, .ff-m-faq-list .e-opened svg { transform: rotate(-90deg); }
.ff-m-why-acc .e-n-accordion-item-title-icon, .ff-m-faq-list .e-n-accordion-item-title-icon { transition: transform .25s ease; }
.ff-m-faq-list summary, .ff-m-services-acc summary, .ff-m-why-acc summary { cursor: pointer; }
.ff-m-faq-list summary:focus-visible, .ff-m-services-acc summary:focus-visible, .ff-m-why-acc summary:focus-visible { outline: 2px solid #3158FF; outline-offset: 4px; }

/* Icon discs turn brand red when their card is hovered, the icon reversed out white: the Careers
   benefits / About Us heritage pattern, the site standard since 28 Sep (user). Light discs
   (Impact AI-family Why cards) carry dark icons, so theirs are inverted; dark discs (industry Shift
   cards and Why rows) already carry white icons. Two classes deep so a page's own
   `.ff-ia-ico { transition }` cannot drop the colour fade. */
.ff-ia-why-card .ff-ia-ico, .ff-m-shift-card .ff-m-ico {
	transition: background-color .35s ease, transform .3s cubic-bezier(.16,1,.3,1); }
.ff-ia-why-card .ff-ia-ico img { transition: filter .35s ease, scale .3s cubic-bezier(.16,1,.3,1); }
/* Cards only: icons inside accordions (Why Ferfier rows, About Us principles) have no hover
   effect (user, 28 Sep). */
@media (hover: hover) {
	.ff-ia-why-card:hover .ff-ia-ico, .ff-m-shift-card:hover .ff-m-ico { background-color: #FF1A00 !important; }
	.ff-ia-why-card:hover .ff-ia-ico img { filter: brightness(0) invert(1); }
}

/* v1.1 buttons and hover motion */
.ff-btn-outline .elementor-button { transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s cubic-bezier(.16,1,.3,1); }
@media (hover: hover) {
	.ff-btn-outline .elementor-button:hover { transform: translateY(-2px); }
	.ff-m-services-acc .e-n-accordion-item:hover { background: rgba(255,255,255,.12); }
	.ff-m-services-acc .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon { background: #FF1A00; color: #FFFFFF; }
	.ff-m-why-acc .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon,
	.ff-m-faq-list .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon { color: #FF3B18; }
	.ff-m-why-acc .e-n-accordion-item-title:hover .e-n-accordion-item-title-text,
	.ff-m-faq-list .e-n-accordion-item-title:hover .e-n-accordion-item-title-text { color: #FF3B18; }
	.ff-m-shift-card:hover .ff-m-ico img { scale: 1.08; }
	.ff-m-solution:hover .elementor-heading-title { color: #FF3B18 !important; }
	.ff-m-readmore .elementor-button:hover { transform: translateX(3px); }
}

@media (max-width: 1024px) {
	/* 44px touch targets for accordion rows */
	.ff-m-faq-list .e-n-accordion-item-title, .ff-m-services-acc .e-n-accordion-item-title, .ff-m-why-acc .e-n-accordion-item-title { min-height: 44px; }
	.ff-m-slide::before { background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.35) 100%); }
}

/* Laptop screens: keep the content column at 1280px rather than the 1419px design width */
@media (min-width: 1025px) and (max-width: 1600px) {
	.e-con.e-parent > .e-con-inner,
	.ff-m-arch > .e-con-boxed > .e-con-inner,
	.ff-m-arch-slide > .e-con-inner,
	/* Hero slides are boxed like sections, so they take the same laptop column */
	.ff-m-slide > .e-con-inner,
	.ff-ia-slide > .e-con-inner,
	.ff-c-slide > .e-con-inner,
	.ff-p-slide > .e-con-inner { max-width: min(1200px, 100% - 80px); }
}
/* ===== CTA colours per the brand guideline (client, 27 Sep; user, 28 Sep) =====
   Primary CTA (outlined) fills Primary Red #C40000 on hover with white text, on dark and on white
   sections alike ("View All" and the white-section pills too — a white hover on white read as no
   hover, 28 Sep). On the red closing-CTA bands the red fill would vanish, so there the button turns
   white with black text, like the header's Contact Us. Secondary CTA (filled) is monochrome: white
   on dark, and inverts to an outline on hover. Arrow / text links go red on hover. These sit on top
   of the widgets' own hover colours, so one place carries the brand rule. */
:root { --ff-cta: #C40000; }
@media (hover: hover) {
	.ff-btn-outline .elementor-button:hover,
	.ff-ia-viewall .elementor-button:hover { background-color: var(--ff-cta) !important; border-color: var(--ff-cta) !important; color: #FFFFFF !important; }
	/* The button on the red CTA bands (shared CTA, About Us, Careers) */
	.ff-ia-cta-btn .elementor-button:hover { background-color: #FFFFFF !important; border-color: #FFFFFF !important; color: #000000 !important; }
	/* The shared newsletter's Subscribe (black pill, white hairline): its own snapshot CSS hovers the old
	   red with !important, so this .elementor-kit-7 outranks it by specificity */
	.elementor-widget-form.ff-ia-form .elementor-button:hover { background-color: var(--ff-cta) !important; border-color: var(--ff-cta) !important; }
	/* Text and arrow links */
	.ff-link .elementor-button:hover { color: var(--ff-cta) !important; border-color: var(--ff-cta) !important; }
	.ff-flow-node .elementor-heading-title a:hover { color: var(--ff-cta); }
}
.ff-btn-outline .elementor-button:focus-visible,
.ff-ia-viewall .elementor-button:focus-visible { background-color: var(--ff-cta) !important; border-color: var(--ff-cta) !important; color: #FFFFFF !important; }
.ff-ia-cta-btn .elementor-button:focus-visible { background-color: #FFFFFF !important; border-color: #FFFFFF !important; color: #000000 !important; }
/* Secondary CTA (filled, monochrome): the red pills of the industry banners and the header button */
.ff-m-btn:not(.ff-btn-outline) .elementor-button,
.elementor-location-header .ff-btn .elementor-button { background-color: #FFFFFF !important; color: #000000 !important; border: 1px solid #FFFFFF; transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .2s ease; }
@media (hover: hover) {
	.ff-m-btn:not(.ff-btn-outline) .elementor-button:hover,
	.elementor-location-header .ff-btn .elementor-button:hover { background-color: transparent !important; color: #FFFFFF !important; border-color: #FFFFFF; }
}
.ff-flow-node .elementor-heading-title a { color: inherit; transition: color .2s ease; }

/* ===== Footer (Figma v1.1, 712:755) ===== */
.ff-f-links { list-style: none; margin: 0; padding: 0; }
.ff-f-links a { color: #FFFFFF; text-decoration: none; transition: color .2s ease; }
.ff-f-legal { display: flex; flex-wrap: wrap; gap: 32px 52.66px; }
.ff-f-col .elementor-heading-title { white-space: nowrap; }
.ff-f-social .elementor-social-icon { background: none !important; width: auto; height: auto; }
.ff-f-social .elementor-social-icon svg { width: 30px; height: 30px; fill: #FFFFFF; transition: fill .2s ease; }
@media (hover: hover) {
	.ff-f-links a:hover { color: #FF3B18; }
	.ff-f-social .elementor-social-icon:hover svg { fill: #FF1A00; }
}

/* ===== Film modal (user, 30 Sep: "like the modal in Leadership") =====
   Elementor's video lightbox (Home's Proof tile, Mobility's "Read the story") in the Leadership profile
   modal's look: blurred dark backdrop, a dark rounded panel with the blue and red glows, a round close
   button on the panel's corner. The lightbox is kept for what it does by itself: the film starts when it
   opens and stops when it closes. It lives outside the page content, hence the kit.
   --ff-film-w is the player's width: the panel has to fit the screen with a margin, in both directions,
   and the close button is placed from the same numbers because it is not inside the panel. */
.elementor-lightbox:has(.elementor-video-container) {
	--ff-film-pad: 20px; --ff-film-top: 72px;
	--ff-film-w: min(1040px, calc(100vw - 32px - 2 * var(--ff-film-pad)), calc((100vh - 64px - var(--ff-film-top) - var(--ff-film-pad)) * 16 / 9));
	--lightbox-ui-color: #FFFFFF; --lightbox-ui-color-hover: #FFFFFF;
	background-color: rgba(5,5,5,.72) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
@supports (height: 100dvh) {
	.elementor-lightbox:has(.elementor-video-container) {
		--ff-film-w: min(1040px, calc(100vw - 32px - 2 * var(--ff-film-pad)), calc((100dvh - 64px - var(--ff-film-top) - var(--ff-film-pad)) * 16 / 9));
	}
}
.elementor-lightbox:has(.elementor-video-container) .elementor-video-container .elementor-video-landscape {
	box-sizing: content-box; width: var(--ff-film-w); max-height: none;
	padding: var(--ff-film-top) var(--ff-film-pad) var(--ff-film-pad);
	border: 1px solid rgba(255,255,255,.1); border-radius: 32px; box-shadow: 0 30px 80px rgba(0,0,0,.5);
	background: radial-gradient(60% 55% at 12% 0%, rgba(0,44,183,.28), rgba(0,0,0,0) 70%),
		radial-gradient(55% 60% at 100% 100%, rgba(255,26,0,.22), rgba(0,0,0,0) 70%), #0B0B0B;
}
.elementor-lightbox:has(.elementor-video-container) .elementor-video-container .elementor-video-landscape iframe { display: block; max-height: none; border-radius: 16px; }
.elementor-lightbox:has(.elementor-video-container) .dialog-lightbox-close-button {
	top: calc(50% - (var(--ff-film-w) * 9 / 16 + var(--ff-film-top) + var(--ff-film-pad)) / 2 + 14px);
	inset-inline-end: calc(50% - (var(--ff-film-w) + 2 * var(--ff-film-pad)) / 2 + 14px);
	margin-top: 0; padding: 0; width: 44px; height: 44px; border-radius: 50%; align-items: center; justify-content: center;
	font-size: 16px; background: rgba(28,28,28,.92); border: 1px solid rgba(255,255,255,.14); transition: background-color .25s ease;
}
.elementor-lightbox:has(.elementor-video-container) .dialog-lightbox-close-button:hover { background: #FF1A00; }
.elementor-lightbox:has(.elementor-video-container) .dialog-lightbox-close-button:focus-visible { outline: 2px solid #3158FF; outline-offset: 3px; }
@media (max-width: 767px) {
	.elementor-lightbox:has(.elementor-video-container) { --ff-film-pad: 12px; --ff-film-top: 64px; }
	.elementor-lightbox:has(.elementor-video-container) .elementor-video-container .elementor-video-landscape { border-radius: 22px; }
	.elementor-lightbox:has(.elementor-video-container) .elementor-video-container .elementor-video-landscape iframe { border-radius: 12px; }
}/* End custom CSS */