/* DOLPHIN ARTISTS ARCHIVE */
.artists-page,
.artist-detail-page {
    background: #0f0f0f;
    color: #f4f4f4;
    min-height: 100vh;
}

.artists-hero,
.artist-detail-hero {
    padding: 9rem 1.5rem 4rem;
    background: #0f0f0f;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.artists-hero-inner,
.artist-detail-inner,
.artists-main {
    max-width: var(--container-width);
    margin: 0 auto;
}

.artists-kicker,
.artist-eyebrow {
    margin: 0 0 .7rem;
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.artists-title,
.artist-detail-name {
    margin: 0;
    color: #fff;
    font-size: clamp(2.4rem, 7vw, 5rem);
    line-height: 1;
    letter-spacing: .03em;
}

.artists-lead {
    max-width: 650px;
    margin: 1.5rem 0 0;
    color: #a8a8a8;
    line-height: 1.9;
}

.artists-main {
    padding: 3.5rem 1.5rem 7rem;
}

.artists-tools {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.artist-search {
    width: min(420px, 100%);
    padding: .85rem 1rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    outline: none;
}

.artist-search:focus { border-color: var(--color-primary); }
.artist-search::placeholder { color: #777; }

.artist-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.artist-filter {
    border: 0;
    border-bottom: 1px solid transparent;
    background: transparent;
    color: #858585;
    padding: .35rem .1rem;
    font: 700 .72rem/1 var(--font-body);
    letter-spacing: .08em;
    cursor: pointer;
}

.artist-filter:hover,
.artist-filter.active {
    color: #fff;
    border-bottom-color: var(--color-primary);
}

.artists-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem 1.6rem;
}

.artist-card {
    min-width: 0;
}

.artist-card-link {
    color: inherit;
    text-decoration: none;
    display: block;
}

.artist-card-media {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #171717;
    border: 1px solid rgba(255,255,255,.06);
}

.artist-card-media img,
.artist-detail-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.88) contrast(1.02);
    transition: transform .45s ease, filter .45s ease;
}

.artist-card-link:hover img {
    transform: scale(1.025);
    filter: saturate(1) contrast(1.04);
}

.artist-photo-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 30% 20%, rgba(168,214,0,.08), transparent 35%),
        #171717;
    color: #555;
    font-family: var(--font-heading);
    font-size: clamp(2rem, 7vw, 5rem);
    letter-spacing: .04em;
}

.artist-card-meta { padding-top: 1rem; }

.artist-card-name {
    margin: 0;
    color: #fff;
    font-size: 1.25rem;
    line-height: 1.35;
}

.artist-card-en,
.artist-card-instrument,
.artist-card-count {
    margin-top: .28rem;
    color: #818181;
    font-size: .78rem;
    letter-spacing: .05em;
}

.artist-card-instrument {
    color: var(--color-primary);
    text-transform: uppercase;
    font-weight: 700;
}

.artists-empty {
    display: none;
    padding: 3rem 0;
    color: #777;
}

.artist-detail-hero { padding-bottom: 5rem; }

.artist-detail-grid {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: end;
}

.artist-detail-photo {
    aspect-ratio: 4 / 5;
    background: #171717;
    overflow: hidden;
}

.artist-detail-name-en {
    margin-top: .65rem;
    color: #8b8b8b;
    letter-spacing: .08em;
}

.artist-detail-instrument {
    display: inline-block;
    margin-top: 1.3rem;
    padding-top: .55rem;
    border-top: 1px solid var(--color-primary);
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.artist-detail-content {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 4rem 1.5rem 7rem;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
    gap: clamp(2.5rem, 7vw, 6rem);
}

.artist-section-title {
    margin: 0 0 1.5rem;
    color: #fff;
    font-size: 1.1rem;
    letter-spacing: .12em;
}

.artist-profile {
    color: #b8b8b8;
    line-height: 2;
    white-space: pre-wrap;
}

.artist-profile.is-empty { color: #666; }

.appearance-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(255,255,255,.1);
}

.appearance-item {
    display: grid;
    grid-template-columns: 7.5rem 1fr;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.appearance-date {
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: .82rem;
    letter-spacing: .05em;
}

.appearance-title,
.appearance-title a {
    color: #eee;
    text-decoration: none;
}

.appearance-title a:hover { color: var(--color-primary); }

.artist-links {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
}

.artist-links a {
    color: #aaa;
    font-size: .82rem;
    text-decoration: none;
    border-bottom: 1px solid #444;
}

.artist-links a:hover {
    color: #fff;
    border-bottom-color: var(--color-primary);
}

.artist-back {
    display: inline-block;
    margin-top: 3rem;
    color: #888;
    font-size: .8rem;
    text-decoration: none;
    letter-spacing: .08em;
}

.artist-back:hover { color: var(--color-primary); }

@media (max-width: 800px) {
    .artists-hero,
    .artist-detail-hero { padding-top: 7.5rem; }

    .artists-tools {
        align-items: stretch;
        flex-direction: column;
    }

    .artist-search { width: 100%; }
    .artists-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem .85rem; }
    .artist-card-name { font-size: 1rem; }
    .artist-card-en { font-size: .7rem; }

    .artist-detail-grid,
    .artist-detail-content { grid-template-columns: 1fr; }
    .artist-detail-photo { max-width: 520px; }
    .appearance-item { grid-template-columns: 1fr; gap: .25rem; }
}
