:root{
        --artist-bg:#050007;
        --artist-panel:#0b0611;
        --artist-panel-2:#0e1019;
        --artist-text:#fdf7ff;
        --artist-muted:#b9a9d7;
        --artist-pink:#f91fb0;
        --artist-cyan:#22e7ff;
        --artist-gold:#ffd166;
    }
    html,
    body{
        max-width:100%;
        overflow-x:hidden;
    }
    body{
        margin:0;
        background:
            linear-gradient(180deg, rgba(249,31,176,.13), transparent 360px),
            repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 5px),
            linear-gradient(135deg,#050007,#090b12 54%,#000);
        color:var(--artist-text);
        font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .artist-page,
    .artist-page *,
    .artist-page *::before,
    .artist-page *::after{
        box-sizing:border-box;
    }
    a{color:inherit;}
    h1,
    .artist-section h2,
    .featured-title,
    .timeline-card strong,
    .work-title,
    .song-card strong,
    .artist-action{
        font-family:"Archivo","Manrope",system-ui,sans-serif;
    }
    .artist-page{
        width:min(1180px, calc(100vw - 36px));
        margin:0 auto;
        padding:34px 0 72px;
    }
    .artist-hero{
        display:grid;
        grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
        gap:28px;
        align-items:center;
        padding:28px 0 30px;
        border-bottom:1px solid rgba(34,231,255,.18);
    }
    .artist-hero > *{min-width:0;}
    .artist-kicker{
        display:flex;
        align-items:center;
        gap:10px;
        color:var(--artist-cyan);
        text-transform:uppercase;
        font-size:12px;
        font-weight:900;
        letter-spacing:.08em;
    }
    .artist-kicker::before{
        content:"";
        width:38px;
        height:2px;
        background:linear-gradient(90deg,var(--artist-cyan),var(--artist-pink));
    }
    h1{
        margin:14px 0 0;
        max-width:860px;
        font-size:clamp(42px,8vw,96px);
        line-height:.9;
        letter-spacing:0;
        overflow-wrap:anywhere;
        text-shadow:0 0 28px rgba(249,31,176,.38);
    }
    .artist-claim{
        max-width:820px;
        margin:16px 0 0;
        color:#e2d5f7;
        font-size:18px;
        line-height:1.55;
        overflow-wrap:anywhere;
    }
    .artist-facts{
        margin-top:20px;
        display:flex;
        flex-wrap:wrap;
        gap:9px;
    }
    .artist-facts span{
        display:inline-flex;
        align-items:center;
        max-width:100%;
        min-height:34px;
        padding:7px 11px;
        border:1px solid rgba(255,255,255,.12);
        border-radius:999px;
        background:rgba(0,0,0,.26);
        color:#fff;
        font-size:12px;
        font-weight:850;
        white-space:normal;
        overflow-wrap:anywhere;
    }
    .artist-actions{
        margin-top:22px;
        display:flex;
        flex-wrap:wrap;
        gap:10px;
    }
    .artist-action{
        min-height:40px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        max-width:100%;
        padding:9px 14px;
        border-radius:999px;
        border:1px solid rgba(255,255,255,.14);
        background:rgba(0,0,0,.28);
        color:#fff;
        font-size:13px;
        font-weight:900;
        text-decoration:none;
        text-align:center;
        white-space:normal;
        transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
    }
    .artist-action:hover{
        transform:translateY(-1px);
        border-color:rgba(34,231,255,.56);
        box-shadow:0 0 18px rgba(34,231,255,.15);
    }
    .artist-action-primary{
        border-color:rgba(249,31,176,.58);
        background:linear-gradient(135deg, rgba(249,31,176,.86), rgba(34,231,255,.72));
        box-shadow:0 0 22px rgba(249,31,176,.24);
    }
    .cover-wall{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px;
    }
    .cover-wall a{
        display:block;
        aspect-ratio:1/1;
        border-radius:8px;
        overflow:hidden;
        border:1px solid rgba(255,255,255,.12);
        background:#09020d;
    }
    .cover-wall img{
        width:100%;
        height:100%;
        display:block;
        object-fit:cover;
        transition:transform .18s ease;
    }
    .cover-wall a:hover img{transform:scale(1.05);}
    .artist-visual{
        display:grid;
        gap:12px;
    }
    .portrait-card{
        height:420px;
        position:relative;
        overflow:hidden;
        border-radius:8px;
        border:1px solid rgba(34,231,255,.24);
        background:
            linear-gradient(135deg, rgba(249,31,176,.24), rgba(34,231,255,.10) 48%, rgba(0,0,0,.62)),
            repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0 1px, transparent 1px 54px),
            #09020d;
        box-shadow:0 24px 70px rgba(0,0,0,.58);
    }
    .portrait-card::before{
        content:"";
        position:absolute;
        inset:-18px;
        background-image:var(--portrait-bg);
        background-size:cover;
        background-position:center;
        filter:blur(20px) saturate(1.12);
        transform:scale(1.04);
        opacity:.44;
    }
    .portrait-card::after{
        content:"";
        position:absolute;
        inset:auto 0 0;
        height:42%;
        background:linear-gradient(
            180deg,
            rgba(5,0,7,0) 0%,
            rgba(5,0,7,.10) 22%,
            rgba(5,0,7,.48) 62%,
            rgba(5,0,7,.88) 100%
        );
        pointer-events:none;
        z-index:1;
    }
    .portrait-card img{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        display:block;
        object-fit:var(--portrait-fit, contain);
        object-position:var(--portrait-position, center top);
        background:transparent;
        z-index:1;
    }
    .portrait-placeholder{
        position:relative;
        z-index:1;
        height:100%;
        display:grid;
        place-items:center;
        padding:24px;
        text-align:center;
    }
    .portrait-initials{
        width:min(230px, 70%);
        aspect-ratio:1/1;
        display:grid;
        place-items:center;
        border:1px solid rgba(255,255,255,.22);
        border-radius:50%;
        background:
            repeating-linear-gradient(0deg, rgba(255,255,255,.045) 0 1px, transparent 1px 8px),
            linear-gradient(135deg, rgba(0,0,0,.72), rgba(249,31,176,.20));
        color:#fff;
        font-size:clamp(58px,9vw,108px);
        font-weight:950;
        letter-spacing:0;
        text-shadow:0 0 24px rgba(249,31,176,.72), 0 0 38px rgba(34,231,255,.34);
    }
    .portrait-caption{
        position:absolute;
        left:14px;
        right:14px;
        bottom:14px;
        display:flex;
        gap:8px;
        flex-wrap:wrap;
        z-index:2;
    }
    .portrait-caption span{
        min-height:30px;
        display:inline-flex;
        align-items:center;
        padding:6px 9px;
        border-radius:999px;
        border:1px solid rgba(255,255,255,.14);
        background:rgba(0,0,0,.48);
        backdrop-filter:blur(8px);
        color:#fff;
        font-size:11px;
        font-weight:900;
    }
    .portrait-credit{
        position:absolute;
        right:14px;
        top:14px;
        z-index:2;
        max-width:min(260px, calc(100% - 28px));
        padding:7px 9px;
        border-radius:999px;
        background:rgba(0,0,0,.56);
        border:1px solid rgba(255,255,255,.14);
        backdrop-filter:blur(8px);
        color:#fff;
        font-size:11px;
        font-weight:850;
        text-decoration:none;
    }
    .portrait-credit:hover{
        border-color:rgba(34,231,255,.52);
    }
    .portrait-credit-bottom-right{
        top:auto;
        bottom:58px;
    }
    .mini-cover-strip{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:8px;
    }
    .mini-cover-strip a{
        aspect-ratio:1/1;
        display:block;
        overflow:hidden;
        border-radius:8px;
        border:1px solid rgba(255,255,255,.12);
        background:#09020d;
    }
    .mini-cover-strip img{
        width:100%;
        height:100%;
        display:block;
        object-fit:cover;
        transition:transform .18s ease;
    }
    .mini-cover-strip a:hover img{transform:scale(1.06);}
    .image-rights-note{
        margin-top:10px;
        padding:9px 11px;
        border-radius:8px;
        border:1px solid rgba(255,255,255,.10);
        background:rgba(0,0,0,.26);
        color:rgba(255,255,255,.68);
        font-size:11px;
        line-height:1.45;
    }
    .image-rights-note a{
        color:var(--artist-cyan);
        text-decoration:none;
        font-weight:850;
    }
    .image-rights-note a:hover{text-decoration:underline;}
    .artist-band{
        margin-top:26px;
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:10px;
    }
    .artist-stat{
        padding:14px;
        border-radius:8px;
        background:rgba(0,0,0,.30);
        border:1px solid rgba(255,255,255,.10);
    }
    .artist-stat span{
        display:block;
        color:var(--artist-muted);
        text-transform:uppercase;
        font-size:11px;
        font-weight:800;
    }
    .artist-stat strong{
        display:block;
        margin-top:6px;
        font-size:24px;
        line-height:1.1;
    }
    .artist-section{
        margin-top:34px;
        padding-top:26px;
        border-top:1px solid rgba(255,255,255,.09);
    }
    .section-head{
        display:flex;
        justify-content:space-between;
        align-items:end;
        gap:18px;
        margin-bottom:16px;
    }
    .section-head h2{
        margin:0;
        font-size:clamp(26px,4vw,44px);
        line-height:1.05;
        letter-spacing:0;
    }
    .section-head p,
    .artist-copy p{
        margin:0;
        color:var(--artist-muted);
        line-height:1.62;
    }
    .artist-copy{
        display:grid;
        grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
        gap:28px;
    }
    .artist-copy p + p{margin-top:14px;}
    .info-list{
        display:grid;
        gap:10px;
    }
    .info-row{
        padding:14px;
        border-radius:8px;
        background:linear-gradient(135deg, rgba(0,0,0,.32), rgba(14,16,25,.54));
        border:1px solid rgba(255,255,255,.10);
    }
    .info-row strong{
        display:block;
        color:#fff;
        font-size:16px;
    }
    .info-row span{
        display:block;
        margin-top:6px;
        color:var(--artist-muted);
        font-size:13px;
        line-height:1.45;
    }
    .featured-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
        gap:12px;
    }
    .featured-card{
        min-height:170px;
        display:grid;
        grid-template-columns:116px minmax(0,1fr);
        gap:14px;
        padding:12px;
        border-radius:8px;
        border:1px solid rgba(255,255,255,.10);
        background:linear-gradient(135deg, rgba(249,31,176,.10), rgba(34,231,255,.06) 48%, rgba(0,0,0,.36));
        text-decoration:none;
        transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
    }
    .featured-card:hover{
        transform:translateY(-2px);
        border-color:rgba(249,31,176,.55);
        box-shadow:0 16px 42px rgba(0,0,0,.34);
    }
    .featured-card img{
        width:116px;
        height:116px;
        display:block;
        object-fit:cover;
        border-radius:7px;
        background:#09020d;
    }
    .featured-card strong{
        display:block;
        color:#fff;
        font-size:20px;
        line-height:1.08;
    }
    .featured-card span{
        display:block;
        margin-top:7px;
        color:var(--artist-muted);
        font-size:13px;
        line-height:1.38;
    }
    .featured-card small{
        display:inline-flex;
        margin-top:10px;
        padding:5px 8px;
        border-radius:999px;
        background:rgba(249,31,176,.12);
        border:1px solid rgba(249,31,176,.22);
        color:#fff;
        font-size:11px;
        font-weight:850;
    }
    .online-player{
        display:grid;
        grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);
        gap:14px;
        padding:14px;
        border-radius:8px;
        border:1px solid rgba(34,231,255,.18);
        background:
            linear-gradient(135deg, rgba(249,31,176,.12), rgba(34,231,255,.08) 48%, rgba(0,0,0,.42)),
            repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 78px);
        box-shadow:0 18px 46px rgba(0,0,0,.34);
    }
    .online-player-stage{
        min-height:310px;
        overflow:hidden;
        border-radius:8px;
        border:1px solid rgba(255,255,255,.12);
        background:#020104;
    }
    .online-player-stage #artist-ytplayer{
        width:100%;
        min-height:310px;
    }
    .online-player-stage iframe{
        width:100%;
        height:100%;
        min-height:310px;
        display:block;
        border:0;
    }
    .online-video-status{
        margin:0;
        padding:10px 12px;
        color:#d8cdee;
        font-size:12px;
        text-align:center;
        background:rgba(0,0,0,.34);
        border-top:1px solid rgba(255,255,255,.10);
    }
    .online-placeholder{
        min-height:310px;
        display:grid;
        grid-template-columns:180px minmax(0,1fr);
        gap:16px;
        align-items:center;
        padding:18px;
        background:linear-gradient(135deg, rgba(0,0,0,.18), rgba(249,31,176,.10)), #07020b;
    }
    .online-placeholder img{
        width:180px;
        height:180px;
        display:block;
        object-fit:cover;
        border-radius:8px;
        box-shadow:0 16px 34px rgba(0,0,0,.42);
    }
    .online-copy small,
    .online-now-kicker{
        color:var(--artist-cyan);
        font-size:11px;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:.12em;
    }
    .online-copy strong{
        display:block;
        margin-top:8px;
        color:#fff;
        font-size:clamp(24px,3vw,38px);
        line-height:1;
        letter-spacing:0;
    }
    .online-copy span{
        display:block;
        margin-top:9px;
        color:var(--artist-muted);
        font-size:14px;
        line-height:1.45;
    }
    .online-player-actions{
        display:flex;
        flex-wrap:wrap;
        gap:9px;
        margin-top:16px;
    }
    .online-action{
        min-height:38px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        padding:9px 12px;
        border-radius:999px;
        color:#fff;
        font-size:12px;
        font-weight:900;
        text-decoration:none;
        border:1px solid rgba(255,255,255,.16);
        background:rgba(0,0,0,.34);
    }
    .online-action-primary{
        background:linear-gradient(135deg, var(--artist-pink), var(--artist-cyan));
        box-shadow:0 0 18px rgba(249,31,176,.32);
    }
    .online-action:hover{
        text-decoration:none;
        transform:translateY(-1px);
    }
    .online-player-side{
        min-width:0;
        display:flex;
        flex-direction:column;
        gap:10px;
    }
    .online-now{
        padding:12px;
        border-radius:8px;
        border:1px solid rgba(255,255,255,.11);
        background:rgba(0,0,0,.26);
    }
    .online-now strong{
        display:block;
        margin-top:6px;
        color:#fff;
        font-size:18px;
        line-height:1.12;
    }
    .online-now span{
        display:block;
        margin-top:5px;
        color:var(--artist-muted);
        font-size:12px;
    }
    .online-track-list{
        display:flex;
        flex-direction:column;
        gap:8px;
    }
    .online-track{
        width:100%;
        min-height:62px;
        display:grid;
        grid-template-columns:46px minmax(0,1fr) auto;
        gap:10px;
        align-items:center;
        padding:8px;
        border-radius:8px;
        border:1px solid rgba(255,255,255,.10);
        background:rgba(0,0,0,.28);
        color:#fff;
        text-align:left;
        cursor:pointer;
    }
    .online-track img{
        width:46px;
        height:46px;
        object-fit:cover;
        border-radius:6px;
        background:#09020d;
    }
    .online-track strong{
        display:block;
        overflow:hidden;
        color:#fff;
        font-size:13px;
        line-height:1.16;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .online-track span{
        display:block;
        margin-top:4px;
        overflow:hidden;
        color:var(--artist-muted);
        font-size:11px;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .online-track .track-play{
        min-width:58px;
        height:30px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:7px;
        flex:0 0 auto;
        border-radius:8px;
        background:rgba(0,0,0,.28);
        border:1px solid rgba(34,231,255,.24);
        color:#fff;
        font-size:0;
        line-height:1;
        position:relative;
        overflow:hidden;
        box-shadow:none;
    }
    .online-track .track-play::before{
        content:"";
        width:0;
        height:0;
        border-top:4px solid transparent;
        border-bottom:4px solid transparent;
        border-left:7px solid #ff5fd0;
    }
    .online-track .track-play::after{
        content:"Play";
        color:#fff;
        font-size:11px;
        font-weight:900;
        letter-spacing:0;
    }
    .online-track:hover .track-play,
    .online-track.is-active .track-play{
        border-color:rgba(34,231,255,.46);
        background:rgba(34,231,255,.08);
    }
    .online-track.is-active,
    .online-track:hover{
        border-color:rgba(34,231,255,.42);
        background:linear-gradient(135deg, rgba(249,31,176,.18), rgba(34,231,255,.10));
    }
    .sound-grid,
    .timeline-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
        gap:12px;
    }
    .sound-card,
    .timeline-card{
        padding:16px;
        border-radius:8px;
        border:1px solid rgba(255,255,255,.10);
        background:rgba(0,0,0,.28);
    }
    .sound-card strong,
    .timeline-card strong{
        display:block;
        color:#fff;
        font-size:17px;
        line-height:1.2;
    }
    .sound-card span,
    .timeline-card span{
        display:block;
        margin-top:8px;
        color:var(--artist-muted);
        font-size:13px;
        line-height:1.5;
    }
    .timeline-card small{
        display:inline-flex;
        margin-bottom:10px;
        padding:5px 8px;
        border-radius:999px;
        background:rgba(34,231,255,.10);
        border:1px solid rgba(34,231,255,.22);
        color:var(--artist-cyan);
        font-size:11px;
        font-weight:900;
    }
    .work-grid,
    .song-grid{
        display:grid;
        grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
        gap:12px;
    }
    .work-card,
    .source-card,
    .song-card{
        border-radius:8px;
        border:1px solid rgba(255,255,255,.10);
        background:rgba(0,0,0,.30);
    }
    .work-card{
        padding:15px;
        text-decoration:none;
    }
    a.work-card:hover{
        border-color:rgba(34,231,255,.55);
        box-shadow:0 16px 42px rgba(0,0,0,.30);
    }
    .venue-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
        gap:14px;
    }
    .venue-card{
        display:block;
        overflow:hidden;
        padding:12px;
        border-radius:8px;
        border:1px solid rgba(255,255,255,.11);
        background:
            linear-gradient(145deg, rgba(249,31,176,.11), rgba(34,231,255,.07) 52%, rgba(0,0,0,.36)),
            repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 7px);
        box-shadow:0 14px 36px rgba(0,0,0,.30);
    }
    .venue-logo{
        min-height:86px;
        display:grid;
        place-items:center;
        border-radius:8px;
        border:1px solid rgba(255,255,255,.14);
        background:rgba(0,0,0,.36);
        color:#fff;
        font-size:clamp(22px,3vw,34px);
        font-weight:950;
        letter-spacing:.06em;
        text-transform:uppercase;
        text-align:center;
        text-shadow:0 0 18px rgba(249,31,176,.76), 0 0 26px rgba(34,231,255,.32);
    }
    .venue-image{
        width:100%;
        height:142px;
        margin-bottom:12px;
        padding:10px;
        display:block;
        overflow:hidden;
        border-radius:8px;
        border:1px solid rgba(255,255,255,.14);
        background:
            radial-gradient(circle at center, rgba(249,31,176,.10), transparent 62%),
            #020104;
    }
    .venue-image img{
        width:100%;
        height:100%;
        display:block;
        object-fit:contain;
    }
    .venue-body{
        min-width:0;
    }
    .venue-meta{
        margin-top:0;
        display:flex;
        gap:7px;
        flex-wrap:wrap;
    }
    .venue-meta span{
        max-width:100%;
        padding:5px 8px;
        border-radius:999px;
        background:rgba(0,0,0,.32);
        border:1px solid rgba(255,255,255,.10);
        color:#fff;
        font-size:11px;
        font-weight:800;
        line-height:1.2;
    }
    .venue-card p{
        margin:10px 0 0;
        color:var(--artist-muted);
        font-size:13px;
        line-height:1.45;
    }
    .venue-card .image-rights-note{
        margin-top:10px;
        padding-top:9px;
        border-top:1px solid rgba(255,255,255,.08);
        color:rgba(255,255,255,.48);
        font-size:10px;
        line-height:1.35;
    }
    .work-card strong{
        display:block;
        font-size:16px;
        color:#fff;
        line-height:1.2;
    }
    .work-card small{
        display:block;
        margin-top:6px;
        color:var(--artist-cyan);
        font-weight:850;
    }
    .work-card span{
        display:block;
        margin-top:8px;
        color:var(--artist-muted);
        font-size:13px;
        line-height:1.45;
    }
    .tag-cloud{
        display:flex;
        flex-wrap:wrap;
        gap:8px;
    }
    .tag-cloud span,
    .tag-cloud a{
        min-height:32px;
        display:inline-flex;
        align-items:center;
        padding:7px 10px;
        border-radius:999px;
        border:1px solid rgba(34,231,255,.18);
        background:rgba(0,0,0,.26);
        color:#fff;
        font-size:12px;
        font-weight:850;
        text-decoration:none;
    }
    .tag-cloud a:hover{
        border-color:rgba(249,31,176,.58);
        box-shadow:0 0 16px rgba(249,31,176,.14);
    }
    .related-routes{
        display:flex;
        flex-wrap:wrap;
        gap:9px;
    }
    .related-routes a{
        min-height:38px;
        display:inline-flex;
        align-items:center;
        padding:8px 12px;
        border-radius:999px;
        border:1px solid rgba(34,231,255,.22);
        background:rgba(0,0,0,.26);
        color:#fff;
        font-size:13px;
        font-weight:900;
        text-decoration:none;
    }
    .related-routes a:hover{
        border-color:rgba(249,31,176,.58);
        box-shadow:0 0 16px rgba(249,31,176,.14);
    }
    .song-card{
        display:block;
        padding:10px;
        text-decoration:none;
        transition:transform .15s ease,border-color .15s ease;
    }
    .song-card:hover{
        transform:translateY(-2px);
        border-color:rgba(249,31,176,.55);
    }
    .song-card img{
        width:100%;
        aspect-ratio:1/1;
        display:block;
        object-fit:cover;
        border-radius:6px;
        background:#09020d;
    }
    .song-card strong{
        display:block;
        margin-top:9px;
        color:#fff;
        line-height:1.18;
    }
    .song-card span{
        display:block;
        margin-top:5px;
        color:var(--artist-muted);
        font-size:13px;
        line-height:1.35;
    }
    .song-card small{
        display:inline-flex;
        margin-top:8px;
        padding:4px 7px;
        border-radius:999px;
        background:rgba(249,31,176,.12);
        border:1px solid rgba(249,31,176,.22);
        color:#fff;
        font-size:11px;
    }
    .sources-section{
        margin-top:42px;
    }
    .sources-section .section-head{
        align-items:center;
        margin-bottom:14px;
    }
    .sources-section .section-head h2{
        font-size:clamp(25px,3.2vw,38px);
    }
    .sources-section .section-head p{
        max-width:660px;
    }
    .source-grid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .source-card{
        min-height:74px;
        display:grid;
        grid-template-columns:42px minmax(0,1fr) auto;
        align-items:center;
        gap:12px;
        padding:12px;
        text-decoration:none;
        background:linear-gradient(135deg, rgba(0,0,0,.36), rgba(34,231,255,.045));
        border-color:rgba(255,255,255,.10);
        transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
    }
    .source-card:hover{
        transform:translateY(-1px);
        border-color:rgba(34,231,255,.44);
        background:linear-gradient(135deg, rgba(8,14,24,.72), rgba(249,31,176,.10));
        box-shadow:0 12px 28px rgba(0,0,0,.24);
    }
    .source-index{
        width:34px;
        height:34px;
        display:grid;
        place-items:center;
        border-radius:8px;
        background:rgba(34,231,255,.10);
        border:1px solid rgba(34,231,255,.22);
        color:var(--artist-cyan);
        font-size:12px;
        font-weight:950;
        font-family:"Archivo","Manrope",system-ui,sans-serif;
    }
    .source-body{
        min-width:0;
        display:block;
    }
    .source-card strong{
        display:block;
        color:#fff;
        font-size:14px;
        line-height:1.25;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .source-context{
        display:block;
        margin-top:5px;
        color:var(--artist-muted);
        font-size:12px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .source-action{
        min-height:30px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        padding:6px 10px;
        border-radius:8px;
        background:rgba(249,31,176,.12);
        border:1px solid rgba(249,31,176,.24);
        color:#fff;
        font-size:11px;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:.06em;
    }
    .artist-footer{
        width:min(1180px, calc(100% - 36px));
        margin:0 auto 42px;
        padding-top:16px;
        border-top:1px solid rgba(255,255,255,.10);
        color:var(--artist-muted);
        font-size:11px;
        text-align:center;
        line-height:1.5;
    }
    .artist-footer a{
        color:var(--artist-muted);
        text-decoration:none;
        font-weight:750;
    }
    .artist-footer a:hover{
        color:#fff;
        text-decoration:underline;
    }
    .artist-footer-links{
        margin-top:7px;
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        gap:7px;
    }
    .artist-footer-links span{
        color:rgba(255,255,255,.26);
    }
    @media (max-width:780px){
        .artist-page{width:calc(100% - 28px);max-width:calc(100vw - 28px);padding-top:22px;}
        .artist-hero,
        .artist-copy,
        .online-player{grid-template-columns:1fr;}
        .portrait-card{height:380px;}
        .artist-band{grid-template-columns:repeat(2,minmax(0,1fr));}
        .cover-wall{grid-template-columns:repeat(3,minmax(0,1fr));}
        .section-head{display:block;}
        .section-head p{margin-top:8px;}
        .source-grid{grid-template-columns:1fr;}
    }
    @media (max-width:600px){
        .artist-facts{display:grid;grid-template-columns:1fr;}
        .artist-facts span{
            width:100%;
            min-width:0;
            border-radius:8px;
            line-height:1.35;
        }
        .artist-actions{display:grid;grid-template-columns:1fr;}
        .artist-action{
            width:100%;
            min-width:0;
            padding-inline:10px;
            text-align:center;
            white-space:normal;
        }
    }
    @media (max-width:480px){
        .artist-page{width:calc(100% - 28px);}
        .artist-hero > div,
        .artist-hero h1,
        .artist-claim{width:100%;max-width:100%;min-width:0;}
        .artist-hero h1{font-size:40px;line-height:.94;}
        .artist-copy{max-width:100%;overflow-wrap:anywhere;}
        .artist-claim{font-size:16px;line-height:1.48;}
        .portrait-card{height:340px;}
        .artist-band{grid-template-columns:1fr;}
        .song-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
        .featured-card{grid-template-columns:1fr;}
        .featured-card img{width:100%;height:auto;aspect-ratio:1/1;}
        .online-placeholder{grid-template-columns:1fr;}
        .online-placeholder img{width:100%;height:auto;aspect-ratio:1/1;}
        .online-track-list{max-height:360px;overflow:auto;padding-right:2px;}
        .venue-image{height:128px;}
        .source-card{grid-template-columns:34px minmax(0,1fr);}
        .source-action{grid-column:2;justify-self:start;}
    }

/* Final artist detail polish */
.artist-detail-page{
    font-family:var(--font-ui);
}

.artist-detail-page .artist-page{
    width:min(1240px, calc(100vw - 36px));
}

.artist-detail-page .artist-not-found{
    min-height:420px;
    display:grid;
    align-content:center;
    gap:14px;
    margin-top:34px;
    padding:36px;
    border-radius:8px;
    border:1px solid rgba(34,231,255,.22);
    background:
        radial-gradient(circle at 100% 0%, rgba(34,231,255,.12), transparent 34%),
        linear-gradient(135deg, rgba(14,3,28,.96), rgba(3,10,20,.94));
}

.artist-detail-page .artist-not-found h1{
    margin:0;
    font-family:var(--font-display);
    font-size:clamp(36px,5vw,68px);
    line-height:1;
}

.artist-detail-page .artist-not-found p{
    margin:0;
    color:var(--artist-muted);
    font-size:16px;
}

.artist-detail-page .site-footer{
    margin-top:44px;
}
