/* Original About section design, mapped to the admitted shared family classes. */
.renew-about { --renew-about-side: 70px; background: #fdf9f1; color: #0d2f4c; font: 400 14px/normal system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
.renew-about > h1, .renew-about > section { box-sizing: border-box; width: 100%; max-width: none; margin-inline: auto; }
.renew-about-title { padding: 70px 40px 40px; margin: 0 0 10px; text-align: center; color: #29465e; font: 700 70px/normal Arial, sans-serif; }
.renew-about > section { padding: 80px var(--renew-about-side); border: 0; background: #fdf9f1; }
.renew-about-heading { margin: 0 0 24px; color: inherit; font-family: inherit; font-size: 2.4rem; font-weight: 700; line-height: normal; text-align: center; }
.renew-about h3 { margin: 0 0 8px; font: 700 1.25rem/normal system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
.renew-about p { margin: 0 0 20px; }
.renew-about .renew-about-intro { padding-block: 32px; }
.renew-about-pair { display: flex; flex-wrap: nowrap; max-width: 1200px; margin-inline: auto; gap: 48px; align-items: center; }
.renew-about-copy { flex: 1 1 460px; min-width: 0; }
.renew-about-copy .renew-about-heading { font-size: 2rem; margin-bottom: 20px; text-align: left; }
.renew-about-copy p { font-size: 1.1rem; line-height: 1.65; margin-bottom: 20px; }
.renew-about-image { flex: 0 0 380px; min-width: 0; margin: 0; border-radius: 8px; overflow: hidden; }
.renew-about-image img { display: block; width: 100%; height: auto; }
.renew-about > .renew-about-partners { background: #edf9f5; text-align: center; }
.renew-about > .renew-about-partners:has(+ .renew-about-reviews) { background: #c8f4ff; }
.renew-about-partners .renew-about-blurb { max-width: 70ch; margin: 0 auto 10px; font-size: 1.15rem; line-height: 1.7; }
.renew-about-logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 40px; margin-top: 50px; }
.renew-about-logos img { display: block; width: auto; max-width: 100%; height: 43px; object-fit: contain; opacity: .85; transition: opacity .3s, transform .3s; }
.renew-about-logos img:hover { opacity: 1; transform: translateY(-4px); }
.renew-about-mission { margin-bottom: 40px; }
.renew-about-inner { max-width: 1100px; margin-inline: auto; }
.renew-about-mission .renew-about-blurb { font-size: 1.2rem; line-height: 1.7; margin-bottom: 40px; }
.renew-about-values { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 28px; list-style: none; padding: 0; margin: 0; }
.renew-about-values li { min-width: 0; background: #fff; border-radius: 8px; padding: 28px; box-shadow: 0 4px 14px #0000000f; }
.renew-about-values p { font-size: 1rem; line-height: 1.6; margin: 0; }
.renew-about > .renew-about-how { background: #f5f5f5; }
.renew-about-how .renew-about-heading { font-size: 2.3rem; margin-bottom: 40px; }
.renew-about-steps { list-style: none; margin: 0 auto; max-width: 650px; padding: 0; border-left: 4px solid #0d2f4c; position: relative; }
.renew-about-steps li { padding: 22.4px 24px 22.4px 32px; position: relative; }
.renew-about-step-marker { position: absolute; left: -12px; top: 24.8px; width: 14px; height: 14px; background: #0d2f4c; border: 4px solid #fdf9f1; border-radius: 50%; }
.renew-about-steps h3 { margin-bottom: 7.2px; }
.renew-about-steps p { margin: 0; font-size: 1.05rem; line-height: 1.65; }
.renew-about-reviews .renew-about-heading { font-size: 2.3rem; margin-bottom: 48px; }
.renew-about-quotes { display: flex; flex-direction: column; gap: 40px; max-width: 820px; margin-inline: auto; }
.renew-about-quote { min-width: 0; background: #fff; border-radius: 12px; box-shadow: 0 4px 14px #00000014; padding: 32px; }
.renew-about-quote > header { font-weight: 600; margin-bottom: 16px; }
.renew-about-quote .renew-about-quote-body { font-size: 1.1rem; line-height: 1.7; margin: 0 0 22.4px; }
.renew-about-quote-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: .95rem; }
.renew-about-stars { color: #ffb457; letter-spacing: 2px; }
.renew-about-origin { overflow-wrap: anywhere; }
.renew-about > .renew-about-cta { background: linear-gradient(135deg, #ffbb66 0%, #ff7e5f 100%); color: #fdf9f1; text-align: center; }
.renew-about-cta .renew-about-heading { font-size: 2.6rem; margin: 0 0 16px; }
.renew-about-cta .renew-about-blurb { font-size: 1.25rem; margin: 0 0 35.2px; }
.renew-about a.renew-about-action { display: inline-block; box-sizing: border-box; max-width: 100%; background: #0d2f4c; color: #fdf9f1; padding: 16px 40px; border-radius: 50px; font-size: 1.15rem; font-weight: 600; text-decoration: none; transition: transform .3s; }
.renew-about a.renew-about-action:hover { transform: translateY(-3px); text-decoration: none; }
.renew-about a.renew-about-action:focus-visible { outline: 3px solid #0d2f4c; outline-offset: 5px; }
@media (min-width: 1200px) { .renew-about { --renew-about-side: 150px; } }
@media (min-width: 1300px) { .renew-about { --renew-about-side: 200px; } }
@media (max-width: 1000px) and (min-width: 769px) { .renew-about-image { flex-basis: 220px; } }
@media (max-width: 998px) {
  .renew-about { --renew-about-side: 35px; }
  .renew-about-title { font-size: 55px; }
  .renew-about-copy { flex-basis: 260px; }
  .renew-about > .renew-about-mission { padding-top: 20px; padding-bottom: 50px; }
  .renew-about-intro--opening .renew-about-image { order: -1; }
}
@media (min-width: 768px) and (max-width: 998px) { .renew-about { --renew-about-side: 80px; } }
@media (max-width: 768px) {
  .renew-about-pair { flex-direction: column; }
  .renew-about-copy { flex: 1 1 auto; max-width: 600px; }
  .renew-about-image { flex: 0 1 auto; width: 100%; }
}
@media (max-width: 640px) {
  .renew-about-steps { border-left-width: 2px; }
  .renew-about-step-marker { width: 10px; height: 10px; left: -8px; }
}
@media (max-width: 600px) {
  .renew-about-cta .renew-about-heading { font-size: 2.15rem; }
  .renew-about-cta .renew-about-blurb { font-size: 1.1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .renew-about-logos img, .renew-about a.renew-about-action { transition: none; }
}
