.l-main {
  width: 100%;
  max-width: none;
  margin: 0;
  overflow-x: clip;
}

.l-main__inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-right: 0;
  padding-left: 0;
}

.sol-trust-bar,
.sol-phase1-intro,
.case-section {
  width: 100%;
}

.case-group + .case-group {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid rgba(15, 95, 48, .12);
}

.case-group__title {
  margin: 0 0 1rem;
  color: #111;
  font-size: clamp(1.35rem, 3vw, 1.8rem);
  line-height: 1.45;
  text-align: center;
}

.case-group__title strong {
  color: #d86100;
}

.case-group__note {
  margin: -.25rem auto 1.25rem;
  color: #4a5568;
  font-size: .9rem;
  line-height: 1.7;
  text-align: center;
}

.sol-phase1-intro {
  padding: 2.75rem 1.25rem 3rem;
  background: #fff;
  border-bottom: 1px solid rgba(17, 17, 17, .08);
}

.sol-phase1-intro__inner {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.sol-phase1-intro__lead {
  max-width: 760px;
  margin: 0 auto 2rem;
  text-align: center;
}

.sol-phase1-intro__eyebrow {
  margin: 0 0 .7rem;
  color: #d86100;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.sol-phase1-intro__title {
  margin: 0 0 .9rem;
  color: #111;
  font-size: clamp(1.5rem, 4vw, 2.2rem);
  line-height: 1.45;
  font-weight: 900;
}

.sol-phase1-intro__text {
  margin: 0;
  color: #4a5568;
  font-size: .98rem;
  line-height: 1.9;
}

.sol-phase1-intro__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
}

.sol-phase1-intro__item {
  padding: 1.25rem 1.2rem;
  border: 1px solid rgba(216, 97, 0, .16);
  border-radius: 8px;
  background: #fffaf5;
}

.sol-phase1-intro__number {
  display: block;
  margin-bottom: .55rem;
  color: #d86100;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.sol-phase1-intro__item h3 {
  margin: 0 0 .55rem;
  color: #111;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 800;
}

.sol-phase1-intro__item p {
  margin: 0;
  color: #4a5568;
  font-size: .88rem;
  line-height: 1.75;
}

.sol-phase1-intro__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  margin-top: 1.75rem;
}

.sol-phase1-intro__button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .75rem 1.15rem;
  border: 1px solid #d86100;
  border-radius: 999px;
  color: #b55000;
  background: #fff;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1.4;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
  touch-action: manipulation;
}

.sol-phase1-intro__button:hover,
.sol-phase1-intro__button:focus-visible {
  color: #fff;
  background: #d86100;
  transform: translateY(-1px);
}

.sol-phase1-intro__button--primary {
  color: #fff;
  background: #d86100;
  box-shadow: 0 8px 18px rgba(216, 97, 0, .18);
}

.sol-phase1-intro__button--primary:hover,
.sol-phase1-intro__button--primary:focus-visible {
  color: #fff;
  background: #b55000;
}

.sol-phase1-intro__link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: .5rem .35rem;
  color: #087f3f;
  font-size: .88rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: .2em;
}

@media (max-width: 760px) {
  .sol-phase1-intro {
    padding: 2.25rem 1rem 2.5rem;
  }

  .sol-phase1-intro__lead {
    margin-bottom: 1.5rem;
    text-align: left;
  }

  .sol-phase1-intro__title {
    font-size: 1.45rem;
  }

  .sol-phase1-intro__text {
    font-size: .92rem;
  }

  .sol-phase1-intro__grid {
    grid-template-columns: 1fr;
    gap: .65rem;
  }

  .sol-phase1-intro__item {
    display: grid;
    grid-template-columns: 2.2rem 1fr;
    column-gap: .6rem;
    padding: 1rem;
  }

  .sol-phase1-intro__number {
    grid-row: span 2;
    margin: .12rem 0 0;
  }

  .sol-phase1-intro__item h3,
  .sol-phase1-intro__item p {
    grid-column: 2;
  }

  .sol-phase1-intro__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .6rem;
    margin-top: 1.35rem;
  }

  .sol-phase1-intro__button {
    width: 100%;
    padding: .7rem .55rem;
    font-size: .8rem;
  }

  .sol-phase1-intro__button--primary {
    grid-column: 1 / -1;
  }

  .sol-phase1-intro__link {
    grid-column: 1 / -1;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sol-phase1-intro__button {
    transition: none;
  }
}
