/* Vegan Athletes — new dedicated view, responsive and theme-aware */
.athletes-shell{max-width:1180px;margin:auto;padding-bottom:3rem}
.athletes-heading{max-width:930px;padding:.2rem 0 1.5rem}
.athletes-eyebrow{display:block;margin:0 0 .75rem;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:850;color:var(--color-lime,#b5d75a)}
.athletes-heading .view-title{font-size:clamp(2.2rem,6vw,4.4rem);letter-spacing:-.045em}
.athletes-heading .view-subtitle{max-width:780px;line-height:1.65;font-size:clamp(1rem,1.8vw,1.18rem)}
.athletes-takeaway{margin-top:1.15rem;padding:1rem 1.2rem;border-inline-start:4px solid var(--color-lime,#b5d75a);background:var(--bg-surface);line-height:1.6;color:var(--text-secondary)}
.athletes-takeaway strong{color:var(--text-primary)}
.athletes-toolbar{display:flex;gap:.8rem;align-items:end;flex-wrap:wrap;margin:1rem 0 .5rem;padding:1rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}
.athletes-search-label{font-size:.82rem;font-weight:760;display:grid;gap:.45rem;color:var(--text-secondary);flex:1 1 240px}
.athletes-search-label:first-child{flex:2 1 310px}
.athletes-search-label .search-input,.athletes-select{width:100%;min-width:0;height:46px;border:1px solid var(--border-subtle);background:var(--bg-body);color:var(--text-primary);border-radius:.75rem;padding:.65rem .9rem;font:inherit}
.athletes-search-label .search-input:focus-visible,.athletes-select:focus-visible{outline:2px solid var(--color-lime,#b5d75a);outline-offset:2px}
.athletes-reset{min-height:46px;white-space:nowrap}.athletes-reset:disabled{opacity:.45;cursor:not-allowed}
.athletes-result-count{margin:1rem 0;color:var(--text-secondary);font-weight:700;font-size:.85rem}
.athletes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:1rem;align-items:start}
.athlete-card{min-width:0;border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.08)}
.athlete-photo-wrap{position:relative;height:240px;overflow:hidden;background:linear-gradient(130deg,#123a2e,#295949 55%,#11291f);color:#e9f9d2}
.athlete-portrait-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.8rem;opacity:.65}
.athlete-portrait-fallback span{font-size:3.2rem}.athlete-portrait-fallback strong{font-size:3.7rem;letter-spacing:-.08em}
.athlete-photo{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center 32%}
.athlete-sport-label{position:absolute;left:1rem;bottom:.8rem;z-index:2;padding:.38rem .7rem;border-radius:999px;background:rgba(14,35,28,.88);color:#f3fff3;font-size:.72rem;font-weight:750;line-height:1.2;backdrop-filter:blur(5px)}
.athlete-card-body{padding:1.25rem;display:grid;gap:.75rem}
.athlete-card-body h2{margin:0;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2;color:var(--text-primary)}
.athlete-headline{margin:0;min-height:2.7em;color:var(--text-primary);font-size:1.02rem;line-height:1.4;font-weight:750}
.athlete-facts{display:grid;gap:.65rem;margin:.25rem 0 0}.athlete-facts div{border-top:1px solid var(--border-subtle);padding-top:.6rem}.athlete-facts dt{font-size:.69rem;letter-spacing:.08em;text-transform:uppercase;font-weight:850;color:var(--text-muted)}.athlete-facts dd{margin:.35rem 0 0;font-size:.9rem;line-height:1.58;color:var(--text-secondary)}
.athlete-more{margin-top:.3rem;border-top:1px solid var(--border-subtle);padding-top:.65rem}
.athlete-more summary{display:flex;align-items:center;justify-content:space-between;gap:.4rem;cursor:pointer;list-style:none;font-weight:770;font-size:.9rem;color:var(--text-primary);padding:.4rem 0}
.athlete-more summary::-webkit-details-marker{display:none}.athlete-more[open] summary span{transform:rotate(180deg)}.athlete-more summary:focus-visible{outline:2px solid var(--color-lime);outline-offset:2px}
.athlete-more-content{margin-top:.8rem;display:grid;gap:.7rem}.athlete-more-content p{margin:0;color:var(--text-secondary);line-height:1.55;font-size:.88rem}.athlete-more-content p strong{color:var(--text-primary)}
.athlete-more-content h3{margin:.35rem 0 0;font-size:.9rem}.athlete-more-content ul{padding-left:1.1rem;margin:0;display:grid;gap:.45rem}.athlete-more-content li{line-height:1.5;font-size:.88rem}
.athlete-more-content a,.athletes-bottom-note a{color:var(--color-lime,#9cbc4b);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.athlete-photo-credit{border-top:1px solid var(--border-subtle);padding-top:.65rem;font-size:.73rem!important;opacity:.9}
.athletes-empty{padding:1.4rem;text-align:center;border:1px dashed var(--border-subtle)}
.athletes-bottom-note{margin-top:1.5rem;padding:clamp(1.2rem,4vw,2rem);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}
.athletes-bottom-note h2{margin:0 0 .75rem;font-size:clamp(1.25rem,3vw,1.75rem);color:var(--text-primary)}
.athletes-bottom-note p{max-width:780px;line-height:1.6;color:var(--text-secondary)}.athletes-bottom-note small{display:block;max-width:900px;color:var(--text-muted);line-height:1.6;margin-top:1.1rem}
.athletes-bottom-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0}
.home-athletes-preview{max-width:1180px;margin:0 auto;padding:clamp(2rem,5vw,4rem) clamp(1rem,3vw,2rem);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.home-athletes-preview .home-editorial-heading{max-width:800px}
.home-athletes-preview-stat{display:flex;gap:clamp(.65rem,2vw,2rem);flex-wrap:wrap;margin:1.6rem 0}.home-athletes-preview-stat div{display:flex;flex-direction:column;flex:1 1 130px;border-inline-start:3px solid var(--color-lime);padding:.1rem 0 .1rem .85rem}
.home-athletes-preview-stat strong{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.2;color:var(--text-primary)}.home-athletes-preview-stat span{font-size:.76rem;color:var(--text-secondary);line-height:1.35}
@media(max-width:620px){.athletes-toolbar{padding:.8rem}.athletes-search-label,.athletes-search-label:first-child{flex:1 1 100%}.athletes-reset{width:100%;justify-content:center}.athlete-photo-wrap{height:220px}.athlete-headline{min-height:auto}.athletes-bottom-actions button{width:100%;justify-content:center}.home-athletes-preview-stat{gap:.9rem}}
