.card{overflow:hidden}
.card-media{width:100%;aspect-ratio:16/10;border-radius:24px;overflow:hidden;background:#ebe8df;margin-bottom:22px}
.card-media img,.suggestion-media img,.magician-photo img{width:100%;height:100%;object-fit:cover;display:block}
.card-media.no-image,.suggestion-media.no-image,.magician-photo.no-photo{background:linear-gradient(145deg,#f2efe7,#dfd9ca)}
.card-main.card-main-stacked{display:grid;grid-template-columns:1fr;gap:18px;padding-inline:4px}
.card-type-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.card-identity{display:flex;align-items:center;gap:10px;min-width:0}
.card-identity img{width:72px;height:72px;display:block;object-fit:contain;border-radius:17px;background:#fff;border:1px solid var(--line,#ddd8cc);padding:5px}
.card-identity span,.card-type-label span{position:static;transform:none;font-size:9px;letter-spacing:.12em;font-weight:800;text-transform:uppercase}
.card-type.card-type-label{width:auto;height:auto;border-radius:999px;background:#ecece6;padding:8px 11px}
.card-identity.no-identity{display:none}
.card-content h3{margin:0;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.08;letter-spacing:-.025em}
.card-content .meta{margin-top:11px;gap:8px 12px;line-height:1.45}
.card-content .badges{margin-top:14px;gap:8px}
.card-badges{align-items:center;width:100%}
.source-chip{margin-left:auto;display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;background:#e4eef9;color:#285a83;text-decoration:none;font-size:10px;font-weight:750;white-space:nowrap;transition:background .15s,color .15s}
.source-chip:hover,.source-chip:focus-visible{background:#285a83;color:#fff;outline:none}
.card-media-fallback,.cover-no-photo,.cover-orb,.auto-cover-img,.official-cover-img{display:none!important}
.suggestion-media{width:64px;height:64px;border-radius:14px;overflow:hidden;background:#ebe8df;flex:0 0 auto}
.magician-card{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:20px;border:1px solid var(--line,#ddd8cc);border-radius:22px;background:var(--paper,#fff)}
.magician-card.featured{border-color:#78a88f;box-shadow:0 12px 34px rgba(38,97,70,.12)}
.magician-photo{min-height:220px;border-radius:16px;overflow:hidden;background:#ebe8df}
.magician-body{min-width:0}
.magician-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.magician-heading h3{font-size:clamp(1.5rem,3vw,2.25rem);margin:.2rem 0}
.magician-heading>div>span{font-size:.72rem;letter-spacing:.12em;color:#47745f}
.magician-heading small{display:block;font-weight:700;color:#47745f}
.verification-pending{font-size:.78rem;color:#776f63}
.show-file{border-top:1px solid #e6e0d5;margin-top:14px;padding-top:10px}
.show-file summary{cursor:pointer;font-weight:700;display:flex;justify-content:space-between}
.show-file ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.show-file li{display:flex;gap:9px;align-items:center}
.show-status{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:4px 7px;background:#e8f3ec;color:#326c50}
.show-status.archived{background:#eeeae2;color:#6f685e}
.show-empty{color:#837b70;font-size:.88rem}
.festival-program{margin-top:18px;border-top:1px solid var(--line,#ddd8cc);border-bottom:1px solid var(--line,#ddd8cc)}
.festival-program summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;font-weight:800;list-style:none}
.festival-program summary::-webkit-details-marker{display:none}
.festival-program summary span{display:flex;align-items:center;gap:8px}
.festival-program summary span:before{content:'+';display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#111;color:#fff;font-size:15px;line-height:1}
.festival-program[open] summary span:before{content:'−'}
.festival-program summary small{font-weight:600;color:#777066;text-align:right}
.program-body{padding:0 0 16px;display:grid;gap:18px}
.program-day h4{margin:0 0 8px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#47745f}
.program-list{display:grid;gap:0}
.program-item{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:9px 0;border-top:1px solid #eee9df}
.program-item time{font-size:.78rem;font-weight:800;color:#47745f}
.program-item b,.program-item small{display:block}
.program-item b{font-size:.92rem;line-height:1.3}
.program-item small{margin-top:3px;color:#777066;line-height:1.35}
.program-pending{margin:0;padding:4px 0 2px;color:#777066;line-height:1.5}
@media(min-width:761px){.card-media{aspect-ratio:16/9}.card{padding-bottom:30px}}
@media(max-width:760px){.card{padding-top:0;padding-bottom:24px}.card-media{aspect-ratio:5/4;margin-bottom:20px;border-radius:22px}.card-main.card-main-stacked{gap:16px;padding-inline:2px}.card-type-row{align-items:center;flex-direction:row}.card-identity img{width:66px;height:66px}.source-chip{margin-left:auto}.magician-card{grid-template-columns:1fr;padding:18px}.magician-photo{min-height:0;aspect-ratio:4/3}.magician-heading{flex-direction:column}.magician-heading .source-link{align-self:flex-start}.program-item{grid-template-columns:56px 1fr;gap:12px;padding:12px 0}}

