:root { --rfq-blue: #2f6fed; --rfq-ink: #17253b; --rfq-line: rgba(82,113,151,.18); }
.quote-page { min-height: 100vh; background: #edf4fb; }
.quote-page::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:2; background:radial-gradient(circle at 9% 16%,rgba(72,143,232,.13),transparent 34%),radial-gradient(circle at 88% 74%,rgba(255,141,64,.11),transparent 28%); }
.quote-page .site-ui { min-height:100vh; }
.rfq-shell { padding:122px 22px 48px; min-height:calc(100vh - 92px); }
.rfq-wrap { width:min(1320px,100%); margin:0 auto; display:grid; grid-template-columns:minmax(300px,390px) minmax(0,1fr); gap:26px; align-items:start; }
.rfq-intro,.rfq-panel { border:1px solid rgba(255,255,255,.86); box-shadow:0 24px 70px rgba(44,82,123,.13),inset 0 1px 0 rgba(255,255,255,.95); }
.rfq-intro { position:sticky; top:106px; overflow:hidden; padding:42px 38px 34px; border-radius:26px; background:linear-gradient(145deg,rgba(24,55,93,.98),rgba(42,85,135,.95)); color:#fff; }
.rfq-intro::before { content:""; position:absolute; width:310px; height:310px; border:1px solid rgba(255,255,255,.09); border-radius:50%; right:-155px; top:66px; box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 86px rgba(255,255,255,.018); }
.rfq-intro::after { content:"HS"; position:absolute; right:-8px; bottom:-48px; font-size:180px; line-height:1; font-weight:950; letter-spacing:-.08em; color:rgba(255,255,255,.026); }
.rfq-kicker { position:relative; z-index:1; display:flex; align-items:center; gap:10px; color:#bcd7f7; font-size:10px; letter-spacing:.18em; font-weight:700; }
.rfq-kicker i { width:28px; height:2px; border-radius:2px; background:#ff975b; box-shadow:0 0 12px rgba(255,151,91,.65); }
.rfq-intro h1 { position:relative; z-index:1; margin:24px 0 16px; color:#fff; font-size:clamp(30px,2.3vw,42px); line-height:1.28; font-weight:900; letter-spacing:.01em; }
.rfq-intro h1 span { color:#ffac74; }
.rfq-lead { position:relative; z-index:1; color:rgba(231,241,252,.75); font-size:14px; line-height:1.9; }
.rfq-steps { position:relative; z-index:1; margin:32px 0; padding:0; list-style:none; }
.rfq-steps li { position:relative; display:flex; gap:15px; align-items:flex-start; padding:0 0 22px; }
.rfq-steps li:not(:last-child)::after { content:""; position:absolute; top:31px; left:16px; bottom:4px; width:1px; background:rgba(179,208,239,.22); }
.rfq-steps b { flex:0 0 33px; height:33px; display:grid; place-items:center; border:1px solid rgba(185,213,243,.33); border-radius:50%; font-size:10px; letter-spacing:.05em; color:#c8dcf3; }
.rfq-steps .is-current b { background:#ff8d4e; border-color:#ff8d4e; color:#fff; box-shadow:0 7px 20px rgba(255,123,44,.3); }
.rfq-steps span { min-width:0; }
.rfq-steps strong,.rfq-steps small { display:block; }
.rfq-steps strong { color:#f7fbff; font-size:14px; line-height:1.35; font-weight:750; }
.rfq-steps small { margin-top:5px; color:rgba(207,225,245,.62); font-size:11px; line-height:1.5; }
.rfq-assurance { position:relative; z-index:1; display:grid; gap:9px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }
.rfq-assurance>div { display:flex; align-items:center; gap:12px; padding:10px 0; }
.rfq-assurance svg { width:27px; height:27px; flex:0 0 auto; fill:none; stroke:#87b7ed; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.rfq-assurance span,.rfq-assurance strong,.rfq-assurance small { display:block; }
.rfq-assurance strong { color:#fff; font-size:13px; }
.rfq-assurance small { margin-top:3px; color:rgba(216,231,247,.62); font-size:10px; line-height:1.5; }
.rfq-contact-card { position:relative; z-index:1; margin-top:20px; padding:16px 18px; display:grid; grid-template-columns:1fr auto; gap:4px 12px; border:1px solid rgba(255,255,255,.11); border-radius:15px; background:rgba(255,255,255,.06); }
.rfq-contact-card span { grid-row:1/3; align-self:center; color:rgba(222,236,250,.7); font-size:11px; }
.rfq-contact-card a { color:#fff; font-weight:760; font-size:13px; letter-spacing:.04em; white-space:nowrap; }
.rfq-panel { border-radius:26px; padding:36px clamp(22px,4vw,48px) 42px; background:rgba(255,255,255,.88); -webkit-backdrop-filter:blur(26px); backdrop-filter:blur(26px); }
.rfq-panel-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding-bottom:24px; border-bottom:1px solid var(--rfq-line); }
.rfq-panel-head>div>span { color:#71839a; font-size:10px; letter-spacing:.2em; font-weight:700; }
.rfq-panel-head h2 { margin-top:7px; font-size:clamp(25px,3vw,34px); font-weight:900; color:var(--rfq-ink); }
.rfq-response-badge { display:flex; align-items:center; gap:8px; padding:9px 13px; border-radius:999px; background:#eef7f1; color:#337a56; font-size:11px; font-weight:700; white-space:nowrap; }
.rfq-response-badge i { width:7px; height:7px; border-radius:50%; background:#3dac72; box-shadow:0 0 0 5px rgba(61,172,114,.12); }
.rfq-fieldset { border:0; min-width:0; padding:28px 0 8px; margin:0; }
.rfq-fieldset+ .rfq-fieldset { border-top:1px solid var(--rfq-line); margin-top:20px; }
.rfq-fieldset legend { width:100%; display:flex; align-items:center; gap:10px; padding:0 0 19px; color:var(--rfq-ink); font-size:15px; font-weight:820; }
.rfq-fieldset legend b { width:27px; height:27px; display:grid; place-items:center; border-radius:8px; background:#eaf2ff; color:#3b70cc; font-size:10px; }
.rfq-fieldset legend em { margin-left:auto; color:#8795a7; font-size:10px; font-weight:500; font-style:normal; }
.rfq-grid { display:grid; gap:17px; }
.rfq-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rfq-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rfq-field { display:block; min-width:0; }
.rfq-field>span { display:block; min-height:18px; margin-bottom:7px; color:#526176; font-size:11px; font-weight:680; letter-spacing:.02em; }
.rfq-field>span i { color:#f0703e; font-style:normal; margin-right:3px; }
.rfq-field input,.rfq-field select,.rfq-field textarea { width:100%; border:1px solid #d7e1ec; border-radius:10px; background:rgba(248,251,255,.9); color:#22334b; font:inherit; font-size:13px; outline:0; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.rfq-field input,.rfq-field select { height:44px; padding:0 13px; }
.rfq-field textarea { min-height:120px; padding:13px; resize:vertical; line-height:1.7; }
.rfq-field input:hover,.rfq-field select:hover,.rfq-field textarea:hover { border-color:#b6c7d9; }
.rfq-field input:focus,.rfq-field select:focus,.rfq-field textarea:focus { border-color:#5a8fea; background:#fff; box-shadow:0 0 0 4px rgba(61,121,226,.1); }
.rfq-field input[aria-invalid="true"],.rfq-field select[aria-invalid="true"],.rfq-field textarea[aria-invalid="true"] { border-color:#ef765f; box-shadow:0 0 0 4px rgba(239,118,95,.09); }
.rfq-field input::placeholder,.rfq-field textarea::placeholder { color:#a0adbc; }
.rfq-requirement { position:relative; margin-top:17px; }
.rfq-count { position:absolute; right:10px; bottom:9px; padding:2px 5px; color:#98a4b2; font-size:9px; background:rgba(248,251,255,.82); border-radius:5px; }
.rfq-count b { font-weight:500; }
.rfq-error { display:block; min-height:0; margin-top:5px; color:#d94f3d; font-size:10px; line-height:1.35; }
.rfq-error:empty { display:none; }
.rfq-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }
.rfq-dropzone { position:relative; display:flex; align-items:center; justify-content:center; gap:18px; min-height:150px; padding:25px; border:1.5px dashed #aac2df; border-radius:15px; background:linear-gradient(135deg,rgba(241,247,255,.92),rgba(249,252,255,.86)); text-align:left; cursor:pointer; transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.rfq-dropzone:hover,.rfq-dropzone:focus-visible,.rfq-dropzone.is-dragover { border-color:#4b85de; background:#edf5ff; transform:translateY(-1px); }
.rfq-dropzone input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.rfq-upload-icon { width:58px; height:58px; flex:0 0 auto; display:grid; place-items:center; border-radius:18px; background:#fff; color:#3b75d6; box-shadow:0 9px 25px rgba(61,112,177,.13); }
.rfq-upload-icon svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.rfq-dropzone strong { display:block; color:#253750; font-size:14px; }
.rfq-dropzone p { margin-top:6px; color:#67778c; font-size:11px; line-height:1.55; }
.rfq-dropzone small { display:block; margin-top:5px; color:#98a5b4; font-size:9px; }
.rfq-file-summary { display:flex; justify-content:space-between; gap:12px; padding:13px 4px 7px; color:#6b7b90; font-size:10px; }
.rfq-file-summary b { color:#2d5fa9; }
.rfq-file-list { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.rfq-file-list li { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:11px; align-items:center; padding:10px 11px; border:1px solid #e0e8f1; border-radius:11px; background:#fbfdff; }
.rfq-file-ext { width:38px; height:38px; display:grid; place-items:center; border-radius:9px; background:#edf4fd; color:#4272ba; font-size:8px; font-weight:850; letter-spacing:.04em; }
.rfq-file-meta { min-width:0; }
.rfq-file-meta strong,.rfq-file-meta small { display:block; }
.rfq-file-meta strong { overflow:hidden; color:#33445a; font-size:11px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.rfq-file-meta small { margin-top:3px; color:#8a98a8; font-size:9px; }
.rfq-file-remove { position:relative; z-index:2; width:31px; height:31px; display:grid; place-items:center; border:0; border-radius:8px; background:transparent; color:#8794a3; cursor:pointer; }
.rfq-file-remove:hover { color:#dc5e49; background:#fff0ed; }
.rfq-file-remove svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.rfq-global-error,.rfq-submit-error { color:#c94939; font-size:11px; line-height:1.55; }
.rfq-global-error { margin-top:8px; }
.rfq-consent { display:flex; align-items:flex-start; gap:10px; margin:25px 0 20px; color:#66778c; font-size:10px; line-height:1.65; cursor:pointer; }
.rfq-consent input { width:16px; height:16px; margin-top:1px; accent-color:#3679dc; flex:0 0 auto; }
.rfq-consent>span { display:block; }
.rfq-submit-row { display:flex; align-items:center; gap:22px; }
.rfq-submit { min-width:220px; height:52px; display:flex; align-items:center; justify-content:center; gap:14px; border:0; border-radius:12px; background:linear-gradient(115deg,#ff8b4f,#ff6f32); color:#fff; font-size:14px; font-weight:820; box-shadow:0 12px 27px rgba(238,101,42,.25); cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,filter .2s ease; }
.rfq-submit:hover { transform:translateY(-2px); filter:saturate(1.08); box-shadow:0 16px 34px rgba(238,101,42,.31); }
.rfq-submit:active { transform:translateY(0) scale(.985); }
.rfq-submit:disabled { cursor:wait; opacity:.72; transform:none; }
.rfq-submit svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.rfq-submit-row p { display:flex; align-items:center; gap:7px; color:#8090a3; font-size:9px; line-height:1.45; }
.rfq-submit-row p svg { width:17px; height:17px; flex:0 0 auto; fill:none; stroke:#5d86bc; stroke-width:1.7; stroke-linecap:round; }
.rfq-progress { margin-top:18px; }
.rfq-progress>div { display:flex; justify-content:space-between; gap:15px; color:#607087; font-size:10px; }
.rfq-progress>div b { color:#3474d1; }
.rfq-progress>i { display:block; height:6px; margin-top:8px; overflow:hidden; border-radius:99px; background:#e4ebf4; }
.rfq-progress>i span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#3d83eb,#33b5cf); transition:width .15s linear; }
.rfq-submit-error { margin-top:13px; padding:11px 13px; border:1px solid #f1c1b7; border-radius:9px; background:#fff4f2; }
.rfq-success { padding:74px 20px 50px; text-align:center; }
.rfq-success-icon svg { width:72px; height:72px; fill:none; stroke:#36a770; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.rfq-success>span { display:block; margin-top:22px; color:#6a87aa; font-size:9px; letter-spacing:.22em; font-weight:750; }
.rfq-success h2 { margin-top:9px; color:var(--rfq-ink); font-size:32px; font-weight:900; }
.rfq-success>p { width:min(570px,100%); margin:13px auto 0; color:#6c7c91; font-size:13px; line-height:1.8; }
.rfq-number { width:min(470px,100%); margin:28px auto 0; padding:18px 17px; display:grid; grid-template-columns:1fr auto; gap:5px 15px; text-align:left; border:1px solid #cfe0f3; border-radius:14px; background:#f2f7fd; }
.rfq-number small { grid-column:1/3; color:#7b8ca0; font-size:9px; }
.rfq-number strong { color:#245b9f; font-size:20px; letter-spacing:.08em; }
.rfq-number button { border:0; background:transparent; color:#3474ca; font-size:11px; cursor:pointer; }
.rfq-success-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:22px; }
.rfq-success-actions a { padding:10px 17px; border:1px solid #d2dfed; border-radius:9px; color:#536b88; font-size:11px; font-weight:700; }
.rfq-success-actions a:last-child { border-color:#ff9362; color:#dd632d; }
.rfq-footer { width:min(1320px,calc(100% - 44px)); margin:0 auto; padding:22px 0 30px; display:flex; justify-content:space-between; gap:18px; border-top:1px solid rgba(81,112,150,.13); color:#8694a5; font-size:10px; }

@media (max-width:1023px) {
  .rfq-shell { padding-top:100px; }
  .rfq-wrap { grid-template-columns:1fr; }
  .rfq-intro { position:relative; top:auto; padding:30px; }
  .rfq-intro h1 br { display:none; }
  .rfq-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:27px 0 20px; }
  .rfq-steps li { padding:0; }
  .rfq-steps li::after { display:none; }
  .rfq-assurance { grid-template-columns:repeat(2,1fr); }
  .rfq-contact-card { display:none; }
}
@media (max-width:720px) {
  .rfq-shell { padding:84px 10px 28px; }
  .rfq-wrap { gap:12px; }
  .rfq-intro,.rfq-panel { border-radius:18px; }
  .rfq-intro { padding:25px 21px 22px; }
  .rfq-intro h1 { margin:18px 0 11px; font-size:28px; }
  .rfq-lead { font-size:12px; line-height:1.75; }
  .rfq-steps { gap:7px; margin:22px 0 7px; }
  .rfq-steps li { display:block; }
  .rfq-steps b { margin-bottom:8px; }
  .rfq-steps strong { font-size:11px; }
  .rfq-steps small { display:none; }
  .rfq-assurance { display:none; }
  .rfq-panel { padding:25px 17px 30px; }
  .rfq-panel-head { align-items:flex-start; }
  .rfq-panel-head h2 { font-size:26px; }
  .rfq-response-badge { padding:7px 9px; font-size:9px; }
  .rfq-grid-2,.rfq-grid-3 { grid-template-columns:1fr; }
  .rfq-fieldset { padding-top:24px; }
  .rfq-fieldset legend { align-items:flex-start; }
  .rfq-fieldset legend em { max-width:125px; text-align:right; line-height:1.4; }
  .rfq-field input,.rfq-field select { height:47px; font-size:14px; }
  .rfq-field textarea { font-size:14px; }
  .rfq-dropzone { display:block; min-height:185px; text-align:center; padding:24px 14px; }
  .rfq-upload-icon { margin:0 auto 13px; }
  .rfq-dropzone p { line-height:1.65; }
  .rfq-submit-row { display:block; }
  .rfq-submit { width:100%; min-width:0; height:54px; }
  .rfq-submit-row p { justify-content:center; margin-top:12px; }
  .rfq-footer { width:calc(100% - 24px); display:grid; text-align:center; }
}
@media (prefers-reduced-motion:reduce) { .rfq-dropzone,.rfq-submit { transition:none; } }
[hidden] { display:none!important; }
