.inquiry-dialog {
  width: min(1120px, calc(100% - 2rem));
  max-height: calc(100svh - 2rem);
  margin: auto;
  padding: 0;
  color: #f4f2ed;
  background: #0a0d12;
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 30px 100px rgba(0,0,0,.65);
}

.gallery-dialog {
  width: min(1280px, calc(100% - 2rem));
  max-height: calc(100svh - 2rem);
  margin: auto;
  padding: 0;
  color: #f4f2ed;
  background: #090c10;
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 30px 100px rgba(0,0,0,.65);
}

.gallery-dialog::backdrop {
  background: rgba(3,4,6,.86);
  backdrop-filter: blur(8px);
}

.gallery-shell {
  position: relative;
  padding: clamp(4rem, 6vw, 6.5rem) clamp(1.25rem, 4vw, 4rem) 3rem;
}

.gallery-heading {
  display: grid;
  grid-template-columns: .5fr 1fr .7fr;
  gap: 3rem;
  align-items: end;
  margin-bottom: 2.5rem;
}

.gallery-heading h2 {
  margin: 0;
  font: 300 clamp(2.5rem, 5vw, 6rem)/.95 Manrope, Arial, sans-serif;
  letter-spacing: -.06em;
}

.gallery-heading > p:last-child {
  margin: 0;
  color: #aeb2b9;
  line-height: 1.6;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255,255,255,.16);
}

.gallery-grid figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #11151a;
}

.gallery-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.gallery-grid figcaption {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  padding: .45rem .65rem;
  color: #fff;
  background: rgba(5,7,10,.76);
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.inquiry-dialog::backdrop {
  background: rgba(3,4,6,.82);
  backdrop-filter: blur(8px);
}
.dialog-shell {
  position: relative;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  min-height: min(760px, calc(100svh - 2rem));
}
.dialog-close {
  position: absolute;
  z-index: 2;
  top: 1.25rem;
  right: 1.25rem;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 50%;
  color: #fff;
  background: #0a0d12;
  cursor: pointer;
  font-size: 1.65rem;
  line-height: 1;
}
.dialog-intro {
  padding: clamp(2rem,5vw,5rem);
  background: linear-gradient(150deg,#0c1420,#17100e);
  border-right: 1px solid rgba(255,255,255,.14);
}
.dialog-intro h2 {
  margin: 0;
  font: 300 clamp(2.25rem,4vw,4.5rem)/.98 Manrope,Arial,sans-serif;
  letter-spacing: -.055em;
}
.dialog-intro > p:not(.section-label) {
  margin: 2rem 0 0;
  color: #afb3ba;
  line-height: 1.7;
}
.dialog-direct {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .9rem;
  margin-top: 3rem;
  font-size: .82rem;
}
.dialog-direct a { padding-bottom: .2rem; border-bottom: 1px solid #ffffff55; }
#inquiry-form { padding: clamp(3.25rem,5vw,5rem) clamp(1.5rem,4vw,4rem) 2.5rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; }
.form-grid > label,
.form-grid fieldset {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  min-width: 0;
  color: #b4b8bf;
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.form-grid input,
.form-grid select,
.form-grid textarea {
  width: 100%;
  min-height: 48px;
  padding: .75rem .85rem;
  color: #fff;
  background: #ffffff08;
  border: 1px solid #ffffff28;
  border-radius: 0;
  outline: none;
  letter-spacing: 0;
  text-transform: none;
}
.form-grid textarea { resize: vertical; }
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus { border-color: #d3b782; box-shadow: 0 0 0 1px #d3b782; }
.form-grid select option { color: #111; }
.form-grid .span-2 { grid-column: 1 / -1; }
.form-grid fieldset { margin: .4rem 0 0; padding: 1rem; border: 1px solid #ffffff28; }
.form-grid legend { padding: 0 .5rem; }
.check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 1rem; }
.check-grid label {
  display: flex;
  align-items: center;
  gap: .55rem;
  color: #e4e2dd;
  font-size: .82rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}
.check-grid input { width: 18px; min-height: 18px; accent-color: #c5a56f; }
.form-note { margin: 1.2rem 0; color: #8f949d; font-size: .76rem; line-height: 1.55; }
.form-submit {
  width: 100%;
  min-height: 56px;
  color: #0a0d12;
  background: #f1eee7;
  border: 0;
  cursor: pointer;
  font-weight: 600;
}
.form-submit:hover,.form-submit:focus-visible { background: #fff; }
.form-submit:disabled { cursor:wait; opacity:.72; }
.inquiry-status { min-height:1.4rem; margin:.85rem 0 0; color:#d8c49c; font-size:.82rem; line-height:1.5; }

@media (max-width: 800px) {
  .inquiry-dialog { width: 100%; max-height: 100svh; }
  .dialog-shell { grid-template-columns: 1fr; }
  .dialog-intro { padding: 4.5rem 1.5rem 2rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .dialog-intro > p:not(.section-label) { margin-top: 1.2rem; }
  .dialog-direct { margin-top: 1.5rem; }
  #inquiry-form { padding: 2rem 1.5rem; }
  .gallery-dialog { width: 100%; max-height: 100svh; }
  .gallery-heading { grid-template-columns: 1fr; gap: 1rem; }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 540px) {
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .span-2 { grid-column: auto; }
  .check-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr; }
}
