.oem-page { --oem-ink: #252b2a; --oem-line: #d3dbd7; }
.oem-main { letter-spacing: 0; }
.oem-main *, .oem-main *::before, .oem-main *::after { box-sizing: border-box; }
.oem-main .eyebrow { font-size: 11px; color: #536b60; margin-bottom: 18px; }
.oem-page .banner-oem h1 { font-size: 54px !important; }
.oem-hero-link { margin-top: 26px; }
.oem-nav { background: white; border-bottom: 1px solid var(--oem-line); }
.oem-nav > .container { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.oem-nav-label { font-size: 12px; color: #626d68; }
.oem-nav .container > div { display: flex; gap: 32px; }
.oem-nav a { padding: 23px 0; font-size: 13px; font-weight: 600; border-bottom: 2px solid transparent; }
.oem-nav a span { color: #7b8781; margin-right: 8px; font-size: 10px; }
.oem-nav a:hover, .oem-nav a[aria-current] { border-color: #536b60; color: #40564c; }
.oem-main .oem-band { padding: 84px 0; border-bottom: 1px solid var(--oem-line); scroll-margin-top: 110px; }
.oem-heading { display: grid; grid-template-columns: 1.25fr 1fr; align-items: end; gap: 80px; margin-bottom: 42px; }
.oem-main h2 { font-size: 40px; line-height: 1.17; margin: 0; color: var(--oem-ink); }
.oem-heading > p { max-width: 390px; justify-self: end; margin: 0; }
.oem-main p { font-size: 15px; line-height: 1.8; color: #626d68; }
.oem-partner-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center; }
.oem-main figure { margin: 0; }
.oem-factory-photo img { display: block; width: 100%; height: auto; border-radius: 4px; }
.oem-factory-photo figcaption { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; padding-top: 14px; color: #626d68; }
.oem-factory-viewport { position: relative; aspect-ratio: 1485 / 1024; overflow: hidden; border-radius: 4px; background: #e2e7e5; }
.oem-factory-slide { position: absolute; inset: 0; display: flex; opacity: 0; visibility: hidden; transition: opacity 550ms ease, visibility 550ms ease; }
.oem-factory-slide.is-active { opacity: 1; visibility: visible; }
.oem-factory-viewport img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; min-width: 0; }
.oem-factory-photo figcaption { align-items: center; min-height: 66px; }
.oem-factory-caption { display: grid; gap: 5px; }
.oem-factory-caption strong { font-size: 13px; font-weight: 600; color: #252b2a; }
.oem-factory-caption > span { font-size: 10px; }
.oem-factory-controls { display: flex; align-items: center; gap: 3px; flex-shrink: 0; }
.oem-factory-controls button { display: grid; place-items: center; width: 34px; height: 36px; padding: 0; border: 1px solid transparent; border-radius: 4px; color: #40564c; background: transparent; cursor: pointer; }
.oem-factory-controls button:hover { background: #e2e7e5; }
.oem-factory-controls > span { min-width: 44px; text-align: center; font-size: 10px; font-variant-numeric: tabular-nums; }
.oem-factory-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 500px) {
  .oem-factory-photo figcaption { align-items: flex-start; flex-direction: column; gap: 10px; }
  .oem-factory-controls { align-self: flex-end; }
  .oem-factory-controls button { width: 40px; height: 40px; }
}
.oem-route { display: grid; grid-template-columns: 58px 1fr; gap: 24px; padding: 26px 0; border-top: 1px solid var(--oem-line); }
.oem-route > span { font-size: 14px; color: #536b60; font-weight: 700; padding-top: 4px; }
.oem-route h3 { font-size: 22px; line-height: 1.3; margin: 0 0 12px; }
.oem-route p { margin: 0; }
.oem-main .text-link { display: inline-flex; align-items: center; gap: 18px; font-size: 13px; }
.oem-partner-copy > .text-link { margin: 10px 0 0 82px; }
.oem-facts { display: grid; grid-template-columns: repeat(3,1fr); margin: 40px 0 0; padding-top: 30px; border-top: 1px solid var(--oem-line); }
.oem-facts > div { padding-left: 32px; border-left: 1px solid var(--oem-line); }
.oem-facts > div:first-child { padding-left: 0; border: 0; }
.oem-facts dt { color: #626d68; font-size: 12px; margin-bottom: 10px; }
.oem-facts dd { margin: 0; font-size: 34px; line-height: 1.25; font-weight: 700; }
.oem-facts small { font-size: 13px; font-weight: 500; color: #626d68; white-space: nowrap; }
.oem-custom { background: #eaf0ed; }
.oem-service-layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: start; }
.oem-service-visual { position: static; }
.oem-service-visual img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: contain; display: block; border-radius: 4px; }
.oem-service-visual figcaption { color: #626d68; font-size: 11px; margin-top: 14px; }
.oem-service { border-top: 1px solid #bdccc4; scroll-margin-top: 115px; }
.oem-service:last-child { border-bottom: 1px solid #bdccc4; }
.oem-service summary { display: flex; gap: 20px; align-items: center; cursor: pointer; padding: 23px 0; font-size: 19px; font-weight: 600; list-style: none; }
.oem-service summary::-webkit-details-marker { display: none; }
.oem-index { font-size: 11px; color: #626d68; font-weight: 500; }
.oem-service summary i { margin-left: auto; font-size: 12px; transition: transform 220ms ease; }
.oem-service[open] summary i { transform: rotate(45deg); }
.oem-service-detail { padding: 0 0 24px 34px; }
.oem-service-detail h3 { font-size: 15px; margin-bottom: 9px; }
.oem-service-detail p { font-size: 14px; margin-bottom: 18px; }
.oem-service-detail ul { display: flex; flex-wrap: wrap; gap: 8px 24px; padding-left: 16px; font-size: 12px; color: #40564c; }
.oem-main .oem-journey { background: #293c34; color: #fff; }
.oem-journey h2, .oem-journey h3 { color: #fff; }
.oem-journey .eyebrow, .oem-journey p { color: #cedbd3; }
.oem-steps { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border-bottom: 1px solid #6a7d71; margin-bottom: 36px; }
.oem-steps button { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; color: #cedbd3; padding: 18px 20px; background: none; border: none; border-bottom: 3px solid transparent; cursor: pointer; font-size: 15px; font-weight: 600; transition: background 200ms, border-color 200ms; }
.oem-steps button span { font-size: 11px; font-weight: 400; }
.oem-steps button:hover { background: #ffffff0c; }
.oem-steps button[aria-selected="true"] { color: #fff; border-color: #d4deba; background: #ffffff0c; }
.oem-stage-panel { display: grid; grid-template-columns: 1.25fr 1fr; gap: 100px; min-height: 255px; padding: 12px 0 24px; }
.oem-stage-panel[hidden] { display: none; }
.oem-stage-panels.is-enhanced { display: grid; }
.oem-stage-panels.is-enhanced > .oem-stage-panel { grid-area: 1 / 1; }
.oem-stage-panels.is-enhanced > .oem-stage-panel[hidden] { display: grid !important; visibility: hidden; pointer-events: none; }
.oem-stage-copy h3 { font-size: 30px; line-height: 1.25; max-width: 470px; margin-bottom: 18px; }
.oem-stage-copy p { max-width: 500px; margin: 0; }
.oem-stage-panel dl { margin: 0; }
.oem-stage-panel dl > div { border-top: 1px solid #6a7d71; padding: 18px 0; }
.oem-stage-panel dt { font-size: 11px; color: #d4deba; margin-bottom: 8px; }
.oem-stage-panel dd { margin: 0; font-size: 14px; line-height: 1.7; }
.oem-process-bottom { border-top: 1px solid #6a7d71; padding-top: 24px; display: flex; gap: 24px; justify-content: space-between; align-items: center; }
.oem-process-bottom p { font-size: 12px; margin: 0; }
.oem-light-link { display: inline-flex; gap: 24px; align-items: center; font-weight: 600; font-size: 13px; color: white; padding: 10px 0; }
.oem-light-link:hover { color: #d4deba; }
.oem-term-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; margin: 0; }
.oem-term-grid > div { border-top: 2px solid #536b60; padding-top: 24px; }
.oem-term-grid dt { font-size: 13px; display: flex; align-items: center; gap: 10px; margin-bottom: 28px; }
.oem-term-grid dt i { color: #536b60; }
.oem-term-grid dd { font-size: 22px; line-height: 1.4; font-weight: 700; margin: 0 0 14px; }
.oem-term-grid small { font-size: 13px; font-weight: 400; }
.oem-term-grid p { font-size: 13px; margin: 0; }
.oem-sample-note { display: flex; align-items: center; gap: 24px; padding: 24px 0 0; margin-top: 36px; border-top: 1px solid var(--oem-line); }
.oem-sample-note > i { color: #536b60; font-size: 22px; }
.oem-sample-note p { margin: 0; font-size: 13px; flex: 1; }
.oem-sample-note strong { color: #252b2a; }
.oem-questions { background: white; }
.oem-question-layout { display: grid; grid-template-columns: .8fr 1.3fr; gap: 100px; }
.oem-question-layout > div:first-child > p { margin: 22px 0; max-width: 300px; }
.oem-main .faq-item { border: 0; border-bottom: 1px solid var(--oem-line); border-radius: 0 !important; background: none; box-shadow: none; padding: 0; margin: 0; }
.oem-main .faq-item:first-child { border-top: 1px solid var(--oem-line); }
.oem-main .faq-item summary { position: relative; list-style: none; padding: 22px 30px 22px 0; font-size: 15px; line-height: 1.5; }
.oem-main .faq-item summary::-webkit-details-marker { display: none; }
.oem-main .faq-item summary::after { content: '\f067'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 11px; position: absolute; right: 0; top: 25px; transition: transform 200ms ease; }
.oem-main .faq-item[open] summary::after { transform: rotate(45deg); }
.oem-main .faq-answer { padding: 0 28px 22px 0; font-size: 14px; line-height: 1.8; color: #626d68; }
.oem-closing { background: #e2e7e5; }
.oem-closing > .container { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.oem-closing h2 { font-size: 46px; }
.oem-closing p { margin: 18px 0 0; }
.oem-main a, .oem-main button, .oem-main summary { -webkit-tap-highlight-color: transparent; }
.oem-main :focus-visible { outline: 2px solid #809a8b; outline-offset: 5px; }
.oem-journey :focus-visible { outline-color: #d4deba; }
@keyframes oem-enter { from { opacity: .3; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .oem-stage-panel.is-entering, .oem-service[open] .oem-service-detail, .oem-service-visual img.is-entering { animation: oem-enter 320ms ease both; }
  [data-oem-reveal].is-revealed { animation: oem-enter 550ms ease both; }
  .oem-main .action-link { transition: background 180ms ease; }
}
@media (max-width: 1100px) {
  .oem-heading { gap: 40px; }
  .oem-partner-layout, .oem-service-layout { gap: 36px; }
  .oem-stage-panel, .oem-question-layout { gap: 48px; }
  .oem-nav-label { display: none; }
  .oem-nav > .container { justify-content: center; }
  .oem-term-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
}
@media (max-width: 800px) {
  .oem-page .banner-oem h1 { font-size: 38px !important; }
  .oem-main .oem-band { padding: 56px 0; }
  .oem-main h2 { font-size: 32px; }
  .oem-heading, .oem-partner-layout, .oem-service-layout, .oem-question-layout { grid-template-columns: 1fr; gap: 28px; }
  .oem-heading > p { justify-self: start; max-width: 500px; }
  .oem-facts dd { font-size: 27px; }
  .oem-facts small { display: block; margin-top: 6px; }
  .oem-service-visual { position: static; max-width: 600px; }
  .oem-stage-panel { gap: 32px; grid-template-columns: 1fr; min-height: 410px; }
  .oem-stage-panel dl { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .oem-steps { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .oem-steps button { padding: 14px; flex-direction: row; align-items: center; font-size: 13px; }
  .oem-stage-copy h3 { font-size: 27px; }
  .oem-sample-note { display: grid; grid-template-columns: 24px 1fr; gap: 16px 22px; align-items: start; }
  .oem-sample-note .text-link { grid-column: 2; margin-left: 0; }
}
@media (max-width: 500px) {
  .oem-page .container { padding-inline: 22px; }
  .oem-nav .container > div { width: 100%; justify-content: space-between; gap: 12px; }
  .oem-nav a { font-size: 12px; padding-block: 18px; }
  .oem-nav a span { display: none; }
  .oem-main h2 { font-size: 29px; }
  .oem-facts { gap: 12px; }
  .oem-facts > div { padding-left: 12px; }
  .oem-facts dd { font-size: 22px; }
  .oem-facts dt, .oem-facts small { font-size: 10px; }
  .oem-route { gap: 12px; grid-template-columns: 44px 1fr; }
  .oem-route h3 { font-size: 20px; }
  .oem-partner-copy > .text-link { margin-left: 56px; }
  .oem-service summary { font-size: 17px; }
  .oem-stage-panel { min-height: 470px; gap: 20px; }
  .oem-stage-panel dl { grid-template-columns: 1fr; gap: 0; }
  .oem-process-bottom, .oem-closing > .container { flex-direction: column; align-items: flex-start; }
  .oem-term-grid { gap: 30px 22px; }
  .oem-term-grid dd { font-size: 19px; }
  .oem-term-grid dt { font-size: 12px; min-height: 36px; margin-bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .oem-main *, .oem-main *::before, .oem-main *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
