html.fm-contact-open,html.fm-contact-open body{overflow:hidden!important;}
.fm-contact-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 24px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:30px;border:1px solid #d5eae6;border-radius:26px;background:linear-gradient(150deg,#fff 60%,#f0faf8);color:#102341;font-family:inherit;overflow-y:auto;box-shadow:0 24px 80px #10234133;overscroll-behavior:contain;}
.fm-contact-dialog::backdrop{background:rgba(12,29,52,.58);backdrop-filter:blur(3px);}
.fm-contact-dialog .fm-contact-close{position:absolute;inset-inline-end:14px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#edf6f5;color:#102341;font-size:28px;cursor:pointer;line-height:1;}
.fm-contact-dialog .fm-contact-kicker{display:block;color:#087f85;font-size:12px;font-weight:800;letter-spacing:.13em;margin:0 35px 12px 0;}
.fm-contact-dialog h2{font-size:28px;line-height:1.15;letter-spacing:-.025em;margin:0 20px 12px 0;color:#102341;}
.fm-contact-dialog .fm-contact-intro{font-size:15px;line-height:1.55;color:#53677d;margin:0 0 22px;}
.fm-contact-dialog .fm-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fm-contact-dialog label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:650;line-height:1.4;min-width:0;}
.fm-contact-dialog .fm-contact-wide{grid-column:1/-1;}
.fm-contact-dialog input:not([type=checkbox]),.fm-contact-dialog select{box-sizing:border-box;width:100%;min-width:0;height:48px;padding:10px 12px;border:1px solid #ccdedf;border-radius:11px;background:#fff;color:#102341;font:inherit;font-size:16px;}
.fm-contact-dialog .fm-contact-phone{display:grid;grid-template-columns:116px minmax(0,1fr);gap:8px;}
.fm-contact-dialog label.fm-contact-consent{display:flex;flex-direction:row;align-items:flex-start;gap:9px;font-size:12px;font-weight:400;color:#53677d;margin:18px 0;}
.fm-contact-dialog input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;accent-color:#0d9488;margin:1px 0;}
.fm-contact-dialog a{color:#087f85;text-decoration:underline;}
.fm-contact-dialog .fm-contact-submit{width:100%;min-height:50px;border:0;border-radius:999px;background:linear-gradient(135deg,#f7a23e,#ee821c);color:#102341;font:inherit;font-size:16px;font-weight:800;cursor:pointer;padding:13px 18px;}
.fm-contact-dialog .fm-contact-submit:disabled{opacity:.65;cursor:wait;}
.fm-contact-dialog .fm-contact-error{color:#9f3030;font-size:14px;line-height:1.5;margin:14px 0 0;}
.fm-contact-dialog .fm-contact-success{text-align:center;padding:18px 0;}
.fm-contact-dialog .fm-contact-success>span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#dff7ef;color:#087f85;font-size:28px;margin:0 auto 16px;}
.fm-contact-dialog .fm-contact-success h3{margin:0 0 10px;font-size:23px;}
.fm-contact-dialog .fm-contact-success p{color:#53677d;line-height:1.5;}
.fm-contact-dialog [hidden]{display:none!important;}
.fm-contact-dialog :focus-visible{outline:3px solid #0d9488;outline-offset:3px;}
@media(max-width:480px){.fm-contact-dialog{padding:26px 20px 22px;border-radius:22px;}.fm-contact-dialog h2{font-size:25px;}.fm-contact-dialog .fm-contact-phone{grid-template-columns:105px minmax(0,1fr);}}
.fm-service-notes{display:grid;gap:10px;margin-top:20px;}
.fm-service-notes details{background:#fff;border:1px solid #d8e9e8;border-radius:16px;padding:14px 18px;color:#102341;}
.fm-service-notes summary{cursor:pointer;font-weight:700;font-size:15px;}
.fm-service-notes p{margin:10px 0 0;color:#53677d;line-height:1.6;font-size:14px;}
