.contact-page .contact-form-section { display:grid; grid-template-columns:minmax(200px,.45fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); align-items:start; }
.contact-form-section h2 { margin:0 0 18px; font-size:clamp(32px,4vw,64px); line-height:1.1; font-weight:800; }
.contact-form-section .contact-form-intro p { max-width:360px; margin:0 0 14px; font-size:18px; line-height:1.6; }
.contact-form-section .fluentform { width:100%; min-width:0; }
.contact-page .contact-form-section .fluentform .ff-el-group { margin-bottom:28px; }
.contact-page .contact-form-section .fluentform .ff-el-input--label label { font:700 18px/1.5 "Helvetica Neue",Arial,sans-serif; color:#111; }
.contact-page .contact-form-section .fluentform .ff-el-form-control { width:100%; box-sizing:border-box; min-height:52px; border:1px solid #777; border-radius:0; background:#fff; padding:12px 14px; font:400 18px/1.5 "Helvetica Neue",Arial,sans-serif; color:#111; box-shadow:none; }
.contact-page .contact-form-section .fluentform textarea.ff-el-form-control { min-height:200px; resize:vertical; }
.contact-page .contact-form-section .fluentform .ff-el-form-control:focus { outline:3px solid #111; outline-offset:3px; border-color:#111; }
.contact-page .contact-form-section .fluentform .ff-el-help-message { margin-top:9px; color:#444; font-size:15px; line-height:1.5; }
.contact-page .contact-form-section .fluentform .ff-btn-submit { min-height:56px; padding:14px 34px; border:2px solid #111; border-radius:0; background:#111; color:#fff; font:700 20px/1.3 "Helvetica Neue",Arial,sans-serif; cursor:pointer; }
.contact-page .contact-form-section .fluentform .ff-btn-submit:hover { background:#ff0; color:#111; }
.contact-page .contact-form-section .fluentform .ff-btn-submit:focus-visible { outline:3px solid #111; outline-offset:4px; }
.contact-page .contact-form-section .fluentform .ff-el-is-error .ff-el-form-control { border-color:#a51a1a; }
.contact-form-section .error { font-size:16px; line-height:1.5; }
.contact-page .contact-form-section .fluentform .ff-message-success { border:2px solid #111; border-radius:0; font-size:20px; line-height:1.6; padding:24px; }
.contact-form-section .contact-form-privacy { margin:18px 0 0; color:#444; font-size:14px; line-height:1.6; }
.contact-inquiry-tools { margin-top:10px; }
.contact-inquiry-tools .contact-inquiry-hint { margin:0; color:#444; font-size:15px; line-height:1.5; }
.contact-inquiry-template-button { margin-top:8px; padding:6px 0; border:0; background:none; color:#111; font:700 15px/1.5 "Helvetica Neue",Arial,sans-serif; text-decoration:underline; cursor:pointer; }
.contact-inquiry-template-button[hidden] { display:none; }
.contact-inquiry-template-button:focus-visible { outline:3px solid #111; outline-offset:3px; }
.contact-page .contact-mail.contact-mail--secondary { margin-top:12px; }
.contact-page .contact-mail.contact-mail--secondary a { font-size:clamp(24px,3.2vw,48px); }
.contact-mail--secondary .contact-mail-description { grid-column:2; max-width:680px; margin:8px 0 0; font-size:16px; line-height:1.5; }
@media(max-width:760px) { .contact-page .contact-form-section { grid-template-columns:minmax(0,1fr); gap:24px; } .contact-form-section .contact-form-intro p { max-width:none; } .contact-form-section h2 { font-size:34px; } .contact-page .contact-form-section .fluentform .ff-el-form-control { font-size:18px; } .contact-page .contact-form-section .fluentform .ff-btn-submit { width:100%; } .contact-mail--secondary .contact-mail-description { grid-column:1 / -1; } }
