.pd-perfect {
  /* Section pad @ 1920: 119px → 6.198vw */
  --pd-perfect-pad-y: clamp(2.5rem, 6.198vw, 119px);
  /* Layout gap @ 1920: 107px → 5.573vw */
  --pd-perfect-gap: clamp(2rem, 5.573vw, 107px);
  /* Title @ 1920: 48px / 60px */
  --pd-perfect-title-size: clamp(1.5rem, 2.5vw, 48px);
  --pd-perfect-title-lh: 1.25;
  /* List text @ 1920: 24px; 72px = row height / rhythm, not wrap line-height */
  --pd-perfect-list-size: clamp(1rem, 1.25vw, 24px);
  --pd-perfect-list-lh: 1.25;
  --pd-perfect-list-row: clamp(2.5rem, 3.75vw, 72px);
  --pd-perfect-list-col-gap: clamp(1.5rem, 3vw, 3rem);
  /* List margin-bottom @ 1920: 79px → 4.115vw */
  --pd-perfect-list-mb: clamp(1.5rem, 4.115vw, 79px);
  /* Body text @ 1920: 18px / 36px */
  --pd-perfect-text-size: clamp(0.9375rem, 0.9375vw, 18px);
  /* Media @ 1920: 801×533 */
  --pd-perfect-media-w: clamp(16rem, 41.719vw, 801px);
  --pd-perfect-media-ratio: 801 / 533;
  --pd-perfect-icon: clamp(1.75rem, 2.08vw, 40px);
  background-color: var(--color-cream);
  padding: var(--pd-perfect-pad-y) 0;
}

.pd-perfect .container {
  width: 100%;
  max-width: var(--container-outer);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

.pd-perfect .container-inner {
  width: 100%;
  max-width: var(--container-inner);
  margin-inline: auto;
}

.pd-perfect__layout {
  display: grid;
  grid-template-columns: minmax(0, var(--pd-perfect-media-w)) minmax(0, 1fr);
  align-items: center;
  gap: var(--pd-perfect-gap);
  max-width: 1430px;
  margin-inline: auto;
}

.pd-perfect__media {
  width: 100%;
  max-width: var(--pd-perfect-media-w);
  min-width: 0;
}

.pd-perfect__media img {
  width: 100%;
  max-width: var(--pd-perfect-media-w);
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center;
  aspect-ratio: var(--pd-perfect-media-ratio);
}

.pd-perfect__content {
  min-width: 0;
  padding: 0;
  overflow: visible;
}

.pd-perfect__title {
  text-align: left;
  font-family: var(--font-primary);
  font-weight: var(--fw-extrabold);
  font-style: normal;
  font-size: var(--pd-perfect-title-size);
  line-height: var(--pd-perfect-title-lh);
  letter-spacing: 0;
  color: var(--color-dark);
  text-transform: uppercase;
  opacity: 1;
  margin: 0 0 clamp(1.25rem, 1.67vw, 2rem);
  white-space: nowrap;
}

.pd-perfect__list {
  list-style: none;
  margin: 0 0 var(--pd-perfect-list-mb);
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, max-content);
  column-gap: var(--pd-perfect-list-col-gap);
  row-gap: 0;
  justify-content: start;
  width: max-content;
  max-width: 100%;
}

.pd-perfect__list li {
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 0.8vw, 0.75rem);
  min-height: var(--pd-perfect-list-row);
  text-align: left;
  font-family: var(--font-primary);
  font-weight: var(--fw-regular);
  font-style: normal;
  font-size: var(--pd-perfect-list-size);
  line-height: var(--pd-perfect-list-lh);
  letter-spacing: 0;
  color: var(--color-dark);
  opacity: 1;
  white-space: nowrap;
}

.pd-perfect__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--pd-perfect-icon);
  height: var(--pd-perfect-icon);
  flex-shrink: 0;
}

.pd-perfect__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.pd-perfect__text {
  text-align: left;
  font-family: var(--font-primary);
  font-weight: var(--fw-regular);
  font-style: normal;
  font-size: var(--pd-perfect-text-size);
  line-height: 2;
  letter-spacing: 0;
  color: var(--color-dark);
  opacity: 1;
  margin: 0;
  max-width: 36rem;
}

@media (max-width: 1399px) {
  .pd-perfect {
    --pd-perfect-gap: clamp(1.75rem, 3.5vw, 3.5rem);
    --pd-perfect-list-col-gap: clamp(1.25rem, 3vw, 2rem);
    --pd-perfect-list-size: clamp(0.9375rem, 1.15vw, 1.25rem);
    --pd-perfect-media-w: clamp(16rem, 36vw, 640px);
  }
}

/* ≈1024 tablet: keep desktop 1-line layout (image | content) */
@media (max-width: 1199px) and (min-width: 768px) {
  .pd-perfect {
    --pd-perfect-pad-y: 2.75rem;
    --pd-perfect-gap: 2.5rem; /* image ↔ content */
    --pd-perfect-title-size: 1.375rem; /* 22px */
    --pd-perfect-title-lh: 1.2;
    --pd-perfect-list-size: 0.8125rem; /* 13px — 2-col labels fit beside image */
    --pd-perfect-list-row: 2.25rem;
    --pd-perfect-list-mb: 1.25rem;
    --pd-perfect-list-col-gap: 1.75rem; /* list columns */
    --pd-perfect-text-size: 0.8125rem; /* 13px */
    --pd-perfect-media-w: 300px;
    --pd-perfect-icon: 26px;
  }

  .pd-perfect__layout {
    grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
    max-width: 960px;
    margin-inline: auto;
    align-items: center;
    gap: 2.5rem;
  }

  .pd-perfect__media {
    width: 100%;
    max-width: 300px;
    margin-inline: 0;
  }

  .pd-perfect__media img {
    max-width: 100%;
  }

  .pd-perfect__title {
    margin-bottom: 0.75rem;
    white-space: nowrap;
  }

  .pd-perfect__list {
    grid-template-columns: repeat(2, max-content);
    column-gap: var(--pd-perfect-list-col-gap);
    justify-content: start;
    width: max-content;
    max-width: 100%;
  }

  .pd-perfect__list li {
    white-space: nowrap;
  }

  .pd-perfect__text {
    max-width: 100%;
    line-height: 1.55;
  }
}

@media (max-width: 767px) {
  .pd-perfect {
    --pd-perfect-pad-y: 2.5rem;
    --pd-perfect-gap: 1.5rem;
    --pd-perfect-title-size: 1.5rem;
    --pd-perfect-list-size: 0.9375rem;
    --pd-perfect-list-row: 2.5rem;
    --pd-perfect-list-mb: 1.5rem;
    --pd-perfect-text-size: 0.9375rem;
    --pd-perfect-media-w: 100%;
    --pd-perfect-icon: 28px;
  }

  .pd-perfect__layout {
    grid-template-columns: 1fr;
    max-width: 100%;
    gap: 1.5rem;
  }

  .pd-perfect__media,
  .pd-perfect__media img {
    max-width: 100%;
  }

  .pd-perfect__title {
    white-space: nowrap;
  }

  /* One label per row so long phrases stay on a single line */
  .pd-perfect__list {
    grid-template-columns: max-content;
    width: max-content;
    max-width: 100%;
  }

  .pd-perfect__list li {
    white-space: nowrap;
  }

  .pd-perfect__text {
    max-width: 100%;
    line-height: 1.65;
  }
}
