
/* SONOFPOLLUX v7.0 — Museum / Archive */
body.sopMuseum{
  --m-bg:#070810;--m-panel:#0c0f18;--m-panel2:#10131e;--m-ink:#f5f1f8;
  --m-dim:rgba(240,235,248,.68);--m-faint:rgba(240,235,248,.42);
  --m-rule:rgba(255,255,255,.1);--m-pink:#e49ac3;--m-blue:#93b9ec;--m-green:#93d2b1;
  background:
    radial-gradient(circle at 18% 4%,rgba(227,116,183,.08),transparent 28rem),
    radial-gradient(circle at 85% 12%,rgba(99,145,222,.1),transparent 32rem),
    var(--m-bg);color:var(--m-ink)
}
.sopMuseum main{overflow:hidden}
.museumHero{padding:clamp(100px,12vw,170px) 0 72px;border-bottom:1px solid var(--m-rule)}
.museumHero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(32px,6vw,88px);align-items:end}
.museumKicker{font-size:.69rem;letter-spacing:.2em;text-transform:uppercase;font-weight:850;color:var(--m-faint)}
.museumHero h1{font-size:clamp(4rem,10vw,9rem);line-height:.82;letter-spacing:-.075em;text-transform:uppercase;margin:18px 0 24px}
.museumHero p{font-size:clamp(1.03rem,1.7vw,1.3rem);line-height:1.65;color:var(--m-dim);max-width:760px}
.museumHero__image{position:relative;border-radius:28px;overflow:hidden;border:1px solid var(--m-rule);min-height:420px;background:#0b0d15}
.museumHero__image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.78) contrast(1.05);opacity:.82}
.museumHero__image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(7,8,16,.92))}
.museumHero__caption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:var(--m-dim);font-size:.78rem;line-height:1.5}
.museumActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.museumStats{padding:26px 0;border-bottom:1px solid var(--m-rule)}
.museumStats__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.museumStat{border:1px solid var(--m-rule);border-radius:18px;padding:16px;background:rgba(255,255,255,.025)}
.museumStat b{display:block;font-size:clamp(1.45rem,3vw,2.4rem);letter-spacing:-.04em}
.museumStat span{font-size:.67rem;line-height:1.35;text-transform:uppercase;letter-spacing:.1em;color:var(--m-faint)}
.museumSection{padding:clamp(70px,9vw,125px) 0;border-bottom:1px solid var(--m-rule)}
.museumHead{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:30px;margin-bottom:32px}
.museumHead h2{font-size:clamp(2.6rem,6vw,5.7rem);line-height:.9;letter-spacing:-.06em;margin:8px 0 0;text-transform:uppercase}
.museumHead p{margin:10px 0 0;align-self:end;color:var(--m-dim);max-width:720px;line-height:1.65}
.museumEraRail{display:grid;gap:12px}
.museumEra{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:22px;align-items:center;padding:22px;border:1px solid var(--m-rule);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.012));text-decoration:none;color:inherit}
.museumEra:hover{border-color:rgba(255,255,255,.22);transform:translateY(-1px)}
.museumEra__year{font-size:clamp(1.35rem,3vw,2.2rem);font-weight:900;letter-spacing:-.04em}
.museumEra h3{margin:0 0 5px;font-size:1.2rem}.museumEra p{margin:0;color:var(--m-dim);font-size:.88rem;line-height:1.5}
.museumEra__arrow{font-size:1.4rem;color:var(--m-faint)}
.museumToolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.museumSearch{flex:1 1 260px;min-width:0;background:#0c0f18;border:1px solid var(--m-rule);border-radius:14px;padding:13px 14px;color:#fff;font:inherit}
.museumFilters{display:flex;flex-wrap:wrap;gap:8px}
.museumFilter{border:1px solid var(--m-rule);background:rgba(255,255,255,.025);color:var(--m-dim);padding:10px 12px;border-radius:999px;font:inherit;font-size:.76rem;font-weight:750;cursor:pointer}
.museumFilter.is-active{background:#f4f0f7;color:#0b0c12;border-color:#f4f0f7}
.museumGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.museumArtifact{display:flex;flex-direction:column;min-height:285px;border:1px solid var(--m-rule);border-radius:22px;padding:20px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));text-decoration:none;color:inherit;position:relative;overflow:hidden}
.museumArtifact:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-70px;top:-70px;background:radial-gradient(circle,rgba(137,174,228,.16),transparent 68%)}
.museumArtifact:hover{border-color:rgba(255,255,255,.23)}
.museumArtifact__meta{display:flex;justify-content:space-between;gap:10px;font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;color:var(--m-faint);font-weight:800}
.museumArtifact h3{font-size:1.55rem;line-height:1.05;letter-spacing:-.035em;margin:38px 0 10px}
.museumArtifact p{font-size:.88rem;line-height:1.58;color:var(--m-dim);margin:0 0 22px}
.museumArtifact__foot{margin-top:auto;display:flex;justify-content:space-between;gap:10px;align-items:end}
.museumEvidence{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--m-green)}
.museumEvidence--creator{color:var(--m-blue)}.museumEvidence--interpretation{color:var(--m-pink)}
.museumArtifact__arrow{color:var(--m-faint)}
.museumEmpty{display:none;padding:24px;border:1px dashed var(--m-rule);border-radius:18px;color:var(--m-dim)}
.museumEmpty.is-visible{display:block}
.museumPath{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.museumPath article{border:1px solid var(--m-rule);border-radius:20px;padding:19px;background:rgba(255,255,255,.025)}
.museumPath b{font-size:1.9rem;letter-spacing:-.04em}.museumPath h3{font-size:1rem;margin:12px 0 6px}.museumPath p{font-size:.8rem;color:var(--m-dim);line-height:1.55;margin:0}
.museumDisclaimer{border:1px solid rgba(147,210,177,.2);background:rgba(147,210,177,.04);border-radius:22px;padding:22px;color:var(--m-dim);line-height:1.65}
.museumDisclaimer strong{color:#fff}
.museumArtifactPage .museumHero{padding-bottom:56px}
.artifactHero__meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.artifactLayout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(28px,6vw,72px);align-items:start}
.artifactBody{font-size:1rem;line-height:1.75;color:var(--m-dim)}
.artifactBody h2{color:#fff;font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1.05;letter-spacing:-.04em;margin:48px 0 16px}
.artifactBody strong{color:#fff}.artifactBody a{color:#c9d9ff}
.artifactAside{position:sticky;top:100px;display:grid;gap:12px}
.artifactCard{border:1px solid var(--m-rule);border-radius:20px;padding:18px;background:rgba(255,255,255,.025)}
.artifactCard h3{margin:0 0 10px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--m-faint)}
.artifactCard dl{margin:0}.artifactCard dl div{display:grid;grid-template-columns:86px 1fr;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.06)}
.artifactCard dt{font-size:.67rem;text-transform:uppercase;color:var(--m-faint)}.artifactCard dd{margin:0;font-size:.83rem;line-height:1.45}
.artifactRelated{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.artifactRelated a{border:1px solid var(--m-rule);border-radius:18px;padding:16px;text-decoration:none;color:#fff}.artifactRelated span{display:block;color:var(--m-faint);font-size:.7rem;margin-top:5px}
@media(max-width:900px){
 .museumHero__grid,.museumHead,.artifactLayout{grid-template-columns:1fr}
 .museumHero__image{min-height:340px}
 .museumStats__grid{grid-template-columns:repeat(3,1fr)}
 .museumGrid{grid-template-columns:repeat(2,1fr)}
 .museumPath{grid-template-columns:repeat(2,1fr)}
 .artifactAside{position:static}
}
@media(max-width:620px){
 .museumHero{padding-top:92px}.museumHero h1{font-size:clamp(3.5rem,18vw,6rem)}
 .museumStats__grid{grid-template-columns:repeat(2,1fr)}
 .museumGrid,.artifactRelated{grid-template-columns:1fr}
 .museumEra{grid-template-columns:1fr auto}.museumEra__year{grid-column:1/-1}.museumEra p{padding-right:4px}
 .museumPath{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:no-preference){
 .museumEra,.museumArtifact{transition:border-color .18s ease,transform .18s ease}
}


/* v7.1 — Current Catalog Pulse */
.museumStats--pulse{padding:34px 0 30px}
.museumPulseHead{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:16px}
.museumPulseHead h2{font-size:clamp(2.25rem,5vw,4.7rem);line-height:.92;letter-spacing:-.055em;margin:7px 0 0;text-transform:uppercase}
.museumPulseMeta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;color:var(--m-faint);font-size:.73rem}
.museumPulseBadge{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;border:1px solid rgba(147,210,177,.28);background:rgba(147,210,177,.07);color:var(--m-green);font-size:.62rem;letter-spacing:.12em;font-weight:850}
.museumPulseBadge.is-stale{border-color:rgba(228,154,195,.28);background:rgba(228,154,195,.07);color:var(--m-pink)}
.museumPlatformGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}
.museumPlatform{position:relative;overflow:hidden;border:1px solid var(--m-rule);border-radius:24px;padding:22px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014))}
.museumPlatform:before{content:"";position:absolute;inset:auto -80px -90px auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(147,185,236,.13),transparent 68%);pointer-events:none}
.museumPlatform--spotify:before{background:radial-gradient(circle,rgba(147,210,177,.12),transparent 68%)}
.museumPlatform__head,.museumPlatform__foot{display:flex;align-items:center;justify-content:space-between;gap:16px}
.museumPlatform__head{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.07)}
.museumPlatform__head a,.museumPlatform__foot a{color:#dfe7ff;text-decoration:none;font-size:.75rem}
.museumPlatform__name{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--m-faint);font-weight:900}
.museumPlatform__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:20px 0}
.museumPlatform__stats div{min-width:0}
.museumPlatform__stats b,.museumPlatform__spotifyMetric b{display:block;font-size:clamp(2rem,4.4vw,4.3rem);line-height:.9;letter-spacing:-.06em;white-space:nowrap}
.museumPlatform__stats span,.museumPlatform__spotifyMetric span{display:block;margin-top:8px;font-size:.65rem;text-transform:uppercase;letter-spacing:.11em;color:var(--m-faint)}
.museumPlatform__spotifyMetric{padding:22px 0 10px}
.museumPlatform--spotify>p{margin:8px 0 20px;max-width:580px;color:var(--m-dim);font-size:.83rem;line-height:1.58}
.museumPlatform__foot{padding-top:14px;border-top:1px solid rgba(255,255,255,.07);color:var(--m-faint);font-size:.68rem}
.museumContextStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.museumContextStrip>div{border:1px solid var(--m-rule);border-radius:16px;padding:13px 15px;background:rgba(255,255,255,.018)}
.museumContextStrip b{font-size:1.15rem;letter-spacing:-.03em}
.museumContextStrip span{display:block;margin-top:3px;color:var(--m-faint);font-size:.61rem;text-transform:uppercase;letter-spacing:.1em}
.museumArtifact--current{border-color:rgba(147,185,236,.22);background:linear-gradient(145deg,rgba(120,156,220,.065),rgba(255,255,255,.012))}
.catalogPulseMini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}
.catalogPulseMini>div{border:1px solid var(--m-rule);border-radius:18px;padding:16px;background:rgba(255,255,255,.024)}
.catalogPulseMini b{display:block;font-size:clamp(1.8rem,4vw,3.6rem);letter-spacing:-.055em}
.catalogPulseMini span{display:block;font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:var(--m-faint);margin-top:5px}
.catalogPulseSource{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.72rem;color:var(--m-faint)}
@media(max-width:900px){
 .museumPlatformGrid{grid-template-columns:1fr}
 .museumPulseHead{align-items:flex-start;flex-direction:column}
 .museumPulseMeta{justify-content:flex-start}
}
@media(max-width:620px){
 .museumPlatform__stats{grid-template-columns:1fr 1fr}
 .museumPlatform__stats>div:first-child{grid-column:1/-1}
 .museumContextStrip{grid-template-columns:1fr}
 .catalogPulseMini{grid-template-columns:1fr 1fr}
 .catalogPulseMini>div:first-child{grid-column:1/-1}
 .museumPlatform__stats b,.museumPlatform__spotifyMetric b{font-size:clamp(2.2rem,14vw,4.5rem)}
}
