/**
 * TECHNO — widgets.css
 * Loads: pages that use QB TECHNO Elementor widgets (via get_style_depends), CPT views.
 * One section per widget. Logical properties throughout.
 */

/* ==========================================================================
   Shared widget pieces
   ========================================================================== */
.tch-w{position:relative}
.tch-w--soft{background:var(--tch-bg-soft);margin:var(--tch-inset);border-radius:var(--tch-panel-radius)}
.tch-w-note{padding:18px 22px;border-radius:14px;background:rgba(var(--tch-primary-rgb),.08);color:var(--tch-primary-dark);font-size:14px}
.tch-head{margin-block-end:clamp(30px,3.4vw,46px)}
.tch-head--split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,80px);align-items:end}
.tch-head__b{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.tch-head--center{text-align:center;display:flex;flex-direction:column;align-items:center}
.tch-head--center .tch-lead{max-inline-size:640px}
.tch-head .tch-w-title,.tch-w .tch-w-title{margin:16px 0 0}
.tch-head--stack .tch-lead,.tch-head--center .tch-lead{margin-block-start:16px}
.tch-head__btn{margin-block-start:24px}
.tch-head--light .tch-w-title{color:#fff}.tch-head--light .tch-lead,.tch-head--light .tch-kick{color:rgba(255,255,255,.75)}
.elementor-widget-qb-heading .tch-head{margin-block-end:0}
.tch-dark .tch-lead,.tch-slate .tch-lead{color:var(--tch-body)}
.tch-dark .tch-kick,.tch-slate .tch-kick{color:var(--tch-body)}
@media (max-width:980px){.tch-head--split{grid-template-columns:minmax(0,1fr);gap:22px}}
.tch-chips{display:flex;flex-wrap:wrap;gap:8px}
.tch-chip{block-size:34px;padding-inline:14px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px rgba(var(--tch-ink-rgb),.16);background:transparent;font:inherit;font-size:12.5px;font-weight:500;color:var(--tch-ink);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .45s var(--tch-ease)}
.tch-chip:hover{box-shadow:inset 0 0 0 1px var(--tch-ink)}
.tch-chip.is-on{background:var(--tch-ink);color:#fff;box-shadow:none}
.tch-chip small{font-family:var(--tch-font-m);font-size:10px;opacity:.55}
.tch-dark .tch-chip,.tch-slate .tch-chip{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.tch-dark .tch-chip.is-on,.tch-slate .tch-chip.is-on{background:#fff;color:var(--tch-ink)}
/* stage: children reveal when the grid enters */
.tch-anim-ready [data-tch-anim="stage"]>*{transition:clip-path 1.2s var(--tch-ease2),opacity 1s var(--tch-ease);transition-delay:calc(var(--i,0) * 80ms)}
.tch-anim-ready [data-tch-anim="stage"]:not(.tch-in)>*{clip-path:inset(100% 0 0 0 round var(--tch-radius));opacity:.2}
.tch-anim-ready [data-tch-anim="stage"]>*{clip-path:inset(0 0 0 0 round var(--tch-radius))}
.is-hidden-f{display:none!important}

/* ==========================================================================
   QB Hero Slider
   ========================================================================== */
.tch-hero{position:relative;margin:var(--tch-inset);border-radius:var(--tch-panel-radius);block-size:calc(92vh - var(--tch-inset) * 2);block-size:calc(92svh - var(--tch-inset) * 2);min-block-size:560px;max-block-size:880px;background:var(--tch-dark);color:#fff;overflow:hidden;isolation:isolate}
.tch-hero.is-boot *,.tch-hero.is-boot{transition:none!important;animation:none!important}
.tch-hero--tall{block-size:80vh}.tch-hero--mid{block-size:66vh}
.tch-hero--custom{min-block-size:0;max-block-size:none}
.tch-hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 0s .62s}
.tch-hero__slide.is-on{opacity:1;z-index:2;transition:opacity 0s .58s}
.tch-hero__media{position:absolute;inset:0;overflow:hidden}
.tch-hero__media img,.tch-hero__media video{inline-size:100%;block-size:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.4s var(--tch-ease);filter:saturate(.9)}
.tch-hero__media iframe.tch-hero__yt{position:absolute;inset:50% auto auto 50%;inline-size:177.78%;block-size:177.78%;min-inline-size:177.78%;min-block-size:177.78%;max-inline-size:none;border:0;transform:translate(-50%,-50%);pointer-events:none;filter:saturate(.95);opacity:.01}
.tch-hero__slide.is-on .tch-hero__media iframe.tch-hero__yt{opacity:1;transition:opacity .8s ease .2s}
.tch-hero__slide.is-on .tch-hero__media{animation:tch-sm-in 1.6s var(--tch-ease2) .45s both}
.tch-hero__slide.is-on .tch-hero__media img,.tch-hero__slide.is-on .tch-hero__media video{transform:scale(1.03);transition:transform 12s cubic-bezier(.16,1,.3,1) .4s}
@keyframes tch-sm-in{from{clip-path:inset(12% 8% 12% 8% round 26px)}to{clip-path:inset(0 0 0 0 round 0)}}
.tch-hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,15,21,.86) 0%,rgba(9,15,21,.55) 42%,rgba(9,15,21,.1) 75%),linear-gradient(0deg,rgba(9,15,21,.85) 0%,rgba(9,15,21,0) 38%),linear-gradient(180deg,rgba(9,15,21,.55) 0%,rgba(9,15,21,0) 22%)}
.tch-hero__body{position:absolute;inset:0;display:flex;align-items:center;padding-block:96px 112px}
.tch-hero__body .tch-wrap{transform:translateY(calc(var(--tch-hy,0) * 1px));opacity:var(--tch-ho,1)}
.tch-hero__tag{display:inline-flex;align-items:center;gap:12px;padding-block:8px;padding-inline:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:9.5px;opacity:0;transform:translateY(20px);transition:all .5s}
.tch-hero__tag b{background:var(--tch-primary);color:#fff;padding:5px 9px;border-radius:999px;font-weight:500}
.tch-hero__h{font-size:clamp(30px,3.4vw,50px);line-height:1.1;letter-spacing:-.026em;margin:20px 0 0;max-inline-size:660px;color:#fff}
.tch-hero__h .tch-serif{color:#fff}
.tch-hero__h .tch-ln>span{transform:translateY(115%) rotate(4deg);transform-origin:left top;transition:transform .5s var(--tch-ease2)}
.tch-hero__p{font-size:14.5px;line-height:1.7;color:rgba(255,255,255,.78);max-inline-size:440px;margin:18px 0 0;opacity:0;transform:translateY(20px);transition:all .5s}
.tch-hero__cta{margin-block-start:28px;opacity:0;transform:translateY(20px);transition:all .5s}
.tch-hero__slide.is-on .tch-hero__tag{opacity:1;transform:none;transition:all 1s var(--tch-ease) .75s}
.tch-hero__slide.is-on .tch-hero__h .tch-ln>span{transform:none;transition:transform 1.2s var(--tch-ease)}
.tch-hero__slide.is-on .tch-hero__h .tch-ln:nth-child(1)>span{transition-delay:.8s}
.tch-hero__slide.is-on .tch-hero__h .tch-ln:nth-child(2)>span{transition-delay:.9s}
.tch-hero__slide.is-on .tch-hero__h .tch-ln:nth-child(3)>span{transition-delay:1s}
.tch-hero__slide.is-on .tch-hero__p{opacity:1;transform:none;transition:all 1s var(--tch-ease) 1.1s}
.tch-hero__slide.is-on .tch-hero__cta{opacity:1;transform:none;transition:all 1s var(--tch-ease) 1.25s}
.tch-hero__meta{position:absolute;inset-inline-end:var(--tch-gutter);inset-block-start:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:10px;text-align:end;opacity:0;transition:opacity .4s}
.tch-hero__slide.is-on .tch-hero__meta{opacity:1;transition:opacity 1s 1.3s}
.tch-hero__meta .tch-mono{color:rgba(255,255,255,.65)}
.tch-hero__mv{font-size:13.5px;font-weight:500}
.tch-hero__meta i{display:block;inline-size:1px;block-size:34px;background:rgba(255,255,255,.3)}
.tch-hero__wipe{position:absolute;inset:0;z-index:6;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));pointer-events:none}
.tch-hero__wipe i{display:block;transform:translateY(101%)}
.tch-hero__wipe i:nth-child(odd){background:var(--tch-primary)}.tch-hero__wipe i:nth-child(even){background:var(--tch-dark)}
.tch-hero__wipe.is-run i{animation:tch-wb 1.25s var(--tch-ease2) both}
.tch-hero__wipe i:nth-child(2){animation-delay:.05s}.tch-hero__wipe i:nth-child(3){animation-delay:.1s}.tch-hero__wipe i:nth-child(4){animation-delay:.15s}.tch-hero__wipe i:nth-child(5){animation-delay:.2s}.tch-hero__wipe i:nth-child(6){animation-delay:.25s}
@keyframes tch-wb{0%{transform:translateY(101%)}42%{transform:translateY(0)}58%{transform:translateY(0)}100%{transform:translateY(-101%)}}
.tch-hero__side{position:absolute;inset-inline-start:var(--tch-gutter);inset-block-start:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;z-index:7;display:flex;gap:26px;color:rgba(255,255,255,.55);font-size:10px}
.tch-hero__side a:hover{color:#fff}
.tch-hero__ui{position:absolute;inset-inline:0;inset-block-end:0;z-index:8}
.tch-hero__ui .tch-wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,2.6vw,40px);align-items:end;padding-block-end:24px}
.tch-hero__count{display:flex;align-items:flex-end;gap:8px;line-height:.85}
.tch-hero__cur{font-size:32px;font-weight:500;letter-spacing:-.04em;block-size:28px;overflow:hidden;display:block}
.tch-hero__cur span{display:block}
.tch-hero__cur span.is-roll{animation:tch-cnt .9s var(--tch-ease) .6s both}
@keyframes tch-cnt{from{transform:translateY(100%)}to{transform:none}}
.tch-hero__tot{font-family:var(--tch-font-m);font-size:12px;opacity:.6;padding-block-end:6px}
.tch-hero__pgs{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:18px}
.tch-hero__pg{display:flex;flex-direction:column;gap:12px;text-align:start;background:transparent;border:0;padding:0;color:#fff;cursor:pointer;opacity:.55;transition:opacity .4s}
.tch-hero__pg:hover,.tch-hero__pg.is-on{opacity:1}
.tch-hero__bar{position:relative;block-size:2px;background:rgba(255,255,255,.22);overflow:hidden;display:block}
.tch-hero__bar i{position:absolute;inset:0;background:var(--tch-primary);transform:scaleX(0);transform-origin:left;display:block}
.tch-hero__pg.is-on .tch-hero__bar i{transform:scaleX(1);transition:transform var(--tch-int,7s) linear}
.tch-hero.is-paused .tch-hero__pg.is-on .tch-hero__bar i{transition:none;transform:scaleX(1)}
.tch-hero__pt{display:flex;gap:8px;font-size:11.5px;font-weight:500;line-height:1.3}
.tch-hero__pt .tch-mono{font-size:10px;opacity:.7;padding-block-start:2px}
.tch-hero__arrs{display:flex;gap:10px}
.tch-hero__arr{inline-size:40px;block-size:40px;border-radius:50%;border:0;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.tch-hero__arr:hover{background:#fff;color:var(--tch-ink)}
.tch-hero__arr--prev .tch-ic{transform:scaleX(-1)}
@media (max-width:1160px){.tch-hero__meta,.tch-hero__side{display:none}}
@media (max-width:980px){.tch-hero__pgs{display:none}.tch-hero__ui .tch-wrap{grid-template-columns:auto auto;justify-content:space-between}.tch-hero{min-block-size:580px}}

/* ==========================================================================
   QB About Collage
   ========================================================================== */
.tch-about__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,80px);align-items:center}
.tch-about--img-end .tch-about__media{order:2}
.tch-about__media{position:relative;block-size:clamp(360px,34vw,480px)}
.tch-about__c1,.tch-about__c2{position:absolute;overflow:hidden;border-radius:var(--tch-radius)}
.tch-about__c1{inset-inline-end:0;inset-block-start:0;inline-size:78%;block-size:82%}
.tch-about__c2{inset-inline-start:0;inset-block-end:0;inline-size:46%;block-size:52%;box-shadow:0 0 0 10px var(--tch-bg)}
.tch-about__c1 img,.tch-about__c2 img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform 1.6s var(--tch-ease)}
.tch-about__c1:hover img,.tch-about__c2:hover img{transform:scale(1.035)}
.tch-about__ring{position:absolute;inset-inline-start:30%;inset-block-start:6%;inline-size:92px;block-size:92px;z-index:4;animation:tch-spin 18s linear infinite}
.tch-about__ring circle{fill:var(--tch-bg)}
.tch-about__ring text{font-family:var(--tch-font-m);font-size:9.6px;letter-spacing:2.6px;fill:var(--tch-ink);text-transform:uppercase}
.tch-about__ring rect{fill:var(--tch-primary)}
.tch-about__badge{position:absolute;inset-inline-end:6%;inset-block-end:0;inline-size:148px;padding:16px;background:var(--tch-primary);color:#fff;display:flex;flex-direction:column;gap:6px;z-index:3;border-radius:var(--tch-radius);box-shadow:0 30px 60px -30px rgba(var(--tch-primary-rgb),.7);transition:transform .6s var(--tch-ease)}
.tch-about__badge:hover{transform:translateY(-4px)}
.tch-about__badge b{font-size:32px;font-weight:500;letter-spacing:-.05em;line-height:1}
.tch-about__badge>span{font-size:12.5px;line-height:1.45}
.tch-about__txt .tch-lead{margin-block-start:20px}
.tch-about__feat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin-block-start:30px;padding-block-start:26px;border-block-start:1px solid rgba(var(--tch-ink-rgb),.12)}
.tch-about__feat>div{display:flex;gap:14px;padding:14px;margin:-14px;border-radius:14px;transition:background .4s}
.tch-about__feat>div:hover{background:#fff}
.tch-about__feat svg{color:var(--tch-primary);margin-block-start:3px;transition:transform .5s var(--tch-ease)}
.tch-about__feat>div:hover svg{transform:scale(1.2) rotate(-8deg)}
.tch-about__feat b{display:block;font-weight:500;font-size:14.5px;color:var(--tch-ink);margin-block-end:3px}
.tch-about__feat span span{font-size:13px;line-height:1.6}
.tch-about__btns{margin-block-start:30px;gap:20px}
@media (max-width:980px){.tch-about__g{grid-template-columns:minmax(0,1fr)}.tch-about--img-end .tch-about__media{order:0}}
@media (max-width:600px){.tch-about__feat{grid-template-columns:minmax(0,1fr)}.tch-about__media{block-size:420px}}

/* ==========================================================================
   QB Stats
   ========================================================================== */
.tch-stats{position:relative;margin:var(--tch-inset);border-radius:var(--tch-panel-radius);overflow:hidden}
.tch-stats--red{background:var(--tch-primary);color:#fff}
.tch-stats--dark{background:var(--tch-dark);color:#fff}
.tch-stats--light{background:#fff;color:var(--tch-ink);box-shadow:0 0 0 1px rgba(var(--tch-ink-rgb),.05)}
.tch-stats--light .tch-stats__i{border-color:rgba(var(--tch-ink-rgb),.08)}
.tch-stats--light .tch-stats__i:hover{background:#FBFAF8}
.tch-stats--light .tch-stats__l{color:var(--tch-body);opacity:1}
.tch-stats--light .tch-stats__pre{color:var(--tch-primary)}
.tch-stats__mark{position:absolute;inset-inline-end:-20px;inset-block-start:-30px;block-size:220px;inline-size:auto;color:rgba(255,255,255,.08);animation:tch-floaty 9s ease-in-out infinite}
.tch-stats--light .tch-stats__mark{color:rgba(var(--tch-primary-rgb),.06)}
@keyframes tch-floaty{50%{transform:translateY(16px) rotate(-2deg)}}
.tch-stats__g{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));position:relative;z-index:2}
.tch-stats__i{padding:36px 24px 34px;border-inline-start:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;gap:14px;transition:background .5s}
.tch-stats--light .tch-stats__i{border-color:var(--tch-line)}
.tch-stats__i:first-child{border-inline-start:0;padding-inline-start:0}
.tch-stats__i:hover{background:rgba(255,255,255,.07)}
.tch-stats__n{font-size:clamp(30px,2.8vw,40px);font-weight:500;letter-spacing:-.04em;line-height:1;display:flex}
.tch-stats__n sup{font-size:.42em;margin-block-start:.12em;margin-inline-start:3px}
.tch-stats__n .tch-stats__pre{margin-inline:0 3px}
.tch-rtl .tch-stats__n{justify-content:flex-end}
.tch-stats--light .tch-stats__n sup{color:var(--tch-primary)}
.tch-stats__l{font-size:12.5px;opacity:.88;max-inline-size:190px;line-height:1.5}
@media (max-width:980px){.tch-stats__g{grid-template-columns:repeat(2,minmax(0,1fr))}.tch-stats__i:nth-child(odd){border-inline-start:0;padding-inline-start:0}.tch-stats__i{padding:28px 18px}}

/* ==========================================================================
   QB Expertise Grid
   ========================================================================== */
.tch-exp__g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tch-exp__c{position:relative;block-size:300px;border-radius:var(--tch-radius);overflow:hidden;background:var(--tch-slate);color:#fff;display:block;isolation:isolate}
.tch-exp__c.is-wide{grid-column:span 2}
.tch-exp__c img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;filter:grayscale(.3) brightness(.8);transition:transform 1.8s var(--tch-ease),filter 1s ease}
.tch-exp__c:hover img{transform:scale(1.05);filter:none}
.tch-exp__c::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(9,15,21,.95) 8%,rgba(9,15,21,.2) 60%,rgba(9,15,21,.35) 100%)}
.tch-exp__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.35);background:repeating-linear-gradient(90deg,#16242F 0 22px,#1B2B37 22px 24px)}
.tch-exp__in{position:absolute;inset:0;z-index:2;padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.tch-exp__top{display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.7)}
.tch-exp__go{inline-size:32px;block-size:32px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;color:#fff;transition:all .5s var(--tch-ease)}
.tch-exp__c:hover .tch-exp__go{background:var(--tch-primary);box-shadow:none;transform:rotate(-45deg)}
.tch-exp__b{display:flex;flex-direction:column}
.tch-exp__line{display:block;block-size:2px;background:var(--tch-primary);inline-size:22px;margin-block-end:12px;transition:inline-size .7s var(--tch-ease)}
.tch-exp__c:hover .tch-exp__line{inline-size:100%}
.tch-exp__t{font-size:16px;font-weight:500;letter-spacing:-.012em;line-height:1.25}
.tch-exp__x{font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.75);max-block-size:0;opacity:0;overflow:hidden;transition:max-block-size .7s var(--tch-ease),opacity .5s,margin .7s}
.tch-exp__c:hover .tch-exp__x,.tch-exp__c:focus-visible .tch-exp__x{max-block-size:90px;opacity:1;margin-block-start:8px}
@media (max-width:980px){.tch-exp__g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.tch-exp__g{grid-template-columns:minmax(0,1fr)}.tch-exp__c.is-wide{grid-column:auto}.tch-exp__x{max-block-size:110px;opacity:1;margin-block-start:10px}}

/* ==========================================================================
   QB Capabilities
   ========================================================================== */
.tch-cap__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.tch-cap__l{position:sticky;inset-block-start:120px}
.tch-cap__l .tch-lead{margin-block-start:16px}
.tch-cap__img{position:relative;block-size:230px;overflow:hidden;margin-block-start:28px;border-radius:var(--tch-radius)}
.tch-cap__img img{inline-size:100%;block-size:100%;object-fit:cover}
.tch-cap__badge{position:absolute;inset-inline-start:12px;inset-block-end:12px;z-index:2;background:#fff;padding:9px 13px;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:500;border-radius:12px;color:var(--tch-ink)}
.tch-cap__badge i{inline-size:8px;block-size:8px;background:#0E9E9E;border-radius:50%;display:inline-block}
.tch-cap__btn{margin-block-start:24px}
.tch-cap__st{display:grid;grid-template-columns:56px minmax(0,1fr) 104px;gap:20px;padding:22px 16px;margin-inline:-18px;border-block-start:1px solid rgba(var(--tch-ink-rgb),.12);align-items:start;position:relative;border-radius:16px;transition:background .5s var(--tch-ease),transform .6s var(--tch-ease)}
.tch-cap__st:last-child{border-block-end:1px solid rgba(var(--tch-ink-rgb),.12)}
.tch-cap__st::before{content:"";position:absolute;inset-inline-start:18px;inset-block-start:-1px;block-size:2px;inline-size:calc(100% - 36px);background:var(--tch-primary);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--tch-ease2)}
.tch-cap__st.tch-in::before,.tch-cap__st:not([data-tch-anim])::before,html:not(.tch-anim-ready) .tch-cap__st::before{transform:scaleX(1)}
.tch-cap__st:hover{background:#fff;transform:translateX(5px)}
.tch-cap__n{font-size:30px;font-weight:500;letter-spacing:-.05em;line-height:.9;color:transparent;-webkit-text-stroke:1px rgba(var(--tch-ink-rgb),.35);transition:color .5s,-webkit-text-stroke-color .5s}
.tch-cap__st:hover .tch-cap__n{color:var(--tch-primary);-webkit-text-stroke-color:var(--tch-primary)}
.tch-cap__st h3{margin:0 0 6px;font-size:16.5px}
.tch-cap__st p{margin:0;font-size:13.5px;line-height:1.65}
.tch-cap__th{block-size:70px;border-radius:12px;overflow:hidden;clip-path:inset(0 0 0 100% round 12px);transition:clip-path .8s var(--tch-ease2)}
.tch-cap__st:hover .tch-cap__th{clip-path:inset(0 0 0 0 round 12px)}
.tch-cap__th img{inline-size:100%;block-size:100%;object-fit:cover}
@media (max-width:980px){.tch-cap__g{grid-template-columns:minmax(0,1fr)}.tch-cap__l{position:static}.tch-cap__st{grid-template-columns:60px minmax(0,1fr)}.tch-cap__th{display:none}}

/* ==========================================================================
   QB Marquee
   ========================================================================== */
.tch-mq{overflow:hidden}
.tch-mq--dark{background:var(--tch-dark);color:#fff;margin:var(--tch-inset);border-radius:var(--tch-panel-radius);padding-block:20px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tch-mq--light{padding-block:20px;color:var(--tch-ink)}
.tch-mq--small{padding-block:18px;border-block:1px solid var(--tch-line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tch-mq__in{display:flex;inline-size:max-content;animation:tch-mq var(--dur,70s) linear infinite}
.tch-mq--rev .tch-mq__in{animation-direction:reverse}
.tch-mq:hover .tch-mq__in{animation-play-state:paused}
.tch-mq__set{display:inline-flex;align-items:center;gap:26px;padding-inline-end:26px;white-space:nowrap;font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-.02em}
.tch-mq--small .tch-mq__set{font-family:var(--tch-font-m);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;gap:28px;padding-inline-end:28px;color:var(--tch-body)}
.tch-mq__set em{font-style:normal;color:transparent;-webkit-text-stroke:1px currentColor}
.tch-mq--dark .tch-mq__set em{-webkit-text-stroke-color:rgba(255,255,255,.55)}
.tch-mq__sep{color:var(--tch-primary);flex:none;inline-size:auto}
@keyframes tch-mq{to{transform:translateX(-50%)}}
.tch-rtl .tch-mq__in{animation-name:tch-mq-r}
@keyframes tch-mq-r{to{transform:translateX(50%)}}

/* ==========================================================================
   QB Projects Grid
   ========================================================================== */
.tch-pj__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:220px;gap:10px}
.tch-pc{position:relative;overflow:hidden;background:var(--tch-slate);color:#fff;display:block;border-radius:var(--tch-radius);isolation:isolate}
.tch-pc.is-big{grid-row:span 2}
.tch-pc img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;transition:transform 2s var(--tch-ease)}
.tch-pc:hover img{transform:scale(1.045)}
.tch-pc::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(9,15,21,.92) 0%,rgba(9,15,21,.1) 55%)}
.tch-pc__in{position:absolute;inset:0;z-index:2;padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.tch-pc__tag{align-self:flex-start;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:10px;transition:background .4s}
.tch-pc:hover .tch-pc__tag{background:var(--tch-primary)}
.tch-pc__m{display:flex;gap:12px;color:rgba(255,255,255,.7);margin-block-end:6px}
.tch-pc__t{display:block;font-size:15.5px;font-weight:500;letter-spacing:-.01em;line-height:1.3;max-inline-size:380px}
.tch-pc.is-big .tch-pc__t{font-size:clamp(18px,1.5vw,22px)}
.tch-pc__c{display:block;margin-block-start:6px;font-size:12.5px;color:rgba(255,255,255,.7);transform:translateY(10px);opacity:0;transition:all .6s var(--tch-ease)}
.tch-pc:hover .tch-pc__c{transform:none;opacity:1}
.tch-pj__ft{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-block-start:32px;flex-wrap:wrap}
.tch-pj__ft .tch-lead{max-inline-size:520px}
@media (max-width:980px){.tch-pj__g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.tch-pj__g{grid-template-columns:minmax(0,1fr)}.tch-pc.is-big{grid-row:auto}}

/* ==========================================================================
   QB Global Reach + maps
   ========================================================================== */
.tch-reach__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,4vw,64px);align-items:center}
.tch-reach__map{inline-size:100%;max-inline-size:540px;justify-self:end}
.tch-reach__big{display:flex;gap:32px;margin-block-start:26px}
.tch-reach__big b{display:block;font-size:30px;font-weight:500;letter-spacing:-.05em;line-height:1;color:#fff}
.tch-reach__big span{font-size:12.5px;color:var(--tch-body)}
.tch-reach__list{margin-block-start:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.tch-reach__c{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;margin-inline:-10px;border-block-end:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:13px;cursor:default;transition:background .35s,padding .35s;outline:none}
.tch-reach__c span:first-child{display:inline-flex;align-items:center;gap:10px}
.tch-reach__c span:first-child i{inline-size:6px;block-size:6px;border-radius:50%;background:rgba(255,255,255,.3);transition:all .35s}
.tch-reach__c .tch-mono{color:var(--tch-primary);font-size:11px}
.tch-reach__c:hover,.tch-reach__c:focus-visible,.tch-reach__c.is-on{background:rgba(255,255,255,.07);padding-inline-start:16px}
.tch-reach__c.is-on span:first-child i{background:var(--tch-primary);box-shadow:0 0 0 4px rgba(var(--tch-primary-rgb),.25)}
.tch-reach__feats{margin-block-start:26px;display:flex;flex-direction:column;gap:2px}
.tch-reach__feat{display:flex;gap:14px;align-items:flex-start;padding:14px 12px;margin-inline:-12px;border-radius:10px;border-block-end:1px solid rgba(255,255,255,.1);transition:background .35s,transform .35s}
.tch-reach__feat:last-child{border-block-end:0}
.tch-reach__feat:hover{background:rgba(255,255,255,.06)}
.tch-reach__feat-dot{flex:none;inline-size:8px;block-size:8px;margin-block-start:7px;border-radius:1px;background:var(--tch-primary);box-shadow:0 0 0 4px rgba(var(--tch-primary-rgb),.18)}
.tch-reach__feat-body{flex:1;min-inline-size:0}
.tch-reach__feat-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.tch-reach__feat-top strong{font-size:14.5px;font-weight:500;color:#fff;letter-spacing:-.01em}
.tch-reach__feat-tag{color:var(--tch-primary);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;flex:none}
.tch-reach__feat p{margin:5px 0 0;font-size:13px;line-height:1.55;color:rgba(255,255,255,.62);max-inline-size:36ch}
.tch-reach:not(.tch-dark):not(.tch-slate) .tch-reach__feat{border-color:var(--tch-line)}
.tch-reach:not(.tch-dark):not(.tch-slate) .tch-reach__feat:hover{background:rgba(var(--tch-ink-rgb),.04)}
.tch-reach:not(.tch-dark):not(.tch-slate) .tch-reach__feat-top strong{color:var(--tch-ink)}
.tch-reach:not(.tch-dark):not(.tch-slate) .tch-reach__feat p{color:var(--tch-body)}
.tch-reach__btn{margin-block-start:24px}
.tch-reach__legend{display:flex;gap:18px;color:var(--tch-body);margin-block-start:10px;flex-wrap:wrap;font-size:9.5px}
.tch-reach__legend span{display:inline-flex;align-items:center;gap:8px}
.tch-reach__legend i{inline-size:7px;block-size:7px;border-radius:50%;background:#fff;display:inline-block}
.tch-reach__legend i.is-hub{border-radius:0;background:var(--tch-primary);inline-size:8px;block-size:8px}
.tch-map{inline-size:100%;block-size:auto;display:block;overflow:visible}
.tch-map__dots circle{fill:rgba(255,255,255,.15)}
.tch-map__arcs path{fill:none;stroke:var(--tch-primary);stroke-width:.75;stroke-dasharray:1;stroke-dashoffset:1;animation:tch-arc 5.5s var(--tch-ease2) infinite}
@keyframes tch-arc{0%{stroke-dashoffset:1;opacity:0}8%{opacity:1}35%{stroke-dashoffset:0}80%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.tch-map__dot{fill:#fff;transition:r .4s var(--tch-ease),fill .3s}
.tch-map__ring{fill:none;stroke:var(--tch-primary);stroke-width:.6;transform-box:fill-box;transform-origin:center;animation:tch-pulse 5.5s ease-out infinite}
@keyframes tch-pulse{0%{transform:scale(.6);opacity:0}10%{opacity:1}40%{transform:scale(3.4);opacity:0}100%{opacity:0}}
.tch-map__hub{fill:var(--tch-primary)}
.tch-map__pulse{fill:none;stroke:var(--tch-primary);stroke-width:.8;transform-box:fill-box;transform-origin:center;animation:tch-pulse 2.8s ease-out infinite}
.tch-map__hl{font-family:var(--tch-font-m);font-size:6.5px;letter-spacing:.12em;fill:#fff}
.tch-map__l{font-family:var(--tch-font-b);font-size:8px;font-weight:500;fill:#fff;opacity:0;transition:opacity .35s}
.tch-map__mk.is-on .tch-map__l{opacity:1}
.tch-map__mk.is-on .tch-map__dot{r:5;fill:var(--tch-primary)}
.tch-map.has-on .tch-map__mk:not(.is-on):not(.tch-map__mk--hub) .tch-map__dot{fill:rgba(255,255,255,.45)}
.tch-reach:not(.tch-dark):not(.tch-slate) .tch-map__dots circle{fill:#C9CDD0}
.tch-reach:not(.tch-dark):not(.tch-slate) .tch-map__dot,.tch-reach:not(.tch-dark):not(.tch-slate) .tch-map__l,.tch-reach:not(.tch-dark):not(.tch-slate) .tch-map__hl{fill:var(--tch-ink)}
.tch-reach:not(.tch-dark):not(.tch-slate) .tch-reach__big b{color:var(--tch-ink)}
.tch-reach:not(.tch-dark):not(.tch-slate) .tch-reach__c{border-color:var(--tch-line)}
@media (max-width:980px){.tch-reach__g{grid-template-columns:minmax(0,1fr)}.tch-reach__map{justify-self:center;max-inline-size:480px}}
@media (max-width:600px){.tch-reach__list{grid-template-columns:minmax(0,1fr)}.tch-reach__feat{padding-block:12px}.tch-reach__feat p{max-inline-size:none}}

/* location */
.tch-loc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-block-size:400px}
.tch-loc__l{padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:16px;position:relative;z-index:2}
.tch-loc__l .tch-w-title{margin:0}
.tch-loc__map{display:flex;align-items:stretch;justify-content:center;padding:24px}
.tch-loc__frame{position:relative;inline-size:100%;min-block-size:320px;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);background:rgba(0,0,0,.2)}
.tch-loc__frame iframe{position:absolute;inset:0;inline-size:100%;block-size:100%;border:0;filter:grayscale(.2) contrast(1.05)}
.tch-loc__box{position:relative;inline-size:100%;max-inline-size:520px}
.tch-loc__box svg{position:absolute;inset:0;inline-size:100%;block-size:100%}
.tch-loc .tch-map__dots circle{fill:rgba(255,255,255,.16)}
.tch-pin{position:absolute;inset-inline-start:var(--px);inset-block-start:var(--py);transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;z-index:3}
.tch-rtl .tch-pin{inset-inline-start:auto;left:var(--px)}
.tch-pin__card{background:#fff;color:var(--tch-ink);border-radius:14px;padding:12px 16px;font-size:13px;white-space:nowrap;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}
.tch-pin__card b{display:block;font-weight:500;font-size:14px}
.tch-pin__stem{inline-size:2px;block-size:34px;background:var(--tch-primary)}
.tch-pin__base{inline-size:14px;block-size:14px;background:var(--tch-primary);transform:rotate(45deg);animation:tch-ping 2s infinite}
@media (max-width:980px){.tch-loc{grid-template-columns:minmax(0,1fr)}.tch-loc__map{min-block-size:320px}.tch-loc__frame{min-block-size:280px}}

/* ==========================================================================
   QB CTA
   ========================================================================== */
.tch-cta{position:relative;margin:var(--tch-inset);border-radius:var(--tch-panel-radius);min-block-size:340px;overflow:hidden;color:#fff;display:flex;align-items:center;background:var(--tch-dark)}
.tch-cta__img{position:absolute;inset-inline:0;inset-block-start:-8%;inline-size:100%;block-size:116%;object-fit:cover}
.tch-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,15,21,.9) 0%,rgba(9,15,21,.55) 60%,rgba(var(--tch-primary-rgb),.35) 100%)}
.tch-cta__in{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;padding-block:48px}
.tch-cta__h{font-size:clamp(24px,2.5vw,36px);color:#fff;margin:16px 0 0}
.tch-cta__h .tch-serif{color:#fff}
.tch-cta .tch-kick{color:rgba(255,255,255,.75)}
.tch-cta .tch-lead{color:rgba(255,255,255,.75);margin-block-start:16px}

/* ==========================================================================
   QB Contact Info & Form
   ========================================================================== */
.tch-ci .tch-lead{margin-block-start:16px}
.tch-ci__list{display:flex;flex-direction:column;gap:10px;margin-block-start:28px}
.tch-ci__c{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border-radius:12px;color:var(--tch-ink);transition:transform .5s var(--tch-ease),box-shadow .5s}
a.tch-ci__c:hover{transform:translateX(5px);box-shadow:var(--tch-shadow-m)}
.tch-ci__ico{inline-size:38px;block-size:38px;border-radius:50%;background:var(--tch-bg);color:var(--tch-primary);display:flex;align-items:center;justify-content:center;flex:none;transition:all .5s var(--tch-ease)}
a.tch-ci__c:hover .tch-ci__ico{background:var(--tch-primary);color:#fff;transform:rotate(-10deg)}
.tch-ci__c .tch-mono{color:var(--tch-body);font-size:10px;display:block}
.tch-ci__c b{display:block;font-weight:500;font-size:14px;margin-block-start:2px}
.tch-form{position:relative;overflow:hidden;border-radius:18px;padding:clamp(22px,2.8vw,36px)}
.tch-form--light{background:#fff;box-shadow:0 40px 80px -60px rgba(var(--tch-ink-rgb),.4)}
.tch-form--dark{background:var(--tch-dark);color:#fff}
.tch-form__mark{position:absolute;inset-inline-end:-30px;inset-block-end:-40px;block-size:180px;inline-size:auto;color:rgba(var(--tch-ink-rgb),.03);pointer-events:none}
.tch-form--dark .tch-form__mark{color:rgba(255,255,255,.035)}
.tch-form__h{margin:0;font-size:20px;letter-spacing:-.015em}
.tch-form--dark .tch-form__h{color:#fff}
.tch-form__sub{margin:6px 0 20px;font-size:13.5px}
.tch-form__note{margin:22px 0 0;color:var(--tch-body)}
/* CF7 inside the TECHNO form system */
.tch-form .wpcf7-form{position:relative;z-index:1}
.tch-form .wpcf7-form p{margin:0 0 14px}
.tch-form .tch-fl p,.tch-form .tch-lf p{margin:0}
.tch-form .wpcf7-form br{display:none}
.tch-form textarea{block-size:120px;min-block-size:96px}
.tch-fl{position:relative}
.tch-form .wpcf7-form-control-wrap{display:block}
.tch-lf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tch-lf .is-full{grid-column:1 / -1}
.tch-fl{position:relative}
.tch-fl input,.tch-fl select,.tch-fl textarea,.tch-form input[type=text],.tch-form input[type=email],.tch-form input[type=tel],.tch-form select,.tch-form textarea{background:var(--tch-bg);box-shadow:none;border-radius:12px}
.tch-form--dark input[type=text],.tch-form--dark input[type=email],.tch-form--dark input[type=tel],.tch-form--dark select,.tch-form--dark textarea{background:rgba(255,255,255,.06);color:#fff}
.tch-form--dark select option{color:var(--tch-ink)}
.tch-form--dark .tch-fl label,.tch-form--dark .wpcf7-acceptance{color:#9AA7B1}
.tch-form--dark .tch-drop{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.18)}.tch-form--dark .tch-drop b{color:#fff}.tch-form--dark .tch-drop:hover{background:rgba(255,255,255,.07)}
.tch-form--dark .wpcf7-radio label{background:rgba(255,255,255,.06);color:#fff}.tch-form--dark .wpcf7-radio label::before{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.tch-form--dark .wpcf7-radio label:has(input:checked){background:#fff;color:var(--tch-ink)}
.tch-fl input,.tch-fl textarea,.tch-fl select{padding:21px 14px 8px}
.tch-fl label:not(.tch-drop){position:absolute;inset-inline-start:14px;inset-block-start:14px;font-size:13.5px;color:#7A858E;pointer-events:none;transition:all .35s var(--tch-ease)}
.tch-fl:has(:focus) label,.tch-fl:has(input:not(:placeholder-shown)) label,.tch-fl:has(textarea:not(:placeholder-shown)) label,.tch-fl.is-select label{inset-block-start:6px;font-size:10.5px;color:var(--tch-body)}
.tch-form input:focus,.tch-form textarea:focus,.tch-form select:focus{background:#fff;box-shadow:inset 0 0 0 1.5px var(--tch-primary)}
.tch-form--dark input:focus,.tch-form--dark textarea:focus{background:rgba(255,255,255,.1)}
.tch-form select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#56636D 50%),linear-gradient(135deg,#56636D 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 15px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.tch-rtl .tch-form select{background-position:20px 52%,25px 52%}
/* radio → tiles */
.tch-form .wpcf7-radio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tch-form .wpcf7-radio .wpcf7-list-item{margin:0}
.tch-form .wpcf7-radio label{position:relative;display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:10px;background:var(--tch-bg);color:var(--tch-ink);font-size:12.5px;font-weight:500;cursor:pointer;transition:all .45s var(--tch-ease)}
.tch-form .wpcf7-radio label:hover{transform:translateY(-3px);box-shadow:0 18px 30px -24px rgba(var(--tch-ink-rgb),.5)}
.tch-form .wpcf7-radio input{position:absolute;opacity:0;pointer-events:none}
.tch-form .wpcf7-radio label::before{content:"";inline-size:18px;block-size:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(var(--tch-ink-rgb),.25);flex:none;transition:all .3s}
.tch-form .wpcf7-radio label:has(input:checked){background:var(--tch-ink);color:#fff}
.tch-form .wpcf7-radio label:has(input:checked)::before{background:var(--tch-primary);box-shadow:inset 0 0 0 4px #fff}
/* checkbox / acceptance */
.tch-form .wpcf7-acceptance label,.tch-form .wpcf7-checkbox label{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;cursor:pointer}
.tch-form input[type=checkbox]{inline-size:20px;block-size:20px;accent-color:var(--tch-primary);flex:none}
/* file → drop zone */
.tch-drop{position:relative;display:flex;align-items:center;gap:14px;padding:16px;border-radius:12px;border:1.5px dashed rgba(var(--tch-ink-rgb),.2);background:#FAF9F7;transition:all .45s var(--tch-ease)}
.tch-drop:hover,.tch-drop.is-over{border-color:var(--tch-primary);background:#fff}
.tch-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;inline-size:100%}
.tch-drop__i{inline-size:38px;block-size:38px;border-radius:10px;background:#fff;color:var(--tch-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px -14px rgba(var(--tch-ink-rgb),.4);transition:transform .5s var(--tch-ease);flex:none}
.tch-drop:hover .tch-drop__i{transform:translateY(-4px) rotate(-6deg)}
.tch-drop b{display:block;font-weight:500;font-size:13.5px;color:var(--tch-ink)}.tch-drop small{font-size:12px}
.tch-drop.has-file{border-style:solid;border-color:#2BB57A;background:#F2FBF6}.tch-drop.has-file .tch-drop__i{background:#2BB57A;color:#fff}
/* submit + states */
.tch-form .wpcf7-submit{block-size:44px;padding-inline:22px;border-radius:999px;border:0;background:var(--tch-primary);color:#fff;font:inherit;font-weight:500;font-size:13.5px;cursor:pointer;transition:background .4s,transform .4s var(--tch-ease)}
.tch-form .wpcf7-submit:hover{background:var(--tch-ink);transform:translateY(-2px)}
.tch-form--dark .wpcf7-submit:hover{background:#fff;color:var(--tch-ink)}
.tch-form .wpcf7-spinner{margin-inline-start:12px}
.tch-form .wpcf7-not-valid-tip{font-size:12.5px;color:var(--tch-primary);margin-block-start:6px}
.tch-form .wpcf7-response-output{margin:20px 0 0!important;padding:14px 18px!important;border-radius:12px;border:0!important;font-size:14px;background:var(--tch-bg)}
.tch-form .wpcf7 form.sent .wpcf7-response-output{background:#F2FBF6;color:#1C7C52}
.tch-form .wpcf7 form.invalid .wpcf7-response-output,.tch-form .wpcf7 form.failed .wpcf7-response-output{background:rgba(var(--tch-primary-rgb),.08);color:var(--tch-primary-dark)}
.tch-form .wpcf7 form.sent .tch-lf{animation:tch-fu .8s var(--tch-ease) both}
@media (max-width:600px){.tch-lf,.tch-form .wpcf7-radio{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================================
   QB Story
   ========================================================================== */
.tch-story__g{display:grid;grid-template-columns:minmax(0,4.2fr) minmax(0,7.8fr);gap:clamp(28px,4.5vw,72px);align-items:start}
.tch-story__intro{position:sticky;inset-block-start:110px}
.tch-story__q{font-size:clamp(18px,1.6vw,23px);line-height:1.5;letter-spacing:-.01em;color:var(--tch-ink);margin:18px 0 0}
.tch-story__body{display:flex;flex-direction:column;gap:0;min-inline-size:0}
.tch-story__lead{margin:0;padding:0 0 22px;font-size:clamp(16.5px,1.25vw,19px);line-height:1.75;letter-spacing:-.012em;color:var(--tch-ink);font-weight:500;max-inline-size:62ch;border-block-end:1px solid rgba(var(--tch-ink-rgb),.1)}
.tch-story__flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-block-start:22px}
.tch-story__p{margin:0;padding:18px 18px 18px 20px;font-size:14px;line-height:1.8;color:var(--tch-body);background:rgba(var(--tch-ink-rgb),.028);border-radius:14px;box-shadow:inset 3px 0 0 var(--tch-primary);min-block-size:100%}
.tch-story__cols{display:contents}
.tch-story__col{display:contents}
.tch-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-block-start:24px}
.tch-checks>div{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:10px;background:#fff;font-size:13.5px;color:var(--tch-ink);transition:transform .5s var(--tch-ease),box-shadow .5s}
.tch-checks>div:hover{transform:translateX(4px);box-shadow:0 20px 40px -30px rgba(var(--tch-ink-rgb),.45)}
.tch-checks svg{color:var(--tch-primary);flex:none}
@media (max-width:980px){.tch-story__g,.tch-story__flow{grid-template-columns:minmax(0,1fr)}.tch-story__intro{position:static}}
@media (max-width:600px){.tch-checks{grid-template-columns:minmax(0,1fr)}.tch-story__p{padding:16px}}

/* ==========================================================================
   QB Icon Cards (fill / glow / soft)
   ========================================================================== */
.tch-cards__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tch-card{position:relative;padding:24px 22px 26px;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-block-size:200px;isolation:isolate;transition:transform .6s var(--tch-ease),box-shadow .6s,background .5s,color .6s}
.tch-card__n{position:absolute;inset-inline-end:20px;inset-block-start:22px;color:#B5BCC2}
.tch-card__i{inline-size:42px;block-size:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .6s var(--tch-ease)}
.tch-card__i svg{inline-size:18px;block-size:18px;fill:currentColor}
.tch-card__t{margin:0 0 6px;font-size:16.5px;letter-spacing:-.01em;transition:color .6s}
.tch-card__x{margin:0;font-size:13.5px;line-height:1.7;transition:color .6s}
/* fill */
.tch-cards--fill .tch-card{background:#fff;color:var(--tch-ink)}
.tch-cards--fill .tch-card::before{content:"";position:absolute;inset-inline:0;inset-block-start:0;block-size:3px;background:var(--tch-primary);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--tch-ease)}
.tch-cards--fill .tch-card::after{content:"";position:absolute;inset:0;background:var(--tch-dark);transform:translateY(101%);transition:transform .9s var(--tch-ease);z-index:-1}
.tch-cards--fill .tch-card__i{background:var(--tch-bg);color:var(--tch-primary)}
.tch-cards--fill .tch-card:hover{transform:translateY(-4px);box-shadow:var(--tch-shadow-m)}
.tch-cards--fill .tch-card:hover::before{transform:scaleX(1)}.tch-cards--fill .tch-card:hover::after{transform:none}
.tch-cards--fill .tch-card:hover .tch-card__t{color:#fff}.tch-cards--fill .tch-card:hover .tch-card__x{color:#9AA7B1}
.tch-cards--fill .tch-card:hover .tch-card__i{background:var(--tch-primary);color:#fff;transform:rotate(-8deg)}
/* glow (dark) */
.tch-cards--glow .tch-card{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);color:#fff}
.tch-cards--glow .tch-card__t{color:#fff}.tch-cards--glow .tch-card__x{color:#9AA7B1}
.tch-cards--glow .tch-card__n{color:rgba(255,255,255,.35)}
.tch-cards--glow .tch-card__i{background:rgba(255,255,255,.06);color:var(--tch-primary)}
.tch-cards--glow .tch-card::before{content:"";position:absolute;inline-size:280px;block-size:280px;border-radius:50%;left:var(--gx,50%);top:var(--gy,50%);transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(var(--tch-primary-rgb),.28),rgba(var(--tch-primary-rgb),0) 70%);opacity:0;transition:opacity .4s;z-index:-1}
.tch-cards--glow .tch-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.06)}
.tch-cards--glow .tch-card:hover::before{opacity:1}
.tch-cards--glow .tch-card:hover .tch-card__i{background:var(--tch-primary);color:#fff;transform:rotate(-10deg) scale(1.05)}
/* soft */
.tch-cards--soft .tch-card{background:#fff;color:var(--tch-ink)}
.tch-cards--soft .tch-card__i{background:var(--tch-bg);color:var(--tch-primary)}
.tch-cards--soft .tch-card::before{content:"";position:absolute;inline-size:300px;block-size:300px;border-radius:50%;left:var(--gx,50%);top:var(--gy,50%);transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(var(--tch-primary-rgb),.12),rgba(var(--tch-primary-rgb),0) 70%);opacity:0;transition:opacity .4s;z-index:-1}
.tch-cards--soft .tch-card:hover{transform:translateY(-4px);box-shadow:var(--tch-shadow-m)}
.tch-cards--soft .tch-card:hover::before{opacity:1}
.tch-cards--soft .tch-card:hover .tch-card__i{background:var(--tch-primary);color:#fff;transform:rotate(-8deg)}

/* ==========================================================================
   QB Image Cards
   ========================================================================== */
.tch-icards__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tch-icard{position:relative;block-size:200px;border-radius:16px;overflow:hidden;color:#fff;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;background:var(--tch-slate)}
.tch-icard img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;z-index:-2;filter:grayscale(.5) brightness(.75);transition:transform 1.4s var(--tch-ease),filter .6s}
.tch-icard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,15,21,.92),rgba(9,15,21,.15));z-index:-1}
.tch-icard:hover img{transform:scale(1.05);filter:none}
.tch-icard__ph{position:absolute;inset:0;z-index:-2;background:repeating-linear-gradient(90deg,#16242F 0 18px,#1B2B37 18px 20px)}
.tch-icard__n{position:absolute;inset-block-start:16px;inset-inline-start:18px;color:rgba(255,255,255,.7)}
.tch-icard__b b{display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:15px}
.tch-icard__go{inline-size:30px;block-size:30px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;transition:all .5s var(--tch-ease)}
.tch-icard:hover .tch-icard__go{background:var(--tch-primary);transform:rotate(-45deg)}
.tch-icard__b small{display:block;font-size:12.5px;color:rgba(255,255,255,.72);margin-block-start:6px;max-block-size:0;opacity:0;overflow:hidden;transition:all .6s var(--tch-ease)}
.tch-icard:hover .tch-icard__b small{max-block-size:60px;opacity:1}

/* ==========================================================================
   QB Timeline
   ========================================================================== */
.tch-tl__list{position:relative}
.tch-tl__spine{position:absolute;inset-inline-start:50%;inset-block:0;inline-size:1px;background:rgba(var(--tch-ink-rgb),.12)}
.tch-tl__spine i{position:absolute;inset-inline-start:0;inset-block-start:0;inline-size:1px;block-size:100%;background:var(--tch-primary);transform-origin:top;transform:scaleY(var(--tp,0))}
.tch-tl__i{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;margin-block-end:18px}
.tch-tl__dot{grid-column:2;grid-row:1;justify-self:center;inline-size:14px;block-size:14px;border-radius:50%;background:var(--tch-bg);box-shadow:inset 0 0 0 2px var(--tch-primary);position:relative;z-index:2;transition:transform .5s var(--tch-ease),background .4s}
.tch-tl__i:hover .tch-tl__dot{transform:scale(1.3);background:var(--tch-primary)}
.tch-tl__card{grid-row:1;padding:18px 20px;border-radius:14px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;transition:box-shadow .6s}
.tch-tl__i--start .tch-tl__card{grid-column:1}.tch-tl__i--end .tch-tl__card{grid-column:3}
.tch-tl__card:hover{box-shadow:var(--tch-shadow-l)}
.tch-tl__y{font-size:24px;font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--tch-primary)}
.tch-tl__card h3{margin:6px 0 4px;font-size:15.5px}
.tch-tl__card p{margin:0;font-size:13px;line-height:1.65}
.tch-tl__th{inline-size:96px;block-size:74px;border-radius:10px;overflow:hidden}
.tch-tl__th img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform 1s var(--tch-ease)}
.tch-tl__card:hover .tch-tl__th img{transform:scale(1.05)}
.tch-tl__i.is-future .tch-tl__y{color:transparent;-webkit-text-stroke:1px var(--tch-primary)}
.tch-tl__i.is-future .tch-tl__card{background:transparent;box-shadow:inset 0 0 0 1px rgba(var(--tch-ink-rgb),.14)}
@media (max-width:980px){.tch-tl__spine{inset-inline-start:7px}.tch-tl__i{grid-template-columns:30px minmax(0,1fr)}.tch-tl__dot{grid-column:1;justify-self:start}.tch-tl__i--start .tch-tl__card,.tch-tl__i--end .tch-tl__card{grid-column:2}}
@media (max-width:600px){.tch-tl__card{grid-template-columns:minmax(0,1fr)}.tch-tl__th{display:none}}

/* ==========================================================================
   QB Logos
   ========================================================================== */
.tch-logos__g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(var(--tch-ink-rgb),.1);border-radius:20px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(var(--tch-ink-rgb),.1)}
.tch-logos__c{background:#fff;block-size:92px;padding:14px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;position:relative;overflow:hidden;isolation:isolate;color:#6A7680;transition:color .5s}
.tch-logos__c img{max-block-size:52px;inline-size:auto;max-inline-size:78%;object-fit:contain;filter:grayscale(1);opacity:.62;mix-blend-mode:multiply;transition:filter .5s,opacity .5s,transform .6s var(--tch-ease)}
.tch-logos__w{font-size:15px;font-weight:500;letter-spacing:-.01em;text-align:center;padding-inline:10px}
.tch-logos__c::after{content:"";position:absolute;inset:0;background:var(--tch-dark);transform:scale(.4);opacity:0;border-radius:40%;transition:all .6s var(--tch-ease);z-index:-1}
.tch-logos__c:hover{color:#fff}.tch-logos__c:hover::after{transform:none;opacity:1;border-radius:0}
.tch-logos__c:hover img{filter:none;opacity:1;transform:scale(1.04)}
.tch-logos__c:has(img)::after{background:#fff}
.tch-logos__c:has(img):hover{color:var(--tch-ink)}
.tch-logos__c small{color:var(--tch-primary);opacity:0;transform:translateY(8px);transition:all .5s var(--tch-ease);font-size:9px}
.tch-logos__c:hover small{opacity:1;transform:none}
.tch-logos__mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tch-logos__in{display:flex;inline-size:max-content;gap:12px;animation:tch-mq 60s linear infinite}
.tch-logos__mq:hover .tch-logos__in{animation-play-state:paused}
.tch-logos__mq .tch-logos__c{inline-size:190px;block-size:96px;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(var(--tch-ink-rgb),.06)}
.tch-logos--marquee .tch-head{margin-block-end:28px}

/* ==========================================================================
   QB Key Figures
   ========================================================================== */
.tch-figs .tch-w-title{margin-block-end:28px}
.tch-figs .tch-kick+.tch-figs__g{margin-block-start:28px}
.tch-figs__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tch-fig{padding:22px;border-radius:16px;background:var(--tch-dark);color:#fff;position:relative;overflow:hidden;transition:transform .6s var(--tch-ease)}
.tch-fig:hover{transform:translateY(-4px)}
.tch-fig b{display:block;font-size:clamp(24px,2.2vw,30px);font-weight:500;letter-spacing:-.04em;line-height:1}
.tch-fig b small{font-size:.42em;color:var(--tch-primary);margin-inline-start:4px;letter-spacing:0}
.tch-fig>span{display:block;font-size:12.5px;color:#9AA7B1;margin-block-start:8px;line-height:1.5}
.tch-fig::after{content:"";position:absolute;inset-inline-end:-30px;inset-block-end:-30px;inline-size:84px;block-size:84px;border:2px solid rgba(var(--tch-primary-rgb),.25);transition:transform .8s var(--tch-ease)}
.tch-fig:hover::after{transform:rotate(45deg) scale(1.2)}
.tch-dark .tch-fig{background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}

/* ==========================================================================
   QB Gallery + lightbox
   ========================================================================== */
.tch-gal .tch-w-title{margin-block-end:28px}
.tch-gal__g{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:170px;gap:10px}
.tch-gal__g--mosaic .tch-gal__i:nth-child(7n+1){grid-column:span 4;grid-row:span 2}
.tch-gal__g--mosaic .tch-gal__i:nth-child(7n+2),.tch-gal__g--mosaic .tch-gal__i:nth-child(7n+3),.tch-gal__g--mosaic .tch-gal__i:nth-child(7n+4),.tch-gal__g--mosaic .tch-gal__i:nth-child(7n+5),.tch-gal__g--mosaic .tch-gal__i:nth-child(7n+6){grid-column:span 2}
.tch-gal__g--mosaic .tch-gal__i:nth-child(7n){grid-column:span 6}
.tch-gal__g--grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.tch-gal__i{position:relative;border-radius:var(--tch-radius);overflow:hidden;background:var(--tch-bg-soft);display:block;cursor:zoom-in}
.tch-gal__i img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform 1.4s var(--tch-ease)}
.tch-gal__i:hover img{transform:scale(1.04)}
.tch-gal__i::after{content:"";position:absolute;inset:0;background:rgba(var(--tch-ink-rgb),.35);opacity:0;transition:opacity .4s}
.tch-gal__i:hover::after{opacity:1}
.tch-gal__z{position:absolute;inset-inline-start:50%;inset-block-start:50%;z-index:2;inline-size:44px;block-size:44px;margin:-22px;border-radius:50%;background:#fff;color:var(--tch-ink);display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform .5s var(--tch-ease)}
.tch-gal__i:hover .tch-gal__z{transform:scale(1)}
@media (max-width:980px){.tch-gal__g,.tch-gal__g--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tch-gal__g--mosaic .tch-gal__i{grid-column:span 1!important;grid-row:span 1!important}.tch-gal__g--mosaic .tch-gal__i:nth-child(7n+1){grid-column:span 2!important}}
.tch-lb{position:fixed;inset:0;z-index:9000;background:rgba(9,15,21,.94);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
.tch-lb.is-open{opacity:1;visibility:visible;transition:opacity .45s}
.tch-lb img{max-inline-size:min(1200px,88vw);max-block-size:80vh;border-radius:16px;transform:scale(.94);transition:transform .7s var(--tch-ease)}
.tch-lb.is-open img{transform:none}
.tch-lb button{position:absolute;inline-size:52px;block-size:52px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s}
.tch-lb button:hover{background:var(--tch-primary)}
.tch-lb__x{inset-block-start:28px;inset-inline-end:28px}
.tch-lb__p{inset-inline-start:28px;inset-block-start:50%}.tch-lb__p .tch-ic{transform:scaleX(-1)}
.tch-lb__n{inset-inline-end:28px;inset-block-start:50%}
.tch-lb__c{position:absolute;inset-block-end:28px;inset-inline-start:50%;transform:translateX(-50%);color:rgba(255,255,255,.7)}

/* ==========================================================================
   QB FAQ
   ========================================================================== */
.tch-faq__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.tch-faq__g .tch-lead{margin-block-start:20px}
.tch-faq__list{border-block-start:1px solid rgba(var(--tch-ink-rgb),.1)}
.tch-faq__i{border-block-end:1px solid rgba(var(--tch-ink-rgb),.1)}
.tch-faq__q{inline-size:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px;border:0;background:transparent;font:inherit;font-size:15.5px;font-weight:500;letter-spacing:-.01em;color:var(--tch-ink);cursor:pointer;text-align:start;transition:padding .5s var(--tch-ease),color .3s}
.tch-faq__q:hover{padding-inline-start:14px;color:var(--tch-primary)}
.tch-faq__pm{flex:none;inline-size:32px;block-size:32px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(var(--tch-ink-rgb),.16);position:relative;transition:all .5s var(--tch-ease)}
.tch-faq__pm::before,.tch-faq__pm::after{content:"";position:absolute;inset-inline-start:50%;inset-block-start:50%;inline-size:12px;block-size:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .5s var(--tch-ease)}
.tch-faq__pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.tch-faq__i.is-open .tch-faq__pm{background:var(--tch-primary);color:#fff;box-shadow:none;transform:rotate(180deg)}
.tch-faq__i.is-open .tch-faq__pm::after{transform:translate(-50%,-50%) rotate(0)}
.tch-faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--tch-ease)}
.tch-faq__i.is-open .tch-faq__a{grid-template-rows:1fr}
.tch-faq__a>div{overflow:hidden}
.tch-faq__a p{margin:0;padding-block-end:20px;padding-inline:4px 52px;font-size:14px;line-height:1.75}
.tch-dark .tch-faq__q{color:#fff}
@media (max-width:980px){.tch-faq__g{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================================
   QB Jobs
   ========================================================================== */
.tch-jobs__list{border-block-start:1px solid rgba(var(--tch-ink-rgb),.1)}
.tch-job{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 14px;border-block-end:1px solid rgba(var(--tch-ink-rgb),.1);border-radius:14px;transition:background .45s,padding .5s var(--tch-ease)}
.tch-job:hover{background:#fff;padding-inline-start:26px;border-block-end-color:transparent}
.tch-job__t b{display:block;font-weight:500;font-size:15px;color:var(--tch-ink)}
.tch-job__t span{display:block;font-size:13.5px;margin-block-start:3px}
.tch-job__c{font-size:13px;display:flex;align-items:center;gap:8px}
.tch-job__b{justify-self:start;font-size:12px;padding:6px 11px;border-radius:999px;background:var(--tch-bg-soft);color:var(--tch-ink)}
.tch-jobs__empty{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding:60px 20px;border-radius:var(--tch-panel-radius);background:#fff}
.tch-jobs__empty svg{color:var(--tch-primary)}
.tch-jobs__empty p{max-inline-size:520px;margin:0}
@media (max-width:980px){.tch-job{grid-template-columns:minmax(0,1fr) auto}.tch-job__c,.tch-job__b{display:none}}

/* ==========================================================================
   QB Process
   ========================================================================== */
.tch-proc__g{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:12px}
.tch-proc__i{position:relative;padding:22px 20px;border-radius:16px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:background .5s,transform .6s var(--tch-ease)}
.tch-proc__i:hover{background:rgba(255,255,255,.08);transform:translateY(-4px)}
.tch-proc__n{font-size:28px;font-weight:500;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.4);transition:all .5s}
.tch-proc__i:hover .tch-proc__n{color:var(--tch-primary);-webkit-text-stroke-color:var(--tch-primary)}
.tch-proc__i h3{margin:12px 0 6px;font-size:16px;color:#fff}
.tch-proc__i p{margin:0;font-size:13px;line-height:1.65;color:#9AA7B1}
.tch-proc:not(.tch-dark):not(.tch-slate) .tch-proc__i{background:#fff;box-shadow:none}
.tch-proc:not(.tch-dark):not(.tch-slate) .tch-proc__i h3{color:var(--tch-ink)}
.tch-proc:not(.tch-dark):not(.tch-slate) .tch-proc__n{-webkit-text-stroke-color:rgba(var(--tch-ink-rgb),.35)}
@media (max-width:980px){.tch-proc__g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.tch-proc__g,.tch-cards__g,.tch-icards__g,.tch-figs__g{grid-template-columns:minmax(0,1fr)!important}}

/* ==========================================================================
   Elementor container reset for full-bleed QB widgets
   ========================================================================== */
.elementor-widget-qb-hero-slider,.elementor-widget-qb-stats,.elementor-widget-qb-cta,.elementor-widget-qb-marquee,.elementor-widget-qb-location{inline-size:100%}
.elementor-widget-qb-hero-slider .elementor-widget-container,.elementor-widget-qb-stats .elementor-widget-container{margin:0;padding:0}

/* pause decorative loops while off-screen (class set by app.js) */
.tch-map.is-off .tch-map__arcs path,.tch-map.is-off .tch-map__ring,.tch-map.is-off .tch-map__pulse,.tch-mq.is-off .tch-mq__in{animation-play-state:paused}

/* ==========================================================================
   QB Clients & Partners — cinematic rows
   ========================================================================== */
.tch-lm{position:relative;display:flex;flex-direction:column;gap:6px;margin-inline:calc(var(--tch-gutter) * -1);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%)}
.tch-lm__row{overflow:hidden;padding-block:12px}
.tch-lm__track{display:flex;inline-size:max-content;direction:ltr;will-change:transform}
.tch-lm__set{display:flex;gap:12px;padding-inline-end:12px}
.tch-lc{position:relative;flex:none;inline-size:184px;block-size:92px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;box-shadow:0 0 0 1px rgba(var(--tch-ink-rgb),.05),0 1px 2px rgba(var(--tch-ink-rgb),.03);transition:transform .8s cubic-bezier(.16,1,.3,1),box-shadow .8s cubic-bezier(.16,1,.3,1),opacity .7s ease;user-select:none}
.tch-lc img{max-inline-size:66%;max-block-size:44px;inline-size:auto;block-size:auto;object-fit:contain;filter:grayscale(1) contrast(.92);opacity:.5;mix-blend-mode:multiply;transition:filter .8s ease,opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1);pointer-events:none}
.tch-lc__w{font-size:14px;font-weight:500;color:#7A858E;text-align:center;padding-inline:12px}
.tch-lc__glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(150px circle at var(--gx,50%) var(--gy,50%),rgba(var(--tch-primary-rgb),.09),transparent 72%);opacity:0;transition:opacity .6s ease}
.tch-lc__n{position:absolute;inset-inline:10px;inset-block-end:9px;display:flex;justify-content:center;gap:6px;font-family:var(--tch-font-m);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;overflow:hidden;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.tch-lc__n b{font-weight:500;color:var(--tch-ink);overflow:hidden;text-overflow:ellipsis}
.tch-lc__n i{font-style:normal;color:var(--tch-primary)}
.tch-lm__row:hover .tch-lc{opacity:.55}
.tch-lm__row .tch-lc:hover{opacity:1;transform:translateY(-5px);box-shadow:0 0 0 1px rgba(var(--tch-primary-rgb),.16),0 22px 44px -26px rgba(var(--tch-ink-rgb),.38)}
.tch-lc:hover img{filter:none;opacity:1;transform:translateY(-7px) scale(1.03)}
.tch-lc:hover .tch-lc__glow{opacity:1}
.tch-lc:hover .tch-lc__n{opacity:1;transform:none}
/* entrance: rows glide in from opposite sides */
.tch-anim-ready .tch-lm:not(.tch-in) .tch-lm__row{opacity:0;filter:blur(6px)}
.tch-anim-ready .tch-lm:not(.tch-in) .tch-lm__row[data-dir="1"]{transform:translate3d(-60px,0,0)}
.tch-anim-ready .tch-lm:not(.tch-in) .tch-lm__row[data-dir="-1"]{transform:translate3d(60px,0,0)}
.tch-anim-ready .tch-lm .tch-lm__row{transition:transform 1.6s cubic-bezier(.16,1,.3,1),opacity 1.2s ease,filter 1.2s ease}
.tch-anim-ready .tch-lm .tch-lm__row[data-dir="-1"]{transition-delay:.12s}
.tch-anim-ready [data-tch-anim].tch-lm:not(.tch-in){opacity:1}
/* reduced motion / no JS: a calm scrollable strip */
.tch-lm.is-static .tch-lm__row{overflow-x:auto;scrollbar-width:none}
.tch-lm.is-static .tch-lm__set[aria-hidden]{display:none}
.tch-dark .tch-lc,.tch-slate .tch-lc{background:rgba(255,255,255,.96)}
@media (max-width:600px){.tch-lc{inline-size:150px;block-size:80px;border-radius:14px}.tch-lc img{max-block-size:38px}.tch-lm{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}}
.tch-logos--cinema .tch-head,.tch-logos--marquee .tch-head{margin-block-end:22px}

/* ==========================================================================
   QB Expertise — one-row carousel
   ========================================================================== */
.tch-exc{position:relative}
.tch-exc__vp{overflow:hidden;margin-inline-end:calc(var(--tch-gutter) * -1);padding-inline-end:var(--tch-gutter);cursor:grab;outline:none;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.tch-exc__vp:focus-visible{box-shadow:0 0 0 2px var(--tch-primary);border-radius:var(--tch-radius)}
.tch-exc__vp.is-drag{cursor:grabbing}
.tch-exc__vp.is-drag .tch-exp__c{pointer-events:none}
.tch-exc__track{display:flex;gap:10px;inline-size:max-content;will-change:transform}
.tch-exc .tch-exp__c img{-webkit-user-drag:none;user-select:none}
.tch-exc .tch-exp__c{flex:none;inline-size:clamp(230px,22vw,290px);block-size:clamp(300px,26vw,340px);transition:transform .9s var(--tch-ease)}
.tch-exc .tch-exp__c:hover{transform:translateY(-4px)}
.tch-exc__ui{position:relative;z-index:3;display:flex;align-items:center;gap:22px;margin-block-start:26px}
.tch-exc__count{color:var(--tch-body);white-space:nowrap}
.tch-exc__count b{color:#fff;font-weight:500}
.tch-exc__bar{position:relative;flex:1;block-size:2px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
.tch-exc__bar i{position:absolute;inset-block:0;left:0;inline-size:20%;background:var(--tch-primary);border-radius:2px;transition:transform .5s var(--tch-ease),inline-size .5s var(--tch-ease)}
.tch-rtl .tch-exc__bar i{left:auto;right:0}
.tch-exc__nav{display:flex;gap:8px}
.tch-exc__btn{inline-size:40px;block-size:40px;border-radius:50%;border:0;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .4s,color .4s,opacity .4s}
.tch-exc__btn:hover{background:#fff;color:var(--tch-ink)}
.tch-exc__btn[disabled]{opacity:.35;pointer-events:none}
.tch-exc__btn--prev .tch-ic{transform:scaleX(-1)}
.tch-rtl .tch-exc__btn--prev .tch-ic{transform:none}.tch-rtl .tch-exc__btn:not(.tch-exc__btn--prev) .tch-ic{transform:scaleX(-1)}
.tch-w:not(.tch-dark):not(.tch-slate) .tch-exc__count b{color:var(--tch-ink)}
.tch-w:not(.tch-dark):not(.tch-slate) .tch-exc__bar{background:rgba(var(--tch-ink-rgb),.1)}
.tch-w:not(.tch-dark):not(.tch-slate) .tch-exc__btn{background:transparent;box-shadow:inset 0 0 0 1px rgba(var(--tch-ink-rgb),.16);color:var(--tch-ink)}
@media (max-width:600px){.tch-exc .tch-exp__c{inline-size:78vw;block-size:320px}.tch-exc__count{display:none}}

/* ==========================================================================
   Quick contact form (simple)
   ========================================================================== */
.tch-form--quick{padding:clamp(22px,2.6vw,32px)}
.tch-form--quick .tch-form__h{font-size:18px}
.tch-form--quick .tch-form__sub{margin-block-end:16px}
.tch-form--quick .tch-lf{gap:12px}
.tch-form--quick textarea{block-size:96px;min-block-size:84px}
.tch-form--quick .wpcf7-submit{margin-block-start:4px}

/* ==========================================================================
   Width safety for scrolling components inside Elementor flex containers.
   A flex item that is not stretched shrinks to its max-content width — a
   carousel/marquee would then be as wide as all its cards and never scroll.
   ========================================================================== */
.e-con>.elementor-widget[class*="elementor-widget-qb-"],.e-con-inner>.elementor-widget[class*="elementor-widget-qb-"],.elementor-column .elementor-widget[class*="elementor-widget-qb-"]{inline-size:100%;max-inline-size:100%;min-inline-size:0;align-self:stretch;flex-shrink:1}
.tch-exc,.tch-lm{contain:inline-size;inline-size:auto;max-inline-size:none;min-inline-size:0}
.tch-exc__vp{inline-size:auto;max-inline-size:none}

/* ---------- mobile safety: nothing may push the page wider than the screen ---------- */
@media (max-width:767px){
.tch-hero,.tch-stats,.tch-cta,.tch-mq--dark,.tch-panel,.tch-loc{margin-inline:6px}
.tch-hero{inline-size:auto;max-inline-size:calc(100vw - 12px);border-radius:16px}
.tch-hero__body{padding-block:88px 96px}
.tch-hero__body .tch-wrap,.tch-hero__ui .tch-wrap{padding-inline:max(28px,var(--tch-gutter))}
.tch-hero__tag{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 10px;max-inline-size:100%;box-sizing:border-box;white-space:normal;line-height:1.45;font-size:9px}
.tch-hero__h{overflow-wrap:anywhere;letter-spacing:-.018em;max-inline-size:100%;font-size:clamp(26px,8vw,34px)}
/* overflow hidden clips first glyphs (esp. italic) on narrow screens — reveal only while animating in */
.tch-hero__h .tch-ln{padding-inline:.2em .25em;margin-inline:0}
.tch-hero__slide.is-on .tch-hero__h .tch-ln{overflow:visible}
.tch-hero__p{max-inline-size:100%}
.tch-hero__cta{flex-wrap:wrap;gap:12px}
.tch-hero__ui .tch-wrap{padding-block-end:18px}
.tch-hero__cur{font-size:26px;block-size:24px}
.tch-stats__g{grid-template-columns:repeat(2,minmax(0,1fr))}
.tch-stats--light .tch-stats__i:nth-child(3){grid-column:1 / -1;border-block-start:1px solid rgba(var(--tch-ink-rgb),.08)}
.tch-stats__l{overflow-wrap:anywhere;hyphens:auto;max-inline-size:none}
.tch-lm{margin-inline:calc(var(--tch-gutter) * -1);max-inline-size:100vw}
.tch-pin__card{white-space:normal;max-inline-size:200px}
.tch-map{overflow:hidden}
}
