.consult-overlay{position:fixed;inset:0;background:rgba(11,29,53,.55);backdrop-filter:blur(3px);z-index:9998;display:none;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .25s}
.consult-overlay.open{display:flex}
.consult-overlay.show{opacity:1}
.consult-modal{background:var(--white);border-radius:var(--radius-lg);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);position:relative;transform:translateY(24px);transition:transform .3s cubic-bezier(.4,0,.2,1)}
.consult-overlay.show .consult-modal{transform:translateY(0)}
.consult-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:var(--off-white);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);z-index:2;transition:background .2s}
.consult-close:hover{background:var(--orange-pale);color:var(--orange)}
.consult-head{background:linear-gradient(135deg,var(--navy) 0,var(--navy-light) 100%);padding:20px 30px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.consult-head h3{color:var(--white);font-family:var(--font-serif);font-size:22px;font-weight:600;margin-bottom:6px}
.consult-head p{color:rgba(255,255,255,.7);font-size:13.5px;line-height:1.6;margin:0}
.consult-body{padding:15px 30px 20px}
.consult-field{margin-bottom:12px}
.consult-field label{display:block;font-size:13px;font-weight:600;color:var(--text-dark);margin-bottom:6px}
.consult-field input,.consult-field select,.consult-field textarea{width:100%;padding:6px 14px;border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:14px;color:var(--text-dark);transition:border-color .2s}
.consult-field input:focus,.consult-field select:focus,.consult-field textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,98,26,.1)}
.consult-field textarea{resize:vertical;min-height:40px}
.consult-date-field{display:none}
.consult-date-field.active{display:block}
.consult-submit{width:100%;padding:14px;background:var(--orange);color:var(--white);border:none;border-radius:var(--radius-xl);font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}
.consult-submit:hover{background:var(--orange-light);transform:translateY(-1px)}
.consult-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.consult-msg{padding:12px 14px;border-radius:10px;font-size:13.5px;margin-bottom:16px;display:none}
.consult-msg.show{display:block}
.consult-msg.success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}
.consult-msg.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
.consult-honeypot{position:absolute;left:-9999px;top:-9999px}
@media(max-width:480px){.consult-head{padding:22px 20px}.consult-body{padding:20px}}