/* Modularized from content-kernel.css: product page-family rules. */
.cm-product-l1-hero {
  display: grid;
  gap: 32px;
  margin: 0 0 64px;
  max-width: 1155px;
}

.cm-product-l1-hero h1 {
  color: var(--color-text-strong);
  font-family: var(--font-family-mixed);
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0px;
  line-height: 48px;
  margin: 0;
}

.cm-product-l1-hero p {
  color: var(--color-neutral-700);
  font-family: var(--font-family-mixed);
  font-size: 16px;
letter-spacing: 0;
margin: 0;
  max-width: 885px;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-l1-grid {
  column-gap: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  max-width: 1119px;
  row-gap: 48px;
}

.cm-product-l1-card {
  background: var(--color-bg-base);
  border: 0;
  display: block;
  height: 515.578px;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.cm-product-l1-card:nth-child(n + 3) {
  height: 514.545px;
}

.cm-product-l1-card:nth-child(4) {
  height: 507.99px;
  margin-top: 3.278px;
}

.cm-product-l1-card-media {
  align-items: center;
  background: var(--color-bg-base);
  display: flex;
  height: 347.578px;
  justify-content: center;
  left: 16px;
  min-width: 0;
  overflow: hidden;
  position: absolute;
  top: 16px;
  width: calc(100% - 32px);
}

.cm-product-l1-card:nth-child(3) .cm-product-l1-card-media {
  height: 346.555px;
}

.cm-product-l1-card:nth-child(4) .cm-product-l1-card-media {
  height: 340px;
}

.cm-product-l1-card-media img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.cm-product-l1-card:nth-child(1) .cm-product-l1-card-media img {
  height: 100%;
  object-fit: cover;
  object-position: center 4.09%;
  width: 100%;
}

.cm-product-l1-card:nth-child(2) .cm-product-l1-card-media img {
  height: 87.12%;
  object-fit: fill;
  object-position: center;
  width: 100.39%;
}

.cm-product-l1-card:nth-child(3) .cm-product-l1-card-media img {
  height: 85.46%;
  object-fit: fill;
  object-position: center;
  width: 85.21%;
}

.cm-product-l1-card:nth-child(4) .cm-product-l1-card-media img {
  height: 95.75%;
  object-fit: fill;
  object-position: center top;
  width: 95.84%;
}

.cm-product-l1-card-copy {
  background: var(--color-bg-base);
  display: grid;
  gap: 8px;
  height: 136px;
  left: 16px;
  padding: 0 32px 0px 0;
  position: absolute;
  top: 363.578px;
  width: calc(100% - 32px);
}

.cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy {
  top: 362.545px;
}

.cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy {
  top: 355.99px;
}

.cm-product-l1-card-copy strong {
  color: var(--color-accent-500);
  display: block;
  font-family: var(--font-family-mixed);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 32px;
}

.cm-product-l1-card-copy small {
  color: var(--color-neutral-700);
  display: block;
  font-family: var(--font-family-mixed);
  font-size: 16px;
letter-spacing: 0;
max-width: 493.5px;
  overflow-wrap: anywhere;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-l1-card-overlay {
  align-items: center;
  background: color-mix(in srgb, var(--color-text-strong) 40%, transparent);
  color: var(--color-bg-base);
  display: flex;
  font-size: 16px;
inset: 1px 0.5px 0.2px 1px;
  justify-content: center;
  letter-spacing: 1.3px;
opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 150ms ease;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-l1-card-icon {
  height: 13px;
  opacity: 0;
  position: absolute;
  right: 8.5px;
  top: 17px;
  width: 13px;
}

.cm-product-l1-card-icon::before,
.cm-product-l1-card-icon::after {
  background: var(--color-bg-base);
  content: "";
  position: absolute;
}

.cm-product-l1-card-icon::before {
  height: 1px;
  left: 0;
  top: 6px;
  width: 13px;
}

.cm-product-l1-card-icon::after {
  height: 13px;
  left: 6px;
  top: 0;
  width: 1px;
}

.cm-product-l1-card:hover .cm-product-l1-card-overlay,
.cm-product-l1-card:focus-visible .cm-product-l1-card-overlay,
.cm-product-l1-card:hover .cm-product-l1-card-icon,
.cm-product-l1-card:focus-visible .cm-product-l1-card-icon {
  opacity: 1;
}

body.cm-body-route-products-sensors .cm-product-l1-card,
body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(n + 3),
body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(4),
body.cm-body-route-products-softwares .cm-product-l1-card,
body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(n + 3),
body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(4),
body.cm-body-route-products-accessories .cm-product-l1-card,
body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(n + 3),
body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(4) {
  display: grid;
  grid-template-rows: 347.578px auto;
  height: auto;
  margin-top: 0;
  overflow: hidden;
  padding: 16px 16px 16px;
}

body.cm-body-route-products-sensors .cm-product-l1-card-media,
body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media,
body.cm-body-route-products-softwares .cm-product-l1-card-media,
body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media,
body.cm-body-route-products-accessories .cm-product-l1-card-media,
body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media {
  height: 347.578px;
  left: auto;
  position: relative;
  top: auto;
  width: 100%;
}

body.cm-body-route-products-sensors .cm-product-l1-card-copy,
body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy,
body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy,
body.cm-body-route-products-softwares .cm-product-l1-card-copy,
body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy,
body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy,
body.cm-body-route-products-accessories .cm-product-l1-card-copy,
body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy,
body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy {
  height: auto;
  left: auto;
  padding: 0 32px 0 0;
  position: relative;
  top: auto;
  width: 100%;
}

body.cm-body-route-products-sensors .cm-product-l1-card-copy small,
body.cm-body-route-products-softwares .cm-product-l1-card-copy small,
body.cm-body-route-products-accessories .cm-product-l1-card-copy small {
  max-width: 493.5px;
  overflow: visible;
  white-space: normal;
}

body.cm-body-route-products-softwares .cm-product-l1-card[data-link-id="geomea"] .cm-product-l1-card-copy small {
  min-height: 192px;
}

body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(1) .cm-product-l1-card-media img {
  height: 87.12%;
  object-fit: fill;
  object-position: center;
  width: 100.39%;
}

body.cm-body-route-products-softwares .cm-product-l1-card[data-link-id="winwerth"] .cm-product-l1-card-media img {
  height: 100%;
  object-fit: contain;
  object-position: center;
  width: 100%;
}

body.cm-body-route-products-softwares .cm-product-l1-card[data-link-id="geomea"] .cm-product-l1-card-media img {
  height: 100%;
  object-fit: contain;
  object-position: center;
  width: 100%;
}

@media (max-width: 768px) {
body.cm-body-route-products-sensors .cm-product-l1-hero,
  body.cm-body-route-products-softwares .cm-product-l1-hero,
  body.cm-body-route-products-accessories .cm-product-l1-hero {
    gap: 24px;
    margin-bottom: 36px;
    max-width: calc(100vw - 40px);
    min-width: 0;
    width: calc(100vw - 40px);
  }

body.cm-body-route-products-sensors .cm-product-l1-hero h1,
  body.cm-body-route-products-softwares .cm-product-l1-hero h1,
  body.cm-body-route-products-accessories .cm-product-l1-hero h1 {
    font-size: 34px;
    line-height: 42px;
  }

body.cm-body-route-products-sensors .cm-product-l1-hero p,
  body.cm-body-route-products-softwares .cm-product-l1-hero p,
  body.cm-body-route-products-accessories .cm-product-l1-hero p {
    font-size: 15px;
    line-height: 24px;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
    width: 100%;
    word-break: normal;
  }

body.cm-body-route-products-sensors .cm-product-l1-grid,
  body.cm-body-route-products-softwares .cm-product-l1-grid,
  body.cm-body-route-products-accessories .cm-product-l1-grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: calc(100vw - 40px);
    min-width: 0;
    overflow-x: hidden;
    width: calc(100vw - 40px);
  }

body.cm-body-route-products-sensors .cm-product-l1-card,
  body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(n + 3),
  body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(4),
  body.cm-body-route-products-softwares .cm-product-l1-card,
  body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(n + 3),
  body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(4),
  body.cm-body-route-products-accessories .cm-product-l1-card,
  body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(n + 3),
  body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(4) {
    grid-template-rows: 240px auto;
    max-width: calc(100vw - 40px);
    width: calc(100vw - 40px);
  }

body.cm-body-route-products-sensors .cm-product-l1-card-media,
  body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
  body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media,
  body.cm-body-route-products-softwares .cm-product-l1-card-media,
  body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
  body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media,
  body.cm-body-route-products-accessories .cm-product-l1-card-media,
  body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
  body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media {
    height: 240px;
  }

body.cm-body-route-products-sensors .cm-product-l1-card-copy,
  body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy,
  body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy,
  body.cm-body-route-products-softwares .cm-product-l1-card-copy,
  body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy,
  body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy,
  body.cm-body-route-products-accessories .cm-product-l1-card-copy,
  body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy,
  body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy {
    padding: 28px 20px;
  }

body.cm-body-route-products-sensors .cm-product-l1-card-copy strong,
  body.cm-body-route-products-sensors .cm-product-l1-card-copy small,
  body.cm-body-route-products-softwares .cm-product-l1-card-copy strong,
  body.cm-body-route-products-softwares .cm-product-l1-card-copy small,
  body.cm-body-route-products-accessories .cm-product-l1-card-copy strong,
  body.cm-body-route-products-accessories .cm-product-l1-card-copy small {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    width: 100%;
    word-break: normal;
  }

  body.cm-body-route-products-softwares .cm-product-l1-card[data-link-id="geomea"] .cm-product-l1-card-copy small {
    min-height: 0;
  }
}
@media (max-width: 480px) {
body.cm-body-route-products-sensors .cm-product-l1-card,
  body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(n + 3),
  body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(4),
  body.cm-body-route-products-softwares .cm-product-l1-card,
  body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(n + 3),
  body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(4),
  body.cm-body-route-products-accessories .cm-product-l1-card,
  body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(n + 3),
  body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(4) {
    grid-template-rows: 220px auto;
  }

body.cm-body-route-products-sensors .cm-product-l1-card-media,
  body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
  body.cm-body-route-products-sensors .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media,
  body.cm-body-route-products-softwares .cm-product-l1-card-media,
  body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
  body.cm-body-route-products-softwares .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media,
  body.cm-body-route-products-accessories .cm-product-l1-card-media,
  body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
  body.cm-body-route-products-accessories .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media {
    height: 220px;
  }
}
.cm-product-detail-hero {
  align-items: center;
  background: var(--color-bg-subtle);
  display: grid;
  gap: 42px;
  grid-template-columns: minmax(0, 1fr) 330px;
  margin: -48px -32px 56px;
  min-height: 390px;
  padding: 54px 32px;
}

.cm-product-detail-hero h1,
.cm-solution-detail-hero h1 {
  font-size: 42px;
  font-weight: 600;
  line-height: 1.15;
  margin-bottom: 16px;
}

.cm-product-detail-hero p,
.cm-solution-detail-hero p {
  color: var(--color-text-secondary);
  font-size: 16px;
margin: 22px 0 0;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-detail-hero figure {
  margin: 0;
}

.cm-product-detail-hero img,
.cm-solution-detail-hero img {
  display: block;
  height: 290px;
  object-fit: contain;
  width: 100%;
}

.cm-spec-row {
  border-bottom: 1px solid var(--color-border-subtle);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 48px;
  padding: 20px 0 44px;
}

.cm-spec-row div {
  border-right: 1px solid var(--color-accent-500);
  display: grid;
  gap: 8px;
  min-height: 76px;
  place-items: center;
  text-align: center;
}

.cm-spec-row div:last-child {
  border-right: 0;
}

.cm-spec-row span {
  color: var(--color-text-secondary);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.cm-spec-row strong {
  color: var(--color-accent-500);
  font-size: 24px;
  font-weight: 900;
}

.cm-video-placeholder {
  align-items: center;
  background: var(--color-surface-subtle);
  border: 1px solid var(--color-border-subtle);
  display: flex;
  justify-content: center;
  margin-bottom: 56px;
  min-height: 420px;
  overflow: hidden;
}

.cm-video-placeholder img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

@media (max-width: 768px) {
.cm-hero h1,
  .cm-standard-hero h1,
  .cm-product-detail-hero h1,
  .cm-solution-detail-hero h1 {
    font-size: 34px;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: normal;
  }

.cm-product-card-grid,
  .cm-product-series-grid,
  .cm-product-detail-hero,
  .cm-spec-row,
  .cm-two-column-section,
  .cm-solution-map,
  .cm-small-card-grid,
  .cm-solution-grid,
  .cm-solution-grid-industry,
  .cm-solution-detail-hero,
  .cm-index-grid,
  .cm-resource-list,
  .cm-service-dashboard,
  .cm-process-list,
  .cm-capability-grid,
  .cm-case-grid,
  .cm-service-form,
  .cm-company-story,
  .cm-location-grid,
  .cm-news-list article,
  .cm-footer {
    grid-template-columns: 1fr;
  }

.cm-product-detail-hero {
    margin: -36px -20px 42px;
    padding: 40px 20px;
  }
}
@media (max-width: 768px) {
.cm-product-l1-hero {
    gap: 24px;
    margin-bottom: 56px;
    max-width: none;
  }

.cm-product-l1-hero h1 {
    font-size: 34px;
    line-height: 42px;
  }

.cm-product-l1-hero p {
    font-size: 16px;
max-width: none;

    font-weight: 300 !important;

    line-height: 28px !important;
}

.cm-product-l1-grid {
    grid-template-columns: 1fr;
    max-width: none;
    row-gap: 48px;
  }

.cm-product-l1-card,
  .cm-product-l1-card:nth-child(n + 3),
  .cm-product-l1-card:nth-child(4) {
    display: grid;
    gap: 0px;
    height: auto;
    margin-top: 0;
    overflow: visible;
  }

.cm-product-l1-card-media,
  .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
  .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media {
    aspect-ratio: 527.5 / 347.5775;
    height: auto;
    left: auto;
    position: relative;
    top: auto;
    width: 100%;
  }

.cm-product-l1-card-media img,
  .cm-product-l1-card:nth-child(1) .cm-product-l1-card-media img,
  .cm-product-l1-card:nth-child(2) .cm-product-l1-card-media img,
  .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media img,
  .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media img {
    height: 100%;
    object-fit: contain;
    object-position: center;
    width: 100%;
  }

.cm-product-l1-card-copy,
  .cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy,
  .cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy {
    height: auto;
    left: auto;
    padding: 0;
    position: relative;
    top: auto;
    width: 100%;
  }

.cm-product-l1-card-copy strong {
    font-size: 24px;
    line-height: 36px;
  }

.cm-product-l1-card-copy small {
    font-size: 16px;
max-width: none;

    font-weight: 300 !important;

    line-height: 28px !important;
}
}
/* Product L3 Figma template parity: [template] product-l3, node 570:6395. */
.cm-main-product:has(.cm-product-detail-hero) {
  padding: 0;
}

.cm-main-product:has(.cm-product-detail-hero) > section {
  margin-inline: 0;
}

.cm-product-detail-hero {
  align-items: center;
  background: var(--color-bg-subtle);
  border-bottom: 1px solid var(--color-border-subtle);
  display: grid;
  gap: 64px;
  grid-template-columns: minmax(0, 532px) 364px;
  margin: 0;
  min-height: 400px;
  padding: 50px 32px;
}

.cm-product-detail-hero-copy {
  max-width: 532px;
}

.cm-product-detail-hero--text-only {
  grid-template-columns: minmax(0, 1fr);
}

.cm-product-detail-hero--text-only .cm-product-detail-hero-copy {
  max-width: 896px;
}

.cm-product-detail-hero .cm-eyebrow {
  color: var(--color-secondary-600);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 28px;
  margin: 0 0 16px;
  text-transform: none;
}

.cm-product-detail-hero h1 {
  color: var(--color-text-strong);
  font-size: 32px;
  font-weight: 600;
  line-height: 48px;
  margin-bottom: 16px;
}

.cm-product-detail-hero p {
  color: var(--color-text-secondary);
  font-size: 18px;
  line-height: 29.25px;
  margin: 16px 0 0;
}

.cm-product-detail-hero .cm-button-row {
  gap: 16px;
  margin-top: 16px;
}

.cm-product-detail-hero .cm-button {
  font-size: 13px;
  font-weight: 700;
  height: 48px;
  letter-spacing: 0.65px;
  min-width: 156px;
  width: 156px;
}

.cm-product-detail-hero-media {
  display: grid;
  height: 300px;
  margin: 0;
  place-items: center;
  position: relative;
  width: 364px;
}

.cm-product-detail-hero-media img {
  height: 300px;
  object-fit: contain;
  width: 300px;
}

.cm-product-detail-hero-media img:not([hidden]) + .cm-product-placeholder {
  display: none;
}

.cm-product-spec-section {
  background: var(--color-bg-base);
  min-height: 324.59px;
  padding: 64px 32px;
}

.cm-product-spec-section h2,
.cm-product-accessories h2,
.cm-product-resources h2 {
  color: var(--color-text-strong);
  font-family: var(--font-family-en);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.5px;
  line-height: 33.6px;
  margin: 0;
}

.cm-product-spec-section .cm-spec-row {
  border-bottom: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 32px 0 0;
  padding: 0;
}

.cm-product-spec-section .cm-spec-row div {
  border-right: 1px solid var(--color-border-subtle);
  gap: 0;
  justify-items: stretch;
  min-height: 131px;
  min-width: 0;
  padding: 24px;
  place-content: center;
}

.cm-product-spec-section .cm-spec-row div:last-child {
  border-right: 0;
}

.cm-product-spec-section .cm-spec-row span {
  color: var(--color-text-secondary);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.3px;
  line-height: 13px;
}

.cm-product-spec-section .cm-spec-row strong {
  color: var(--color-accent-500);
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: 33.6px;
  margin-top: 12px;
  margin-bottom: 0px;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: center;
  white-space: normal;
  width: 100%;
  word-break: break-word;
}

.cm-product-spec-section .cm-spec-row small {
  color: var(--color-text-secondary);
  display: block;
  font-size: 12px;
  line-height: 16px;
  margin-top: 6px;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: center;
}

.cm-video-placeholder {
  background: var(--color-bg-base);
  border: 0;
  border-bottom: 1px solid var(--color-border-subtle);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: stretch;
  margin: 0;
  min-height: 714.6875px;
  padding: 0 32px 65px;
  place-items: center stretch;
}

.cm-video-placeholder iframe,
.cm-video-placeholder video {
  aspect-ratio: 16 / 9;
  background: var(--color-bg-base);
  border: 1px solid var(--color-border-subtle);
  box-sizing: border-box;
  display: block;
  max-width: 1155px;
  width: 100%;
}

.cm-video-placeholder img,
.cm-video-placeholder > span:not(.cm-play-placeholder) {
  background: var(--color-surface-subtle);
  border: 1px solid var(--color-border-subtle);
  height: 649.6875px;
  object-fit: cover;
  width: 100%;
}

.cm-video-placeholder img:not([hidden]) + .cm-play-placeholder {
  display: none;
}

.cm-play-placeholder {
  align-items: center;
  align-self: stretch;
  background: var(--color-surface-subtle);
  border: 1px solid var(--color-border-subtle);
  box-sizing: border-box;
  display: flex;
  height: 649.6875px;
  inline-size: 100%;
  justify-content: center;
  justify-self: stretch;
  max-width: none;
  min-width: 0;
  position: relative;
  width: 100%;
}

.cm-play-placeholder::before {
  border: 2px solid var(--color-accent-500);
  border-radius: 999px;
  content: "";
  height: 24px;
  width: 24px;
}

.cm-play-placeholder::after {
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--color-accent-500);
  border-top: 5px solid transparent;
  content: "";
  left: 50%;
  margin-left: -2px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.cm-product-benefits {
  background: var(--color-bg-base);
  min-height: 800px;
  padding: 64px 32px;
  border-top: 1px solid var(--color-border-subtle);
}

.cm-product-benefits > h2 {
  color: var(--color-text-strong);
  font-family: var(--font-family-en);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.5px;
  line-height: 32px;
  margin: 0;
}

.cm-product-benefits > p {
  color: var(--color-text-secondary);
  font-size: 18px;
  line-height: 32px;
  margin: 32px 0 0;
  max-width: 896px;
}

.cm-product-benefit-grid {
  display: grid;
  gap: 48px;
  grid-template-columns: 456px minmax(0, 1fr);
  margin-top: 32px;
}

.cm-product-benefit-grid--text-only {
  grid-template-columns: minmax(0, 1fr);
}

.cm-product-benefit-media {
  display: block;
  height: 424px;
  width: 456px;
}

.cm-product-benefit-grid img,
.cm-product-placeholder-analysis {
  display: block;
  height: 424px;
  object-fit: cover;
  width: 456px;
}

.cm-product-benefit-media img:not([hidden]) + .cm-product-placeholder {
  display: none;
}

.cm-product-benefit-grid h3 {
  color: var(--color-text-strong);
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
  margin: 0 0 16px;
}

.cm-product-benefit-grid ul {
  display: grid;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.cm-product-benefit-grid li {
  color: var(--color-text-secondary);
  font-size: 18px;
  line-height: 32px;
  padding-left: 16px;
  position: relative;
}

.cm-product-benefit-grid li::before {
  background: var(--color-accent-500);
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  top: 10px;
  width: 4px;
}

.cm-product-functionality-media img,
.cm-product-functionality-media .cm-product-placeholder {
  display: block;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  width: 100%;
}

.cm-product-functionality-media img:not([hidden]) + .cm-product-placeholder {
  display: none;
}

.cm-product-accessory-grid {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 32px;
}

.cm-product-accessory-grid article {
  display: grid;
}

.cm-product-accessory-media {
  display: block;
  height: 235.94px;
  width: 100%;
}

.cm-product-accessory-grid img,
.cm-product-placeholder-accessory {
  display: block;
  height: 235.94px;
  object-fit: cover;
  width: 100%;
}

.cm-product-accessory-media img:not([hidden]) + .cm-product-placeholder {
  display: none;
}

.cm-product-accessory-grid h3 {
  color: var(--color-text-strong);
  font-size: 16px;
margin: 16px 0 0;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-accessory-grid p {
  color: var(--color-text-secondary);
  font-size: 14px;
  line-height: 20px;
  margin: 16px 0 0;
}

.cm-product-resources {
  background: var(--color-bg-base);
  border-top: 1px solid var(--color-border-subtle);
  min-height: 628.72px;
  padding: 65px 32px 64px;
  text-align: center;
}

.cm-product-resources h2 {
  text-align: left;
}

.cm-product-resource-grid {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 32px;
  text-align: left;
}

.cm-product-resource-grid article {
  border: 1px solid var(--color-border-subtle);
  display: grid;
  min-height: 331px;
  padding: 33px;
}

.cm-product-resource-grid span {
  color: var(--color-accent-500);
  font-family: var(--font-family-en);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
  line-height: 18px;
}

.cm-product-resource-grid h3 {
  color: var(--color-primary-900);
  font-size: 20px;
  font-weight: 500;
  line-height: 32px;
  margin: 16px 0 0;
}

.cm-product-resource-grid p {
  color: var(--color-text-secondary);
  font-size: 18px;
  line-height: 32px;
  margin: 16px 0 0;
}

.cm-product-resource-grid small {
  align-self: end;
  border-top: 1px solid var(--color-border-subtle);
  color: var(--color-text-secondary);
  display: block;
  font-size: 13px;
  line-height: 20px;
  margin-top: 24px;
  padding-top: 25px;
}

.cm-product-placeholder {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--color-accent-500) 14%, transparent), transparent 44%),
    linear-gradient(315deg, color-mix(in srgb, var(--color-text-strong) 10%, transparent), transparent 40%),
    var(--color-surface-subtle);
  border: 1px solid var(--color-border-subtle);
}

.cm-product-placeholder-machine {
  height: 300px;
  width: 300px;
}

.cm-product-layout:has(.cm-product-detail-hero) {
  align-items: start;
  display: grid;
  grid-template-columns: 221px minmax(0, 1219px);
  margin-inline: auto;
  width: min(100%, 1440px);
}

.cm-product-layout:has(.cm-product-detail-hero) .cm-product-sidebar {
  width: 221px;
}

.cm-main-product:has(.cm-product-detail-hero) {
  max-width: 1219px;
  width: 100%;
}

.cm-main-product:has(.cm-product-detail-hero) > .cm-final-cta {
  margin-inline: 0;
  width: 100%;
}

.cm-product-detail-hero {
  background: linear-gradient(161.333deg, var(--color-neutral-200) 0%, var(--color-bg-base) 100%);
  gap: 64px;
  grid-template-columns: minmax(0, 672px) 364px;
  min-height: 435px;
  padding: 64px 32px;
}

.cm-product-detail-hero-copy {
  max-width: 672px;
  padding-bottom: 32px;
}

.cm-video-placeholder {
  min-height: 714.6875px;
  padding: 0 32px 65px;
}

.cm-play-placeholder {
  aspect-ratio: 16 / 9;
  height: 649.6875px;
  max-height: none;
  min-height: 0;
}

.cm-product-benefits > p {
  max-width: 1120px;
}

.cm-product-benefit-grid {
  grid-template-columns: 553.5px 553.5px;
}

.cm-product-benefit-media,
.cm-product-benefit-grid img,
.cm-product-placeholder-analysis {
  border-radius: 8px;
  box-shadow: 0 4px 6px -1px color-mix(in srgb, var(--color-text-strong) 10%, transparent), 0 2px 4px -2px color-mix(in srgb, var(--color-text-strong) 10%, transparent);
  height: 424px;
  width: 553.5px;
}

.cm-product-benefits--product-l3 .cm-product-benefit-grid {
  align-items: start;
}

.cm-product-benefits--product-l3 .cm-product-benefit-media {
  align-self: start;
}

.cm-product-benefits--product-l3 .cm-product-benefit-grid img {
  object-position: center top;
}

.cm-product-accessory-card {
  color: inherit;
  display: grid;
  text-decoration: none;
}

.cm-product-accessory-card:focus-visible,
.cm-product-resource-card:focus-visible {
  outline: 2px solid var(--color-accent-500);
  outline-offset: 4px;
}

.cm-product-accessory-media {
  border-radius: 4px;
  height: 235.94px;
  overflow: hidden;
}

.cm-product-accessory-grid img,
.cm-product-placeholder-accessory {
  border-radius: 4px;
  height: 235.94px;
}

.cm-product-accessory-title {
  color: var(--color-text-strong);
  display: block;
  font-size: 20px;
  font-weight: 700;
  line-height: 36px;
  margin: 16px 0 0;
}

.cm-product-accessory-body {
  color: var(--color-text-secondary);
  display: block;
  font-size: 18px;
  line-height: 32px;
  margin: 16px 0 0;
}

.cm-product-resource-card {
  border: 1px solid var(--color-border-subtle);
  color: inherit;
  display: grid;
  min-height: 336.125px;
  padding: 33px;
  text-decoration: none;
}

.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta {
  background: var(--color-accent-500);
  min-height: 329px;
  padding: 48px 32px;
}

.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta h2 {
  color: var(--color-bg-base);
  font-size: 40px;
  font-weight: 400;
  line-height: 60px;
  margin-bottom: 16px;
}

.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta p {
  color: var(--color-bg-base);
  font-size: 16px;
margin-bottom: 16px;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta > a {
  background: var(--color-bg-base);
  box-shadow: 0 25px 50px -12px color-mix(in srgb, var(--color-text-strong) 25%, transparent);
  color: var(--color-accent-500);
  font-size: 16px;
height: 56px;
  min-width: 200px;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta .cm-kakao {
  align-items: center;
  color: color-mix(in srgb, var(--color-bg-base) 60%, transparent);
  display: flex;
  gap: 12px;
  justify-content: center;
}

.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta .cm-kakao::before,
.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta .cm-kakao::after {
  background: color-mix(in srgb, var(--color-bg-base) 20%, transparent);
  content: "";
  height: 1px;
  width: 32px;
}

.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta .cm-kakao a {
  color: var(--color-bg-base);
}

/* Product L3 typography sync from Figma node 570:6395, refreshed after font update. */
.cm-product-detail-hero p {
  font-family: var(--font-family-mixed);
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
}

.cm-product-detail-hero .cm-button {
  font-family: var(--font-family-mixed);
  font-size: 16px;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-benefits > p,
.cm-product-benefit-grid li,
.cm-product-accessory-body,
.cm-product-resource-card p {
  font-family: var(--font-family-mixed);
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
}

.cm-product-benefit-grid h3 {
  font-family: var(--font-family-mixed);
  font-size: 20px;
  font-weight: 400;
  line-height: 36px;
}

.cm-product-accessory-title {
  font-family: var(--font-family-mixed);
  font-size: 20px;
  font-weight: 700;
  line-height: 36px;
}

.cm-product-resource-card span {
  font-family: var(--font-family-en);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
  line-height: 18px;
}

.cm-product-resource-card h3 {
  font-family: var(--font-family-mixed);
  font-size: 20px;
  font-weight: 500;
  line-height: 36px;
}

.cm-product-resource-card small {
  font-family: var(--font-family-mixed);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta p,
.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta .cm-kakao,
.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta .cm-kakao a {
  font-family: var(--font-family-mixed);
  font-size: 18px;
  font-weight: 400;
  line-height: 20px;
}

.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta > p:not(.cm-kakao) {
  line-height: 32px;
}

.cm-main-product:has(.cm-product-detail-hero) .cm-final-cta > a {
  font-family: var(--font-family-mixed);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 1.3px;
  line-height: 13px;
  min-width: 200px;
  padding: 0;
}

@media (max-width: 1180px) {
.cm-product-layout:has(.cm-product-detail-hero) {
    grid-template-columns: 220px minmax(0, 1fr);
  }

.cm-product-layout:has(.cm-product-detail-hero) .cm-product-sidebar {
    width: 220px;
  }

.cm-product-detail-hero {
    grid-template-columns: minmax(0, 1fr) 280px;
  }

.cm-product-detail-hero-media,
  .cm-product-detail-hero-media img,
  .cm-product-placeholder-machine {
    width: 280px;
  }

.cm-product-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

.cm-product-benefit-media,
  .cm-product-benefit-grid img,
  .cm-product-placeholder-analysis {
    width: 100%;
  }
}
@media (max-width: 1023px) {
.cm-product-layout:has(.cm-product-detail-hero) {
    display: block;
  }

.cm-product-layout:has(.cm-product-detail-hero) .cm-product-sidebar {
    display: none;
  }

.cm-product-detail-hero,
  .cm-product-benefit-grid {
    grid-template-columns: 1fr;
  }

.cm-product-spec-section .cm-spec-row,
  .cm-product-accessory-grid,
  .cm-product-resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
.cm-product-layout,
  .cm-main-product,
  .cm-main-product:has(.cm-product-detail-hero),
  .cm-main-product:has(.cm-product-detail-hero) > section {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
    width: 100%;
  }

.cm-main-product:has(.cm-product-detail-hero) {
    display: block;
    padding: 0;
  }

.cm-product-detail-hero,
  .cm-product-benefit-grid,
  .cm-product-accessory-grid,
  .cm-product-resource-grid {
    grid-template-columns: 1fr;
  }

.cm-product-detail-hero,
  .cm-product-spec-section,
  .cm-product-benefits,
  .cm-product-accessories,
  .cm-product-resources {
    box-sizing: border-box;
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    min-height: 0;
    padding: 40px 20px;
    width: 100%;
  }

.cm-main-product:has(.cm-product-detail-hero) > section *,
  .cm-main-product:has(.cm-product-detail-hero) > .cm-final-cta * {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
  }

.cm-product-detail-hero {
    gap: 32px;
  }

.cm-product-detail-hero-media,
  .cm-product-benefit-media,
  .cm-product-benefits > h2,
  .cm-product-benefits > p,
  .cm-product-accessories > h2,
  .cm-product-resources > h2 {
    max-width: calc(100vw - 40px);
    min-width: 0;
    width: calc(100vw - 40px);
  }

.cm-product-benefit-grid,
  .cm-product-accessory-grid,
  .cm-product-resource-grid {
    max-width: calc(100vw - 40px);
    width: calc(100vw - 40px);
  }

.cm-product-detail-hero > * {
    max-width: calc(100vw - 40px);
    min-width: 0;
  }

.cm-product-detail-hero-copy {
    max-width: min(303px, 82vw);
    min-width: 0;
    width: min(303px, 82vw);
  }

.cm-product-detail-hero h1 {
    font-size: 36px;
    line-height: 44px;
    max-width: min(303px, 82vw);
    overflow-wrap: anywhere;
    white-space: normal;
    width: min(303px, 82vw);
    word-break: normal;
  }

.cm-product-detail-hero p {
    font-size: 16px;
max-width: min(303px, 82vw);
    overflow-wrap: anywhere;
    white-space: normal;
    width: min(303px, 82vw);
    word-break: normal;

    font-weight: 300 !important;

    line-height: 28px !important;
}

.cm-product-benefits p,
  .cm-product-benefit-grid li,
  .cm-product-accessory-grid p,
  .cm-product-resource-grid p {
    overflow-wrap: break-word;
    word-break: break-all !important;
  }

.cm-main-product:has(.cm-product-detail-hero) h1,
  .cm-main-product:has(.cm-product-detail-hero) h2,
  .cm-main-product:has(.cm-product-detail-hero) h3,
  .cm-main-product:has(.cm-product-detail-hero) p,
  .cm-main-product:has(.cm-product-detail-hero) li,
  .cm-main-product:has(.cm-product-detail-hero) span,
  .cm-main-product:has(.cm-product-detail-hero) strong {
    overflow-wrap: break-word;
    word-break: normal;
  }

.cm-product-detail-hero-media,
  .cm-product-detail-hero-media img,
  .cm-product-placeholder-machine,
  .cm-product-benefit-grid img,
  .cm-product-placeholder-analysis {
    height: auto;
    min-height: 260px;
    width: 100%;
  }

.cm-product-spec-section .cm-spec-row {
    grid-template-columns: 1fr;
  }

.cm-product-spec-section .cm-spec-row div {
    border-bottom: 1px solid var(--color-accent-500);
    border-right: 0;
  }

.cm-product-spec-section .cm-spec-row div:last-child {
    border-bottom: 0;
  }

.cm-product-spec-section .cm-spec-row strong {
    font-size: 24px;
    line-height: 30px;
    overflow-wrap: anywhere;
  }

.cm-video-placeholder {
    min-height: 320px;
    padding: 0 20px 40px;
  }

.cm-play-placeholder {
    height: 300px;
  }
}

/* Route-family responsive guardrail: preserve the approved desktop geometry
 * while preventing Figma-sized product sections from overflowing tablets. */
@media (max-width: 1279px) {
  .cm-product-detail-hero,
  .cm-product-spec-section,
  .cm-product-benefits,
  .cm-product-functionality,
  .cm-product-accessories,
  .cm-product-resources,
  .cm-product-application-grid,
  .cm-product-accessory-grid,
  .cm-product-resource-grid {
    max-width: 100% !important;
    min-width: 0;
    width: 100% !important;
  }

  .cm-product-application-grid,
  .cm-product-accessory-grid,
  .cm-product-resource-grid,
  .cm-product-functionality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cm-product-detail-hero-media img,
  .cm-product-benefit-media img,
  .cm-product-functionality-media img,
  .cm-product-application-media img,
  .cm-product-accessory-media img {
    height: auto;
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .cm-product-application-grid,
  .cm-product-accessory-grid,
  .cm-product-resource-grid,
  .cm-product-functionality-grid,
  .cm-product-spec-section .cm-spec-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .cm-product-detail-hero h1,
  .cm-product-detail-hero--software h1 {
    overflow-wrap: anywhere;
    word-break: keep-all;
  }
}
@media (max-width: 480px) {
.cm-product-spec-section .cm-spec-row strong {
    font-size: 22px;
    line-height: 28px;
    white-space: normal;
  }

.cm-body-route-products .cm-product-benefits > p {
    max-width: min(100%, 296px) !important;
    width: min(100%, 296px) !important;
  }
}
@media (max-width: 1279px) and (min-width: 769px) {
.cm-body-route-products .cm-product-l1-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

.cm-body-route-products .cm-product-l1-card {
    display: grid;
    grid-template-rows: minmax(220px, 28.48vw) auto;
    height: auto;
  }

.cm-body-route-products .cm-product-l1-card-media {
    height: auto;
    left: auto;
    min-height: 220px;
    position: static;
    top: auto;
    width: 100%;
  }

.cm-body-route-products .cm-product-l1-card-copy {
    height: auto;
    left: auto;
    position: static;
    top: auto;
    width: 100%;
  }
}
@media (max-width: 768px) {
.cm-body-route-products .cm-product-l1-hero {
    gap: 24px;
    margin-bottom: 64px;
  }

.cm-body-route-products .cm-product-l1-hero h1 {
    font-size: 34px;
    line-height: 42px;
  }

.cm-body-route-products .cm-product-l1-hero p {
    font-size: 15px;
    line-height: 24px;
    max-width: none;
    overflow-wrap: anywhere;
    word-break: break-all;
  }

.cm-body-route-products .cm-product-l1-grid {
    grid-template-columns: 1fr;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
    width: 100%;
  }

.cm-body-route-products .cm-product-l1-card,
  .cm-body-route-products .cm-product-l1-card:nth-child(n + 3) {
    display: grid;
    grid-template-rows: minmax(210px, 57vw) auto;
    height: auto;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    width: 100%;
  }

.cm-body-route-products .cm-product-l1-card-media {
    height: auto;
    left: auto;
    min-height: 210px;
    position: static;
    top: auto;
    width: 100%;
  }

.cm-body-route-products .cm-product-l1-card-copy {
    height: auto;
    left: auto;
    min-height: 128px;
    min-width: 0;
    padding: 28px 24px;
    position: static;
    top: auto;
    width: 100%;
  }

.cm-body-route-products .cm-product-l1-card-copy strong,
  .cm-body-route-products .cm-product-l1-card-copy small {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    width: 100%;
    word-break: break-all;
  }
}
@media (max-width: 480px) {
.cm-body-route-products .cm-product-l1-hero h1 {
    font-size: 32px;
    line-height: 40px;
  }

.cm-body-route-products .cm-product-l1-card,
  .cm-body-route-products .cm-product-l1-card:nth-child(n + 3) {
    grid-template-rows: minmax(190px, 56.8vw) auto;
  }

.cm-body-route-products .cm-product-l1-card-media {
    min-height: 190px;
  }

.cm-body-route-products .cm-product-l1-card-copy {
    padding: 24px 20px;
  }
}
@media (max-width: 768px) {
.cm-body-route-products .cm-product-l1-grid,
  .cm-body-route-products .cm-product-l1-card,
  .cm-product-layout,
  .cm-product-layout .cm-main-product {
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
    width: 100%;
  }

.cm-body-route-products .cm-product-l1-grid {
    grid-template-columns: minmax(0, 1fr);
  }

.cm-body-route-products .cm-product-l1-card,
  .cm-body-route-products .cm-product-l1-card:nth-child(n + 3),
  .cm-body-route-products .cm-product-l1-card:nth-child(4) {
    width: calc(100vw - 32px) !important;
  }

.cm-body-route-products .cm-product-l1-card-copy,
  .cm-body-route-products .cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy,
  .cm-body-route-products .cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy {
    max-width: calc(100vw - 72px) !important;
    overflow: visible;
    width: calc(100vw - 72px) !important;
  }

.cm-body-route-products .cm-product-l1-card-copy strong,
  .cm-body-route-products .cm-product-l1-card-copy small,
  .cm-body-route-products .cm-product-l1-hero p {
    display: block;
    max-width: calc(100vw - 72px) !important;
    overflow: visible;
    overflow-wrap: anywhere;
    white-space: normal;
    width: 100%;
    word-break: break-all;
  }
}
@media (max-width: 768px) {
.cm-body-route-products .cm-product-l1-grid {
    display: grid;
    gap: 48px;
    grid-template-columns: minmax(0, 1fr);
    max-width: calc(100vw - 40px);
    width: calc(100vw - 40px);
  }

.cm-body-route-products .cm-product-l1-card,
  .cm-body-route-products .cm-product-l1-card:nth-child(n + 3),
  .cm-body-route-products .cm-product-l1-card:nth-child(4) {
    display: grid !important;
    grid-template-rows: 240px auto;
    height: auto !important;
    margin-top: 0;
    max-width: calc(100vw - 40px);
    min-width: 0;
    overflow: hidden;
    width: calc(100vw - 40px);
  }

.cm-body-route-products .cm-product-l1-card-media,
  .cm-body-route-products .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
  .cm-body-route-products .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media {
    height: 240px !important;
    left: auto !important;
    min-height: 0;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
  }

.cm-body-route-products .cm-product-l1-card-copy,
  .cm-body-route-products .cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy,
  .cm-body-route-products .cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy {
    box-sizing: border-box;
    height: auto !important;
    left: auto !important;
    min-width: 0;
    max-width: 100%;
    padding: 28px 20px;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
  }

.cm-body-route-products .cm-product-l1-card-copy strong,
  .cm-body-route-products .cm-product-l1-card-copy small {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
    width: 100%;
    word-break: normal;
  }
}
@media (max-width: 480px) {
.cm-body-route-products .cm-product-l1-card,
  .cm-body-route-products .cm-product-l1-card:nth-child(n + 3),
  .cm-body-route-products .cm-product-l1-card:nth-child(4) {
    grid-template-rows: 220px auto;
  }

.cm-body-route-products .cm-product-l1-card-media,
  .cm-body-route-products .cm-product-l1-card:nth-child(3) .cm-product-l1-card-media,
  .cm-body-route-products .cm-product-l1-card:nth-child(4) .cm-product-l1-card-media {
    height: 220px !important;
  }
}
@media (max-width: 768px) {
.cm-body-route-products .cm-site-header,
  .cm-body-route-products .cm-product-l1-hero,
  .cm-body-route-products .cm-product-l1-grid,
  .cm-body-route-products .cm-product-l1-card,
  .cm-product-layout,
  .cm-product-layout .cm-main-product {
    max-width: 100%;
    min-width: 0;
  }

.cm-body-route-products .cm-product-l1-hero p,
  .cm-body-route-products .cm-product-l1-card-copy small {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: break-all;
  }
}
@media (max-width: 768px) {
.cm-body-route-products .cm-main-product:has(.cm-product-detail-hero) {
    padding: 0;
  }

.cm-body-route-products .cm-main-product:has(.cm-product-detail-hero) > section,
  .cm-body-route-products .cm-main-product:has(.cm-product-detail-hero) > .cm-final-cta {
    max-width: 100%;
    width: 100%;
  }

.cm-body-route-products .cm-main-product:has(.cm-product-detail-hero) h2,
  .cm-body-route-products .cm-main-product:has(.cm-product-detail-hero) h3,
  .cm-body-route-products .cm-main-product:has(.cm-product-detail-hero) p,
  .cm-body-route-products .cm-main-product:has(.cm-product-detail-hero) li,
  .cm-body-route-products .cm-main-product:has(.cm-product-detail-hero) span {
    max-width: calc(100vw - 40px);
    overflow-wrap: break-word;
    word-break: normal;
  }

.cm-body-route-products .cm-product-benefits > p,
  .cm-body-route-products .cm-product-benefit-grid li,
  .cm-body-route-products .cm-product-accessory-body,
  .cm-body-route-products .cm-product-resource-card p {
    font-size: 16px;

    font-weight: 300 !important;

    line-height: 28px !important;
}

.cm-body-route-products .cm-product-benefits > p {
    max-width: min(100%, 296px) !important;
    width: min(100%, 296px) !important;
  }

.cm-body-route-products .cm-product-benefits > h2,
  .cm-body-route-products .cm-product-benefits > p,
  .cm-body-route-products .cm-product-benefit-grid,
  .cm-body-route-products .cm-product-accessory-grid,
  .cm-body-route-products .cm-product-resource-grid {
    max-width: calc(100vw - 40px);
    width: calc(100vw - 40px);
  }

.cm-body-route-products .cm-product-benefits > h2 {
    font-size: 22px;
    line-height: 30px;
  }

.cm-main-product:has(.cm-product-detail-hero) .cm-product-benefits > p {
    max-width: 100% !important;
    overflow-wrap: normal !important;
    width: 100vw !important;
    word-break: normal !important;
  }
}
@media (max-width: 768px) {
.cm-product-l1-grid,
  .cm-body-route-products .cm-product-l1-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: calc(100vw - 40px) !important;
    width: calc(100vw - 40px) !important;
  }

.cm-product-l1-card,
  .cm-product-l1-card:nth-child(n + 3),
  .cm-product-l1-card:nth-child(4),
  .cm-body-route-products .cm-product-l1-card,
  .cm-body-route-products .cm-product-l1-card:nth-child(n + 3),
  .cm-body-route-products .cm-product-l1-card:nth-child(4) {
    max-width: calc(100vw - 40px) !important;
    min-width: 0 !important;
    width: calc(100vw - 40px) !important;
  }

.cm-product-l1-card-copy,
  .cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy,
  .cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy,
  .cm-body-route-products .cm-product-l1-card-copy,
  .cm-body-route-products .cm-product-l1-card:nth-child(3) .cm-product-l1-card-copy,
  .cm-body-route-products .cm-product-l1-card:nth-child(4) .cm-product-l1-card-copy {
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

.cm-product-l1-card-copy small,
  .cm-body-route-products .cm-product-l1-card-copy small {
    font-size: 15px !important;
    inline-size: calc(100vw - 80px) !important;
    line-height: 26px !important;
    max-inline-size: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    word-break: break-all !important;
  }
}
@media (max-width: 520px) {
.cm-product-l1-card-copy small,
  .cm-body-route-products .cm-product-l1-card-copy small {
    inline-size: min(260px, calc(100vw - 96px)) !important;
    max-inline-size: min(260px, calc(100vw - 96px)) !important;
    max-width: min(260px, calc(100vw - 96px)) !important;
    width: min(260px, calc(100vw - 96px)) !important;
  }
}
@media (max-width: 768px) {
body.cm-body-route-products .cm-product-layout,
  body.cm-body-route-products .cm-product-layout .cm-main-product,
  body.cm-body-route-products .cm-product-l1-hero,
  body.cm-body-route-products .cm-product-l1-grid {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }

body.cm-body-route-products .cm-product-l1-hero p {
    box-sizing: border-box;
    max-width: calc(100vw - 40px) !important;
    overflow-wrap: anywhere !important;
    width: calc(100vw - 40px) !important;
    word-break: break-all !important;
  }
}
body.cm-body[class*="cm-body-route-products"] .cm-product-layout > .cm-main-product:has(.cm-product-detail-hero) {
  padding-top: 0px;
}

body[class*="cm-body-route-products"] .cm-resource-download-modal[hidden] {
  display: none;
}

body[class*="cm-body-route-products"] .cm-resource-download-modal {
  align-items: flex-start;
  background: color-mix(in srgb, var(--color-text-strong) 48%, transparent);
  box-sizing: border-box;
  display: flex;
  inset: 0;
  justify-content: center;
  overflow-y: auto;
  padding: 38px 16px;
  position: fixed;
  z-index: 1000;
}

body[class*="cm-body-route-products"] .cm-resource-download-panel {
  background: var(--color-surface-subtle);
  border: 1px solid var(--color-border-strong);
  box-shadow: 0 4px 6px -4px color-mix(in srgb, var(--color-text-strong) 10%, transparent), 0 10px 15px -3px color-mix(in srgb, var(--color-text-strong) 10%, transparent);
  box-sizing: border-box;
  color: var(--color-text-strong);
  font-family: var(--font-family-mixed);
  padding: 24px 24px 40px;
  width: min(384px, calc(100vw - 32px));
}

body[class*="cm-body-route-products"] .cm-resource-download-header {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  margin: 0 0 16px;
}

body[class*="cm-body-route-products"] .cm-resource-download-panel h2 {
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  margin: 0;
}

body[class*="cm-body-route-products"] .cm-resource-download-close {
  background: transparent;
  border: 0;
  color: var(--color-text-secondary);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
  padding: 0;
}

body[class*="cm-body-route-products"] .cm-resource-download-panel > p {
  color: var(--color-text-secondary);
  line-height: 24px;
  margin: 0 0 20px;
}

body[class*="cm-body-route-products"] .cm-resource-download-panel form {
  display: grid;
  gap: 16px;
}

body[class*="cm-body-route-products"] .cm-resource-download-panel label {
  color: var(--color-text-secondary);
  display: grid;
  font-size: 14px;
  gap: 6px;
}

body[class*="cm-body-route-products"] .cm-resource-download-panel input {
  border: 1px solid var(--color-border-subtle);
  border-radius: 0;
  font: inherit;
  min-height: 48px;
  padding: 10px 12px;
}

body[class*="cm-body-route-products"] .cm-resource-download-panel button[type="submit"] {
  background: var(--color-accent-500);
  border: 0;
  border-radius: 4px;
  color: var(--color-bg-base);
  cursor: pointer;
  font: inherit;
  font-weight: 500;
  min-height: 52px;
  padding: 12px 20px;
}

﻿/*
 * Product page-family CSS.
 *
 * Keep product index, category, and detail-only overrides here so parallel
 * product work does not need to touch the shared Content Master stylesheet.
 */

/* Product L3 Figma parity: [template] product-l3, node 570:6395. */
html:has(.cm-final-cta--expert),
body:has(.cm-final-cta--expert),
body:has(.cm-product-detail-hero) {
  overflow-x: clip;
}

.cm-main-product:has(.cm-product-detail-hero) {
  max-width: 1219px;
  padding: 0;
  width: 100%;
}

.cm-product-layout:has(.cm-product-detail-hero) {
  align-items: stretch;
  grid-template-columns: 221px minmax(0, 1219px);
  min-height: 0;
  overflow: visible;
  width: min(100%, 1440px);
}

.cm-product-layout:has(.cm-product-detail-hero) .cm-product-sidebar {
  align-self: stretch;
  box-sizing: border-box;
  height: auto;
  min-height: 100%;
  padding-top: 32px;
  width: 221px;
}

.cm-product-detail-hero {
  align-items: center;
  background: transparent;
  border-bottom: 0;
  box-sizing: border-box;
  gap: 64px;
  grid-template-columns: minmax(0, 672px) 364px;
  height: auto;
  margin: 0;
  min-height: 400px;
  padding: 64px 32px;
  position: relative;
  width: 100%;
}

.cm-product-detail-hero::before {
  background: linear-gradient(161.333deg, var(--color-neutral-200) 0%, var(--color-bg-base) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.cm-product-detail-hero > * {
  position: relative;
  z-index: 1;
}

.cm-product-detail-hero-copy {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 672px;
  padding-bottom: 32px;
}

.cm-product-detail-hero .cm-eyebrow {
  color: var(--color-accent-500);
  font-family: var(--font-family-ko);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 28px;
  margin: 0;
  text-transform: none;
}

.cm-product-detail-hero h1 {
  color: var(--color-primary-900);
  font-family: var(--font-family-ko);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 44px;
  margin: 0;
}

.cm-product-detail-hero p:not(.cm-eyebrow) {
  color: var(--color-text-secondary);
  font-family: var(--font-family-ko);
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
  margin: 0;
  max-width: 672px;
  padding: 8px 0;
}

.cm-product-detail-hero-media {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  height: 300px;
  justify-content: center;
  margin: 0;
  padding: 0 32px;
  width: 364px;
}

.cm-product-detail-hero-media img,
.cm-product-placeholder-machine {
  height: 300px;
  object-fit: contain;
  width: 300px;
}

.cm-product-detail-hero .cm-button-row {
  gap: 16px;
  margin-top: 0;
}

.cm-product-detail-hero .cm-button {
  border-color: var(--color-accent-500);
  border-radius: 4px;
  box-sizing: border-box;
  font-family: var(--font-family-ko);
  font-size: 16px;
height: 48px;
  letter-spacing: 0.65px;
min-width: 156px;
  padding: 0;
  width: 156px;
  font-weight: 500 !important;
  line-height: 28px !important;
}

.cm-product-detail-hero .cm-button-primary {
  background: var(--color-accent-500);
  border-color: var(--color-accent-500);
  color: var(--color-bg-base);
}

.cm-product-detail-hero .cm-button {
  font-weight: 700;
}

.cm-product-detail-hero .cm-button-ghost {
  background: var(--color-bg-base);
  color: var(--color-accent-500);
}

.cm-product-detail-hero .cm-button-catalog {
  gap: 8px;
}

.cm-product-detail-hero .cm-button-catalog-icon {
  background: currentColor;
  display: block;
  flex: 0 0 12px;
  height: 12px;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2v8M4.75 6.75 8 10l3.25-3.25M3 13h10' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2v8M4.75 6.75 8 10l3.25-3.25M3 13h10' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 12px;
}

.cm-product-spec-section,
.cm-product-benefits,
.cm-product-accessories,
.cm-product-resources {
  box-sizing: border-box;
  margin: 0;
  padding-left: 32px;
  padding-right: 32px;
  width: 100%;
}

.cm-product-spec-section {
  min-height: 324.59px;
  padding-bottom: 64px;
  padding-top: 64px;
}

.cm-product-spec-section h2,
.cm-product-accessories h2,
.cm-product-resources h2 {
  align-items: center;
  display: flex;
  gap: 16px;
  line-height: 33.6px;
}

.cm-product-spec-section h2::after,
.cm-product-accessories h2::after,
.cm-product-resources h2::after {
  content: none;
  display: none;
}

.cm-product-spec-section .cm-spec-row {
  grid-template-columns: repeat(4, minmax(0, 288.75px));
  margin-top: 32px;
  width: 1155px;
}

.cm-product-spec-section .cm-spec-row div {
  box-sizing: border-box;
  min-height: 131px;
  padding: 24px;
}

.cm-product-spec-section .cm-spec-row .cm-spec-label {
  color: var(--color-text-secondary);
  font-family: var(--font-family-ko);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.3px;
  line-height: 13px;
}

.cm-product-spec-section .cm-spec-row strong {
  align-items: baseline;
  color: var(--color-accent-500);
  display: inline-flex;
  font-family: var(--font-family-ko);
  font-size: 28px;
  font-weight: 700;
  gap: 0;
  line-height: 33.6px;
  margin-top: 12px;
}

.cm-product-spec-section .cm-spec-row .cm-spec-unit {
  color: var(--color-accent-500);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 28px;
  margin-left: 2px;
  max-width: none;
}

.cm-product-spec-section .cm-spec-row small {
  color: var(--color-text-secondary);
  font-family: var(--font-family-ko);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  margin-top: 0;
}

.cm-video-placeholder {
  border-bottom: 1px solid var(--color-border-subtle);
  box-sizing: border-box;
  min-height: 714.6875px;
  padding: 0 32px 65px;
}

.cm-video-placeholder iframe,
.cm-video-placeholder video {
  aspect-ratio: 16 / 9;
  background: var(--color-bg-base);
  border: 1px solid var(--color-border-subtle);
  box-sizing: border-box;
  display: block;
  max-width: 1155px;
  width: 100%;
}

.cm-play-placeholder {
  background: var(--color-surface-subtle);
  border-color: var(--color-border-subtle);
  height: 649.6875px;
  width: 1155px;
}

.cm-product-benefits {
  min-height: 800px;
  padding-bottom: 64px;
  padding-top: 64px;
}

.cm-product-benefits > h2 {
  color: var(--color-primary-900);
  font-family: var(--font-family-ko);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.5px;
  line-height: 32px;
  margin: 0;
}

.cm-product-benefits > p {
  color: var(--color-text-secondary);
  font-family: var(--font-family-ko);
  font-size: 16px;
margin: 32px 0 0;
  max-width: 1155px;
  width: 1155px;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-benefit-grid {
  gap: 48px;
  grid-template-columns: 553.5px 553.5px;
  margin-top: 32px;
  width: 1155px;
}

.cm-product-benefit-media,
.cm-product-benefit-grid img,
.cm-product-placeholder-analysis {
  height: 424px;
  width: 553.5px;
}

.cm-product-benefit-grid h3 {
  line-height: 36px;
  margin-bottom: 16px;
}

.cm-product-benefit-grid ul {
  gap: 16px;
}

.cm-product-benefit-grid li {
  color: var(--color-text-secondary);
  font-family: var(--font-family-ko);
  font-size: 16px;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-benefit-media,
.cm-product-benefit-grid img,
.cm-product-placeholder-analysis {
  border-radius: 4px;
  box-shadow: none;
}

.cm-product-accessories {
  border-top: 1px solid var(--color-border-subtle);
  min-height: 562.53px;
  padding-bottom: 64px;
  padding-top: 64px;
}

.cm-product-accessory-grid {
  gap: 32px;
  grid-template-columns: repeat(3, 363.6667px);
  margin-top: 32px;
  width: 1155px;
}

.cm-product-accessory-media,
.cm-product-accessory-grid img,
.cm-product-placeholder-accessory {
  height: 235.94px;
  width: 363.6667px;
}

.cm-product-accessory-title {
  margin-top: 16px;
}

.cm-product-accessory-eyebrow {
  display: none;
}

.cm-product-accessory-body {
  margin-top: 4px;
}

.cm-product-resources {
  border-top: 1px solid var(--color-border-subtle);
  min-height: 628.72px;
  padding-bottom: 64px;
  padding-top: 65px;
}

.cm-product-resource-grid {
  gap: 32px;
  grid-template-columns: repeat(2, 561.5px);
  margin-top: 32px;
  width: 1155px;
}

.cm-product-resource-card {
  border: 1px solid var(--color-border-subtle);
  border-radius: 0;
  box-sizing: border-box;
  display: block;
  height: 336.125px;
  padding: 33px;
  position: relative;
  text-decoration: none;
}

.cm-product-resource-card .cm-product-resource-eyebrow {
  color: var(--color-accent-500);
  display: block;
  font-family: var(--font-family-en);
  font-size: 12px;
  font-weight: 700;
  left: 33px;
  letter-spacing: 1.2px;
  line-height: 18px;
  position: absolute;
  text-transform: uppercase;
  top: 33px;
  width: calc(100% - 66px);
}

.cm-product-resource-card .cm-product-resource-title {
  color: var(--color-primary-900);
  font-family: var(--font-family-ko);
  font-size: 20px;
  font-weight: 500;
  left: 33px;
  line-height: 36px;
  margin: 0;
  position: absolute;
  top: 67px;
  width: calc(100% - 66px);
}

.cm-product-resource-card .cm-product-resource-body {
  color: var(--color-text-secondary);
  font-family: var(--font-family-ko);
  font-size: 18px;
  font-weight: 400;
  left: 33px;
  line-height: 32px;
  margin: 0;
  position: absolute;
  top: 119px;
  width: calc(100% - 65px);
}

.cm-product-resource-footer {
  align-items: flex-end;
  border-top: 1px solid var(--color-border-subtle);
  box-sizing: border-box;
  display: flex;
  font-family: var(--font-family-ko);
  font-size: inherit;
  font-weight: 400;
  justify-content: space-between;
  left: 33px;
  letter-spacing: 0;
  line-height: normal;
  height: 45px;
  padding-top: 25px;
  position: absolute;
  top: 258.125px;
  width: calc(100% - 66px);
}

.cm-product-resource-card .cm-product-resource-meta {
  border: 0;
  color: var(--color-text-secondary);
  display: block;
  font-family: var(--font-family-ko);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

/* Product L3 Figma parity test: [template] product-l3 with Description, node 972:3376. */
.cm-main-product:has(.cm-product-detail-hero--figma972) {
  max-width: 1199px;
}

.cm-product-layout:has(.cm-product-detail-hero--figma972) {
  align-items: stretch;
  grid-template-columns: 241px minmax(0, 1199px);
  min-height: 0;
  width: min(100%, 1440px);
}

.cm-product-layout:has(.cm-product-detail-hero--figma972) .cm-product-sidebar {
  align-self: stretch;
  box-sizing: border-box;
  height: auto;
  min-height: 100%;
  width: 241px;
}

.cm-product-detail-hero--figma972 {
  align-items: stretch;
  display: grid;
  gap: 0;
  grid-template-columns: 719.4px 479.6px;
  height: auto;
  min-height: 400px;
  padding: 0;
  width: 1199px;
}

.cm-product-detail-hero--figma972 .cm-product-detail-hero-copy {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: auto;
  max-width: 719.4px;
  min-height: 400px;
  padding: 64px 32px;
  width: 719.4px;
}

.cm-product-detail-hero--figma972.cm-product-detail-hero--text-only {
  grid-template-columns: minmax(0, 1fr);
}

.cm-product-detail-hero--figma972.cm-product-detail-hero--text-only .cm-product-detail-hero-copy {
  max-width: 1135px;
  width: 1135px;
}

.cm-product-detail-hero--figma972 .cm-eyebrow {
  color: var(--color-accent-500);
  font-family: var(--font-family-mixed);
  font-size: 18px;
  font-weight: 700;
  line-height: 28px;
  margin: 0;
}

.cm-product-detail-hero--figma972 h1 {
  color: var(--color-primary-900);
  font-family: var(--font-family-mixed);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 48px;
  margin: 0;
}

.cm-product-detail-hero--figma972 p:not(.cm-eyebrow) {
  color: var(--color-text-secondary);
  font-family: var(--font-family-mixed);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 32px;
  margin: 0;
  max-width: 655.4px;
}

.cm-product-detail-hero--figma972 .cm-button-row {
  gap: 16px;
  margin-top: 0;
}

.cm-product-detail-hero--figma972 .cm-product-detail-hero-media {
  align-self: stretch;
  box-sizing: border-box;
  height: auto;
  justify-content: center;
  min-height: 400px;
  padding: 32px 32px 32px 0;
  width: 479.6px;
}

.cm-product-detail-hero--figma972 .cm-product-detail-hero-media img,
.cm-product-detail-hero--figma972 .cm-product-placeholder-machine {
  height: 371px;
  width: 372.841px;
}

.cm-product-spec-section--figma972 {
  min-height: 216px;
  padding: 64px 32px;
}

.cm-product-spec-section--figma972 h2,
.cm-product-functionality h2,
.cm-product-applications h2,
.cm-product-resources--figma972 h2 {
  color: var(--color-text-strong);
  font-family: var(--font-family-mixed);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 33.6px;
  margin: 0;
}

.cm-product-spec-section--figma972 .cm-spec-row {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 32px;
  width: 1135px;
}

.cm-product-spec-section--figma972 .cm-spec-row div {
  align-items: center;
  border: 0;
  border-right: 1px solid var(--color-border-subtle);
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: flex-start;
  min-height: 87px;
  min-width: 0;
  padding: 0 1px 0 0;
  text-align: center;
}

.cm-product-spec-section--figma972 .cm-spec-row--multisensor div:nth-child(3) {
  grid-column: span 2;
}

@media (min-width: 1024px) {
  body.cm-body-route-products-sensors-computed-tomography-xray-detector .cm-product-spec-section--figma972 .cm-spec-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.cm-body-route-products-sensors-computed-tomography-xray-detector .cm-product-spec-section--figma972 .cm-spec-row--multisensor div:nth-child(3) {
    grid-column: auto;
  }
}

.cm-product-spec-section--figma972 .cm-spec-row div:last-child {
  border-right: 0;
}

.cm-product-spec-section--figma972 .cm-spec-row strong {
  align-items: flex-end;
  color: var(--color-accent-500);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-family-ko);
  font-size: 28px;
  font-weight: 700;
  gap: 6px;
  justify-content: center;
  line-height: 33.6px;
  margin-top: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
  word-break: break-word;
}

.cm-product-spec-section--figma972 .cm-spec-row .cm-spec-label {
  color: var(--color-text-secondary);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.3px;
  line-height: 13px;
  text-transform: uppercase;
}

.cm-product-spec-section--figma972 .cm-spec-row .cm-spec-unit {
  font-size: 18px;
  line-height: 28px;
}

.cm-product-spec-section--figma972 .cm-spec-row small {
  color: var(--color-text-secondary);
  font-size: 12px;
  line-height: 16px;
  min-height: 16px;
  text-align: center;
}

.cm-product-spec-section--figma972 .cm-product-spec-body {
  color: var(--color-text-secondary);
  font-family: var(--font-family-mixed);
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
  margin: 32px 0 0;
  max-width: 1135px;
  width: 1135px;
}

.cm-product-functionality {
  align-items: flex-start;
  border-bottom: 0px;
  box-sizing: border-box;
  display: grid;
  gap: 48px;
  grid-template-columns: minmax(0, 1fr) 360px;
  padding: 64px 32px;
  width: 100%;
}

.cm-product-functionality p {
  color: var(--color-text-secondary);
  font-family: var(--font-family-mixed);
  font-size: 16px;
letter-spacing: 0;
margin: 24px 0 0;
  max-width: 680px;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-functionality-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}

.cm-product-functionality-media {
  margin: 0;
}

.cm-product-functionality-media,
.cm-product-functionality-media img {
  border-radius: 4px;
  display: block;
  width: 100%;
}

.cm-product-functionality-media img {
  height: auto;
  object-fit: contain;
}

.cm-product-detail-hero--figma972 ~ .cm-product-functionality {
  min-height: 280px;
  padding: 48px 32px;
}

.cm-video-placeholder--figma972 {
  border-bottom: 1px solid var(--color-border-subtle);
  min-height: 703px;
  padding: 0 32px 65px;
}

.cm-video-placeholder--figma972 .cm-play-placeholder {
  align-items: center;
  aspect-ratio: 16 / 9;
  background: var(--color-surface-subtle);
  border: 1px solid var(--color-border-subtle);
  box-sizing: border-box;
  display: flex;
  height: auto;
  justify-content: center;
  max-width: 1135px;
  min-height: 638px;
  text-decoration: none;
  width: 100%;
}

.cm-video-placeholder--figma972 iframe,
.cm-video-placeholder--figma972 video {
  max-width: 1135px;
  min-height: 638px;
}

.cm-video-placeholder--figma972 .cm-play-placeholder::before,
.cm-video-placeholder--figma972 .cm-play-placeholder::after {
  content: none;
}

.cm-video-placeholder--figma972 .cm-play-placeholder span {
  align-items: center;
  border: 2px solid var(--color-accent-500);
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  height: 64px;
  justify-content: center;
  position: relative;
  width: 64px;
}

.cm-video-placeholder--figma972 .cm-play-placeholder span::after {
  border-bottom: 10px solid transparent;
  border-left: 16px solid var(--color-accent-500);
  border-top: 10px solid transparent;
  content: "";
  display: block;
  height: 0;
  margin-left: 4px;
  width: 0;
}

.cm-product-detail-hero--figma972 ~ .cm-product-benefits {
  min-height: 0;
  padding: 64px 32px;
}

.cm-product-detail-hero--figma972 ~ .cm-product-benefits > p,
.cm-product-detail-hero--figma972 ~ .cm-product-benefits .cm-product-benefit-grid {
  width: 1135px;
}

.cm-product-detail-hero--figma972 ~ .cm-product-benefits .cm-product-benefit-media,
.cm-product-detail-hero--figma972 ~ .cm-product-benefits .cm-product-benefit-grid img,
.cm-product-detail-hero--figma972 ~ .cm-product-benefits .cm-product-placeholder-analysis {
  height: 424px;
  width: 553.5px;
}

.cm-product-detail-hero--figma972 ~ .cm-product-benefits .cm-product-benefit-grid img {
  object-fit: contain;
}

.cm-product-benefits--product-l3 .cm-product-benefit-grid {
  align-items: start;
}

.cm-product-benefits--product-l3 .cm-product-benefit-media {
  align-self: start;
}

.cm-product-benefits--product-l3 .cm-product-benefit-grid img {
  object-position: center top;
}

.cm-product-benefit-grid--text-only {
  grid-template-columns: minmax(0, 1fr);
}

.cm-product-detail-hero--figma972 ~ .cm-product-benefits .cm-product-benefit-grid--text-only {
  width: 1135px;
}

.cm-product-benefit-media--video {
  background: var(--color-surface-subtle);
  overflow: hidden;
}

.cm-product-benefit-media--video iframe,
.cm-product-benefit-media--video video {
  border: 1px solid var(--color-border-subtle);
  box-sizing: border-box;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories {
  background: var(--color-bg-base);
  border-top: 1px solid var(--color-border-subtle);
  min-height: 0;
  padding: 65px 32px 64px;
  position: relative;
  z-index: 1;
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories h2 {
  color: var(--color-text-strong);
  font-family: var(--font-family-mixed);
  font-size: 24px;
  font-weight: 400;
  gap: 16px;
  letter-spacing: 0;
  line-height: 33.6px;
  margin: 0;
  min-height: 33.59px;
  width: min(100%, 1135px);
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories h2::after {
  content: none;
  display: none;
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-grid {
  align-items: start;
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 32px;
  width: min(100%, 1135px);
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-media,
.cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-grid img,
.cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-placeholder-accessory {
  aspect-ratio: 205 / 133;
  border-radius: 4px;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories--compatible-equipment .cm-product-accessory-media,
.cm-product-detail-hero--figma972 ~ .cm-product-accessories--compatible-equipment .cm-product-placeholder-accessory {
  aspect-ratio: 1 / 1;
  height: auto;
  overflow: hidden;
  width: 100%;
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories--compatible-equipment .cm-product-accessory-grid img {
  aspect-ratio: 1 / 1;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-card {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-decoration: none;
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-eyebrow {
  color: var(--color-neutral-400);
  display: block;
  font-family: var(--font-family-ko);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 24px;
  margin-top: 12px;
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-title {
  color: var(--color-text-strong);
  font-family: var(--font-family-ko);
  font-size: 16px;
letter-spacing: 0;
margin-top: 0;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-body {
  display: none;
}

@media (max-width: 1024px) {
  .cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-grid {
    grid-template-columns: 1fr;
  }
}

.cm-product-applications {
  border-top: 1px solid var(--color-border-subtle);
  box-sizing: border-box;
  min-height: 0;
  padding: 64px 32px;
  width: 100%;
}

.cm-product-application-grid {
  border: 0;
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 32px;
  width: 1135px;
}

.cm-product-application-card {
  align-items: center;
  border: 0;
  box-sizing: border-box;
  color: var(--color-text-strong);
  display: flex;
  flex-direction: column;
  font-family: var(--font-family-ko);
  font-size: 16px;
min-height: 152px;
  padding: 0 16px;
  text-decoration: none;
  text-align: center;
  width: auto;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-application-media,
.cm-product-application-media img,
.cm-product-placeholder-application {
  display: block;
  height: 120px;
  width: 120px;
}

.cm-product-application-media {
  margin: 0 auto 8px;
  position: relative;
}

.cm-product-application-media img,
.cm-product-placeholder-application {
  border-radius: 50%;
}

.cm-product-application-media img {
  object-fit: contain;
}

.cm-product-placeholder-application {
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--color-primary-900) 16%, transparent) 0 28%, transparent 29%),
    radial-gradient(circle at 50% 50%, var(--color-neutral-200) 0 58%, var(--color-neutral-500) 59% 70%, var(--color-bg-base) 71%);
}

.cm-product-application-card > span:last-child {
  display: block;
  width: 100%;
}

.cm-product-detail-hero--figma972 ~ .cm-product-applications {
  background: var(--color-bg-base);
  border-top: 1px solid var(--color-border-subtle);
  box-sizing: border-box;
  min-height: 0;
  padding: 65px 32px 360px;
  width: 100%;
}

.cm-product-detail-hero--figma972 ~ .cm-product-applications h2 {
  align-items: center;
  color: var(--color-text-strong);
  display: flex;
  font-family: var(--font-family-mixed);
  font-size: 24px;
  font-weight: 400;
  gap: 16px;
  letter-spacing: 0;
  line-height: 33.6px;
  margin: 0;
  min-height: 33.59px;
  width: min(100%, 1135px);
}

.cm-product-detail-hero--figma972 ~ .cm-product-applications h2::after {
  content: none;
  display: none;
}

.cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-grid {
  align-items: start;
  column-gap: 0;
  display: grid;
  grid-template-columns: repeat(5, 227px);
  margin-top: 32px;
  row-gap: 32px;
  width: min(100%, 1135px);
}

.cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-card {
  align-items: center;
  box-sizing: border-box;
  color: var(--color-text-strong);
  display: flex;
  flex-direction: column;
  font-family: var(--font-family-ko);
  font-size: 16px;
gap: 8px;
  height: 152px;
  justify-content: flex-start;
min-height: 152px;
  padding: 0 16px;
  text-align: center;
  text-decoration: none;
  width: 227px;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-media,
.cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-media img,
.cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-placeholder-application {
  border-radius: 50%;
  display: block;
  flex: 0 0 auto;
  height: 120px;
  width: 120px;
}

.cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-media img {
  object-fit: contain;
}

.cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-media {
  margin: 0;
  overflow: hidden;
  position: relative;
}

.cm-product-card-media--fallback-logo {
  background: var(--color-bg-base);
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
}

.cm-product-accessory-media.cm-product-card-media--fallback-logo,
.cm-product-application-media.cm-product-card-media--fallback-logo {
  aspect-ratio: 1 / 1;
  border-radius: 4px;
}

.cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-media.cm-product-card-media--fallback-logo,
.cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-media.cm-product-card-media--fallback-logo {
  border-radius: 4px;
}

.cm-product-accessory-media.cm-product-card-media--fallback-logo .cm-product-card-fallback-logo,
.cm-product-application-media.cm-product-card-media--fallback-logo .cm-product-card-fallback-logo,
.cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-grid .cm-product-card-media--fallback-logo .cm-product-card-fallback-logo,
.cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-card-media--fallback-logo .cm-product-card-fallback-logo {
  background: var(--color-bg-base);
  border-radius: inherit;
  box-sizing: border-box;
  display: block;
  height: 100%;
  object-fit: contain;
  padding: 32px;
  position: relative;
  width: 100%;
  z-index: 1;
}

.cm-product-card-media--fallback-logo .cm-product-placeholder {
  display: none;
}

.cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-card > span:last-child {
  color: var(--color-text-strong);
  display: block;
  line-height: 28px;
  min-height: 28px;
  overflow-wrap: anywhere;
  text-align: center;
  width: 195px;
}

@media (max-width: 1024px) {
  .cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-grid {
    column-gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    row-gap: 32px;
  }

  .cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-card {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cm-product-detail-hero--figma972 ~ .cm-product-applications .cm-product-application-card > span:last-child {
    width: 100%;
  }
}

.cm-product-resources--figma972 {
  min-height: 629px;
  padding: 64px 32px;
}

.cm-product-resources--figma972 .cm-product-resource-grid {
  grid-template-columns: repeat(2, 551.5px);
  width: 1135px;
}

.cm-product-resource-card .cm-product-resource-icon {
  background: var(--color-accent-500);
  display: block;
  flex: 0 0 16px;
  height: 16px;
  margin-bottom: 0;
  width: 16px;
}

.cm-product-resource-icon--arrow {
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8h9M8.5 4.5 12 8l-3.5 3.5' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8h9M8.5 4.5 12 8l-3.5 3.5' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.cm-product-resource-icon--download {
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2v8M4.75 6.75 8 10l3.25-3.25M3 13h10' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2v8M4.75 6.75 8 10l3.25-3.25M3 13h10' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.cm-product-more {
  height: 66px;
  margin-top: 32px;
  min-width: 174px;
}

.cm-final-cta--expert {
  align-items: center;
  background: var(--color-primary-900);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: auto;
  margin: 0 auto;
  max-width: none;
  min-height: 345px;
  padding: 48px 32px;
  text-align: center;
  width: 100%;
}

.cm-final-cta--expert h2 {
  color: var(--color-bg-base);
  font-family: var(--font-family-ko);
  font-size: 40px;
  font-weight: 400;
  line-height: 60px;
  margin: 0;
}

.cm-final-cta--expert p {
  color: var(--color-bg-base);
  font-family: var(--font-family-ko);
  font-size: 16px;
margin: 16px 0 0;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-final-cta--expert > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 896px;
}

.cm-final-cta--expert > a {
  align-items: center;
  background: var(--color-accent-500);
  border-radius: 4px;
  box-shadow: 0 25px 50px -12px color-mix(in srgb, var(--color-text-strong) 25%, transparent);
  color: var(--color-bg-base);
  display: inline-flex;
  font-family: var(--font-family-ko);
  font-size: 16px;
height: 56px;
  justify-content: center;
  letter-spacing: 1.3px;
margin-top: 32px;
  min-width: 0;
  padding: 0;
  width: 200px;
  font-weight: 500 !important;
  line-height: 28px !important;
}

.cm-final-cta--expert .cm-final-cta-kakao-row {
  align-items: center;
  color: color-mix(in srgb, var(--color-bg-base) 64%, transparent);
  display: flex;
  font-family: var(--font-family-ko);
  font-size: 16px;
gap: 14px;
  justify-content: center;
margin-top: 32px;
  max-width: none;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-final-cta--expert .cm-final-cta-kakao-line {
  background: color-mix(in srgb, var(--color-bg-base) 20%, transparent);
  display: block;
  height: 1px;
  width: 32px;
}

.cm-final-cta--expert .jw-kakao-chat {
  background: var(--color-bg-base);
  border-radius: 15px;
  box-shadow: 0 1px 3px color-mix(in srgb, var(--color-text-strong) 22%, transparent);
  box-sizing: border-box;
  display: inline-flex;
  height: 30px;
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 74px;
}

.cm-final-cta--expert .jw-kakao-chat-button {
  inset: 0;
  opacity: 0.01;
  position: absolute;
  z-index: 2;
}

.cm-final-cta--expert .jw-kakao-chat::before {
  background: var(--color-kakao) url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23111111' d='M12 5.25c-4.14 0-7.5 2.55-7.5 5.7 0 2.05 1.42 3.85 3.55 4.86l-.67 2.46c-.07.26.22.47.44.32l2.95-1.93c.4.05.81.08 1.23.08 4.14 0 7.5-2.55 7.5-5.79s-3.36-5.7-7.5-5.7Z'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
  border-radius: 50%;
  content: "";
  height: 28px;
  left: 1px;
  position: absolute;
  top: 1px;
  width: 28px;
  z-index: 1;
}

.cm-final-cta--expert .jw-kakao-chat::after {
  color: var(--color-text-strong);
  content: "톡상담";
  font-family: var(--font-family-ko);
  font-size: 13px;
  font-weight: 800;
  left: 31px;
  line-height: 30px;
  position: absolute;
  right: 7px;
  text-align: center;
  top: 0;
  white-space: nowrap;
  z-index: 1;
}

@media (max-width: 767px) {
  .cm-final-cta--expert {
    height: auto;
    min-height: 0;
    padding: 32px 20px;
  }

  .cm-final-cta--expert h2 {
    font-size: 32px;
    line-height: 44px;
  }

  .cm-final-cta--expert > p:not(.cm-kakao) {
    max-width: 100%;
  }

  .cm-final-cta--expert > a {
    width: min(200px, 100%);
  }

  .cm-final-cta--expert .cm-final-cta-kakao-row {
    gap: 10px;
    width: 100%;
  }
}

@media (max-width: 1279px) {
  .cm-main-product:has(.cm-product-detail-hero--figma972),
  .cm-product-layout:has(.cm-product-detail-hero--figma972) {
    max-width: 100%;
    width: 100%;
  }

  .cm-product-layout:has(.cm-product-detail-hero) {
    display: block;
    min-height: 0;
  }

  .cm-product-layout:has(.cm-product-detail-hero) .cm-product-sidebar {
    display: none;
  }

  .cm-product-detail-hero,
  .cm-product-spec-section,
  .cm-video-placeholder,
  .cm-product-benefits,
  .cm-product-functionality,
  .cm-product-accessories,
  .cm-product-resources {
    max-width: 100%;
  }

  .cm-product-detail-hero {
    grid-template-columns: minmax(0, 1fr) 320px;
  }

  .cm-product-detail-hero-media {
    width: 320px;
  }

  .cm-product-detail-hero--figma972 {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 40%);
    height: auto;
    min-height: 0;
    width: 100%;
  }

  .cm-product-detail-hero--figma972 .cm-product-detail-hero-copy,
  .cm-product-detail-hero--figma972 .cm-product-detail-hero-media {
    max-width: none;
    width: auto;
  }

  .cm-product-detail-hero--figma972 .cm-product-detail-hero-media {
    height: auto;
    min-height: 360px;
  }

  .cm-product-spec-section--figma972 .cm-spec-row,
  .cm-product-spec-section--figma972 .cm-product-spec-body,
  .cm-product-detail-hero--figma972 ~ .cm-product-benefits > p,
  .cm-product-detail-hero--figma972 ~ .cm-product-benefits .cm-product-benefit-grid,
  .cm-product-detail-hero--figma972 ~ .cm-product-accessories .cm-product-accessory-grid,
  .cm-product-application-grid,
  .cm-product-resources--figma972 .cm-product-resource-grid {
    max-width: 100%;
    width: 100%;
  }

  .cm-product-spec-section .cm-spec-row,
  .cm-product-functionality,
  .cm-product-benefits > p,
  .cm-product-benefit-grid,
  .cm-product-accessory-grid,
  .cm-product-resource-grid {
    width: 100%;
  }

  .cm-product-benefit-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .cm-product-benefit-media,
  .cm-product-benefit-grid img,
  .cm-product-placeholder-analysis,
  .cm-product-accessory-media,
  .cm-product-accessory-grid img,
  .cm-product-placeholder-accessory {
    width: 100%;
  }

  .cm-product-accessory-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cm-product-resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1440px) {
  .cm-product-detail-hero::before {
    right: auto;
    width: calc(100vw - ((100vw - 1440px) / 2 + 221px));
  }
}

@media (max-width: 1023px) {
  .cm-product-detail-hero {
    grid-template-columns: 1fr;
  }

  .cm-product-detail-hero-media {
    justify-content: flex-start;
    padding: 0;
    width: 300px;
  }

  .cm-product-detail-hero--figma972 {
    grid-template-columns: 1fr;
  }

  .cm-product-detail-hero--figma972 .cm-product-detail-hero-media {
    min-height: 300px;
    padding: 0 32px 32px;
  }

  .cm-product-spec-section .cm-spec-row,
  .cm-product-accessory-grid,
  .cm-product-resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cm-product-spec-section--figma972 .cm-spec-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cm-product-spec-section--figma972 .cm-spec-row div {
    grid-template-columns: 180px minmax(0, 1fr) 180px;
  }

  .cm-product-benefit-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .cm-product-detail-hero,
  .cm-product-spec-section,
  .cm-product-functionality,
  .cm-product-benefits,
  .cm-product-accessories,
  .cm-product-applications,
  .cm-product-resources {
    padding: 40px 20px;
  }

  .cm-video-placeholder {
    min-height: 320px;
    padding: 0 20px 40px;
  }

  .cm-play-placeholder {
    height: 300px;
    width: 100%;
  }

  .cm-product-detail-hero h1 {
    font-size: 32px;
    line-height: 40px;
  }

  .cm-product-detail-hero p:not(.cm-eyebrow),
  .cm-product-benefits > p,
  .cm-product-benefit-grid li,
  .cm-product-accessory-body,
  .cm-product-resource-card p {
    font-size: 16px;

    font-weight: 300 !important;

    line-height: 28px !important;
}

  .cm-product-benefits > p,
  .cm-product-benefit-grid,
  .cm-product-accessory-grid,
  .cm-product-resource-grid,
  .cm-product-spec-section--figma972 .cm-product-spec-body,
  .cm-product-application-grid {
    max-width: calc(100vw - 40px);
    width: calc(100vw - 40px);
  }

  .cm-product-detail-hero--figma972 {
    display: block;
  }

  .cm-product-detail-hero--figma972 .cm-product-detail-hero-copy {
    padding: 16px 0px;
  }

  .cm-product-detail-hero--figma972 .cm-product-detail-hero-media {
    display: none;
  }

  .cm-product-functionality {
    display: block;
  }

  .cm-product-functionality-grid {
    margin-top: 24px;
  }

  .cm-product-spec-section--figma972 .cm-spec-row div {
    gap: 8px;
    grid-template-columns: 1fr;
    justify-items: center;
    min-height: 132px;
    padding: 20px;
    text-align: center;
  }

  .cm-product-spec-section--figma972 .cm-spec-row,
  .cm-product-spec-section--figma972 .cm-spec-row--multisensor {
    grid-template-columns: 1fr;
  }

  .cm-product-spec-section--figma972 .cm-spec-row--multisensor div:nth-child(3) {
    grid-column: auto;
  }

  .cm-product-spec-section--figma972 .cm-spec-row small {
    justify-self: center;
    text-align: center;
  }

  .cm-product-spec-section--figma972 .cm-spec-row strong {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 100%;
    overflow-wrap: anywhere;
    text-align: center;
    word-break: normal;
  }

  .cm-product-spec-section .cm-spec-row,
  .cm-product-accessory-grid,
  .cm-product-resource-grid,
  .cm-product-application-grid {
    grid-template-columns: 1fr;
  }

  .cm-product-spec-section .cm-spec-row div {
    border-bottom: 1px solid var(--color-accent-500);
    border-right: 0;
  }

  .cm-product-spec-section .cm-spec-row div:last-child {
    border-bottom: 0;
  }

  .cm-product-benefit-media,
  .cm-product-benefit-grid img,
  .cm-product-placeholder-analysis {
    min-height: 260px;
    width: 100%;
  }

  .cm-product-resource-card {
    display: flex;
    flex-direction: column;
    min-height: 360px;
  }

  .cm-product-resource-card .cm-product-resource-eyebrow,
  .cm-product-resource-card .cm-product-resource-title,
  .cm-product-resource-card .cm-product-resource-body,
  .cm-product-resource-footer {
    left: auto;
    position: static;
    top: auto;
    width: 100%;
  }

  .cm-product-resource-card .cm-product-resource-title {
    margin-top: 16px;
  }

  .cm-product-resource-card .cm-product-resource-body {
    margin-top: 16px;
  }

  .cm-product-resource-footer {
    margin-top: auto;
  }
}

@media (max-width: 480px) {
  .cm-product-detail-hero .cm-button-row {
    align-items: stretch;
    flex-direction: column;
  }

  .cm-product-detail-hero .cm-button {
    width: 156px;
  }

  .cm-product-spec-section .cm-spec-row {
    grid-template-columns: 1fr;
  }

  .cm-product-spec-section .cm-spec-row div {
    border-bottom: 1px solid var(--color-accent-500);
    border-right: 0;
  }

  .cm-product-spec-section .cm-spec-row div:last-child {
    border-bottom: 0;
  }

  .cm-product-accessory-grid,
  .cm-product-resource-grid {
    grid-template-columns: 1fr;
  }
}

/* Product L3 mobile composition: retain product media without consuming a
 * second, cropped content block. */
@media (max-width: 767px) {
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-detail-hero {
    isolation: isolate;
    overflow: hidden;
    padding-inline: 16px !important;
    position: relative;
  }

  .cm-main-product:has(.cm-product-detail-hero) .cm-product-detail-hero-copy,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-detail-hero .cm-button-row {
    position: relative;
    z-index: 1;
  }

  .cm-main-product:has(.cm-product-detail-hero) .cm-product-detail-hero-media,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-detail-hero--figma972 .cm-product-detail-hero-media {
    display: block;
    inset: 0;
    margin: 0;
    max-width: none;
    min-height: 0;
    padding: 0;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 0;
  }

  .cm-main-product:has(.cm-product-detail-hero) .cm-product-detail-hero-media img {
    filter: grayscale(1) saturate(.45);
    height: 100%;
    max-width: none;
    object-fit: cover;
    opacity: .16;
    width: 100%;
  }

  .cm-main-product:has(.cm-product-detail-hero) .cm-product-detail-hero-media .cm-product-placeholder {
    display: none;
  }

  .cm-main-product:has(.cm-product-detail-hero) .cm-product-spec-section,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-functionality,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-benefits,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-accessories,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-applications,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-resources,
  .cm-main-product:has(.cm-product-detail-hero) .cm-video-placeholder,
  .cm-main-product:has(.cm-product-detail-hero) .cm-final-cta {
    padding-inline: 16px !important;
  }

  .cm-main-product:has(.cm-product-detail-hero) .cm-product-benefits > p,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-benefit-grid,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-accessory-grid,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-resource-grid,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-application-grid,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-spec-section--figma972 .cm-product-spec-body {
    max-width: calc(100vw - 32px);
    width: calc(100vw - 32px);
  }

  .cm-main-product:has(.cm-product-detail-hero) .cm-product-spec-section .cm-spec-row div,
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-spec-section .cm-spec-row div:last-child {
    border: 0 !important;
  }

  .cm-main-product:has(.cm-product-detail-hero) .cm-video-placeholder,
  .cm-main-product:has(.cm-product-detail-hero) .cm-video-placeholder--figma972 {
    min-height: 0;
    padding-bottom: 40px;
  }

  .cm-main-product:has(.cm-product-detail-hero) .cm-video-placeholder iframe,
  .cm-main-product:has(.cm-product-detail-hero) .cm-video-placeholder video,
  .cm-main-product:has(.cm-product-detail-hero) .cm-video-placeholder .cm-play-placeholder {
    aspect-ratio: 16 / 9;
    height: auto !important;
    min-height: 0 !important;
    width: 100%;
  }
}

.cm-product-benefits--product-l3 .cm-product-benefit-grid,
.cm-product-detail-hero--figma972 ~ .cm-product-benefits .cm-product-benefit-grid,
.cm-main-product:has(.cm-product-detail-hero) .cm-product-benefits .cm-product-benefit-grid {
  align-items: start;
}

.cm-product-benefits--product-l3 .cm-product-benefit-media,
.cm-product-detail-hero--figma972 ~ .cm-product-benefits .cm-product-benefit-media,
.cm-main-product:has(.cm-product-detail-hero) .cm-product-benefits .cm-product-benefit-media {
  align-self: start;
}

.cm-product-benefits--product-l3 .cm-product-benefit-grid img,
.cm-product-detail-hero--figma972 ~ .cm-product-benefits .cm-product-benefit-grid img,
.cm-main-product:has(.cm-product-detail-hero) .cm-product-benefits .cm-product-benefit-grid img,
.cm-product-benefits--product-l3 .cm-product-placeholder-analysis,
.cm-product-detail-hero--figma972 ~ .cm-product-benefits .cm-product-placeholder-analysis,
.cm-main-product:has(.cm-product-detail-hero) .cm-product-benefits .cm-product-placeholder-analysis {
  object-position: center top;
}

/* Product L3 software parity: [template] product-l3 software, node 1246:5778. */
body.cm-body-route-products-softwares-winwerth .cm-product-layout {
  grid-template-columns: 241px minmax(0, 1199px);
  width: min(100%, 1440px);
}

body.cm-body-route-products-softwares-winwerth .cm-product-layout .cm-product-sidebar {
  width: 241px;
}

body.cm-body-route-products-softwares-winwerth .cm-main-product:has(.cm-product-detail-hero--software) {
  margin-bottom: 360px;
  padding: 0;
}

.cm-product-detail-hero--software {
  background: linear-gradient(90deg, var(--color-surface-subtle) 0%, var(--color-bg-base) 100%);
  border-bottom: 0;
  box-sizing: border-box;
  grid-template-columns: 719.4px 479.6px;
  height: 440px;
  min-height: 440px;
  padding: 0;
  width: 1199px;
}

.cm-product-detail-hero--software .cm-product-detail-hero-copy {
  box-sizing: border-box;
  height: 428px;
  max-width: none;
  padding: 64px 32px;
  width: 719.4px;
}

.cm-product-detail-hero--software .cm-product-detail-hero-copy > .cm-eyebrow {
  color: var(--color-accent-500);
  font-family: var(--font-family-mixed);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 28px;
  margin: 0 0 0px;
}

.cm-product-detail-hero--software h1 {
  color: var(--color-primary-900);
  font-family: var(--font-family-mixed);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 48px;
  margin: 0 0 16px;
}

.cm-product-detail-hero--software p:not(.cm-eyebrow) {
  color: var(--color-text-secondary);
  font-family: var(--font-family-mixed);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 32px;
  margin: 0;
  max-width: 655.4px;
}

.cm-product-detail-hero--software .cm-button-row {
  gap: 16px;
  margin-top: 16px;
}

.cm-product-detail-hero--software .cm-button {
  border-radius: 4px;
  font-family: var(--font-family-mixed);
  font-size: 16px;
height: 48px;
  letter-spacing: 0.65px;
min-width: 156px;
  width: 156px;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-product-detail-hero--software .cm-button-ghost {
  background: var(--color-bg-base);
  border-color: var(--color-accent-500);
  color: var(--color-accent-500);
}

.cm-product-detail-hero--software .cm-product-detail-hero-media {
  box-sizing: border-box;
  height: 428px;
  margin: 0;
  padding: 32px 32px 32px 0;
  width: 479.6px;
}

.cm-product-detail-hero--software .cm-product-detail-hero-media img {
  height: 364px;
  object-fit: cover;
  width: 546px;
}

.cm-winwerth-intro,
.cm-winwerth-section {
  background: var(--color-bg-base);
  box-sizing: border-box;
  padding: 64px 32px;
  width: 1199px;
}

.cm-winwerth-intro {
  min-height: 520px;
}

.cm-winwerth-intro > div {
  box-sizing: border-box;
  padding-top: 8px;
  width: 1135px;
}

.cm-winwerth-intro p,
.cm-winwerth-feature-copy p {
  color: var(--color-text-secondary);
  font-family: var(--font-family-mixed);
  font-size: 16px;
letter-spacing: 0;
margin: 0;
  font-weight: 300 !important;
  line-height: 28px !important;
}

.cm-winwerth-intro p + p,
.cm-winwerth-feature-copy p + p {
  margin-top: 32px;
}

.cm-winwerth-section {
  border-top: 1px solid var(--color-border-subtle);
}

.cm-winwerth-section h2 {
  color: var(--color-accent-500);
  font-family: var(--font-family-mixed);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.5px;
  line-height: 32px;
  margin: 0;
  width: 1135px;
}

.cm-winwerth-section-stack {
  display: grid;
  gap: 80px;
  margin-top: 32px;
  width: 1135px;
}

.cm-winwerth-feature {
  align-items: start;
  display: grid;
  gap: 32px;
  grid-template-columns: 551.5px 551.5px;
  margin: 0;
  width: 1135px;
}

.cm-winwerth-feature--full {
  grid-template-columns: 1fr;
}

.cm-winwerth-feature--text-only {
  grid-template-columns: 1fr;
}

.cm-winwerth-feature-copy {
  width: 551.5px;
}

.cm-winwerth-feature--text-only .cm-winwerth-feature-copy {
  width: 1135px;
}

.cm-winwerth-feature-copy h3 {
  color: var(--color-primary-900);
  font-family: var(--font-family-mixed);
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 36px;
  margin: 0 0 12px;
}

.cm-winwerth-media {
  aspect-ratio: var(--cm-winwerth-media-ratio);
  background: var(--color-bg-base);
  display: block;
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 551.5px;
}

.cm-winwerth-feature--full .cm-winwerth-media {
  width: 1135px;
}

.cm-winwerth-media img,
.cm-winwerth-media video {
  background: var(--color-bg-base);
  border: 0;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.cm-winwerth-media--video video,
.cm-winwerth-media--fit-video video {
  height: 100%;
  min-width: 100%;
  object-fit: contain;
  object-position: center;
  width: 100%;
}

.cm-winwerth-media img:not([hidden]) + .cm-product-placeholder,
.cm-winwerth-media video + .cm-product-placeholder {
  display: none;
}

@media (max-width: 1279px) {
  body.cm-body-route-products-softwares-winwerth .cm-product-layout {
    display: block;
    min-height: 0;
    width: 100%;
  }

  body.cm-body-route-products-softwares-winwerth .cm-product-layout .cm-product-sidebar {
    display: none;
  }

  .cm-product-detail-hero--software,
  .cm-winwerth-intro,
  .cm-winwerth-section {
    max-width: 100%;
    width: 100%;
  }

  .cm-product-detail-hero--software {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 40%);
  }

  .cm-product-detail-hero--software .cm-product-detail-hero-copy,
  .cm-product-detail-hero--software .cm-product-detail-hero-media,
  .cm-winwerth-intro > div,
  .cm-winwerth-section h2,
  .cm-winwerth-section-stack,
  .cm-winwerth-feature,
  .cm-winwerth-feature-copy,
  .cm-winwerth-feature--text-only .cm-winwerth-feature-copy,
  .cm-winwerth-media,
  .cm-winwerth-feature--full .cm-winwerth-media {
    width: 100%;
  }

  .cm-winwerth-feature {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1023px) {
  .cm-product-detail-hero--software {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 0;
  }

  .cm-product-detail-hero--software .cm-product-detail-hero-copy,
  .cm-product-detail-hero--software .cm-product-detail-hero-media {
    height: auto;
    padding: 48px 32px;
    width: 100%;
  }

  .cm-product-detail-hero--software .cm-product-detail-hero-media img {
    height: auto;
    max-width: 546px;
    width: 100%;
  }

  .cm-winwerth-feature {
    grid-template-columns: 1fr;
  }

  .cm-winwerth-feature--media-right .cm-winwerth-media {
    order: -1;
  }
}

@media (max-width: 767px) {
  .cm-product-detail-hero--software,
  .cm-winwerth-intro,
  .cm-winwerth-section {
    padding: 40px 20px;
  }

  .cm-product-detail-hero--software .cm-product-detail-hero-copy,
  .cm-product-detail-hero--software .cm-product-detail-hero-media {
    padding: 0;
  }

  .cm-product-detail-hero--software .cm-product-detail-hero-media {
    margin-top: 32px;
  }

  .cm-product-detail-hero--software h1 {
    font-size: 32px;
    line-height: 40px;
  }

  .cm-winwerth-section-stack {
    gap: 56px;
  }

  .cm-winwerth-intro p,
  .cm-winwerth-feature-copy p {
    font-size: 16px;

    font-weight: 300 !important;

    line-height: 28px !important;
}

  .cm-winwerth-feature-copy h3 {
    font-size: 20px;
    line-height: 32px;
  }
}

/* Final product cascade guardrail for fixed-width Figma sections. */
@media (max-width: 1279px) {
  .cm-product-detail-hero,
  .cm-product-spec-section,
  .cm-product-benefits,
  .cm-product-functionality,
  .cm-product-accessories,
  .cm-product-resources,
  .cm-product-application-grid,
  .cm-product-accessory-grid,
  .cm-product-resource-grid {
    max-width: 100% !important;
    min-width: 0;
    width: 100% !important;
  }

  .cm-product-application-grid,
  .cm-product-accessory-grid,
  .cm-product-resource-grid,
  .cm-product-functionality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cm-product-detail-hero-media img,
  .cm-product-benefit-media img,
  .cm-product-functionality-media img,
  .cm-product-application-media img,
  .cm-product-accessory-media img {
    height: auto;
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .cm-product-application-grid,
  .cm-product-accessory-grid,
  .cm-product-resource-grid,
  .cm-product-functionality-grid,
  .cm-product-spec-section .cm-spec-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .cm-product-detail-hero h1,
  .cm-product-detail-hero--software h1 {
    overflow-wrap: anywhere;
    word-break: keep-all;
  }
}

/* Keep multi-row L3 specifications readable at tablet widths. */
@media (min-width: 768px) and (max-width: 1279px) {
  .cm-main-product:has(.cm-product-detail-hero) .cm-product-spec-section .cm-spec-row {
    column-gap: 0 !important;
    row-gap: 32px !important;
  }
}

/* Keep the product navigation rail consistent across tablet and small desktop. */
@media (min-width: 769px) and (max-width: 1279px) {
  .cm-product-layout,
  .cm-product-layout-l2 {
    grid-template-columns: 220px minmax(0, 1fr) !important;
  }

  .cm-product-layout .cm-product-sidebar,
  .cm-product-layout-l2 .cm-product-sidebar {
    width: 220px !important;
  }
}

.cm-product-l2-groups {
  display: grid;
  gap: 100px;
}

.cm-product-l2-group {
  display: grid;
  gap: 32px;
}

.cm-product-l2-group-heading {
  align-items: center;
  display: flex;
  gap: 24px;
}

.cm-product-l2-group-heading h2 {
  color: var(--color-text-strong);
  font-family: var(--font-family-mixed);
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  margin: 0;
  white-space: nowrap;
}

.cm-product-l2-group-heading span {
  background: var(--color-border-subtle);
  height: 1px;
  width: 100%;
}

.cm-product-technical-table-wrap { overflow-x: auto; }
.cm-product-technical-table { border-collapse: collapse; min-width: 640px; width: 100%; }
.cm-product-technical-table th, .cm-product-technical-table td { border-bottom: 1px solid var(--color-border-subtle); color: var(--color-text-secondary); padding: 16px 20px; text-align: left; vertical-align: top; }
.cm-product-technical-table th { color: var(--color-text-strong); font-weight: 600; }
.cm-product-technical-table tr > th:first-child:not([colspan]) { width: 28%; }
.cm-product-technical-table tr:first-child > th { border-top: 1px solid var(--color-border-subtle); }

@media (max-width: 767px) {
  .cm-product-l2-groups {
    gap: 48px;
  }

  .cm-product-l2-group {
    gap: 24px;
  }

  .cm-product-l2-group-heading {
    gap: 16px;
  }

  .cm-product-l2-group-heading h2 {
    font-size: 20px;
    line-height: 28px;
  }
}

/* Final route override: every hardness-tester L3 keeps the approved desktop
 * whitespace regardless of earlier product-family layout rules. */
@media (min-width: 768px) {
  body[class*="cm-body-route-products-hardness-tester-"] .cm-main-product .cm-product-benefits {
    padding-bottom: 360px !important;
  }
}
