/* Shared section rhythm for reusable sections across all pages. */
.os-page > .os-section:nth-of-type(odd),
.os-page > .os-faq-band:nth-of-type(odd) { background-color: #f4f7ff; }
.os-page > .os-section:nth-of-type(even),
.os-page > .os-faq-band:nth-of-type(even) { background-color: #fff; }

/* Keep the Industries We Serve section consistent wherever it appears. */
.os-industries { background: #f4f7ff; }
.os-industry-grid { gap: 14px; border: 0; border-radius: 0; overflow: visible; }
.os-industry-card { padding: 28px; border: 1px solid #e1e7f3; border-radius: 15px; background: #ffffffd9; box-shadow: none; }
.os-industry-card:hover { border-color: #bbc9e5; background: #fff; box-shadow: 0 12px 32px rgba(2, 2, 106, .06); }
.os-industry-card .os-industry-icon { width: 50px; height: 50px; border: 1px solid #e1e7f3; background: #edf2ff; margin-bottom: 24px; }
.os-industry-card:nth-child(3n + 2) .os-industry-icon { background: #eef4fb; border-color: #dfe8f3; }
.os-industry-card:nth-child(3n) .os-industry-icon { background: #f7eef5; border-color: #eee0eb; }
.os-industry-card h3 { font-size: 18px; }
.os-industries-footer { padding: 24px 0 0; margin-top: 10px; }

/* FAQ section follows the clean, spacious homepage presentation. */
.os-faq-band { background: #fff; }
.os-faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 7vw, 100px); align-items: start; }
.os-faq-layout > div:first-child { position: relative; padding: 32px; background: radial-gradient(ellipse at 0 0, #edf2ff, transparent 70%), #f8faff; border: 1px solid #e1e7f3; border-radius: 20px; }
.os-faq-layout h2 { font-size: clamp(32px, 3vw, 44px); }
.os-faq-band .os-faq { border-top: 0; }
.os-faq-band .os-faq details,
.os-faq-band .os-faq details:first-child { padding: 24px 20px; margin: 0 0 12px; background: #fff; border: 1px solid rgba(2, 2, 106, .09); border-radius: 12px; }
.os-faq-band .os-faq details[open] { border-color: rgba(2, 2, 106, .24); background: #fbfcff; }
.os-faq-band .os-faq summary { display: flex; align-items: baseline; gap: 15px; font-size: 15px; }
.os-faq-band .os-faq details p { margin: 14px 0 0; }

@media (max-width: 800px) {
  .os-faq-layout { grid-template-columns: 1fr; gap: 30px; }
  .os-faq-layout > div:first-child { padding: 28px; }
}
@media (max-width: 520px) {
  .os-industry-card { padding: 22px 18px; border-radius: 13px; }
  .os-industry-card .os-industry-icon { width: 44px; height: 44px; margin-bottom: 18px; }
  .os-faq-band .os-faq details,
  .os-faq-band .os-faq details:first-child { padding: 20px 16px; }
}
