#request-dialog {
  width: min(760px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: 48px 40px 36px;
  border-radius: 0;
  color: #000;
  font-family: Manrope, Arial, sans-serif;
  letter-spacing: 0;
}
#request-dialog::backdrop { background: rgb(4 20 27 / 78%); backdrop-filter: blur(4px); }
#request-dialog .request-close {
  position: absolute; top: 20px; right: 22px;
  width: 40px; height: 40px; min-height: 40px; padding: 4px;
  border: 0; color: #000; background: transparent;
}
#request-dialog .request-close svg { width: 32px; height: 32px; stroke-width: 1.5; }
#request-dialog .request-close:hover { background: #f2f4f5; }
#request-dialog .request-heading { margin-bottom: 46px; }
#request-dialog h2 {
  margin: 0; padding-right: 26px; font: 700 36px/1.2 Manrope, Arial, sans-serif;
  text-transform: uppercase; overflow-wrap: anywhere;
}
#request-description { margin: 8px 0 0; color: #7b8c95; font-size: 18px; line-height: 1.5; }
#request-dialog .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
#request-dialog .form-grid label { min-width: 0; gap: 7px; }
#request-dialog .form-grid label > span {
  font-size: 12px; font-weight: 700; line-height: 1.5; color: #596c76; text-transform: uppercase;
}
#request-dialog input:not([type=checkbox]):not([type=file]), #request-dialog textarea {
  width: 100%; min-width: 0; height: 50px; margin: 0; padding: 14px 20px;
  background: #f3f5f6; border: 1px solid #d8e0e4; border-radius: 0;
  color: #17272d; font: 500 16px/1.4 Oswald, 'Arial Narrow', sans-serif;
}
#request-dialog input::placeholder, #request-dialog textarea::placeholder { color: #858585; opacity: 1; }
#request-dialog .request-comment { position: relative; min-width: 0; }
#request-dialog textarea { display: block; height: 114px; min-height: 114px; resize: vertical; margin-top: 7px; padding-right: 44px; }
#request-dialog .request-attachment {
  position: absolute; right: 5px; top: 90px; width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center; color: #73858f;
  cursor: pointer; overflow: hidden;
}
#request-dialog .request-attachment svg { width: 20px; height: 20px; pointer-events: none; }
#request-dialog .request-attachment input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
#request-dialog .request-attachment:hover { color: #ef762c; }
#request-dialog .request-attachment:focus-within { color: #17272d; background: #e5ebee; }
#request-filename { display: block; margin-top: 6px; color: #596c76; font-size: 12px; overflow-wrap: anywhere; }
#request-filename[hidden] { display: none; }
#request-dialog .consent { gap: 10px; align-items: flex-start; }
#request-dialog .consent input {
  appearance: none; flex: 0 0 20px; width: 20px; height: 20px; min-height: 0;
  margin: 0; padding: 0; border: 2px solid #777; border-radius: 0; background: #fff;
}
#request-dialog .consent input:checked { appearance: auto; accent-color: #f4772c; }
#request-dialog .form-grid .consent > span { color: #96a3ad; text-transform: none; font-size: 12px; line-height: 20px; font-weight: 400; }
#request-dialog .consent a { color: #ff876d; text-decoration: none; }
#request-dialog .consent a:hover { text-decoration: underline; }
#request-dialog .full-button { height: 58px; margin-top: 18px; padding: 12px 20px; background: #f4772c; font-size: 14px; font-weight: 700; }
#request-dialog .full-button:hover { background: #d9631a; }
#request-dialog .full-button:disabled { opacity: .65; cursor: wait; }
#request-dialog #request-result { font-size: 14px; margin-top: 18px; }
#request-dialog :focus { outline: none; box-shadow: none; }
#request-dialog input:focus, #request-dialog textarea:focus { border-color: #81939c; }
#request-dialog .request-close:focus-visible { background: #e5ebee; }
#request-dialog .full-button:focus-visible { background: #d9631a; text-decoration: underline; text-underline-offset: 3px; }
#request-dialog a:focus-visible { color: #a73f28; text-decoration: underline; }
#request-dialog .consent input:focus-visible { border-color: #17272d; }
@media (max-width: 760px) {
  #request-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 48px 22px 24px; }
  #request-dialog .request-close { top: 10px; right: 10px; }
  #request-dialog h2 { font-size: 28px; padding-right: 0; }
  #request-description { font-size: 15px; }
  #request-dialog .request-heading { margin-bottom: 28px; }
  #request-dialog .form-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #request-dialog .full { grid-column: 1 / -1; }
  #request-dialog input:not([type=checkbox]):not([type=file]), #request-dialog textarea { padding-left: 14px; }
}
