.cpis-photo-departments{margin:30px 0 12px;color:#173047}
.cpis-photo-departments__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
.cpis-photo-departments__header h2{margin:0;font-size:clamp(22px,2.2vw,30px);line-height:1.25;font-weight:700;letter-spacing:-.02em;color:inherit}
cpis-department-rail{display:block;min-width:0}
.cpis-photo-departments__grid{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:flex-start;gap:24px;list-style:none;padding:4px 4px 12px;margin:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:4px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9ebdc2 #f0f5f6;-webkit-overflow-scrolling:touch}
.cpis-photo-departments__grid:focus-visible{outline:2px solid #007580;outline-offset:4px;border-radius:8px}
.cpis-photo-departments__item{flex:0 0 144px;min-width:0;margin:0;padding:0;scroll-snap-align:start}
.cpis-photo-departments__link{display:flex;flex-direction:column;align-items:center;gap:12px;padding:4px 2px 8px;text-align:center;text-decoration:none;color:#173047;border-radius:12px;min-height:44px}
.cpis-photo-departments__photo{display:flex;align-items:center;justify-content:center;flex:none;width:128px;max-width:100%;aspect-ratio:1;border:1px solid #d8e5e8;border-radius:50%;overflow:hidden;background:#f3f6f6;transition:border-color .15s ease,box-shadow .15s ease}
.cpis-photo-departments__photo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.cpis-photo-departments__photo svg{width:45%;height:45%;color:#007580}
.cpis-photo-departments__label{max-width:18ch;min-height:2.8em;font-size:15px;font-weight:600;line-height:1.4;overflow-wrap:break-word}
.cpis-photo-departments__link:hover{color:#006a74}
.cpis-photo-departments__link:hover .cpis-photo-departments__photo{border-color:#007580;box-shadow:0 0 0 3px #e6f4f5}
.cpis-photo-departments__link:focus-visible{outline:3px solid #007580;outline-offset:3px}
.cpis-photo-departments__controls{display:flex;align-items:center;gap:8px;flex:none}
.cpis-photo-departments__controls[hidden]{display:none!important}
.cpis-photo-departments__controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #c9dde0;border-radius:50%;background:#fff;color:#006a74;font-size:28px;line-height:1;cursor:pointer}
.cpis-photo-departments__controls button:disabled{opacity:.35;cursor:default}
.cpis-photo-departments__controls button:focus-visible{outline:3px solid #007580;outline-offset:2px}
@media(max-width:999px){.cpis-photo-departments__grid{gap:18px}.cpis-photo-departments__item{flex-basis:124px}.cpis-photo-departments__photo{width:112px}.cpis-photo-departments__label{font-size:14px}}
@media(max-width:649px){.cpis-photo-departments{margin:24px 0 8px}.cpis-photo-departments__header{margin-bottom:16px}.cpis-photo-departments__grid{gap:12px}.cpis-photo-departments__item{flex-basis:90px}.cpis-photo-departments__photo{width:80px}.cpis-photo-departments__link{gap:9px;padding:3px 0 6px}.cpis-photo-departments__label{font-size:13px;line-height:1.35;min-height:2.7em}.cpis-photo-departments__controls{display:none}}
@media(prefers-reduced-motion:reduce){.cpis-photo-departments__photo{transition:none}}

.cpis-photo-departments__viewport{position:relative;padding-inline:52px}
.cpis-photo-departments__grid{scrollbar-width:none;-ms-overflow-style:none}
.cpis-photo-departments__grid::-webkit-scrollbar{display:none;width:0;height:0}
.cpis-photo-departments__viewport .cpis-photo-departments__controls{position:absolute;inset:0;display:block;pointer-events:none}
.cpis-photo-departments__viewport .cpis-photo-departments__controls button{position:absolute;top:48px;pointer-events:auto;z-index:1;background:#fff;box-shadow:0 2px 8px #1730470d}
.cpis-photo-departments__viewport [data-departments-prev]{left:0}
.cpis-photo-departments__viewport [data-departments-next]{right:0}
@media(max-width:999px){.cpis-photo-departments__viewport .cpis-photo-departments__controls button{top:40px}}
@media(max-width:649px){.cpis-photo-departments__viewport{padding-inline:40px}.cpis-photo-departments__viewport .cpis-photo-departments__controls{display:block}.cpis-photo-departments__viewport .cpis-photo-departments__controls button{top:24px;width:40px;height:44px}.cpis-photo-departments__viewport [data-departments-prev]{left:-4px}.cpis-photo-departments__viewport [data-departments-next]{right:-4px}}
