/*------------------------------------
   OEM Partners Main Visual
------------------------------------*/
.mo_br {
   display: none;
}

/*------------------------------------
   Partners Content
------------------------------------*/
.oem_partners_inner {
   width: min(1400px, calc(100% - 160px));
   margin: 0 auto;
}

.oem_partners_kicker {
   margin: 0;
   font-family: "Roboto", sans-serif;
   font-size: 18px;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0.14em;
   color: var(--color-brand);
}

.oem_partners_network {
   padding: 180px 0 150px;
   background: var(--color-bg-base);
}

.oem_partners_network_layout {
   display: grid;
   grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
   gap: 140px;
   align-items: end;
   margin-top: 34px;
}

.oem_partners_network_layout h2 {
   margin: 0;
   font-size: clamp(56px, 4.2vw, 76px);
   font-weight: 700;
   line-height: 1.18;
   letter-spacing: -0.04em;
   color: var(--color-text-primary);
   word-break: keep-all;
}

.oem_partners_network_layout p {
   margin: 0;
   font-size: 24px;
   font-weight: 400;
   line-height: 1.78;
   letter-spacing: -0.03em;
   color: var(--color-text-secondary);
   word-break: keep-all;
}

.oem_partner_logos {
   padding: 155px 0 170px;
   background: #fff;
}

.oem_partner_logos_head {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   gap: 80px;
   margin-bottom: 76px;
}

.oem_partner_logos_head h2,
.oem_partners_cases_head h2,
.oem_partners_capability_head h2 {
   margin: 20px 0 0;
   font-size: clamp(54px, 4vw, 72px);
   font-weight: 700;
   line-height: 1.08;
   color: var(--color-text-primary);
}

.oem_partner_logos_head>p {
   max-width: 520px;
   margin: 0 0 8px;
   font-size: 20px;
   font-weight: 400;
   line-height: 1.75;
   letter-spacing: -0.03em;
   text-align: right;
   color: var(--color-text-muted);
   word-break: keep-all;
}

.oem_partner_logo_grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 18px;
   margin: 0;
   padding: 0;
   list-style: none;
}

.oem_partner_logo_box {
   position: relative;
   min-height: 154px;
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 34px 26px;
   border: 1px solid var(--color-line);
   background: var(--color-bg-base);
   text-align: center;
   color: var(--color-text-primary);
   opacity: 1;
   overflow: hidden;
   transition: border-color 0.35s ease, background-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}

.oem_partner_logo_box:hover {
   border-color: rgba(102, 155, 69, 0.62);
   background: #fff;
   transform: translateY(-4px);
   box-shadow: 0 18px 40px rgba(28, 47, 38, 0.08);
}

.oem_partner_logo_box img {
   width: auto;
   max-width: min(78%, 210px);
   max-height: 72px;
   object-fit: contain;
}

.oem_partner_logo_mark {
   display: block;
   font-family: "Roboto", sans-serif;
   font-size: clamp(20px, 1.45vw, 28px);
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.02em;
   color: var(--color-text-primary);
}

.oem_partner_logo_box strong {
   display: block;
   font-size: 15px;
   font-weight: 500;
   line-height: 1.2;
   letter-spacing: -0.03em;
   color: var(--color-text-muted);
}

.oem_partner_channels {
   margin-top: 148px;
   padding-top: 140px;
   border-top: 1px solid var(--color-line);
}

.oem_partner_channels_head {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   gap: 80px;
   margin-bottom: 62px;
}

.oem_partner_channels_head h3 {
   margin: 20px 0 0;
   font-size: clamp(46px, 3.5vw, 64px);
   font-weight: 700;
   line-height: 1.08;
   letter-spacing: -0.04em;
   color: var(--color-text-primary);
}

.oem_partner_channels_head>p {
   max-width: 520px;
   margin: 0 0 8px;
   font-size: 20px;
   font-weight: 400;
   line-height: 1.75;
   letter-spacing: -0.03em;
   text-align: right;
   color: var(--color-text-muted);
   word-break: keep-all;
}

.oem_partner_channel_grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 18px;
   margin: 0;
   padding: 0;
   list-style: none;
}

.oem_partners_scope {
   padding: 155px 0 145px;
   background: var(--color-bg-base);
}

.oem_partners_scope_layout {
   display: grid;
   grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
   gap: 120px;
   align-items: start;
}

.oem_partners_scope_head h2 {
   margin: 20px 0 0;
   font-size: clamp(54px, 4vw, 72px);
   font-weight: 700;
   line-height: 1.12;
   letter-spacing: -0.04em;
   color: var(--color-text-primary);
   word-break: keep-all;
}

@media screen and (min-width: 1025px) {
   .oem_partners_scope_head {
      position: sticky;
      top: 130px;
      align-self: start;
   }
}

.oem_partners_scope_list {
   border-top: 1px solid var(--color-line);
}

.oem_partners_scope_item {
   display: grid;
   grid-template-columns: 74px minmax(0, 1fr);
   gap: 42px;
   padding: 34px 0 36px;
   border-bottom: 1px solid var(--color-line);
}

.oem_partners_scope_item>span {
   display: block;
   padding-top: 7px;
   font-family: "Roboto", sans-serif;
   font-size: 18px;
   font-weight: 500;
   line-height: 1;
   color: var(--color-brand);
}

.oem_partners_scope_item p {
   margin: 0 0 14px;
   font-family: "Roboto", sans-serif;
   font-size: 15px;
   font-weight: 400;
   line-height: 1;
   letter-spacing: 0.1em;
   color: var(--color-text-disabled);
}

.oem_partners_scope_item h3 {
   margin: 0 0 18px;
   font-size: 30px;
   font-weight: 700;
   line-height: 1.25;
   letter-spacing: -0.04em;
   color: var(--color-text-primary);
   word-break: keep-all;
}

.oem_partners_scope_item strong {
   display: block;
   max-width: 650px;
   margin: 0;
   font-size: 18px;
   font-weight: 400;
   line-height: 1.72;
   letter-spacing: -0.03em;
   color: var(--color-text-secondary);
   word-break: keep-all;
}

.oem_partners_cases {
   padding: 155px 0 170px;
   background: #fff;
   overflow: hidden;
}

.oem_partners_cases_head {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   gap: 80px;
   margin-bottom: 76px;
}

.oem_partners_cases_head>p {
   max-width: 560px;
   margin: 0 0 8px;
   font-size: 20px;
   font-weight: 400;
   line-height: 1.75;
   letter-spacing: -0.03em;
   text-align: right;
   color: var(--color-text-muted);
   word-break: keep-all;
}

.oem_partners_cases_side {
   max-width: 560px;
   margin: 0 0 8px;
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   gap: 30px;
}

.oem_partners_cases_side p {
   margin: 0;
   font-size: 20px;
   font-weight: 400;
   line-height: 1.75;
   letter-spacing: -0.03em;
   text-align: right;
   color: var(--color-text-muted);
   word-break: keep-all;
}

.oem_partners_case_grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 22px;
}

.oem_partners_case_card {
   display: flex;
   flex-direction: column;
   min-height: 590px;
   border: 1px solid #e3e3df;
   background: var(--color-bg-base);
   overflow: hidden;
   transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.oem_partners_case_card:hover {
   border-color: rgba(102, 155, 69, 0.5);
   transform: translateY(-4px);
   box-shadow: 0 22px 48px rgba(28, 47, 38, 0.08);
}

.oem_partners_case_image {
   width: 100%;
   aspect-ratio: 1.22 / 1;
   margin: 0;
   overflow: hidden;
   background: var(--color-line);
}

.oem_partners_case_image img {
   width: 100%;
   height: 100%;
   display: block;
   object-fit: cover;
   transition: transform 0.6s ease;
}

.oem_partners_case_card:hover .oem_partners_case_image img {
   transform: scale(1.045);
}

.oem_partners_case_content {
   flex: 1;
   display: flex;
   flex-direction: column;
   padding: 34px 32px 36px;
}

.oem_partners_case_meta {
   display: flex;
   align-items: center;
   gap: 18px;
   margin-bottom: 34px;
}

.oem_partners_case_meta span {
   font-family: "Roboto", sans-serif;
   font-size: 18px;
   font-weight: 600;
   line-height: 1;
   color: var(--color-brand);
}

.oem_partners_case_meta p {
   margin: 0;
   font-family: "Roboto", sans-serif;
   font-size: 14px;
   font-weight: 500;
   line-height: 1;
   letter-spacing: 0.1em;
   color: var(--color-text-disabled);
}

.oem_partners_case_content h3 {
   margin: 0 0 18px;
   font-size: 30px;
   font-weight: 700;
   line-height: 1.25;
   letter-spacing: -0.04em;
   color: var(--color-text-primary);
}

.oem_partners_case_content>p {
   margin: 0 0 30px;
   font-size: 17px;
   font-weight: 400;
   line-height: 1.7;
   letter-spacing: -0.03em;
   color: var(--color-text-secondary);
   word-break: keep-all;
}

.oem_partners_case_tags {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin-top: auto;
}

.oem_partners_case_tags span {
   display: inline-flex;
   align-items: center;
   min-height: 36px;
   padding: 0 15px;
   border: 1px solid var(--color-line);
   background: rgba(255, 255, 255, 0.72);
   font-size: 14px;
   font-weight: 400;
   line-height: 1;
   letter-spacing: -0.03em;
   color: var(--color-text-secondary);
}

.oem_partners_package_slider {
   width: 100%;
   max-width: 100%;
   margin-right: 0;
   margin-top: -8px;
   padding-top: 8px;
   padding-right: 0;
   overflow: visible;
}

@media screen and (min-width: 1025px) {
   .oem_partners_package_slider {
      cursor: grab;
      touch-action: pan-y;
      user-select: none;
      -webkit-user-select: none;
   }

   .oem_partners_package_slider.is-dragging {
      cursor: grabbing;
   }

   .oem_partners_package_slider img {
      -webkit-user-drag: none;
      user-select: none;
      pointer-events: none;
   }
}

.oem_partners_drag_cursor {
   position: fixed;
   left: 0;
   top: 0;
   z-index: 9999;
   width: 58px;
   height: 58px;
   border: 2px solid #6FAF45;
   border-radius: 50%;
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
   box-shadow: 0 6px 16px rgba(25, 25, 25, 0.1);
   transform: translate(-50%, -50%) scale(0.72);
   transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

.oem_partners_drag_cursor.is-visible {
   opacity: 1;
   visibility: visible;
   transform: translate(-50%, -50%) scale(1);
}

.oem_partners_drag_cursor.is-dragging {
   border-color: #6FAF45;
   transform: translate(-50%, -50%) scale(0.86);
}

@media screen and (max-width: 1024px) {
   .oem_partners_drag_cursor {
      display: none;
   }
}

.oem_partners_package_slider .swiper-slide.oem_partners_package_slide {
   width: clamp(220px, 14vw, 270px);
   flex: 0 0 clamp(220px, 14vw, 270px);
   height: auto;
   display: flex;
}

.oem_partners_package_card {
   width: 100%;
   flex: 1 1 auto;
   height: 100%;
   min-height: 420px;
   margin: 0;
   display: flex;
   flex-direction: column;
   border: 1px solid var(--color-line);
   background: var(--color-bg-base);
   overflow: hidden;
   transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
   .oem_partners_package_card:hover {
      border-color: rgba(102, 155, 69, 0.56);
      transform: translateY(-4px);
      box-shadow: 0 22px 48px rgba(28, 47, 38, 0.08);
   }
}

@media (hover: none) {
   .oem_partners_package_card:hover,
   .oem_partners_package_card:active {
      border-color: rgba(102, 155, 69, 0.56);
      transform: translateY(-4px);
      box-shadow: 0 18px 36px rgba(28, 47, 38, 0.08);
   }
}

.oem_partners_package_image {
   width: 100%;
   height: 315px;
   padding: 14px;
   /* background: var(--color-line); */
   box-sizing: border-box;
}

.oem_partners_package_image img {
   width: 100%;
   height: 100%;
   display: block;
   object-fit: contain;
}

.oem_partners_package_card figcaption {
   flex: 1;
   min-height: 96px;
   padding: 20px 20px 22px;
   box-sizing: border-box;
}

.oem_partners_package_card figcaption span {
   display: block;
   margin-bottom: 11px;
   font-size: 12px;
   font-weight: 400;
   line-height: 1;
   color: var(--color-brand);
}

.oem_partners_package_card figcaption strong {
   display: block;
   font-size: 18px;
   font-weight: 700;
   line-height: 1.38;
   letter-spacing: -0.04em;
   color: var(--color-text-primary);
   word-break: keep-all;
}

.oem_partners_capability {
   padding: 160px 0 180px;
   background: var(--color-bg-base);
}

.oem_partners_capability_head {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   gap: 80px;
   margin-bottom: 74px;
}

.oem_partners_capability_list {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   border-top: 1px solid var(--color-line);
   border-bottom: 1px solid var(--color-line);
}

.oem_partners_capability_card {
   min-height: 330px;
   padding: 48px 42px 54px;
   border-right: 1px solid var(--color-line);
   background: rgba(255, 255, 255, 0.42);
}

.oem_partners_capability_card:last-child {
   border-right: 0;
}

.oem_partners_capability_card span {
   display: block;
   margin-bottom: 70px;
   font-family: "Roboto", sans-serif;
   font-size: 18px;
   font-weight: 600;
   line-height: 1;
   color: var(--color-brand);
}

.oem_partners_capability_card h3 {
   margin: 0 0 24px;
   font-size: 30px;
   font-weight: 700;
   line-height: 1.3;
   letter-spacing: -0.04em;
   color: var(--color-text-primary);
}

.oem_partners_capability_card p {
   margin: 0;
   font-size: 18px;
   font-weight: 400;
   line-height: 1.75;
   letter-spacing: -0.03em;
   color: var(--color-text-secondary);
   word-break: keep-all;
}

@media screen and (max-width: 1400px) {
   .oem_partners_inner {
      width: min(1180px, calc(100% - 120px));
   }

   .oem_partners_network_layout {
      gap: 80px;
   }

   .oem_partners_scope_layout {
      gap: 80px;
   }

   .oem_partners_cases_head {
      gap: 64px;
   }

   .oem_partners_network_layout p {
      font-size: 21px;
   }

   .oem_partner_logo_grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
   }
}

@media screen and (min-width: 600px) and (max-width: 1024px) {
   .oem_partners_inner {
      width: calc(100% - 72px);
   }

   .oem_partners_kicker {
      font-size: clamp(16px, 2vw, 17px);
   }

   .oem_partners_network {
      padding: 130px 0 118px;
   }

   .oem_partners_network_layout {
      grid-template-columns: 1fr;
      gap: 42px;
      margin-top: 26px;
   }

   .oem_partners_network_layout h2 {
      font-size: clamp(44px, 6.9vw, 61px);
   }

   .oem_partners_network_layout p {
      font-size: clamp(17px, 2.35vw, 20px);
      line-height: 1.72;
   }

   .oem_partner_logos {
      padding: 120px 0 130px;
   }

   .oem_partner_logos_head,
   .oem_partners_cases_head,
   .oem_partners_capability_head {
      display: block;
      margin-bottom: 54px;
   }

   .oem_partner_logos_head h2,
   .oem_partners_cases_head h2,
   .oem_partners_capability_head h2 {
      font-size: clamp(44px, 6.7vw, 59px);
   }

   .oem_partner_logos_head>p,
   .oem_partners_cases_head>p {
      max-width: 560px;
      margin: 28px 0 0;
      font-size: clamp(16px, 2.2vw, 17px);
      text-align: left;
   }

   .oem_partners_cases_side {
      max-width: 620px;
      margin: 28px 0 0;
      align-items: flex-start;
      gap: 24px;
   }

   .oem_partners_cases_side p {
      font-size: clamp(16px, 2.2vw, 17px);
      text-align: left;
   }

   .oem_partner_logo_grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
   }

   .oem_partner_logo_box {
      min-height: 132px;
      padding: 28px 18px;
   }

   .oem_partner_channels {
      margin-top: 112px;
      padding-top: 108px;
   }

   .oem_partner_channels_head {
      display: block;
      margin-bottom: 48px;
   }

   .oem_partner_channels_head h3 {
      font-size: clamp(40px, 6.2vw, 55px);
   }

   .oem_partner_channels_head>p {
      max-width: 560px;
      margin: 28px 0 0;
      font-size: clamp(16px, 2.2vw, 17px);
      text-align: left;
   }

   .oem_partner_channel_grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
   }

   .oem_partners_scope {
      padding: 125px 0 118px;
   }

   .oem_partners_scope_layout {
      grid-template-columns: 1fr;
      gap: 52px;
   }

   .oem_partners_scope_head h2 {
      font-size: clamp(44px, 6.7vw, 59px);
   }

   .oem_partners_scope_item {
      grid-template-columns: 58px minmax(0, 1fr);
      gap: 30px;
      padding: 30px 0 32px;
   }

   .oem_partners_scope_item>span {
      font-size: clamp(16px, 2vw, 17px);
   }

   .oem_partners_scope_item p {
      font-size: 14px;
   }

   .oem_partners_scope_item h3 {
      font-size: clamp(27px, 3.5vw, 29px);
   }

   .oem_partners_scope_item strong {
      font-size: clamp(16px, 2.1vw, 17px);
   }

   .oem_partners_cases {
      padding: 120px 0 130px;
   }

   .oem_partners_package_slider {
      width: 100%;
      max-width: 100%;
      margin-right: 0;
      padding-right: 0;
   }

   .oem_partners_package_slider .swiper-slide.oem_partners_package_slide {
      width: min(280px, 38vw);
      flex-basis: min(280px, 38vw);
   }

   .oem_partners_package_image {
      height: 330px;
      padding: 16px;
   }

   .oem_partners_package_card figcaption {
      min-height: 94px;
      padding: 20px 20px 22px;
   }

   .oem_partners_package_card figcaption strong {
      font-size: 17px;
   }

   .oem_partners_case_grid {
      grid-template-columns: 1fr;
      gap: 18px;
   }

   .oem_partners_case_card {
      display: grid;
      grid-template-columns: minmax(250px, 38%) minmax(0, 1fr);
      min-height: 0;
   }

   .oem_partners_case_image {
      height: 100%;
      min-height: 270px;
      aspect-ratio: auto;
   }

   .oem_partners_case_content {
      min-height: 270px;
      padding: 34px 32px 36px;
   }

   .oem_partners_capability {
      padding: 125px 0 135px;
   }

   .oem_partners_capability_list {
      grid-template-columns: 1fr;
   }

   .oem_partners_capability_card {
      min-height: 0;
      padding: 38px 34px 42px;
      border-right: 0;
      border-bottom: 1px solid var(--color-line);
   }

   .oem_partners_capability_card:last-child {
      border-bottom: 0;
   }

   .oem_partners_capability_card span {
      margin-bottom: 34px;
      font-size: clamp(16px, 2vw, 17px);
   }

   .oem_partners_capability_card h3 {
      font-size: clamp(27px, 3.5vw, 29px);
   }

   .oem_partners_capability_card p {
      font-size: clamp(16px, 2.1vw, 17px);
   }
}

@media screen and (min-width: 300px) and (max-width: 599px) {
   .oem_partners_inner {
      width: calc(100% - 40px);
   }

   .oem_partners_kicker {
      font-size: 13px;
      letter-spacing: 0.12em;
   }

   .oem_partners_network {
      padding: 86px 0 76px;
   }

   .oem_partners_network_layout {
      grid-template-columns: 1fr;
      gap: 30px;
      margin-top: 18px;
   }

   .oem_partners_network_layout h2 {
      font-size: clamp(32px, 9.6vw, 42px);
      line-height: 1.2;
   }

   .oem_partners_network_layout p {
      font-size: 16px;
      line-height: 1.72;
   }

   .oem_partners_network_layout p br {
      display: none;
   }

   .oem_partner_logos {
      padding: 82px 0 90px;
   }

   .oem_partner_logos_head,
   .oem_partners_cases_head,
   .oem_partners_capability_head {
      display: block;
      margin-bottom: 36px;
   }

   .oem_partner_logos_head h2,
   .oem_partners_cases_head h2,
   .oem_partners_capability_head h2 {
      margin-top: 14px;
      font-size: clamp(34px, 10vw, 44px);
      line-height: 1.12;
   }

   .oem_partner_logos_head>p,
   .oem_partners_cases_head>p {
      margin: 20px 0 0;
      font-size: 15px;
      line-height: 1.65;
      text-align: left;
   }

   .oem_partners_cases_side {
      margin: 20px 0 0;
      align-items: flex-start;
      gap: 20px;
   }

   .oem_partners_cases_side p {
      font-size: 15px;
      line-height: 1.65;
      text-align: left;
   }

   .oem_partner_logos_head>p br {
      display: none;
   }

   .oem_partner_logo_grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
   }

   .oem_partner_logo_box {
      min-height: 104px;
      padding: 22px 14px;
   }

   .oem_partner_logo_box img {
      max-width: 82%;
      max-height: 50px;
   }

   .oem_partner_channels {
      margin-top: 76px;
      padding-top: 74px;
   }

   .oem_partner_channels_head {
      display: block;
      margin-bottom: 32px;
   }

   .oem_partner_channels_head h3 {
      margin-top: 14px;
      font-size: clamp(32px, 9.2vw, 40px);
      line-height: 1.12;
   }

   .oem_partner_channels_head>p {
      margin: 20px 0 0;
      font-size: 15px;
      line-height: 1.65;
      text-align: left;
   }

   .oem_partner_channels_head>p br {
      display: none;
   }

   .oem_partner_channel_grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
   }

   .oem_partners_scope {
      padding: 84px 0 78px;
   }

   .oem_partners_scope_layout {
      grid-template-columns: 1fr;
      gap: 36px;
   }

   .oem_partners_scope_head h2 {
      margin-top: 14px;
      font-size: clamp(34px, 10vw, 44px);
      line-height: 1.14;
   }

   .oem_partners_scope_item {
      grid-template-columns: 38px minmax(0, 1fr);
      gap: 18px;
      padding: 25px 0 27px;
   }

   .oem_partners_scope_item>span {
      padding-top: 5px;
      font-size: 14px;
   }

   .oem_partners_scope_item p {
      margin-bottom: 11px;
      font-size: 12px;
      letter-spacing: 0.08em;
   }

   .oem_partners_scope_item h3 {
      margin-bottom: 12px;
      font-size: 22px;
   }

   .oem_partners_scope_item strong {
      font-size: 15px;
      line-height: 1.65;
   }

   .oem_partners_cases {
      padding: 82px 0 90px;
   }

   .oem_partners_package_slider {
      width: calc(100% + 40px);
      max-width: calc(100% + 40px);
      margin-left: -20px;
      margin-right: 0;
      margin-top: -8px;
      padding-top: 8px;
      padding-left: 20px;
      padding-right: 20px;
      box-sizing: border-box;
      overflow: hidden;
   }

   .oem_partners_package_slider .swiper-slide.oem_partners_package_slide {
      width: min(74vw, 250px);
      flex-basis: min(74vw, 250px);
   }

   .oem_partners_package_image {
      height: 300px;
      padding: 12px;
   }

   .oem_partners_package_card figcaption {
      min-height: 96px;
      padding: 20px 20px 22px;
   }

   .oem_partners_package_card figcaption span {
      margin-bottom: 11px;
      font-size: 11px;
      letter-spacing: 0.08em;
   }

   .oem_partners_package_card figcaption strong {
      font-size: 18px;
      line-height: 1.35;
   }

   .oem_partners_case_grid {
      grid-template-columns: 1fr;
      gap: 14px;
   }

   .oem_partners_case_card {
      min-height: 0;
   }

   .oem_partners_case_image {
      aspect-ratio: 1.08 / 1;
   }

   .oem_partners_case_content {
      padding: 26px 22px 28px;
   }

   .oem_partners_case_meta {
      gap: 13px;
      margin-bottom: 24px;
   }

   .oem_partners_case_meta span {
      font-size: 14px;
   }

   .oem_partners_case_meta p {
      font-size: 11px;
      letter-spacing: 0.08em;
   }

   .oem_partners_case_content h3 {
      margin-bottom: 12px;
      font-size: 24px;
   }

   .oem_partners_case_content>p {
      margin-bottom: 24px;
      font-size: 15px;
      line-height: 1.65;
   }

   .oem_partners_case_tags {
      gap: 7px;
   }

   .oem_partners_case_tags span {
      min-height: 32px;
      padding: 0 12px;
      font-size: 12px;
   }

   .oem_partner_logo_mark {
      font-size: clamp(16px, 5.1vw, 20px);
   }

   .oem_partner_logo_box strong {
      font-size: 13px;
   }

   .oem_partners_capability {
      padding: 84px 0 92px;
   }

   .oem_partners_capability_list {
      grid-template-columns: 1fr;
   }

   .oem_partners_capability_card {
      min-height: 0;
      padding: 30px 0 34px;
      border-right: 0;
      border-bottom: 1px solid var(--color-line);
      background: transparent;
   }

   .oem_partners_capability_card:last-child {
      border-bottom: 0;
   }

   .oem_partners_capability_card span {
      margin-bottom: 28px;
      font-size: 14px;
   }

   .oem_partners_capability_card h3 {
      margin-bottom: 16px;
      font-size: 24px;
   }

   .oem_partners_capability_card p {
      font-size: 15px;
      line-height: 1.68;
   }
}

#oem_partnership_scene,
.oem_partnership_scene {
   position: relative;
   height: 300vh;
   background: #fff;
}

.oem_partnership_sticky {
   position: sticky;
   top: 0;
   width: 100%;
   height: 100vh;
   overflow: hidden;
}

.oem_partnership_intro {
   position: absolute;
   top: 18%;
   left: 50%;
   z-index: 2;
   width: max-content;
   transform: translateX(-50%);
   text-align: center;
}

.oem_partnership_intro h2 {
   margin: 0;
   color: var(--color-text-primary);
   font-family: "Bahnschrift", "Pretendard", sans-serif;
   font-size: 200px;
   font-weight: 700;
   font-stretch: semi-condensed;
   line-height: 0.96;
   letter-spacing: 0.02em;
}

.oem_partnership_visual {
   position: absolute;
   top: 94%;
   left: 50%;
   z-index: 3;
   width: min(1400px, calc(100vw - 200px));
   aspect-ratio: 1400 / 560;
   overflow: hidden;
   transform: translate(-50%, -50%);
   --oem-partnership-dim: 0.06;
   will-change: width, height, top, transform;
}

.oem_partnership_visual::after {
   content: "";
   position: absolute;
   inset: 0;
   z-index: 1;
   background: rgba(0, 0, 0, var(--oem-partnership-dim));
   pointer-events: none;
}

.oem_partnership_visual img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center;
   transform-origin: center center;
   will-change: filter, transform;
}

.oem_partnership_copy {
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 4;
   width: calc(100% - 48px);
   opacity: 0;
   visibility: hidden;
   transform: translate(-50%, calc(-50% + 28px));
   text-align: center;
   pointer-events: none;
}

.oem_partnership_copy p {
   margin: 0;
   color: var(--color-text-light);
   font-size: clamp(30px, 5vw, 56px);
   font-weight: 700;
   line-height: 1.45;
   text-shadow: 0 3px 14px rgba(0, 0, 0, 0.25);
}

@media screen and (min-width: 1025px) and (max-width: 1600px) {
   .oem_partnership_intro h2 {
      font-size: 170px;
   }

   .oem_partnership_visual {
      top: calc(18% + 323px + 20vw);
   }
}

@media screen and (min-width: 1025px) and (max-width: 1400px) {
   .oem_partnership_visual {
      top: calc(18% + 339px + 20vw);
   }
}




/*------------------------------------
   OEM Contact Banner
------------------------------------*/
.oem_contact_banner {
   position: relative;
   overflow: hidden;
   padding: clamp(110px, 8vw, 160px) 0;
   background:
      linear-gradient(90deg, rgba(102, 155, 69, 0.08) 1px, transparent 1px) 0 0 / min(20vw, 380px) 100%,
      #f1f4ec;
   color: var(--color-text-primary);
   border-top: 1px solid rgba(102, 155, 69, 0.16);
}

.oem_contact_banner_inner {
   position: relative;
   z-index: 1;
   width: min(1600px, calc(100% - 160px));
   margin: 0 auto;
   display: grid;
   grid-template-columns: minmax(0, 1fr) minmax(420px, 560px);
   grid-template-areas:
      "label actions"
      "title actions";
   column-gap: clamp(56px, 7vw, 128px);
   row-gap: 24px;
   align-items: end;
   padding: clamp(62px, 5vw, 92px) clamp(42px, 4vw, 72px);
   box-sizing: border-box;
}

.oem_contact_banner_inner::before,
.oem_contact_banner_inner::after {
   content: "";
   position: absolute;
   left: 50%;
   width: 100vw;
   height: 1px;
   pointer-events: none;
   background: rgba(102, 155, 69, 0.18);
   transform: translateX(-50%);
}

.oem_contact_banner_inner::before {
   top: 0;
}

.oem_contact_banner_inner::after {
   bottom: 0;
}

.oem_contact_banner_inner>p {
   grid-area: label;
   margin: 0;
   color: var(--color-brand);
   font-family: "Roboto", "Pretendard", sans-serif;
   font-size: 16px;
   font-weight: 500;
   letter-spacing: 0.04em;
}

.oem_contact_banner_inner>p::after {
   content: "";
   display: block;
   width: 45px;
   height: 1px;
   margin-top: 18px;
   background: rgba(102, 155, 69, 0.62);
}

.oem_contact_banner_inner h2 {
   grid-area: title;
   margin: 0;
   color: var(--color-text-primary);
   font-size: clamp(44px, 4vw, 70px);
   font-weight: 700;
   line-height: 1.18;
   letter-spacing: -0.04em;
   text-shadow: none;
   word-break: keep-all;
}

.oem_contact_actions {
   grid-area: actions;
   width: 100%;
   display: grid;
   grid-template-columns: 1fr;
   gap: 14px;
   margin: 0;
}

.oem_contact_actions a {
   position: relative;
   overflow: hidden;
   isolation: isolate;
   display: flex;
   align-items: center;
   justify-content: space-between;
   min-width: 0;
   gap: 20px;
   padding: clamp(20px, 1.8vw, 28px) clamp(22px, 2.2vw, 34px);
   color: var(--color-text-primary);
   border: 1px solid rgba(102, 155, 69, 0.18);
   background: var(--color-bg-base);
   box-shadow: none;
   font-size: clamp(17px, 1.2vw, 22px);
   font-weight: 600;
   line-height: 1.25;
   text-decoration: none;
   text-shadow: none;
   transition:
      color 0.35s ease,
      border-color 0.35s ease,
      transform 0.35s ease;
}

.oem_contact_actions a::after {
   content: "";
   position: absolute;
   left: 0;
   top: 0;
   z-index: -1;
   width: 100%;
   height: 100%;
   background: var(--color-brand);
   transform: scaleX(0);
   transform-origin: left center;
   transition: transform 0.62s cubic-bezier(0.22, 1, 0.36, 1);
}

.oem_contact_actions span {
   flex-shrink: 0;
   font-size: clamp(20px, 1.5vw, 26px);
   transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
   .oem_contact_actions a:hover,
   .oem_contact_actions a:focus-visible {
      color: var(--color-text-light);
      border-color: var(--color-brand);
      transform: translateY(-3px);
   }

   .oem_contact_actions a:hover::after,
   .oem_contact_actions a:focus-visible::after {
      transform: scaleX(1);
   }

   .oem_contact_actions a:hover span,
   .oem_contact_actions a:focus-visible span {
      transform: translateX(8px);
   }
}

.mo_br {
   display: none;
}

.pc_br {
   display: inline;
}

/*------------------------------------
   Responsive
------------------------------------*/
@media (max-width: 1400px) {
   .oem_partnership_visual {
      width: calc(100vw - 120px);
   }
}


/*------------------------------------
   Tablet
------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
   #oem_partnership_scene,
   .oem_partnership_scene {
      height: 260svh;
   }

   .oem_partnership_sticky {
      height: 100svh;
      height: 100dvh;
      --partnership-title-top: 26svh;
      --partnership-title-height: clamp(189px, 27.3vw, 252px);
      --partnership-visual-gap: 44px;
      --partnership-visual-width: 80vw;
      --partnership-visual-height: calc(var(--partnership-visual-width) * 0.5);
   }

   .oem_partnership_intro {
      top: var(--partnership-title-top);
   }

   .oem_partnership_intro h2 {
      font-size: clamp(90px, 15vw, 120px);
      line-height: 1.05;
   }

   .oem_partnership_visual {
      width: var(--partnership-visual-width);
      height: var(--partnership-visual-height);
      aspect-ratio: auto;
      top: calc(var(--partnership-title-top) + var(--partnership-title-height) + var(--partnership-visual-gap) + (var(--partnership-visual-height) / 2));
   }


   .oem_contact_banner {
      padding: 110px 0;
   }

   .oem_contact_banner_inner {
      width: calc(100% - clamp(48px, 8vw, 80px));
      display: block;
      padding: 58px 0;
   }

   .oem_contact_banner_inner>p {
      margin: 0;
      font-size: 16px;
      letter-spacing: 0.04em;
   }

   .oem_contact_banner_inner>p::after {
      width: 45px;
      margin-top: 18px;
   }

   .oem_contact_banner_inner h2 {
      margin-top: clamp(24px, 3.2vw, 32px);
      font-size: clamp(46px, 7vw, 62px);
      line-height: 1.18;
      letter-spacing: -0.04em;
   }

   .oem_contact_actions {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-top: 60px;
   }

   .oem_contact_actions a {
      padding: 18px 20px;
      font-size: 16px;
   }

   .oem_contact_actions span {
      font-size: 16px;
   }

}


/*------------------------------------
   Mobile
------------------------------------*/
@media screen and (min-width: 300px) and (max-width: 599px) {
   .mo_br {
      display: inline;
   }

   .pc_br {
      display: none;
   }

   #oem_partnership_scene,
   .oem_partnership_scene {
      height: 240svh;
   }

   .oem_partnership_sticky {
      height: 100svh;
      height: 100dvh;
      --partnership-title-top: 28svh;
      --partnership-title-height: clamp(112px, 31vw, 140px);
      --partnership-visual-gap: 36px;
      --partnership-visual-width: 82vw;
      --partnership-visual-height: clamp(330px, 90vw, 460px);
   }

   .oem_partnership_intro {
      top: var(--partnership-title-top);
   }

   .oem_partnership_intro h2 {
      font-size: clamp(52px, 14.5vw, 64px);
      line-height: 1.1;
   }

   .oem_partnership_visual {
      width: var(--partnership-visual-width);
      height: var(--partnership-visual-height);
      aspect-ratio: auto;
      top: calc(var(--partnership-title-top) + var(--partnership-title-height) + var(--partnership-visual-gap) + (var(--partnership-visual-height) / 2));
   }


   .oem_contact_banner {
      padding: 82px 0;
   }

   .oem_contact_banner_inner {
      width: calc(100% - 40px);
      display: block;
      padding: 42px 0;
   }

   .oem_contact_banner_inner>p {
      margin-bottom: 18px;
      font-size: 12px;
      letter-spacing: 0.08em;
   }

   .oem_contact_banner_inner>p::after {
      width: 32px;
      margin-top: 12px;
   }

   .oem_contact_banner_inner h2 {
      margin-top: 0;
      font-size: clamp(32px, 9vw, 40px);
      line-height: 1.25;
      letter-spacing: -0.04em;
   }

   .oem_contact_actions {
      grid-template-columns: 1fr;
      gap: 18px;
      margin-top: 42px;
   }

   .oem_contact_actions a {
      padding: 18px 20px;
      font-size: 16px;
   }

   .oem_contact_actions span {
      font-size: 16px;
   }

}

/* Laptop / Small Desktop Contact Banner */
@media screen and (min-width: 1025px) and (max-width: 1600px) {
   .oem_contact_banner_inner {
      width: calc(100% - clamp(80px, 7.5vw, 120px));
   }

   .oem_contact_actions {
      width: 100%;
   }
}

@media screen and (min-width: 1025px) and (max-width: 1300px) {
   .oem_contact_banner_inner {
      grid-template-columns: 1fr;
      grid-template-areas:
         "label"
         "title"
         "actions";
      align-items: start;
   }

   .oem_contact_actions {
      width: min(620px, 100%);
      margin-top: 42px;
   }
}
