/* Animation experiment: additive motion only. Original layout and Framer transforms stay intact. */
#pa-motion-controls{position:fixed;right:20px;top:50%;translate:0 -50%;z-index:2147483000;width:164px;padding:14px;background:#111;color:#fff;border:1px solid #383838;border-radius:16px;box-shadow:0 14px 40px #0003;font:12px/1.3 Inter,Arial,sans-serif;isolation:isolate}
#pa-motion-controls *{box-sizing:border-box}
.pa-motion-label{display:flex;align-items:center;gap:7px;color:#bcbcbc;font-size:9px;letter-spacing:.12em;font-weight:600;margin:0 0 12px;text-transform:uppercase}.pa-motion-label i{width:5px;height:5px;background:#ff2b16;border-radius:50%}
.pa-motion-options{display:grid;gap:5px}
#pa-motion-controls button{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent;padding:11px 12px;background:#222;color:#aaa;border-radius:9px;font:500 12px/1 Inter,Arial,sans-serif;cursor:pointer;transition:background 180ms,color 180ms,scale 140ms}
#pa-motion-controls button span{font-size:10px;font-weight:400;opacity:.6}
#pa-motion-controls button[aria-pressed=true]{background:#fff;color:#111}
#pa-motion-controls button[data-mode=after][aria-pressed=true]{background:#ff2b16;color:white}
#pa-motion-controls button:active{scale:.97}#pa-motion-controls button:focus-visible{outline:2px solid #ff604f;outline-offset:3px}
#pa-motion-controls button.pa-motion-replay{margin-top:9px;background:transparent;border-color:#393939;color:#d5d5d5;padding:9px 12px;font-size:10px}
.pa-motion-state{display:block;margin:11px 1px 0;color:#989898;font-size:9px;line-height:1.5}
.pa-motion-progress{position:fixed;top:0;left:0;width:100%;height:3px;transform-origin:left;scale:0 1;background:#ff2b16;z-index:2147482000;pointer-events:none;opacity:0;transition:opacity .2s}
html.pa-motion-on .pa-motion-progress{opacity:1}
html.pa-motion-on .pa-reveal{transition:opacity .8s cubic-bezier(.16,1,.3,1),translate 1.05s cubic-bezier(.16,1,.3,1),clip-path 1.15s cubic-bezier(.77,0,.18,1);transition-delay:var(--pa-delay,0ms)}
html.pa-motion-on .pa-reveal:not(.pa-in){opacity:0!important;translate:0 36px}
html.pa-motion-on .pa-reveal.pa-in{opacity:1!important;translate:0 0}
html.pa-motion-on .pa-reveal[data-pa-kind=heading]:not(.pa-in){translate:0 24px;clip-path:inset(0 0 100% 0)}
html.pa-motion-on .pa-reveal[data-pa-kind=heading].pa-in{clip-path:inset(0 0 -15% 0)}
html.pa-motion-on .pa-reveal[data-pa-kind=project]:not(.pa-in){clip-path:none;translate:none}
html.pa-motion-on .pa-reveal[data-pa-kind=project].pa-in{clip-path:none}
html.pa-motion-on .pa-reveal[data-pa-kind=line]{transform-origin:left;transition:scale 1.1s cubic-bezier(.16,1,.3,1),opacity .5s}
html.pa-motion-on .pa-reveal[data-pa-kind=line]:not(.pa-in){scale:0 1;translate:0 0}
html.pa-motion-on .pa-reveal[data-pa-kind=line].pa-in{scale:1 1}
html.pa-motion-on .pa-reveal[data-pa-kind=service]:not(.pa-in){translate:35px 0}
html.pa-motion-on .pa-project img{transition:scale 1.65s cubic-bezier(.16,1,.3,1);transform-origin:center}
html.pa-motion-on .pa-project:not(.pa-in) img{scale:1}
html.pa-motion-on .pa-project.pa-in img{scale:1}
html.pa-motion-on .pa-service{transition:background-color .25s,translate .7s cubic-bezier(.16,1,.3,1)}
html.pa-motion-on .pa-image-reveal:not(.pa-in){clip-path:inset(0 0 100% 0)}
html.pa-motion-on .pa-image-reveal.pa-in{clip-path:inset(0)}
.pa-motion-cursor{position:fixed;left:0;top:0;width:76px;height:76px;border-radius:50%;background:#ff2b16;color:#fff;z-index:2147481000;pointer-events:none;display:grid;place-content:center;gap:4px;text-align:center;font:600 9px/1.3 Inter,Arial,sans-serif;letter-spacing:.05em;opacity:0;scale:.6;transition:opacity .2s,scale .3s cubic-bezier(.16,1,.3,1)}
.pa-motion-cursor svg{margin:auto}.pa-motion-cursor.pa-visible{opacity:1;scale:1}
@media(hover:hover) and (pointer:fine){html.pa-motion-on .pa-project:hover img{scale:1.045}html.pa-motion-on .pa-service:hover{translate:8px 0}html.pa-motion-on a.pa-cta:hover{scale:1.035}html.pa-motion-on a.pa-cta{transition:scale .25s cubic-bezier(.16,1,.3,1)}html.pa-motion-on a.pa-cta:active{scale:.98}}
@media(max-width:700px){#pa-motion-controls{right:10px;top:auto;bottom:16px;translate:0 0;width:218px;padding:10px;border-radius:13px}.pa-motion-label{margin-bottom:8px;font-size:8px}.pa-motion-options{grid-template-columns:1fr 1fr}#pa-motion-controls button{padding:10px 8px;font-size:11px}#pa-motion-controls button span{display:none}#pa-motion-controls button.pa-motion-replay{margin-top:6px;padding:7px}.pa-motion-state{display:none}html.pa-motion-on .pa-reveal:not(.pa-in){translate:0 22px}}
@media(prefers-reduced-motion:reduce){html.pa-motion-on .pa-reveal{transition:opacity .18s!important;translate:none!important;clip-path:none!important;scale:1!important}html.pa-motion-on .pa-reveal:not(.pa-in){opacity:1!important}html.pa-motion-on .pa-project img{scale:1!important;transition:none!important}.pa-motion-cursor{display:none}}
/* V2: custom brand cursor, tactile targets and a more expressive image language. */
.pa-motion-cursor{width:30px;height:30px;background:transparent;color:#ff2b16;border:1px solid #ff2b16;scale:1;gap:5px;transition:opacity .18s,width .35s cubic-bezier(.16,1,.3,1),height .35s cubic-bezier(.16,1,.3,1),background-color .2s,border-color .2s;box-shadow:none}
.pa-cursor-center{position:absolute;left:50%;top:50%;width:5px;height:5px;translate:-50% -50%;border-radius:50%;background:#ff2b16;transition:opacity .15s}
.pa-motion-cursor svg,.pa-motion-cursor .pa-cursor-caption{opacity:0;transition:opacity .18s;white-space:nowrap}
.pa-motion-cursor[data-state=project],.pa-motion-cursor[data-state=image]{width:88px;height:88px;background:#ff2b16;color:white;border-color:transparent}
.pa-motion-cursor[data-state=link]{width:46px;height:46px;background:#ff2b16;color:white;border-color:transparent}
.pa-motion-cursor[data-state=project] svg,.pa-motion-cursor[data-state=image] svg,.pa-motion-cursor[data-state=link] svg,.pa-motion-cursor[data-state=project] .pa-cursor-caption,.pa-motion-cursor[data-state=image] .pa-cursor-caption{opacity:1}
.pa-motion-cursor:not([data-state=idle]) .pa-cursor-center{opacity:0}.pa-motion-cursor[data-state=link] .pa-cursor-caption{display:none}
html.pa-motion-on .pa-project{perspective:1000px;transition:rotate .65s cubic-bezier(.16,1,.3,1),scale .65s cubic-bezier(.16,1,.3,1),box-shadow .4s,opacity .7s cubic-bezier(.16,1,.3,1);transform-style:preserve-3d}
html.pa-motion-on .pa-project img{transition:scale 1.4s cubic-bezier(.16,1,.3,1),filter .5s;scale:1}
html.pa-motion-on .pa-project:not(.pa-in) img{scale:1}
html.pa-motion-on .pa-stat{transition:scale .55s cubic-bezier(.16,1,.3,1),translate .8s,opacity .8s}
html.pa-motion-on .pa-cta{transition:translate .4s cubic-bezier(.16,1,.3,1),scale .3s cubic-bezier(.16,1,.3,1)}
@media(hover:hover) and (pointer:fine){
 html.pa-motion-on.pa-cursor-ready,html.pa-motion-on.pa-cursor-ready a,html.pa-motion-on.pa-cursor-ready button,html.pa-motion-on.pa-cursor-ready [role=button]{cursor:none!important}
 html.pa-motion-on #pa-motion-controls,html.pa-motion-on #pa-motion-controls button{cursor:pointer!important}
 html.pa-motion-on .pa-project:hover{scale:1.014;rotate:var(--pa-tilt,0deg);box-shadow:0 18px 38px #0000001a;z-index:3}
 html.pa-motion-on .pa-project.pa-in:hover img{scale:1.085}
 html.pa-motion-on .pa-service:hover{translate:12px 0;scale:1.015}
 html.pa-motion-on .pa-service{position:relative;transition:translate .55s cubic-bezier(.16,1,.3,1),scale .5s cubic-bezier(.16,1,.3,1),opacity .8s}
 html.pa-motion-on .pa-service::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:100%;background:#ff2b16;scale:0 1;transform-origin:left;transition:scale .65s cubic-bezier(.16,1,.3,1);pointer-events:none}
 html.pa-motion-on .pa-service:hover::after{scale:1 1}
 html.pa-motion-on .pa-image-reveal{overflow:clip}
 html.pa-motion-on .pa-image-reveal img{transition:scale 1s cubic-bezier(.16,1,.3,1)}
 html.pa-motion-on .pa-image-reveal:hover img{scale:1.065!important}
 html.pa-motion-on .pa-stat:hover{scale:1.045}
 html.pa-motion-on .pa-faq-hover{transition:background-color .3s,translate .4s cubic-bezier(.16,1,.3,1)}
 html.pa-motion-on .pa-faq-hover:hover{background-color:rgba(255,43,22,.035);translate:5px 0}
 html.pa-motion-on a.pa-cta:hover,html.pa-motion-on button.pa-cta:hover{scale:1.055}
 html.pa-motion-on .pa-project:active,html.pa-motion-on .pa-cta:active{scale:.98}
}
@media(prefers-reduced-motion:reduce){html.pa-motion-on.pa-cursor-ready,html.pa-motion-on.pa-cursor-ready a,html.pa-motion-on.pa-cursor-ready button{cursor:auto!important}.pa-motion-cursor{display:none}html.pa-motion-on .pa-project:hover,html.pa-motion-on .pa-stat:hover,html.pa-motion-on .pa-service:hover{scale:1;rotate:none;translate:none}html.pa-motion-on .pa-project.pa-in:hover img{scale:1!important}}
/* V3: precise cursor, composed entrances and independent portrait/quote choreography. */
.pa-motion-cursor{display:none!important}
@media(hover:hover) and (pointer:fine){
 html.pa-motion-on,html.pa-motion-on a,html.pa-motion-on button,html.pa-motion-on [role=button]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='30' viewBox='0 0 28 30'%3E%3Cpath d='M4 2v21l5-5 4 9 4-2-4-8h8Z' fill='%23191919' stroke='white' stroke-width='1.5' stroke-linejoin='round'/%3E%3Ccircle cx='22' cy='24' r='2.5' fill='%23ff2b16'/%3E%3C/svg%3E") 4 2,auto}
 html.pa-motion-on input,html.pa-motion-on textarea{cursor:text}
 html.pa-motion-on .pa-quote-card{transition:opacity .9s,translate 1.1s cubic-bezier(.16,1,.3,1),box-shadow .35s,scale .55s cubic-bezier(.16,1,.3,1)}
 html.pa-motion-on .pa-quote-card:hover{scale:1.012;box-shadow:0 16px 34px #0000000d;z-index:2}
 html.pa-motion-on .pa-portrait img{transition:scale .85s cubic-bezier(.16,1,.3,1),filter .55s}
 html.pa-motion-on .pa-person:hover .pa-portrait img{scale:1.055}
 html.pa-motion-on section[data-framer-name=Client] [data-framer-name=L]{transition:scale .5s cubic-bezier(.16,1,.3,1),opacity .4s}
 html.pa-motion-on section[data-framer-name=Client] [data-framer-name=L]:hover{scale:1.07}
}
html.pa-motion-on .pa-reveal[data-pa-direction=left]:not(.pa-in){translate:-28px 0}
html.pa-motion-on .pa-reveal[data-pa-direction=right]:not(.pa-in){translate:28px 0}
html.pa-motion-on .pa-reveal[data-pa-direction=down]:not(.pa-in){translate:0 -22px}
html.pa-motion-on .pa-reveal[data-pa-direction=up]:not(.pa-in){translate:0 26px}
html.pa-motion-on .pa-reveal[data-pa-kind=heading]{transition:opacity .65s,translate 1s cubic-bezier(.16,1,.3,1),clip-path 1s cubic-bezier(.16,1,.3,1)}
html.pa-motion-on .pa-reveal[data-pa-kind=heading]:not(.pa-in){clip-path:inset(0 0 100% 0)}
html.pa-motion-on .pa-reveal[data-pa-kind=quote-card]:not(.pa-in){translate:0 22px;scale:.985}
html.pa-motion-on .pa-reveal[data-pa-kind=quote-card][data-pa-direction=left]:not(.pa-in){translate:-24px 8px}
html.pa-motion-on .pa-reveal[data-pa-kind=quote-card][data-pa-direction=right]:not(.pa-in){translate:24px 8px}
html.pa-motion-on .pa-reveal[data-pa-kind=quote-card][data-pa-direction=down]:not(.pa-in){translate:0 -18px}
html.pa-motion-on .pa-reveal[data-pa-kind=quote-card].pa-in{scale:1}
html.pa-motion-on .pa-reveal[data-pa-kind=quote-text]:not(.pa-in){translate:0 12px;clip-path:inset(0 0 45% 0)}
html.pa-motion-on .pa-reveal[data-pa-kind=quote-text].pa-in{clip-path:inset(0 0 -10% 0)}
html.pa-motion-on .pa-reveal[data-pa-kind=quote-author]:not(.pa-in){translate:0 8px}
html.pa-motion-on .pa-reveal[data-pa-kind=caption]:not(.pa-in){translate:0 10px}
/* Large photographs fade in place; their framing no longer slides across the page. */
html.pa-motion-on .pa-image-reveal{transition:opacity 1.1s,clip-path 1.2s cubic-bezier(.65,0,.2,1);translate:none!important}
html.pa-motion-on .pa-image-reveal:not(.pa-in){clip-path:inset(3% 2% round 14px)}
html.pa-motion-on .pa-image-reveal.pa-in{clip-path:inset(0 round 0)}
@media(prefers-reduced-motion:reduce){html.pa-motion-on .pa-reveal:not(.pa-in){translate:none!important;scale:1!important;clip-path:none!important;opacity:1!important}html.pa-motion-on .pa-portrait img{scale:1!important}}

/* V4: projects fade once in place; pointer movement belongs to hover only. */
html.pa-motion-on .pa-project.pa-reveal:not(.pa-in),html.pa-motion-on .pa-project.pa-reveal.pa-in{translate:none;clip-path:none}
html.pa-motion-on .pa-project.pa-reveal{transition-delay:var(--pa-delay,0ms)}
@media(hover:hover) and (pointer:fine){
 html.pa-motion-on .pa-project.pa-in:hover{transition-delay:0ms}
 html.pa-motion-on .pa-quote-card,html.pa-motion-on .pa-stat{transform-style:preserve-3d;transition:rotate .6s cubic-bezier(.16,1,.3,1),scale .5s cubic-bezier(.16,1,.3,1),translate .6s cubic-bezier(.16,1,.3,1),opacity .85s,box-shadow .4s;transition-delay:var(--pa-delay,0ms)}
 html.pa-motion-on .pa-quote-card.pa-in:hover{scale:1.035;translate:0 -6px;rotate:var(--pa-tilt,0deg);box-shadow:0 18px 35px #00000014;z-index:3;transition-delay:0ms}
 html.pa-motion-on .pa-stat.pa-in:hover{scale:1.055;translate:0 -5px;rotate:var(--pa-tilt,0deg);z-index:2;transition-delay:0ms}
 html.pa-motion-on .pa-quote-card.pa-in:hover [data-framer-name="Body Text"]{transition:color .25s;color:#202020}
}
@media(prefers-reduced-motion:reduce){html.pa-motion-on .pa-quote-card.pa-in:hover,html.pa-motion-on .pa-stat.pa-in:hover{scale:1;translate:none;rotate:none}}

/* Footer links: replace underlines with a small lift and a quiet red highlight. */
html.pa-motion-on .pa-footer-link,html.pa-motion-on .pa-footer-row,html.pa-motion-on .pa-footer-link *,html.pa-motion-on .pa-footer-row *{text-decoration:none!important}
html.pa-motion-on .pa-footer-link{position:relative;display:inline-block;transition:translate .3s cubic-bezier(.16,1,.3,1),scale .3s cubic-bezier(.16,1,.3,1),color .2s}
html.pa-motion-on .pa-footer-link::after{content:'';position:absolute;inset:-6px -8px;background:#ff2b160d;border-radius:7px;opacity:0;scale:.92;transition:opacity .25s,scale .3s cubic-bezier(.16,1,.3,1);pointer-events:none}
html.pa-motion-on .pa-footer-row{transition:translate .35s cubic-bezier(.16,1,.3,1),color .2s}
html.pa-motion-on .pa-footer-social{transition:scale .3s cubic-bezier(.16,1,.3,1),rotate .35s cubic-bezier(.16,1,.3,1),box-shadow .3s}
@media(hover:hover) and (pointer:fine){
 html.pa-motion-on .pa-footer-link:hover{translate:0 -3px;scale:1.025;color:#e72b18!important}
 html.pa-motion-on .pa-footer-link:hover::after{opacity:1;scale:1}
 html.pa-motion-on .pa-footer-link:hover p,html.pa-motion-on .pa-footer-link:hover span{color:#e72b18!important}
 html.pa-motion-on .pa-footer-row:hover{translate:6px 0;color:#e72b18!important}
 html.pa-motion-on .pa-footer-social:hover{scale:1.12;rotate:-6deg;box-shadow:0 5px 16px #ff2b1626}
}
html.pa-motion-on .pa-footer-link:focus-visible{outline:2px solid #ff2b16;outline-offset:6px;border-radius:3px}
@media(prefers-reduced-motion:reduce){html.pa-motion-on .pa-footer-link:hover,html.pa-motion-on .pa-footer-row:hover,html.pa-motion-on .pa-footer-social:hover{translate:none;scale:1;rotate:none}}
/* Keep heading visibility independent of an empty clipping rectangle. */
html.pa-motion-on .pa-reveal[data-pa-kind=heading]:not(.pa-in),html.pa-motion-on .pa-reveal[data-pa-kind=heading].pa-in{clip-path:none}
@media(min-width:1000px){
 html.pa-motion-on section.framer-1rnx0ax{gap:28px;padding-bottom:72px}
 html.pa-motion-on section.framer-1rnx0ax .framer-z99k20{padding-top:12px;padding-bottom:0;gap:22px}
 html.pa-motion-on section.framer-1rnx0ax .framer-1ugf75f{gap:20px}
 html.pa-motion-on section.framer-1rnx0ax .framer-1118pnn{gap:16px}
}
/* Desktop FAQ draft: give the quiet left column a useful editorial introduction. */
.pa-faq-draft{display:none}
@media(min-width:1000px){
 html.pa-motion-on section[data-framer-name=FAQ] .framer-9wox8x{width:30%;max-width:380px;height:auto;flex:none;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:32px;padding-top:12px}
 html.pa-motion-on .pa-faq-draft{display:flex;flex-direction:column;align-items:flex-start;gap:26px;width:100%}
 html.pa-motion-on .pa-faq-draft h2{font:500 clamp(38px,3.4vw,58px)/1.07 'Inter Display',Inter,Arial,sans-serif;letter-spacing:-.05em;color:#171717;margin:0}
 html.pa-motion-on .pa-faq-draft h2 span{color:#ff2b16}
 html.pa-motion-on .pa-faq-draft p{font:400 16px/1.6 'Inter Display',Inter,Arial,sans-serif;color:#797979;max-width:320px;margin:0}
 html.pa-motion-on .pa-faq-contact{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:#f5f4f3;border-radius:50px;padding:14px 18px;color:#222;font:500 14px/1.2 'Inter Display',Inter,Arial,sans-serif;text-decoration:none!important;transition:background-color .25s,scale .3s cubic-bezier(.16,1,.3,1)}
 html.pa-motion-on .pa-faq-contact span{color:#ff2b16;font-size:22px;transition:translate .3s}
 html.pa-motion-on .pa-faq-contact:hover{background:#ffebe8;scale:1.025}
 html.pa-motion-on .pa-faq-contact:hover span{translate:2px -2px}
}

/* V5: portraits and captions enter together, in place, with no mask or movement. */
html.pa-motion-on .pa-person.pa-reveal{translate:none!important;clip-path:none!important;rotate:none!important;scale:1!important;transition:opacity .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--pa-delay,0ms)}
html.pa-motion-on .pa-person .pa-portrait{clip-path:none!important;translate:none!important;scale:1!important}
html.pa-motion-on .pa-person .pa-portrait img{scale:1;transition:scale .65s cubic-bezier(.16,1,.3,1)}
@media(hover:hover) and (pointer:fine){html.pa-motion-on .pa-person:hover .pa-portrait img{scale:1.045}}
@media(prefers-reduced-motion:reduce){html.pa-motion-on .pa-person:hover .pa-portrait img{scale:1!important}}
/* Keep the comparison switch clear of the portraits and project content. */
@media(min-width:1000px){
 #pa-motion-controls{top:94px;translate:0 0;width:164px;padding:8px;border-radius:12px}
 #pa-motion-controls .pa-motion-label,#pa-motion-controls .pa-motion-replay,#pa-motion-controls .pa-motion-state{display:none}
 #pa-motion-controls .pa-motion-options{grid-template-columns:1fr 1fr}
 #pa-motion-controls .pa-motion-options button{padding:11px 9px;justify-content:center;font-size:11px}
 #pa-motion-controls .pa-motion-options button span{display:none}
 #pa-motion-controls:hover .pa-motion-replay,#pa-motion-controls:focus-within .pa-motion-replay{display:flex}
}
/* V6: a small, consistent hover response across the visual content. */
@media(hover:hover) and (pointer:fine){
 html.pa-motion-on .pa-title-hover{transition:scale .45s cubic-bezier(.16,1,.3,1),color .3s,text-shadow .3s}
 html.pa-motion-on .pa-title-hover:hover{scale:1.018;--framer-text-color:#ff2b16!important;color:#ff2b16!important}
 html.pa-motion-on .pa-title-hover.pa-title-hero:hover{scale:1.008;--framer-text-color:white!important;color:white!important;text-shadow:0 4px 25px #ffffff25}
 html.pa-motion-on .pa-picture-frame{overflow:clip}
 html.pa-motion-on .pa-picture-hover{transition:scale .75s cubic-bezier(.16,1,.3,1),filter .45s}
 html.pa-motion-on .pa-picture-frame:hover > .pa-picture-hover{scale:1.045;filter:contrast(1.025)}
 html.pa-motion-on .pa-video-hover{transition:scale 1s cubic-bezier(.16,1,.3,1)}
 html.pa-motion-on .pa-video-hover:hover{scale:1.025}
 html.pa-motion-on .pa-copy-hover{transition:color .3s}
 html.pa-motion-on .pa-copy-hover:hover{color:#202020!important;--framer-text-color:#202020!important}
 html.pa-motion-on .pa-detail-hover{transform-origin:left center;transition:scale .35s cubic-bezier(.16,1,.3,1),filter .3s}
 html.pa-motion-on .pa-detail-hover:hover{scale:1.035;filter:saturate(1.25)}
 html.pa-motion-on .pa-logo-hover{transition:scale .35s cubic-bezier(.16,1,.3,1)}
 html.pa-motion-on .pa-logo-hover:hover{scale:1.08}
 html.pa-motion-on .pa-person p{transition:color .3s}
 html.pa-motion-on .pa-person:hover p:first-child{--framer-text-color:#e72b18}
}
@media(prefers-reduced-motion:reduce){html.pa-motion-on .pa-title-hover:hover,html.pa-motion-on .pa-picture-frame:hover>.pa-picture-hover,html.pa-motion-on .pa-video-hover:hover,html.pa-motion-on .pa-detail-hover:hover,html.pa-motion-on .pa-logo-hover:hover{scale:1!important}}
/* V7: actual logo tiles, local hover feedback, and simplified project controls. */
.pa-client-replacement{display:none}
html.pa-motion-on section[data-framer-name=Client]{height:auto!important;min-height:0;padding:32px 0 40px;background:#f5f5f3;overflow:hidden}
html.pa-motion-on section[data-framer-name=Client]>:not(.pa-client-replacement){display:none!important}
html.pa-motion-on .pa-client-replacement{display:block;width:100%;max-width:100%}
.pa-client-caption{display:flex;justify-content:space-between;align-items:center;padding:0 40px 28px;font:400 14px/1.5 'Inter Display',Inter,Arial,sans-serif;color:#222}
.pa-client-caption span{display:flex;align-items:center;gap:9px}.pa-client-caption i{width:6px;height:6px;background:#ff2b16;border-radius:50%}.pa-client-caption small{font-size:11px}
.pa-client-window{overflow:hidden;padding:4px 0 10px}
.pa-client-logo-track{display:flex;width:max-content;animation:pa-client-flow 44s linear infinite;will-change:transform}
.pa-client-logo-group{display:flex;gap:8px;padding-right:8px;flex:none}
.pa-client-logo-tile{width:240px;height:126px;flex:none;display:flex;align-items:center;justify-content:center;background:white;border-radius:18px;overflow:hidden;transition:box-shadow .3s}
.pa-client-logo-tile img{display:block;max-width:160px;max-height:62px;width:auto;height:auto;object-fit:contain;transition:scale .55s cubic-bezier(.16,1,.3,1)}
@keyframes pa-client-flow{to{transform:translateX(-50%)}}
html.pa-motion-on section[data-framer-name="Home projects"] .framer-mq8fd7{display:none!important}
html.pa-motion-on .pa-rating-star{transform-origin:center;will-change:auto}
html.pa-motion-on .pa-faq-row{position:relative}
html.pa-motion-on .pa-faq-row::after{content:'';position:absolute;left:30%;right:0;bottom:0;height:2px;background:#ff2b16;scale:0 1;transform-origin:left center;transition:scale .55s cubic-bezier(.16,1,.3,1);pointer-events:none}
html.pa-motion-on .pa-faq-row [data-framer-name=Plus]{transition:scale .3s,filter .3s}
html.pa-motion-on .pa-faq-row [data-framer-name=Plus] [data-framer-name=Line]{transition:background-color .25s,box-shadow .25s}
html.pa-motion-on .pa-stat [data-framer-name=Counter] p,html.pa-motion-on .pa-stat [data-framer-name=Counter] span{transition:color .3s}
@keyframes pa-rating-flash{0%,100%{scale:1;filter:brightness(1) drop-shadow(0 0 0 #ff2b1600)}35%{scale:1.2;filter:brightness(1.35) drop-shadow(0 0 6px #ff624d99)}65%{scale:1.06;filter:brightness(1.12) drop-shadow(0 0 2px #ff624d55)}}
@media(hover:hover) and (pointer:fine){
 html.pa-motion-on .pa-client-logo-tile:hover{box-shadow:inset 0 0 0 1px #dedede}
 html.pa-motion-on .pa-client-logo-tile:hover img{scale:1.075}
 html.pa-motion-on .pa-quote-card:hover .pa-rating-star{animation:pa-rating-flash .65s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--pa-star-delay,0ms)}
 html.pa-motion-on .pa-faq-hover:hover{translate:none;background-color:transparent}
 html.pa-motion-on .pa-faq-row:hover::after{scale:1 1}
 html.pa-motion-on .pa-faq-row:hover [data-framer-name=Plus]{scale:1.13;filter:drop-shadow(0 0 4px #ff2b1633)}
 html.pa-motion-on .pa-faq-row:hover [data-framer-name=Plus] [data-framer-name=Line]{background:#ff2b16!important;box-shadow:0 0 4px #ff2b1633}
 html.pa-motion-on .pa-stat:hover [data-framer-name=Counter],html.pa-motion-on .pa-stat:hover [data-framer-name=Counter] p,html.pa-motion-on .pa-stat:hover [data-framer-name=Counter] span{color:#ff2b16!important;--framer-text-color:#ff2b16!important}
}
@media(prefers-reduced-motion:reduce){.pa-client-logo-track{animation:none;will-change:auto}.pa-client-window{overflow:auto}.pa-client-logo-group[aria-hidden=true]{display:none}html.pa-motion-on .pa-quote-card:hover .pa-rating-star{animation:none;filter:brightness(1.15)}html.pa-motion-on .pa-faq-row::after{transition:none}html.pa-motion-on .pa-faq-row:hover [data-framer-name=Plus],html.pa-motion-on .pa-client-logo-tile:hover img{scale:1}}

/* FAQ typography revision: two balanced heading lines and two short paragraphs. */
@media(min-width:1000px){
 html.pa-motion-on .pa-faq-draft{gap:24px}
 html.pa-motion-on .pa-faq-draft h2{font-size:clamp(28px,2.65vw,40px);font-weight:500;line-height:1.14;letter-spacing:-.035em}
 html.pa-motion-on .pa-faq-draft h2 .pa-faq-title-line{display:block;white-space:nowrap;color:#191919}
 html.pa-motion-on .pa-faq-draft h2 .pa-faq-title-accent{color:#ff2b16}
 html.pa-motion-on .pa-faq-copy{display:flex;flex-direction:column;gap:10px;max-width:300px}
 html.pa-motion-on .pa-faq-draft .pa-faq-copy p{font-size:15px;line-height:1.65;color:#777;margin:0}
 html.pa-motion-on .pa-faq-contact{font-size:13px;padding:12px 16px;gap:24px}
 html.pa-motion-on .pa-faq-contact span{font-size:19px}
}
/* Preserve the original flex alignment of the footer contact CTA. */
html.pa-motion-on footer a[data-framer-name=Secondary]{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;white-space:nowrap}
/* Saved design variants remain accessible beside the before/after switch. */
#pa-motion-controls .pa-design-menu{margin-top:7px;border-top:1px solid #333;padding-top:7px}
#pa-motion-controls .pa-design-menu summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:7px 4px;color:#ddd;font-size:11px;cursor:pointer;user-select:none}
#pa-motion-controls .pa-design-menu summary::-webkit-details-marker{display:none}
#pa-motion-controls .pa-design-menu[open] summary span{rotate:180deg}
#pa-motion-controls .pa-design-menu nav{position:static;display:grid;gap:3px;padding-top:5px;height:auto;min-height:0;width:100%;background:transparent}
#pa-motion-controls .pa-design-menu a{display:flex;align-items:center;justify-content:space-between;border-radius:7px;background:#242424;color:#eee;padding:10px;font:500 11px/1.2 Inter,Arial,sans-serif;text-decoration:none;transition:background-color .2s}
#pa-motion-controls .pa-design-menu a:hover{background:#3a3a3a}
#pa-motion-controls .pa-design-menu a span{color:#999}
#pa-motion-controls .pa-design-menu a:focus-visible,#pa-motion-controls .pa-design-menu summary:focus-visible{outline:2px solid #ff2b16;outline-offset:2px}
/* Shared page treatment: images enter quietly, and all routes remain reachable. */
html.pa-motion-on .pa-image-reveal:not(.pa-in),html.pa-motion-on .pa-image-reveal.pa-in{clip-path:none;translate:none!important}
html.pa-motion-on .pa-image-reveal{transition:opacity .85s cubic-bezier(.16,1,.3,1)}
html.pa-motion-on .pa-title-hover{transition:scale .45s cubic-bezier(.16,1,.3,1),color .3s,text-shadow .3s,opacity .75s cubic-bezier(.16,1,.3,1),translate .9s cubic-bezier(.16,1,.3,1)}
#pa-motion-controls .pa-pages-menu nav{max-height:min(420px,55vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#555 #222}
#pa-motion-controls .pa-pages-menu a{font-size:10px;line-height:1.4;overflow-wrap:anywhere}
#pa-motion-controls .pa-menu-group{display:block;padding:9px 5px 4px;color:#999;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
html.pa-motion-on .pa-reveal[data-pa-kind=legal-copy],html.pa-motion-on .pa-reveal[data-pa-kind=feature]{translate:none!important;clip-path:none!important;transition:opacity .75s cubic-bezier(.16,1,.3,1);transition-delay:var(--pa-delay,0ms)}
html.pa-motion-on .pa-feature-card{overflow:clip}
html.pa-motion-on .pa-feature-card img{transition:scale .9s cubic-bezier(.16,1,.3,1)}
@media(hover:hover) and (pointer:fine){html.pa-motion-on .pa-feature-card:hover img{scale:1.035}html.pa-motion-on .pa-legal-heading:hover strong,html.pa-motion-on .pa-legal-heading:hover b{color:#ff2b16;transition:color .25s}}
@media(prefers-reduced-motion:reduce){html.pa-motion-on .pa-feature-card:hover img{scale:1!important}}
/* Linked headings inherit the title color in every interaction state. */
html.pa-motion-on .pa-title-hover a,
html.pa-motion-on .pa-title-hover a:link,
html.pa-motion-on .pa-title-hover a:visited,
html.pa-motion-on .pa-title-hover a:hover,
html.pa-motion-on .pa-title-hover a:active,
html.pa-motion-on .pa-title-hover a:focus{
 color:inherit!important;text-decoration:none!important;
 --framer-link-text-color:inherit;--framer-link-hover-text-color:inherit;
 --framer-link-text-decoration:none;--framer-link-hover-text-decoration:none;
}
html.pa-motion-on .pa-title-hero a,
html.pa-motion-on .pa-title-hero a:visited,
html.pa-motion-on .pa-title-hero a:hover,
html.pa-motion-on .pa-title-hero a:active{color:#fff!important}
html.pa-motion-on .pa-title-hover a:focus-visible{outline:2px solid currentColor;outline-offset:6px;border-radius:3px}
html.pa-motion-on a.pa-light-title-link,
html.pa-motion-on a.pa-light-title-link:link,
html.pa-motion-on a.pa-light-title-link:visited,
html.pa-motion-on a.pa-light-title-link:hover,
html.pa-motion-on a.pa-light-title-link:active,
html.pa-motion-on a.pa-light-title-link:focus{color:#fff!important;text-decoration:none!important;--framer-link-text-color:#fff;--framer-link-hover-text-color:#fff;--framer-link-text-decoration:none;--framer-link-hover-text-decoration:none}
/* Statistic rules belong to their parent cards, without separate reveal triggers. */
html.pa-motion-on .pa-stat [data-framer-name=Counter] [data-framer-name=Seperator]{opacity:1!important;scale:1!important;translate:none!important;height:1px;min-height:1px;width:100%;background:#e4e4e4!important;transition:none}
@font-face{font-family:"Penno Heavy";src:url('/_framer/assets/x8eJ5VkmPMHVhVbF0E8JYFJmwc.woff2') format('woff2');font-style:normal;font-weight:900;font-display:swap}
.pa-footer-wordmark{display:none}
html.pa-motion-on .pa-footer-brandrow{display:block!important;width:100%!important;height:auto!important;min-height:0}
html.pa-motion-on .pa-footer-brandrow>:not(.pa-footer-wordmark){display:none!important}
html.pa-motion-on .pa-footer-brandsection{height:auto!important;min-height:0;padding-top:24px;gap:30px}
html.pa-motion-on .pa-footer-wordmark{display:block;width:100%;padding:24px 0 28px;font:900 clamp(54px,11.3vw,220px)/1.05 "Penno Heavy","Inter Display",sans-serif;letter-spacing:-.04em;text-align:center;white-space:nowrap;color:#111;text-decoration:none!important;transition:color .3s}
@media(hover:hover) and (pointer:fine){html.pa-motion-on .pa-footer-wordmark:hover{color:#ff2b16}}
html.pa-motion-on section[data-framer-name=Hero]{border-radius:24px!important;overflow:clip}
html.pa-motion-on .pa-project{border-radius:24px!important;overflow:clip}
html.pa-motion-on .pa-project [data-framer-name=XL]{border-radius:24px!important}
html.pa-motion-on .pa-image-reveal:not(.pa-portrait){border-radius:24px!important;overflow:clip}
html.pa-motion-on .pa-picture-frame:not(.pa-portrait){border-radius:24px;overflow:clip}
html.pa-motion-on .pa-quote-card{border-radius:20px!important;overflow:clip}
html.pa-motion-on .pa-client-logo-tile{border-radius:20px}
html.pa-motion-on iframe,html.pa-motion-on .pa-video-hover{border-radius:24px}
html.pa-motion-on form input,html.pa-motion-on form textarea{border-radius:12px!important}
html.pa-motion-on form button{border-radius:14px!important}
html.pa-motion-on .pa-rounded-media{border-radius:24px!important;overflow:clip!important}
/* Keep the generous radii visible on the actual painted containers. */
html.pa-motion-on section[data-framer-name=Hero]{width:calc(100% - 24px)!important;margin-left:12px!important;margin-right:12px!important;border-radius:24px!important;overflow:hidden!important}
html.pa-motion-on .pa-feature-card{border-radius:24px!important;overflow:hidden!important}
html.pa-motion-on .pa-rounded-media{border-radius:24px!important;overflow:hidden!important}
html.pa-motion-on .pa-rounded-media>[data-framer-background-image-wrapper]{border-radius:inherit!important}
html.pa-motion-on .pa-rounded-field{border-radius:14px!important;overflow:hidden!important}
/* Apply radius to the outer crop, including zoomed divider images and footer banners. */
html.pa-motion-on .pa-rounded-media{border-radius:24px!important;overflow:hidden!important;clip-path:inset(0 round 24px)!important}
html.pa-motion-on [data-framer-name="Image"]:has([data-framer-name="Fill Your Image Here"]),
html.pa-motion-on footer .framer-eqk25u{border-radius:24px!important;overflow:hidden!important;clip-path:inset(0 round 24px)!important}
html.pa-motion-on [data-framer-name="Fill Your Image Here"]{border-radius:24px!important;overflow:hidden!important}
@media(max-width:600px){html.pa-motion-on .pa-rounded-media{border-radius:20px!important;clip-path:inset(0 round 20px)!important}}

/* Rounded section surfaces, including patterned backgrounds and their transitions. */
html.pa-motion-on .pa-section-surface{box-sizing:border-box!important;width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;margin:10px 12px!important;border-radius:24px!important;overflow:hidden!important;clip-path:inset(0 round 24px)!important;isolation:isolate}
html.pa-motion-on .pa-filled-surface{border-radius:24px!important}
html.pa-motion-on .pa-section-surface:before,html.pa-motion-on .pa-section-surface:after{border-radius:inherit!important}
@media(max-width:600px){html.pa-motion-on .pa-section-surface{width:calc(100% - 16px)!important;max-width:calc(100% - 16px)!important;margin:8px!important;border-radius:20px!important;clip-path:inset(0 round 20px)!important}html.pa-motion-on .pa-filled-surface{border-radius:20px!important}}

/* Keep full-section backdrops within their own place in the page. Pinned
   divider sections otherwise remain visible through every later rounded gap. */
html.pa-motion-on .pa-flow-surface{position:relative!important;top:auto!important;bottom:auto!important;inset-block:auto!important;z-index:auto!important}

html.pa-motion-on .pa-footer-email,html.pa-motion-on .pa-footer-email a{white-space:nowrap!important;font-size:clamp(20px,2.2vw,32px)!important;letter-spacing:-.055em!important;line-height:1.15!important}

/* Native Framer scroll transforms must not move entire rounded sections over later content. */
html.pa-motion-on .pa-section-surface{transform:none!important;translate:none!important;scale:1!important}
@media(hover:hover) and (pointer:fine){html.pa-motion-on,html.pa-motion-on *{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%20400%20400%22%3E%3Cpath%20d%3D%22M59%2043Q59%2035%2069%2040L116%2068Q121%2071%20121%2077V254L230%20198L175%20165Q169%20161%20169%20155V106Q169%2098%20179%20103L338%20195Q346%20200%20338%20205L69%20360Q59%20366%2059%20355Z%22%20fill%3D%22%23ff2b16%22%20stroke%3D%22white%22%20stroke-width%3D%223%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 5 3, auto!important}html.pa-motion-on input,html.pa-motion-on textarea,html.pa-motion-on [contenteditable=true]{cursor:text!important}}

/* Portraits use a single circular crop, including during image zoom. */
html.pa-motion-on .pa-person .pa-portrait{border-radius:50%!important;overflow:hidden!important;clip-path:circle(50%)!important}
html.pa-motion-on .pa-person .pa-portrait img{border-radius:50%!important}

/* Shared type scale: brand wordmarks keep their deliberately oversized treatment. */
html.pa-motion-on{--pa-title-size:clamp(40px,5vw,72px);--pa-section-size:clamp(34px,4vw,56px);--pa-subtitle-size:clamp(18px,1.7vw,22px);--pa-card-title-size:clamp(20px,1.8vw,26px)}
html.pa-motion-on :is(.pa-type-hero,.pa-type-section,.pa-type-subtitle,.pa-type-card){font-family:"Inter Display",Inter,Arial,sans-serif!important;font-weight:500!important;letter-spacing:-.035em!important;text-wrap:balance}
html.pa-motion-on .pa-type-hero{font-size:var(--pa-title-size)!important;line-height:1.06!important}
html.pa-motion-on .pa-type-section{font-size:var(--pa-section-size)!important;line-height:1.08!important}
html.pa-motion-on .pa-type-subtitle{font-size:var(--pa-subtitle-size)!important;line-height:1.4!important;font-weight:400!important;letter-spacing:-.015em!important}
html.pa-motion-on .pa-type-card{font-size:var(--pa-card-title-size)!important;line-height:1.2!important}
html.pa-motion-on :is(.pa-type-hero,.pa-type-section,.pa-type-subtitle,.pa-type-card)>:is(span,a,strong,em){font-size:inherit!important;line-height:inherit!important;font-family:inherit!important}
html.pa-motion-on .pa-type-description,html.pa-motion-on .pa-type-description p{font:400 16px/1.5 "Inter Display",Inter,Arial,sans-serif!important;letter-spacing:-.01em!important}
html.pa-motion-on .pa-type-person-name{font:600 20px/1.2 "Inter Display",Inter,Arial,sans-serif!important}
html.pa-motion-on .pa-type-person-role{font:400 14px/1.4 "Inter Display",Inter,Arial,sans-serif!important}
html.pa-motion-on footer .pa-footer-link{font-size:14px!important;white-space:nowrap!important}
html.pa-motion-on footer p:has(>.pa-footer-link){width:max-content!important;max-width:100%!important}

/* Keep review controls compact on phones; they must not cover half the page. */
@media(max-width:700px){
 #pa-motion-controls{display:grid!important;grid-template-columns:1fr 1fr;gap:4px;left:auto;right:10px;bottom:10px;top:auto!important;width:260px;max-width:calc(100% - 20px);padding:6px;translate:none;max-height:45vh;overflow:auto}
 #pa-motion-controls .pa-motion-label,#pa-motion-controls .pa-motion-state,#pa-motion-controls .pa-motion-replay{display:none!important}
 #pa-motion-controls .pa-motion-options{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:4px}
 #pa-motion-controls button{padding:8px;font-size:10px}
 #pa-motion-controls .pa-design-menu{margin:0;border:0;padding:0;min-width:0}
 #pa-motion-controls .pa-design-menu summary{padding:7px 6px;font-size:10px;white-space:nowrap}
 #pa-motion-controls .pa-design-menu nav{max-height:28vh}
}
/* Hover backgrounds stay within the actual footer link bounds. */
html.pa-motion-on .pa-footer-link::after{inset:0!important;border-radius:4px}


a.framer-3N97A,a.framer-3N97A:link,a.framer-3N97A:visited{color:#292929!important;-webkit-text-fill-color:#292929!important;text-decoration:none!important}
a.framer-3N97A svg{color:inherit!important}
a.framer-3N97A:hover,a.framer-3N97A:focus-visible{color:#ff2b16!important;-webkit-text-fill-color:#ff2b16!important}
/* Editorial cleanup in the review version. */
html.pa-motion-on .pa-editorial-remove{display:none!important}
html.pa-motion-on .pa-team-subtitle,html.pa-motion-on .pa-team-subtitle :is(strong,b,span){color:#707070!important;font-weight:400!important;font-size:inherit!important}
/* FAQ: give the full title room and keep pointer feedback stationary. */
@media(min-width:1000px){
 html.pa-motion-on section[data-framer-name="FAQ"]>[data-framer-name="Container"]{display:grid!important;grid-template-columns:minmax(0,46fr) minmax(0,54fr)!important;gap:clamp(56px,5vw,88px)!important;align-items:start!important}
 html.pa-motion-on section[data-framer-name="FAQ"] [data-framer-name="Heading"]{width:100%!important;min-width:0!important;max-width:none!important;overflow:visible!important;padding-right:12px;box-sizing:border-box}
 html.pa-motion-on section[data-framer-name="FAQ"] .framer-8ko5fc-container{width:100%!important;min-width:0!important;height:auto!important}
 html.pa-motion-on .pa-faq-draft{width:100%!important;min-width:0!important}
 html.pa-motion-on .pa-faq-draft h2{width:100%!important;box-sizing:border-box;padding-right:8px;overflow:visible!important}
 html.pa-motion-on .pa-faq-row [data-framer-name="Text Content"]>div{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;gap:20px!important;width:100%!important;min-width:0!important;align-items:start!important}
 html.pa-motion-on .pa-faq-row [data-framer-name="Serial Number"],html.pa-motion-on .pa-faq-row [data-framer-name="Question"][data-framer-component-type]{width:auto!important;min-width:0!important}
}
html.pa-motion-on .pa-faq-draft h2,html.pa-motion-on .pa-faq-draft h2:hover{scale:1!important;transform:none!important;translate:none!important;text-shadow:none!important}
html.pa-motion-on .pa-faq-contact,html.pa-motion-on .pa-faq-contact:hover{translate:none!important;transform:none!important;scale:1!important;transition:color .25s,background-color .25s,box-shadow .25s!important}
html.pa-motion-on .pa-faq-contact:hover{background:#ffede9;color:#e72b18;box-shadow:inset 0 0 0 1px #ffd5cc}
html.pa-motion-on .pa-faq-contact span,html.pa-motion-on .pa-faq-contact:hover span{translate:none!important;transform:none!important;scale:1!important}
/* The photo following FAQ is a panoramic frame rather than a full-height section. */
html.pa-motion-on .pa-faq-banner{aspect-ratio:21/9!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;position:relative!important}
html.pa-motion-on .pa-faq-banner>[data-framer-name="Image"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;transform:none!important}
html.pa-motion-on .pa-faq-banner [data-framer-name="Fill Your Image Here"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important}
html.pa-motion-on .pa-faq-banner img{object-fit:cover!important;object-position:50% 42%!important;translate:none!important;scale:1!important}
/* Consistent panoramic media frames on the campaign page. */
html.pa-motion-on :is(.pa-campaign-panorama,.pa-campaign-showreel){aspect-ratio:21/9!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;position:relative!important;transform:none!important;translate:none!important;scale:1!important}
html.pa-motion-on .pa-campaign-panorama>.framer-1gbbk8j{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important}
html.pa-motion-on .pa-campaign-panorama .framer-cho2as{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important}
html.pa-motion-on .pa-campaign-panorama img{object-fit:cover!important;object-position:50% 45%!important;translate:none!important;scale:1!important}
html.pa-motion-on .pa-campaign-showreel>[data-framer-name="Container"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;box-sizing:border-box}
html.pa-motion-on .pa-campaign-showreel>[data-framer-name="Bg video"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important;translate:none!important;scale:1!important}
html.pa-motion-on .pa-campaign-showreel video{object-fit:cover!important;transform:none!important;translate:none!important;scale:1!important}
html.pa-motion-on .pa-team-section{height:auto!important;display:flex!important;flex-direction:column!important}
html.pa-motion-on .pa-team-section-label{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;align-self:stretch;margin:0 40px 32px;padding-top:32px;border-top:1px solid #eee;color:#686868;font:400 14px/1.45 "Inter Display",sans-serif;letter-spacing:-.01em}
html.pa-motion-on .pa-team-section-label>span:first-child{display:flex;align-items:center;gap:12px}
html.pa-motion-on .pa-team-section-label>span:last-child{text-align:right;font-size:12px}
html.pa-motion-on .pa-team-section-label i{display:block;width:14px;height:14px;flex:none;border-radius:3px;background:#ff2b16}
/* A regular portrait grid: identical circles and shared text baselines. */
@media(min-width:1000px){
 html.pa-motion-on .pa-team-section .framer-1d70eq7{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:28px!important;align-items:start!important}
 html.pa-motion-on .pa-team-section .framer-1d70eq7>div{width:100%!important;height:auto!important;align-self:start!important}
 html.pa-motion-on .pa-team-section .pa-person{display:grid!important;grid-template-rows:auto 26px 42px!important;gap:16px!important;width:100%!important;height:auto!important;align-items:start!important;justify-items:center!important}
 html.pa-motion-on .pa-team-section .pa-person>div:first-child{width:min(100%,180px)!important;aspect-ratio:1!important;height:auto!important;min-height:0!important;max-height:none!important;position:relative!important;border-radius:50%!important;overflow:hidden!important;margin:0!important}
 html.pa-motion-on .pa-team-section .pa-person>div:not(:first-child){width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;align-self:start!important;justify-content:center!important}
 html.pa-motion-on .pa-team-section .pa-person .pa-portrait{inset:0!important;border-radius:50%!important}
 html.pa-motion-on .pa-team-section .pa-person img{object-fit:cover!important;width:100%!important;height:100%!important}
 html.pa-motion-on .pa-team-section .pa-person p{text-align:center!important;margin:0!important}
 html.pa-motion-on .pa-testimonial-intro-two-lines{width:min(100%,1100px)!important;max-width:none!important;text-align:center;line-height:1.6;text-wrap:balance}
 html.pa-motion-on .pa-testimonial-intro-two-lines p{display:inline!important;margin:0!important}
 html.pa-motion-on .pa-testimonial-intro-two-lines p:first-child::after{content:' '}
}
html.pa-motion-on .pa-all-projects{display:flex!important;align-items:center!important;justify-content:center!important;margin:32px auto!important;width:max-content!important;min-width:250px!important;max-width:100%!important;white-space:nowrap}
@media(min-width:1000px){
 html.pa-motion-on .pa-team-section .pa-person{--pa-team-diameter:clamp(136px,12vw,180px);grid-template-columns:minmax(0,1fr)!important;grid-template-rows:var(--pa-team-diameter) 26px 42px!important;justify-content:stretch!important}
 html.pa-motion-on .pa-team-section .pa-person>div:first-child{width:var(--pa-team-diameter)!important;height:var(--pa-team-diameter)!important;max-width:none!important}
}
html.pa-motion-on .pa-team-section .pa-person .pa-portrait img{scale:var(--pa-portrait-fill,1)!important}
@media(hover:hover){html.pa-motion-on .pa-team-section .pa-person:hover .pa-portrait img{scale:calc(var(--pa-portrait-fill,1)*1.045)!important}}
@media(min-width:1000px){
 html.pa-motion-on .pa-testimonial-intro-two-lines{display:block!important}
 html.pa-motion-on .framer-cyrll:has(>.pa-testimonial-intro-two-lines){width:100%!important;max-width:1000px!important}
}
/* The opening film fills the viewport; the film under Team is panoramic. */
html.pa-motion-on .pa-campaign-hero-full{height:100svh!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;position:relative!important}
html.pa-motion-on .pa-campaign-hero-full>[data-framer-name="Container"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;box-sizing:border-box}
html.pa-motion-on .pa-campaign-hero-full>[data-framer-name="Bg video"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important;translate:none!important;scale:1!important}
html.pa-motion-on section[data-framer-name="video"].pa-campaign-showreel>div,
html.pa-motion-on section[data-framer-name="video"].pa-campaign-showreel .framer-4lgiku-container{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;transform:none!important}
html.pa-motion-on section[data-framer-name="video"].pa-campaign-showreel video{object-fit:cover!important;width:100%!important;height:100%!important;border-radius:24px!important;scale:1!important;translate:none!important}
html.pa-motion-on a.pa-all-projects,html.pa-motion-on a.pa-all-projects:hover{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:18px!important;padding:6px 24px 6px 6px!important;box-sizing:border-box!important;height:60px!important;min-width:250px!important;overflow:visible!important;translate:none!important;transform:none!important;scale:1!important;border-radius:999px!important;background:#efeeed!important;text-decoration:none!important;transition:background-color .25s!important}
html.pa-motion-on a.pa-all-projects:hover{background:#e7e5e3!important}
html.pa-motion-on .pa-all-projects-icon{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 48px!important;width:48px!important;height:48px!important;border-radius:50%!important;background:#ff2b16!important;color:#fff!important;transform:none!important;translate:none!important}
html.pa-motion-on .pa-all-projects-icon svg{display:block;flex:none;width:22px;height:22px}
html.pa-motion-on .pa-all-projects-label{position:static!important;font:500 14px/1.3 "Inter Display",sans-serif!important;color:#1e1e1e!important;white-space:nowrap}

/* Match the soft focus entrance used on About throughout the campaign page. */
@media(prefers-reduced-motion:no-preference){
html.pa-motion-on .pa-reveal{transition:opacity .85s cubic-bezier(.16,1,.3,1),translate .95s cubic-bezier(.16,1,.3,1),filter .85s cubic-bezier(.16,1,.3,1)!important;transition-delay:var(--pa-delay,0ms)!important;clip-path:none!important}
html.pa-motion-on .pa-reveal:not(.pa-in){opacity:.12!important;translate:0 26px!important;filter:blur(4px)!important;clip-path:none!important}
html.pa-motion-on .pa-reveal.pa-in{opacity:1!important;translate:0 0!important;filter:blur(0px)!important;clip-path:none!important}
}
/* SSR variant wrappers must stretch inside the shared FAQ grid. */
html.pa-motion-on section[data-framer-name="FAQ"]>[data-framer-name="Container"]>.ssr-variant>div{width:100%!important;min-width:0!important;height:auto!important;flex:initial!important;justify-self:stretch!important}
html.pa-motion-on section[data-framer-name="FAQ"] .framer-udBRg,html.pa-motion-on section[data-framer-name="FAQ"] .framer-udBRg>div,html.pa-motion-on section[data-framer-name="FAQ"] .pa-faq-row{width:100%!important;min-width:0!important;height:auto!important}
html.pa-motion-on section[data-framer-name="FAQ"] .pa-faq-row>[data-framer-name="Question"]{width:100%!important;min-width:0!important;flex:1 1 auto!important}
html.pa-motion-on section[data-framer-name="FAQ"] .pa-faq-row [data-framer-name="Text Content"]{width:auto!important;min-width:0!important;flex:1 1 auto!important}

/* Leave room for five complete logos even between two slider positions. */
@media(max-width:700px){
.pa-client-window{container-type:inline-size}
.pa-client-logo-group{gap:4px;padding-right:4px}
html.pa-motion-on .pa-client-logo-tile{width:calc(100cqw / 6 - 4px);height:58px;border-radius:8px}
.pa-client-logo-tile img{max-width:88%;max-height:30px}
html.pa-motion-on .pa-client-logo-tile:hover{box-shadow:none}
html.pa-motion-on .pa-client-logo-tile:hover img{scale:1}
.pa-client-caption{padding:0 20px 14px;font-size:12px}
.pa-client-caption small{display:none}
}
