/* ==========================================================================
   06 — The Problem We Solve (Elementor id d4f0dca)
   Measured: desktop 1440x1008 · tablet 768x1102 · mobile 390x1219.
   Photographic background + dark scrim, four alternating glass cards
   (odd cards flush left + 20px, even cards flush right) and a light
   summary pill that bleeds 15px past the section edge. Static, no JS.
   ========================================================================== */

.s-problem {
  padding: 0 5px;
  background-image: url(../../../assets/img/2026/02/diverse-craftsmen-standing-and-discussing-issues-o-2026-01-07-01-24-49-utc-scaled.jpg.webp);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  color: var(--c-white);
  overflow: visible;
  isolation: isolate;
}

/* dark scrim over the photograph */
.s-problem::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--c-black-75);
  pointer-events: none;
  z-index: -1;
}

.s-problem__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-top: 50px;
}

/* ---- Intro block ---------------------------------------------------- */

.s-problem__eyebrow {
  font-family: var(--f-display);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3em;
  color: var(--c-white);
}

.s-problem__title {
  font-family: var(--f-display);
  font-size: 50px;
  font-weight: 400;
  line-height: 1.3em;
  color: var(--c-white);
  margin-bottom: 9.5px;
}

.s-problem__lead {
  font-family: var(--f-body);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5em;
  color: var(--c-white);
}

.s-problem__lead b { font-weight: 700; }

/* ---- Problem cards --------------------------------------------------- */

.s-problem__card {
  display: flex;
  flex-direction: column;
  width: 90%;
  padding: 10px;
  border: 1px solid var(--c-white-12);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.045);
  box-shadow: 0 19px 26px 1px rgba(0, 0, 0, 0.78);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  overflow: hidden;
  transition: background var(--dur), border var(--dur), box-shadow var(--dur),
    transform var(--dur-slow);
}

.s-problem__card--start {
  margin-right: auto;
  margin-left: 20px;
}

.s-problem__card--end {
  margin-left: auto;
  margin-right: 0;
}

.s-problem__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  padding: 5px 7px;
  border-radius: 12px;
  background: var(--c-navy);
}

.s-problem__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 20px;
}

.s-problem__icon svg {
  width: 100%;
  height: auto;
  fill: var(--c-white);
}

.s-problem__card-title {
  font-family: var(--f-display);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.1em;
  color: var(--c-white);
  white-space: nowrap;
}

.s-problem__card-body { padding-top: 10px; }

.s-problem__card-sub {
  font-family: var(--f-display);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: 0.5px;
  color: var(--c-white);
  margin-bottom: 9px;
}

.s-problem__card-body p {
  font-family: var(--f-body);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5em;
  color: rgba(255, 255, 255, 0.85);
}

/* ---- Closing summary pill -------------------------------------------- */

.s-problem__callout {
  width: 80%;
  margin: 50px auto -15px;
  padding: 10px;
  border: 1px solid var(--c-white-12);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.71);
  box-shadow: 0 5px 26px 1px rgba(0, 0, 0, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  text-align: center;
  transition: background var(--dur), border var(--dur), box-shadow var(--dur),
    transform var(--dur-slow);
}

.s-problem__callout p {
  font-family: var(--f-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5em;
  color: var(--c-text);
}

.s-problem__callout b { font-weight: 700; }

/* ---- Tablet 768–1024 -------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1024px) {
  .s-problem__card-title { white-space: normal; }
}

/* ---- Mobile <=767 ----------------------------------------------------- */

@media (max-width: 767px) {
  .s-problem__inner {
    align-items: center;
    text-align: center;
  }

  .s-problem__eyebrow,
  .s-problem__title,
  .s-problem__lead { text-align: center; }

  .s-problem__title {
    font-size: 28px;
    margin-bottom: 6px;
  }

  .s-problem__card,
  .s-problem__card--start,
  .s-problem__card--end {
    width: 90%;
    margin-inline: auto;
    text-align: center;
  }

  .s-problem__badge { align-self: center; }

  .s-problem__card-title {
    font-size: 14px;
    white-space: normal;
  }

  .s-problem__icon { width: 16px; }

  .s-problem__card-sub {
    font-size: 18px;
    letter-spacing: 0.3px;
  }

  .s-problem__card-body p { font-size: 13px; }

  .s-problem__callout { width: 80%; }
}
