.oem-terms{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:28px 0 8px}
.oem-terms div{background:var(--cmt-surface);border:1px solid var(--cmt-line);border-radius:6px;padding:16px 18px;display:grid;gap:6px;align-content:start}
.oem-terms strong{font-size:1.05rem;color:var(--cmt-ink)}
.oem-terms p{margin:0;color:var(--cmt-muted);font-size:.9rem;line-height:1.5}
.oem-request{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;padding:32px 0 56px;align-items:start}
.oem-request-intro h2{font-size:1.8rem;margin:6px 0 8px}
.oem-request-intro p{color:var(--cmt-muted)}
.oem-form{background:var(--cmt-surface);border:1px solid var(--cmt-line);border-radius:6px;padding:22px;display:grid;gap:16px}
.oem-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.oem-form label{display:grid;gap:5px;font-size:.9rem}
.oem-form label>span{font-weight:600;color:var(--cmt-ink)}
.oem-form label small{color:var(--cmt-muted);font-weight:400}
.oem-form input:not([type=checkbox]),.oem-form textarea{height:40px;border:1px solid var(--cmt-line);border-radius:4px;padding:0 10px;font:inherit;background:#fff}
.oem-form textarea{height:auto;padding:10px}
.oem-form input:focus,.oem-form textarea:focus{outline:0;border-color:var(--cmt-accent);box-shadow:0 0 0 3px rgba(176,122,60,.2)}
.oem-products{border:1px solid var(--cmt-line);border-radius:6px;padding:12px 14px 14px;margin:0}
.oem-products legend{font-weight:600;padding:0 6px}
.oem-help{color:var(--cmt-muted);font-size:.85rem;margin:0 0 10px}
.oem-rails{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.oem-rail{display:flex!important;gap:10px;align-items:center;border:1px solid var(--cmt-line);border-radius:4px;padding:8px 10px;cursor:pointer;background:var(--panel2)}
.oem-rail:has(input:checked){border-color:var(--cmt-accent);background:#fff}
.oem-rail span{display:grid}
.oem-rail strong{font-size:.92rem}
.oem-rail small{color:var(--cmt-muted)}
.oem-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400}
.oem-check span{color:var(--cmt-muted);font-weight:400!important}
.oem-honeypot{position:absolute;left:-9999px}
.oem-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.oem-status{margin:0;color:var(--cmt-muted)}
.oem-fine{color:var(--cmt-muted);font-size:.82rem;margin:0}
.oem-success{background:var(--cmt-surface);border:1px solid var(--cmt-accent);border-radius:6px;padding:22px}
.oem-success-number{color:var(--cmt-muted)}
@media(max-width:900px){.oem-terms{grid-template-columns:1fr 1fr}.oem-request{grid-template-columns:1fr}.oem-grid,.oem-rails{grid-template-columns:1fr}}

/* OEM capability: private label and build-to-print. */
.oem-capability { padding: 34px 0 6px; }
.oem-capability h2 { font-size: clamp(1.4rem, 2.4vw, 1.85rem); letter-spacing: -.02em; margin: 0 0 10px; }
.oem-capability-lede { max-width: 80ch; margin: 0 0 20px; line-height: 1.65; color: var(--cmt-muted); }
.oem-capability-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.oem-capability-grid > div {
  background: var(--cmt-surface);
  border: 1px solid var(--cmt-line);
  border-radius: 6px;
  padding: 20px;
}
.oem-capability-grid h3 { margin: 0 0 8px; font-size: 1.02rem; }
.oem-capability-grid p { margin: 0; color: var(--cmt-muted); line-height: 1.65; font-size: .95rem; }
.oem-capability-note { max-width: 90ch; margin: 18px 0 0; color: var(--cmt-muted); font-size: .92rem; line-height: 1.65; }

/* One reading column for the whole page, the same one the manufacturing page
   uses, so a section heading sits over its own content instead of out at the
   page gutter. Written in rem, not ch: ch resolves against the font-size of the
   element it is set on, so a ch width on a 1.85rem heading is nearly twice the
   width of the same figure on body copy and constrains nothing. */
:root { --cmt-col: 50.5rem; }

.oem-terms,
.oem-capability h2,
.oem-capability-lede,
.oem-capability-grid,
.oem-capability-note,
.oem-request { max-width: var(--cmt-col); margin-left: auto; margin-right: auto; }

/* Both of these hold four cards. Three across the column leaves a single card
   stranded on a second row, so they run two up, the way the manufacturing
   page's cards do, and collapse to one on a phone. */
.oem-terms,
.oem-capability-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }

/* The request block stacks: its heading then the form, both on the column's
   left edge, rather than a narrow intro column beside a cramped form. */
.oem-request { grid-template-columns: 1fr; gap: 20px; }

/* The product picker is a bulk-purchase thing; it leaves with the program choice. */
.oem-products[hidden]{display:none}
.oem-group-label{margin:14px 0 8px;font-weight:700;color:var(--cmt-ink,#222)}
