.oem-page {
  --oem-violet: #7967ff;
  --oem-cyan: #4fe4ff;
  --oem-navy: #07132f;
  --oem-ink: #15213d;
  --oem-muted: #66728b;
  --oem-line: #dfe6f2;
  color: var(--oem-ink);
  overflow-x: hidden;
}
.oem-page main { overflow: hidden; }
.oem-page .header.header-transparent { background:transparent; box-shadow:none; }
.oem-page .header.header-scrolled { background:rgba(255,255,255,.97); box-shadow:0 8px 28px rgba(8,24,62,.08); }
.oem-page .dropdown-toggle.active,.oem-page .dropdown-item.active { color: var(--oem-violet); }
.oem-section { padding: 7rem 0; }
.oem-kicker { display:inline-flex; align-items:center; gap:.7rem; color:var(--oem-violet); font-size:.75rem; font-weight:800; letter-spacing:.16em; }
.oem-kicker::before { content:""; width:28px; height:2px; background:currentColor; }
.oem-section-title { max-width:760px; margin:1rem 0 0; color:var(--oem-ink); font-size:clamp(2.15rem,4vw,3.65rem); line-height:1.08; letter-spacing:-.045em; }
.oem-section-lead { max-width:630px; margin:1.25rem 0 0; color:var(--oem-muted); line-height:1.85; }

.oem-hero { position:relative; min-height:780px; padding:10rem 0 6rem; color:#fff; background:linear-gradient(135deg,#050d25 0%,#0b2153 55%,#332873 100%); }
.oem-hero::before { position:absolute; inset:0; content:""; opacity:.22; background-image:linear-gradient(rgba(79,228,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(79,228,255,.13) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(to right,#000,transparent 88%); }
.oem-hero::after { position:absolute; width:580px; height:580px; right:-170px; top:40px; border-radius:50%; background:rgba(121,103,255,.18); filter:blur(4px); content:""; }
.oem-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr); align-items:center; gap:5rem; }
.oem-breadcrumb { display:flex; gap:.65rem; margin-bottom:2rem; color:rgba(255,255,255,.55); font-size:.78rem; }
.oem-breadcrumb a { color:rgba(255,255,255,.8); }
.oem-hero .oem-kicker { color:var(--oem-cyan); }
.oem-hero h1 { margin:1rem 0 1.3rem; max-width:720px; color:#fff; font-size:clamp(3rem,5.7vw,5.4rem); line-height:.98; letter-spacing:-.055em; }
.oem-hero-copy>p { max-width:680px; margin:0; color:rgba(255,255,255,.7); font-size:1.05rem; line-height:1.82; }
.oem-actions { display:flex; align-items:center; gap:1.3rem; margin-top:2rem; flex-wrap:wrap; }
.oem-primary { display:inline-flex; align-items:center; gap:.7rem; color:#fff; background:var(--oem-violet); }
.oem-primary svg,.oem-link svg { width:18px; height:18px; }
.oem-link { display:inline-flex; align-items:center; gap:.55rem; color:rgba(255,255,255,.82); font-size:.88rem; font-weight:700; }
.oem-link:hover { color:var(--oem-cyan); }
.oem-hero-meta { display:flex; gap:2rem; margin-top:2.5rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.12); }
.oem-hero-meta span { display:block; color:rgba(255,255,255,.45); font-size:.65rem; letter-spacing:.12em; }
.oem-hero-meta strong { display:block; margin-top:.35rem; color:#fff; font-size:.86rem; }

.oem-blueprint { position:relative; min-height:540px; border:1px solid rgba(79,228,255,.24); border-radius:8px; background:rgba(3,12,36,.52); box-shadow:0 36px 80px rgba(0,0,0,.28); overflow:hidden; }
.oem-blueprint::before { position:absolute; inset:0; content:""; background-image:linear-gradient(rgba(79,228,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(79,228,255,.09) 1px,transparent 1px); background-size:26px 26px; }
.oem-blueprint-head { position:absolute; top:22px; left:24px; right:24px; display:flex; justify-content:space-between; color:rgba(255,255,255,.55); font-size:.65rem; letter-spacing:.12em; }
.oem-blueprint-head b { color:var(--oem-cyan); }
.oem-frame-drawing { position:absolute; left:50%; top:49%; width:400px; height:180px; transform:translate(-50%,-50%); }
.oem-frame-drawing .lens { position:absolute; top:28px; width:168px; height:112px; border:4px solid var(--oem-cyan); border-radius:38px 38px 48px 48px; box-shadow:inset 0 0 32px rgba(79,228,255,.08),0 0 18px rgba(79,228,255,.15); }
.oem-frame-drawing .lens::after { position:absolute; inset:13px; border:1px dashed rgba(79,228,255,.42); border-radius:27px 27px 36px 36px; content:""; }
.oem-frame-drawing .left { left:14px; }.oem-frame-drawing .right { right:14px; }
.oem-frame-drawing .bridge { position:absolute; top:62px; left:50%; width:54px; height:25px; border-top:4px solid var(--oem-cyan); border-radius:50%; transform:translateX(-50%); }
.oem-frame-drawing .arm { position:absolute; top:34px; width:100px; height:6px; background:var(--oem-cyan); }
.oem-frame-drawing .arm-left { left:-78px; transform:rotate(9deg); }.oem-frame-drawing .arm-right { right:-78px; transform:rotate(-9deg); }
.oem-frame-drawing .camera { position:absolute; right:29px; top:41px; width:15px; height:15px; border:3px solid #fff; border-radius:50%; box-shadow:0 0 0 7px rgba(121,103,255,.55); }
.oem-dimension { position:absolute; color:rgba(255,255,255,.58); font:600 .62rem/1 monospace; letter-spacing:.05em; }
.oem-dimension::before { display:block; height:1px; margin-bottom:6px; background:rgba(79,228,255,.55); content:""; }
.oem-dim-a { left:44px; top:155px; width:132px; }.oem-dim-b { right:40px; bottom:108px; width:156px; }.oem-dim-c { left:52px; bottom:46px; width:220px; }
.oem-blueprint-status { position:absolute; right:20px; bottom:20px; display:flex; align-items:center; gap:.5rem; padding:.65rem .85rem; border:1px solid rgba(79,228,255,.25); color:#d9faff; background:rgba(5,21,55,.82); font-size:.67rem; }
.oem-blueprint-status i { width:7px; height:7px; border-radius:50%; background:#56f0ad; box-shadow:0 0 0 5px rgba(86,240,173,.12); }

.oem-brief { background:#f7f9fd; }
.oem-brief-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr); gap:6rem; align-items:start; }
.oem-brief-copy { position:sticky; top:120px; }
.oem-spec-sheet { border:1px solid var(--oem-line); background:#fff; box-shadow:0 28px 70px rgba(17,36,76,.08); }
.oem-spec-head { display:flex; justify-content:space-between; padding:1.15rem 1.4rem; color:#fff; background:var(--oem-navy); font-size:.7rem; letter-spacing:.1em; }
.oem-spec-head b { color:var(--oem-cyan); }
.oem-spec-row { display:grid; grid-template-columns:48px 1fr 1.25fr; gap:1rem; align-items:center; padding:1.25rem 1.4rem; border-bottom:1px solid var(--oem-line); }
.oem-spec-row:last-child { border-bottom:0; }
.oem-spec-row>span { color:var(--oem-violet); font-size:.7rem; font-weight:800; }
.oem-spec-row strong { font-size:.9rem; }.oem-spec-row p { margin:0; color:var(--oem-muted); font-size:.8rem; line-height:1.55; }

.oem-disciplines-head { display:flex; justify-content:space-between; gap:3rem; align-items:end; margin-bottom:3.5rem; }
.oem-disciplines-head .oem-section-lead { margin:0; max-width:440px; }
.oem-track-list { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--oem-line); border-left:1px solid var(--oem-line); }
.oem-track { position:relative; min-height:270px; padding:2.2rem; border-right:1px solid var(--oem-line); border-bottom:1px solid var(--oem-line); background:#fff; overflow:hidden; }
.oem-track::after { position:absolute; right:-55px; bottom:-55px; width:140px; height:140px; border:1px solid rgba(121,103,255,.16); border-radius:50%; content:""; }
.oem-track>span { color:var(--oem-violet); font-size:.68rem; font-weight:800; letter-spacing:.12em; }
.oem-track svg { display:block; width:32px; height:32px; margin:2.2rem 0 1.2rem; color:var(--oem-violet); }
.oem-track h3 { margin:0 0 .75rem; font-size:1.25rem; }.oem-track p { max-width:470px; margin:0; color:var(--oem-muted); font-size:.85rem; line-height:1.75; }

.oem-gates { color:#fff; background:var(--oem-navy); }
.oem-gates .oem-kicker { color:var(--oem-cyan); }.oem-gates .oem-section-title { color:#fff; }
.oem-gate-rail { display:grid; grid-template-columns:repeat(5,1fr); margin-top:4rem; border-top:1px solid rgba(255,255,255,.17); }
.oem-gate { position:relative; padding:2.8rem 1.4rem 0 0; }
.oem-gate::before { position:absolute; left:0; top:-7px; width:13px; height:13px; border:3px solid var(--oem-navy); border-radius:50%; background:var(--oem-cyan); box-shadow:0 0 0 1px var(--oem-cyan); content:""; }
.oem-gate span { color:var(--oem-cyan); font-size:.68rem; font-weight:800; letter-spacing:.12em; }
.oem-gate h3 { margin:.75rem 0 .6rem; color:#fff; font-size:1rem; }.oem-gate p { margin:0; color:rgba(255,255,255,.55); font-size:.78rem; line-height:1.65; }

.oem-validation-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.oem-test-board { padding:1.4rem; border:1px solid var(--oem-line); border-radius:18px; background:#f7f9fd; }
.oem-test-board-head { display:flex; justify-content:space-between; margin-bottom:1rem; padding:.7rem .8rem; font-size:.68rem; font-weight:800; letter-spacing:.1em; }
.oem-test-board-head span:last-child { color:#159f77; }
.oem-test-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.8rem; }
.oem-test { padding:1.1rem; border:1px solid var(--oem-line); border-radius:12px; background:#fff; }
.oem-test svg { width:23px; height:23px; color:var(--oem-violet); }.oem-test strong { display:block; margin:.8rem 0 .25rem; font-size:.86rem; }.oem-test span { color:var(--oem-muted); font-size:.7rem; }
.oem-validation-copy ul { display:grid; gap:.9rem; margin:2rem 0 0; padding:0; list-style:none; }
.oem-validation-copy li { display:flex; gap:.7rem; color:var(--oem-muted); font-size:.85rem; }.oem-validation-copy li::before { color:var(--oem-violet); content:"→"; }

.oem-models { background:#f7f9fd; }
.oem-model-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:3rem; }
.oem-model { padding:2.6rem; border:1px solid var(--oem-line); background:#fff; }
.oem-model.is-odm { color:#fff; border-color:transparent; background:linear-gradient(145deg,#111d43,#32266e); }
.oem-model>span { color:var(--oem-violet); font-size:.7rem; font-weight:800; letter-spacing:.14em; }.oem-model.is-odm>span { color:var(--oem-cyan); }
.oem-model h3 { margin:1rem 0 .6rem; font-size:1.55rem; }.oem-model.is-odm h3 { color:#fff; }
.oem-model p { margin:0 0 1.5rem; color:var(--oem-muted); line-height:1.75; }.oem-model.is-odm p { color:rgba(255,255,255,.65); }
.oem-model ul { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; font-size:.82rem; }.oem-model li::before { margin-right:.5rem; color:var(--oem-violet); content:"+"; }.oem-model.is-odm li::before { color:var(--oem-cyan); }

.oem-faq-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:6rem; }
.oem-faq-list details { border-bottom:1px solid var(--oem-line); }
.oem-faq-list summary { display:flex; justify-content:space-between; gap:1rem; padding:1.35rem 0; color:var(--oem-ink); font-size:.93rem; font-weight:750; cursor:pointer; list-style:none; }
.oem-faq-list summary::-webkit-details-marker { display:none; }.oem-faq-list summary span { color:var(--oem-violet); font-size:1.25rem; transition:.2s; }.oem-faq-list details[open] summary span { transform:rotate(45deg); }
.oem-faq-list details p { margin:-.2rem 0 1.4rem; color:var(--oem-muted); font-size:.82rem; line-height:1.75; }

/* High-contrast copy for transparent sections over the dark page artwork. */
.oem-disciplines .oem-section-title,
.oem-validation .oem-section-title,
.oem-faq .oem-section-title { color:#f7fbff; text-shadow:0 2px 18px rgba(0,0,0,.28); }
.oem-disciplines .oem-section-lead,
.oem-validation .oem-section-lead,
.oem-faq .oem-section-lead { color:rgba(235,243,255,.76); }
.oem-disciplines .oem-kicker,
.oem-validation .oem-kicker,
.oem-faq .oem-kicker { color:var(--oem-cyan); }
.oem-validation-copy li { color:rgba(235,243,255,.74); }
.oem-faq-list details { border-color:rgba(255,255,255,.2); }
.oem-faq-list summary { color:#f7fbff; }
.oem-faq-list details p { color:rgba(235,243,255,.7); }
.oem-cta { padding:0 0 7rem; }.oem-cta-card { display:flex; justify-content:space-between; align-items:center; gap:3rem; padding:3.2rem; color:#fff; background:linear-gradient(120deg,#111f4a,#5842c4); }
.oem-cta-card h2 { max-width:760px; margin:0; color:#fff; font-size:clamp(2rem,3.4vw,3.1rem); line-height:1.1; }.oem-cta-card p { margin:.9rem 0 0; color:rgba(255,255,255,.65); }.oem-cta-card .btn { flex:0 0 auto; color:var(--oem-ink); background:#fff; }

@media(max-width:1100px){.oem-hero-grid{grid-template-columns:1fr;}.oem-blueprint{max-width:760px;width:100%;margin:auto}.oem-brief-grid{grid-template-columns:1fr;gap:3rem}.oem-brief-copy{position:static}.oem-disciplines-head{align-items:start;flex-direction:column}.oem-validation-grid{gap:3rem}.oem-faq-grid{gap:3rem}}
@media(max-width:760px){.oem-section{padding:5rem 0}.oem-hero{padding:8rem 0 4rem}.oem-hero h1{font-size:clamp(2.65rem,13vw,4rem)}.oem-hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.oem-blueprint{min-height:390px}.oem-frame-drawing{width:280px;transform:translate(-50%,-50%) scale(.72)}.oem-dim-a,.oem-dim-b{display:none}.oem-spec-row{grid-template-columns:34px 1fr}.oem-spec-row p{grid-column:2}.oem-track-list,.oem-validation-grid,.oem-model-grid,.oem-faq-grid{grid-template-columns:1fr}.oem-gate-rail{grid-template-columns:1fr;border-top:0;border-left:1px solid rgba(255,255,255,.17);margin-left:7px}.oem-gate{padding:0 0 2rem 2rem}.oem-gate::before{left:-7px;top:4px}.oem-cta-card{align-items:flex-start;flex-direction:column;padding:2.2rem 1.4rem}.oem-actions{align-items:stretch;flex-direction:column}.oem-primary{justify-content:center}.oem-link{justify-content:center}}
@media(prefers-reduced-motion:reduce){.oem-page *,.oem-page *::before,.oem-page *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
