.utility-content { max-width: 850px; margin: 0 auto; padding: 54px 12px 68px; }
.utility-intro { padding-bottom: 38px; border-bottom: 1px solid var(--line); }
.utility-intro h2 { margin: 0 0 15px; font-size: 28px; line-height: 1.45; font-weight: 400; letter-spacing: .04em; }
.utility-intro p { margin: 0; color: #52697b; font-size: 14px; line-height: 1.85; }

.contact-form { padding-top: 35px; }
.contact-form h2 { margin: 0 0 5px; font-size: 23px; font-weight: 400; }
.contact-form > p { margin: 0 0 24px; color: #52697b; font-size: 12px; }
.form-field { display: grid; gap: 8px; margin-bottom: 21px; }
.form-field label { font-size: 14px; font-weight: 600; }
.form-field input, .form-field select, .form-field textarea {
  width: 100%;
  border: 1px solid #bfd0dc;
  border-radius: 0;
  padding: 12px 14px;
  color: var(--ink);
  background: #fff;
  font: 14px/1.5 var(--serif);
}
.form-field input, .form-field select { min-height: 46px; }
.form-field textarea { min-height: 165px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { outline: 2px solid #39799a; outline-offset: 2px; }
.contact-consent { margin: 30px 0 18px; display: flex; justify-content: center; align-items: flex-start; gap: 9px; text-align: left; font-size: 14px; }
.contact-consent input { margin-top: .25em; }
.contact-consent a { text-decoration: underline; text-underline-offset: 3px; }
.contact-submit { min-width: 270px; min-height: 52px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 32px; border: 0; border-radius: 27px; color: #fff; background: var(--ink); font: 14px var(--serif); transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.form-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-errors { margin: 0 0 24px; padding: 14px 18px; border: 1px solid #b85a5a; color: #7d2525; background: #fff7f7; }
.form-errors p { margin: 0; }
.form-errors p + p { margin-top: 6px; }
.contact-complete { padding: 48px 0; }
.contact-complete h2 { margin: 0 0 12px; font-size: 26px; font-weight: 400; }
.contact-complete p { margin: 0; color: #52697b; }
.contact-complete p + p { margin-top: 8px; }
.utility-home-link { width: max-content; margin: 28px 0 0; text-decoration: none; }

.privacy-head { display: flex; justify-content: flex-end; margin-bottom: 12px; color: #52697b; font-size: 13px; }
.privacy-list { margin: 0; }
.privacy-item { padding: 28px 0; display: grid; grid-template-columns: 42px 175px 1fr; gap: 18px; border-bottom: 1px solid var(--line); }
.privacy-item dt, .privacy-item dd { margin: 0; }
.privacy-item__number { color: #658095; font-size: 16px; }
.privacy-item h2 { margin: 0; font-size: 20px; line-height: 1.5; font-weight: 400; }
.privacy-item dd { color: #52697b; font-size: 14px; line-height: 1.8; }

@media (max-width: 900px) {
  .utility-content { padding-right: 6vw; padding-left: 6vw; }
}

@media (max-width: 680px) {
  .utility-content { padding: 38px 6vw 48px; }
  .utility-intro { padding-bottom: 30px; }
  .utility-intro h2 { font-size: 25px; }
  .utility-intro p, .form-field label, .contact-consent, .privacy-item dd { font-size: 16px; }
  .contact-form h2 { font-size: 22px; }
  .contact-form > p { font-size: 12px; }
  .form-field input, .form-field select, .form-field textarea { font-size: 16px; }
  .contact-submit { width: 100%; }
  .privacy-head { font-size: 12px; }
  .privacy-item { padding: 25px 0; grid-template-columns: 36px 1fr; gap: 8px 10px; }
  .privacy-item h2 { font-size: 20px; }
  .privacy-item dd { grid-column: 1 / -1; }
}

@media (hover: hover) {
  .contact-consent a:hover { color: #23627a; }
  .contact-submit:hover { background: #23627a; box-shadow: 0 8px 18px rgba(22,65,84,.2); transform: translateY(-2px); }
}
