.sm-gate-host{position:relative}
.sm-gate-svg{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:2}
.sm-gate-svg ellipse{fill:none;stroke:#2c5f6e;stroke-width:1.1;opacity:0}
.sm-gate-host.sm-focus .sm-gate-svg ellipse{opacity:1;transition:stroke-dashoffset .55s ease}
.sm-gate-host.sm-focus .sm-gate-svg ellipse:nth-child(2){transition-delay:.12s}
.sm-gate-host.sm-error .sm-gate-svg ellipse{stroke:#a8722a}
.sm-gate-host.sm-error input[type="password"]{animation:smShake .3s ease}
@keyframes smShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.work-hub__chip{position:relative}
.work-hub__chip::after{content:'';position:absolute;inset:-1px;border-radius:inherit;border:1px dashed transparent;pointer-events:none;transition:border-color .25s}
@media (hover:hover){
 .work-hub__chip:not(.is-active):hover::after{border-color:#a8722a;animation:smAnts 1.4s linear infinite}
}
.work-hub__chip.is-active::after{border:1px solid #2c5f6e}
@keyframes smAnts{to{transform:rotate(.001deg)}}
@supports (mask: linear-gradient(#000,#000)) {
 .work-hub__chip:not(.is-active):hover::after{border-style:dashed}
}
[data-sm-count]{font-variant-numeric:tabular-nums}
[data-sm-rule]{position:relative;border:0!important;height:1.5px;background:transparent}
[data-sm-rule] svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;display:block}
[data-sm-rule] line{stroke:rgba(26,26,26,.35);stroke-width:1.5}
@media (prefers-reduced-motion: reduce){
 .sm-gate-svg ellipse{transition:none!important;stroke-dashoffset:0!important}
 .sm-gate-host.sm-error input[type="password"]{animation:none}
 .work-hub__chip:hover::after{animation:none}
}
.studio-contact-form input[type="text"]:not([tabindex="-1"]),
.studio-contact-form input[type="email"],
.studio-contact-form textarea,
.studio-contact-form select{position:relative;transition:border-color .3s}
.sm-fld{position:relative;display:block}
.sm-fld::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1.5px;background:#2c5f6e;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.4,0,.2,1);pointer-events:none}
.sm-fld.sm-focus::after{transform:scaleX(1)}
.studio-contact-form__submit{position:relative}
.studio-contact-form__submit .sm-tick{width:14px;height:14px;margin-left:.45rem;vertical-align:-2px}
.studio-contact-form__submit .sm-tick path{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1}
.studio-contact-form__submit.sm-sent .sm-tick path{transition:stroke-dashoffset .4s ease .1s;stroke-dashoffset:0}
@media (prefers-reduced-motion: reduce){.sm-fld::after{transition:none}.studio-contact-form__submit.sm-sent .sm-tick path{transition:none;stroke-dashoffset:0}}
.sm-fld input,.sm-fld textarea{padding-right:2rem}
.sm-fld .sm-v{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);width:14px;height:14px;pointer-events:none}
.sm-fld--area .sm-v{top:1.15rem;transform:none}
.sm-fld .sm-v path{fill:none;stroke:#2c5f6e;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1}
.sm-fld.sm-valid .sm-v path{transition:stroke-dashoffset .35s ease;stroke-dashoffset:0}
.sm-fld.sm-invalid::after{background:#a8722a;transform:scaleX(1)}
.sm-fld.sm-invalid input,.sm-fld.sm-invalid textarea{animation:smShake .3s ease}
.sm-err{font-size:.78rem;color:#a8722a;margin:.3rem 0 0;min-height:1em;opacity:0;transform:translateY(-3px);transition:opacity .25s,transform .25s}
.sm-err.on{opacity:1;transform:none}
.sm-count{position:absolute;right:.2rem;bottom:-1.25rem;font-family:ui-monospace,monospace;font-size:.66rem;letter-spacing:.08em;color:#6b6560;transition:color .3s}
.sm-count.warm{color:#a8722a}
.studio-contact-form__submit .sm-spin{display:none;width:13px;height:13px;margin-left:.45rem;vertical-align:-2px;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:smSpin .7s linear infinite}
.studio-contact-form__submit.sm-sending .sm-spin{display:inline-block}
.studio-contact-form__submit.sm-sending .sm-tick,.studio-contact-form__submit.sm-sent .sm-spin{display:none}
@keyframes smSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.sm-fld.sm-invalid input,.sm-fld.sm-invalid textarea{animation:none}.studio-contact-form__submit .sm-spin{animation:none}}
.sm-bg-drift{position:relative;isolation:isolate}
.sm-bg-drift .sm-bgc{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
@media (hover:hover) and (pointer:fine){
	.work-engagement-card,.sm-lift{transition:transform .28s cubic-bezier(.22,.9,.3,1),box-shadow .28s ease}
	.work-engagement-card:hover,.sm-lift:hover{transform:perspective(900px) rotateX(var(--smty,0deg)) rotateY(var(--smtx,0deg)) translateY(-3px);box-shadow:0 14px 34px -22px rgba(14,26,31,.45)}
}
.about-pullquote,.case-pullquote,.gr-pullquote{position:relative}
.sm-pq{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.9,.3,1)}
.sm-pq::before{content:'';position:absolute;top:0;left:0;width:56px;height:2px;background:var(--studio-teal,#2c5f6e);transform:scaleX(0);transform-origin:left;transition:transform .5s ease .35s}
.sm-pq.sm-in{opacity:1;transform:none}
.sm-pq.sm-in::before{transform:scaleX(1)}
.sm-chips .work-hub__chip{opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease;transition-delay:var(--smd,0s)}
.sm-chips.sm-in .work-hub__chip{opacity:1;transform:none}
.site-footer .sm-const{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.site-footer__inner{position:relative;z-index:1}

@media (prefers-reduced-motion: reduce){
	.sm-pq,.sm-chips .work-hub__chip{opacity:1;transform:none;transition:none}
	.sm-pq::before{transform:scaleX(1);transition:none}
	.work-engagement-card:hover,.sm-lift:hover{transform:none}
}
