/* ==========================================================================
   Simitri HR — Solution detail (template: solution-detail). Wave 3G.
   Per-slug content is identical in structure, so all styling is generic.
   Composes shared classes; page-specific treatment only. Mobile-first;
   no horizontal scroll at 390px; reduced-motion inherits the global switch.
   ========================================================================== */

/* --- Hero ------------------------------------------------------------------ */
.solution-hero { padding-bottom: clamp(var(--sp-6), 5vw, var(--sp-8)); }
.solution-hero__title { max-width: 18ch; }
.solution-hero__lede { max-width: 58ch; margin-top: var(--sp-5); color: var(--text-2); }
.solution-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-4);
  margin-top: var(--sp-6);
}
@media (max-width: 480px) {
  .solution-hero__actions .btn { flex: 1 1 auto; justify-content: center; }
}
.solution-hero__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: var(--sp-8);
  align-items: center;
}
.solution-hero__photo {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius);
  box-shadow: 0 20px 40px -18px rgba(11, 74, 46, 0.3);
}
@media (max-width: 900px) {
  .solution-hero__grid { grid-template-columns: 1fr; gap: var(--sp-6); }
}

/* --- The challenge --------------------------------------------------------- */
.solution-challenge__body { max-width: 60ch; }
.solution-challenge__body p { color: var(--text-2); }

/* --- Our approach cards ---------------------------------------------------- */
.solution-approach__grid { list-style: none; margin: 0; padding: 0; }
.approach-card { background: var(--bg); }
.approach-card__index { color: var(--accent-deep); margin-bottom: var(--sp-3); }
.approach-card__title { font-size: var(--fs-h4); font-family: var(--font-display); margin-bottom: var(--sp-3); }
.approach-card p { color: var(--text-2); margin: 0; }

/* --- Outcomes -------------------------------------------------------------- */
.solution-outcomes__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(var(--sp-6), 5vw, var(--sp-9));
  align-items: start;
}
.solution-outcomes__head { position: sticky; top: calc(var(--header-h-stuck) + 24px); }
.solution-outcomes__head h2 { max-width: 16ch; }
.solution-outcomes__head p { color: var(--text-2); }
.outcomes-list { list-style: none; margin: 0; padding: 0; }
.outcomes-list__item {
  position: relative;
  padding: var(--sp-5) 0 var(--sp-5) var(--sp-7);
  border-top: 1px solid var(--border);
  max-width: 52ch;
}
.outcomes-list__item:last-child { border-bottom: 1px solid var(--border); }
.outcomes-list__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(var(--sp-5) + 0.55em);
  width: 14px;
  height: 3px;
  background: var(--accent-deep);
  border-radius: 2px;
}
@media (max-width: 720px) {
  .solution-outcomes__inner { grid-template-columns: 1fr; }
  .solution-outcomes__head { position: static; }
}

/* --- What's included ------------------------------------------------------- */
.included-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-4) var(--sp-6);
  max-width: 60rem;
}
.included-list__item {
  position: relative;
  padding-left: var(--sp-6);
  color: var(--text-2);
}
.included-list__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent-deep);
}
@media (max-width: 560px) { .included-list { grid-template-columns: 1fr; } }

/* --- FAQ (native details) -------------------------------------------------- */
.faq { max-width: 52rem; border-top: 1px solid var(--border); }
.faq__item summary { align-items: center; gap: var(--sp-5); }
.faq__q { font-size: var(--fs-h4); font-family: var(--font-display); margin: 0; }
.faq__item .accordion__body { padding-top: 0; padding-left: 0; }
.faq__a p { color: var(--text-2); margin: 0; max-width: 60ch; }
/* Slightly tighter FAQ rhythm than the homepage services accordion. */
.faq__item summary { padding-block: var(--sp-5); }

/* --- Related solutions ----------------------------------------------------- */
.related-list { list-style: none; margin: 0; padding: 0; }
.related-card { padding: 0; }
.related-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: clamp(var(--sp-5), 4vw, var(--sp-6));
  text-decoration: none;
  color: var(--text);
}
.related-card__title { font-size: var(--fs-h4); font-family: var(--font-display); margin-bottom: var(--sp-4); }
.related-card__cta { margin-top: auto; font-weight: 600; font-size: 0.95rem; color: var(--accent-deep); }
.related-card__link:hover .related-card__cta { color: var(--accent-deep-hover); }

/* --- CTA band -------------------------------------------------------------- */
.solution-cta__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-7);
}
.solution-cta__inner > div { max-width: 46rem; }
.solution-cta__inner h2 { max-width: 22ch; }
.solution-cta__inner .lede { color: var(--text-2-on-dark); }
.solution-cta__actions { display: flex; flex-wrap: wrap; gap: var(--sp-4); }
@media (max-width: 720px) {
  .solution-cta__actions { width: 100%; }
  .solution-cta__actions .btn { flex: 1 1 auto; justify-content: center; }
}
