.cards-section{margin:0;min-height:auto;display:flex;align-items:flex-start;justify-content:center;padding:0 1rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111;overflow-x:hidden}.cards-shell{width:100%;max-width:1200px}.cards{display:flex;flex-wrap:nowrap;width:min(1170px,100%);height:400px;overflow:hidden;border-radius:1rem;box-shadow:0 26px 70px #00000073,0 0 0 1px #ffffff80;white-space:nowrap;z-index:2;margin:0 auto}.card{flex:1 1 0;min-width:0;height:100%;aspect-ratio:4 / 3;cursor:pointer;transition:flex .5s ease;overflow:hidden;position:relative;will-change:flex;isolation:isolate}.card:hover{flex:3;box-shadow:0 0 15px #000000b3}.card a{display:block;width:100%;height:100%;text-decoration:none;color:inherit;position:relative}.card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease;filter:grayscale(100%);will-change:transform,filter;background:linear-gradient(90deg,#333 25%,#444,#333 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card:hover img{transform:scale(1.2);filter:grayscale(0%)}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent 50%);opacity:0;transition:opacity .3s ease;z-index:1;pointer-events:none}.card:hover:after{opacity:1}.cards-section .card .card-title,.cards-section .card h2.card-title{position:absolute;top:50%;left:50%;width:calc(100% - 2rem);max-width:220px;transform:translate(-50%,-50%);background:#000000b3;color:#fff!important;-webkit-text-fill-color:#ffffff!important;opacity:1!important;visibility:visible!important;display:block!important;padding:10px 15px;border-radius:8px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.1rem!important;font-weight:700;line-height:1.25;text-align:center;text-transform:none;letter-spacing:normal;margin:0;white-space:normal;box-sizing:border-box;z-index:5;pointer-events:none;transition:background .3s ease,color .3s ease,transform .3s ease}.cards-section .card:hover .card-title,.cards-section .card:hover h2.card-title{background:#ffffffd9;color:#000!important;-webkit-text-fill-color:#000000!important;transform:translate(-50%,-50%) scale(1.05)}.card-desc{position:absolute;z-index:4;left:0;right:0;bottom:0;margin:0;transform:translateY(100%);transition:transform .3s ease;padding:.85rem 1rem 1rem;color:#fff;-webkit-text-fill-color:#fff;font-size:.9rem;line-height:1.4;white-space:normal;background:#00000094;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-shadow:0 1px 4px rgba(0,0,0,.9);border-top:1px solid rgba(255,255,255,.15)}.card:hover .card-desc{transform:translateY(0)}.card a:focus-visible{outline:2px solid #fff;outline-offset:4px}.card a:focus-visible img{filter:grayscale(0%)}@media (max-width: 900px){.cards-section{padding:2rem 1rem}.cards{height:320px}.cards-section .card .card-title,.cards-section .card h2.card-title{font-size:1rem!important;padding:.75rem 1rem}.card-desc{font-size:.85rem}}@media (max-width: 640px){.cards-section{padding:0;align-items:stretch}.cards-shell{max-width:100%}.cards{flex-direction:column;height:auto;gap:0;border-radius:1rem;white-space:normal}.card{flex:none;width:100%;height:240px;aspect-ratio:4 / 3}.card:hover{flex:none;box-shadow:none}.card img{filter:grayscale(0%)}.card:hover img{transform:scale(1.05);filter:grayscale(0%)}.card:after{opacity:1}.cards-section .card .card-title,.cards-section .card h2.card-title{top:auto;left:1rem;bottom:3.75rem;transform:none;max-width:calc(100% - 2rem);width:auto;text-align:left;font-size:1rem!important;padding:.6rem .8rem}.cards-section .card:hover .card-title,.cards-section .card:hover h2.card-title{transform:none;background:#000000b3;color:#fff!important;-webkit-text-fill-color:#ffffff!important}.card-desc{transform:translateY(0);font-size:.9rem;padding:.65rem 1rem 1rem}}@media (max-width: 420px){.card{height:220px}.cards-section .card .card-title,.cards-section .card h2.card-title{font-size:.95rem!important;bottom:4.25rem}.card-desc{font-size:.82rem}}@media (hover: none){.card img{filter:grayscale(0%)}.card:after{opacity:1}.card-desc{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.card,.card img,.cards-section .card .card-title,.card-desc,.card:after{transition:none}.card img{animation:none}}
