* { box-sizing: border-box; }
html { min-height: 100%; background: #ded9c9; }
body { min-height: 100vh; min-height: 100svh; margin: 0; padding: 45px 20px; display: flex; align-items: center; justify-content: center; background: #ded9c9 url("wallpaper.svg") 0 0 / 120px 160px repeat; color: #414640; font: 13px/1.6 Georgia, "Times New Roman", serif; }
.page { width: 430px; max-width: 100%; padding: 0 37px; background: #f8f6ee; border: 1px solid #bcb9ab; border-top: 4px solid #203443; box-shadow: 0 3px 20px #00000026; }
.masthead { text-align: center; padding: 30px 0 24px; border-bottom: 3px double #c9c3af; color: #203443; }
.wordmark { margin: 0; font-size: 36px; font-weight: normal; line-height: 1.2; letter-spacing: .5px; }
.office { margin: 8px 0 0; padding-left: 4px; font: 9px/1.5 Verdana, Arial, sans-serif; letter-spacing: 4px; }
main { padding: 23px 0 25px; }
h2 { margin: 0 0 15px; font-size: 20px; line-height: 1.3; font-weight: normal; color: #203443; }
p { margin: 0 0 12px; }
label { display: block; margin: 13px 0 4px; color: #555a55; font: 10px/1.6 Verdana, Arial, sans-serif; }
input, textarea { display: block; width: 100%; border: 1px solid #b4b7ac; border-top-color: #92998e; border-radius: 0; padding: 7px 8px; background: #fffefb; color: #293b42; font: 13px/1.5 Verdana, Arial, sans-serif; box-shadow: inset 0 1px 2px #00000008; }
textarea { min-height: 110px; resize: vertical; }
input:focus, textarea:focus { outline: 2px solid #9a8960; outline-offset: 2px; }
button { margin-top: 15px; min-width: 76px; padding: 6px 17px; border: 1px solid #91998e; border-top-color: #adb3a6; border-left-color: #adb3a6; border-radius: 0; background: linear-gradient(#f8f8f1, #e0e1d7); color: #243944; font: 11px/1.5 Verdana, Arial, sans-serif; cursor: pointer; }
button:hover { background: #e2e4da; }
button:focus-visible, a:focus-visible { outline: 2px solid #9a8960; outline-offset: 4px; }
.thank-you { padding: 15px 0 20px; }
.thanks-title { font-size: 23px; color: #203443; }
.text-button { border: 0; min-width: 0; padding: 0; background: transparent; color: #203443; text-decoration: underline; margin-top: 4px; text-align: left; }
.text-button:hover { background: transparent; color: #6a5b37; }
footer { border-top: 1px solid #d9d4c3; padding: 14px 0 16px; text-align: center; color: #7c8075; font: 9px/1.6 Verdana, Arial, sans-serif; }
footer p { margin: 0; }
.skip-link { position: absolute; top: -100px; left: 20px; z-index: 1; background: #fff; color: #203443; padding: 6px; }
.skip-link:focus { top: 5px; }
[hidden] { display: none !important; }
@media (max-width: 500px) {
  body { padding: 26px 23px; }
  .page { padding: 0 25px; }
  .masthead { padding-top: 25px; }
  .wordmark { font-size: 32px; }
  input, textarea { font-size: 16px; }
}
