body.contact-modal-open{overflow:hidden}.contact-modal[hidden]{display:none}.contact-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px}.contact-modal__backdrop{position:absolute;inset:0;background:rgba(9,24,48,.66);backdrop-filter:blur(5px);animation:modal-fade-in .18s ease both}.contact-modal__dialog{position:relative;z-index:1;width:min(100%,760px);max-height:min(92vh,900px);overflow:auto;padding:clamp(26px,5vw,48px);border:1px solid rgba(255,255,255,.7);border-radius:28px;background:linear-gradient(145deg,#f4f8ff,#dceaff);box-shadow:0 28px 90px rgba(6,24,55,.3);animation:modal-rise-in .22s ease both}.contact-modal__close{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:rgba(255,255,255,.85);cursor:pointer;transition:background .2s,transform .2s}.contact-modal__close:hover{background:#fff;transform:rotate(90deg)}.contact-modal__close:focus-visible,.contact-modal a:focus-visible,.contact-modal button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.contact-modal__close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.contact-modal__heading{padding-right:48px;margin-bottom:24px}.contact-modal__eyebrow{display:inline-block;margin-bottom:8px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.12em}.contact-modal__heading h2{margin:0 0 8px;color:var(--ink);font-size:clamp(28px,4vw,38px);line-height:1.12}.contact-modal__heading p{margin:0;color:var(--text)}.contact-modal .fb-form{gap:14px;padding:24px;border:1px solid rgba(28,75,140,.08);box-shadow:0 12px 35px rgba(24,62,115,.08)}.contact-modal .fb-foot{align-items:flex-start}.contact-modal .fb-foot .btn{flex:0 0 auto}.contact-modal .fb-note{line-height:1.5}.contact-modal .fb-err{margin:0}.contact-modal .hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}@keyframes modal-fade-in{from{opacity:0}to{opacity:1}}@keyframes modal-rise-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:620px){.contact-modal{padding:12px;align-items:end}.contact-modal__dialog{max-height:94vh;padding:26px 18px 20px;border-radius:24px 24px 16px 16px}.contact-modal__close{top:12px;right:12px;width:38px;height:38px}.contact-modal__heading{margin-bottom:18px}.contact-modal .fb-form{padding:18px 14px}.contact-modal .row2{grid-template-columns:1fr}.contact-modal .fb-foot .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.contact-modal__backdrop,.contact-modal__dialog{animation:none}.contact-modal__close{transition:none}}
.contact-modal .fb-form{display:grid;gap:14px;padding:24px;border-radius:24px;background:var(--card)}.contact-modal .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-modal .field{display:grid;gap:6px;min-width:0}.contact-modal .field label{font:600 13px/1.2 var(--font);color:var(--ink)}.contact-modal .field .opt{font-weight:500;color:var(--muted)}.contact-modal .field input,.contact-modal .field textarea{width:100%;padding:13px 14px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:500 16px/1.4 var(--font);transition:border-color .2s,background-color .2s,box-shadow .2s}.contact-modal .field textarea{resize:vertical;min-height:84px}.contact-modal .field input::placeholder,.contact-modal .field textarea::placeholder{color:var(--muted)}.contact-modal .field input:focus,.contact-modal .field textarea:focus{outline:none;border-color:var(--accent);background:var(--card);box-shadow:0 0 0 4px var(--accent-soft)}.contact-modal .field [aria-invalid=true]{border-color:var(--accent)}.contact-modal .fb-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:14px 20px;flex-wrap:wrap}.contact-modal .fb-note{flex:1 1 220px;font-size:12.5px;color:var(--muted)}.contact-modal .fb-note a{color:inherit;text-decoration:underline}
