.contact-dialog,.treatment-dialog { width:min(940px,calc(100% - 36px)); max-height:calc(100svh - 36px); margin:auto; padding:0; border:1px solid #c6dce7; border-radius:24px; color:#072957; background:linear-gradient(135deg,#e7f2fc,#e6f2ee); box-shadow:0 25px 90px #001d4877; overflow:auto; }
.contact-dialog::backdrop,.treatment-dialog::backdrop { background:#031a3dbb; backdrop-filter:blur(8px); }
.contact-header { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding:25px 30px; border-bottom:1px solid #b5cdde; }
.contact-header .kicker { margin:0 0 12px; }
.contact-header h2 { font:400 34px/1.12 Georgia,serif; letter-spacing:-.03em; margin:0; }
.contact-close { flex:none; display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 14px; border:1px solid #9fbace; border-radius:25px; background:#ffffff40; color:inherit; font:inherit; font-size:12px; cursor:pointer; }
.contact-close span { font-size:23px; }
.contact-body { padding:28px 30px 32px; }
.contact-demo { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; margin-bottom:30px; padding:22px; border:1px solid #a4c7bb; border-radius:18px; background:#d8ebe4; }
.contact-demo h3 { font-size:17px; margin:0 0 8px; }
.contact-demo p { font-size:13px; line-height:1.6; max-width:360px; margin:0; color:#315c65; }
.contact-demo .demo-cta { gap:12px; font-size:11px; }
.contact-required { font-size:12px; color:#3f6079; margin:0 0 20px; }
#contact-fields { padding:0; margin:0; border:0; min-width:0; }
.contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:21px 24px; }
.contact-field { min-width:0; }
.contact-field label { display:block; margin-bottom:9px; color:#173d61; font-size:13px; font-weight:600; line-height:1.45; }
.contact-field input,.contact-field select,.contact-field textarea { display:block; width:100%; max-width:100%; min-height:46px; padding:12px 13px; border:1px solid #9db9cc; border-radius:10px; background:#ffffffb3; color:#173d61; font:inherit; font-size:14px; line-height:1.45; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#577184; opacity:1; }
.contact-field textarea { resize:vertical; min-height:135px; }
.contact-full { grid-column:1 / -1; }
.contact-consent { margin-top:26px; color:#284e6c; font-size:12px; line-height:1.7; }
.contact-consent label { display:flex; gap:12px; align-items:flex-start; cursor:pointer; }
.contact-consent input { flex:none; width:20px; height:20px; margin:3px 0 0; accent-color:#276950; }
.contact-policy-link { margin:6px 0 0 32px; padding:4px 0; border:0; background:transparent; font:inherit; color:#173d61; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.contact-submit-row { display:flex; flex-wrap:wrap; gap:16px 24px; align-items:center; margin-top:24px; }
#contact-submit { flex:none; cursor:pointer; background:linear-gradient(110deg,#2f8069,#205440); border-color:#276950; }
#contact-submit:disabled { opacity:.45; cursor:not-allowed; transform:none; }
#contact-status { flex:1 1 250px; font-size:13px; line-height:1.6; margin:0; color:#284e6c; }
.contact-dialog :focus-visible,.treatment-dialog :focus-visible { outline:3px solid #276950; outline-offset:3px; }
.company-policy-actions { display:flex; flex-wrap:wrap; gap:10px; }
.treatment-dialog { width:min(760px,calc(100% - 36px)); }
.treatment-body { padding:8px 30px 30px; font-size:14px; line-height:1.8; }
.treatment-body section { padding:23px 0; border-bottom:1px solid #bdceda; }
.treatment-body section:last-child { border-bottom:0; padding-bottom:0; }
.treatment-body h3 { font-size:19px; line-height:1.35; margin:0 0 13px; }
.treatment-body p { margin:0 0 10px; }
.treatment-body ul { list-style:disc; padding-left:23px; margin:8px 0 0; }
.treatment-body a { color:inherit; text-decoration:underline; }
@media(max-width:700px) {
 .contact-dialog,.treatment-dialog { width:calc(100% - 20px); max-height:calc(100svh - 20px); border-radius:18px; }
 .contact-header { padding:20px 18px; gap:12px; }
 .contact-header h2 { font-size:27px; }
 .contact-header .kicker { font-size:9px; }
 .contact-close { font-size:11px; padding:8px 10px; }
 .contact-body { padding:22px 18px; }
 .contact-demo { padding:18px; gap:14px; }
 .contact-demo .demo-cta { width:100%; font-size:11px; padding:12px 13px; }
 .contact-grid { grid-template-columns:1fr; gap:18px; }
 .contact-field input,.contact-field select,.contact-field textarea { font-size:16px; }
 .treatment-body { padding:4px 20px 24px; font-size:13px; }
 .treatment-body h3 { font-size:18px; }
}
