.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
.modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.modal__backdrop{position:absolute;inset:0;background:#050505bf;backdrop-filter:blur(8px)}
.modal__dialog{position:relative;z-index:1;width:min(820px,100%);padding:54px;border-radius:42px;background:linear-gradient(145deg,#f7f7f7,#fff);box-shadow:0 24px 70px #0008;transform:translateY(22px) scale(.98);transition:transform .24s ease}
.modal.is-open .modal__dialog{transform:translateY(0) scale(1)}
.modal__close{position:absolute;top:16px;right:20px;width:40px;height:40px;border:0;border-radius:50%;background:#111;color:#fff;font:400 28px/1 Arial;cursor:pointer}
.modal h2{margin:0;text-align:center;color:#090909;font:400 clamp(25px,3vw,43px)/1.1 "Days One",Manrope,Arial,sans-serif;letter-spacing:-.04em}
.modal p{margin:16px 0 28px;text-align:center;color:#1a1a1a;font-size:18px}
.modal form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px;border-radius:32px;background:#e9e9e9}
.modal label{display:block}.modal input,.modal select{width:100%;min-height:70px;padding:0 26px;border:0;border-radius:38px;background:#000;color:#fff;font:600 16px Manrope,Arial,sans-serif;outline:0}
.modal select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9d9d9d 50%),linear-gradient(135deg,#9d9d9d 50%,transparent 50%);background-position:calc(100% - 28px) 30px,calc(100% - 20px) 30px;background-size:8px 8px,8px 8px;background-repeat:no-repeat}
.modal input::placeholder,.modal select:invalid{color:#9d9d9d;opacity:1}.modal input:focus,.modal select:focus{box-shadow:0 0 0 3px #e43029}
.modal form button{grid-column:1 / -1;min-height:70px;border:0;border-radius:38px;background:#ff120d;color:#fff;font:400 18px "Days One",Manrope,Arial,sans-serif;cursor:pointer;transition:.2s ease}.modal form button:hover{background:#c71612;transform:translateY(-2px)}
body.modal-open{overflow:hidden}
@media(max-width:600px){.modal{padding:12px}.modal__dialog{padding:48px 18px 18px;border-radius:28px}.modal form{grid-template-columns:1fr;padding:14px;border-radius:24px}.modal h2{font-size:25px}.modal p{font-size:14px}.modal input,.modal select,.modal form button{min-height:60px;font-size:14px}.modal select{background-position:calc(100% - 24px) 25px,calc(100% - 16px) 25px}}
