/* Services: square cards with a hairline border — photo, condensed title, short description, primary text link. */
.ocf-svc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ocf-grid-gap); }

.ocf-svc-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: var(--card-border-width) solid var(--ocf-border);
    border-radius: var(--card-radius);
    background: var(--ocf-bg);
    color: var(--ocf-body);
}

.ocf-svc-card:hover { border-color: var(--ocf-heading); }

.ocf-svc-card-img { width: 100%; height: var(--ocf-service-image-height); object-fit: cover; }

.ocf-svc-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: calc(var(--ocf-space-unit) * 0.625);
    min-height: var(--ocf-service-card-body-height);
    padding: calc(var(--ocf-space-unit) * 1.625) calc(var(--ocf-space-unit) * 1.625) calc(var(--ocf-space-unit) * 1.75);
}

.ocf-svc-card-body h3 { color: var(--ocf-heading); }

.ocf-svc-card-body p {
    color: var(--ocf-body);
    font-size: calc(var(--font-body-size) * 0.889);
    line-height: 1.625;
}

.ocf-svc-card-body .ocf-text-link { margin-top: auto; padding-top: calc(var(--ocf-space-unit) * 0.25); }


.ocf-services-archive { background: var(--cardinal-bg-alt); }

.ocf-catalog-help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--ocf-grid-gap) * 0.75);
    margin-bottom: var(--ocf-grid-gap);
    padding: calc(var(--ocf-grid-gap) * 0.875) var(--ocf-grid-gap);
    background: var(--cardinal-band);
    color: var(--ocf-heading-alt);
}

.ocf-catalog-help a { color: inherit; }
.ocf-catalog-help a:hover { color: inherit; text-decoration: underline; }

@media (max-width: 1000px) { .ocf-svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (max-width: 600px) {
    .ocf-svc-grid { grid-template-columns: 1fr; }
    .ocf-svc-card-body { min-height: 0; }
    .ocf-catalog-help { flex-direction: column; align-items: start; }
}

/* OCF_AGENT_BLOCK:home-services-grid-responsive START */
@media (max-width: 1100px) {
  .ocf-home-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .ocf-home-services-grid { grid-template-columns: 1fr; }
}
/* OCF_AGENT_BLOCK:home-services-grid-responsive END */
