/* Shared event inquiry form: original paper, forest and local typefaces. */
.contact{padding:48px clamp(24px,9vw,140px) 28px}
.contact-content{max-width:1080px;margin:0 auto}
.contact .contact-eyebrow{font-size:11px;letter-spacing:.22em;margin-bottom:16px}
.contact h2{font-size:clamp(38px,4.7vw,62px);max-width:24ch;margin:0 auto;line-height:1.08}
.contact-intro{max-width:62ch;margin:20px auto 0;font:400 14px/1.8 var(--sans);color:#d5dfd6;text-wrap:pretty}
.event-form{max-width:820px;margin:32px auto 0;text-align:left;font:400 14px/1.6 var(--sans)}
.event-form[hidden],.event-form [hidden]{display:none}
.whatsapp-float[hidden]{display:none}
.form-required{margin-bottom:22px;font-size:12px;line-height:1.7;color:#d5dfd6}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px}
.form-field{min-width:0}
.form-field-wide{grid-column:1/-1}
.form-field label{display:block;margin-bottom:9px;color:var(--paper);line-height:1.6}
.field-optional{display:inline-block;margin-left:8px;font-size:11px;color:#d5dfd6}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:50px;border:1px solid #a9b7ad;border-radius:0;background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--sans);padding:12px 14px;box-shadow:none;scroll-margin-top:30px}
.form-field select{padding-right:30px;cursor:pointer}
.form-field textarea{min-height:108px;resize:vertical}
.form-field input[type=date]{color-scheme:light}
.form-field input::placeholder,.form-field textarea::placeholder{color:#617366;opacity:1}
.contact :is(input,select,textarea,button,a):focus-visible{outline:2px solid #d9c89a;outline-offset:4px}
.form-field :is(input,select,textarea)[aria-invalid=true]{border:2px solid #f3b8a4;padding:11px 13px}
.field-help{margin-top:7px;color:#d5dfd6;font-size:12px;line-height:1.6}
.field-error{margin-top:8px;color:#ffd4c6;font-size:13px;line-height:1.6}
.form-error-summary{border-left:2px solid #ffd4c6;padding:10px 14px;margin:0 0 24px;background:#203c30;color:#ffd4c6}
.form-error-summary ul{margin:6px 0 0;padding-left:20px}
.form-error-summary a{display:inline-block;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}
.form-actions>p{font-size:12px;line-height:1.8;color:#d5dfd6}
.form-submit,.consultation-send{font-family:var(--serif);font-size:23px;padding:12px 20px;gap:16px;min-height:50px;text-align:center}
.form-submit:hover,.consultation-send:hover{background:var(--paper);color:var(--forest)}
.form-status{margin-top:16px;color:#d5dfd6;font-size:13px;line-height:1.7}
.form-status:empty{display:none}
.consultation-preview{margin-top:28px;border:1px solid #91a495;background:#203c30;padding:28px;scroll-margin-top:24px}
.consultation-preview h3{font:500 32px/1.15 var(--serif);letter-spacing:-.02em}
.consultation-preview h3:focus-visible{outline:2px solid #d9c89a;outline-offset:6px}
.consultation-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0 24px;font-size:14px;line-height:1.85;color:var(--paper)}
.consultation-send{max-width:100%}
.consultation-note{max-width:68ch;margin-top:16px;color:#d5dfd6;font-size:12px;line-height:1.8}
.contact-alternatives{max-width:820px;margin:30px auto 0;padding-top:24px;border-top:1px solid #819589}
.contact-direct{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;font-size:21px;line-height:1.3;text-decoration:underline;text-underline-offset:5px}
.contact-direct .icon{flex:0 0 auto}
.contact-phone{font-size:14px;letter-spacing:.14em;margin-top:8px}
.footer-bottom{margin-top:32px;padding-top:20px;font-size:12px}
@media(max-width:767px){
  .contact{padding:32px 24px 88px}
  .contact .contact-eyebrow{font-size:10px;margin-bottom:14px}
  .contact h2,.service-page .contact h2{font-size:clamp(37px,9vw,50px);max-width:20ch}
  .contact-intro{font-size:14px;margin-top:18px}
  .event-form{margin-top:28px}
  .form-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .form-required{margin-bottom:22px}
  .form-actions{align-items:stretch;flex-direction:column;gap:18px;margin-top:24px}
  .form-submit,.consultation-send{width:100%;font-size:22px;padding:13px 16px;gap:12px}
  .consultation-preview{padding:22px 18px}
  .consultation-preview h3{font-size:30px}
  .contact-direct{font-size:21px;max-width:100%;text-align:center}
  .footer-bottom{margin-top:28px}
}
@media(max-width:359px){.field-optional{margin-left:4px}.form-submit,.consultation-send{font-size:20px;padding:12px 10px}.contact-direct{font-size:19px}}
