.contact-trap{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-privacy{display:flex;align-items:flex-start;gap:12px;margin-top:26px;font-size:14px;line-height:1.6;max-width:800px;cursor:pointer}
.contact-privacy input{flex:0 0 auto;width:19px;height:19px;margin:3px 0 0;accent-color:#171918}
.contact-privacy a,.contact-security a,.contact-alternative a{text-decoration:underline;text-underline-offset:3px}
.contact-privacy input:focus-visible,.contact-security button:focus-visible{outline:2px solid #171918;outline-offset:3px}
.contact-security{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;margin-top:24px}
#contact-challenge{min-width:0;max-width:100%}
.contact-security p{font-size:12px;line-height:1.6;max-width:420px;margin:0 0 5px}
.contact-security button{font:inherit;font-size:12px;color:inherit;cursor:pointer;border:0;border-bottom:1px solid currentColor;padding:2px 0;background:transparent}
.contact-security button:disabled{opacity:.5;cursor:wait}
.form-bottom #contact-status{font-size:14px;max-width:620px;color:#171918}
#contact-status.is-error{font-weight:700}
.contact-alternative{font-size:13px;line-height:1.6;margin:18px 0 0;overflow-wrap:anywhere}
@media(max-width:640px){.contact-privacy{font-size:13px}.contact-security{display:block}.contact-security>div+div{margin-top:14px}.form-bottom #contact-status{font-size:13px}}
.contact-scene:before{transition:clip-path .85s cubic-bezier(.76,0,.24,1),background-color .55s ease}
.contact-result[hidden],.contact-new-message[hidden]{display:none!important}
.contact-result{margin:0 0 32px;padding:26px;border:2px solid currentColor;scroll-margin:30px}
.contact-result-icon{display:grid;place-items:center;width:52px;height:52px;border:2px solid currentColor;border-radius:50%;font:700 30px/1 Arial,sans-serif;margin-bottom:24px}
.contact-result-eyebrow{font-size:13px;font-weight:700;margin:0 0 18px}
#contact-result-title{font-family:var(--display);font-weight:800;font-size:clamp(38px,5vw,76px);line-height:.98;letter-spacing:-.02em;max-width:900px;margin:0 0 24px;overflow-wrap:normal}
#contact-result-title:focus{outline:none}
.contact-result-message{max-width:700px;font-size:clamp(17px,1.8vw,24px);line-height:1.5;margin:0}
.contact-scene.contact-success:before{background:#171918}
.contact-success .contact-form-panel{color:#efefea;box-shadow:inset 0 0 0 1px #d2ff0060}
.contact-success .form-heading,.contact-success #project-form>:not(.contact-result){display:none!important}
.contact-success .contact-result{border:0;padding:clamp(24px,4vw,64px) 0;margin:0;min-height:450px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;animation:contact-result-in .5s ease both}
.contact-success .contact-result-icon{background:#d2ff00;color:#171918;border-color:#d2ff00;width:72px;height:72px;font-size:40px}
.contact-success #contact-result-title{color:#d2ff00;font-size:clamp(56px,7.4vw,112px);max-width:1000px;padding-right:32px}
.contact-success .close-contact{color:#efefea;border-color:#efefea80}
.contact-success .close-contact:hover{color:#171918;background:#d2ff00;border-color:#d2ff00}
.contact-new-message{display:flex;align-items:center;gap:35px;background:transparent;border:1px solid #efefea80;border-radius:999px;color:#efefea;padding:16px 24px;font:600 14px/1.4 var(--body,Manrope,sans-serif);cursor:pointer;margin-top:35px;transition:color .2s,background .2s}
.contact-new-message:hover{background:#d2ff00;color:#171918;border-color:#d2ff00}
.contact-new-message:focus-visible,.contact-success .close-contact:focus-visible{outline:2px solid #d2ff00;outline-offset:4px}
.contact-scene.contact-error:before{background:#ffb497}
.contact-error .contact-result{background:#171918;color:#efefea;border-color:#171918;animation:contact-result-in .35s ease both}
.contact-error .contact-result-icon,.contact-error #contact-result-title{color:#ffb497}
@keyframes contact-result-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.contact-result{padding:22px 18px}.contact-success .contact-result{min-height:420px;padding:40px 0 20px}.contact-success #contact-result-title{font-size:clamp(40px,10.5vw,65px);padding-right:0}.contact-result-message{font-size:17px}.contact-new-message{gap:14px;padding:14px 18px;font-size:13px}.contact-error #contact-result-title{font-size:clamp(32px,9vw,50px)}}
@media(prefers-reduced-motion:reduce){.contact-scene:before{transition:none}.contact-success .contact-result,.contact-error .contact-result{animation:none}}
