.key-gallery-section { background: linear-gradient(180deg,#e8f5fc 0%,#f6f9fb 100%); padding: 54px 0 58px; }
.key-gallery-section .section-head { max-width: 850px; margin: 0 auto 20px; text-align: center; }
.key-gallery-section .section-head h2 { color: #10253d; }
.key-carousel-controls { display: flex; justify-content: center; align-items: center; gap: 16px; color: #42637b; font-size: 13px; font-weight: 750; margin: 8px 0 17px; }
.key-gallery-arrow { width: 44px; height: 44px; border: 1px solid #afcada; border-radius: 50%; color: #0d2b46; background: #fff; font-size: 23px; font-weight: 850; cursor: pointer; box-shadow: 0 4px 14px #10253d15; }
.key-gallery-arrow:hover,.key-gallery-arrow:focus-visible { background: #ffc842; border-color: #ffc842; outline-offset: 2px; }
.key-gallery-track { display: flex; overflow-x: auto; gap: 17px; padding: 5px 5px 17px; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-color: #86b2ce #dce9f1; -webkit-overflow-scrolling: touch; }
.key-gallery-slide { scroll-snap-align: start; flex: 0 0 calc((100% - 153px)/10); min-width: 0; margin: 0; border: 1px solid #d4e2eb; border-radius: 12px; background: #fff; overflow: hidden; box-shadow: 0 11px 27px #10253d16; }
.key-gallery-slide picture { display: block; width: 100%; aspect-ratio: 1 / 1; background: #e9e6df; overflow: hidden; }
.key-gallery-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.16); }
.key-gallery-slide figcaption { padding: 9px 6px 11px; color: #14273b; font-size: 11px; font-weight: 800; line-height: 1.35; text-align: center; }
.key-gallery-footer { text-align: center; margin-top: 20px; }
.key-gallery-footer p { color: #4a6578; font-size: 14px; line-height: 1.6; }
.key-gallery-cta { display: inline-block; margin-top: 5px; padding: 13px 19px; border-radius: 9px; background: #102e4a; color: #fff; font-weight: 850; text-decoration: none; }
.key-gallery-cta:hover,.key-gallery-cta:focus-visible { background: #087eb8; color: white; }
@media (max-width: 850px) { .key-gallery-slide { flex-basis: calc((100% - 85px)/6); } }
@media (max-width: 560px) { .key-gallery-section { padding: 38px 0; } .key-gallery-slide { flex-basis: calc((100% - 36px)/4); } .key-gallery-slide figcaption { font-size: 10px; padding: 7px 4px 9px; } .key-carousel-controls { gap: 10px; } .key-gallery-track { gap: 12px; } }
@media (prefers-reduced-motion: reduce) { .key-gallery-track { scroll-behavior: auto; } }
