:root{--icon-duration:200ms;--icon-ease:cubic-bezier(.23,1,.32,1)}
motion-icon{display:inline-flex;width:1.25em;height:1.25em;flex-shrink:0;vertical-align:middle;line-height:1;color:inherit}
motion-icon svg,.block motion-icon svg,.tab-icon motion-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transition:transform var(--icon-duration) var(--icon-ease),opacity var(--icon-duration) var(--icon-ease)}
motion-icon path,.block motion-icon path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset var(--icon-duration) var(--icon-ease)}
.tab-icon motion-icon{width:30px;height:30px}.cube-face motion-icon,.peek-symbol motion-icon{width:62%;height:62%}.peek-symbol motion-icon{width:100%;height:100%}.cube-face{display:flex;align-items:center;justify-content:center}.peek-symbol{display:flex;align-items:center;justify-content:center}
.scribble motion-icon,.hand-heart motion-icon,.location-icon motion-icon,.principle-icon motion-icon,.smile motion-icon{width:1em;height:1em}
.button motion-icon,.text-link motion-icon{width:22px;height:22px}.service-tabs button>motion-icon{margin-left:auto;width:20px;height:20px}
motion-icon[state=active] svg{transform:translateY(-2px) rotate(-5deg)}
motion-icon[state=success] path{animation:icon-draw var(--icon-duration) var(--icon-ease)}
motion-icon[state=error] svg{animation:icon-error var(--icon-duration) var(--icon-ease)}
motion-icon[state=loading] svg{animation:icon-spin 900ms linear infinite}
@media(hover:hover) and (pointer:fine){:is(a,button,summary,article):hover motion-icon svg,motion-icon:hover svg{transform:translateY(-2px) rotate(-5deg)}:is(a,button,summary):hover motion-icon path{stroke-dashoffset:.06}}
:is(a,button,summary):active motion-icon svg{transform:scale(.9)}
.email-contact{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}.email-contact a{overflow-wrap:anywhere}.email-copy{display:inline-flex;align-items:center;gap:8px;border:1px solid #c7cec1;background:transparent;color:inherit;padding:10px 14px;border-radius:8px;cursor:pointer;font:inherit}.email-status{min-height:1.5em;font-size:14px}.footer-main{flex-wrap:wrap;gap:20px}
#service-list li{display:flex;gap:10px;align-items:center}#service-list li::before{display:none}
@keyframes icon-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes icon-spin{to{transform:rotate(360deg)}}@keyframes icon-error{25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}
@media(prefers-reduced-motion:reduce){motion-icon svg,motion-icon path,.block motion-icon svg{animation:none!important;transition:none!important;transform:none!important;stroke-dashoffset:0!important}}
.cube-face{color:#fff}.service-art .bubble.one>motion-icon{width:90px;height:90px}.email-copy:disabled{cursor:wait}
