.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;width:100%;}
.promo-card{position:relative;overflow:hidden;aspect-ratio:1/1;display:flex;height:auto;}
.promo-card img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1);transition:transform .4s ease;}
.promo-card:hover img{transform:scale(1.06);}
.promo-info{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:2.5rem;background:linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 40%, rgba(0,0,0,0) 70%);font-family:inherit;}
.promo-title{color:#fff;font-size:clamp(1.5rem,2.2vw,2.25rem);margin:0 0 .25rem;font-weight:600;}
.promo-sub{color:#fff;font-size:clamp(.9rem,1.15vw,1rem);line-height:1.4;min-height:2.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 1.25rem;}
.promo-btn{align-self:stretch;width:100%;padding:.9rem 1.8rem;font-size:1rem;font-weight:600;text-align:center;background:transparent;border:2px solid #fff;border-radius:.8rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);cursor:pointer;text-decoration:none;transition:background .25s ease,color .25s ease;}
.promo-btn:hover{background:#fff;color:#000;text-shadow:none;}
@media(max-width:767px){
.promo-grid{--promo-gap:1rem;display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;gap:var(--promo-gap);padding-inline:var(--promo-gap);scroll-padding-left:var(--promo-gap);-ms-overflow-style:none;scrollbar-width:none;}
.promo-grid::-webkit-scrollbar{display:none;}
.promo-card{flex:0 0 85vw;aspect-ratio:1/1;scroll-snap-align:start;border-radius:.6rem;}
} .visually-hidden{
position:absolute!important;
width:1px;height:1px;
padding:0;margin:-1px;
overflow:hidden;
clip:rect(0 0 0 0);
white-space:nowrap;border:0;
}