/* Standalone dialog styles: shared by Home, Work and system pages. */
body.dialog-open { overflow: hidden; }
.dialog-layer {
  box-sizing: border-box;
  --inquiry-paper: #f6f6f5;
  --inquiry-ink: #090a0a;
  --inquiry-muted: #5f6469;
  --inquiry-line: rgba(9, 10, 10, .2);
  --inquiry-error: #9e2638;
  position: fixed;
  inset: var(--inquiry-viewport-top, 0px) 0 auto;
  width: 100%;
  max-width: none;
  height: var(--inquiry-viewport-height, 100dvh);
  max-height: none;
  margin: 0;
  padding: 16px;
  border: 0;
  overflow: hidden;
  background: transparent;
  color: var(--inquiry-ink);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
  color-scheme: light;
}
.dialog-layer[open] { display: grid; place-items: center; }
.dialog-layer:not([open]), .dialog-layer [hidden] { display: none !important; }
.dialog-layer *, .dialog-layer *::before, .dialog-layer *::after { box-sizing: border-box; }
.dialog-layer::backdrop { background: rgba(9, 10, 10, .58); backdrop-filter: blur(10px); }
.inquiry-dialog {
  position: relative;
  width: min(100%, 680px);
  max-height: 100%;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scroll-padding-block: 76px 24px;
  padding: 0 32px 30px;
  border: 1px solid var(--inquiry-line);
  border-radius: 28px;
  background: var(--inquiry-paper);
  color: var(--inquiry-ink);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .2);
}
.inquiry-toolbar {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  justify-content: flex-end;
  padding: 16px 0 8px;
  background: var(--inquiry-paper);
}
.dialog-layer button, .dialog-layer input, .dialog-layer select, .dialog-layer textarea { font: inherit; color: inherit; }
.dialog-layer button { cursor: pointer; }
.dialog-layer button, .dialog-layer a { -webkit-tap-highlight-color: transparent; }
.dialog-layer a { color: inherit; text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.dialog-layer :is(button, a):focus-visible { outline: 2px solid var(--inquiry-ink); outline-offset: 3px; }
.dialog-layer :is(h2, .inquiry-ready, .form-error):focus { outline: none; }
.dialog-close {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--inquiry-line);
  border-radius: 999px;
  background: var(--inquiry-paper);
  color: var(--inquiry-ink);
  font-size: 14px;
}
.inquiry-dialog h2 { margin: 10px 0 0; font-size: 48px; font-weight: 400; letter-spacing: -.055em; line-height: 1.04; text-wrap: balance; }
.dialog-intro { max-width: 440px; margin: 14px 0 0; color: var(--inquiry-muted); font-size: 16px; line-height: 1.5; }
.inquiry-dialog .inquiry-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 22px; margin-top: 26px; }
.inquiry-dialog .wide-field { grid-column: 1 / -1; }
.inquiry-dialog label { display: block; min-width: 0; }
.inquiry-dialog label > span { display: block; margin: 0 0 7px; font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.inquiry-dialog label > span small { color: var(--inquiry-muted); font: inherit; }
.inquiry-dialog :is(input:not([type="hidden"]), textarea, select) {
  display: block;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--inquiry-line);
  border-radius: 10px;
  outline: none;
  background: var(--inquiry-paper);
  color: var(--inquiry-ink);
  font-size: 16px;
  line-height: 1.5;
  box-shadow: none;
}
.inquiry-dialog select { cursor: pointer; }
.inquiry-dialog textarea { min-height: 104px; resize: vertical; }
.inquiry-dialog :is(input, textarea, select):focus { border-color: var(--inquiry-ink); }
.dialog-layer .inquiry-dialog :is(input, textarea, select):focus-visible { outline: 2px solid var(--inquiry-ink); outline-offset: 3px; }
.inquiry-dialog :is(input, textarea)[aria-invalid="true"] { border-color: var(--inquiry-error); }
.inquiry-dialog :is(input, textarea, select):disabled { cursor: wait; opacity: .65; }
.field-hint, .field-error { display: block; margin-top: 6px; font-size: 13px; line-height: 1.4; }
.field-hint { color: var(--inquiry-muted); }
.field-error { color: var(--inquiry-error); }
.inquiry-dialog .submit-button {
  display: inline-flex;
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin: 0;
  padding: 0 22px;
  border: 1px solid var(--inquiry-ink);
  border-radius: 999px;
  background: var(--inquiry-ink);
  color: var(--inquiry-paper);
  font-size: 14px;
  transition: opacity 140ms ease, transform 140ms ease;
}
.inquiry-dialog .submit-button:disabled { opacity: .58; cursor: not-allowed; }
.inquiry-dialog .inquiry-form[aria-busy="true"] .submit-button:disabled { cursor: wait; }
.inquiry-arrow { display: inline-block; width: 16px; height: 16px; flex: 0 0 16px; vertical-align: -.15em; }
.inquiry-arrow path { stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.inquiry-dialog :is(.privacy-note, .contact-fallback, .production-transport-notice) { display: block; margin: 0; color: var(--inquiry-muted); font-size: 12px; line-height: 1.5; }
.inquiry-dialog .privacy-note { margin-top: -4px; }
.inquiry-dialog .contact-fallback { margin-top: -12px; }
.inquiry-dialog .privacy-note a { white-space: nowrap; }
.inquiry-dialog .privacy-note .inquiry-arrow { width: 12px; height: 12px; }
.inquiry-dialog .form-error { margin: 0; color: var(--inquiry-error); font-size: 14px; line-height: 1.5; }
.inquiry-dialog .honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.inquiry-ready { margin-top: 28px; padding: 24px 0 6px; border-top: 1px solid var(--inquiry-line); }
.inquiry-ready p { margin: 0; max-width: 480px; font-size: 19px; line-height: 1.5; }
.inquiry-ready-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.inquiry-ready-actions button { min-height: 44px; margin: 0; padding: 0 16px; border: 1px solid var(--inquiry-line); border-radius: 999px; background: transparent; font-size: 14px; }
@media (hover: hover) {
  .dialog-layer button:not(:disabled):hover { opacity: .76; }
  .dialog-layer a:hover { text-decoration-thickness: 2px; }
}
.dialog-layer button:not(:disabled):active { transform: translateY(1px); }
@media (max-width: 559px) {
  .dialog-layer { padding: max(8px, env(safe-area-inset-top)) 10px max(8px, env(safe-area-inset-bottom)); }
  .inquiry-dialog { padding: 0 20px max(24px, env(safe-area-inset-bottom)); border-radius: 22px; }
  .inquiry-toolbar { padding-top: 12px; }
  .inquiry-dialog h2 { font-size: clamp(36px, 10vw, 44px); }
  .inquiry-dialog .inquiry-form { grid-template-columns: 1fr; gap: 18px; margin-top: 24px; }
  .inquiry-dialog textarea { min-height: 98px; }
  .inquiry-dialog .contact-fallback { margin-top: -10px; }
}
@media (prefers-color-scheme: dark) {
  .dialog-layer { --inquiry-paper: #08090a; --inquiry-ink: #f4f5f5; --inquiry-muted: #a6abb0; --inquiry-line: rgba(244, 245, 245, .24); --inquiry-error: #f07d8c; color-scheme: dark; }
}
@media (prefers-reduced-motion: reduce) {
  .dialog-layer *, .dialog-layer *::before, .dialog-layer *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
