@charset 'utf-8';

.contact-page { max-width: 813px; margin: 0 auto; }
.contact-page__intro { margin: 0 auto 46px; max-width: 720px; text-align: center; font-size: 1.5rem; line-height: 2; }
.contact-form { margin: 0 auto; max-width: 720px; }
.contact-form__field { margin-bottom: 30px; }
.contact-form__field label { display: block; margin-bottom: 10px; font-size: 1.5rem; line-height: 1.6; }
.contact-form__required,
.contact-form__optional { display: inline-block; margin-left: 8px; padding: 2px 7px; font-size: 1.1rem; line-height: 1.4; vertical-align: middle; }
.contact-form__required { background: #f08d1d; color: #fff; }
.contact-form__optional { border: 1px solid #727171; color: #727171; }
.contact-form__field input,
.contact-form__field select,
.contact-form__field textarea { box-sizing: border-box; display: block; width: 100%; min-width: 0; padding: 13px 14px; border: 1px solid #a8a8a8; border-radius: 0; background: #fff; color: #000; font-family: inherit; font-size: 1.6rem; line-height: 1.5; }
.contact-form__field textarea { min-height: 180px; resize: vertical; }
.contact-form__field input:focus-visible,
.contact-form__field select:focus-visible,
.contact-form__field textarea:focus-visible,
.contact-form__consent input:focus-visible,
.contact-form__submit:focus-visible { outline: 2px solid #f08d1d; outline-offset: 2px; }
.contact-form__honeypot { display: none !important; }
.contact-form__consent { display: flex; align-items: flex-start; gap: 12px; margin: 38px 0 28px; font-size: 1.4rem; line-height: 1.8; }
.contact-form__consent input { flex: 0 0 auto; margin-top: 5px; width: 18px; height: 18px; accent-color: #f08d1d; }
.contact-form__consent a { color: #b7630c; text-decoration: underline; text-underline-offset: 3px; }
.contact-form__error { box-sizing: border-box; margin: 0 0 18px; padding: 12px 16px; border: 1px solid #a94724; color: #8b2c12; font-size: 1.4rem; line-height: 1.7; }
.contact-form__error[hidden] { display: none; }
.contact-form__status { min-height: 1.5em; text-align: center; font-size: 1.4rem; }
.contact-form__submit { display: block; margin: 12px auto 0; width: min(100%, 258px); padding: 16px 20px; border: 1px solid #f08d1d; background: #f08d1d; color: #fff; cursor: pointer; font-family: inherit; font-size: 1.6rem; line-height: 1.4; transition: opacity .3s ease; }
.contact-form__submit:hover:not(:disabled) { opacity: .8; }
.contact-form__submit:disabled { cursor: wait; opacity: .7; }
.contact-form__noscript { margin-top: 18px; text-align: center; font-size: 1.4rem; }
.contact-page--thanks { text-align: center; }
.contact-page--thanks > p { font-size: 1.8rem; line-height: 2.2; }
.contact-page__back { margin-top: 56px; }
.contact-page__back a { display: inline-block; min-width: 218px; padding: 14px 18px; border: 1px solid #231815; font-size: 1.4rem; }

@media only screen and (max-width: 768px) {
  .contact-page__intro { margin-bottom: 34px; font-size: 1.5rem; line-height: 1.8; }
  .contact-form__field { margin-bottom: 24px; }
  .contact-form__field label { font-size: 1.5rem; }
  .contact-form__required, .contact-form__optional { font-size: 1.2rem; }
  .contact-form__consent { gap: 10px; margin-top: 30px; font-size: 1.5rem; }
  .contact-form__consent input { width: 22px; height: 22px; }
  .contact-form__consent a { display: inline-flex; align-items: center; min-height: 44px; }
  .contact-page--thanks > p { font-size: 1.5rem; }
  .contact-page__back { margin-top: 38px; }
}
