/* Homepage refinements: consistent feature icons, closed disclosures and contained cards. */
.home-mainmate .hero-chip:last-child { grid-column:auto!important; }
.home-mainmate .hero-chip { min-width:0; text-wrap:balance; }

/* The grid must fit its content container, not the wider viewport. */
#client-testimonials .home-testimonial-grid {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%!important; max-width:100%!important; margin-left:0!important; margin-right:0!important;
  box-sizing:border-box;
}
.home-testimonial-card { min-width:0; max-width:100%; box-sizing:border-box; overflow-wrap:anywhere; }
.home-testimonial-author { flex-wrap:wrap; }
.home-testimonial-author > div { min-width:0; }
.home-testimonial-author > div:last-child { max-width:100%; }
.home-testimonial-author > div:last-child > span { white-space:normal!important; display:inline-block; }
@media(max-width:768px) {
  #client-testimonials .home-testimonial-grid { grid-template-columns:minmax(0,1fr)!important; }
}

/* The same single 42px circle and 24px icon in every feature row. */
.preview-disclosure .solution-icon-wrapper,
.preview-disclosure .value-icon-wrapper {
  display:flex!important; align-items:center!important; justify-content:center!important;
  position:relative!important; width:42px!important; min-width:42px!important;
  height:42px!important; margin:0!important;
}
.preview-disclosure .solution-icon-circle,
.preview-disclosure .value-circle {
  width:42px!important; height:42px!important; position:absolute!important;
  inset:0!important; border-radius:50%!important;
}
.preview-disclosure .solution-icon,
.preview-disclosure .value-icon {
  position:relative!important; width:24px!important; height:24px!important;
  max-width:24px!important; object-fit:contain!important; margin:0!important;
}
.preview-disclosure { width:100%; border-top:1px solid #00000026; }
.preview-disclosure:last-child { border-bottom:1px solid #00000026; }
.preview-summary {
  display:grid; grid-template-columns:42px minmax(0,1fr) 26px;
  align-items:center; gap:20px; padding:19px 0;
  cursor:pointer; list-style:none;
}
.preview-summary::-webkit-details-marker { display:none; }
.preview-summary h3 { margin:0!important; }
.preview-summary:focus-visible { outline:2px solid #003d82; outline-offset:5px; }
.preview-toggle {
  display:flex; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:50%; background:#003d82;
  color:white; font-family:inherit; font-size:20px; font-weight:400; line-height:1; transition:transform .18s;
}
.preview-disclosure[open] .preview-toggle { transform:rotate(45deg); }
.preview-answer { padding:0 46px 22px 62px; }
.preview-answer .p { margin:0!important; padding:0!important; }
.preview-service-link { display:inline-block; margin-top:12px; color:#003d82; text-decoration:underline; text-underline-offset:3px; }

#preview-process .category-icon { width:28px!important; height:28px!important; max-width:28px!important; object-fit:contain!important; margin-right:10px!important; }
#preview-process .tab-title { gap:8px!important; }

/* Keep section headings, supporting copy, cards and actions in document flow. */
.preview-section:not(.home-mainmate) { height:auto!important; min-height:0; }
.preview-section > .title-wrapper {
  position:relative!important; inset:auto!important; transform:none!important;
  height:auto!important; min-height:0!important; margin-top:0!important;
  margin-bottom:36px!important; row-gap:12px!important;
}
.preview-section > .title-wrapper > * {
  position:relative!important; inset:auto!important; transform:none!important;
  margin-top:0!important; margin-bottom:0!important; height:auto;
}
.preview-section > .title-wrapper .p { max-width:850px; }
.preview-article-heading {
  display:flex!important; flex-wrap:wrap!important; align-items:center!important;
  justify-content:space-between!important; gap:20px 32px!important;
  margin:0 0 28px!important; min-height:44px; width:100%;
}
.preview-article-heading > .subheading { flex:1 1 200px; margin:0!important; }
.preview-article-heading .secondary-btn-wrapper {
  position:relative!important; inset:auto!important; transform:none!important;
  display:inline-flex!important; flex:0 0 auto; align-items:center!important;
  gap:16px!important; width:auto!important; height:auto!important; margin:0!important;
}
.preview-article-heading .btn-text { transform:none!important; white-space:nowrap; }
#preview-insights .softothemecontent.full-width { margin:0!important; }
#preview-case-studies > .softothemecontent.case-study { margin-top:0!important; margin-bottom:28px!important; }
.preview-section .secondary-btn-wrapper.abs {
  position:relative!important; inset:auto!important; transform:none!important;
  align-self:flex-start!important; margin:24px 0 0!important;
}
@media(max-width:767px) {
  .preview-summary { gap:14px; padding:16px 0; }
  .preview-answer { padding-left:0; padding-right:0; }
  .preview-section > .title-wrapper { width:100%!important; margin-bottom:28px!important; }
  .preview-article-heading { align-items:flex-start!important; gap:16px!important; }
  .preview-article-heading > .subheading { flex-basis:100%; }
}
