.inquiry-page { margin:0; padding:40px 24px; min-height:100svh; }
.inquiry-page.inquiry-embedded { min-height:0; padding:0; }
/* Embedded in a page that already carries the brand, the heading, the offer
   and the sandbox note, the form drops its own copies of all of them. What is
   left is the form itself, which is the only reason it was embedded. The
   heading goes too: the host section already says "Contact us" directly above
   the frame, and the frame repeating it read as two headings for one form.
   The accessible name is kept on the frame by its title attribute. */
.inquiry-embedded .inquiry-brand,
.inquiry-embedded .nx-sandbox-banner,
.inquiry-embedded .inquiry-intro,
.inquiry-embedded .inquiry-content > h1 { display: none; }
.inquiry-embedded .inquiry-content { padding: 0; }
/* Embedded, the form fills the frame it was given: the host sized that frame,
   and a fit-content box inside it leaves a margin the host did not ask for. */
.inquiry-embedded .inquiry-content { inline-size:100%; max-inline-size:none; }
.inquiry-content { inline-size:fit-content; max-inline-size:min(100%,42rem); margin-inline:auto; }
.inquiry-brand { display:inline-flex; margin-bottom:28px; }
.inquiry-content h1 { margin:0 0 14px; font-size:clamp(28px,5vw,36px); line-height:1.15; letter-spacing:-.025em; }
.inquiry-intro { max-width:52ch; color:var(--ink-soft); font-size:16px; line-height:1.6; margin:0 0 28px; }
/* Two columns where two fit, one where they do not, decided by the space the
   grid actually has rather than by the width of the window. That distinction
   is the whole bug this replaced: the old rule asked for two fixed 20rem
   tracks and dropped to one column at a 520px VIEWPORT breakpoint, so an
   iframe between about 520 and 660px wide got two 320px columns inside a
   560px frame and the fields ran off the right edge. auto-fit cannot overflow,
   because the track floor is 0 and the frame's own width is the limit. */
.inquiry-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr)); gap:18px 20px; max-inline-size:42rem; }
.inquiry-fields .nx-field { margin:0; min-inline-size:0; }
/* Nothing in a bounded form may be wider than its own track. */
.inquiry-fields .nx-input,.inquiry-fields .nx-select,.inquiry-fields textarea { box-sizing:border-box; max-inline-size:100%; }
.inquiry-fields .nx-input,.inquiry-fields .nx-select { min-height:44px; font-size:16px; }
.inquiry-fields textarea { resize:vertical; line-height:1.5; }
.inquiry-message { grid-column:1/-1; }
.inquiry-consent { display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.5; margin-top:22px; }
.inquiry-consent input { margin-top:4px; accent-color:var(--rose-deep); }
.inquiry-privacy { font-size:13px; line-height:1.6; color:var(--ink-soft); max-width:66ch; margin:12px 0 20px; }
.inquiry-content a { color:var(--rose-deep); }
.inquiry-content .nx-btn { min-height:44px; }
.inquiry-content .nx-sandbox-banner { margin-top:32px; }
.inquiry-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.inquiry-error { color:var(--late); max-width:60ch; line-height:1.5; margin-block:16px; }
.inquiry-success { max-width:55ch; margin-block:26px; }
.inquiry-success h2 { margin-bottom:10px; }
.inquiry-success p { line-height:1.6; }
#inquiry-reference { color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.verification { margin-block:16px; }
[hidden] { display:none !important; }
/* The fields no longer need a breakpoint: the grid above collapses itself on
   its own width. Only the standalone page's outer padding is set here. */
@media(max-width:520px) { .inquiry-page { padding:24px 18px; } }
