.specification-form{position:relative;display:block!important;width:100%;min-width:0;color:#f3f6f8;background:#182a33;border:1px solid #ffffff30;border-radius:10px;padding:20px;text-align:left;box-sizing:border-box}
.specification-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.specification-fields label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:450;line-height:1.3}
.specification-fields label>span{display:contents;color:#ff704d}
.specification-fields input,.specification-fields textarea{width:100%;min-width:0;border:1px solid #70838d;background:#10212a;color:#fff;border-radius:5px;padding:9px 10px;font:inherit;box-sizing:border-box}
.specification-fields input{height:37px}.specification-fields textarea{resize:vertical;min-height:59px;line-height:1.45}
.specification-fields input:focus,.specification-fields textarea:focus{outline:2px solid #ff6033;outline-offset:2px}
.specification-fields textarea::placeholder{color:#b2c0c8}.specification-wide{grid-column:1/-1}
.specification-upload{margin:12px 0 0;border:1px dashed #8499a4;padding:10px 12px;border-radius:6px;background:#ffffff04;position:relative}
.specification-upload label{cursor:pointer;display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.4}
.specification-upload label .icon{width:23px;height:23px;color:#ff6033;flex-shrink:0}
.specification-upload label small{display:block;font-size:10px;color:#c3d0d7;margin-top:2px;line-height:1.4}
.specification-upload input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.specification-upload:focus-within{outline:2px solid #ff6033;outline-offset:2px}
.specification-upload.drag-over{border-color:#ff6033;background:#ff603317}
.specification-upload [data-file-status]{font-size:12px;overflow-wrap:anywhere;margin:6px 0 0;color:#d2e0e7}
.specification-upload [data-file-status]:empty,.specification-result:empty{display:none}
.specification-remove{margin-top:5px;padding:4px 0;border:0;background:none;color:#ffb199;cursor:pointer;text-decoration:underline;font:inherit;font-size:12px}
.specification-form .specification-hint{font-size:10px;line-height:1.5;color:#c1cfd6;margin:8px 0 0;overflow-wrap:anywhere}.specification-hint a{color:inherit;text-decoration:underline}
.specification-consent{display:flex!important;align-items:flex-start;gap:8px;font-size:11px;line-height:1.4;margin:12px 0}
.specification-consent input{width:16px;height:16px;flex-shrink:0;accent-color:#ff6033;margin:0}
.specification-form>.button{width:100%;justify-content:center;min-height:42px;padding:10px 16px;font-size:13px}
.specification-form .button:disabled{opacity:.65;cursor:wait}
.specification-form .specification-result{font-size:13px;line-height:1.5;margin:10px 0 0;white-space:pre-line;overflow-wrap:anywhere}
.specification-result[data-state=success]{color:#a8f0c0}.specification-result[data-state=error],.specification-errors{color:#ffc1aa}
.specification-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.specification-dialog{width:min(560px,calc(100% - 24px));max-height:90dvh;padding:22px;border:1px solid #68808c;border-radius:12px;background:#182a33;color:#fff;overflow:auto}
.specification-dialog::backdrop{background:#07151dc7}.specification-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.specification-dialog-top h2{font-size:24px!important;line-height:1.25;margin:0}.specification-dialog-top button{border:0;background:none;color:white;font-size:32px;cursor:pointer;padding:0 5px}
.specification-dialog .specification-form{border:0;padding:0}
.cns-contact-card:has(.specification-form),.portfolio-contact:has(.specification-form){padding:0;background:transparent;border:0}
.request-section .quote-grid{align-items:start}
.contact-request>.container{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center}
.contact-request .contact-request-intro{text-align:left;margin:0}.contact-request .specification-form{max-width:580px;justify-self:end}
@media(max-width:900px){.contact-request>.container{grid-template-columns:1fr;gap:24px}.contact-request .specification-form{justify-self:start}}
@media(max-width:540px){.specification-form{padding:16px}.specification-fields{gap:10px}.specification-fields input,.specification-fields textarea{font-size:16px}.specification-fields textarea{min-height:67px}.specification-dialog{padding:18px}.specification-dialog-top h2{font-size:21px!important}}
@media(max-width:350px){.specification-fields{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.specification-form *{scroll-behavior:auto}}
