.w3s-image-panels { --w3s-panels-gap: 10px; min-width: 0; }
.w3s-image-panels * { box-sizing: border-box; }
.w3s-panels-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--w3s-panels-gap); }
.w3s-panels-slide { min-width: 0; position: relative; }
.w3s-panels-card { position: relative; display: block; height: 100%; min-height: 345px; overflow: hidden; border-radius: var(--wd-brd-radius); background: #292622; color: #fff; text-decoration: none; isolation: isolate; }
.w3s-panels-card:hover { color: #fff; }
.w3s-panels-card::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.4), transparent 55%, rgba(0,0,0,.6)); }
.w3s-image-panels .w3s-panels-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.w3s-panels-copy { position: relative; z-index: 2; padding: 24px 20px 90px; pointer-events: none; }
.w3s-panels-eyebrow { display: block; margin-bottom: 6px; font-size: 10px; letter-spacing: .3em; }
.w3s-image-panels .w3s-panels-title { margin: 0; font-size: clamp(22px, 2.5vw, 34px); font-weight: 500; line-height: 1.15; color: #fff; overflow-wrap: anywhere; }
.w3s-panels-description { max-width: 24ch; margin: 10px 0 0; font-size: 13px; line-height: 1.5; white-space: pre-line; }
.w3s-panels-cta { position: absolute; z-index: 2; bottom: 18px; left: 20px; right: 16px; display: flex; align-items: center; gap: 10px; font-size: 12px; }
.w3s-panels-arrow { display: inline-block; flex: 0 0 auto; border: 0; border-radius: 0; font-size: 22px; line-height: 1; }
.w3s-panels-card:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
.w3s-panels-scrollbar { display: none; }
@media (min-width: 1025px) {
 .w3s-panels-mosaic .w3s-panels-track { grid-template-columns: minmax(0, 3fr) repeat(2, minmax(0, 2fr)); grid-template-rows: repeat(2, minmax(325px, auto)); }
 .w3s-panels-mosaic .w3s-panels-slide:first-child { grid-column: 1; grid-row: 1 / span 2; }
 .w3s-panels-mosaic .w3s-panels-card { min-height: 325px; }
 .w3s-panels-mosaic .w3s-panels-slide:first-child .w3s-panels-copy { padding: 36px 32px 90px; }
 .w3s-panels-mosaic .w3s-panels-slide:first-child .w3s-panels-title { font-size: clamp(36px, 4vw, 56px); }
}
@media (max-width: 1024px) {
 .w3s-panels-viewport { overflow: hidden; position: relative; touch-action: pan-y; }
 .w3s-panels-track { display: flex; gap: 0; position: relative; width: 100%; height: 100%; transition-property: transform; box-sizing: content-box; }
 .w3s-panels-slide { flex-shrink: 0; width: calc((100% - 7px) / 1.7); height: auto; }
 .w3s-panels-card { height: auto; min-height: 0; aspect-ratio: 4 / 3; }
 .w3s-panels-copy { position: absolute; top: 0; left: 0; right: 0; bottom: 46px; padding: 12px 12px 0; overflow: hidden; }
 .w3s-image-panels .w3s-panels-title { font-size: clamp(20px, 4vw, 28px); }
 .w3s-panels-description { font-size: 12px; }
 .w3s-panels-cta { left: 12px; bottom: 14px; gap: 7px; font-size: 11px; }
 .w3s-panels-scrollbar { display: block; position: relative; height: 4px; margin-top: 16px; background: rgba(0,0,0,.12); border-radius: 4px; touch-action: none; }
 .w3s-panels-scrollbar-drag { height: 100%; background: rgba(0,0,0,.55); border-radius: inherit; cursor: grab; }
 .w3s-panels-scrollbar.w3s-panels-lock { display: none; }
 .w3s-image-panels:not(.w3s-panels-active) .w3s-panels-viewport { overflow-x: auto; }
 .w3s-image-panels:not(.w3s-panels-active) .w3s-panels-track { gap: 10px; }
 .w3s-image-panels:not(.w3s-panels-active) .w3s-panels-scrollbar { display: none; }
}
@media (min-width: 480px) and (max-width: 767px) { .w3s-panels-slide { width: calc((100% - 10px) / 2); } }
@media (min-width: 768px) and (max-width: 1024px) { .w3s-panels-slide { width: calc((100% - 20px) / 3); } }
.w3s-panels-cta > span { font-size: 15px; }

@media (min-width: 1025px) and (hover: hover) and (prefers-reduced-motion: no-preference) {
 .w3s-image-panels .w3s-panels-image { transition: transform .45s ease; }
 .w3s-panels-card:hover .w3s-panels-image { transform: scale(1.04); }
}
