/* Contact: form controls and a self-contained send-button sequence. */
.contact.contact-form-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:9%;padding-block:110px;background:#422b5d}
.contact-intro{position:sticky;top:155px;padding-top:10px}.contact-intro>.micro{margin-bottom:40px}.contact-intro h2{font-size:clamp(80px,9.5vw,145px)!important;padding-left:.08em;line-height:.88}.contact-intro>p{margin-top:42px;font-size:15px;max-width:300px;line-height:1.8}.contact-intro .contact-address{display:inline-block;margin-top:16px;font-size:12px;letter-spacing:.08em;border-bottom:1px solid #ffffff50;padding-bottom:7px}
.contact-form{min-width:0;padding-top:6px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px}.contact-field{display:flex;min-width:0;flex-direction:column;gap:12px}.contact-field--wide{grid-column:1/-1}.contact-field label{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.contact-field input,.contact-field textarea{font:16px/1.6 Objective,Arial,sans-serif;color:var(--white);background:#100d171a;border:0;border-bottom:1px solid #ffffff60;border-radius:0;outline:0;width:100%;padding:12px 10px;transition:background .2s,border-color .2s;box-shadow:none}.contact-field textarea{resize:vertical;min-height:130px;max-height:500px}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#ffffff65}.contact-field :is(input,textarea):hover{border-bottom-color:var(--pink)}.contact-field :is(input,textarea):focus-visible{background:#100d173d;border-bottom:2px solid var(--pink);padding-bottom:11px}.contact-field [aria-invalid=true]{border-bottom-color:#ffb7d7}.field-error{font:11px/1.6 Objective,Arial;color:#ffd2e6;min-height:0}.field-error:empty{display:none}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-actions{margin-top:32px}.send-button{--send-ink:#160f20;appearance:none;border:0;border-radius:5px;isolation:isolate;position:relative;overflow:hidden;background:var(--pink);color:var(--send-ink);width:100%;height:94px;padding:0 30px;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.send-button:focus-visible{outline:2px solid var(--white);outline-offset:6px}.send-button:active:not(:disabled){transform:scale(.985)}.send-button:disabled{cursor:default}.send-button__wipe{position:absolute;z-index:2;inset:-70% -15%;border-radius:42%;background:var(--send-ink);transform:translateX(-110%);pointer-events:none}.send-button__normal{position:absolute;z-index:1;inset:0 30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.send-button__words{position:relative;height:1.08em;overflow:hidden;display:block;font:42px/1 Wesley,Impact,sans-serif;text-transform:lowercase;letter-spacing:-.015em}.send-button__row{display:flex}.send-button__row--hover{position:absolute;inset:0}.send-button__row>span{display:inline-block;transition:transform .6s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i)*24ms)}.send-button__row--hover>span{transform:translateY(120%) rotate(9deg)}.send-button__plane{position:relative;display:block;width:40px;height:40px;flex-shrink:0;transition:transform .65s cubic-bezier(.22,1,.36,1)}.send-button__plane:before,.send-button__plane:after{content:'';position:absolute;inset:0;background:currentColor;mask:url('send-icon_horizontal.svg') center/contain no-repeat;-webkit-mask:url('send-icon_horizontal.svg') center/contain no-repeat;transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .5s}.send-button__plane:after{transform:translateX(-55px);opacity:0}
@media(hover:hover){.send-button:not(:disabled):hover .send-button__row--default>span{transform:translateY(-120%) rotate(-9deg)}.send-button:not(:disabled):hover .send-button__row--hover>span{transform:translateY(0) rotate(0)}.send-button:not(:disabled):hover .send-button__plane:before{transform:translateX(55px);opacity:0}.send-button:not(:disabled):hover .send-button__plane:after{transform:translateX(0);opacity:1}}
.send-button:focus-visible:not(:disabled) .send-button__row--default>span{transform:translateY(-120%)}.send-button:focus-visible:not(:disabled) .send-button__row--hover>span{transform:translateY(0)}
.send-button__success{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--pink);font:46px/1 Wesley,Impact,sans-serif;text-transform:lowercase;pointer-events:none}.send-button__success>span{display:inline-block;transform:translateY(115px);opacity:0}.send-button__pending{position:absolute;z-index:1;left:30px;bottom:9px;opacity:0;font:8px/1.4 Objective,Arial;letter-spacing:.17em;text-transform:uppercase}.send-button.is-launching .send-button__plane{animation:plane-depart .52s cubic-bezier(.4,0,.8,.5) forwards}.send-button.is-launching .send-button__plane:before{opacity:1;transform:none}.send-button.is-launching .send-button__plane:after{opacity:0}.send-button.is-launching .send-button__pending{opacity:1}.send-button.is-filling .send-button__wipe{transform:translateX(0);border-radius:0;transition:transform .7s cubic-bezier(.7,0,.2,1),border-radius .7s}.send-button.is-sent .send-button__success>span{animation:sent-bounce .72s both;animation-delay:calc(var(--i)*65ms)}.send-button.is-sent .send-button__normal{visibility:hidden}.send-button.is-sent .send-button__pending{opacity:0}.send-button.is-error{box-shadow:inset 0 0 0 2px #ffd2e6}
@keyframes plane-depart{0%{transform:translateX(0) rotate(0)}20%{transform:translateX(-9px)}100%{transform:translateX(170px)}}
@keyframes sent-bounce{0%{transform:translateY(115px) rotate(8deg);opacity:0}45%{transform:translateY(-12px) rotate(-4deg);opacity:1}68%{transform:translateY(5px) rotate(2deg);opacity:1}85%{transform:translateY(-3px) rotate(0);opacity:1}100%{transform:translateY(0);opacity:1}}
.contact-form .contact-feedback{font-size:12px;line-height:1.7;max-width:none;min-height:21px;margin:17px 0 0}.contact-form .contact-feedback.is-error{color:#ffd2e6}.contact-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}.contact-preview[hidden]{display:none}.contact-preview span{font:9px/1.5 Objective,Arial;letter-spacing:.1em;text-transform:uppercase;color:#e0cfe9}.contact-preview button,.contact-again{padding:6px 0;background:none;border:0;border-bottom:1px solid #ffffff50;color:var(--white);font:11px/1.5 Objective,Arial;cursor:pointer}.contact-preview button:hover,.contact-again:hover{color:var(--pink);border-color:var(--pink)}.contact-again{margin-top:14px}.contact-again[hidden]{display:none}.contact-form .contact-smallprint{font-size:10px;max-width:none;opacity:.65;margin-top:20px}.contact-form [hidden]{display:none!important}
@media(max-width:800px){.contact.contact-form-section{grid-template-columns:1fr;gap:48px;padding-block:70px}.contact-intro{position:static}.contact-intro>.micro{margin-bottom:30px}.contact-intro h2{font-size:clamp(80px,17vw,125px)!important}.contact-intro>p{margin-top:28px;max-width:420px}.contact-intro .contact-address{margin-top:5px}.send-button{height:88px}}
@media(max-width:420px){.contact-fields{grid-template-columns:1fr;gap:25px}.contact-field--wide{grid-column:auto}.send-button{height:84px;padding-inline:24px}.send-button__normal{inset-inline:24px}.send-button__words{font-size:39px}.send-button__plane{width:35px;height:35px}.contact-preview{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.contact-form *,.contact-form *:before,.contact-form *:after{animation:none!important;transition:none!important}.send-button.is-launching .send-button__plane{opacity:0}.send-button.is-sent .send-button__success>span{transform:none;opacity:1}.send-button:active{transform:none}}

.contact-intro{position:static;top:auto}

/* V7.19: compact on desktop and mobile, straight horizontal flight. */
.contact-form .send-button{width:194px;max-width:100%;height:58px;padding:0 20px}.send-button__normal{inset-inline:20px;gap:24px}.send-button__words{font-size:31px}.send-button__plane{width:28px;height:28px}.send-button__success{font-size:33px}.send-button__pending{left:20px;bottom:4px;font-size:6px}.contact-preview{justify-content:flex-start;flex-wrap:wrap;gap:10px 18px}.contact-preview button:disabled{opacity:.5;cursor:wait}

/* V7.20: original punctuation, larger angled confirmation, arrow-front wipe. */
.send-button__wipe{inset:0 auto 0 -30px;width:calc(100% + 88px);height:100%;border-radius:0;clip-path:polygon(0 0,calc(100% - 58px) 0,100% 50%,calc(100% - 58px) 100%,0 100%,20px 50%);transform:translateX(-110%)}
.send-button.is-filling .send-button__wipe{border-radius:0;transition:transform .7s cubic-bezier(.7,0,.2,1)}
.send-button__success{font-size:74px;overflow:visible}.send-button__success>.sent-word{display:flex;align-items:center;gap:0;line-height:1;opacity:1;transform:translateY(2px) skewX(-13deg);animation:none!important}.sent-word>.sent-letter{display:inline-block;opacity:0;transform:translateY(90px)}.send-button.is-sent .sent-word>.sent-letter{animation:sent-bounce .72s both;animation-delay:calc(var(--i)*65ms)}.sent-word>.sent-punctuation{position:relative;top:-2px;width:6.75px;height:44px;margin-left:3px;overflow:hidden;flex:none}.sent-punctuation>img{display:block;width:6.75px;height:50.78px;max-width:none}.send-button.is-sent .send-button__success>.sent-word{animation:none!important}
@media(prefers-reduced-motion:reduce){.send-button.is-sent .sent-word>.sent-letter{animation:none!important;opacity:1;transform:none}}
