.tp-hero{text-align:center;padding:3rem 1rem 2rem;max-width:640px;margin:0 auto}
.tp-hero-eye{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#888780;margin-bottom:8px}
.tp-hero-title{font-size:32px;font-weight:500;color:#1a1a1a;margin-bottom:8px;line-height:1.2}
.tp-hero-sub{font-size:15px;color:#888780}

.tp-filter-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:3rem}
.tp-filter-form{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
.tp-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0.5px solid #D3D1C7;border-radius:20px;padding:6px 28px 6px 14px;font-size:13px;color:#1a1a1a;background:#fff;cursor:pointer;min-width:130px}
.tp-select:focus{outline:none;border-color:#B4B2A9}
.tp-clear{font-size:13px;color:#888780;text-decoration:none;padding:6px 14px;border:0.5px solid #D3D1C7;border-radius:20px}
.tp-clear:hover{color:#1a1a1a;background:#F1EFE8}

.tp-section{max-width:1100px;margin:0 auto 3.5rem;padding:0 1.5rem}
.tp-sec-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:1.25rem;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}
.tp-sec-eye{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#888780;margin-bottom:3px}
.tp-sec-title{font-size:18px;font-weight:500;color:#1a1a1a;margin:0}
.tp-year-pill{padding:4px 14px;border-radius:20px;background:#F1EFE8;color:#5F5E5A;font-size:12px;border:0.5px solid #D3D1C7;white-space:nowrap}

.tp-cards{display:-ms-grid;display:grid;-ms-grid-columns:1fr 12px 1fr 12px 1fr 12px 1fr;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:860px){.tp-cards{-ms-grid-columns:1fr 12px 1fr;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.tp-cards{-ms-grid-columns:1fr 8px 1fr;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

.tp-card{border-radius:12px;background:#fff;border:0.5px solid #D3D1C7;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
.tp-card.rank-1{border:1.5px solid #EF9F27}
.tp-card.rank-2{border:0.5px solid #B4B2A9}
.tp-card.rank-3{border:0.5px solid #D85A30}
.tp-card.rank-4{border:0.5px solid #5DCAA5}

.tp-card-photo{position:relative;padding-bottom:125%;overflow:hidden}
.tp-card-photo-inner{position:absolute;top:0;left:0;right:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
.tp-card-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}
.tp-avatar{width:64px;height:64px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;font-weight:500}
.tp-rank-pill{position:absolute;top:10px;left:10px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:500;z-index:1}

.tp-card-body{padding:12px 14px;text-align:center}
.tp-card-name{font-size:13px;font-weight:500;color:#1a1a1a;line-height:1.3;margin:0 0 3px}
.tp-card-rank{font-size:11px;color:#888780;margin:0}

.tp-empty{text-align:center;padding:5rem 1rem;color:#888780}
.tp-empty p{margin-bottom:1rem;font-size:15px}
.tp-empty-link{font-size:14px;color:#1a1a1a;border-bottom:0.5px solid #D3D1C7;text-decoration:none}

.tp-carousel-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}
.tp-nav-btn{width:32px;height:32px;border-radius:50%;border:0.5px solid #D3D1C7;background:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;font-size:14px;color:#5F5E5A;-webkit-transition:background .15s;transition:background .15s;line-height:1}
.tp-nav-btn:hover{background:#F1EFE8;color:#1a1a1a}
.tp-nav-btn:disabled{opacity:.35;cursor:not-allowed}
.tp-dots{display:-webkit-box;display:-ms-flexbox;display:flex;gap:5px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
.tp-dot{width:6px;height:6px;border-radius:50%;background:#D3D1C7;-webkit-transition:background .2s,width .2s;transition:background .2s,width .2s;cursor:pointer;-ms-flex-negative:0;flex-shrink:0}
.tp-dot.active{background:#5F5E5A;width:18px;border-radius:3px}

.tp-carousel-body{overflow:hidden}
.tp-slides{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:-webkit-transform .35s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1)}
.tp-slide{min-width:100%;-ms-flex-negative:0;flex-shrink:0}

.tp-slide-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:1rem}
.tp-sem-name{font-size:13px;color:#888780}