.oc-services, .oc-services * { box-sizing: border-box; }
.oc-services { color: #1b3560; font-family: Roboto, Arial, sans-serif; padding: 48px 0; }
.oc-services__container { width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 15px; }
.oc-services .oc-services__heading { margin: 0 0 32px; color: #1b3560; font: 700 clamp(28px, 4vw, 36px)/1.2 Roboto, Arial, sans-serif; text-align: center; }
.oc-services .oc-services__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; padding: 1px 0 0 1px; list-style: none; background: transparent; }
.oc-services .oc-services__card { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; min-width: 0; min-height: 300px; margin: -1px 0 0 -1px; border: 1px solid #e5e5e5; padding: 40px 20px; background: #fff; text-align: center; }
.oc-services--directions .oc-services__card::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: #ff0000; }
.oc-services .oc-services__icon { display: block; flex: 0 0 auto; width: 68px; max-width: 100%; margin: 0; object-fit: contain; }
.oc-services .oc-services__caption { display: flex; align-items: flex-start; justify-content: center; min-height: 52px; max-width: 25ch; margin: 0; color: #0066e6; font: 700 18px/1.45 Roboto, Arial, sans-serif; text-transform: uppercase; text-wrap: balance; overflow-wrap: break-word; }
.oc-services ::selection { color: #fff; background: #1b3560; }
@media (min-width: 576px) { .oc-services .oc-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { .oc-services .oc-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .oc-services .oc-services__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 575px) { .oc-services { padding: 28px 0; } .oc-services .oc-services__card { min-height: 260px; padding: 32px 20px; } }
