[data-framer-name="Testimonials"][data-ib-hidden]{display:none!important}
#ib-demos{--a:#6d4aff;--a2:#8b6dff;position:relative;width:100%;flex:none;font-family:Urbanist,Inter,system-ui,sans-serif;color:#fff;-webkit-font-smoothing:antialiased}
:where(#ib-demos) *{box-sizing:border-box;margin:0;padding:0}
#ib-demos[data-active="0"]{--h1:#6d4aff;--h2:#2f6bff}
#ib-demos[data-active="1"]{--h1:#c04bff;--h2:#ff6a3d}
#ib-demos[data-active="2"]{--h1:#16b8a6;--h2:#4a5bff}
.ibd-pin{position:sticky;top:12px;height:calc(100vh - 24px);height:calc(100svh - 24px);margin:0 12px;border-radius:32px;overflow:hidden;background:#0b0a12;display:flex;flex-direction:column;padding:clamp(18px,3vw,34px) 0 clamp(16px,2.4vw,26px);isolation:isolate;box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}
.ibd-glow{position:absolute;inset:-20%;z-index:-2;background:radial-gradient(40% 40% at calc(15% + var(--p,0)*70%) 20%,var(--h1,#6d4aff),transparent 70%),radial-gradient(35% 35% at calc(85% - var(--p,0)*60%) 85%,var(--h2,#2f6bff),transparent 70%);opacity:.38;transition:opacity .6s}
.ibd-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;mask:radial-gradient(80% 70% at 50% 40%,#000,transparent)}
.ibd-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:0 clamp(18px,3.4vw,40px);flex-wrap:wrap}
.ibd-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 14px;font:600 13px Urbanist,sans-serif;backdrop-filter:blur(8px)}
.ibd-pill i{width:7px;height:7px;border-radius:50%;background:var(--h1,#6d4aff);box-shadow:0 0 12px var(--h1,#6d4aff)}
.ibd-h{font:600 clamp(26px,3.6vw,46px)/1.05 Urbanist,sans-serif;letter-spacing:-.02em;margin-top:10px}
.ibd-tabs{display:flex;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px;backdrop-filter:blur(10px)}
.ibd-tabs button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:7px;padding:8px 16px;border-radius:999px;font:600 14px Urbanist,sans-serif;color:rgba(255,255,255,.7);transition:background .35s,color .35s}
.ibd-tabs button b{font:500 11px Inter,sans-serif;opacity:.6}
.ibd-tabs button:hover{color:#fff}.ibd-tabs button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ibd-tabs button.on{background:#fff;color:#09090b}
.ibd-stage{position:relative;flex:1;min-height:0;margin-top:clamp(8px,1.6vh,20px)}
.ibd-ch{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:clamp(10px,2.4vh,26px);will-change:opacity}
.ibd-chead{display:flex;align-items:flex-end;gap:clamp(12px,2vw,24px);padding:0 clamp(18px,3.4vw,40px)}
.ibd-big{font:700 clamp(56px,10vw,128px)/.8 Urbanist,sans-serif;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.35);letter-spacing:-.04em}
.ibd-chead h3{font:600 clamp(26px,4vw,52px)/1 Urbanist,sans-serif;letter-spacing:-.02em;background:linear-gradient(90deg,#fff,var(--h1,#8b6dff));-webkit-background-clip:text;background-clip:text;color:transparent}
.ibd-chead p{color:rgba(255,255,255,.62);font:400 clamp(13px,1.3vw,16px)/1.45 Inter,sans-serif;max-width:430px;margin-top:6px}
.ibd-track{list-style:none;display:flex;gap:clamp(14px,1.8vw,24px);width:max-content;will-change:transform;--cw:min(clamp(250px,27vw,390px),46svh*1.55)}
.ibd-card{width:var(--cw);flex:none;transform-origin:center;will-change:transform}
.ibd-btn{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);overflow:hidden;transition:border-color .3s,background .3s,box-shadow .3s}
.ibd-btn[aria-disabled="true"]{cursor:default}
.ibd-btn:hover{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.1);box-shadow:0 24px 50px -22px var(--h1,#6d4aff)}
.ibd-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.ibd-poster{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--c1),var(--c2));color:rgba(255,255,255,.9)}
.ibd-card[data-k=software]{--c1:#4b2cd6;--c2:#1b3a9a}.ibd-card[data-k=apps]{--c1:#a021d6;--c2:#e2552a}.ibd-card[data-k=websites]{--c1:#0e8f84;--c2:#2d3fd0}
.ibd-poster::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 30% 0,rgba(255,255,255,.22),transparent 60%),linear-gradient(180deg,transparent 50%,rgba(0,0,0,.35))}
.ibd-glyph{position:absolute;left:50%;top:46%;width:34%;max-width:96px;transform:translate(calc(-50% + var(--px,0px)),-50%);opacity:.5}
.ibd-glyph svg{width:100%;height:auto;display:block}
.ibd-num{position:absolute;right:12px;bottom:4px;font:700 54px/1 Urbanist,sans-serif;color:rgba(255,255,255,.16);letter-spacing:-.04em}
.ibd-img{position:absolute;inset:-6% -8%;width:116%;height:112%;object-fit:cover;transform:translate3d(var(--px,0px),0,0);transition:transform .6s}
.ibd-btn:hover .ibd-img{transform:translate3d(var(--px,0px),0,0) scale(1.05)}
.ibd-soon{position:absolute;left:12px;top:12px;z-index:2;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);border-radius:999px;padding:4px 10px;font:600 11px Inter,sans-serif;letter-spacing:.02em}
.ibd-play{position:absolute;z-index:2;right:14px;top:12px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#09090b;box-shadow:0 8px 24px -6px rgba(0,0,0,.5);transition:transform .3s}
.ibd-play svg{margin-left:2px}
.ibd-btn:not([aria-disabled="true"]) .ibd-play::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #fff;animation:ibd-ping 2s infinite}
.ibd-btn[aria-disabled="true"] .ibd-play{opacity:.45;transform:scale(.85)}
.ibd-btn:not([aria-disabled="true"]):hover .ibd-play{transform:scale(1.12)}
@keyframes ibd-ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
.ibd-meta{display:grid;gap:5px;padding:14px 16px 16px}
.ibd-meta strong{font:600 clamp(16px,1.6vw,20px)/1.15 Urbanist,sans-serif;letter-spacing:-.01em}
.ibd-desc{font:400 13px/1.4 Inter,sans-serif;color:rgba(255,255,255,.6)}
.ibd-tags{display:flex;gap:6px;flex-wrap:wrap}.ibd-tags i{font:600 11px Inter,sans-serif;font-style:normal;background:rgba(255,255,255,.1);border-radius:999px;padding:3px 9px;color:rgba(255,255,255,.85)}
.ibd-foot{display:flex;align-items:center;gap:16px;padding:0 clamp(18px,3.4vw,40px);margin-top:clamp(6px,1.4vh,16px);font:600 14px Urbanist,sans-serif}
.ibd-count{color:rgba(255,255,255,.55);white-space:nowrap}.ibd-count b{color:#fff;font-size:18px}
.ibd-bar{flex:1;height:3px;background:rgba(255,255,255,.15);border-radius:3px;overflow:hidden}
.ibd-bar i{display:block;height:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--h1,#6d4aff),var(--h2,#2f6bff));border-radius:3px}
.ibd-hint{color:rgba(255,255,255,.55);display:flex;align-items:center;gap:6px;transition:opacity .4s}.ibd-hint::after{content:"↓";animation:ibd-bob 1.4s ease-in-out infinite}
@keyframes ibd-bob{50%{transform:translateY(4px)}}
/* lightbox */
.ibd-lb{position:fixed;inset:0;z-index:99999;background:rgba(5,5,10,.86);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .3s}
.ibd-lb.on{opacity:1}
.ibd-frame{width:min(1100px,100%);aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 40px 100px -20px rgba(0,0,0,.8);transform:scale(.94);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.ibd-lb.on .ibd-frame{transform:none}.ibd-frame iframe{width:100%;height:100%;border:0;display:block}
.ibd-x{all:unset;position:absolute;top:16px;right:20px;width:46px;height:46px;border-radius:50%;background:#fff;color:#09090b;font:400 30px/46px Inter,sans-serif;text-align:center;cursor:pointer}
.ibd-x:focus-visible{outline:2px solid #6d4aff;outline-offset:3px}
/* reduced motion: plain stacked rows you swipe sideways */
.ibd-static{height:auto!important}
.ibd-static .ibd-pin{position:relative;top:0;height:auto;padding-bottom:28px}
.ibd-static .ibd-stage{margin-top:12px}.ibd-static .ibd-ch{position:relative;visibility:visible!important;opacity:1!important;margin-bottom:34px}
.ibd-static .ibd-track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 clamp(18px,3.4vw,40px) 10px;transform:none!important}
.ibd-static .ibd-card{scroll-snap-align:start;transform:none!important}.ibd-static .ibd-foot{display:none}.ibd-static .ibd-glow{--p:.5}
.ibd-static .ibd-btn:not([aria-disabled="true"]) .ibd-play::before,.ibd-hint::after{animation:none}
@media(max-width:700px){.ibd-tabs{width:100%;justify-content:space-between;flex-wrap:wrap;border-radius:22px}.ibd-tabs button b{display:none}.ibd-tabs button{padding:8px 10px;font-size:13px;flex:1;justify-content:center}.ibd-big{display:none}.ibd-pin{border-radius:26px;margin:0 8px}.ibd-chead p{display:none}.ibd-num{font-size:40px}}
/* keep only one featured project */
[data-framer-name="Featured Works"] a.framer-13tcklb~a.framer-13tcklb{display:none!important}
.ibd-frame.short{aspect-ratio:9/16;width:auto;height:min(88vh,100%);max-width:100%;margin:0 auto}

/* ---- always: natural page scroll, sideways rows (overrides the old scroll-jacking layout) ---- */
.ibd-static .ibd-pin{padding:clamp(26px,4vw,48px) 0 clamp(26px,4vw,44px);gap:clamp(18px,3vw,34px)}
.ibd-static .ibd-stage{display:grid;gap:clamp(34px,5vw,60px);margin-top:0}
.ibd-static .ibd-ch{gap:clamp(14px,2vw,22px);margin-bottom:0}
.ibd-static .ibd-chead{align-items:flex-end}
.ibd-static .ibd-chead>div:nth-child(2){flex:1}
.ibd-nav{display:flex;gap:8px;margin-left:auto;flex:none}
.ibd-arr{all:unset;box-sizing:border-box;cursor:pointer;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font:500 22px/1 Inter,sans-serif;color:#09090b;background:#fff;transition:transform .25s,opacity .25s,background .25s}
.ibd-arr:hover:not(:disabled){transform:scale(1.08)}
.ibd-arr:focus-visible{outline:2px solid #fff;outline-offset:3px}
.ibd-arr:disabled{opacity:.28;cursor:default;background:rgba(255,255,255,.5)}
.ibd-ch.ibd-fit .ibd-nav,.ibd-ch.ibd-fit .ibd-prog{display:none}
.ibd-static .ibd-track{display:flex;width:auto;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 clamp(18px,3.4vw,40px);padding:6px clamp(18px,3.4vw,40px) 14px;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch;--cw:clamp(260px,25vw,380px)}
.ibd-static .ibd-track::-webkit-scrollbar{display:none}
.ibd-static .ibd-track.drag{cursor:grabbing;scroll-snap-type:none}
.ibd-static .ibd-track:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:-2px;border-radius:12px}
.ibd-static .ibd-card{scroll-snap-align:start;transform:none!important}
.ibd-static .ibd-img{transform:none}.ibd-static .ibd-btn:hover .ibd-img{transform:scale(1.05)}
.ibd-prog{height:3px;margin:0 clamp(18px,3.4vw,40px);background:rgba(255,255,255,.14);border-radius:3px;overflow:hidden}
.ibd-prog i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(.2);background:linear-gradient(90deg,var(--h1,#6d4aff),var(--h2,#2f6bff));transition:transform .15s}
.ibd-static .ibd-ch[data-i="0"]{--h1:#6d4aff;--h2:#2f6bff}.ibd-static .ibd-ch[data-i="1"]{--h1:#c04bff;--h2:#ff6a3d}.ibd-static .ibd-ch[data-i="2"]{--h1:#16b8a6;--h2:#4a5bff}
@media(max-width:700px){.ibd-arr{width:40px;height:40px}.ibd-chead h3{font-size:26px}.ibd-static .ibd-track{--cw:78vw}}

/* each row glides in from the right (animating the scroller itself, so scroll width is unaffected) */
.ibd-static .ibd-track{opacity:0;translate:150px 0}
.ibd-static .ibd-track.in{opacity:1;translate:0 0;transition:opacity .8s ease,translate 1.1s cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){.ibd-static .ibd-track{opacity:1;translate:none}}
.ibd-static .ibd-stage{grid-template-columns:minmax(0,1fr)}.ibd-static .ibd-ch{min-width:0}

/* ---- premium polish: full 16:9 thumbnails, tilt, light follow, shine sweep, staggered reveal ---- */
.ibd-poster{aspect-ratio:16/9}
.ibd-img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none!important;transition:transform .9s cubic-bezier(.22,1,.36,1),filter .5s}
.ibd-btn:hover .ibd-img{transform:scale(1.045)!important}
.ibd-poster::after{background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.4))}
.ibd-poster::before{content:"";position:absolute;inset:-20% auto -20% -60%;width:40%;z-index:3;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg);transition:none}
.ibd-btn:hover .ibd-poster::before{left:130%;transition:left .95s cubic-bezier(.22,1,.36,1)}
.ibd-btn{position:relative;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .3s,background .3s,box-shadow .4s;will-change:transform}
.ibd-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.14),transparent 60%)}
.ibd-btn:hover::after{opacity:1}
.ibd-btn:hover{box-shadow:0 30px 60px -24px var(--h1,#6d4aff),0 0 0 1px rgba(255,255,255,.22)}
.ibd-play{width:52px;height:52px;backdrop-filter:blur(6px);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
.ibd-btn:not([aria-disabled="true"]):hover .ibd-play{transform:scale(1.14);box-shadow:0 0 0 8px rgba(255,255,255,.2),0 10px 30px -6px rgba(0,0,0,.6)}
.ibd-meta strong{transition:color .3s}.ibd-btn:hover .ibd-meta strong{color:#fff}
.ibd-static .ibd-card{opacity:0;filter:blur(8px)}
.ibd-static .ibd-track.in .ibd-card{opacity:1;filter:none;transition:opacity .8s ease,filter .8s ease;transition-delay:calc(var(--i)*120ms + 150ms)}
@media(prefers-reduced-motion:reduce){.ibd-static .ibd-card{opacity:1;filter:none}.ibd-btn,.ibd-btn:hover .ibd-poster::before{transform:none;transition:none}}
.ibd-static .ibd-track{align-items:stretch}.ibd-card{display:flex}.ibd-btn{height:auto;flex:1}.ibd-meta{align-content:start}
.ibf-host>*:not(.ibf){display:none!important}
.ibf{width:100%;padding:0;font-family:Urbanist,sans-serif;color:#09090b;box-sizing:border-box;container-type:inline-size;text-align:center}
.ibf-tag{display:block;font:600 13px/1 Urbanist,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#6c3ef5;margin-bottom:22px}
.ibf-row{display:grid;grid-template-columns:repeat(2,minmax(0,260px));justify-content:center;gap:clamp(16px,6cqw,56px)}
.ibf-p{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;min-width:0}
.ibf-p img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:22px;box-shadow:0 14px 30px rgba(0,0,0,.28);display:block}
.ibf-p b{display:block;white-space:nowrap;font:700 clamp(16px,6.2cqw,28px)/1.15 Urbanist,sans-serif;letter-spacing:-.01em}
.ibf-p small{display:block;margin-top:6px;font:500 12px/1.2 Urbanist,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#71717a}


.ibacc{overflow:clip;overflow-clip-margin:16px}

[data-framer-name="Left- LocationCTA"]{align-self:stretch;height:auto!important;min-height:660px}

/* mobile: show the whole globe inside the location card instead of a cropped top slice */
@media(max-width:809px){[data-framer-name="Left- LocationCTA"]{min-height:0!important;height:450px!important;overflow:hidden}[data-framer-name="Left- LocationCTA"] [data-framer-name="Globe"]>[class*="-container"]{scale:1.3;translate:0 70px}}
@media(max-width:809px){[data-framer-name="Left- LocationCTA"] [data-framer-name="Top+Button"]{position:relative;z-index:3}}

/* phones: keep Framer's per-frame JS pill springs and layout churn off the main thread during open/close */
@media(max-width:809px){[class*="framer-rmIXD"][data-framer-name]{contain:layout style}[data-framer-name="Key Points"] *{transform:none!important}}

/* phones: backdrop blur (nav, buttons) re-rasterizes every frame while the page shifts; drop it during the accordion */
html.ib-anim *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Trusted-by logo marquee */
[data-ib-logos]{height:56px!important;overflow:hidden}
[data-ib-logos]>:not(.ibl){display:none!important}
.ibl{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ibl ul{display:flex;align-items:center;gap:48px;width:max-content;margin:0;padding:0 24px 0 0;list-style:none;animation:iblmove 38s linear infinite;will-change:transform}
.ibl li{flex:none;display:flex;align-items:center;height:56px}.ibl img{width:auto;display:block;opacity:.9}
@keyframes iblmove{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ibl ul{animation:none}}

/* Team: wider-team photo strip */
.ibt{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:-28px;width:100%}
.ibt-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.ibt-row img,.ibt-n{width:64px;height:64px;border-radius:16px;object-fit:cover;border:1px solid rgba(128,128,128,.35);box-shadow:0 6px 16px rgba(0,0,0,.18);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.ibt-row img{background:#111}.ibt-row img:hover,.ibt-n:hover{transform:translateY(-4px)}
.ibt-n{display:grid;place-items:center;color:#fff;font:700 18px Urbanist,sans-serif;background:linear-gradient(135deg,#6d4aff,#2f6bff);border-color:transparent}
.ibt p{margin:0;font:500 14px Urbanist,sans-serif;letter-spacing:.02em;opacity:.7}

/* 12+ badge: spinning gradient ring, soft pulse, counted number */
.ibt-n{position:relative;display:flex;align-items:center;justify-content:center;border-radius:50%!important;border:0!important;background:none!important;box-shadow:none!important;animation:ibtping 2.4s ease-out infinite}
.ibt-n:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#6d4aff,#2f6bff,#22d3ee,transparent 62%,#6d4aff);animation:ibtspin 3s linear infinite}
.ibt-n:after{content:"";position:absolute;inset:3px;border-radius:50%;background:#0b0b12}
.ibt-n b,.ibt-n i{position:relative;z-index:1;font:700 21px Urbanist,sans-serif;font-style:normal;line-height:1;color:#fff}
.ibt-n i{color:#8b7bff;margin-left:1px}
.ibt-n:hover{transform:scale(1.08)!important}
@keyframes ibtspin{to{transform:rotate(1turn)}}
@keyframes ibtping{0%{box-shadow:0 0 0 0 rgba(109,74,255,.5)}70%,100%{box-shadow:0 0 0 16px rgba(109,74,255,0)}}
@media(prefers-reduced-motion:reduce){.ibt-n,.ibt-n:before{animation:none}}

/* Team strip v2: circles, slide out from the first one when scrolled into view */
.ibt{--sz:64px;--gp:12px}
.ibt-row{flex-wrap:nowrap}
.ibt-row img,.ibt-n{width:var(--sz)!important;height:var(--sz)!important;border-radius:50%!important;flex:none;position:relative;z-index:calc(6 - var(--i));
  transform:translateX(calc(var(--i)*(var(--sz) + var(--gp))*-1)) scale(.55);opacity:0;
  transition:transform .95s cubic-bezier(.34,1.35,.64,1) calc(var(--i)*.12s),opacity .5s ease calc(var(--i)*.12s)}
.ibt-row img:first-child{transform:none;opacity:1}
.ibt-go .ibt-row img,.ibt-go .ibt-n{transform:none;opacity:1}
.ibt-go .ibt-row img:hover,.ibt-go .ibt-n:hover{transform:translateY(-4px) scale(1.05)!important;transition-delay:0s}
.ibt-row img{border:2px solid rgba(255,255,255,.2)}
@media(max-width:480px){.ibt{--sz:52px;--gp:8px}.ibt-n b,.ibt-n i{font-size:18px}}
@media(prefers-reduced-motion:reduce){.ibt-row img,.ibt-n{transition:none}}

/* Awards rows: let the 56px client logos overflow Framer's 30px logo slot instead of being clipped */
[data-framer-name="Awards"] .framer-1swkrbi,[data-framer-name="Awards"] .framer-10hh0fh{overflow:visible!important}

/* the pin must never become a scroll container (programmatic scrolling would hide the header) */
.ibd-pin{overflow:clip}

/* Desktop hero sub-text was near-black on the dark hero: make it readable and more polished (phones untouched) */
@media(min-width:810px){
  [data-framer-name="SubText+Bottom"] .framer-11yrzav{height:auto!important;min-height:48px}
  [data-framer-name="SubText+Bottom"] .framer-11yrzav p.framer-text{color:rgba(255,255,255,.88)!important;font-size:clamp(17px,1.4vw,22px)!important;line-height:1.55!important;max-width:780px;margin:0 auto;text-wrap:balance;font-weight:500;letter-spacing:.005em;text-shadow:0 2px 28px rgba(109,74,255,.55),0 1px 2px rgba(0,0,0,.5);animation:ibhero 1s .45s both cubic-bezier(.22,1,.36,1)}
}
@keyframes ibhero{from{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){[data-framer-name="SubText+Bottom"] p.framer-text{animation:none!important}}

/* phones, while a service card opens/closes: give everything below its own compositor layer so the shift is a
   layer move instead of a repaint of the whole page (will-change:opacity, unlike transform, never traps fixed children) */
@media(max-width:809px){
  html.ib-anim [data-framer-name="Services"]~*,html.ib-anim .framer-M3gTz~*,html.ib-anim [class*="framer-rmIXD"]{will-change:opacity}
}
@media(max-width:809px){[class*="framer-rmIXD"][data-framer-name]{transition:transform .18s cubic-bezier(.22,1,.36,1)}[class*="framer-rmIXD"][data-framer-name]:active{transform:scale(.985)}}

/* Contact background is a WebGL shader. If the phone drops the GL context (memory pressure) the canvas goes blank and the
   light template image underneath showed through, making the white text unreadable. Paint a dark violet fallback in the
   shader's own wrapper: the opaque canvas still covers it when WebGL works. */
.framer-1dff3zx-container>div:first-child{background:radial-gradient(120% 55% at 15% 8%,#6a46ff 0%,rgba(106,70,255,0) 62%),radial-gradient(90% 45% at 95% 62%,#4326c9 0%,rgba(67,38,201,0) 66%),#0a0618}
div:has(>canvas[data-paper-shaders]){background:radial-gradient(120% 55% at 15% 8%,#6a46ff 0%,rgba(106,70,255,0) 62%),radial-gradient(90% 45% at 95% 62%,#4326c9 0%,rgba(67,38,201,0) 66%),#0a0618}
.framer-16o2f3k img[src*="m80ZhxX0AHAi3ZQzPq6jtq80gTA"]{visibility:hidden}

/* Featured Works: remove the 4 pagination dots under the thumbnail (only one project is shown) */
[data-framer-name="Featured Works"] [data-framer-name="Switch Circle"]{display:none!important}
[data-framer-name="Featured Works"] [data-framer-name="Project Meta"]{padding-bottom:20px}

/* breathing room between the Portfolio card and the Process section that follows */
#ib-demos{--gap:clamp(56px,8vw,112px);margin-bottom:var(--gap);position:relative}

/* Process section: curved top corners, like the other stacked sections (the template left them square) */
/* every breakpoint: the card is the first child of the section's container (named "Tablet Card 1", "Process Card 1", "Mobile"...) */
.framer-1tflpem>[class*="-container"]>div{border-radius:24px 24px 0 0!important}
/* same side inset as the neighbouring sections so the Portfolio and Process cards line up */
@media(min-width:810px){#ib-demos .ibd-pin{margin-left:16px;margin-right:16px}}

/* Process section layout polish -------------------------------------------------------------------------------
   desktop: the step cards were glued to the top edge with 120px of dead space below; give the card real padding,
   stretch the left column to the cards' height (tag lines up with the card tops, arrows with their bottoms)
   and fade the half-visible 3rd card instead of chopping it. */
@media(min-width:1200px){
  .framer-1tflpem .framer-pcquH{padding:44px 24px 52px 56px!important}
  .framer-1tflpem .framer-1j11lsl{align-items:stretch!important}
  .framer-1tflpem .framer-2r928v{height:auto!important;align-self:stretch;justify-content:space-between!important}
  .framer-1tflpem .framer-1un4fms{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 72px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 72px),transparent)}
}
/* tablet: title on the left, arrows on the right of the same row instead of dangling underneath */
@media(min-width:810px) and (max-width:1199px){
  .framer-1tflpem .framer-2r928v{flex-direction:row!important;justify-content:space-between!important;align-items:flex-end!important;width:100%;height:auto!important;gap:24px}
  .framer-1tflpem .framer-m9r3bu{width:auto!important;flex:1 1 auto!important;min-width:0}
  .framer-1tflpem .framer-5y3nqz{width:auto!important;flex:none!important}
  .framer-1tflpem .framer-pcquH{padding-top:36px!important}
}

/* Process on phones: breathing room at the top, and the step cards become a native swipe carousel -------------------- */
@media(max-width:809px){
  .framer-1tflpem .framer-pcquH{padding:30px 12px 34px!important}
  .framer-1tflpem .framer-2r928v{gap:28px!important;height:auto!important}
  .framer-1tflpem .framer-m9r3bu{gap:22px!important}
  .framer-1tflpem .framer-1j11lsl{gap:26px!important}
  .framer-1tflpem .framer-1un4fms{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;width:100%!important;padding:6px 0 30px;margin-bottom:-14px;box-sizing:content-box}
  .framer-1tflpem .framer-1un4fms::-webkit-scrollbar{display:none}
  .framer-1tflpem .framer-18i0gj2{transform:none!important;translate:none!important;left:0!important;gap:14px!important;padding-right:12px} /* left:0 - Framer's own slide (left:-361px / -728px per variant) was stacking on top of the native scroll, so one tap jumped card 1 -> 3 */
  .framer-1tflpem .framer-WK4dm{flex:none!important;scroll-snap-align:start}
}

/* Footer on phones: the INTELLOBYTE wordmark was wider than the screen (clipped), social tiles uneven, tiny tap targets */
@media(max-width:809px){
  [data-framer-name="Phone"] [data-framer-name="Headline"] span[style*="font-size"],[data-framer-name="Phone"] [data-framer-name="Container"]>div:first-child *{font-size:min(70px,13.6vw)!important;white-space:nowrap;max-width:100%}
  [data-framer-name="Phone"] [data-framer-name="Social Media"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:100%}
  [data-framer-name="Phone"] [data-framer-name="Social Media"]>a{width:100%!important;min-width:0}
  [data-framer-name="Phone"] [data-framer-name="Quick Link"]{gap:10px!important}
  [data-framer-name="Phone"] [data-framer-name="Quick Link"] a,[data-framer-name="Phone"] [data-framer-name="Back To Top"]{padding:11px 6px!important}
  [data-framer-name="Phone"]{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}

/* The stacked black sections (Team Members, Statistics, View More of Our Work) are joined as in the template;
   only the last one gets curved bottom corners to close the stack */
[data-framer-name="Awards"]>[data-framer-name="Container"]{border-radius:0 0 40px 40px!important}
@media(max-width:809px){[data-framer-name="Awards"]>[data-framer-name="Container"]{border-radius:0 0 28px 28px!important}}
