/* Enhancements only. Layout, copy, images and form remain native Elementor controls. */
@font-face{font-family:Sora;src:url('fonts/Sora.ttf') format('truetype');font-style:normal;font-weight:100 800;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/Inter.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--eft-orange:var(--e-global-color-primary,#F97316);--eft-navy:var(--e-global-color-secondary,#0B1623);--eft-border:var(--e-global-color-border,#E5E7EB)}
html{scroll-behavior:smooth;scroll-padding-top:105px}
.eft-section{overflow-wrap:anywhere}
.eft-section .elementor-widget-text-editor p:last-child{margin-bottom:0}
.eft-section .elementor-heading-title{white-space:pre-line}
.eft-section a{text-decoration:none}
.eft-section a:focus-visible,.eft-section button:focus-visible,.eft-section input:focus-visible,.eft-section select:focus-visible,.eft-section textarea:focus-visible,.eft-section .elementor-menu-toggle:focus-visible{outline:3px solid var(--eft-orange);outline-offset:5px}
.eft-section .eft-eyebrow .elementor-heading-title{font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;line-height:1.6}
.eft-eyebrow .elementor-heading-title:before{content:'';display:inline-block;width:23px;height:2px;background:var(--eft-orange);vertical-align:middle;margin-right:12px}
.eft-button .elementor-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s,transform .2s;box-shadow:none}
.eft-button .elementor-button:hover{background:#FF8A36;color:var(--eft-navy);transform:translateY(-2px)}
.eft-text-link .elementor-button{font-size:14px;font-weight:600;line-height:1.6;border:0;background:none}
.eft-text-link .elementor-button-icon{transition:transform .2s}
.eft-text-link:hover .elementor-button-icon{transform:translateX(5px)}
.eft-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background-color .25s,padding .25s,border-color .25s;border-bottom:1px solid var(--eft-border)}
body.admin-bar .eft-header{top:32px}
.eft-header .e-con-inner{align-items:center}
.eft-header .elementor-nav-menu--main .elementor-item{color:var(--eft-navy)}
.eft-header .elementor-menu-toggle{color:var(--eft-navy);background:transparent;min-width:48px;min-height:48px;padding:10px}
.eft-home .eft-header:not(.eft-header--scrolled){background-color:transparent;border-bottom-color:rgba(255,255,255,.18)}
.eft-home .eft-header:not(.eft-header--scrolled) .elementor-nav-menu--main .elementor-item,.eft-home .eft-header:not(.eft-header--scrolled) .elementor-menu-toggle{color:white}
.eft-header.eft-header--scrolled{background:var(--e-global-color-white,#fff);--padding-top:12px;--padding-bottom:12px}
.eft-header .elementor-nav-menu--main .elementor-item:hover,.eft-header .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--eft-orange)}
.eft-header .elementor-nav-menu--dropdown a{min-height:48px}
/* The supplied PNG has transparent margins. Frame them while retaining all artwork.
   Visible source bounds: x=103..948, y=246..461 within 1052x643. */
.eft-logo a{display:inline-block;max-width:100%;vertical-align:middle}
.eft-logo img{display:block;background:white;border-radius:4px;padding:0;height:auto;aspect-ratio:55/16;object-fit:cover;object-position:50% 60%}
.eft-hero{min-height:max(740px,var(--min-height,88vh));background-position:center calc(50% + var(--eft-parallax,0px));isolation:isolate}
.eft-hero-title{max-width:720px}
.eft-hero-copy{max-width:555px;line-height:1.7}
.eft-hero .eft-button{margin-top:8px}
.eft-internal-hero{padding-top:190px!important}
.eft-internal-hero .elementor-heading-title{max-width:950px}
.eft-internal-hero .eft-lede{max-width:750px;opacity:.85}
.eft-trust{border-bottom:1px solid var(--eft-border)}
.eft-trust>.e-con-inner{gap:28px}
.eft-trust .eft-client-grid{align-items:center}
.eft-client{align-items:center;text-align:center;justify-content:center}
.eft-client-logo img{width:132px;height:68px;object-fit:contain;filter:grayscale(1);opacity:.68;transition:filter .25s,opacity .25s}
.eft-client:hover img{filter:grayscale(0);opacity:1}
.eft-client .elementor-heading-title{line-height:1.5;max-width:225px;font-family:Inter,sans-serif;font-weight:500}
.eft-service-card{transition:transform .25s,border-color .25s;align-self:stretch}
.eft-service-card:hover,.eft-service-card:focus-within{transform:translateY(-3px);border-color:#A2A9B2}
.eft-service-card .eft-service-photo{overflow:hidden}
.eft-service-photo img{width:100%;aspect-ratio:900/560;object-fit:cover;display:block;transition:transform .45s}
.eft-service-card:hover .eft-service-photo img{transform:scale(1.04)}
.eft-service-card>.e-con{flex:1}
.eft-service-card .eft-text-link{margin-top:auto}
.eft-principle{border-left:1px solid rgba(255,255,255,.2)}
.eft-principle .elementor-widget-text-editor{opacity:.75}
.eft-capability{border-top:1px solid var(--eft-border);border-left:3px solid transparent;transition:background-color .2s,border-color .2s}
.eft-capability:last-child{border-bottom:1px solid var(--eft-border)}
.eft-capability:hover,.eft-capability:focus-within{background:#FFF8F2;border-left-color:var(--eft-orange)}
.eft-capability .eft-text-link .elementor-button-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.eft-capability .eft-text-link .elementor-button{min-width:44px;min-height:44px}
.eft-industry{border-top:1px solid #D8DDE3;transition:border-color .2s}
.eft-industry:hover{border-color:var(--eft-orange)}
.eft-industry:hover .elementor-icon{color:var(--eft-orange)}
.eft-industry:hover .elementor-icon svg{fill:var(--eft-orange)}
.eft-industry .elementor-heading-title{line-height:1.4}
.eft-lifecycle{position:relative;padding-top:26px}
.eft-lifecycle:before,.eft-lifecycle:after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--eft-border)}
.eft-lifecycle:after{background:var(--eft-orange);transform:scaleX(0);transform-origin:left;transition:transform 1.2s ease}
.eft-lifecycle.eft-in-view:after{transform:scaleX(1)}
.eft-step-number:before{content:'';position:absolute;top:-32px;width:12px;height:12px;border:3px solid white;background:var(--eft-orange);border-radius:50%;z-index:1}
.eft-step .elementor-heading-title{line-height:1.4}
.eft-value{border-top:2px solid var(--eft-orange)}
.eft-about-photo img,.eft-detail-photo img{width:100%;aspect-ratio:1.17;object-fit:cover;border-radius:8px}
.eft-about-photo img{object-position:70% center}
.eft-bullets .elementor-icon-list-item{align-items:flex-start}
.eft-bullets .elementor-icon-list-icon{padding-top:6px}
.eft-clients-page .eft-client{padding:36px 20px;border:1px solid var(--eft-border);min-height:230px}
.eft-clients-page .eft-client-logo img{height:100px;filter:none;opacity:1}
.eft-contact-form input,.eft-contact-form select{min-height:52px}
.eft-contact-form textarea{min-height:170px;resize:vertical}
.eft-contact-form .elementor-button{min-height:52px}
.eft-contact-form .elementor-field-label{font-size:14px;font-weight:500;margin-bottom:7px}
.eft-footer a{color:inherit}
.eft-footer a:hover{color:var(--eft-orange)}
.eft-footer-nav .elementor-nav-menu--main .elementor-item{color:white;font-size:14px;padding:10px 12px}
.eft-footer-nav .elementor-nav-menu{flex-wrap:wrap;justify-content:flex-end}
.eft-footer-bottom{padding-top:28px!important;border-top:1px solid rgba(255,255,255,.16)}
.eft-footer-bottom>.elementor-widget{width:auto}
.eft-footer-bottom .elementor-widget-text-editor{opacity:.6}
/* Progressive animation: content stays visible when JavaScript is unavailable. */
@media(prefers-reduced-motion:no-preference){
 .eft-hero .eft-eyebrow{animation:eft-enter .65s both}
 .eft-hero-title{animation:eft-enter .75s .1s both}
 .eft-hero-copy{animation:eft-enter .75s .2s both}
 .eft-hero .eft-button{animation:eft-enter .75s .3s both}
 @keyframes eft-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
}
@media(min-width:1025px){.eft-lifecycle{gap:24px}.eft-step{flex:1}}
@media(max-width:1024px){
 .eft-header .e-con-inner>.e-con:first-child{width:35%}.eft-header .e-con-inner>.e-con:nth-child(2){width:60%}
 .eft-hero>.e-con-inner>.e-con{width:78%}.eft-hero{min-height:720px}
 .eft-lifecycle{flex-wrap:wrap;row-gap:36px}.eft-step{width:30%}
 .eft-step-number:before{display:none}
 .eft-capability{padding:22px 12px}.eft-capability>.e-con:first-child{width:29%}.eft-capability>.e-con:nth-child(2){width:57%}
}
@media(max-width:767px){
 html{scroll-padding-top:86px}
 body.admin-bar .eft-header{top:46px}
 .eft-header.eft-header--scrolled{--padding-top:9px;--padding-bottom:9px}
 .eft-header .e-con-inner>.e-con:first-child{width:62%}.eft-header .e-con-inner>.e-con:nth-child(2){width:30%}
 .eft-header .e-con-inner{gap:8px}
 .eft-logo img{max-width:180px}
 .eft-hero{min-height:720px;background-position:62% center;padding-top:146px;padding-bottom:80px}
 .eft-hero>.e-con-inner>.e-con{width:100%}
 .eft-hero-title .elementor-heading-title{font-size:42px;line-height:1.15;letter-spacing:-.035em}
 .eft-hero-copy{max-width:380px;font-size:18px}
 .eft-hero .eft-eyebrow .elementor-heading-title{font-size:10px;letter-spacing:.09em}
 .eft-internal-hero{padding-top:148px!important}
 .eft-internal-hero .elementor-heading-title{font-size:37px}
 .eft-internal-hero .eft-eyebrow .elementor-heading-title{font-size:12px}
 .eft-trust .eft-client-grid>.e-con,.eft-industry-grid>.e-con{width:calc((100% - 24px)/2)}
 .eft-client-logo img{height:60px;width:105px}
 .eft-client .elementor-heading-title{font-size:12px}
 .eft-industry{padding:20px 0}.eft-industry .elementor-heading-title{font-size:16px}
 .eft-industry-details .eft-industry-grid>.e-con{width:100%}
 .eft-capability{gap:12px;padding:22px 18px}
 .eft-capability>.e-con:first-child,.eft-capability>.e-con:nth-child(2){width:100%}
 .eft-capability>.e-con:last-child{width:auto;align-self:flex-end}
 .eft-capability .elementor-heading-title{font-size:20px}
 .eft-lifecycle{padding-top:0;padding-left:26px;gap:28px}
 .eft-lifecycle:before,.eft-lifecycle:after{top:0;bottom:0;left:0;right:auto;width:2px;height:auto}
 .eft-lifecycle:after{transform:scaleY(0);transform-origin:top}.eft-lifecycle.eft-in-view:after{transform:scaleY(1)}
 .eft-step{width:100%;gap:12px}.eft-step-number:before{display:block;top:3px;left:-31px}
 .eft-reverse-mobile>.e-con-inner>.e-con{flex-direction:column-reverse}
 .eft-detail-photo img{aspect-ratio:900/560}
 .eft-footer .e-con-inner>.e-con>.e-con{align-items:flex-start}
 .eft-footer-nav .elementor-nav-menu{justify-content:flex-start}
 .eft-footer-nav .elementor-nav-menu--main{display:block}
 .eft-footer-nav .elementor-nav-menu--main .elementor-item{padding-left:0;padding-right:18px;min-height:44px}
 .eft-footer-bottom{gap:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.eft-section *,.eft-section *:before,.eft-section *:after{animation:none!important;transition:none!important}.eft-lifecycle:after{transform:none}}
/* Keep editing visible and stable in Elementor's canvas. */
.elementor-editor-active .eft-header{position:relative;top:auto!important;background:white}
.elementor-editor-active .eft-header .elementor-item{color:var(--eft-navy)!important}
.elementor-editor-active .eft-hero *{animation:none!important}
/* Global font families stay centrally editable; widget sizes remain native responsive controls. */
.eft-section .elementor-heading-title{font-family:var(--e-global-typography-primary-font-family,Sora),sans-serif;font-weight:var(--e-global-typography-primary-font-weight,600)}
.eft-section .elementor-widget-text-editor{font-family:var(--e-global-typography-text-font-family,Inter),sans-serif;font-weight:var(--e-global-typography-text-font-weight,400)}
.eft-section .elementor-button{font-family:var(--e-global-typography-accent-font-family,Inter),sans-serif}

/* These interaction states intentionally override the native resting-state controls. */
.eft-home .eft-header:not(.eft-header--scrolled){background-color:transparent!important}
.eft-header.eft-header--scrolled{background-color:var(--e-global-color-white,#fff)!important;--padding-top:12px!important;--padding-bottom:12px!important}
.eft-header .elementor-nav-menu--main .elementor-item{color:var(--eft-navy)!important}
.eft-home .eft-header:not(.eft-header--scrolled) .elementor-nav-menu--main .elementor-item{color:#fff!important}
.eft-header .elementor-nav-menu--main .elementor-item:hover{color:var(--eft-orange)!important}
.eft-hero{background-position:center calc(50% + var(--eft-parallax,0px))!important}
@media(max-width:767px){.eft-hero{background-position:62% center!important}}

/* Native Elementor client carousel: contained logos, captions and touch/arrow navigation. */
.eft-client-carousel{min-width:0;max-width:100%;padding:0 32px}
.eft-client-carousel .swiper-slide-image{width:148px;height:76px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.8;transition:filter .2s,opacity .2s}
.eft-client-carousel .swiper-slide:hover .swiper-slide-image{filter:none;opacity:1}
.eft-client-carousel .elementor-image-carousel-caption{margin-top:16px;font:500 13px/1.5 Inter,sans-serif;color:var(--eft-navy);white-space:normal}
.eft-client-carousel .elementor-swiper-button{color:var(--eft-navy);min-width:44px;min-height:44px;justify-content:center}
.eft-client-carousel .elementor-swiper-button-prev{left:-32px}
.eft-client-carousel .elementor-swiper-button-next{right:-32px}
.eft-sample-testimonial{background:white;border:1px solid var(--eft-border);border-top:3px solid var(--eft-orange);border-radius:6px}
@media(max-width:767px){
 .eft-client-carousel{padding:0 22px}
 .eft-client-carousel .swiper-slide-image{width:112px;height:66px}
 .eft-client-carousel .elementor-image-carousel-caption{font-size:12px}
 .eft-client-carousel .elementor-swiper-button-prev{left:-28px}
 .eft-client-carousel .elementor-swiper-button-next{right:-28px}
 .eft-testimonials .eft-grid>.e-con{width:100%}
}
