[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { min-width: 0; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled, input[type="submit"]:disabled { opacity: .5; cursor: not-allowed; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #315fa3 !important; outline-offset: 3px; }
#form-status, #form-errors, #confirmation, #completion { scroll-margin-top: 120px; }
#form-status:not(:empty) { padding: 16px; margin: 0 0 24px; background: #f5f5ed; line-height: 1.8; }
#form-errors { padding: 20px; margin: 0 0 24px; border: 2px solid #bd2834; color: #8b1821; background: #fff6f6; line-height: 1.8; }
#form-errors p { font-weight: 700; }
#form-errors ul { padding-left: 24px; list-style: disc; }
#form-errors a { color: #8b1821; text-decoration: underline; }
[aria-invalid="true"] { outline: 2px solid #bd2834 !important; outline-offset: 2px; }
#confirmation, #completion { margin-top: 24px; margin-bottom: 80px; }
#confirmation > p, #completion p { line-height: 2; margin-bottom: 20px; }
#confirmation-values { display: grid; grid-template-columns: minmax(180px, 30%) 1fr; margin: 24px 0; border-top: 1px solid #9b9b3b; }
#confirmation-values dt, #confirmation-values dd { padding: 20px; border-bottom: 1px solid #9b9b3b; line-height: 1.8; overflow-wrap: anywhere; }
#confirmation-values dt { background: #f5f5ed; }
#confirmation-values dd { white-space: pre-wrap; }
.form-actions { display: flex; justify-content: center; gap: 20px; margin-top: 30px; }
.form-actions button { padding: 16px 28px; border: 1px solid #808000; background: white; color: #55551b; }
#send-button { background: #808000; color: white; }
#turnstile-widget { min-height: 65px; margin-top: 24px; }
#turnstile-status { margin: 12px 0; }
#preview-notice { padding: 12px 20px; color: #49351a; background: #fff0c4; text-align: center; font: 14px/1.6 sans-serif; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.zip-lookup { padding: 6px 12px; margin-left: 10px; border: 1px solid #aaa; background: #f4f4f4; font-size: 14px; }
.form-error a, #completion a { text-decoration: underline; }
#receipt-number { overflow-wrap: anywhere; }
.fadeInUp { opacity: 1 !important; transform: none !important; visibility: visible !important; }
#main .contact input[type="checkbox"], #main .contact input[type="radio"] {
  display: block !important; position: absolute; opacity: 0; width: 1px !important; height: 1px !important;
}
#main .contact input:focus-visible + label { outline: 3px solid #315fa3; outline-offset: 3px; }
@media (min-width: 897px) and (max-width: 1279px) {
  .content { width: calc(100% - 64px); }
  #gHeader { padding-left: 25px; padding-right: 25px; }
  #gHeader .rBox { width: auto; }
}
@media (max-width: 896px) {
  #confirmation-values { grid-template-columns: 1fr; }
  #confirmation-values dt { padding: 12px 16px; border-bottom: 0; }
  #confirmation-values dd { padding: 12px 16px 20px; }
  .form-actions { flex-direction: column-reverse; gap: 12px; }
  .form-actions button { width: 100%; }
  .form-menu-open { display: block !important; }
  #main .contact td select[name^="parm[year"] { min-width: 78px; }
  #main .contact .headLine01 { margin-bottom: 40px; }
  #form-status, #form-errors, #confirmation, #completion { scroll-margin-top: 90px; }
}
