/* Origami: independent artwork layers follow real page scrolling. */
.tf-facelift .tf-hero{--hero-scroll:0px;--hero-angle:0deg;--hero-x:0px;--hero-y:0px;position:relative;background:#fafafa;color:#19191b;overflow:hidden;isolation:isolate}
.tf-hero__inner{position:relative;max-width:1600px;min-height:870px;margin:auto;padding:122px 48px 24px;display:flex;flex-direction:column}
.tf-hero__meta,.tf-hero__foot{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px;line-height:1.5;color:#626269;position:relative;z-index:2}
.tf-hero__meta{padding-bottom:22px;border-bottom:1px solid #dedee1;text-transform:uppercase;letter-spacing:.07em}
.tf-hero__meta i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#19191b;margin-right:8px}
.tf-hero__copy{position:relative;z-index:2;text-align:left;margin:52px 0 76px;max-width:1000px}
.tf-hero__eyebrow{font-size:12px;line-height:1.5;margin-bottom:24px;color:#626269}
.tf-facelift .tf-hero__title{font-size:clamp(72px,8.8vw,140px);line-height:1.03;letter-spacing:-.065em;font-weight:600;margin:0 0 32px;color:#19191b}
.tf-hero__title>span{display:block}
.tf-hero__title em{font-style:normal;position:relative;white-space:nowrap}
.tf-hero__title em:after{content:'';position:absolute;left:0;right:0;bottom:5px;height:11%;background:#e9f056;z-index:-1;transform:rotate(-2deg)}
.tf-facelift .tf-hero__copy>p{font-size:16px;line-height:1.65;letter-spacing:-.02em;margin:0 0 30px;color:#626269}
.tf-hero br{display:initial!important}
.tf-hero__actions{display:flex;align-items:center;justify-content:flex-start;gap:12px}
.tf-hero__actions>a{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:58px;padding:17px 24px;border-radius:100px;font-size:14px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}
.tf-hero__primary{background:#19191b;color:#fff!important;border:1px solid #19191b}
.tf-hero__secondary{background:#fafafa;color:#19191b!important;border:1px solid #d4d4d8}
.tf-hero__actions>a:hover{background:#e9f056;color:#19191b!important;transform:translateY(-3px);border-color:#e9f056}
.tf-hero__actions>a:focus-visible{outline:2px solid #19191b;outline-offset:5px}
.tf-hero__actions span{font-size:22px}
.tf-hero__foot{margin-top:auto;border-top:1px solid #dedee1;padding-top:20px}
.tf-hero__foot b{font-size:18px;color:#19191b;margin-left:8px}
.tf-flight{position:absolute;inset:0;pointer-events:none;z-index:1}
.tf-flight img{display:block;width:100%;height:auto;max-width:none}
.tf-flight__path{position:absolute;width:100%;height:100%;inset:0;color:#c8c8cc;opacity:.65}
.tf-flight__plane{position:absolute;width:clamp(260px,27vw,410px);right:-32px;top:480px;transform:translate3d(calc(var(--hero-scroll)*.45 + var(--hero-x)),calc(var(--hero-scroll)*-.58 + var(--hero-y)),0) rotate(calc(-10deg + var(--hero-angle)));will-change:transform}
.tf-flight__ribbon{position:absolute;width:clamp(170px,19vw,280px);left:-70px;top:345px;transform:translate3d(calc(var(--hero-x)*-.7),calc(var(--hero-scroll)*.25),0) rotate(calc(-18deg - var(--hero-angle)));will-change:transform}
.tf-flight__star{position:absolute;width:108px;right:17%;top:145px;transform:translate3d(calc(var(--hero-x)*-.5),calc(var(--hero-scroll)*-.25),0) rotate(var(--hero-angle));will-change:transform}
.tf-flight__label{position:absolute;right:350px;bottom:110px;font-size:11px;line-height:1.4;color:#626269;transform:rotate(-5deg)}
.tf-hero[data-entered=true] .tf-flight img{animation:tf-origami-enter 1.1s cubic-bezier(.2,.7,.3,1) both}
@keyframes tf-origami-enter{from{opacity:0;transform:translateY(32px) rotate(-5deg)}to{opacity:1;transform:none}}
@media(min-width:1600px){.tf-flight__plane{right:0}.tf-flight__ribbon{left:-30px}}
@media(max-width:1000px){.tf-hero__inner{padding-inline:32px;min-height:750px}.tf-hero__copy{margin-top:96px}.tf-flight__plane{top:535px;right:-60px;width:290px}.tf-flight__ribbon{left:-95px;top:370px}.tf-flight__star{right:15%;width:90px}.tf-flight__label{right:235px;bottom:83px}}
@media(max-width:640px){.tf-hero__inner{padding:100px 20px 20px;min-height:910px}.tf-hero__meta{font-size:9px;padding-bottom:17px}.tf-hero__meta>span:last-child{display:none}.tf-hero__copy{margin:68px auto 280px;width:100%}.tf-hero__eyebrow{font-size:10px;margin-bottom:20px}.tf-facelift .tf-hero__title{font-size:clamp(40px,11.1vw,70px);letter-spacing:-.06em;margin-bottom:24px}.tf-facelift .tf-hero__copy>p{font-size:13px;line-height:1.6;max-width:340px;margin-bottom:24px}.tf-hero__actions{gap:8px}.tf-hero__actions>a{font-size:11px;min-height:50px;padding:14px 17px;gap:15px}.tf-hero__actions span{font-size:18px}.tf-flight__plane{width:255px;top:auto;bottom:65px;right:3%;transform:translate3d(calc(var(--hero-scroll)*.22),calc(var(--hero-scroll)*-.2),0) rotate(calc(-10deg + var(--hero-angle)))}.tf-flight__ribbon{width:120px;left:-35px;top:auto;bottom:130px}.tf-flight__star{width:65px;right:7%;top:140px}.tf-flight__label{bottom:76px;left:25px;right:auto;font-size:10px}.tf-hero__foot{font-size:9px;gap:12px;padding-top:17px}.tf-hero__foot b{font-size:15px;margin-left:3px}}
@media(min-width:641px){
.tf-hero__inner{min-height:800px}
.tf-hero__copy{width:59%;margin:82px 0 90px}
.tf-facelift .tf-hero__title{font-size:clamp(52px,7.1vw,112px)}
.tf-flight__plane{width:37%;max-width:560px;right:0;top:245px}
.tf-flight__ribbon{width:160px;left:auto;right:26%;top:570px}
.tf-flight__star{width:86px;right:28%;top:170px}
.tf-flight__label{right:70px;bottom:120px}
.tf-flight__path{left:42%;width:75%;opacity:.5}
}
@media(min-width:641px) and (max-width:1000px){
.tf-hero__copy{width:64%;margin:75px 0 110px}
.tf-flight__plane{width:38%;right:-30px;top:300px}
.tf-flight__ribbon{width:120px;right:23%;top:530px}
.tf-flight__star{right:16%;top:180px;width:70px}
.tf-flight__label{right:40px;bottom:100px}
}
@media(prefers-reduced-motion:reduce){.tf-hero[data-entered=true] .tf-flight img{animation:none}.tf-hero__actions>a{transition:none}}
.tf-facelift .tf-tech{padding:100px 0 110px;background:#f2f2f4;border-block:1px solid #e4e4e7;text-align:center}
.tf-tech__inner{max-width:1440px;width:calc(100% - 96px);margin-inline:auto}
.tf-facelift .tf-tech__label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#626269;margin:0 0 24px}
.tf-facelift .tf-tech h2{font-size:clamp(34px,4.5vw,66px);line-height:1.1;letter-spacing:-.045em;max-width:900px;margin:0 auto;color:#19191b;font-weight:600}
.tf-tech h2 br{display:initial!important}
.tf-tech__logos{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;padding:0!important;margin:44px 0 36px;list-style:none}
.tf-tech__logos li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:28px 12px 22px;border:1px solid #d4d4d8;border-radius:20px;background:#fff;color:#19191b;transition:transform .2s,background .2s}
.tf-tech__logos li:hover{background:#e9f056;transform:translateY(-5px)}
.tf-tech__logos i{font-size:42px;line-height:1;height:44px;display:flex;align-items:center;justify-content:center}
.tf-tech__logos span{font-size:13px;font-weight:600;line-height:1.3}
.tf-facelift .tf-tech__text{font-size:16px;line-height:1.5;color:#626269;margin:0 0 24px}
.tf-facelift .tf-tech__contact{display:inline-flex;align-items:center;gap:32px;border-radius:100px;padding:18px 26px;background:#19191b;color:#fff;font-size:15px;font-weight:600;line-height:1.4;min-height:58px}
.tf-facelift .tf-tech__contact:hover{background:#e9f056;color:#19191b;transform:translateY(-2px)}
.tf-tech__contact>span{font-size:24px;line-height:1}
.tf-tech__contact:focus-visible{outline:2px solid #19191b;outline-offset:5px}
.tf-proof{padding:4px 0 28px}
.tf-proof__facts{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tf-proof__facts>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.tf-proof__facts>div+div{border-left:1px solid #d4d4d8;padding-left:28px}
.tf-proof__facts strong{display:block;font-size:clamp(52px,5.5vw,80px);line-height:1;letter-spacing:-.07em;font-weight:600;color:#19191b}
.tf-proof__facts strong>span{font-size:.6em;vertical-align:top;line-height:1.2;letter-spacing:-.04em}
.tf-proof__facts>div>span{font-size:14px;line-height:1.5;color:#626269}
.tf-proof__facts br{display:initial!important}
.tf-proof__team{display:flex;align-items:center;gap:12px;padding-top:24px;font-size:13px;line-height:1.4;color:#19191b}
.tf-proof__team>span{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;font-size:22px;background:#e9f056;color:#19191b}
@media(max-width:640px){.tf-proof__facts{gap:16px}.tf-proof__facts>div+div{padding-left:20px}.tf-proof__facts>div>span{font-size:12px}.tf-proof__team{font-size:12px}}
@media(max-width:1100px){.tf-tech__inner{width:calc(100% - 64px)}.tf-tech__logos{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.tf-tech__inner{width:calc(100% - 40px)}.tf-facelift .tf-tech{padding:64px 0}.tf-tech__logos{gap:10px;margin:30px 0}.tf-tech__logos li{padding:22px 10px;gap:12px}.tf-tech__logos i{font-size:34px;height:36px}.tf-tech__logos span{font-size:12px}.tf-facelift .tf-tech__text{font-size:14px}}
@media(max-width:480px){.tf-tech__logos{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-tech__logos li{flex-direction:row;justify-content:flex-start;padding:18px;gap:14px}.tf-tech__logos i{width:32px;font-size:28px;height:32px;flex-shrink:0}}

/* Compact business goals, one sentence per card. */
.tf-facelift .tf-services{padding:72px 0;background:#fff;color:#19191b}
.tf-services__inner{max-width:1440px;width:calc(100% - 96px);margin:auto}
.tf-services header{margin-bottom:32px}
.tf-facelift .tf-services__label{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#626269;margin:0 0 14px}
.tf-facelift .tf-services h2{font-size:clamp(28px,3vw,42px);font-weight:600;line-height:1.17;letter-spacing:-.04em;margin:0;color:#19191b}
.tf-services__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tf-services-card{position:relative;display:flex;flex-direction:column;border:1px solid #dedee1;border-radius:20px;padding:26px 24px 58px;background:#fff;transition:background .2s,border-color .2s;min-width:0;text-decoration:none}
.tf-services-card__type{font-size:10px;line-height:1.4;color:#626269;margin-bottom:28px}
.tf-facelift .tf-services-card h3{font-size:23px;line-height:1.15;letter-spacing:-.035em;font-weight:600;margin:0 0 14px;color:#19191b}
.tf-facelift .tf-services-card p{font-size:13px;line-height:1.6;color:#626269;margin:0}
.tf-services-card__arrow{position:absolute;right:22px;bottom:18px;font-size:23px;color:#19191b}
.tf-services-card:hover{background:#e9f056;border-color:#e9f056}
.tf-services-card:focus-visible{outline:2px solid #19191b;outline-offset:4px}
@media(max-width:1000px){.tf-services__inner{width:calc(100% - 64px)}.tf-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tf-facelift .tf-services{padding:48px 0}.tf-services__inner{width:calc(100% - 40px)}.tf-services header{margin-bottom:24px}.tf-services__grid{grid-template-columns:1fr;gap:12px}.tf-services-card{padding:22px 56px 22px 22px;border-radius:18px}.tf-services-card__type{margin-bottom:12px}.tf-facelift .tf-services-card h3{font-size:22px;margin-bottom:10px}.tf-services-card__arrow{bottom:22px}}
@media(prefers-reduced-motion:reduce){.tf-services-card{transition:none}}

/* The aircraft and dashed line use the same SVG path coordinates. */
.tf-flight .tf-flight__path{inset:0;width:100%;height:100%;color:#aaaab0;opacity:.75}
.tf-flight .tf-flight__plane{left:0;right:auto;top:0;bottom:auto;width:clamp(180px,23vw,340px);max-width:none;transform:translate3d(var(--plane-x,75vw),var(--plane-y,450px),0) translate(-50%,-50%) rotate(var(--plane-rotation,0deg)) scale(var(--plane-scale,1));transform-origin:center;will-change:transform}
.tf-hero[data-entered=true] .tf-flight img{animation:none}
@media(max-width:640px){.tf-flight .tf-flight__plane{width:170px}}

/* Release the flight's empty space as the plane leaves on phones. */
@media(max-width:640px){
 .tf-facelift .tf-hero{overflow-anchor:none}
 .tf-hero__inner{min-height:calc(820px - var(--hero-collapse,0px))}
 .tf-hero__copy{margin-bottom:calc(230px - var(--hero-collapse,0px))}
}

/* Prices shown only in the homepage cost block, not in development stages. */
.tf-facelift .tf-home-pricing .tf-pricing-amount{display:block;font-size:25px;font-weight:650;line-height:1.35;letter-spacing:-.025em;color:var(--tf-ink)}
.tf-facelift .tf-home-pricing .process-card{display:flex;flex-direction:column}
.tf-facelift .tf-home-pricing .process-card .bot{margin-top:auto;border-top:1px solid #d4d4d8;padding-top:22px}
.tf-facelift .tf-home-pricing .swiper-slide:not(:nth-child(3n+1)) .tf-pricing-amount{color:#e9f056}
.tf-facelift .tf-home-pricing .swiper-slide:not(:nth-child(3n+1)) .bot{border-color:#48494f}
/* Keep contact details next to the analyst heading instead of distributing
   the left column across the full height of the messenger card. */
.tf-facelift.home .elementor-element-4a1e8df .col-left{justify-content:flex-start}
.tf-facelift.home .elementor-element-4a1e8df .col-left .heading-section{margin-bottom:28px!important}
