/* Springsan OEM & ODM page V1 — all selectors scoped to .spr-oem-page.
   Shared Header/Footer/common_base remain untouched. Bootstrap 5 grid is retained. */
.spr-site.spr-oem-page {
  --spr-oem-accent:var(--spr-primary,#42a5e4);
  --spr-oem-ink:#17191b;
  --spr-oem-muted:#6e747a;
  --spr-oem-line:#e4e7e9;
  --spr-oem-pale:#f5f6f7;
  background:#fff;
  color:var(--spr-oem-ink);
  font-family:var(--spr-font,Arial,sans-serif);
}
.spr-oem-page .spr-oem,
.spr-oem-page .spr-oem * { box-sizing:border-box; }
.spr-oem-page .spr-oem { width:100%; min-width:0; overflow:hidden; background:#fff; }
.spr-oem-page .spr-oem :is(h1,h2,h3,p) { overflow-wrap:anywhere; }
.spr-oem-page .spr-oem h1,
.spr-oem-page .spr-oem h2,
.spr-oem-page .spr-oem h3 { font-family:var(--spr-font,Arial,sans-serif); }
.spr-oem-page .spr-oem__hero {
  position:relative; isolation:isolate; display:flex; align-items:stretch;
  min-height:clamp(24rem,34vw,34rem); color:#fff; background:#17191b;
}
.spr-oem-page .spr-oem__hero-media,
.spr-oem-page .spr-oem__hero-overlay { position:absolute; inset:0; z-index:-1; }
.spr-oem-page .spr-oem__hero-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.spr-oem-page .spr-oem__hero-overlay { z-index:0; background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.48) 54%,rgba(0,0,0,.25) 100%); }
.spr-oem-page .spr-oem__hero-container { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; padding-top:1.3rem; padding-bottom:clamp(3.5rem,6vw,5.6rem); }
.spr-oem-page .spr-oem__breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:.8rem; margin:0 0 clamp(2.6rem,5vw,4.4rem); color:rgba(255,255,255,.7); font-size:.82rem; line-height:1.5; }
.spr-oem-page .spr-oem__breadcrumb a { color:#fff; text-decoration:none; transition:color .18s; }
.spr-oem-page .spr-oem__breadcrumb a:hover { color:var(--spr-oem-accent); }
.spr-oem-page .spr-oem__hero-row { flex:1 1 auto; align-content:center; }
.spr-oem-page .spr-oem__hero-copy { max-width:58rem; padding-bottom:.4rem; }
.spr-oem-page .spr-oem__eyebrow { display:block; margin:0 0 1rem; color:var(--spr-oem-accent); font-size:.72rem; font-weight:650; line-height:1.6; letter-spacing:.14em; text-transform:uppercase; }
.spr-oem-page .spr-oem__hero h1 { margin:0 0 1.25rem; color:#fff; font-size:clamp(2.25rem,4.4vw,4.15rem); font-weight:700; line-height:1.12; letter-spacing:-.04em; }
.spr-oem-page .spr-oem__hero h1 span { color:var(--spr-oem-accent); }
.spr-oem-page .spr-oem__hero-copy p { max-width:52rem; margin:0; color:rgba(255,255,255,.88); font-size:clamp(.96rem,1.12vw,1.08rem); line-height:1.85; }
.spr-oem-page .spr-oem__section { padding:clamp(4rem,6.3vw,6.6rem) 0; }
.spr-oem-page .spr-oem__section-heading { max-width:55rem; margin:0 auto clamp(2.3rem,4vw,3.4rem); text-align:center; }
.spr-oem-page .spr-oem__eyebrow--dark { color:#5b9fc9; }
.spr-oem-page .spr-oem__section-heading h2 { margin:0 0 .9rem; color:#17191b; font-size:clamp(1.85rem,2.8vw,2.7rem); font-weight:700; line-height:1.22; letter-spacing:-.035em; }
.spr-oem-page .spr-oem__section-heading h2 span { color:var(--spr-oem-accent); }
.spr-oem-page .spr-oem__section-heading > p { max-width:49rem; margin:0 auto; color:var(--spr-oem-muted); font-size:.96rem; line-height:1.8; }

/* Customization services: six cards, three columns on desktop and two rows. */
.spr-oem-page .spr-oem__services { background:#fff; }
.spr-oem-page .spr-oem__service-grid { --bs-gutter-y:1.65rem; }
.spr-oem-page .spr-oem__service-card { height:100%; min-width:0; background:#fff; border:1px solid #e7e9eb; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.spr-oem-page .spr-oem__service-card:hover { transform:translateY(-4px); border-color:rgba(66,165,228,.55); box-shadow:0 1rem 2.4rem rgba(15,30,42,.09); }
.spr-oem-page .spr-oem__service-visual { position:relative; overflow:hidden; aspect-ratio:16/9; background:#eef1f3; }
.spr-oem-page .spr-oem__service-visual > img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.spr-oem-page .spr-oem__service-card:hover .spr-oem__service-visual > img { transform:scale(1.035); }
.spr-oem-page .spr-oem__visual-fallback { position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:100%; overflow:hidden; background:linear-gradient(135deg,#f4f6f7,#e7ecef); }
.spr-oem-page .spr-oem__visual-fallback::before { position:absolute; width:13rem; height:13rem; content:""; border:1px solid rgba(44,130,180,.13); border-radius:50%; }
.spr-oem-page .spr-oem__visual-fallback::after { position:absolute; width:9rem; height:9rem; content:""; border:1px solid rgba(44,130,180,.12); border-radius:50%; }
.spr-oem-page .spr-oem__visual-fallback svg { position:relative; z-index:1; width:min(48%,12rem); height:auto; fill:none; stroke:#388fc1; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.spr-oem-page .spr-oem__visual-index { position:absolute; z-index:2; top:1rem; left:1.1rem; color:#8b969d; font-size:.72rem; font-weight:700; letter-spacing:.08em; }
.spr-oem-page .spr-oem__service-copy { position:relative; padding:1.45rem 1.5rem 1.65rem; }
.spr-oem-page .spr-oem__card-number { display:block; margin:0 0 .55rem; color:var(--spr-oem-accent); font-size:.72rem; font-weight:700; letter-spacing:.12em; }
.spr-oem-page .spr-oem__service-copy h3 { margin:0 0 .65rem; color:#1a1d20; font-size:1.14rem; font-weight:650; line-height:1.4; }
.spr-oem-page .spr-oem__service-copy p { margin:0; color:var(--spr-oem-muted); font-size:.88rem; line-height:1.75; }

/* Three ways to start product development. */
.spr-oem-page .spr-oem__methods { background:#f5f6f7; }
.spr-oem-page .spr-oem__method-grid { --bs-gutter-y:1.4rem; }
.spr-oem-page .spr-oem__method-card { height:100%; min-width:0; padding:clamp(1.5rem,2.5vw,2.25rem); background:#fff; border:1px solid #e7e9eb; }
.spr-oem-page .spr-oem__method-top { display:flex; align-items:center; justify-content:space-between; min-height:5.25rem; margin-bottom:1.4rem; }
.spr-oem-page .spr-oem__method-number { color:var(--spr-oem-accent); font-size:clamp(1.65rem,2.5vw,2.25rem); font-weight:700; line-height:1; letter-spacing:-.04em; }
.spr-oem-page .spr-oem__method-top svg { width:4.8rem; height:4.8rem; padding:.75rem; border:1px solid #dce6ec; border-radius:50%; fill:none; stroke:#2e91c4; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.spr-oem-page .spr-oem__method-card h3 { margin:0 0 .8rem; color:#1b1e21; font-size:1.16rem; font-weight:650; line-height:1.45; }
.spr-oem-page .spr-oem__method-card p { margin:0; color:var(--spr-oem-muted); font-size:.9rem; line-height:1.8; }

/* Six-step cooperation process. */
.spr-oem-page .spr-oem__process { background:#fff; }
.spr-oem-page .spr-oem__process-list { position:relative; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1rem; margin:0; padding:0; list-style:none; }
.spr-oem-page .spr-oem__process-list::before { position:absolute; top:1.65rem; left:8.2%; right:8.2%; height:1px; content:""; background:#d9e0e4; }
.spr-oem-page .spr-oem__process-item { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; min-width:0; text-align:center; }
.spr-oem-page .spr-oem__process-number { display:flex; align-items:center; justify-content:center; width:3.35rem; height:3.35rem; margin:0 0 1.15rem; border:1px solid #cfd8de; border-radius:50%; background:#fff; color:#252a2e; font-size:.9rem; font-weight:700; transition:background .2s,border-color .2s,color .2s; }
.spr-oem-page .spr-oem__process-item:hover .spr-oem__process-number { background:var(--spr-oem-accent); border-color:var(--spr-oem-accent); color:#fff; }
.spr-oem-page .spr-oem__process-label { max-width:10rem; color:#30363a; font-size:.86rem; font-weight:600; line-height:1.55; }

/* Madison manufacturing strengths and qualified certification statement. */
.spr-oem-page .spr-oem__advantages { color:#fff; background:#111213; }
.spr-oem-page .spr-oem__advantages-intro { position:sticky; top:7rem; }
.spr-oem-page .spr-oem__advantages-intro h2 { margin:0 0 1.15rem; color:#fff; font-size:clamp(1.85rem,2.8vw,2.65rem); font-weight:700; line-height:1.22; letter-spacing:-.035em; }
.spr-oem-page .spr-oem__advantages-intro h2 span { color:var(--spr-oem-accent); }
.spr-oem-page .spr-oem__advantages-intro > p { margin:0 0 1.5rem; color:#c6c9cb; font-size:.92rem; line-height:1.8; }
.spr-oem-page .spr-oem__certification-note { padding:1.1rem 1.15rem; border-left:2px solid var(--spr-oem-accent); background:rgba(255,255,255,.055); color:#c5c9cc; font-size:.81rem; line-height:1.75; }
.spr-oem-page .spr-oem__advantage-grid { --bs-gutter-y:1.15rem; }
.spr-oem-page .spr-oem__advantage-card { position:relative; height:100%; min-height:13.5rem; padding:1.55rem 1.55rem 1.65rem; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.045); transition:border-color .2s,background .2s; }
.spr-oem-page .spr-oem__advantage-card:hover { border-color:rgba(66,165,228,.65); background:rgba(66,165,228,.08); }
.spr-oem-page .spr-oem__advantage-number { display:block; margin:0 0 1.15rem; color:var(--spr-oem-accent); font-size:.82rem; font-weight:700; letter-spacing:.12em; }
.spr-oem-page .spr-oem__advantage-card h3 { margin:0 0 .75rem; color:#fff; font-size:1.08rem; font-weight:650; line-height:1.45; }
.spr-oem-page .spr-oem__advantage-card p { margin:0; color:#b8bdc0; font-size:.85rem; line-height:1.75; }

/* Project inquiry form — existing inquiry_action.html endpoint. */
.spr-oem-page .spr-oem__inquiry { background:#f4f6f7; }
.spr-oem-page .spr-oem__inquiry .spr-oem__section-heading { margin-bottom:2rem; }
.spr-oem-page .spr-oem__form-panel { max-width:58rem; margin:0 auto; padding:clamp(1.35rem,3.4vw,3rem); background:#fff; border:1px solid #e5e8ea; box-shadow:0 1rem 2.7rem rgba(20,35,45,.055); }
.spr-oem-page .spr-oem__field { min-width:0; }
.spr-oem-page .spr-oem__field label { display:block; margin:0 0 .5rem; color:#30363a; font-size:.84rem; font-weight:600; line-height:1.5; }
.spr-oem-page .spr-oem__field label span,
.spr-oem-page .spr-oem__form-actions p span { color:#c34b45; }
.spr-oem-page .spr-oem__field .form-control { width:100%; min-width:0; min-height:3.1rem; padding:.78rem .95rem; border:1px solid #d9dfe3; border-radius:2px; background:#fbfcfc; color:#22282c; box-shadow:none; font-family:inherit; font-size:.88rem; line-height:1.55; transition:border-color .18s,background .18s,box-shadow .18s; }
.spr-oem-page .spr-oem__field .form-control::placeholder { color:#9aa1a6; }
.spr-oem-page .spr-oem__field .form-control:focus { border-color:var(--spr-oem-accent); background:#fff; box-shadow:0 0 0 3px rgba(66,165,228,.13); }
.spr-oem-page .spr-oem__field textarea.form-control { min-height:10rem; resize:vertical; }
.spr-oem-page .spr-oem__form-feedback { margin:0 0 .75rem; color:#b54139; font-size:.82rem; line-height:1.6; }
.spr-oem-page .spr-oem__form-feedback:empty { display:none; }
.spr-oem-page .spr-oem__form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1rem 1.5rem; }
.spr-oem-page .spr-oem__submit { display:inline-flex; align-items:center; justify-content:space-between; gap:2.2rem; min-height:3.25rem; padding:.8rem 1.35rem; border:1px solid #111213; border-radius:2px; background:#111213; color:#fff; font-family:inherit; font-size:.84rem; font-weight:650; line-height:1.4; cursor:pointer; transition:background .2s,border-color .2s,color .2s; }
.spr-oem-page .spr-oem__submit:hover,
.spr-oem-page .spr-oem__submit:focus-visible { border-color:var(--spr-oem-accent); background:var(--spr-oem-accent); color:#fff; }
.spr-oem-page .spr-oem__submit:disabled { opacity:.62; cursor:wait; }
.spr-oem-page .spr-oem__form-actions p { margin:0; color:#8a9196; font-size:.76rem; line-height:1.5; }

@media (max-width:1199.98px) {
  .spr-oem-page .spr-oem__process-list { gap:.6rem; }
  .spr-oem-page .spr-oem__process-label { font-size:.81rem; }
}
@media (max-width:991.98px) {
  .spr-oem-page .spr-oem__hero { min-height:25rem; }
  .spr-oem-page .spr-oem__hero-container { padding-bottom:3.5rem; }
  .spr-oem-page .spr-oem__breadcrumb { margin-bottom:2.6rem; }
  .spr-oem-page .spr-oem__advantages-intro { position:static; }
  .spr-oem-page .spr-oem__process-list { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:2rem; }
  .spr-oem-page .spr-oem__process-list::before { display:none; }
  .spr-oem-page .spr-oem__process-label { max-width:12rem; }
}
@media (max-width:767.98px) {
  .spr-oem-page .spr-oem__section { padding:3.6rem 0; }
  .spr-oem-page .spr-oem__section-heading { margin-bottom:2rem; }
  .spr-oem-page .spr-oem__section-heading > p { font-size:.9rem; }
  .spr-oem-page .spr-oem__service-grid { --bs-gutter-y:1.1rem; }
  .spr-oem-page .spr-oem__service-copy { padding:1.2rem 1.2rem 1.35rem; }
  .spr-oem-page .spr-oem__method-card { padding:1.45rem; }
  .spr-oem-page .spr-oem__process-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .spr-oem-page .spr-oem__process-item { align-items:flex-start; text-align:left; }
  .spr-oem-page .spr-oem__process-number { margin-bottom:.75rem; }
  .spr-oem-page .spr-oem__advantage-card { min-height:0; }
}
@media (max-width:575.98px) {
  .spr-oem-page .spr-oem__hero { min-height:25rem; }
  .spr-oem-page .spr-oem__hero-overlay { background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.42)); }
  .spr-oem-page .spr-oem__hero-container { padding-top:1rem; padding-bottom:3rem; }
  .spr-oem-page .spr-oem__breadcrumb { margin-bottom:2.1rem; font-size:.77rem; }
  .spr-oem-page .spr-oem__hero h1 { max-width:14ch; font-size:clamp(2.05rem,9vw,2.8rem); }
  .spr-oem-page .spr-oem__hero-copy p { font-size:.9rem; line-height:1.75; }
  .spr-oem-page .spr-oem__eyebrow { margin-bottom:.75rem; font-size:.66rem; }
  .spr-oem-page .spr-oem__section-heading h2 { font-size:clamp(1.65rem,7vw,2.1rem); }
  .spr-oem-page .spr-oem__service-visual { aspect-ratio:16/10; }
  .spr-oem-page .spr-oem__process-list { grid-template-columns:1fr; gap:1.25rem; }
  .spr-oem-page .spr-oem__process-item { display:grid; grid-template-columns:3rem minmax(0,1fr); align-items:center; gap:.9rem; text-align:left; }
  .spr-oem-page .spr-oem__process-number { width:2.8rem; height:2.8rem; margin:0; font-size:.8rem; }
  .spr-oem-page .spr-oem__process-label { max-width:none; font-size:.9rem; }
  .spr-oem-page .spr-oem__advantages-intro h2 { font-size:clamp(1.7rem,7vw,2.1rem); }
  .spr-oem-page .spr-oem__form-panel { padding:1.25rem 1rem; }
  .spr-oem-page .spr-oem__form-actions { align-items:stretch; flex-direction:column; }
  .spr-oem-page .spr-oem__submit { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
  .spr-oem-page .spr-oem__service-card,
  .spr-oem-page .spr-oem__service-visual > img,
  .spr-oem-page .spr-oem__process-number,
  .spr-oem-page .spr-oem__advantage-card,
  .spr-oem-page .spr-oem__field .form-control,
  .spr-oem-page .spr-oem__submit { transition:none; }
}
