.public-services-section { padding: 40px 0; background: var(--background); color: var(--text); scroll-margin-top: 100px; }
.public-services-controls { display: flex; gap: 10px; }
.public-service-arrow { width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 50%; background: transparent; color: var(--text); transition: opacity .2s; }
.public-service-arrow:disabled { opacity: .25; cursor: default; }
.public-services-track.is-automatic { scroll-snap-type: none; scrollbar-width: none; scroll-behavior: auto; }
.public-services-track.is-automatic::-webkit-scrollbar { display: none; }
.public-service-arrow:focus-visible, .public-services-track:focus-visible { outline: 3px solid var(--secondary); outline-offset: 4px; }
.public-services-track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--secondary) transparent; padding: 4px 0 12px; }
.public-service-card { flex: 0 0 calc((100% - 54px) / 4); min-width: 0; scroll-snap-align: start; overflow: hidden; border: 1px solid #80808025; border-radius: 10px; background: var(--background); }
.public-service-card > img, .public-service-placeholder { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; height: auto; }
.public-service-placeholder { display: grid; place-items: center; background: var(--primary); color: var(--secondary); font-size: 34px; }
.public-service-copy { padding: 16px; }
.public-service-copy h3 { margin: 0 0 6px; color: var(--text); font-size: 17px; font-weight: 600; }
.public-service-copy p { margin: 0; font-size: 12px; line-height: 1.6; min-height: 38px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; opacity: .75; overflow-wrap: anywhere; }
.public-service-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #80808025; font-size: 11px; }
.public-service-meta strong { font-size: 15px; font-weight: 600; }
@media (max-width: 991px) { .public-service-card { flex-basis: calc((100% - 18px) / 2); } }
@media (max-width: 575px) { .public-services-section { padding: 28px 0; } .public-service-card { flex-basis: 78%; } .public-services-track { gap: 16px; } .public-service-copy { padding: 16px; } }

.public-services-section .public-section-head { gap: 16px; margin-bottom: 22px; }
.public-services-section .public-section-head h2 { margin: 6px 0 8px; font-size: clamp(24px, 2.5vw, 34px); line-height: 1.2; font-weight: 650; letter-spacing: -.6px; }
.public-services-section .public-section-head p { margin-bottom: 6px; font-size: 10px; }
.public-services-section .public-section-head span { font-size: 12px; }
@media (min-width: 992px) and (max-width: 1199px) { .public-service-card { flex-basis: calc((100% - 36px) / 3); } }
