.service-gallery { display:flex; flex-direction:column; width:100%; height:640px; min-height:380px; min-width:0; max-width:100%; color:#3d5c46; container-type:inline-size; container-name:service-figures; }
.service-gallery__lanes { display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); gap:14px; flex:1 1 auto; min-height:0; min-width:0; }
.service-gallery__viewport { position:relative; min-width:0; min-height:0; overflow:hidden; padding:10px 0; border-radius:12px; background:linear-gradient(100deg,#f2f7e965,#f9fbf375 58%,#eef4e67a); touch-action:pan-y pinch-zoom; cursor:grab; outline-offset:-3px; }
.service-gallery__viewport:focus-visible { outline:2px solid #91af7c; }
.service-gallery__track { display:flex; align-items:center; gap:20px; width:max-content; height:100%; min-height:0; }
.service-gallery__cell { flex:0 0 auto; width:220px; height:260px; min-width:0; pointer-events:none; }
.service-gallery__paper { display:flex; flex-direction:column; width:100%; height:100%; margin:0; padding:6px; border:1px solid #dfe6d5; border-radius:3px 3px 8px 3px; background:#fffef9; box-shadow:0 5px 13px #354a3411; transform:rotate(-1.4deg); pointer-events:auto; }
.service-gallery__cell--1 .service-gallery__paper { transform:rotate(1.6deg); }
.service-gallery__cell--2 .service-gallery__paper { transform:rotate(-.8deg); }
.service-gallery__cell--3 .service-gallery__paper { transform:rotate(1deg); }
.service-gallery__paper .figure-image-viewport { display:block; flex:1 1 auto; min-height:0; width:100%; height:calc(100% - 60px); overflow:hidden; background:#fff; }
.service-gallery__paper .figure-image-viewport svg, .service-gallery__paper .figure-image-viewport img { display:block; width:100%; height:100%; object-fit:contain; }
.service-gallery__caption { display:flex; flex-direction:column; justify-content:center; gap:3px; flex:0 0 60px; min-height:60px; padding:5px 4px 1px; }
.service-gallery__title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:12px; line-height:1.5; color:#50674a; font-weight:550; }
.service-gallery__identity { display:block; font-size:10px; line-height:1.4; color:#8a967f; }
.service-gallery__footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; flex:0 0 auto; gap:8px; padding:10px 2px 0; min-height:48px; }
.service-gallery__status { color:#829175; font-size:10px; line-height:1.5; }
.service-gallery__controls { display:flex; align-items:center; gap:6px; }
.service-gallery__control { appearance:none; border:1px solid #dce6d2; background:#f8fbf2; color:#658052; font:inherit; font-size:11px; min-width:35px; min-height:35px; padding:5px 10px; border-radius:8px; cursor:pointer; }
.service-gallery__control:hover { background:#ecf4e1; border-color:#b7cba3; }
.service-gallery__control:focus-visible { outline:2px solid #8faa79; outline-offset:3px; }
.service-gallery__control:disabled { opacity:.45; cursor:default; }
.service-gallery--dragging .service-gallery__viewport { cursor:grabbing; }
.service-gallery--dragging .service-gallery__paper { user-select:none; }
.service-gallery__empty { color:#88977c; font-size:13px; padding:30px; }
.service-gallery--static .service-gallery__viewport { overflow-x:auto; }
.service-gallery--static .service-gallery__cell { width:240px; height:260px; }
@container service-figures (max-width:430px) {
  .service-gallery__track { gap:16px; }
  .service-gallery__title { font-size:12px; }
  .service-gallery__control { min-height:40px; min-width:40px; }
}
@media(max-width:600px) { .service-gallery { height:620px; } }
@media(prefers-reduced-motion:reduce) { .service-gallery__track { will-change:auto; } }
