.inline-contact-modal[hidden] { display: none; }
.inline-contact-modal { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: start center; padding: 28px 18px; overflow-y: auto; background: rgba(18, 23, 28, .76); backdrop-filter: blur(5px); }
.inline-contact-dialog { width: min(760px, 100%); margin: 24px auto; background: #fff; border-radius: 10px; box-shadow: 0 26px 80px rgba(0,0,0,.34); overflow: hidden; transform-origin: top center; animation: inlineContactOpen .22s ease-out; }
@keyframes inlineContactOpen { from { opacity: 0; transform: translateY(-18px) scale(.985); } to { opacity: 1; transform: none; } }
.inline-contact-head { position: relative; padding: 26px 72px 24px 30px; color: #fff; background: #252b31; border-bottom: 5px solid #c41230; }
.inline-contact-head h2 { margin: 3px 0 5px; color: #fff; font-size: clamp(25px,4vw,36px); line-height: 1.1; }
.inline-contact-head p { margin: 0; color: #d9dde1; font-size: 15px; }
.inline-contact-kicker { color: #ef526b; font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.inline-contact-close { position: absolute; top: 17px; right: 18px; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: #fff; background: transparent; font: 300 30px/38px Arial,sans-serif; cursor: pointer; }
.inline-contact-close:hover, .inline-contact-close:focus { background: #c41230; outline: 2px solid #fff; outline-offset: 2px; }
.inline-contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 20px; padding: 28px 30px 30px; }
.inline-contact-field { min-width: 0; }
.inline-contact-field.full { grid-column: 1 / -1; }
.inline-contact-field label { display: block; margin-bottom: 7px; color: #343a40; font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.inline-contact-field input, .inline-contact-field select, .inline-contact-field textarea { width: 100%; box-sizing: border-box; border: 1px solid #cfd4d9; border-radius: 5px; background: #fff; color: #20252a; font: 15px/1.4 Arial,sans-serif; padding: 12px 13px; }
.inline-contact-field input:focus, .inline-contact-field select:focus, .inline-contact-field textarea:focus { border-color: #c41230; outline: 3px solid rgba(196,18,48,.13); }
.inline-contact-field textarea { min-height: 130px; resize: vertical; }
.inline-contact-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.inline-contact-send { min-width: 170px; border: 0; border-radius: 5px; padding: 14px 22px; color: #fff; background: #c41230; font: 800 13px/1 Arial,sans-serif; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.inline-contact-send:hover, .inline-contact-send:focus { background: #9f0e27; outline: 3px solid rgba(196,18,48,.18); }
.inline-contact-send:disabled { opacity: .65; cursor: wait; }
.inline-contact-status { flex: 1; min-width: 220px; margin: 0; color: #45505a; font-size: 14px; }
.inline-contact-status.error { color: #a30f29; font-weight: 700; }
.inline-contact-trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
body.inline-contact-open { overflow: hidden; }
@media (max-width: 620px) {
  .inline-contact-modal { padding: 0; place-items: stretch; }
  .inline-contact-dialog { width: 100%; min-height: 100%; margin: 0; border-radius: 0; }
  .inline-contact-head { padding: 22px 64px 20px 20px; }
  .inline-contact-form { grid-template-columns: 1fr; padding: 22px 20px 26px; }
  .inline-contact-field.full, .inline-contact-actions { grid-column: 1; }
}
