@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/barlow-condensed-bold.ttf") format("truetype")}
.artists-section{padding-top:10px;padding-bottom:100px;scroll-margin-top:105px}
.artists-section h2{font-family:"Barlow Condensed",Impact,"Arial Narrow",sans-serif;font-size:clamp(44px,5.6vw,76px);line-height:1;letter-spacing:-.015em;font-weight:700;text-transform:uppercase;margin-bottom:42px}
.artists-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.artist-card{min-width:0;border:1px solid #bfa9ce65;background:#09070d;padding:26px 26px 30px;text-align:center;transition:border-color .2s ease,background .2s ease}
.artist-card:hover{border-color:#cb9ee3;background:#100a17}
.artist-portrait{position:relative;aspect-ratio:1;width:100%;overflow:hidden;background:#100d16;margin-bottom:22px}
.artist-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--portrait-position,50% 50%);filter:grayscale(1)}
.artist-portrait:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #c6a6db26}
.artist-card h3{font-family:"Barlow Condensed",Impact,"Arial Narrow",sans-serif;text-transform:uppercase;font-size:clamp(27px,3vw,39px);letter-spacing:-.015em;line-height:1.04;margin:0 0 16px;font-weight:700}
.artist-card p{color:#c6bdcf;line-height:1.5;font-size:14px;max-width:340px;margin:0 auto;text-wrap:pretty}
@media(max-width:1050px) and (min-width:621px){.artists-grid{gap:18px}.artist-card{padding:18px 16px 24px}.artist-card h3{font-size:28px;min-height:58px;display:flex;align-items:center;justify-content:center}.artist-card p{font-size:12px}.artist-portrait{margin-bottom:18px}}
@media(max-width:900px){.artists-section{padding-bottom:72px}.artists-section h2{margin-bottom:32px}}
@media(max-width:620px){.artists-section{padding-top:0;padding-bottom:58px}.artists-section h2{font-size:clamp(37px,10.1vw,57px);margin-bottom:28px;letter-spacing:-.02em}.artists-grid{grid-template-columns:1fr;gap:24px}.artist-card{padding:22px 22px 27px;max-width:420px;width:100%;margin:0 auto}.artist-card h3{font-size:37px;margin-bottom:12px}.artist-card p{font-size:14px}.artist-portrait{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.artist-card{transition:none}}

/* Native disclosure keeps the artist card compact until visitors ask for more. */
.artists-grid{align-items:start}
.artist-details{margin:22px 0 0;border:0;border-top:1px solid #bfa9ce45;text-align:left}
.artist-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 0 0;list-style:none;cursor:pointer;color:#e8cef6;font-family:inherit;font-size:13px;font-weight:600;line-height:1.45;text-wrap:pretty}
.artist-details summary::-webkit-details-marker{display:none}
.artist-details summary::marker{content:""}
.artist-details summary:after,.artist-details[open] summary:after{content:none}
.artist-details summary:hover{color:#fff}
.artist-details summary:focus-visible,.artist-booking:focus-visible{outline:2px solid #e2b3ff;outline-offset:5px;border-radius:2px}
.artist-details-less{display:none}
.artist-details[open] .artist-details-more{display:none}
.artist-details[open] .artist-details-less{display:inline}
.artist-details-icon{position:relative;display:block;flex:0 0 14px;width:14px;height:14px}
.artist-details-icon:before,.artist-details-icon:after{content:"";position:absolute;top:6px;left:1px;width:12px;height:2px;background:currentColor}
.artist-details-icon:after{transform:rotate(90deg)}
.artist-details[open] .artist-details-icon:after{display:none}
.artist-bio{padding-top:18px}
.artist-card .artist-bio p{max-width:none;margin:0 0 16px;text-align:left;font-size:14px;line-height:1.65;color:#d4cbdc;text-wrap:pretty}
.artist-card .artist-bio p:last-of-type{font-weight:600;color:#f0e8f5}
.artist-booking{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:20px;padding:11px 13px;border:1px solid #bfa9ce80;color:#f3e8fc;font-size:13px;font-weight:600;line-height:1.45;text-decoration:none}
.artist-booking:hover{border-color:#e2b3ff;background:#271331}
@media(max-width:620px){.artist-details{margin-top:18px}.artist-details summary{min-height:46px}.artist-card .artist-bio p{font-size:14px}.artist-booking{min-height:44px}}
