:root{
  --ch-max: 1220px;
  --ch-pad: clamp(16px, 4vw, 48px);
  --ch-blue: #3563ff;
  --ink: #0b0d14;
  --muted: #1a2135;
}

/* Section shell */
.challenges{ background: #fff; color: #0f1222; }
.ch__wrap{
  max-width: var(--ch-max);
  margin: 0 auto;
  padding: clamp(28px, 6vw, 72px) var(--ch-pad);
}

/* Header */
.ch__head{ 
    margin-bottom: clamp(24px, 5vw, 56px); 
}

.ch__title{
  margin: 0 0 10px;
  font-weight: 800;
  font-size: clamp(30px, 5.2vw, 35px);
  line-height: 1.06;
  color: var(--ch-blue);
}

.ch__subtitle{
  margin: 0;
  font-size: clamp(16px, 2vw, 20px);
  color: #0f1222;
  font-family: sans-serif;
  line-height: 30px;
}

/* GRID: 2x2 -> 1xN */
.ch__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, auto));
  gap: clamp(80px, 3vw, 40px);
}
@media (max-width: 900px){
  .ch__grid{ grid-template-columns: 1fr; }
}

/* ITEM: media on left, text on right; vertically centered */
.ch-item{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(16px, 3vw, 20px);
  align-items: center;
}

/* Icon block */
.ch-item__media{
  display: grid;
  place-items: center;
}
.ch-item__media img{
  width: clamp(92px, 12vw, 160px);
  height: auto;
  display: block;
}

/* Text block */
.ch-item__content{
     align-self: center; 
}

.ch-item__title{
  margin: 0 0 8px;
  font-weight: 800;
  color: var(--ch-blue);
  font-size: clamp(20px, 2.6vw, 25px);
  line-height: 1.14;
  font-family: sans-serif;
}
.ch-item__text{
  margin: 0;
  font-size: clamp(16px, 1.8vw, 19px);
  font-family: sans-serif;
  line-height: 1.7;
  color: #0f1222;
}

/* Stack inside each item on very small screens */
@media (max-width: 600px){

  .ch__grid{
    display: grid;
    grid-template-columns: auto;
    /* gap: clamp(80px, 3vw, 40px); */
    gap: 40px;
  }
  .ch__subtitle{

    font-size: 16px;
    color: #0f1222;
    font-family: sans-serif;
    line-height: 28px;
  }
  .ch-item{
    grid-template-columns: auto 1fr;
    justify-items: start;
  }
  .ch-item__media{
    place-items: start;
  }
  .ch-item__media img{
    width: clamp(84px, 24vw, 120px);
  }
  .ch-item__text{
    font-size: 15px;
  }
}

/* Subtle reveal (optional) */
[data-reveal]{ opacity: 0; transform: translateY(14px);
  transition: opacity .5s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-in{ opacity: 1; transform: none; }
