/* Section 03: references/image-gen-2(20261021-090418).png (1672 × 941).
   Scoped styles keep the approved FV and customers section unchanged. */
.challenges { position: relative; isolation: isolate; overflow: hidden; min-height: min(56.28vw, 1080px); color: #070e36; background: #fff; }
.challenges__background { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.challenges__inner { display: grid; grid-template-columns: 45.1% minmax(0, 1fr); gap: 5.5%; max-width: 1920px; margin-inline: auto; padding: min(6.2vw, 119px) 4.8% min(3.7vw, 71px); }
.challenges__intro { min-width: 0; }
.challenges__eyebrow { margin: 0 0 min(1.85vw, 35px); color: #0560ff; font-size: clamp(20px, 1.67vw, 32px); font-weight: 700; line-height: 1.5; }
.challenges__intro h2 { position: relative; z-index: 1; margin: 0; font-size: clamp(46px, 5.14vw, 99px); font-weight: 800; line-height: 1.22; letter-spacing: -.045em; }
.challenges__intro h2 span { display: block; white-space: nowrap; }
.challenges__lead { position: relative; z-index: 1; margin: min(1.8vw, 35px) 0 0; font-size: clamp(17px, 1.67vw, 32px); font-weight: 500; line-height: 1.5; letter-spacing: -.025em; }
.challenges__factory { position: absolute; z-index: 0; left: 0; bottom: 0; display: block; width: 46.5%; height: auto; opacity: .28; mask-image: linear-gradient(to bottom, #000 35%, #000a 72%, transparent); pointer-events: none; }
.challenges__list { position: relative; margin: 0; padding: 0; list-style: none; }
.challenges__item { display: grid; grid-template-columns: min(9.1vw, 175px) minmax(0, 1fr); gap: min(3vw, 58px); padding: min(2.5vw, 48px) 0 min(2vw, 38px); border-bottom: 1px solid #9ed1ff; }
.challenges__item:last-child { border-bottom: 0; padding-bottom: 0; }
.challenges__number { align-self: start; position: relative; display: block; margin-top: min(.6vw, 12px); padding-left: min(.65vw, 12px); font: 700 clamp(54px, 5.14vw, 99px)/1 Arial, sans-serif; letter-spacing: -.025em; color: #528dff; background: linear-gradient(150deg, #2bc6ff 5%, #6587ff 85%); background-clip: text; -webkit-text-fill-color: transparent; }
.challenges__number::after { content: ""; position: absolute; right: 0; top: 6%; height: 82%; border-right: 1px solid #53acff; }
.challenges__item:nth-child(even) .challenges__number { background-image: linear-gradient(120deg, #7885ff, #29b5ff); }
.challenges__detail { min-width: 0; }
.challenges__detail h3 { margin: 0; font-size: clamp(19px, 1.9vw, 36.5px); font-weight: 800; line-height: 1.4; letter-spacing: -.025em; }
.challenges__detail p { margin: min(.45vw, 9px) 0 0; font-size: clamp(15px, 1.316vw, 25.3px); font-weight: 500; line-height: 1.5; letter-spacing: .005em; }
@media (max-width: 800px) {
  .challenges { min-height: 0; }
  .challenges__background { height: 530px; }
  .challenges__inner { display: block; padding: 44px 24px 36px; }
  .challenges__eyebrow { margin-bottom: 20px; font-size: 16px; }
  .challenges__intro h2 { font-size: clamp(32px, 9.8vw, 48px); line-height: 1.26; letter-spacing: -.04em; }
  .challenges__lead { margin-top: 22px; font-size: 15px; line-height: 1.85; letter-spacing: 0; }
  .challenges__desktop-break { display: none; }
  .challenges__factory { position: relative; width: calc(100% + 48px); margin: 18px -24px 0; opacity: .3; }
  .challenges__list { margin-top: 4px; }
  .challenges__item { grid-template-columns: 56px minmax(0, 1fr); gap: 20px; padding: 26px 0; }
  .challenges__number { margin-top: 3px; padding-left: 0; font-size: 40px; }
  .challenges__number::after { top: 8%; height: 84%; }
  .challenges__detail h3 { font-size: 19px; line-height: 1.5; letter-spacing: -.02em; }
  .challenges__detail p { margin-top: 8px; font-size: 14px; line-height: 1.85; letter-spacing: 0; }
}
@media (max-width: 359px) {
  .challenges__inner { padding-inline: 20px; }
  .challenges__item { grid-template-columns: 48px minmax(0, 1fr); gap: 16px; }
  .challenges__number { font-size: 34px; }
  .challenges__factory { width: calc(100% + 40px); margin-inline: -20px; }
}
