/* Presentation only: CF7 retains all field, validation and submission behavior. */
.ba-contact-section { --ba-contact-admin:0px; padding-block:var(--ba-contact-padding-y,80px); background:var(--ba-contact-background,var(--ba-color-white,#fff)); font-family:var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); scroll-margin-top:calc(var(--ba-contact-anchor-offset,160px) + var(--ba-contact-admin)); }
.ba-contact-section, .ba-contact-section * { box-sizing:border-box; border-radius:0; }
.ba-contact-section .ba-contact-container { width:min(calc(100% - var(--ba-gutter,48px) * 2),var(--ba-container-max,1280px)); margin-inline:auto; display:grid; grid-template-columns:minmax(0,11fr) minmax(0,14fr); gap:var(--ba-contact-column-gap,64px); align-items:start; }
.ba-contact-section .ba-contact-content { grid-column:2; grid-row:1; min-width:0; }
.ba-contact-section .ba-contact-heading { margin:0; color:var(--ba-contact-heading,var(--ba-color-secondary,#121212)); font:600 clamp(32px,3.4vw,52px)/1.1 var(--ba-font-heading,"Space Grotesk",Arial,sans-serif); letter-spacing:-.03em; text-wrap:balance; overflow-wrap:anywhere; }
.ba-contact-section .ba-contact-paragraph { margin:16px 0 20px; color:var(--ba-contact-paragraph,var(--ba-color-secondary,#121212)); font-size:17px; line-height:1.75; overflow-wrap:anywhere; }
.ba-contact-section .ba-contact-visual { grid-column:1; grid-row:1; position:relative; min-width:0; width:100%; min-height:0; align-self:start; height:var(--ba-contact-image-height,640px); background:var(--ba-color-secondary,#121212); display:flex; align-items:flex-end; overflow:hidden; }
.ba-contact-section .ba-contact-image { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:var(--ba-contact-focal-x,50%) var(--ba-contact-focal-y,50%); }
.ba-contact-section .ba-contact-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 30%,rgba(0,0,0,.22) 50%,rgba(0,0,0,var(--ba-contact-overlay,.92)) 78%,rgba(0,0,0,var(--ba-contact-overlay,.92))); pointer-events:none; }
.ba-contact-section .ba-contact-items { position:relative; z-index:1; margin:0; background:linear-gradient(to bottom,transparent,rgba(0,0,0,var(--ba-contact-overlay,.92)) 20px); padding:clamp(20px,2.4vw,32px); list-style:none; width:100%; display:grid; gap:16px; }
.ba-contact-section .ba-contact-detail { display:flex; align-items:center; gap:16px; min-height:48px; color:var(--ba-contact-contact-text,var(--ba-color-white,#fff)); text-decoration:none; }
.ba-contact-section .ba-contact-detail:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.ba-contact-section .ba-contact-icon { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; border:1px solid currentColor; }
.ba-contact-section .ba-contact-copy { min-width:0; overflow-wrap:anywhere; }
.ba-contact-section .ba-contact-label { display:block; margin-bottom:4px; font:400 14px/1.5 var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); }
.ba-contact-section .ba-contact-value { display:block; font:500 clamp(16px,1.35vw,20px)/1.5 var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); }
.ba-contact-section .ba-contact-notice { padding:20px; border:1px solid var(--ba-color-tertiary,#e7e3de); line-height:1.75; }
/* Optional CF7 template grid. Arbitrary existing forms remain in their native order. */
.ba-contact-section .wpcf7 { min-width:0; color:var(--ba-color-secondary,#121212); font:400 16px/1.6 var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); }
.ba-contact-section .wpcf7 form { margin:0; }
.ba-contact-section .wpcf7 p { margin:0 0 14px; }
.ba-contact-section .wpcf7 label { display:block; font-weight:500; }
.ba-contact-section .wpcf7 .wpcf7-form-control-wrap { display:block; margin-top:6px; min-width:0; }
.ba-contact-section .wpcf7 input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]), .ba-contact-section .wpcf7 select, .ba-contact-section .wpcf7 textarea { display:block; width:100%; max-width:100%; min-width:0; min-height:54px; padding:12px 14px; border:1px solid var(--ba-contact-field-border,var(--ba-color-tertiary,#e7e3de)); background:var(--ba-contact-field-background,var(--ba-color-white,#fff)); color:var(--ba-color-secondary,#121212); font:400 16px/1.5 var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); box-shadow:none; border-radius:0; }
.ba-contact-section .wpcf7 textarea { height:150px; min-height:150px; resize:vertical; }
.ba-contact-section .wpcf7 select { height:54px; padding-right:30px; }
.ba-contact-section .wpcf7 input[type=file] { padding:6px; overflow:hidden; }
.ba-contact-section .wpcf7 input[type=file]::file-selector-button { margin-right:12px; padding:8px 12px; border:1px solid var(--ba-color-tertiary,#e7e3de); border-radius:0; background:var(--ba-color-neutral,#f8f7f5); color:var(--ba-color-secondary,#121212); font:500 14px/1.5 var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); cursor:pointer; }
.ba-contact-section .wpcf7 :is(input,select,textarea,button):focus-visible { outline:2px solid var(--ba-color-secondary,#121212); outline-offset:3px; }
.ba-contact-section .wpcf7 input[type=checkbox], .ba-contact-section .wpcf7 input[type=radio] { width:20px; height:20px; flex:0 0 20px; margin:3px 0 0; accent-color:var(--ba-color-primary,#e84a10); }
.ba-contact-section .wpcf7 .wpcf7-list-item { display:block; margin:0; }
.ba-contact-section .wpcf7 .wpcf7-acceptance label { display:flex; align-items:flex-start; gap:12px; min-height:44px; font-weight:400; }
.ba-contact-section .wpcf7 .wpcf7-list-item-label { min-width:0; overflow-wrap:anywhere; }
.ba-contact-section .wpcf7 a { color:var(--ba-color-secondary,#121212); text-decoration:underline; text-underline-offset:3px; }
.ba-contact-section .wpcf7 a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.ba-contact-section .wpcf7 .wpcf7-submit { min-height:48px; max-width:100%; padding:14px 24px; border:1px solid transparent; background:var(--ba-contact-submit-background,var(--ba-color-primary,#e84a10)); color:var(--ba-contact-submit-text,var(--ba-color-secondary,#121212)); font:500 15px/1.5 var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); cursor:pointer; white-space:normal; transition:filter var(--ba-transition-fast,180ms ease); }
.ba-contact-section .wpcf7 .wpcf7-submit:disabled, .ba-contact-section .wpcf7 form.submitting .wpcf7-submit { opacity:.65; cursor:wait; }
.ba-contact-section .wpcf7 .wpcf7-not-valid-tip { margin-top:6px; color:#9c241b; font-size:14px; line-height:1.5; font-weight:500; }
.ba-contact-section .wpcf7 [aria-invalid=true] { border-style:double; border-width:3px; border-color:#9c241b; }
.ba-contact-section .wpcf7 form .wpcf7-response-output { margin:24px 0 0; padding:16px; color:var(--ba-color-secondary,#121212); background:var(--ba-color-neutral,#f8f7f5); font:400 16px/1.6 var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); overflow-wrap:anywhere; }
.ba-contact-section .wpcf7 form.sent .wpcf7-response-output { border-color:#356347; }
.ba-contact-section .wpcf7 form:is(.invalid,.unaccepted,.failed,.aborted,.spam) .wpcf7-response-output { border-color:#9c241b; }
.ba-contact-section .wpcf7 .ba-contact-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
.ba-contact-section .wpcf7 .ba-contact-fields > .ba-contact-field { grid-column:1 / -1; margin:0; min-width:0; }
.ba-contact-section .wpcf7 .ba-contact-fields > .ba-contact-half { grid-column:auto; }
.ba-contact-section .wpcf7 .ba-contact-help { display:block; font-size:13px; line-height:1.5; margin-top:6px; font-weight:400; }
body.admin-bar .ba-contact-section { --ba-contact-admin:32px; }
@media(hover:hover) and (pointer:fine) { .ba-contact-section .ba-contact-detail:hover .ba-contact-value { text-decoration:underline; text-underline-offset:4px; } .ba-contact-section .wpcf7 .wpcf7-submit:hover:not(:disabled) { filter:brightness(.95); } }
@media(max-width:1024px) { .ba-contact-section .wpcf7 textarea { height:130px; min-height:130px; } .ba-contact-section { padding-block:var(--ba-contact-padding-y-tablet,64px); } .ba-contact-section .ba-contact-container { grid-template-columns:minmax(0,1fr); gap:28px; } .ba-contact-section .ba-contact-content { grid-column:1; grid-row:1; } .ba-contact-section .ba-contact-visual { grid-column:1; grid-row:2; height:var(--ba-contact-image-height-tablet,520px); } .ba-contact-section .ba-contact-image { object-position:var(--ba-contact-focal-x-tablet,var(--ba-contact-focal-x,50%)) var(--ba-contact-focal-y-tablet,var(--ba-contact-focal-y,50%)); } }
@media(max-width:782px) { body.admin-bar .ba-contact-section { --ba-contact-admin:46px; } }
@media(max-width:767px) { .ba-contact-section .wpcf7 textarea { height:110px; min-height:110px; } .ba-contact-section { padding-block:var(--ba-contact-padding-y-mobile,40px); } .ba-contact-section .ba-contact-container { width:calc(100% - clamp(24px,6vw,36px) * 2); } .ba-contact-section .ba-contact-heading { font-size:clamp(28px,6.5vw,36px); } .ba-contact-section .ba-contact-paragraph { font-size:16px; } .ba-contact-section .ba-contact-visual { height:var(--ba-contact-image-height-mobile,560px); } .ba-contact-section .ba-contact-image { object-position:var(--ba-contact-focal-x-mobile,var(--ba-contact-focal-x-tablet,var(--ba-contact-focal-x,50%))) var(--ba-contact-focal-y-mobile,var(--ba-contact-focal-y-tablet,var(--ba-contact-focal-y,50%))); } .ba-contact-section .wpcf7 .ba-contact-fields { grid-template-columns:minmax(0,1fr); } .ba-contact-section .wpcf7 .wpcf7-submit { width:100%; } }
@media(prefers-reduced-motion:reduce) { .ba-contact-section .wpcf7 .wpcf7-submit { transition:none; } }

.ba-contact-section .wpcf7 .wpcf7-submit, .ba-contact-section .wpcf7 .wpcf7-spinner, .ba-contact-section .wpcf7 .wpcf7-spinner::before { border-radius:0; }
