/* One final layout contract for every enquiry. Keep artwork separate from fields.
   Short windows and text zoom scroll the panel instead of clipping controls. */
html body main .znf{--form-room:calc(var(--ui-view,100svh) - var(--ui-header,var(--ds-header,88px)) - 24px);padding:12px clamp(12px,3vw,40px);scroll-margin-top:calc(var(--ui-header,88px) + 12px)}
html body main .znf .znf-shell{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:28px;max-width:1320px;min-height:0;height:auto;max-height:var(--form-room);padding:24px 28px 36px;overflow:auto;scrollbar-gutter:stable;border-radius:22px;align-items:stretch}
html body main .znf .znf-story{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0;padding:0!important;margin:0;gap:0}
html body main .znf .znf-kicker{margin-bottom:10px!important}
html body main .znf .znf-description{font-size:var(--ds-body-size,18px);line-height:1.4;margin-top:12px!important}
html body main .znf .znf-note{font-size:15px;line-height:1.4;margin-top:10px!important}
html body main .znf .znf-scene{position:relative;inset:auto;display:grid;place-items:center;flex:1 0 auto;width:100%;height:auto!important;min-height:140px;max-height:none;overflow:visible;margin:10px 0 0}
html body main .znf .znf-art{width:100%;height:clamp(150px,25svh,260px)!important;max-height:260px!important;object-fit:contain;object-position:center;max-width:100%;border-radius:0;animation:none}
html body main .znf .znf-panel{align-self:stretch;display:flex;flex-direction:column;padding:24px;min-width:0;max-width:100%;border-radius:16px;height:auto;max-height:none}
html body main .znf .znf-rule{margin-bottom:10px}
html body main .znf .znf-subtitle{font-size:16px;line-height:1.4}
html body main .znf .znf-form{margin-top:16px;min-width:0}
html body main .znf .znf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;align-items:start}
html body main .znf .znf-field{gap:5px;min-width:0;grid-column:auto}
html body main .znf .znf-field.znf-wide{grid-column:1/-1}
html body main .znf .znf-field>label,html body main .znf .znf-radio-field>legend{font:600 16px/1.3 Barlow,Arial,sans-serif}
html body main .znf .znf-field :is(input:not([type=radio]),select,textarea){font:400 16px/1.4 Barlow,Arial,sans-serif;height:46px;min-height:46px;padding:10px 12px;border-radius:8px;scroll-margin-block:20px}
html body main .znf .znf-field textarea{height:96px;min-height:96px;max-height:180px}
html body main .znf .znf-phone{font-size:20px;margin-top:10px}
html body main .znf .znf-phone>span:first-child{width:40px;height:40px}
html body main .znf :is(.znf-step-controls,.znf-actions){display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center;min-height:82px;align-content:start}
html body main .znf .znf-button{width:auto;min-height:46px;padding:11px 18px;border-radius:9px;font:700 17px/1.25 'Barlow Condensed',Barlow,sans-serif;flex:0 1 auto}
html body main .znf .znf-primary{color:#fff}
html body main .znf .znf-button:active:not(:disabled){transform:translateY(1px)}
html body main .znf .znf-reassurance{font-size:14px;flex-basis:100%;text-align:left}
html body main .znf .znf-step-heading{font:600 14px/1.4 Barlow,sans-serif;min-height:20px;margin:0 0 4px!important;outline-offset:3px}
html body main .znf .znf-step-bar{display:flex;gap:6px;margin:0 0 12px}
html body main .znf .znf-step-mark{appearance:none;position:relative;flex:1;height:26px;min-width:0;border:0;background:transparent;padding:0;cursor:pointer;border-radius:4px}
html body main .znf .znf-step-mark::after{content:'';position:absolute;left:0;right:0;top:11px;height:4px;background:#d6e2ef;border-radius:4px;transition:background .18s}
html body main .znf .znf-step-mark[data-current]::after{background:#0062ff}
html body main .znf .znf-step-mark:disabled{cursor:default;opacity:1}
html body main .znf .znf-step-stage{min-height:var(--form-stage-height,190px)}
html body main .znf .znf-group+.znf-group{margin-top:14px!important}
html body main .znf .znf-motion{left:24px;bottom:7px;min-height:24px;padding:3px 6px}
html body main .znf .znf-current{display:block;opacity:.45}
html body main .znf.rg{background:#f3f7fc}
html body main .znf .rg-card{max-width:960px;padding:24px;max-height:var(--form-room);overflow:auto;scrollbar-gutter:stable}
html body main .znf .rg-form{margin:0}
html body main .znf .rg-required-note{margin:0 0 12px}
html body main .znf .rg-phone{height:46px}
html body main .znf .rg-phone input{height:100%!important;border:0;border-radius:0}
html body main .znf :is(.znf-shell,.rg-card):focus-visible{outline:2px solid #26baff;outline-offset:2px}
@media(max-width:900px){
 html body main .znf .znf-shell{grid-template-columns:1fr;gap:16px;padding:20px 20px 34px}
 html body main .znf .znf-story{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center;gap:12px}
 html body main .znf .znf-copy{grid-column:1}
 html body main .znf .znf-scene{grid-column:2;grid-row:1;min-height:0;margin:0}
 html body main .znf .znf-art{height:170px!important;max-height:170px!important}
 html body main .znf .znf-description{font-size:16px}
 html body main .znf .znf-phone{grid-column:1/-1;margin:0}
 html body main .znf .znf-panel{padding:20px}
}
@media(max-width:700px){
 html body main .znf{padding:12px}
 html body main .znf .znf-shell{padding:16px 14px 32px;gap:14px;border-radius:18px}
 html body main .znf .znf-story{grid-template-columns:minmax(0,1fr) 110px;gap:8px}
 html body main .znf .znf-copy{display:contents}
 html body main .znf .znf-kicker,html body main .znf h2{grid-column:1}
 html body main .znf .znf-kicker{margin:0!important}
 html body main .znf .znf-description,html body main .znf .znf-note{grid-column:1/-1;margin-top:4px!important}
 html body main .znf .znf-scene{grid-column:2;grid-row:1/3}
 html body main .znf .znf-art{height:120px!important;max-height:120px!important}
 html body main .znf .znf-panel,html body main .znf .rg-card{padding:16px;border-radius:12px}
 html body main .znf .znf-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 html body main .znf .znf-button{flex:1;min-width:0}
 html body main .znf .znf-phone{font-size:17px}
 html body main .znf .znf-phone small{font-size:13px}
 html body main .znf .znf-step-stage{min-height:var(--form-stage-height,180px)}
}
@media(prefers-reduced-motion:reduce){html body main .znf *,html body main .znf *::after{animation:none!important;transition:none!important}}

/* Keep the repeat-enquiry control visible in the confirmed state. */
html body main .znf-form[data-submitted="true"]>[data-new-enquiry]:not([hidden]){display:inline-flex!important}
html body main .znf-form[data-submitted="true"]>.rg-required-note{display:none!important}
