.oem-theme { background: var(--color-white); }
.oem-hero { position: relative; overflow: hidden; padding: clamp(3.5rem, 7vw, 7rem) 0 0; background: var(--color-light-blue); }
.oem-hero::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(19,142,208,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(19,142,208,.065) 1px, transparent 1px); background-size: 68px 68px; content: ""; mask-image: linear-gradient(90deg, #000, rgba(0,0,0,.28) 72%, transparent); }
.oem-breadcrumb { position: relative; margin: 0 0 clamp(2.75rem, 5vw, 5rem); color: var(--color-muted); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.oem-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; padding-bottom: clamp(3.5rem, 6vw, 6rem); }
.oem-hero h1 { max-width: 860px; margin: .8rem 0 0; color: var(--color-navy); font-family: var(--font-display); font-size: clamp(3.7rem, 6.7vw, 6.8rem); line-height: .88; letter-spacing: -.035em; text-transform: uppercase; }
.oem-hero__intro { padding: 0 0 .35rem 1.5rem; border-left: 4px solid var(--color-cyan); }
.oem-hero__intro p { margin: 0; color: var(--color-muted); font-size: clamp(1rem, 1.45vw, 1.25rem); line-height: 1.7; }
.oem-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.7rem; }
.oem-service-index { position: relative; display: grid; grid-template-columns: repeat(7, 1fr); margin: 0; padding: 0; border: 1px solid var(--color-line); border-bottom: 0; background: rgba(255,255,255,.9); list-style: none; }
.oem-service-index li { min-width: 0; border-right: 1px solid var(--color-line); }
.oem-service-index li:last-child { border-right: 0; }
.oem-service-index a { display: grid; min-height: 126px; align-content: space-between; padding: 1rem; color: var(--color-navy); font-size: .66rem; font-weight: 800; line-height: 1.35; letter-spacing: .07em; text-transform: uppercase; transition: color .2s, background .2s, transform .2s var(--ease); }
.oem-service-index span { color: var(--color-ocean); font-family: var(--font-display); font-size: 1.15rem; }
.oem-service-index a:hover { color: var(--color-white); background: var(--color-navy); transform: translateY(-5px); }
.oem-service-index a:hover span { color: var(--color-cyan); }
.oem-orientation { padding: clamp(4rem, 7vw, 6rem) 0; border-block: 1px solid var(--color-line); }
.oem-orientation__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); gap: clamp(3rem, 7vw, 7rem); align-items: end; }
.oem-orientation h2 { max-width: 760px; margin: 0; color: var(--color-navy); font-family: var(--font-display); font-size: clamp(2.8rem, 4.5vw, 4.75rem); line-height: .94; text-transform: uppercase; }
.oem-orientation__grid > div:last-child > p { margin: 0; color: var(--color-muted); font-size: 1.04rem; line-height: 1.75; }
.oem-family-links { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
.oem-family-links a { padding: .55rem .8rem; border: 1px solid var(--color-line); color: var(--color-navy); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.oem-family-links a:hover { border-color: var(--color-ocean); color: var(--color-ocean); }
.oem-service { padding: clamp(4.5rem, 8vw, 8rem) 0; background: var(--color-white); }
.oem-service:nth-child(even) { background: var(--color-light-blue); }
.oem-service__grid { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(400px, .97fr); align-items: stretch; }
.oem-service:nth-child(even) .oem-service__visual { order: 2; }
.oem-service:nth-child(even) .oem-service__content { order: 1; border-right: 0; border-left: 1px solid var(--color-line); }
.oem-service__visual { position: relative; min-height: 560px; margin: 0; overflow: hidden; background: #dceaf1; }
.oem-service__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.oem-service__visual:hover img { transform: scale(1.035); }
.oem-service__visual figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; color: #d7e9f2; background: rgba(5,30,53,.9); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.oem-service__visual figcaption span { color: var(--color-cyan); font-family: var(--font-display); font-size: 1rem; }
.oem-service__content { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(2.5rem, 5vw, 5rem); border: 1px solid var(--color-line); border-left: 0; background: rgba(255,255,255,.86); }
.oem-service__content h2 { max-width: 660px; margin: 0; color: var(--color-navy); font-family: var(--font-display); font-size: clamp(2.65rem, 4vw, 4.35rem); line-height: .93; text-transform: uppercase; }
.oem-service__content > p:not(.eyebrow) { max-width: 680px; margin: 1.3rem 0 0; color: var(--color-muted); line-height: 1.75; }
.oem-service__content ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem 1.5rem; margin: 2rem 0; padding: 1.5rem 0; border-block: 1px solid var(--color-line); list-style: none; }
.oem-service__content li { position: relative; padding-left: 1.1rem; color: var(--color-ink); font-size: .86rem; font-weight: 700; }
.oem-service__content li::before { position: absolute; top: .55rem; left: 0; width: 6px; height: 6px; background: var(--color-cyan); content: ""; }
.oem-service--dark { color: var(--color-white); background: var(--color-dark-navy) !important; }
.oem-service--dark .oem-service__content { border-color: var(--color-line-dark); background: rgba(8,45,97,.34); }
.oem-service--dark .oem-service__content h2, .oem-service--dark .oem-service__content li, .oem-service--dark .text-link { color: var(--color-white); }
.oem-service--dark .oem-service__content > p:not(.eyebrow) { color: #bcd1df; }
.oem-service--dark .oem-service__content ul { border-color: var(--color-line-dark); }
.oem-brief { padding: clamp(5rem, 9vw, 8rem) 0; background: var(--color-light-blue); }
.oem-brief__grid { display: grid; grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr); gap: clamp(3rem, 7vw, 7rem); }
.oem-brief h2 { margin: 0; color: var(--color-navy); font-family: var(--font-display); font-size: clamp(3rem, 4.8vw, 5.1rem); line-height: .92; text-transform: uppercase; }
.oem-brief__grid > div > p:last-child { margin: 1.5rem 0 0; color: var(--color-muted); line-height: 1.75; }
.oem-brief ol { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; border-top: 1px solid var(--color-line); list-style: none; }
.oem-brief li { display: grid; grid-template-columns: 42px 1fr; gap: 1rem; min-height: 145px; padding: 1.35rem; border-right: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); background: rgba(255,255,255,.7); }
.oem-brief li:nth-child(even) { border-right: 0; }
.oem-brief li > span { color: var(--color-ocean); font-family: var(--font-display); font-size: 1.2rem; }
.oem-brief h3 { margin: 0 0 .45rem; color: var(--color-navy); font-family: var(--font-display); font-size: 1.45rem; text-transform: uppercase; }
.oem-brief li p { margin: 0; color: var(--color-muted); font-size: .86rem; line-height: 1.55; }
.oem-faq { padding: clamp(5rem, 8vw, 8rem) 0; }
.oem-faq__grid { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--color-line); }
.oem-faq article { position: relative; min-height: 230px; padding: 2rem 2rem 2rem 5rem; border-right: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); }
.oem-faq article:nth-child(even) { border-right: 0; }
.oem-faq article:nth-last-child(-n+2) { border-bottom: 0; }
.oem-faq article > span { position: absolute; top: 2rem; left: 2rem; color: var(--color-ocean); font-family: var(--font-display); font-size: 1rem; }
.oem-faq h3 { margin: 0 0 .8rem; color: var(--color-navy); font-size: 1.02rem; text-transform: uppercase; }
.oem-faq article p { margin: 0; color: var(--color-muted); line-height: 1.7; }
.oem-rfq { padding: clamp(5rem, 9vw, 8rem) 0; color: var(--color-white); background: var(--color-navy); }
.oem-rfq__grid { display: grid; grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.oem-rfq h2 { margin: 0; font-family: var(--font-display); font-size: clamp(3.15rem, 5vw, 5.4rem); line-height: .9; text-transform: uppercase; }
.oem-rfq__copy > p:not(.eyebrow) { margin: 1.5rem 0 0; color: #c4d8e5; line-height: 1.75; }
.oem-contact { margin-top: 2rem; padding-left: 1.2rem; border-left: 3px solid var(--color-cyan); }
.oem-contact a { display: block; margin: .45rem 0; color: var(--color-white); font-weight: 700; }
.oem-rfq__form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid rgba(255,255,255,.22); background: rgba(5,30,53,.42); }
.oem-rfq__form label { display: grid; gap: .4rem; }
.oem-rfq__form label > span { color: #dbe9f1; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.oem-rfq__form input, .oem-rfq__form select, .oem-rfq__form textarea { width: 100%; min-width: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 0; padding: .85rem .9rem; color: var(--color-white); background: rgba(255,255,255,.06); }
.oem-rfq__form select option { color: var(--color-ink); background: var(--color-white); }
.oem-rfq__form textarea { resize: vertical; }
.oem-rfq__form ::placeholder { color: #9eb8c9; }
.form-wide { grid-column: 1 / -1; }
@media (max-width: 1040px) {
  .oem-service-index { grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--color-line); }
  .oem-service-index li:nth-child(4) { border-right: 0; }
  .oem-service-index li:nth-child(-n+4) { border-bottom: 1px solid var(--color-line); }
  .oem-hero__grid, .oem-orientation__grid, .oem-brief__grid, .oem-rfq__grid { grid-template-columns: 1fr; }
  .oem-service__grid { grid-template-columns: 1fr; }
  .oem-service:nth-child(even) .oem-service__visual, .oem-service:nth-child(even) .oem-service__content { order: initial; }
  .oem-service__content, .oem-service:nth-child(even) .oem-service__content { border: 1px solid var(--color-line); border-top: 0; }
  .oem-service__visual { min-height: 480px; }
}
@media (max-width: 680px) {
  .oem-hero { padding-top: 3rem; }
  .oem-breadcrumb { margin-bottom: 3rem; }
  .oem-hero h1 { font-size: clamp(3.1rem, 15vw, 5rem); }
  .oem-hero__intro { padding-left: 1rem; }
  .oem-service-index { grid-template-columns: repeat(2, 1fr); }
  .oem-service-index li, .oem-service-index li:nth-child(4) { border-right: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); }
  .oem-service-index li:nth-child(even) { border-right: 0; }
  .oem-service-index li:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; }
  .oem-service-index a { min-height: 96px; }
  .oem-service__visual { min-height: 320px; }
  .oem-service__content { padding: 2rem 1.35rem; }
  .oem-service__content ul, .oem-brief ol, .oem-faq__grid, .oem-rfq__form { grid-template-columns: 1fr; }
  .oem-brief li, .oem-brief li:nth-child(even) { border-right: 0; }
  .oem-brief li:last-child { border-bottom: 0; }
  .oem-faq article, .oem-faq article:nth-child(even), .oem-faq article:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--color-line); }
  .oem-faq article:last-child { border-bottom: 0; }
  .form-wide { grid-column: auto; }
}
