.contact-page-main{box-sizing:border-box;width:100%;max-width:none!important;margin:0!important;padding:0!important}
.contact-page-main .contact-split{box-sizing:border-box;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:none!important;margin:0!important;align-items:stretch}
.contact-photo{box-sizing:border-box;display:flex;align-items:end;min-width:0;padding:clamp(28px,4vw,58px);background-color:#142540;background-image:linear-gradient(180deg,rgba(8,19,39,.04) 35%,rgba(8,19,39,.84) 100%),url('../images/contact-background.webp');background-position:center;background-size:cover;color:#fff}
.contact-photo-copy{width:100%;max-width:540px}
.contact-eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.contact-photo .contact-eyebrow{color:#c5dcff}
.contact-photo h1{max-width:530px;margin:12px 0 14px;color:#fff;font-size:clamp(36px,3.8vw,58px);line-height:1.06;letter-spacing:-.04em}
.contact-photo p{max-width:480px;margin:0;color:#f2f5fb;font-size:16px;line-height:1.55}
.contact-photo-detail{display:flex;flex-direction:column;gap:3px;max-width:470px;margin-top:22px;padding:13px 16px;border:1px solid #ffffff70;border-radius:12px;background:#13243bcc;color:#fff;line-height:1.45}
.contact-photo-detail span{font-size:13px;color:#edf3fc}
.contact-form-side{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:0;padding:clamp(22px,3vw,42px);background:#f5f8fd}
.contact-form-inner{width:100%;max-width:570px}
.contact-form-inner>.contact-eyebrow{color:var(--wp--preset--color--brand,#2854ad)}
.contact-form-inner h2{margin:8px 0;color:var(--wp--preset--color--navy,#172033);font-size:clamp(30px,2.7vw,40px);line-height:1.1;letter-spacing:-.035em}
.contact-form-inner>p{margin:0 0 16px;color:var(--wp--preset--color--muted,#64748b);font-size:14px;line-height:1.5}
.contact-form-inner .wpcf7{box-sizing:border-box;padding:clamp(18px,2vw,26px);border:1px solid #dce5f2;border-radius:18px;background:#fff;box-shadow:0 12px 32px #172b4712}
.contact-form-inner .wpcf7 form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.contact-form-inner .wpcf7 form>p{min-width:0;margin:0!important}
.contact-form-inner .wpcf7 form>p:has(textarea),.contact-form-inner .wpcf7 form>p:has(.wpcf7-acceptance),.contact-form-inner .wpcf7 form>p:has(input[type=submit]),.contact-form-inner .wpcf7 form>p:has(.cf7-simple-turnstile),.contact-form-inner .wpcf7 form>:not(p){grid-column:1/-1}
.contact-form-inner .wpcf7 label{display:block;color:#25364c;font-size:12px;font-weight:700;line-height:1.35}
.contact-form-inner .wpcf7 input:not([type=checkbox]):not([type=submit]),.contact-form-inner .wpcf7 textarea,.contact-form-inner .wpcf7 select{box-sizing:border-box;width:100%;min-width:0;min-height:40px;margin-top:4px;padding:8px 10px;border:1px solid #cbd8e8;border-radius:8px;background:#f9fbfe;color:#172033;font:inherit}
.contact-form-inner .wpcf7 textarea{min-height:82px;resize:vertical}
.contact-form-inner .wpcf7 input[type=file]{min-height:38px;padding:7px;font-size:11px}
.contact-form-inner .wpcf7 input:focus,.contact-form-inner .wpcf7 textarea:focus,.contact-form-inner .wpcf7 select:focus{outline:2px solid var(--wp--preset--color--brand,#2854ad);outline-offset:1px}
.contact-form-inner .wpcf7 .wpcf7-acceptance label{display:flex;align-items:start;gap:8px;font-weight:400;line-height:1.45}
.contact-form-inner .wpcf7 .wpcf7-acceptance input{margin-top:2px}
.contact-form-inner .wpcf7 .wpcf7-list-item{margin:0}
.contact-form-inner .wpcf7 input[type=submit]{width:100%;min-height:43px;border:0;border-radius:9px;background:var(--wp--preset--color--brand,#2854ad);color:#fff;font-size:14px;font-weight:750;cursor:pointer}
.contact-form-inner .wpcf7 input[type=submit]:hover{filter:brightness(.92)}
.contact-form-inner .wpcf7 .wpcf7-response-output{grid-column:1/-1;margin:0!important}
.contact-form-inner .contact-privacy{margin:10px 0 0;text-align:center;font-size:11px}
.contact-privacy a{color:var(--wp--preset--color--brand,#2854ad)}
@media(max-width:767px){.contact-page-main .contact-split{display:block}.contact-photo{display:none}.contact-form-side{min-height:0;padding:24px 16px 40px}.contact-form-inner{max-width:560px}.contact-form-inner .wpcf7{padding:18px 16px}}
@media(max-width:520px){.contact-form-inner .wpcf7 form{grid-template-columns:1fr}.contact-form-inner .wpcf7 form>p{grid-column:1/-1}}

/* Let the contact section grow with the form and flow into the footer. */
@media(min-width:768px){
  .contact-page-main{height:auto;overflow:visible}
  .contact-page-main .contact-split{height:auto;min-height:calc(100dvh - 81px)}
  .contact-photo{height:auto;align-items:flex-start;padding:clamp(20px,3vw,42px)}
  .contact-photo-copy{box-sizing:border-box;max-width:510px;padding:20px 22px;border-radius:14px;background:#112038d9}
  .contact-photo h1{font-size:clamp(32px,3vw,48px)}
  .contact-photo-detail{margin-top:14px;padding:10px 12px;background:#ffffff1a}
  .contact-form-side{height:auto;overflow:visible;padding:24px clamp(18px,2.5vw,36px)}
  .contact-form-inner h2{font-size:clamp(27px,2.5vw,36px)}
  .contact-form-inner>p{margin-bottom:10px}
  .contact-form-inner .wpcf7{padding:16px 18px}
  .contact-form-inner .wpcf7 form{gap:7px 12px}
  .contact-form-inner .wpcf7 input:not([type=checkbox]):not([type=submit]),.contact-form-inner .wpcf7 textarea,.contact-form-inner .wpcf7 select{min-height:36px;padding:6px 9px}
  .contact-form-inner .wpcf7 textarea{min-height:68px}
  .contact-form-inner .wpcf7 input[type=submit]{min-height:39px}
}
.wp-site-blocks>.contact-page-main{width:calc(100% + var(--wp--style--root--padding-left) + var(--wp--style--root--padding-right))!important;max-width:none!important;margin-left:calc(-1 * var(--wp--style--root--padding-left))!important;margin-right:calc(-1 * var(--wp--style--root--padding-right))!important}
.contact-page-main .contact-split{grid-template-columns:minmax(0,50%) minmax(0,50%)}
.contact-form-inner .wpcf7 form>p{grid-column:1/-1}
.contact-form-inner .wpcf7 form>p:nth-of-type(-n+2){grid-column:auto}
@media(max-width:767px){.contact-page-main{height:auto;overflow:visible}.contact-form-side{height:auto;overflow:visible}}

/* Contact Form 7 can emit line breaks between fields; a grid puts each field in a half-width cell. */
.contact-form-inner .wpcf7 form{display:block}
.contact-form-inner .wpcf7 form>p{display:block;width:100%;margin:0 0 14px!important}
.contact-form-inner .wpcf7 form>p:empty{display:none}
.contact-form-inner .wpcf7 .wpcf7-form-control-wrap{display:block;width:100%}
.contact-form-inner .wpcf7 input:not([type=checkbox]):not([type=submit]),.contact-form-inner .wpcf7 textarea,.contact-form-inner .wpcf7 select{display:block;width:100%!important;max-width:none!important}
.contact-form-inner .wpcf7 textarea{height:116px!important;min-height:116px!important;max-height:240px}
.contact-form-inner .wpcf7 input[type=submit]{width:100%}
