/* Shared form only: layout outside this component belongs to each page. */
.contact-form{position:relative;isolation:isolate;min-width:0;align-self:start;box-sizing:border-box;padding:28px;border:1px solid #b9d9d439;border-radius:18px;background:linear-gradient(135deg,#2b3d37d9,#1c2e2bd9);backdrop-filter:blur(16px);box-shadow:inset 0 1px #fff08,0 25px 70px #0002}
.contact-form[hidden]{display:none!important}
.contact-form .form-heading{font-size:23px!important;font-weight:450;letter-spacing:-.7px;color:#e1ebdc!important;margin:0 0 26px!important;line-height:1.2!important}
.contact-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-form label{display:flex;flex-direction:column;gap:10px;font-size:10px;color:#adbdac;margin-bottom:21px;line-height:1.5;min-width:0}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #aac6b72c;border-radius:8px;background:#0f20196b;color:#e5ecdc;padding:12px 13px;outline:none;transition:border-color .25s,background .25s;font:12px/1.6 Portfolio,Arial,sans-serif}
.contact-form textarea{resize:vertical;min-height:125px;max-height:350px}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#acd1ca8c;background:#142922}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#718a79;font-size:11px}
.contact-form select option{color:#d8e6d4;background:#20342a}
.contact-form .form-trap{position:absolute;width:1px;height:1px;overflow:hidden;left:-10000px;top:0;pointer-events:none}
.contact-form .form-submit-row{display:flex;align-items:center;gap:17px;justify-content:space-between}
.contact-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 17px;border:1px solid #c9e78f;border-radius:10px;background:#c9e78f;color:#1e2514;font:500 11px/1.5 Portfolio,Arial,sans-serif;min-height:45px;cursor:pointer;flex-shrink:0}
.contact-form button[type=submit]:focus-visible{outline:2px solid #e0f2bb;outline-offset:4px}
.contact-form button:disabled{opacity:.6;cursor:wait;transform:none}
.contact-form .form-privacy{font-size:9px;line-height:1.7;color:#8ca38a;max-width:130px}
.contact-form .form-status{font-size:10px!important;line-height:1.8!important;min-height:36px;margin:19px 0 0!important;color:#a2b69a!important}
.contact-form .form-status[data-state=success]{color:#d2e9af!important}
.contact-form .form-status[data-state=notice]{color:#d7c6a3!important}
.contact-form.contact-enter{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.contact-form.contact-enter.contact-visible{opacity:1;transform:none}
.contact-form.contact-enter .contact-enter-item{opacity:0;transform:translateY(7px);transition:opacity .45s ease,transform .5s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--contact-step,0) * 45ms)}
.contact-form.contact-enter.contact-visible .contact-enter-item{opacity:1;transform:none}
.contact-form.contact-settled,.contact-form:focus-within,.contact-form.contact-settled .contact-enter-item,.contact-form:focus-within .contact-enter-item{opacity:1!important;transform:none!important;transition:none!important}
.performance-lite .contact-form.contact-enter,.performance-lite .contact-form .contact-enter-item{opacity:1!important;transform:none!important;transition:none!important}
@media(min-width:2200px){.contact-form{padding:38px}.contact-form label{font-size:14px}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px;padding:15px}.contact-form .form-heading{font-size:30px!important}.contact-form button[type=submit]{font-size:15px}.contact-form .form-privacy,.contact-form .form-status{font-size:13px!important}}
@media(max-width:1100px){.contact-form{padding:23px}.contact-form .form-row{grid-template-columns:minmax(0,1fr);gap:0}.contact-form input,.contact-form textarea,.contact-form select{padding:11px}}
@media(max-width:760px){.contact-form{padding:23px 20px;backdrop-filter:none}.contact-form .form-heading{font-size:25px!important}.contact-form .form-submit-row{gap:15px}.contact-form textarea{min-height:135px}}
@media(max-width:370px){.contact-form{padding:22px 17px}.contact-form .form-submit-row{align-items:flex-start;gap:12px}.contact-form .form-privacy{max-width:90px;font-size:8px}.contact-form button[type=submit]{padding:13px;gap:12px}}
@media(prefers-reduced-motion:reduce){.contact-form{backdrop-filter:none}.contact-form input,.contact-form textarea,.contact-form select{transition:none}.contact-form.contact-enter,.contact-form .contact-enter-item{opacity:1!important;transform:none!important;transition:none!important}}
@media print{.contact-form{display:none!important}}
@media(max-width:760px){.contact-form input,.contact-form textarea,.contact-form select{font-size:16px;line-height:1.45}.contact-form input::placeholder,.contact-form textarea::placeholder{font-size:13px}.contact-form label{font-size:11px}}
