/* Shared contact form presented in an accessible, native modal dialog. */
.lm-contact-dialog{width:min(1180px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid #d6e6e9;border-radius:20px;background:#f1f8f9;color:var(--ink);box-shadow:0 28px 100px #001c3659;overflow:auto;overscroll-behavior:contain}
.lm-contact-dialog:not([open]){display:none}
.lm-contact-dialog::backdrop{background:#062a3dc4;backdrop-filter:blur(6px)}
.lm-contact-open{overflow:hidden}
.lm-contact-open body{position:fixed;top:var(--lm-contact-page-top,0);width:100%;overflow:hidden}
.lm-contact-dialog-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:65px;padding:10px 22px 10px 36px;background:#f8fcfd;border-bottom:1px solid #cfdee4}
.lm-contact-dialog-bar>span{font-size:14px;font-weight:600;letter-spacing:.025em}
.lm-contact-close{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;padding:0;border:1px solid #c2d6dd;border-radius:50%;background:white;color:var(--ink);font:30px/1 sans-serif}
.lm-contact-close:hover{background:#e0eef2}
.lm-contact-dialog-grid{display:grid;grid-template-columns:1fr 1.05fr;grid-template-rows:min-content 1fr;grid-template-areas:"intro message" "location message";align-items:stretch;background:linear-gradient(135deg,#f5fbfc,#e9f4f3)}
.lm-contact-intro,.lm-contact-location,.lm-contact-message{min-width:0;padding:36px}
.lm-contact-intro{grid-area:intro;padding-bottom:0}.lm-contact-location{grid-area:location;padding-top:0}.lm-contact-message{grid-area:message}
.lm-contact-dialog .eyebrow{font-size:12px;margin-bottom:15px}
.lm-contact-intro h2{font-size:clamp(32px,3vw,42px);line-height:1.12;margin-bottom:20px}
.lm-contact-intro>p{font-size:18px;line-height:1.7;color:var(--muted);margin-bottom:25px}
.lm-contact-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 28px}
.lm-contact-facts>div{min-width:0;padding:17px;background:#ffffffc7;border:1px solid #d0e2e7;border-radius:9px}
.lm-contact-facts dt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:7px}
.lm-contact-facts dd{font-size:16px;line-height:1.6;margin:0;overflow-wrap:anywhere}
.lm-contact-facts a{font-weight:600;text-decoration:none}
.lm-contact-facts a:hover{text-decoration:underline}
.lm-contact-map-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px}
.lm-contact-map-heading h3{font-size:22px;margin:0;font-weight:500}
.lm-contact-map-heading a{font-size:14px;white-space:nowrap}
.lm-contact-map{overflow:hidden;border:1px solid #bfd8df;border-radius:10px;background:#deedf0}
.lm-contact-map iframe{display:block;width:100%;height:245px;border:0}
.lm-contact-message{background:linear-gradient(145deg,#0d3c50,#0b5360);color:white}
.lm-contact-message .eyebrow{color:#bce5e6}
.lm-contact-message h3{font:34px/1.2 Georgia,serif;margin:0 0 14px;color:white}
.lm-contact-message .form-note{color:#deedf0;font-size:17px;line-height:1.65;margin-bottom:22px}
.lm-contact-message .wpcf7 p{margin-bottom:15px}
.lm-contact-message .wpcf7 label{font-size:16px;color:white}
.lm-contact-message .wpcf7 input:not([type=checkbox]):not([type=submit]),.lm-contact-message .wpcf7 textarea,.lm-contact-message .wpcf7 select{font-size:17px;line-height:1.5;padding:10px 12px;margin-top:6px;background:#fff;border-color:#c5dce3}
.lm-contact-message .wpcf7 textarea{height:100px}
.lm-contact-message .wpcf7 .lm-upload-help{font-size:14px;line-height:1.55;color:#deedf0}
.lm-contact-message .wpcf7 input[type=file]{font-size:14px}
.lm-contact-message .wpcf7 input[type=file]::file-selector-button{font-size:14px;padding:7px 10px}
.lm-contact-message .wpcf7 .wpcf7-list-item label{font-size:14px;line-height:1.6}
.lm-contact-message a{color:white}
.lm-contact-message .wpcf7 input[type=submit]{width:100%;padding:15px 22px;border-color:#bfe6db;background:#bfe6db;color:#103b40;font-size:17px}
.lm-contact-message .wpcf7 input[type=submit]:hover{background:#d6f1e8;border-color:#d6f1e8;transform:none}
.lm-contact-message .wpcf7 .wpcf7-not-valid-tip{color:#ffe0b1;font-size:14px}
.lm-contact-message .wpcf7 .wpcf7-response-output{border-radius:5px}
.lm-contact-message .wpcf7-spinner{display:block;margin:10px auto 0}
.lm-contact-message .wpcf7 form>p:last-of-type{margin-bottom:0}
@media(max-width:900px){.lm-contact-dialog-grid{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"intro" "message" "location"}.lm-contact-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 28px);border-radius:14px}.lm-contact-intro,.lm-contact-location,.lm-contact-message{padding:28px}.lm-contact-dialog-bar{padding-left:28px}.lm-contact-intro h2{font-size:36px}.lm-contact-map iframe{height:210px}}
@media(max-width:480px){.lm-contact-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.lm-contact-intro,.lm-contact-location,.lm-contact-message{padding:24px 20px}.lm-contact-dialog-bar{min-height:60px;padding:8px 14px 8px 20px;gap:10px}.lm-contact-dialog-bar>span{font-size:12px;line-height:1.4}.lm-contact-close{width:40px;height:40px}.lm-contact-intro h2{font-size:33px}.lm-contact-facts{gap:10px}.lm-contact-facts>div{padding:13px 11px}.lm-contact-facts dd{font-size:15px}.lm-contact-facts dt{font-size:11px}.lm-contact-map-heading h3{font-size:20px}.lm-contact-message h3{font-size:31px}}
@media(max-width:900px){.lm-contact-intro>p{margin-bottom:0}}
