.contact-form-wrap{margin:auto;max-width:860px}
.contact-note{font-size:12px;letter-spacing:0;margin-top:8px;opacity:.8}
.contact-errors{background:#f7f7f7;border:1px solid var(--c-line);margin:0 0 24px;padding:16px 18px}
.contact-errors li{letter-spacing:0}
.contact-form{display:flex;flex-direction:column;gap:28px}
.contact-row{border-top:1px solid var(--c-line);display:flex;flex-direction:column;gap:14px;padding:22px 0}
.contact-row:last-of-type{border-bottom:1px solid var(--c-line)}
@media (min-width:900px){.contact-row{align-items:flex-start;flex-direction:row;gap:32px}.contact-label{width:190px;flex:0 0 190px}.contact-field{flex:1}}
.contact-label{font-size:14px;font-variation-settings:"wght" 600;line-height:1.5}
@media (min-width:650px){.contact-label{font-size:18px}}
.contact-label .required{display:inline-flex;align-items:center;justify-content:center;background:#2d2d2d;color:#fff;font-size:10px;line-height:1;padding:5px 7px;border-radius:999px;margin-left:10px;translate:0 -1px}
.contact-field input[type=text],.contact-field input[type=email],.contact-field input[type=tel],.contact-field textarea{
width:100%;border:1px solid var(--c-line);padding:16px 18px;font-size:14px;line-height:1.8;letter-spacing:.03em}
@media (min-width:650px){.contact-field input[type=text],.contact-field input[type=email],.contact-field input[type=tel],.contact-field textarea{font-size:16px}}
.contact-field textarea{min-height:220px;resize:vertical}
.contact-field .error-text{color:#b30000;font-size:12px;line-height:1.6;margin-top:8px;display:block}
.contact-actions{display:flex;flex-direction:column;gap:12px;justify-content:center;margin-top:10px}
@media (min-width:650px){.contact-actions{align-items:center;flex-direction:row}}
.contact-btn,.contact-btn-secondary{
appearance:none;border:1px solid #2d2d2d;display:inline-flex;align-items:center;justify-content:center;min-width:220px;padding:16px 28px;font-size:14px;font-variation-settings:"wght" 700;line-height:1.2;transition:.2s}
.contact-btn{background:#2d2d2d;color:#fff}
.contact-btn-secondary{background:#fff;color:#2d2d2d}
.contact-btn:hover{opacity:.85}
.contact-btn-secondary:hover{background:#f5f5f5}
.contact-confirm{border-top:1px solid var(--c-line)}
.contact-confirm-item{display:flex;flex-direction:column;gap:12px;padding:22px 0;border-bottom:1px solid var(--c-line)}
@media (min-width:900px){.contact-confirm-item{flex-direction:row}.contact-confirm-item dt{width:190px;flex:0 0 190px}}
.contact-confirm-item dt{font-size:14px;font-variation-settings:"wght" 600}
@media (min-width:650px){.contact-confirm-item dt{font-size:18px}}
.contact-confirm-item dd{letter-spacing:0;word-break:break-word}
.contact-thanks{margin:auto;max-width:860px}
.contact-thanks p + p{margin-top:14px}
.contact-grecaptcha{transform-origin:left top}
@media (max-width:390px){.contact-grecaptcha{transform:scale(.92)}}