.contact-form,
.subpage-contact-form{
  position:relative;
}

.file-drop-native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:0!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

.file-drop-enhancement{
  display:grid;
  gap:10px;
  min-width:0;
}

.file-drop-zone{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  width:100%;
  min-height:92px;
  padding:16px 18px;
  overflow:hidden;
  border:1px dashed var(--control,#818287);
  border-radius:var(--radius,4px);
  background:
    linear-gradient(110deg,rgba(255,255,255,.72),rgba(255,255,255,.18) 58%,transparent 58%),
    var(--surface,#fafaf8);
  color:var(--text,var(--ink,#414246));
  font:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:inset 0 1px rgba(255,255,255,.78);
  transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.16,1,.3,1);
}

.file-drop-zone:after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-42px;
  right:44px;
  width:1px;
  height:178px;
  background:rgba(89,91,97,.13);
  box-shadow:13px 0 0 rgba(255,135,38,.2);
  transform:rotate(24deg);
  pointer-events:none;
}

.file-drop-zone:hover{
  border-color:var(--ink-deep,#393a3d);
  background-color:#fff;
  box-shadow:0 10px 26px rgba(57,58,61,.1),inset 0 1px rgba(255,255,255,.9);
}

.file-drop-zone:active{transform:translateY(1px)}

.file-drop-zone:focus-visible{
  border-color:var(--accent,#ff8726);
  outline:2px solid var(--ink-deep,#393a3d);
  outline-offset:2px;
  box-shadow:0 0 0 5px var(--accent,#ff8726);
}

.file-drop-zone[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.66;
}

.file-drop-zone-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  background:var(--ink-deep,#393a3d);
  color:var(--accent,#ff8726);
}

.file-drop-glyph{font:500 30px/1 "Instrument Sans",Arial,sans-serif}
.file-drop-zone-copy{display:grid;gap:3px;min-width:0}
.file-drop-zone-copy strong{color:var(--ink-deep,#393a3d);font-size:14px;font-weight:800;line-height:1.25}
.file-drop-zone-copy span{color:var(--muted,#65666b);font-size:11px;line-height:1.4}

.file-drop-zone-action{
  position:relative;
  z-index:1;
  align-self:center;
  padding:5px 0 4px;
  border-bottom:2px solid var(--accent,#ff8726);
  color:var(--ink-deep,#393a3d);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.file-drop-summary{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  min-height:18px;
}

.file-drop-count{
  flex:0 0 auto;
  color:var(--ink-deep,#393a3d);
  font-size:11px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.file-drop-status{
  margin:0;
  color:var(--muted,#65666b);
  font-size:11px;
  line-height:1.4;
  text-align:right;
}

.file-drop-status:empty{display:none}

.file-drop-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 10px;
  margin:0;
  padding:0;
  list-style:none;
}

.file-drop-list[hidden]{display:none}

.file-drop-item{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 40px;
  gap:10px;
  align-items:center;
  min-width:0;
  min-height:52px;
  padding:7px 7px 7px 9px;
  border:1px solid rgba(89,91,97,.26);
  border-radius:var(--radius,4px);
  background:rgba(255,255,255,.48);
}

.file-drop-file-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(89,91,97,.26);
  color:var(--accent-dark,#b84d00);
}

.file-drop-file-icon{font-size:9px;font-weight:850;letter-spacing:.04em}
.file-drop-file-copy{display:grid;gap:1px;min-width:0}
.file-drop-file-copy strong{overflow:hidden;color:var(--ink-deep,#393a3d);font-size:11px;font-weight:750;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.file-drop-file-copy small{color:var(--muted,#65666b);font-size:9px;line-height:1.2}

.file-drop-remove{
  display:grid;
  place-items:center;
  width:40px;
  height:34px;
  padding:0;
  border:0;
  border-radius:var(--radius,4px);
  background:transparent;
  color:var(--muted,#65666b);
  font:750 9px/1 "Instrument Sans",Arial,sans-serif;
  cursor:pointer;
  transition:background .18s ease,color .18s ease;
}

.file-drop-remove:hover{background:var(--ink-deep,#393a3d);color:var(--white,#f9fbff)}
.file-drop-remove:focus-visible{outline:2px solid var(--ink-deep,#393a3d);outline-offset:2px;background:var(--accent,#ff8726);color:var(--ink-deep,#393a3d)}

.file-drop-overlay{
  position:absolute;
  z-index:50;
  inset:10px;
  display:grid;
  place-items:center;
  padding:22px;
  border:2px solid var(--accent,#ff8726);
  background:rgba(45,46,49,.94);
  color:var(--white,#f9fbff);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(.985);
  transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
}

.file-drop-overlay:before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px dashed rgba(255,255,255,.42);
}

.file-drop-overlay-inner{position:relative;z-index:1;display:grid;justify-items:center;gap:12px;text-align:center}
.file-drop-overlay-icon{display:grid;place-items:center;width:58px;height:58px;background:var(--accent,#ff8726);color:var(--ink-deep,#393a3d)}
.file-drop-overlay strong{font-family:"Playfair Display",Georgia,serif;font-size:clamp(25px,2.4vw,36px);font-weight:600;letter-spacing:-.025em}
.file-drop-overlay span{color:rgba(249,251,255,.72);font-size:12px}

.contact-form.is-file-dragging .file-drop-overlay,
.subpage-contact-form.is-file-dragging .file-drop-overlay{
  opacity:1;
  visibility:visible;
  transform:none;
  transition-delay:0s;
}

@media(max-width:640px){
  .file-drop-zone{grid-template-columns:42px minmax(0,1fr);min-height:98px;padding:14px;gap:12px}
  .file-drop-zone-icon{width:42px;height:42px}
  .file-drop-zone-action{grid-column:2;justify-self:start;margin-top:-4px}
  .file-drop-list{grid-template-columns:1fr}
  .file-drop-summary{display:grid;gap:3px}
  .file-drop-status{text-align:left}
  .file-drop-overlay{inset:7px}
}

@media(prefers-reduced-motion:reduce){
  .file-drop-zone,.file-drop-remove,.file-drop-overlay{transition:none}
}

@media(prefers-contrast:more){
  .file-drop-zone,.file-drop-item{border:2px solid var(--ink-deep,#393a3d)}
  .file-drop-file-icon{border:2px solid currentColor}
}
