[hidden]{display:none!important}
.index .cap,.index button{color:var(--silver-bright)}
.hero{height:66svh;min-height:540px}
.frame video{filter:saturate(.55) contrast(1.08) brightness(.6)}
.hero .scrim{background:linear-gradient(180deg,rgba(10,10,10,.64) 0%,rgba(10,10,10,.3) 22%,rgba(10,10,10,.58) 44%,rgba(10,10,10,.93) 100%)}
@media(max-width:1100px){.hero{height:78svh;min-height:672px}.hero .scrim{background:linear-gradient(180deg,rgba(10,10,10,.52) 0%,rgba(10,10,10,.24) 22%,rgba(10,10,10,.62) 46%,rgba(10,10,10,.94) 100%)}}
@media(max-width:640px){.hero{height:72svh;min-height:560px}.hero .scrim{background:linear-gradient(180deg,rgba(10,10,10,.54) 0%,rgba(10,10,10,.26) 18%,rgba(10,10,10,.72) 40%,rgba(10,10,10,.95) 100%)}}
.rfqs{padding:112px 0 136px;scroll-margin-top:var(--nav)}
.rfq{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:start}
.rfq>.part,.rfq>.send{grid-column:1/8;min-width:0}
.rfq>.rail{grid-column:9/13;grid-row:1/span 4;position:sticky;top:calc(var(--nav) + 24px);min-width:0}
.rfq>.rail.tall{position:static}
.part{padding-bottom:96px}
.part-head{margin-bottom:40px}
.part-head .label{margin-bottom:16px;color:var(--silver-bright)}.part-head .label b{font-weight:500;color:var(--white)}
.ph{font:300 clamp(30px,2.7vw,40px)/1.08 var(--fd);color:var(--white);text-wrap:balance}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.crows{border-top:1px solid var(--line)}
.pick{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 28px;column-gap:16px;align-items:center;padding:20px 8px 20px 0;border-bottom:1px solid var(--line);transition:opacity .5s var(--out),background .5s var(--out)}
.pick input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pick .idx{font:300 22px/1 var(--fd);color:var(--silver);transition:color .5s var(--out)}
.pick .tx b{display:block;font:500 17px/1.4 var(--fb);color:var(--silver-bright);transition:color .5s var(--out)}
.pick .tx small{display:block;margin-top:2px;font:400 13px/1.55 var(--fb);color:var(--silver)}
.pick .mk{justify-self:end;width:24px;height:24px;color:var(--accent);opacity:0;transform:rotate(-90deg) scale(.4);transition:opacity .5s var(--out),transform .7s var(--out)}
.pick input:checked~.idx,.pick input:checked~.tx b{color:var(--white)}
.pick input:checked~.mk{opacity:1;transform:none}
.pick:has(input:checked){background:rgba(245,245,245,.035)}
.pick:has(input:focus-visible){outline:2px solid var(--white);outline-offset:4px;box-shadow:0 0 0 7px rgba(10,10,10,.85)}
.crows:has(input:checked) .pick:not(:has(input:checked)){opacity:.62}
@media(hover:hover) and (pointer:fine){.pick:hover .tx b{color:var(--white)}.crows:has(input:checked) .pick:not(:has(input:checked)):hover{opacity:1}}
.other-in{display:none;padding:22px 0 0 68px}
.rfq:has(#c-other:checked) .other-in{display:block}
.rfq[data-c="other"] .other-in{display:block}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px var(--g)}
.f{min-width:0}.f.wide{grid-column:1/-1}
.f .lb{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:4px}
.f .lb .label{color:var(--silver-bright);letter-spacing:.22em}
.f .lb i{font:400 10px/1.4 var(--fd);font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--silver)}
.f input[type="text"],.f input[type="email"],.f input[type="tel"],.f textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px 0 15px;font:400 17px/1.5 var(--fb);color:var(--white);outline:none;transition:border-color .45s var(--out),box-shadow .45s var(--out)}
.f textarea{min-height:132px;resize:vertical}
.f input::placeholder,.f textarea::placeholder{color:var(--silver);opacity:.75}
.f input:hover,.f textarea:hover{border-bottom-color:rgba(192,192,192,.4)}
.f input:focus-visible,.f textarea:focus-visible{border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent)}
.f input:-webkit-autofill,.f input:-webkit-autofill:focus{-webkit-text-fill-color:var(--white);caret-color:var(--white);transition:background-color 99999s ease-out,border-color .45s var(--out)}
.f [aria-invalid="true"]{border-bottom-color:var(--warn)}
.msg{display:block;margin-top:8px;font:400 13px/1.5 var(--fb);color:var(--warn)}.msg:empty{display:none}
.rfq{--warn:#e6a694}
.q{margin-bottom:16px;font:500 17px/1.5 var(--fb);color:var(--white)}
.opts{display:flex;flex-wrap:wrap;padding:0 1px 1px 0}
.opts label{position:relative;display:block;margin:0 -1px -1px 0}
.opts input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.opts span{display:block;padding:15px 20px;box-shadow:inset 0 0 0 1px var(--line);font:500 11px/1 var(--fd);letter-spacing:.2em;text-transform:uppercase;color:var(--silver-light);white-space:nowrap;transition:background .45s var(--out),color .45s var(--out)}
.opts input:checked+span{background:var(--accent);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent)}
.opts input:focus-visible+span{outline:2px solid var(--white);outline-offset:3px;box-shadow:0 0 0 6px rgba(10,10,10,.85)}
@media(hover:hover) and (pointer:fine){.opts input:not(:checked):hover+span{background:rgba(245,245,245,.06);color:var(--white)}}
.hint,.hint-key{display:none;font:400 14px/1.7 var(--fb);color:var(--silver-light)}
.hint{margin-top:18px}.hint .label{display:block;margin-bottom:4px;letter-spacing:.2em}
.hint .sep{color:var(--silver);padding:0 .2em}.hint .taa{margin-left:3px;font-size:.8em}
.hint-key{margin-top:6px;font-size:13px;color:var(--silver)}.hint-key a{color:var(--silver-light);text-underline-offset:4px;text-decoration-color:var(--line)}
.rfq:has(#c-pcb:checked) .hint.for-pcb,.rfq:has(#c-cables:checked) .hint.for-cables,.rfq:has(#c-assembly:checked) .hint.for-assembly{display:block}
.rfq:has(#c-pcb:checked) .hint-key,.rfq:has(#c-cables:checked) .hint-key,.rfq:has(#c-assembly:checked) .hint-key{display:block}
.rfq[data-c="pcb"] .hint.for-pcb,.rfq[data-c="cables"] .hint.for-cables,.rfq[data-c="assembly"] .hint.for-assembly,.rfq[data-c="pcb"] .hint-key,.rfq[data-c="cables"] .hint-key,.rfq[data-c="assembly"] .hint-key{display:block}
.drop{position:relative;border:1px dashed rgba(192,192,192,.32);padding:32px 28px;transition:border-color .45s var(--out),background .45s var(--out)}
.drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.drop.over,.drop:focus-within{border-color:var(--accent);background:rgba(245,245,245,.03)}
.drop:has(input:focus-visible){outline:2px solid var(--white);outline-offset:4px;box-shadow:0 0 0 7px rgba(10,10,10,.85)}
@media(hover:hover) and (pointer:fine){.drop:hover{border-color:rgba(245,245,245,.55)}}
.drop b{display:block;font:500 17px/1.4 var(--fb);color:var(--white)}
.drop small{display:block;margin-top:6px;max-width:62ch;font:400 13px/1.6 var(--fb);color:var(--silver)}
.picked{position:relative;z-index:2;display:flex;align-items:baseline;gap:8px 18px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font:500 15px/1.5 var(--fb);color:var(--white)}
.picked .fn{overflow-wrap:anywhere}
.picked .fs{font:400 13px/1.5 var(--fb);color:var(--silver)}
.picked button{margin-left:auto;background:none;border:0;padding:4px 0;cursor:pointer;font:500 11px/1 var(--fd);letter-spacing:.2em;text-transform:uppercase;color:var(--silver-light)}
.picked button:hover{color:var(--white)}
html:not(.js) .drop input{position:static;width:auto;height:auto;opacity:1;margin-top:16px}
.fine{margin-top:14px;max-width:62ch;font:400 13px/1.65 var(--fb);color:var(--silver)}
.fine a{color:var(--silver-light);text-underline-offset:4px;text-decoration-color:var(--line)}
.send{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding-top:8px}
.send .btn{padding:22px 40px;font-size:12px}
.send .btn[disabled]{opacity:.55;cursor:default;transform:none}
.send .fine{margin:0}
.err{max-width:62ch;padding:16px 0 16px 18px;border-left:1px solid var(--warn);font:400 15px/1.65 var(--fb);color:var(--white)}
.err a{color:var(--white);text-underline-offset:4px}
.rail>.label{display:block;padding-bottom:18px;border-bottom:1px solid var(--line);color:var(--silver-bright)}
.rb{display:none}.rb.for-none{display:block}
.rfq:has(input[name="commodity"]:checked) .rb.for-none{display:none}
.rfq:has(#c-pcb:checked) .rb.for-pcb,.rfq:has(#c-cables:checked) .rb.for-cables,.rfq:has(#c-assembly:checked) .rb.for-assembly,.rfq:has(#c-components:checked) .rb.for-components,.rfq:has(#c-other:checked) .rb.for-other{display:block}
.rfq[data-c] .rb.for-none{display:none}
.rfq[data-c="pcb"] .rb.for-pcb,.rfq[data-c="cables"] .rb.for-cables,.rfq[data-c="assembly"] .rb.for-assembly,.rfq[data-c="components"] .rb.for-components,.rfq[data-c="other"] .rb.for-other{display:block}
.say-part{display:none}
.rfq:has(#c-components:checked) .say-meet,.rfq[data-c="components"] .say-meet,.rfq:has(#c-components:checked)~.done .say-meet,.rfq[data-c="components"]~.done .say-meet{display:none}
.rfq:has(#c-components:checked) .say-part,.rfq[data-c="components"] .say-part,.rfq:has(#c-components:checked)~.done .say-part,.rfq[data-c="components"]~.done .say-part{display:inline}
html.js .rb{animation:railin .8s var(--out) both}
@keyframes railin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rt{margin-top:28px;font:300 clamp(26px,2.3vw,34px)/1.1 var(--fd);color:var(--white);text-wrap:balance}
.ri{margin-top:14px;font:400 15px/1.7 var(--fb);color:var(--silver-light)}
.rl{list-style:none;margin-top:22px;border-top:1px solid var(--line)}
.rl li{padding:15px 0 16px;border-bottom:1px solid var(--line)}
.rl b{display:block;font:500 15px/1.4 var(--fb);color:var(--white)}
.rl small{display:block;margin-top:3px;font:400 13px/1.55 var(--fb);color:var(--silver)}
.rb .link{margin-top:26px}
.talk{margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}
.talk p:not(.label){margin:10px 0 18px;font:400 14px/1.7 var(--fb);color:var(--silver-light)}
.done{max-width:780px;padding:16px 0 32px;outline:none}
.done .label{margin-bottom:22px;color:var(--silver-bright)}
.done .h2{margin-bottom:26px}
.done .b{max-width:56ch;font:300 clamp(19px,1.6vw,22px)/1.6 var(--fb);color:var(--white)}
.done .b b{font-weight:500;overflow-wrap:anywhere}
.done .acts{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:44px}
.done .flag{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);font:400 13px/1.6 var(--fb);color:var(--silver)}
#after .ledger,#program .ledger{border-top:1px solid var(--line)}
.hero-row .hmail{margin-top:14px;font:400 14px/1.5 var(--fb);color:var(--silver-bright)}
.hero-row .hmail a{display:inline-block;padding:6px 0;color:var(--white);text-underline-offset:4px;text-decoration-color:rgba(245,245,245,.45)}
@media(max-height:740px) and (min-width:1101px){.rfq>.rail{position:static}}
@media(max-width:1100px){
  .rfqs{padding:88px 0 112px}
  .rfq{display:block}
  .part{padding-bottom:72px}#p1{padding-bottom:48px}
  .rfq>.rail{position:static;max-width:680px;margin-bottom:80px}
  .rt{margin-top:24px}.talk{margin-top:36px}
}
@media(max-width:640px){
  .rfqs{padding:64px 0 88px}
  .part{padding-bottom:60px}#p1{padding-bottom:40px}.part-head{margin-bottom:28px}
  .ph{font-size:30px}
  .pick{grid-template-columns:34px minmax(0,1fr) 22px;column-gap:10px;padding:16px 4px 16px 0}.pick .mk{width:22px;height:22px}.pick .idx{font-size:17px}.pick .tx b{font-size:16px}
  .other-in{padding-left:44px}
  .fields{grid-template-columns:minmax(0,1fr);gap:34px}
  .opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.opts span{padding:15px 10px;text-align:center;font-size:10.5px;letter-spacing:.14em}
  .drop{padding:24px 18px}
  .rfq>.rail{margin-bottom:64px}
  .send .btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){html.js .rb{animation:none}.pick .mk{transition:none}}
