/* Shared submit animation: the reference's line → loop → fill, in the site's palette. */
:is(#contact-form,[data-submit-motion]) .submit-motion-stage{--submit-accent:var(--teal,#08757e);--submit-mint:#bfe8dd;--submit-ink:#143d3a;position:relative;display:grid;grid-column:1/-1;place-items:center;width:100%;height:var(--submit-height,64px);margin-top:7px;isolation:isolate}
:is(#contact-form,[data-submit-motion]) .submit-motion-stage>.submit-motion-button{position:relative;z-index:1;justify-self:center;min-width:0;width:var(--submit-compact,230px);max-width:100%;height:var(--submit-height,64px);margin:0;padding:15px 24px;border:1px solid var(--submit-accent);border-radius:999px;background:var(--submit-accent)!important;color:#fff!important;opacity:1;transition:width .5s cubic-bezier(.22,1,.36,1),background .25s,color .15s,box-shadow .25s;box-shadow:0 3px 10px #08757e0a}
:is(#contact-form,[data-submit-motion]) .submit-motion-stage>.submit-motion-button:hover{filter:brightness(.94)}
:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-state=pending]>.submit-motion-button,:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-state=finishing]>.submit-motion-button,:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-state=success]>.submit-motion-button{width:100%;background:#fff!important;color:transparent!important;border-color:#94bbb7;transform:none;filter:none}
:is(#contact-form,[data-submit-motion]) .submit-motion-stage>.submit-motion-button:disabled{cursor:wait;opacity:1}
:is(#contact-form,[data-submit-motion]) .submit-motion-visual{position:absolute;z-index:2;inset:0;overflow:hidden;border-radius:999px;pointer-events:none;opacity:0}
:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-state=pending] .submit-motion-visual,:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-state=finishing] .submit-motion-visual,:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-state=success] .submit-motion-visual{opacity:1}
:is(#contact-form,[data-submit-motion]) .submit-motion-visual svg{position:absolute;inset:0;width:100%;height:var(--submit-height,64px);overflow:visible;fill:none;stroke:var(--submit-accent);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
:is(#contact-form,[data-submit-motion]) .submit-motion-fill{position:absolute;inset:0;border:1px solid var(--submit-accent);border-radius:inherit;background:var(--submit-mint);transform:translateY(100%)}
:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-fill=true] .submit-motion-fill{transform:translateY(0);transition:transform .5s cubic-bezier(.22,1,.36,1)}
:is(#contact-form,[data-submit-motion]) .submit-motion-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--submit-ink);font-size:14px;font-weight:700;opacity:0;transform:translateY(7px);transition:opacity .2s,transform .3s}
:is(#contact-form,[data-submit-motion]) .submit-motion-label:before{content:"";width:7px;height:12px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-right:3px;margin-top:-4px}
:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-state=success] .submit-motion-label{opacity:1;transform:translateY(0)}
:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-state=success] svg{opacity:0}
:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-state=success]>.submit-motion-button{cursor:default}
@media(prefers-reduced-motion:reduce){:is(#contact-form,[data-submit-motion]) .submit-motion-stage *,:is(#contact-form,[data-submit-motion]) .submit-motion-stage *:before{transition:none!important;animation:none!important}:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-state=pending]>.submit-motion-button{color:var(--submit-accent)!important}:is(#contact-form,[data-submit-motion]) .submit-motion-stage[data-state=pending] svg{display:none}}
@media(forced-colors:active){:is(#contact-form,[data-submit-motion]) .submit-motion-stage .submit-motion-visual{display:none}:is(#contact-form,[data-submit-motion]) .submit-motion-stage>.submit-motion-button{color:ButtonText!important;background:ButtonFace!important;border-color:ButtonText!important}}

[data-submit-motion] .submit-motion-stage{min-width:0;max-width:100%;flex-shrink:1}
[data-submit-motion] .submit-motion-button{font-family:inherit!important;white-space:normal!important;line-height:1.3!important;font-size:14px!important}
[data-submit-motion] .submit-motion-inline{flex:0 1 auto;grid-column:auto;margin:0}
[data-submit-motion] .submit-motion-inline>.submit-motion-button{width:100%}
[data-submit-motion] .submit-motion-status{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
[data-submit-motion] .submit-native-status{grid-column:1/-1;font:inherit;font-size:13px;margin:12px 0 0;color:inherit}
