.sp-directory{max-width:1480px;margin:0 auto;padding:46px 5% 70px}
.sp-directory-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid #303035}
.sp-directory-intro .sp-eyebrow{font-size:11px;margin:0 0 16px}
.sp-directory-intro h1{font:400 clamp(46px,5.2vw,76px)/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:-.02em;margin:0 0 18px}
.sp-directory-intro h1 span{color:#ed1533}
.sp-directory-lead{font:400 15px/1.6 Arial,sans-serif;color:#bdb8c5;margin:0}
.sp-directory-count{font-size:12px;white-space:nowrap;color:#ccc7d2;border:1px solid #39353e;border-radius:30px;padding:9px 15px;margin:0}
.sp-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 22px;list-style:none;padding:0;margin:0}
.sp-directory-grid>li{min-width:0;padding:0;margin:0}
.sp-directory-card{display:block;position:relative;border:1px solid #343037;border-radius:14px;overflow:hidden;background:#18171b;color:#f5f4f4;transition:border-color .2s,transform .2s,box-shadow .2s}
.sp-directory-image{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#403039 0%,#222025 58%,#141316 100%)}
.sp-directory-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .3s ease}
.sp-directory-image:after{content:"";position:absolute;inset:75% 0 0;background:linear-gradient(transparent,#18171b);pointer-events:none}
.sp-directory-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px}
.sp-directory-caption h2{font:700 clamp(17px,1.6vw,23px)/1.2 Arial,sans-serif;letter-spacing:-.035em;margin:0 0 7px;overflow-wrap:anywhere}
.sp-directory-label{font-size:12px;color:#b6afbe}
.sp-directory-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border:1px solid #48414c;border-radius:50%;color:#eee5ed;transition:background .2s,border-color .2s}
.sp-directory-card:hover,.sp-directory-card:focus-visible{color:#fff;border-color:#ed1533;box-shadow:0 12px 32px #0005}
.sp-directory-card:focus-visible{outline:2px solid #ff8194;outline-offset:4px}
.sp-directory-card:hover .sp-directory-arrow,.sp-directory-card:focus-visible .sp-directory-arrow{background:#ed1533;border-color:#ed1533}
.sp-directory-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font:400 70px Impact,sans-serif;color:#66505c}
.sp-directory-empty{padding:36px 0;color:#bdb8c5}
@media(hover:hover){.sp-directory-card:hover{transform:translateY(-4px)}.sp-directory-card:hover img{transform:scale(1.035)}}
@media(max-width:1050px){.sp-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media(max-width:700px){.sp-directory{padding:26px 5% 42px}.sp-directory-intro{align-items:start;gap:16px;flex-direction:column;padding-bottom:22px;margin-bottom:22px}.sp-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.sp-directory-caption{padding:13px 11px;gap:8px}.sp-directory-caption h2{font-size:17px}.sp-directory-arrow{width:30px;height:30px}.sp-directory-label{font-size:11px}.sp-directory-card{border-radius:10px}}
@media(max-width:350px){.sp-directory-caption{align-items:start}.sp-directory-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.sp-directory-card,.sp-directory-image img,.sp-directory-arrow{transition:none}.sp-directory-card:hover,.sp-directory-card:hover img{transform:none}}
