/* True North EOAT RFQ: paper-form look inside the site theme. Everything is scoped to .tn-rfq. */
.tn-rfq{
  --tn-fg:#233333; --tn-muted:#5b6b70; --tn-line:#c9d3d8; --tn-line2:#8fa0a8; --tn-paper:#fff; --tn-sunk:#f3f6f8;
  --tn-blue:#0566d9; --tn-blue-soft:#e6f0fc; --tn-orange:#E67E22; --tn-warn-bg:#fdf3e3; --tn-warn:#7a4a06; --tn-err:#c2262e;
  --tn-display:"Zilla Slab", Rockwell, "Roboto Slab", Georgia, serif;
  --tn-body:"Hind", "Segoe UI", Helvetica, Arial, sans-serif;
  max-width:880px; margin:0 auto; padding:0; color:var(--tn-fg); font-family:var(--tn-body); font-size:16px; line-height:1.5;
}
.tn-rfq *{box-sizing:border-box}
.tn-rfq [hidden]{display:none!important}
.tn-rfq :focus-visible{outline:3px solid var(--tn-blue);outline-offset:2px}

.tn-notices{display:grid;gap:10px;margin:0;padding:12px 22px 0}
.tn-notice{border-left:4px solid var(--tn-orange);background:var(--tn-warn-bg);color:var(--tn-warn);padding:10px 14px;font-size:15px}
.tn-notice.tn-plain{border-color:var(--tn-line2);background:var(--tn-sunk);color:var(--tn-fg)}

#tn-rfq-form{margin:26px 0 0}
.tn-sheet{background:var(--tn-paper);border:1px solid var(--tn-line);box-shadow:0 1px 0 var(--tn-line),0 10px 30px -18px rgba(20,40,50,.35)}
.tn-sheet-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding:18px 22px 6px;border-bottom:2px solid var(--tn-fg)}
.tn-sheet-head b{font-family:var(--tn-display);font-size:22px}
.tn-sheet-head span{font-size:13px;color:var(--tn-muted)}
.tn-reqkey{font-size:13px;color:var(--tn-muted);padding:8px 22px 0}
.tn-reqkey i,.tn-r{color:var(--tn-err);font-style:normal;font-weight:600;margin-left:2px}
.tn-blk{padding:0 22px 22px}
.tn-band{margin:22px -22px 14px;background:var(--tn-blue);color:#fff;font:600 15px/1 var(--tn-display);letter-spacing:.04em;padding:9px 22px;text-transform:uppercase}
.tn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px}
.tn-full{grid-column:1/-1}
@media (max-width:620px){.tn-grid{grid-template-columns:minmax(0,1fr)}}
.tn-f{position:relative;min-width:0}
.tn-f > label:not(.tn-ck),.tn-lab{display:block;font-weight:600;font-size:15px;margin-bottom:2px}
.tn-hint{font-size:13px;color:var(--tn-muted);line-height:1.35;margin-top:3px}
.tn-opt{font-weight:400;color:var(--tn-muted);font-size:13px}
.tn-subhead{font:600 13px/1 var(--tn-body);letter-spacing:.12em;text-transform:uppercase;color:var(--tn-muted);border-bottom:1px solid var(--tn-line);padding:12px 0 6px}

.tn-rfq input[type=text],.tn-rfq input[type=email],.tn-rfq input[type=tel],.tn-rfq input[type=number],.tn-rfq input[type=date],.tn-rfq textarea{
  width:100%;font:400 16px/1.4 var(--tn-body);color:var(--tn-fg);background:transparent;border:0;border-bottom:1.5px solid var(--tn-line2);border-radius:0;padding:6px 2px;box-shadow:none;margin:0}
.tn-rfq textarea{border:1.5px solid var(--tn-line2);padding:8px;min-height:84px;resize:vertical}
.tn-rfq input:focus,.tn-rfq textarea:focus{outline:none;border-color:var(--tn-blue);background:var(--tn-blue-soft)}
.tn-mt{margin-top:6px!important}
.tn-mini{display:block;flex:1;font-size:13px;font-weight:600;color:var(--tn-muted)}
.tn-mini.tn-mt{margin-top:10px!important}
.tn-row{display:flex;gap:10px;align-items:end}
.tn-row > *{min-width:0}
.tn-row.tn-mid{align-items:center}
.tn-narrow{width:80px!important;flex:none}
.tn-txt{font-size:15px;white-space:nowrap}
.tn-u{font-family:ui-monospace,Consolas,monospace;font-size:13px;color:var(--tn-muted);padding-bottom:8px}
.tn-unit{font:500 13px/1 ui-monospace,Consolas,monospace;color:var(--tn-blue);background:var(--tn-blue-soft);border:1px solid var(--tn-blue);border-radius:3px;padding:4px 7px;margin-bottom:6px;cursor:pointer;flex:none}
.tn-unit::after{content:" \21C4";font-size:11px}

.tn-checks{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:4px}
.tn-checks.tn-col,.tn-stack{flex-direction:column;display:flex;gap:10px}
.tn-ck{display:inline-flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:15px;line-height:1.35;font-weight:400}
.tn-ck input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid var(--tn-fg);border-radius:0;margin:1px 0 0;flex:none;display:grid;place-items:center;background:var(--tn-paper);cursor:pointer}
.tn-ck input:checked{background:var(--tn-blue);border-color:var(--tn-blue)}
.tn-ck input:checked::after{content:"";width:9px;height:5px;border:2.5px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
/* Radios: a plain circle with a filled dot, no check mark */
.tn-rfq .tn-ck input[type=radio]{border-radius:50%!important}
.tn-rfq .tn-ck input[type=radio]:checked{background:var(--tn-paper)!important;border-color:var(--tn-blue)!important}
.tn-rfq .tn-ck input[type=radio]:checked::after{width:10px;height:10px;border:0;border-radius:50%;background:var(--tn-blue);transform:none}
.tn-sub{margin:2px 0 2px 26px;padding:10px 0 2px 14px;border-left:2px solid var(--tn-blue);display:grid;gap:12px}
.tn-callout{font-size:14px;background:var(--tn-sunk);padding:8px 12px;border-left:3px solid var(--tn-line2);margin-top:8px}
.tn-ndabox{border:1px solid var(--tn-line);background:var(--tn-sunk);padding:10px 12px;margin-top:12px}

.tn-emsg{display:none;color:var(--tn-err);font-size:13px;font-weight:600;margin-top:3px}
.tn-f.tn-err .tn-emsg{display:block}
.tn-f.tn-err input[type=text],.tn-f.tn-err input[type=email],.tn-f.tn-err input[type=number]{border-color:var(--tn-err)}
.tn-wmsg{display:none;font-size:13px;color:var(--tn-warn);background:var(--tn-warn-bg);padding:6px 9px;margin-top:6px}
.tn-f.tn-warn .tn-wmsg{display:block}

/* The upload box */
.tn-upload{margin-top:4px}
.tn-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;border:2px dashed var(--tn-line2);border-radius:4px;background:var(--tn-sunk);padding:22px 16px;cursor:pointer;transition:border-color .15s,background .15s}
.tn-drop:hover,.tn-drop-over{border-color:var(--tn-blue);background:var(--tn-blue-soft)}
.tn-drop-main{font-weight:600;font-size:15px}
.tn-drop-hint{font-size:13px;color:var(--tn-muted)}
.tn-filelist{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.tn-file{display:grid;grid-template-columns:1fr auto auto;align-items:center;column-gap:10px;row-gap:4px;border:1px solid var(--tn-line);background:var(--tn-paper);padding:8px 10px;font-size:14px}
.tn-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.tn-file-size{color:var(--tn-muted);font-size:13px;white-space:nowrap}
.tn-file-bar{grid-column:1/3;height:4px;background:var(--tn-line);border-radius:2px;overflow:hidden}
.tn-file-fill{height:100%;width:0;background:var(--tn-blue);transition:width .2s}
.tn-file-status{grid-column:3;justify-self:end;font-size:12px;color:var(--tn-muted);white-space:nowrap}
.tn-file-x{grid-row:1;grid-column:3;justify-self:end;background:none;border:0;color:var(--tn-muted);font-size:18px;line-height:1;cursor:pointer;padding:0 2px}
.tn-file-x:hover{color:var(--tn-err)}
.tn-file-msg{color:var(--tn-err);font-size:13px;font-weight:600;margin-top:6px}
.tn-file-msg:empty{display:none}
.tn-itar{margin-top:10px}
.tn-drop-locked{cursor:default;opacity:.6}
.tn-drop-locked:hover{border-color:var(--tn-line2);background:var(--tn-sunk)}

.tn-datanote{font-size:13px;color:var(--tn-muted);border-top:1px solid var(--tn-line);padding-top:12px;margin:16px 0;max-width:75ch}
.cf-turnstile{margin-top:8px}
.tn-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:18px 22px;border-top:2px solid var(--tn-fg);background:var(--tn-sunk)}
.tn-btn{font:600 16px/1 var(--tn-body);background:var(--tn-blue);color:#fff;border:0;border-radius:4px;padding:13px 22px;cursor:pointer}
.tn-btn:hover{filter:brightness(1.08)}
.tn-btn[disabled]{opacity:.55;cursor:wait}
.tn-msg{font-size:14px;color:var(--tn-err);font-weight:600}
.tn-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.tn-thanks{padding:32px 22px}
.tn-thanks .tn-eyebrow{font:600 12px/1 var(--tn-body);letter-spacing:.16em;text-transform:uppercase;color:var(--tn-orange);border-left:3px solid var(--tn-orange);padding-left:10px}
.tn-thanks h2{font-family:var(--tn-display);font-size:32px;margin:6px 0 10px}
.tn-thanks ol{padding-left:20px;display:grid;gap:6px}
.tn-small{font-size:14px;color:var(--tn-muted)}
